diff --git a/VERSION b/VERSION index c4065423059..39e484a43df 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.11.208 \ No newline at end of file +1.11.209 \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/AccessAnalyzerClient.h b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/AccessAnalyzerClient.h index 5540c9c487c..7f424673107 100644 --- a/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/AccessAnalyzerClient.h +++ b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/AccessAnalyzerClient.h @@ -16,20 +16,31 @@ namespace Aws namespace AccessAnalyzer { /** - *

Identity and Access Management Access Analyzer helps identify potential - * resource-access risks by enabling you to identify any policies that grant access - * to an external principal. It does this by using logic-based reasoning to analyze - * resource-based policies in your Amazon Web Services environment. An external - * principal can be another Amazon Web Services account, a root user, an IAM user - * or role, a federated user, an Amazon Web Services service, or an anonymous user. - * You can also use IAM Access Analyzer to preview and validate public and - * cross-account access to your resources before deploying permissions changes. - * This guide describes the Identity and Access Management Access Analyzer - * operations that you can call programmatically. For general information about IAM - * Access Analyzer, see Identity and Access Management Access Analyzer helps you to set, verify, and + * refine your IAM policies by providing a suite of capabilities. Its features + * include findings for external and unused access, basic and custom policy checks + * for validating policies, and policy generation to generate fine-grained + * policies. To start using IAM Access Analyzer to identify external or unused + * access, you first need to create an analyzer.

External access + * analyzers help identify potential risks of accessing resources by enabling + * you to identify any resource policies that grant access to an external + * principal. It does this by using logic-based reasoning to analyze resource-based + * policies in your Amazon Web Services environment. An external principal can be + * another Amazon Web Services account, a root user, an IAM user or role, a + * federated user, an Amazon Web Services service, or an anonymous user. You can + * also use IAM Access Analyzer to preview public and cross-account access to your + * resources before deploying permissions changes.

Unused access + * analyzers help identify potential identity access risks by enabling you to + * identify unused IAM roles, unused access keys, unused console passwords, and IAM + * principals with unused service and action-level permissions.

Beyond + * findings, IAM Access Analyzer provides basic and custom policy checks to + * validate IAM policies before deploying permissions changes. You can use policy + * generation to refine permissions by attaching a policy generated using access + * activity logged in CloudTrail logs.

This guide describes the IAM Access + * Analyzer operations that you can call programmatically. For general information + * about IAM Access Analyzer, see Identity * and Access Management Access Analyzer in the IAM User Guide.

- *

To start using IAM Access Analyzer, you first need to create an analyzer.

*/ class AWS_ACCESSANALYZER_API AccessAnalyzerClient : public Aws::Client::AWSJsonClient, public Aws::Client::ClientWithAsyncTemplateMethods { @@ -140,6 +151,64 @@ namespace AccessAnalyzer return SubmitAsync(&AccessAnalyzerClient::CancelPolicyGeneration, request, handler, context); } + /** + *

Checks whether the specified access isn't allowed by a policy.

See + * Also:

AWS + * API Reference

+ */ + virtual Model::CheckAccessNotGrantedOutcome CheckAccessNotGranted(const Model::CheckAccessNotGrantedRequest& request) const; + + /** + * A Callable wrapper for CheckAccessNotGranted that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::CheckAccessNotGrantedOutcomeCallable CheckAccessNotGrantedCallable(const CheckAccessNotGrantedRequestT& request) const + { + return SubmitCallable(&AccessAnalyzerClient::CheckAccessNotGranted, request); + } + + /** + * An Async wrapper for CheckAccessNotGranted that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void CheckAccessNotGrantedAsync(const CheckAccessNotGrantedRequestT& request, const CheckAccessNotGrantedResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&AccessAnalyzerClient::CheckAccessNotGranted, request, handler, context); + } + + /** + *

Checks whether new access is allowed for an updated policy when compared to + * the existing policy.

You can find examples for reference policies and + * learn how to set up and run a custom policy check for new access in the IAM + * Access Analyzer custom policy checks samples repository on GitHub. The + * reference policies in this repository are meant to be passed to the + * existingPolicyDocument request parameter.

See Also:

+ * AWS + * API Reference

+ */ + virtual Model::CheckNoNewAccessOutcome CheckNoNewAccess(const Model::CheckNoNewAccessRequest& request) const; + + /** + * A Callable wrapper for CheckNoNewAccess that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::CheckNoNewAccessOutcomeCallable CheckNoNewAccessCallable(const CheckNoNewAccessRequestT& request) const + { + return SubmitCallable(&AccessAnalyzerClient::CheckNoNewAccess, request); + } + + /** + * An Async wrapper for CheckNoNewAccess that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void CheckNoNewAccessAsync(const CheckNoNewAccessRequestT& request, const CheckNoNewAccessResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&AccessAnalyzerClient::CheckNoNewAccess, request, handler, context); + } + /** *

Creates an access preview that allows you to preview IAM Access Analyzer * findings for your resource before deploying resource permissions.

See @@ -409,6 +478,32 @@ namespace AccessAnalyzer return SubmitAsync(&AccessAnalyzerClient::GetFinding, request, handler, context); } + /** + *

Retrieves information about the specified finding.

See Also:

+ * AWS + * API Reference

+ */ + virtual Model::GetFindingV2Outcome GetFindingV2(const Model::GetFindingV2Request& request) const; + + /** + * A Callable wrapper for GetFindingV2 that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetFindingV2OutcomeCallable GetFindingV2Callable(const GetFindingV2RequestT& request) const + { + return SubmitCallable(&AccessAnalyzerClient::GetFindingV2, request); + } + + /** + * An Async wrapper for GetFindingV2 that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetFindingV2Async(const GetFindingV2RequestT& request, const GetFindingV2ResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&AccessAnalyzerClient::GetFindingV2, request, handler, context); + } + /** *

Retrieves the policy that was generated using * StartPolicyGeneration.

See Also:

Retrieves a list of findings generated by the specified analyzer.

To + * learn about filter keys that you can use to retrieve a list of findings, see IAM + * Access Analyzer filter keys in the IAM User Guide.

See + * Also:

AWS + * API Reference

+ */ + virtual Model::ListFindingsV2Outcome ListFindingsV2(const Model::ListFindingsV2Request& request) const; + + /** + * A Callable wrapper for ListFindingsV2 that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListFindingsV2OutcomeCallable ListFindingsV2Callable(const ListFindingsV2RequestT& request) const + { + return SubmitCallable(&AccessAnalyzerClient::ListFindingsV2, request); + } + + /** + * An Async wrapper for ListFindingsV2 that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListFindingsV2Async(const ListFindingsV2RequestT& request, const ListFindingsV2ResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&AccessAnalyzerClient::ListFindingsV2, request, handler, context); + } + /** *

Lists all of the policy generations requested in the last seven * days.

See Also:

(Aws::Client::CoreErrors::SERVICE_EXTENSION_START_RANGE) + 1, INTERNAL_SERVER, - SERVICE_QUOTA_EXCEEDED + INVALID_PARAMETER, + SERVICE_QUOTA_EXCEEDED, + UNPROCESSABLE_ENTITY }; class AWS_ACCESSANALYZER_API AccessAnalyzerError : public Aws::Client::AWSError diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/AccessAnalyzerServiceClientModel.h b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/AccessAnalyzerServiceClientModel.h index 8c3b387b0e6..d37b2da0826 100644 --- a/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/AccessAnalyzerServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/AccessAnalyzerServiceClientModel.h @@ -19,6 +19,8 @@ /* Service model headers required in AccessAnalyzerClient header */ #include +#include +#include #include #include #include @@ -26,6 +28,7 @@ #include #include #include +#include #include #include #include @@ -33,6 +36,7 @@ #include #include #include +#include #include #include #include @@ -82,6 +86,8 @@ namespace Aws /* Service model forward declarations required in AccessAnalyzerClient header */ class ApplyArchiveRuleRequest; class CancelPolicyGenerationRequest; + class CheckAccessNotGrantedRequest; + class CheckNoNewAccessRequest; class CreateAccessPreviewRequest; class CreateAnalyzerRequest; class CreateArchiveRuleRequest; @@ -92,6 +98,7 @@ namespace Aws class GetAnalyzerRequest; class GetArchiveRuleRequest; class GetFindingRequest; + class GetFindingV2Request; class GetGeneratedPolicyRequest; class ListAccessPreviewFindingsRequest; class ListAccessPreviewsRequest; @@ -99,6 +106,7 @@ namespace Aws class ListAnalyzersRequest; class ListArchiveRulesRequest; class ListFindingsRequest; + class ListFindingsV2Request; class ListPolicyGenerationsRequest; class ListTagsForResourceRequest; class StartPolicyGenerationRequest; @@ -113,6 +121,8 @@ namespace Aws /* Service model Outcome class definitions */ typedef Aws::Utils::Outcome ApplyArchiveRuleOutcome; typedef Aws::Utils::Outcome CancelPolicyGenerationOutcome; + typedef Aws::Utils::Outcome CheckAccessNotGrantedOutcome; + typedef Aws::Utils::Outcome CheckNoNewAccessOutcome; typedef Aws::Utils::Outcome CreateAccessPreviewOutcome; typedef Aws::Utils::Outcome CreateAnalyzerOutcome; typedef Aws::Utils::Outcome CreateArchiveRuleOutcome; @@ -123,6 +133,7 @@ namespace Aws typedef Aws::Utils::Outcome GetAnalyzerOutcome; typedef Aws::Utils::Outcome GetArchiveRuleOutcome; typedef Aws::Utils::Outcome GetFindingOutcome; + typedef Aws::Utils::Outcome GetFindingV2Outcome; typedef Aws::Utils::Outcome GetGeneratedPolicyOutcome; typedef Aws::Utils::Outcome ListAccessPreviewFindingsOutcome; typedef Aws::Utils::Outcome ListAccessPreviewsOutcome; @@ -130,6 +141,7 @@ namespace Aws typedef Aws::Utils::Outcome ListAnalyzersOutcome; typedef Aws::Utils::Outcome ListArchiveRulesOutcome; typedef Aws::Utils::Outcome ListFindingsOutcome; + typedef Aws::Utils::Outcome ListFindingsV2Outcome; typedef Aws::Utils::Outcome ListPolicyGenerationsOutcome; typedef Aws::Utils::Outcome ListTagsForResourceOutcome; typedef Aws::Utils::Outcome StartPolicyGenerationOutcome; @@ -144,6 +156,8 @@ namespace Aws /* Service model Outcome callable definitions */ typedef std::future ApplyArchiveRuleOutcomeCallable; typedef std::future CancelPolicyGenerationOutcomeCallable; + typedef std::future CheckAccessNotGrantedOutcomeCallable; + typedef std::future CheckNoNewAccessOutcomeCallable; typedef std::future CreateAccessPreviewOutcomeCallable; typedef std::future CreateAnalyzerOutcomeCallable; typedef std::future CreateArchiveRuleOutcomeCallable; @@ -154,6 +168,7 @@ namespace Aws typedef std::future GetAnalyzerOutcomeCallable; typedef std::future GetArchiveRuleOutcomeCallable; typedef std::future GetFindingOutcomeCallable; + typedef std::future GetFindingV2OutcomeCallable; typedef std::future GetGeneratedPolicyOutcomeCallable; typedef std::future ListAccessPreviewFindingsOutcomeCallable; typedef std::future ListAccessPreviewsOutcomeCallable; @@ -161,6 +176,7 @@ namespace Aws typedef std::future ListAnalyzersOutcomeCallable; typedef std::future ListArchiveRulesOutcomeCallable; typedef std::future ListFindingsOutcomeCallable; + typedef std::future ListFindingsV2OutcomeCallable; typedef std::future ListPolicyGenerationsOutcomeCallable; typedef std::future ListTagsForResourceOutcomeCallable; typedef std::future StartPolicyGenerationOutcomeCallable; @@ -178,6 +194,8 @@ namespace Aws /* Service model async handlers definitions */ typedef std::function&) > ApplyArchiveRuleResponseReceivedHandler; typedef std::function&) > CancelPolicyGenerationResponseReceivedHandler; + typedef std::function&) > CheckAccessNotGrantedResponseReceivedHandler; + typedef std::function&) > CheckNoNewAccessResponseReceivedHandler; typedef std::function&) > CreateAccessPreviewResponseReceivedHandler; typedef std::function&) > CreateAnalyzerResponseReceivedHandler; typedef std::function&) > CreateArchiveRuleResponseReceivedHandler; @@ -188,6 +206,7 @@ namespace Aws typedef std::function&) > GetAnalyzerResponseReceivedHandler; typedef std::function&) > GetArchiveRuleResponseReceivedHandler; typedef std::function&) > GetFindingResponseReceivedHandler; + typedef std::function&) > GetFindingV2ResponseReceivedHandler; typedef std::function&) > GetGeneratedPolicyResponseReceivedHandler; typedef std::function&) > ListAccessPreviewFindingsResponseReceivedHandler; typedef std::function&) > ListAccessPreviewsResponseReceivedHandler; @@ -195,6 +214,7 @@ namespace Aws typedef std::function&) > ListAnalyzersResponseReceivedHandler; typedef std::function&) > ListArchiveRulesResponseReceivedHandler; typedef std::function&) > ListFindingsResponseReceivedHandler; + typedef std::function&) > ListFindingsV2ResponseReceivedHandler; typedef std::function&) > ListPolicyGenerationsResponseReceivedHandler; typedef std::function&) > ListTagsForResourceResponseReceivedHandler; typedef std::function&) > StartPolicyGenerationResponseReceivedHandler; diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/Access.h b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/Access.h new file mode 100644 index 00000000000..e3e3053eae8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/Access.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 +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace AccessAnalyzer +{ +namespace Model +{ + + /** + *

Contains information about actions that define permissions to check against a + * policy.

See Also:

AWS + * API Reference

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

A list of actions for the access permissions.

+ */ + inline const Aws::Vector& GetActions() const{ return m_actions; } + + /** + *

A list of actions for the access permissions.

+ */ + inline bool ActionsHasBeenSet() const { return m_actionsHasBeenSet; } + + /** + *

A list of actions for the access permissions.

+ */ + inline void SetActions(const Aws::Vector& value) { m_actionsHasBeenSet = true; m_actions = value; } + + /** + *

A list of actions for the access permissions.

+ */ + inline void SetActions(Aws::Vector&& value) { m_actionsHasBeenSet = true; m_actions = std::move(value); } + + /** + *

A list of actions for the access permissions.

+ */ + inline Access& WithActions(const Aws::Vector& value) { SetActions(value); return *this;} + + /** + *

A list of actions for the access permissions.

+ */ + inline Access& WithActions(Aws::Vector&& value) { SetActions(std::move(value)); return *this;} + + /** + *

A list of actions for the access permissions.

+ */ + inline Access& AddActions(const Aws::String& value) { m_actionsHasBeenSet = true; m_actions.push_back(value); return *this; } + + /** + *

A list of actions for the access permissions.

+ */ + inline Access& AddActions(Aws::String&& value) { m_actionsHasBeenSet = true; m_actions.push_back(std::move(value)); return *this; } + + /** + *

A list of actions for the access permissions.

+ */ + inline Access& AddActions(const char* value) { m_actionsHasBeenSet = true; m_actions.push_back(value); return *this; } + + private: + + Aws::Vector m_actions; + bool m_actionsHasBeenSet = false; + }; + +} // namespace Model +} // namespace AccessAnalyzer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/AccessCheckPolicyType.h b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/AccessCheckPolicyType.h new file mode 100644 index 00000000000..256c688d897 --- /dev/null +++ b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/AccessCheckPolicyType.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 AccessAnalyzer +{ +namespace Model +{ + enum class AccessCheckPolicyType + { + NOT_SET, + IDENTITY_POLICY, + RESOURCE_POLICY + }; + +namespace AccessCheckPolicyTypeMapper +{ +AWS_ACCESSANALYZER_API AccessCheckPolicyType GetAccessCheckPolicyTypeForName(const Aws::String& name); + +AWS_ACCESSANALYZER_API Aws::String GetNameForAccessCheckPolicyType(AccessCheckPolicyType value); +} // namespace AccessCheckPolicyTypeMapper +} // namespace Model +} // namespace AccessAnalyzer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/AnalyzerConfiguration.h b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/AnalyzerConfiguration.h new file mode 100644 index 00000000000..a888b72cae1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/AnalyzerConfiguration.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 + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace AccessAnalyzer +{ +namespace Model +{ + + /** + *

Contains information about the configuration of an unused access analyzer for + * an Amazon Web Services organization or account.

See Also:

AWS + * API Reference

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

Specifies the configuration of an unused access analyzer for an Amazon Web + * Services organization or account. External access analyzers do not support any + * configuration.

+ */ + inline const UnusedAccessConfiguration& GetUnusedAccess() const{ return m_unusedAccess; } + + /** + *

Specifies the configuration of an unused access analyzer for an Amazon Web + * Services organization or account. External access analyzers do not support any + * configuration.

+ */ + inline bool UnusedAccessHasBeenSet() const { return m_unusedAccessHasBeenSet; } + + /** + *

Specifies the configuration of an unused access analyzer for an Amazon Web + * Services organization or account. External access analyzers do not support any + * configuration.

+ */ + inline void SetUnusedAccess(const UnusedAccessConfiguration& value) { m_unusedAccessHasBeenSet = true; m_unusedAccess = value; } + + /** + *

Specifies the configuration of an unused access analyzer for an Amazon Web + * Services organization or account. External access analyzers do not support any + * configuration.

+ */ + inline void SetUnusedAccess(UnusedAccessConfiguration&& value) { m_unusedAccessHasBeenSet = true; m_unusedAccess = std::move(value); } + + /** + *

Specifies the configuration of an unused access analyzer for an Amazon Web + * Services organization or account. External access analyzers do not support any + * configuration.

+ */ + inline AnalyzerConfiguration& WithUnusedAccess(const UnusedAccessConfiguration& value) { SetUnusedAccess(value); return *this;} + + /** + *

Specifies the configuration of an unused access analyzer for an Amazon Web + * Services organization or account. External access analyzers do not support any + * configuration.

+ */ + inline AnalyzerConfiguration& WithUnusedAccess(UnusedAccessConfiguration&& value) { SetUnusedAccess(std::move(value)); return *this;} + + private: + + UnusedAccessConfiguration m_unusedAccess; + bool m_unusedAccessHasBeenSet = false; + }; + +} // namespace Model +} // namespace AccessAnalyzer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/AnalyzerSummary.h b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/AnalyzerSummary.h index eb76e9a30fb..388631db0a1 100644 --- a/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/AnalyzerSummary.h +++ b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/AnalyzerSummary.h @@ -11,6 +11,7 @@ #include #include #include +#include #include namespace Aws @@ -451,6 +452,43 @@ namespace Model */ inline AnalyzerSummary& WithStatusReason(StatusReason&& value) { SetStatusReason(std::move(value)); return *this;} + + /** + *

Specifies whether the analyzer is an external access or unused access + * analyzer.

+ */ + inline const AnalyzerConfiguration& GetConfiguration() const{ return m_configuration; } + + /** + *

Specifies whether the analyzer is an external access or unused access + * analyzer.

+ */ + inline bool ConfigurationHasBeenSet() const { return m_configurationHasBeenSet; } + + /** + *

Specifies whether the analyzer is an external access or unused access + * analyzer.

+ */ + inline void SetConfiguration(const AnalyzerConfiguration& value) { m_configurationHasBeenSet = true; m_configuration = value; } + + /** + *

Specifies whether the analyzer is an external access or unused access + * analyzer.

+ */ + inline void SetConfiguration(AnalyzerConfiguration&& value) { m_configurationHasBeenSet = true; m_configuration = std::move(value); } + + /** + *

Specifies whether the analyzer is an external access or unused access + * analyzer.

+ */ + inline AnalyzerSummary& WithConfiguration(const AnalyzerConfiguration& value) { SetConfiguration(value); return *this;} + + /** + *

Specifies whether the analyzer is an external access or unused access + * analyzer.

+ */ + inline AnalyzerSummary& WithConfiguration(AnalyzerConfiguration&& value) { SetConfiguration(std::move(value)); return *this;} + private: Aws::String m_arn; @@ -479,6 +517,9 @@ namespace Model StatusReason m_statusReason; bool m_statusReasonHasBeenSet = false; + + AnalyzerConfiguration m_configuration; + bool m_configurationHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/CheckAccessNotGrantedRequest.h b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/CheckAccessNotGrantedRequest.h new file mode 100644 index 00000000000..506c5e2bd84 --- /dev/null +++ b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/CheckAccessNotGrantedRequest.h @@ -0,0 +1,208 @@ +/** + * 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 AccessAnalyzer +{ +namespace Model +{ + + /** + */ + class CheckAccessNotGrantedRequest : public AccessAnalyzerRequest + { + public: + AWS_ACCESSANALYZER_API CheckAccessNotGrantedRequest(); + + // 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 "CheckAccessNotGranted"; } + + AWS_ACCESSANALYZER_API Aws::String SerializePayload() const override; + + + /** + *

The JSON policy document to use as the content for the policy.

+ */ + inline const Aws::String& GetPolicyDocument() const{ return m_policyDocument; } + + /** + *

The JSON policy document to use as the content for the policy.

+ */ + inline bool PolicyDocumentHasBeenSet() const { return m_policyDocumentHasBeenSet; } + + /** + *

The JSON policy document to use as the content for the policy.

+ */ + inline void SetPolicyDocument(const Aws::String& value) { m_policyDocumentHasBeenSet = true; m_policyDocument = value; } + + /** + *

The JSON policy document to use as the content for the policy.

+ */ + inline void SetPolicyDocument(Aws::String&& value) { m_policyDocumentHasBeenSet = true; m_policyDocument = std::move(value); } + + /** + *

The JSON policy document to use as the content for the policy.

+ */ + inline void SetPolicyDocument(const char* value) { m_policyDocumentHasBeenSet = true; m_policyDocument.assign(value); } + + /** + *

The JSON policy document to use as the content for the policy.

+ */ + inline CheckAccessNotGrantedRequest& WithPolicyDocument(const Aws::String& value) { SetPolicyDocument(value); return *this;} + + /** + *

The JSON policy document to use as the content for the policy.

+ */ + inline CheckAccessNotGrantedRequest& WithPolicyDocument(Aws::String&& value) { SetPolicyDocument(std::move(value)); return *this;} + + /** + *

The JSON policy document to use as the content for the policy.

+ */ + inline CheckAccessNotGrantedRequest& WithPolicyDocument(const char* value) { SetPolicyDocument(value); return *this;} + + + /** + *

An access object containing the permissions that shouldn't be granted by the + * specified policy.

+ */ + inline const Aws::Vector& GetAccess() const{ return m_access; } + + /** + *

An access object containing the permissions that shouldn't be granted by the + * specified policy.

+ */ + inline bool AccessHasBeenSet() const { return m_accessHasBeenSet; } + + /** + *

An access object containing the permissions that shouldn't be granted by the + * specified policy.

+ */ + inline void SetAccess(const Aws::Vector& value) { m_accessHasBeenSet = true; m_access = value; } + + /** + *

An access object containing the permissions that shouldn't be granted by the + * specified policy.

+ */ + inline void SetAccess(Aws::Vector&& value) { m_accessHasBeenSet = true; m_access = std::move(value); } + + /** + *

An access object containing the permissions that shouldn't be granted by the + * specified policy.

+ */ + inline CheckAccessNotGrantedRequest& WithAccess(const Aws::Vector& value) { SetAccess(value); return *this;} + + /** + *

An access object containing the permissions that shouldn't be granted by the + * specified policy.

+ */ + inline CheckAccessNotGrantedRequest& WithAccess(Aws::Vector&& value) { SetAccess(std::move(value)); return *this;} + + /** + *

An access object containing the permissions that shouldn't be granted by the + * specified policy.

+ */ + inline CheckAccessNotGrantedRequest& AddAccess(const Access& value) { m_accessHasBeenSet = true; m_access.push_back(value); return *this; } + + /** + *

An access object containing the permissions that shouldn't be granted by the + * specified policy.

+ */ + inline CheckAccessNotGrantedRequest& AddAccess(Access&& value) { m_accessHasBeenSet = true; m_access.push_back(std::move(value)); return *this; } + + + /** + *

The type of policy. Identity policies grant permissions to IAM principals. + * Identity policies include managed and inline policies for IAM roles, users, and + * groups.

Resource policies grant permissions on Amazon Web Services + * resources. Resource policies include trust policies for IAM roles and bucket + * policies for Amazon S3 buckets. You can provide a generic input such as identity + * policy or resource policy or a specific input such as managed policy or Amazon + * S3 bucket policy.

+ */ + inline const AccessCheckPolicyType& GetPolicyType() const{ return m_policyType; } + + /** + *

The type of policy. Identity policies grant permissions to IAM principals. + * Identity policies include managed and inline policies for IAM roles, users, and + * groups.

Resource policies grant permissions on Amazon Web Services + * resources. Resource policies include trust policies for IAM roles and bucket + * policies for Amazon S3 buckets. You can provide a generic input such as identity + * policy or resource policy or a specific input such as managed policy or Amazon + * S3 bucket policy.

+ */ + inline bool PolicyTypeHasBeenSet() const { return m_policyTypeHasBeenSet; } + + /** + *

The type of policy. Identity policies grant permissions to IAM principals. + * Identity policies include managed and inline policies for IAM roles, users, and + * groups.

Resource policies grant permissions on Amazon Web Services + * resources. Resource policies include trust policies for IAM roles and bucket + * policies for Amazon S3 buckets. You can provide a generic input such as identity + * policy or resource policy or a specific input such as managed policy or Amazon + * S3 bucket policy.

+ */ + inline void SetPolicyType(const AccessCheckPolicyType& value) { m_policyTypeHasBeenSet = true; m_policyType = value; } + + /** + *

The type of policy. Identity policies grant permissions to IAM principals. + * Identity policies include managed and inline policies for IAM roles, users, and + * groups.

Resource policies grant permissions on Amazon Web Services + * resources. Resource policies include trust policies for IAM roles and bucket + * policies for Amazon S3 buckets. You can provide a generic input such as identity + * policy or resource policy or a specific input such as managed policy or Amazon + * S3 bucket policy.

+ */ + inline void SetPolicyType(AccessCheckPolicyType&& value) { m_policyTypeHasBeenSet = true; m_policyType = std::move(value); } + + /** + *

The type of policy. Identity policies grant permissions to IAM principals. + * Identity policies include managed and inline policies for IAM roles, users, and + * groups.

Resource policies grant permissions on Amazon Web Services + * resources. Resource policies include trust policies for IAM roles and bucket + * policies for Amazon S3 buckets. You can provide a generic input such as identity + * policy or resource policy or a specific input such as managed policy or Amazon + * S3 bucket policy.

+ */ + inline CheckAccessNotGrantedRequest& WithPolicyType(const AccessCheckPolicyType& value) { SetPolicyType(value); return *this;} + + /** + *

The type of policy. Identity policies grant permissions to IAM principals. + * Identity policies include managed and inline policies for IAM roles, users, and + * groups.

Resource policies grant permissions on Amazon Web Services + * resources. Resource policies include trust policies for IAM roles and bucket + * policies for Amazon S3 buckets. You can provide a generic input such as identity + * policy or resource policy or a specific input such as managed policy or Amazon + * S3 bucket policy.

+ */ + inline CheckAccessNotGrantedRequest& WithPolicyType(AccessCheckPolicyType&& value) { SetPolicyType(std::move(value)); return *this;} + + private: + + Aws::String m_policyDocument; + bool m_policyDocumentHasBeenSet = false; + + Aws::Vector m_access; + bool m_accessHasBeenSet = false; + + AccessCheckPolicyType m_policyType; + bool m_policyTypeHasBeenSet = false; + }; + +} // namespace Model +} // namespace AccessAnalyzer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/CheckAccessNotGrantedResult.h b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/CheckAccessNotGrantedResult.h new file mode 100644 index 00000000000..842489870f2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/CheckAccessNotGrantedResult.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 AccessAnalyzer +{ +namespace Model +{ + enum class CheckAccessNotGrantedResult + { + NOT_SET, + PASS, + FAIL + }; + +namespace CheckAccessNotGrantedResultMapper +{ +AWS_ACCESSANALYZER_API CheckAccessNotGrantedResult GetCheckAccessNotGrantedResultForName(const Aws::String& name); + +AWS_ACCESSANALYZER_API Aws::String GetNameForCheckAccessNotGrantedResult(CheckAccessNotGrantedResult value); +} // namespace CheckAccessNotGrantedResultMapper +} // namespace Model +} // namespace AccessAnalyzer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/CheckAccessNotGrantedSdkResult.h b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/CheckAccessNotGrantedSdkResult.h new file mode 100644 index 00000000000..9955bc5b62d --- /dev/null +++ b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/CheckAccessNotGrantedSdkResult.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 +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace AccessAnalyzer +{ +namespace Model +{ + class CheckAccessNotGrantedSdkResult + { + public: + AWS_ACCESSANALYZER_API CheckAccessNotGrantedSdkResult(); + AWS_ACCESSANALYZER_API CheckAccessNotGrantedSdkResult(const Aws::AmazonWebServiceResult& result); + AWS_ACCESSANALYZER_API CheckAccessNotGrantedSdkResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

The result of the check for whether the access is allowed. If the result is + * PASS, the specified policy doesn't allow any of the specified + * permissions in the access object. If the result is FAIL, the + * specified policy might allow some or all of the permissions in the access + * object.

+ */ + inline const CheckAccessNotGrantedResult& GetResult() const{ return m_result; } + + /** + *

The result of the check for whether the access is allowed. If the result is + * PASS, the specified policy doesn't allow any of the specified + * permissions in the access object. If the result is FAIL, the + * specified policy might allow some or all of the permissions in the access + * object.

+ */ + inline void SetResult(const CheckAccessNotGrantedResult& value) { m_result = value; } + + /** + *

The result of the check for whether the access is allowed. If the result is + * PASS, the specified policy doesn't allow any of the specified + * permissions in the access object. If the result is FAIL, the + * specified policy might allow some or all of the permissions in the access + * object.

+ */ + inline void SetResult(CheckAccessNotGrantedResult&& value) { m_result = std::move(value); } + + /** + *

The result of the check for whether the access is allowed. If the result is + * PASS, the specified policy doesn't allow any of the specified + * permissions in the access object. If the result is FAIL, the + * specified policy might allow some or all of the permissions in the access + * object.

+ */ + inline CheckAccessNotGrantedSdkResult& WithResult(const CheckAccessNotGrantedResult& value) { SetResult(value); return *this;} + + /** + *

The result of the check for whether the access is allowed. If the result is + * PASS, the specified policy doesn't allow any of the specified + * permissions in the access object. If the result is FAIL, the + * specified policy might allow some or all of the permissions in the access + * object.

+ */ + inline CheckAccessNotGrantedSdkResult& WithResult(CheckAccessNotGrantedResult&& value) { SetResult(std::move(value)); return *this;} + + + /** + *

The message indicating whether the specified access is allowed.

+ */ + inline const Aws::String& GetMessage() const{ return m_message; } + + /** + *

The message indicating whether the specified access is allowed.

+ */ + inline void SetMessage(const Aws::String& value) { m_message = value; } + + /** + *

The message indicating whether the specified access is allowed.

+ */ + inline void SetMessage(Aws::String&& value) { m_message = std::move(value); } + + /** + *

The message indicating whether the specified access is allowed.

+ */ + inline void SetMessage(const char* value) { m_message.assign(value); } + + /** + *

The message indicating whether the specified access is allowed.

+ */ + inline CheckAccessNotGrantedSdkResult& WithMessage(const Aws::String& value) { SetMessage(value); return *this;} + + /** + *

The message indicating whether the specified access is allowed.

+ */ + inline CheckAccessNotGrantedSdkResult& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;} + + /** + *

The message indicating whether the specified access is allowed.

+ */ + inline CheckAccessNotGrantedSdkResult& WithMessage(const char* value) { SetMessage(value); return *this;} + + + /** + *

A description of the reasoning of the result.

+ */ + inline const Aws::Vector& GetReasons() const{ return m_reasons; } + + /** + *

A description of the reasoning of the result.

+ */ + inline void SetReasons(const Aws::Vector& value) { m_reasons = value; } + + /** + *

A description of the reasoning of the result.

+ */ + inline void SetReasons(Aws::Vector&& value) { m_reasons = std::move(value); } + + /** + *

A description of the reasoning of the result.

+ */ + inline CheckAccessNotGrantedSdkResult& WithReasons(const Aws::Vector& value) { SetReasons(value); return *this;} + + /** + *

A description of the reasoning of the result.

+ */ + inline CheckAccessNotGrantedSdkResult& WithReasons(Aws::Vector&& value) { SetReasons(std::move(value)); return *this;} + + /** + *

A description of the reasoning of the result.

+ */ + inline CheckAccessNotGrantedSdkResult& AddReasons(const ReasonSummary& value) { m_reasons.push_back(value); return *this; } + + /** + *

A description of the reasoning of the result.

+ */ + inline CheckAccessNotGrantedSdkResult& AddReasons(ReasonSummary&& value) { m_reasons.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 CheckAccessNotGrantedSdkResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline CheckAccessNotGrantedSdkResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline CheckAccessNotGrantedSdkResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + CheckAccessNotGrantedResult m_result; + + Aws::String m_message; + + Aws::Vector m_reasons; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace AccessAnalyzer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/CheckNoNewAccessRequest.h b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/CheckNoNewAccessRequest.h new file mode 100644 index 00000000000..d1583162a9a --- /dev/null +++ b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/CheckNoNewAccessRequest.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 + +namespace Aws +{ +namespace AccessAnalyzer +{ +namespace Model +{ + + /** + */ + class CheckNoNewAccessRequest : public AccessAnalyzerRequest + { + public: + AWS_ACCESSANALYZER_API CheckNoNewAccessRequest(); + + // 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 "CheckNoNewAccess"; } + + AWS_ACCESSANALYZER_API Aws::String SerializePayload() const override; + + + /** + *

The JSON policy document to use as the content for the updated policy.

+ */ + inline const Aws::String& GetNewPolicyDocument() const{ return m_newPolicyDocument; } + + /** + *

The JSON policy document to use as the content for the updated policy.

+ */ + inline bool NewPolicyDocumentHasBeenSet() const { return m_newPolicyDocumentHasBeenSet; } + + /** + *

The JSON policy document to use as the content for the updated policy.

+ */ + inline void SetNewPolicyDocument(const Aws::String& value) { m_newPolicyDocumentHasBeenSet = true; m_newPolicyDocument = value; } + + /** + *

The JSON policy document to use as the content for the updated policy.

+ */ + inline void SetNewPolicyDocument(Aws::String&& value) { m_newPolicyDocumentHasBeenSet = true; m_newPolicyDocument = std::move(value); } + + /** + *

The JSON policy document to use as the content for the updated policy.

+ */ + inline void SetNewPolicyDocument(const char* value) { m_newPolicyDocumentHasBeenSet = true; m_newPolicyDocument.assign(value); } + + /** + *

The JSON policy document to use as the content for the updated policy.

+ */ + inline CheckNoNewAccessRequest& WithNewPolicyDocument(const Aws::String& value) { SetNewPolicyDocument(value); return *this;} + + /** + *

The JSON policy document to use as the content for the updated policy.

+ */ + inline CheckNoNewAccessRequest& WithNewPolicyDocument(Aws::String&& value) { SetNewPolicyDocument(std::move(value)); return *this;} + + /** + *

The JSON policy document to use as the content for the updated policy.

+ */ + inline CheckNoNewAccessRequest& WithNewPolicyDocument(const char* value) { SetNewPolicyDocument(value); return *this;} + + + /** + *

The JSON policy document to use as the content for the existing policy.

+ */ + inline const Aws::String& GetExistingPolicyDocument() const{ return m_existingPolicyDocument; } + + /** + *

The JSON policy document to use as the content for the existing policy.

+ */ + inline bool ExistingPolicyDocumentHasBeenSet() const { return m_existingPolicyDocumentHasBeenSet; } + + /** + *

The JSON policy document to use as the content for the existing policy.

+ */ + inline void SetExistingPolicyDocument(const Aws::String& value) { m_existingPolicyDocumentHasBeenSet = true; m_existingPolicyDocument = value; } + + /** + *

The JSON policy document to use as the content for the existing policy.

+ */ + inline void SetExistingPolicyDocument(Aws::String&& value) { m_existingPolicyDocumentHasBeenSet = true; m_existingPolicyDocument = std::move(value); } + + /** + *

The JSON policy document to use as the content for the existing policy.

+ */ + inline void SetExistingPolicyDocument(const char* value) { m_existingPolicyDocumentHasBeenSet = true; m_existingPolicyDocument.assign(value); } + + /** + *

The JSON policy document to use as the content for the existing policy.

+ */ + inline CheckNoNewAccessRequest& WithExistingPolicyDocument(const Aws::String& value) { SetExistingPolicyDocument(value); return *this;} + + /** + *

The JSON policy document to use as the content for the existing policy.

+ */ + inline CheckNoNewAccessRequest& WithExistingPolicyDocument(Aws::String&& value) { SetExistingPolicyDocument(std::move(value)); return *this;} + + /** + *

The JSON policy document to use as the content for the existing policy.

+ */ + inline CheckNoNewAccessRequest& WithExistingPolicyDocument(const char* value) { SetExistingPolicyDocument(value); return *this;} + + + /** + *

The type of policy to compare. Identity policies grant permissions to IAM + * principals. Identity policies include managed and inline policies for IAM roles, + * users, and groups.

Resource policies grant permissions on Amazon Web + * Services resources. Resource policies include trust policies for IAM roles and + * bucket policies for Amazon S3 buckets. You can provide a generic input such as + * identity policy or resource policy or a specific input such as managed policy or + * Amazon S3 bucket policy.

+ */ + inline const AccessCheckPolicyType& GetPolicyType() const{ return m_policyType; } + + /** + *

The type of policy to compare. Identity policies grant permissions to IAM + * principals. Identity policies include managed and inline policies for IAM roles, + * users, and groups.

Resource policies grant permissions on Amazon Web + * Services resources. Resource policies include trust policies for IAM roles and + * bucket policies for Amazon S3 buckets. You can provide a generic input such as + * identity policy or resource policy or a specific input such as managed policy or + * Amazon S3 bucket policy.

+ */ + inline bool PolicyTypeHasBeenSet() const { return m_policyTypeHasBeenSet; } + + /** + *

The type of policy to compare. Identity policies grant permissions to IAM + * principals. Identity policies include managed and inline policies for IAM roles, + * users, and groups.

Resource policies grant permissions on Amazon Web + * Services resources. Resource policies include trust policies for IAM roles and + * bucket policies for Amazon S3 buckets. You can provide a generic input such as + * identity policy or resource policy or a specific input such as managed policy or + * Amazon S3 bucket policy.

+ */ + inline void SetPolicyType(const AccessCheckPolicyType& value) { m_policyTypeHasBeenSet = true; m_policyType = value; } + + /** + *

The type of policy to compare. Identity policies grant permissions to IAM + * principals. Identity policies include managed and inline policies for IAM roles, + * users, and groups.

Resource policies grant permissions on Amazon Web + * Services resources. Resource policies include trust policies for IAM roles and + * bucket policies for Amazon S3 buckets. You can provide a generic input such as + * identity policy or resource policy or a specific input such as managed policy or + * Amazon S3 bucket policy.

+ */ + inline void SetPolicyType(AccessCheckPolicyType&& value) { m_policyTypeHasBeenSet = true; m_policyType = std::move(value); } + + /** + *

The type of policy to compare. Identity policies grant permissions to IAM + * principals. Identity policies include managed and inline policies for IAM roles, + * users, and groups.

Resource policies grant permissions on Amazon Web + * Services resources. Resource policies include trust policies for IAM roles and + * bucket policies for Amazon S3 buckets. You can provide a generic input such as + * identity policy or resource policy or a specific input such as managed policy or + * Amazon S3 bucket policy.

+ */ + inline CheckNoNewAccessRequest& WithPolicyType(const AccessCheckPolicyType& value) { SetPolicyType(value); return *this;} + + /** + *

The type of policy to compare. Identity policies grant permissions to IAM + * principals. Identity policies include managed and inline policies for IAM roles, + * users, and groups.

Resource policies grant permissions on Amazon Web + * Services resources. Resource policies include trust policies for IAM roles and + * bucket policies for Amazon S3 buckets. You can provide a generic input such as + * identity policy or resource policy or a specific input such as managed policy or + * Amazon S3 bucket policy.

+ */ + inline CheckNoNewAccessRequest& WithPolicyType(AccessCheckPolicyType&& value) { SetPolicyType(std::move(value)); return *this;} + + private: + + Aws::String m_newPolicyDocument; + bool m_newPolicyDocumentHasBeenSet = false; + + Aws::String m_existingPolicyDocument; + bool m_existingPolicyDocumentHasBeenSet = false; + + AccessCheckPolicyType m_policyType; + bool m_policyTypeHasBeenSet = false; + }; + +} // namespace Model +} // namespace AccessAnalyzer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/CheckNoNewAccessResult.h b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/CheckNoNewAccessResult.h new file mode 100644 index 00000000000..a18c485ac3a --- /dev/null +++ b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/CheckNoNewAccessResult.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 AccessAnalyzer +{ +namespace Model +{ + enum class CheckNoNewAccessResult + { + NOT_SET, + PASS, + FAIL + }; + +namespace CheckNoNewAccessResultMapper +{ +AWS_ACCESSANALYZER_API CheckNoNewAccessResult GetCheckNoNewAccessResultForName(const Aws::String& name); + +AWS_ACCESSANALYZER_API Aws::String GetNameForCheckNoNewAccessResult(CheckNoNewAccessResult value); +} // namespace CheckNoNewAccessResultMapper +} // namespace Model +} // namespace AccessAnalyzer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/CheckNoNewAccessSdkResult.h b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/CheckNoNewAccessSdkResult.h new file mode 100644 index 00000000000..9214016ec8e --- /dev/null +++ b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/CheckNoNewAccessSdkResult.h @@ -0,0 +1,180 @@ +/** + * 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 AccessAnalyzer +{ +namespace Model +{ + class CheckNoNewAccessSdkResult + { + public: + AWS_ACCESSANALYZER_API CheckNoNewAccessSdkResult(); + AWS_ACCESSANALYZER_API CheckNoNewAccessSdkResult(const Aws::AmazonWebServiceResult& result); + AWS_ACCESSANALYZER_API CheckNoNewAccessSdkResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

The result of the check for new access. If the result is PASS, + * no new access is allowed by the updated policy. If the result is + * FAIL, the updated policy might allow new access.

+ */ + inline const CheckNoNewAccessResult& GetResult() const{ return m_result; } + + /** + *

The result of the check for new access. If the result is PASS, + * no new access is allowed by the updated policy. If the result is + * FAIL, the updated policy might allow new access.

+ */ + inline void SetResult(const CheckNoNewAccessResult& value) { m_result = value; } + + /** + *

The result of the check for new access. If the result is PASS, + * no new access is allowed by the updated policy. If the result is + * FAIL, the updated policy might allow new access.

+ */ + inline void SetResult(CheckNoNewAccessResult&& value) { m_result = std::move(value); } + + /** + *

The result of the check for new access. If the result is PASS, + * no new access is allowed by the updated policy. If the result is + * FAIL, the updated policy might allow new access.

+ */ + inline CheckNoNewAccessSdkResult& WithResult(const CheckNoNewAccessResult& value) { SetResult(value); return *this;} + + /** + *

The result of the check for new access. If the result is PASS, + * no new access is allowed by the updated policy. If the result is + * FAIL, the updated policy might allow new access.

+ */ + inline CheckNoNewAccessSdkResult& WithResult(CheckNoNewAccessResult&& value) { SetResult(std::move(value)); return *this;} + + + /** + *

The message indicating whether the updated policy allows new access.

+ */ + inline const Aws::String& GetMessage() const{ return m_message; } + + /** + *

The message indicating whether the updated policy allows new access.

+ */ + inline void SetMessage(const Aws::String& value) { m_message = value; } + + /** + *

The message indicating whether the updated policy allows new access.

+ */ + inline void SetMessage(Aws::String&& value) { m_message = std::move(value); } + + /** + *

The message indicating whether the updated policy allows new access.

+ */ + inline void SetMessage(const char* value) { m_message.assign(value); } + + /** + *

The message indicating whether the updated policy allows new access.

+ */ + inline CheckNoNewAccessSdkResult& WithMessage(const Aws::String& value) { SetMessage(value); return *this;} + + /** + *

The message indicating whether the updated policy allows new access.

+ */ + inline CheckNoNewAccessSdkResult& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;} + + /** + *

The message indicating whether the updated policy allows new access.

+ */ + inline CheckNoNewAccessSdkResult& WithMessage(const char* value) { SetMessage(value); return *this;} + + + /** + *

A description of the reasoning of the result.

+ */ + inline const Aws::Vector& GetReasons() const{ return m_reasons; } + + /** + *

A description of the reasoning of the result.

+ */ + inline void SetReasons(const Aws::Vector& value) { m_reasons = value; } + + /** + *

A description of the reasoning of the result.

+ */ + inline void SetReasons(Aws::Vector&& value) { m_reasons = std::move(value); } + + /** + *

A description of the reasoning of the result.

+ */ + inline CheckNoNewAccessSdkResult& WithReasons(const Aws::Vector& value) { SetReasons(value); return *this;} + + /** + *

A description of the reasoning of the result.

+ */ + inline CheckNoNewAccessSdkResult& WithReasons(Aws::Vector&& value) { SetReasons(std::move(value)); return *this;} + + /** + *

A description of the reasoning of the result.

+ */ + inline CheckNoNewAccessSdkResult& AddReasons(const ReasonSummary& value) { m_reasons.push_back(value); return *this; } + + /** + *

A description of the reasoning of the result.

+ */ + inline CheckNoNewAccessSdkResult& AddReasons(ReasonSummary&& value) { m_reasons.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 CheckNoNewAccessSdkResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline CheckNoNewAccessSdkResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline CheckNoNewAccessSdkResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + CheckNoNewAccessResult m_result; + + Aws::String m_message; + + Aws::Vector m_reasons; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace AccessAnalyzer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/CreateAnalyzerRequest.h b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/CreateAnalyzerRequest.h index dd40ff7d07f..d3dee720f3b 100644 --- a/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/CreateAnalyzerRequest.h +++ b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/CreateAnalyzerRequest.h @@ -10,6 +10,7 @@ #include #include #include +#include #include #include #include @@ -82,44 +83,56 @@ namespace Model /** - *

The type of analyzer to create. Only ACCOUNT and ORGANIZATION analyzers are - * supported. You can create only one analyzer per account per Region. You can - * create up to 5 analyzers per organization per Region.

+ *

The type of analyzer to create. Only ACCOUNT, + * ORGANIZATION, ACCOUNT_UNUSED_ACCESS, and + * ORGANIZTAION_UNUSED_ACCESS analyzers are supported. You can create + * only one analyzer per account per Region. You can create up to 5 analyzers per + * organization per Region.

*/ inline const Type& GetType() const{ return m_type; } /** - *

The type of analyzer to create. Only ACCOUNT and ORGANIZATION analyzers are - * supported. You can create only one analyzer per account per Region. You can - * create up to 5 analyzers per organization per Region.

+ *

The type of analyzer to create. Only ACCOUNT, + * ORGANIZATION, ACCOUNT_UNUSED_ACCESS, and + * ORGANIZTAION_UNUSED_ACCESS analyzers are supported. You can create + * only one analyzer per account per Region. You can create up to 5 analyzers per + * organization per Region.

*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** - *

The type of analyzer to create. Only ACCOUNT and ORGANIZATION analyzers are - * supported. You can create only one analyzer per account per Region. You can - * create up to 5 analyzers per organization per Region.

+ *

The type of analyzer to create. Only ACCOUNT, + * ORGANIZATION, ACCOUNT_UNUSED_ACCESS, and + * ORGANIZTAION_UNUSED_ACCESS analyzers are supported. You can create + * only one analyzer per account per Region. You can create up to 5 analyzers per + * organization per Region.

*/ inline void SetType(const Type& value) { m_typeHasBeenSet = true; m_type = value; } /** - *

The type of analyzer to create. Only ACCOUNT and ORGANIZATION analyzers are - * supported. You can create only one analyzer per account per Region. You can - * create up to 5 analyzers per organization per Region.

+ *

The type of analyzer to create. Only ACCOUNT, + * ORGANIZATION, ACCOUNT_UNUSED_ACCESS, and + * ORGANIZTAION_UNUSED_ACCESS analyzers are supported. You can create + * only one analyzer per account per Region. You can create up to 5 analyzers per + * organization per Region.

*/ inline void SetType(Type&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** - *

The type of analyzer to create. Only ACCOUNT and ORGANIZATION analyzers are - * supported. You can create only one analyzer per account per Region. You can - * create up to 5 analyzers per organization per Region.

+ *

The type of analyzer to create. Only ACCOUNT, + * ORGANIZATION, ACCOUNT_UNUSED_ACCESS, and + * ORGANIZTAION_UNUSED_ACCESS analyzers are supported. You can create + * only one analyzer per account per Region. You can create up to 5 analyzers per + * organization per Region.

*/ inline CreateAnalyzerRequest& WithType(const Type& value) { SetType(value); return *this;} /** - *

The type of analyzer to create. Only ACCOUNT and ORGANIZATION analyzers are - * supported. You can create only one analyzer per account per Region. You can - * create up to 5 analyzers per organization per Region.

+ *

The type of analyzer to create. Only ACCOUNT, + * ORGANIZATION, ACCOUNT_UNUSED_ACCESS, and + * ORGANIZTAION_UNUSED_ACCESS analyzers are supported. You can create + * only one analyzer per account per Region. You can create up to 5 analyzers per + * organization per Region.

*/ inline CreateAnalyzerRequest& WithType(Type&& value) { SetType(std::move(value)); return *this;} @@ -182,67 +195,67 @@ namespace Model /** - *

The tags to apply to the analyzer.

+ *

An array of key-value pairs to apply to the analyzer.

*/ inline const Aws::Map& GetTags() const{ return m_tags; } /** - *

The tags to apply to the analyzer.

+ *

An array of key-value pairs to apply to the analyzer.

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** - *

The tags to apply to the analyzer.

+ *

An array of key-value pairs to apply to the analyzer.

*/ inline void SetTags(const Aws::Map& value) { m_tagsHasBeenSet = true; m_tags = value; } /** - *

The tags to apply to the analyzer.

+ *

An array of key-value pairs to apply to the analyzer.

*/ inline void SetTags(Aws::Map&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** - *

The tags to apply to the analyzer.

+ *

An array of key-value pairs to apply to the analyzer.

*/ inline CreateAnalyzerRequest& WithTags(const Aws::Map& value) { SetTags(value); return *this;} /** - *

The tags to apply to the analyzer.

+ *

An array of key-value pairs to apply to the analyzer.

*/ inline CreateAnalyzerRequest& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} /** - *

The tags to apply to the analyzer.

+ *

An array of key-value pairs to apply to the analyzer.

*/ inline CreateAnalyzerRequest& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } /** - *

The tags to apply to the analyzer.

+ *

An array of key-value pairs to apply to the analyzer.

*/ inline CreateAnalyzerRequest& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** - *

The tags to apply to the analyzer.

+ *

An array of key-value pairs to apply to the analyzer.

*/ inline CreateAnalyzerRequest& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** - *

The tags to apply to the analyzer.

+ *

An array of key-value pairs to apply to the analyzer.

*/ inline CreateAnalyzerRequest& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } /** - *

The tags to apply to the analyzer.

+ *

An array of key-value pairs to apply to the analyzer.

*/ inline CreateAnalyzerRequest& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** - *

The tags to apply to the analyzer.

+ *

An array of key-value pairs to apply to the analyzer.

*/ inline CreateAnalyzerRequest& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** - *

The tags to apply to the analyzer.

+ *

An array of key-value pairs to apply to the analyzer.

*/ inline CreateAnalyzerRequest& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } @@ -287,6 +300,55 @@ namespace Model */ inline CreateAnalyzerRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;} + + /** + *

Specifies the configuration of the analyzer. If the analyzer is an unused + * access analyzer, the specified scope of unused access is used for the + * configuration. If the analyzer is an external access analyzer, this field is not + * used.

+ */ + inline const AnalyzerConfiguration& GetConfiguration() const{ return m_configuration; } + + /** + *

Specifies the configuration of the analyzer. If the analyzer is an unused + * access analyzer, the specified scope of unused access is used for the + * configuration. If the analyzer is an external access analyzer, this field is not + * used.

+ */ + inline bool ConfigurationHasBeenSet() const { return m_configurationHasBeenSet; } + + /** + *

Specifies the configuration of the analyzer. If the analyzer is an unused + * access analyzer, the specified scope of unused access is used for the + * configuration. If the analyzer is an external access analyzer, this field is not + * used.

+ */ + inline void SetConfiguration(const AnalyzerConfiguration& value) { m_configurationHasBeenSet = true; m_configuration = value; } + + /** + *

Specifies the configuration of the analyzer. If the analyzer is an unused + * access analyzer, the specified scope of unused access is used for the + * configuration. If the analyzer is an external access analyzer, this field is not + * used.

+ */ + inline void SetConfiguration(AnalyzerConfiguration&& value) { m_configurationHasBeenSet = true; m_configuration = std::move(value); } + + /** + *

Specifies the configuration of the analyzer. If the analyzer is an unused + * access analyzer, the specified scope of unused access is used for the + * configuration. If the analyzer is an external access analyzer, this field is not + * used.

+ */ + inline CreateAnalyzerRequest& WithConfiguration(const AnalyzerConfiguration& value) { SetConfiguration(value); return *this;} + + /** + *

Specifies the configuration of the analyzer. If the analyzer is an unused + * access analyzer, the specified scope of unused access is used for the + * configuration. If the analyzer is an external access analyzer, this field is not + * used.

+ */ + inline CreateAnalyzerRequest& WithConfiguration(AnalyzerConfiguration&& value) { SetConfiguration(std::move(value)); return *this;} + private: Aws::String m_analyzerName; @@ -303,6 +365,9 @@ namespace Model Aws::String m_clientToken; bool m_clientTokenHasBeenSet = false; + + AnalyzerConfiguration m_configuration; + bool m_configurationHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/ExternalAccessDetails.h b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/ExternalAccessDetails.h new file mode 100644 index 00000000000..ad8ad3586ab --- /dev/null +++ b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/ExternalAccessDetails.h @@ -0,0 +1,354 @@ +/** + * 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 AccessAnalyzer +{ +namespace Model +{ + + /** + *

Contains information about an external access finding.

See + * Also:

AWS + * API Reference

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

The action in the analyzed policy statement that an external principal has + * permission to use.

+ */ + inline const Aws::Vector& GetAction() const{ return m_action; } + + /** + *

The action in the analyzed policy statement that an external principal has + * permission to use.

+ */ + inline bool ActionHasBeenSet() const { return m_actionHasBeenSet; } + + /** + *

The action in the analyzed policy statement that an external principal has + * permission to use.

+ */ + inline void SetAction(const Aws::Vector& value) { m_actionHasBeenSet = true; m_action = value; } + + /** + *

The action in the analyzed policy statement that an external principal has + * permission to use.

+ */ + inline void SetAction(Aws::Vector&& value) { m_actionHasBeenSet = true; m_action = std::move(value); } + + /** + *

The action in the analyzed policy statement that an external principal has + * permission to use.

+ */ + inline ExternalAccessDetails& WithAction(const Aws::Vector& value) { SetAction(value); return *this;} + + /** + *

The action in the analyzed policy statement that an external principal has + * permission to use.

+ */ + inline ExternalAccessDetails& WithAction(Aws::Vector&& value) { SetAction(std::move(value)); return *this;} + + /** + *

The action in the analyzed policy statement that an external principal has + * permission to use.

+ */ + inline ExternalAccessDetails& AddAction(const Aws::String& value) { m_actionHasBeenSet = true; m_action.push_back(value); return *this; } + + /** + *

The action in the analyzed policy statement that an external principal has + * permission to use.

+ */ + inline ExternalAccessDetails& AddAction(Aws::String&& value) { m_actionHasBeenSet = true; m_action.push_back(std::move(value)); return *this; } + + /** + *

The action in the analyzed policy statement that an external principal has + * permission to use.

+ */ + inline ExternalAccessDetails& AddAction(const char* value) { m_actionHasBeenSet = true; m_action.push_back(value); return *this; } + + + /** + *

The condition in the analyzed policy statement that resulted in an external + * access finding.

+ */ + inline const Aws::Map& GetCondition() const{ return m_condition; } + + /** + *

The condition in the analyzed policy statement that resulted in an external + * access finding.

+ */ + inline bool ConditionHasBeenSet() const { return m_conditionHasBeenSet; } + + /** + *

The condition in the analyzed policy statement that resulted in an external + * access finding.

+ */ + inline void SetCondition(const Aws::Map& value) { m_conditionHasBeenSet = true; m_condition = value; } + + /** + *

The condition in the analyzed policy statement that resulted in an external + * access finding.

+ */ + inline void SetCondition(Aws::Map&& value) { m_conditionHasBeenSet = true; m_condition = std::move(value); } + + /** + *

The condition in the analyzed policy statement that resulted in an external + * access finding.

+ */ + inline ExternalAccessDetails& WithCondition(const Aws::Map& value) { SetCondition(value); return *this;} + + /** + *

The condition in the analyzed policy statement that resulted in an external + * access finding.

+ */ + inline ExternalAccessDetails& WithCondition(Aws::Map&& value) { SetCondition(std::move(value)); return *this;} + + /** + *

The condition in the analyzed policy statement that resulted in an external + * access finding.

+ */ + inline ExternalAccessDetails& AddCondition(const Aws::String& key, const Aws::String& value) { m_conditionHasBeenSet = true; m_condition.emplace(key, value); return *this; } + + /** + *

The condition in the analyzed policy statement that resulted in an external + * access finding.

+ */ + inline ExternalAccessDetails& AddCondition(Aws::String&& key, const Aws::String& value) { m_conditionHasBeenSet = true; m_condition.emplace(std::move(key), value); return *this; } + + /** + *

The condition in the analyzed policy statement that resulted in an external + * access finding.

+ */ + inline ExternalAccessDetails& AddCondition(const Aws::String& key, Aws::String&& value) { m_conditionHasBeenSet = true; m_condition.emplace(key, std::move(value)); return *this; } + + /** + *

The condition in the analyzed policy statement that resulted in an external + * access finding.

+ */ + inline ExternalAccessDetails& AddCondition(Aws::String&& key, Aws::String&& value) { m_conditionHasBeenSet = true; m_condition.emplace(std::move(key), std::move(value)); return *this; } + + /** + *

The condition in the analyzed policy statement that resulted in an external + * access finding.

+ */ + inline ExternalAccessDetails& AddCondition(const char* key, Aws::String&& value) { m_conditionHasBeenSet = true; m_condition.emplace(key, std::move(value)); return *this; } + + /** + *

The condition in the analyzed policy statement that resulted in an external + * access finding.

+ */ + inline ExternalAccessDetails& AddCondition(Aws::String&& key, const char* value) { m_conditionHasBeenSet = true; m_condition.emplace(std::move(key), value); return *this; } + + /** + *

The condition in the analyzed policy statement that resulted in an external + * access finding.

+ */ + inline ExternalAccessDetails& AddCondition(const char* key, const char* value) { m_conditionHasBeenSet = true; m_condition.emplace(key, value); return *this; } + + + /** + *

Specifies whether the external access finding is public.

+ */ + inline bool GetIsPublic() const{ return m_isPublic; } + + /** + *

Specifies whether the external access finding is public.

+ */ + inline bool IsPublicHasBeenSet() const { return m_isPublicHasBeenSet; } + + /** + *

Specifies whether the external access finding is public.

+ */ + inline void SetIsPublic(bool value) { m_isPublicHasBeenSet = true; m_isPublic = value; } + + /** + *

Specifies whether the external access finding is public.

+ */ + inline ExternalAccessDetails& WithIsPublic(bool value) { SetIsPublic(value); return *this;} + + + /** + *

The external principal that has access to a resource within the zone of + * trust.

+ */ + inline const Aws::Map& GetPrincipal() const{ return m_principal; } + + /** + *

The external principal that has access to a resource within the zone of + * trust.

+ */ + inline bool PrincipalHasBeenSet() const { return m_principalHasBeenSet; } + + /** + *

The external principal that has access to a resource within the zone of + * trust.

+ */ + inline void SetPrincipal(const Aws::Map& value) { m_principalHasBeenSet = true; m_principal = value; } + + /** + *

The external principal that has access to a resource within the zone of + * trust.

+ */ + inline void SetPrincipal(Aws::Map&& value) { m_principalHasBeenSet = true; m_principal = std::move(value); } + + /** + *

The external principal that has access to a resource within the zone of + * trust.

+ */ + inline ExternalAccessDetails& WithPrincipal(const Aws::Map& value) { SetPrincipal(value); return *this;} + + /** + *

The external principal that has access to a resource within the zone of + * trust.

+ */ + inline ExternalAccessDetails& WithPrincipal(Aws::Map&& value) { SetPrincipal(std::move(value)); return *this;} + + /** + *

The external principal that has access to a resource within the zone of + * trust.

+ */ + inline ExternalAccessDetails& AddPrincipal(const Aws::String& key, const Aws::String& value) { m_principalHasBeenSet = true; m_principal.emplace(key, value); return *this; } + + /** + *

The external principal that has access to a resource within the zone of + * trust.

+ */ + inline ExternalAccessDetails& AddPrincipal(Aws::String&& key, const Aws::String& value) { m_principalHasBeenSet = true; m_principal.emplace(std::move(key), value); return *this; } + + /** + *

The external principal that has access to a resource within the zone of + * trust.

+ */ + inline ExternalAccessDetails& AddPrincipal(const Aws::String& key, Aws::String&& value) { m_principalHasBeenSet = true; m_principal.emplace(key, std::move(value)); return *this; } + + /** + *

The external principal that has access to a resource within the zone of + * trust.

+ */ + inline ExternalAccessDetails& AddPrincipal(Aws::String&& key, Aws::String&& value) { m_principalHasBeenSet = true; m_principal.emplace(std::move(key), std::move(value)); return *this; } + + /** + *

The external principal that has access to a resource within the zone of + * trust.

+ */ + inline ExternalAccessDetails& AddPrincipal(const char* key, Aws::String&& value) { m_principalHasBeenSet = true; m_principal.emplace(key, std::move(value)); return *this; } + + /** + *

The external principal that has access to a resource within the zone of + * trust.

+ */ + inline ExternalAccessDetails& AddPrincipal(Aws::String&& key, const char* value) { m_principalHasBeenSet = true; m_principal.emplace(std::move(key), value); return *this; } + + /** + *

The external principal that has access to a resource within the zone of + * trust.

+ */ + inline ExternalAccessDetails& AddPrincipal(const char* key, const char* value) { m_principalHasBeenSet = true; m_principal.emplace(key, value); return *this; } + + + /** + *

The sources of the external access finding. This indicates how the access + * that generated the finding is granted. It is populated for Amazon S3 bucket + * findings.

+ */ + inline const Aws::Vector& GetSources() const{ return m_sources; } + + /** + *

The sources of the external access finding. This indicates how the access + * that generated the finding is granted. It is populated for Amazon S3 bucket + * findings.

+ */ + inline bool SourcesHasBeenSet() const { return m_sourcesHasBeenSet; } + + /** + *

The sources of the external access finding. This indicates how the access + * that generated the finding is granted. It is populated for Amazon S3 bucket + * findings.

+ */ + inline void SetSources(const Aws::Vector& value) { m_sourcesHasBeenSet = true; m_sources = value; } + + /** + *

The sources of the external access finding. This indicates how the access + * that generated the finding is granted. It is populated for Amazon S3 bucket + * findings.

+ */ + inline void SetSources(Aws::Vector&& value) { m_sourcesHasBeenSet = true; m_sources = std::move(value); } + + /** + *

The sources of the external access finding. This indicates how the access + * that generated the finding is granted. It is populated for Amazon S3 bucket + * findings.

+ */ + inline ExternalAccessDetails& WithSources(const Aws::Vector& value) { SetSources(value); return *this;} + + /** + *

The sources of the external access finding. This indicates how the access + * that generated the finding is granted. It is populated for Amazon S3 bucket + * findings.

+ */ + inline ExternalAccessDetails& WithSources(Aws::Vector&& value) { SetSources(std::move(value)); return *this;} + + /** + *

The sources of the external access finding. This indicates how the access + * that generated the finding is granted. It is populated for Amazon S3 bucket + * findings.

+ */ + inline ExternalAccessDetails& AddSources(const FindingSource& value) { m_sourcesHasBeenSet = true; m_sources.push_back(value); return *this; } + + /** + *

The sources of the external access finding. This indicates how the access + * that generated the finding is granted. It is populated for Amazon S3 bucket + * findings.

+ */ + inline ExternalAccessDetails& AddSources(FindingSource&& value) { m_sourcesHasBeenSet = true; m_sources.push_back(std::move(value)); return *this; } + + private: + + Aws::Vector m_action; + bool m_actionHasBeenSet = false; + + Aws::Map m_condition; + bool m_conditionHasBeenSet = false; + + bool m_isPublic; + bool m_isPublicHasBeenSet = false; + + Aws::Map m_principal; + bool m_principalHasBeenSet = false; + + Aws::Vector m_sources; + bool m_sourcesHasBeenSet = false; + }; + +} // namespace Model +} // namespace AccessAnalyzer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/Finding.h b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/Finding.h index 9f963c2fae1..c45fb5d188b 100644 --- a/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/Finding.h +++ b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/Finding.h @@ -85,79 +85,79 @@ namespace Model /** - *

The external principal that access to a resource within the zone of + *

The external principal that has access to a resource within the zone of * trust.

*/ inline const Aws::Map& GetPrincipal() const{ return m_principal; } /** - *

The external principal that access to a resource within the zone of + *

The external principal that has access to a resource within the zone of * trust.

*/ inline bool PrincipalHasBeenSet() const { return m_principalHasBeenSet; } /** - *

The external principal that access to a resource within the zone of + *

The external principal that has access to a resource within the zone of * trust.

*/ inline void SetPrincipal(const Aws::Map& value) { m_principalHasBeenSet = true; m_principal = value; } /** - *

The external principal that access to a resource within the zone of + *

The external principal that has access to a resource within the zone of * trust.

*/ inline void SetPrincipal(Aws::Map&& value) { m_principalHasBeenSet = true; m_principal = std::move(value); } /** - *

The external principal that access to a resource within the zone of + *

The external principal that has access to a resource within the zone of * trust.

*/ inline Finding& WithPrincipal(const Aws::Map& value) { SetPrincipal(value); return *this;} /** - *

The external principal that access to a resource within the zone of + *

The external principal that has access to a resource within the zone of * trust.

*/ inline Finding& WithPrincipal(Aws::Map&& value) { SetPrincipal(std::move(value)); return *this;} /** - *

The external principal that access to a resource within the zone of + *

The external principal that has access to a resource within the zone of * trust.

*/ inline Finding& AddPrincipal(const Aws::String& key, const Aws::String& value) { m_principalHasBeenSet = true; m_principal.emplace(key, value); return *this; } /** - *

The external principal that access to a resource within the zone of + *

The external principal that has access to a resource within the zone of * trust.

*/ inline Finding& AddPrincipal(Aws::String&& key, const Aws::String& value) { m_principalHasBeenSet = true; m_principal.emplace(std::move(key), value); return *this; } /** - *

The external principal that access to a resource within the zone of + *

The external principal that has access to a resource within the zone of * trust.

*/ inline Finding& AddPrincipal(const Aws::String& key, Aws::String&& value) { m_principalHasBeenSet = true; m_principal.emplace(key, std::move(value)); return *this; } /** - *

The external principal that access to a resource within the zone of + *

The external principal that has access to a resource within the zone of * trust.

*/ inline Finding& AddPrincipal(Aws::String&& key, Aws::String&& value) { m_principalHasBeenSet = true; m_principal.emplace(std::move(key), std::move(value)); return *this; } /** - *

The external principal that access to a resource within the zone of + *

The external principal that has access to a resource within the zone of * trust.

*/ inline Finding& AddPrincipal(const char* key, Aws::String&& value) { m_principalHasBeenSet = true; m_principal.emplace(key, std::move(value)); return *this; } /** - *

The external principal that access to a resource within the zone of + *

The external principal that has access to a resource within the zone of * trust.

*/ inline Finding& AddPrincipal(Aws::String&& key, const char* value) { m_principalHasBeenSet = true; m_principal.emplace(std::move(key), value); return *this; } /** - *

The external principal that access to a resource within the zone of + *

The external principal that has access to a resource within the zone of * trust.

*/ inline Finding& AddPrincipal(const char* key, const char* value) { m_principalHasBeenSet = true; m_principal.emplace(key, value); return *this; } diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/FindingDetails.h b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/FindingDetails.h new file mode 100644 index 00000000000..e958d996e59 --- /dev/null +++ b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/FindingDetails.h @@ -0,0 +1,244 @@ +/** + * 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 Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace AccessAnalyzer +{ +namespace Model +{ + + /** + *

Contains information about an external access or unused access finding. Only + * one parameter can be used in a FindingDetails object.

See + * Also:

AWS + * API Reference

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

The details for an external access analyzer finding.

+ */ + inline const ExternalAccessDetails& GetExternalAccessDetails() const{ return m_externalAccessDetails; } + + /** + *

The details for an external access analyzer finding.

+ */ + inline bool ExternalAccessDetailsHasBeenSet() const { return m_externalAccessDetailsHasBeenSet; } + + /** + *

The details for an external access analyzer finding.

+ */ + inline void SetExternalAccessDetails(const ExternalAccessDetails& value) { m_externalAccessDetailsHasBeenSet = true; m_externalAccessDetails = value; } + + /** + *

The details for an external access analyzer finding.

+ */ + inline void SetExternalAccessDetails(ExternalAccessDetails&& value) { m_externalAccessDetailsHasBeenSet = true; m_externalAccessDetails = std::move(value); } + + /** + *

The details for an external access analyzer finding.

+ */ + inline FindingDetails& WithExternalAccessDetails(const ExternalAccessDetails& value) { SetExternalAccessDetails(value); return *this;} + + /** + *

The details for an external access analyzer finding.

+ */ + inline FindingDetails& WithExternalAccessDetails(ExternalAccessDetails&& value) { SetExternalAccessDetails(std::move(value)); return *this;} + + + /** + *

The details for an unused access analyzer finding with an unused permission + * finding type.

+ */ + inline const UnusedPermissionDetails& GetUnusedPermissionDetails() const{ return m_unusedPermissionDetails; } + + /** + *

The details for an unused access analyzer finding with an unused permission + * finding type.

+ */ + inline bool UnusedPermissionDetailsHasBeenSet() const { return m_unusedPermissionDetailsHasBeenSet; } + + /** + *

The details for an unused access analyzer finding with an unused permission + * finding type.

+ */ + inline void SetUnusedPermissionDetails(const UnusedPermissionDetails& value) { m_unusedPermissionDetailsHasBeenSet = true; m_unusedPermissionDetails = value; } + + /** + *

The details for an unused access analyzer finding with an unused permission + * finding type.

+ */ + inline void SetUnusedPermissionDetails(UnusedPermissionDetails&& value) { m_unusedPermissionDetailsHasBeenSet = true; m_unusedPermissionDetails = std::move(value); } + + /** + *

The details for an unused access analyzer finding with an unused permission + * finding type.

+ */ + inline FindingDetails& WithUnusedPermissionDetails(const UnusedPermissionDetails& value) { SetUnusedPermissionDetails(value); return *this;} + + /** + *

The details for an unused access analyzer finding with an unused permission + * finding type.

+ */ + inline FindingDetails& WithUnusedPermissionDetails(UnusedPermissionDetails&& value) { SetUnusedPermissionDetails(std::move(value)); return *this;} + + + /** + *

The details for an unused access analyzer finding with an unused IAM user + * access key finding type.

+ */ + inline const UnusedIamUserAccessKeyDetails& GetUnusedIamUserAccessKeyDetails() const{ return m_unusedIamUserAccessKeyDetails; } + + /** + *

The details for an unused access analyzer finding with an unused IAM user + * access key finding type.

+ */ + inline bool UnusedIamUserAccessKeyDetailsHasBeenSet() const { return m_unusedIamUserAccessKeyDetailsHasBeenSet; } + + /** + *

The details for an unused access analyzer finding with an unused IAM user + * access key finding type.

+ */ + inline void SetUnusedIamUserAccessKeyDetails(const UnusedIamUserAccessKeyDetails& value) { m_unusedIamUserAccessKeyDetailsHasBeenSet = true; m_unusedIamUserAccessKeyDetails = value; } + + /** + *

The details for an unused access analyzer finding with an unused IAM user + * access key finding type.

+ */ + inline void SetUnusedIamUserAccessKeyDetails(UnusedIamUserAccessKeyDetails&& value) { m_unusedIamUserAccessKeyDetailsHasBeenSet = true; m_unusedIamUserAccessKeyDetails = std::move(value); } + + /** + *

The details for an unused access analyzer finding with an unused IAM user + * access key finding type.

+ */ + inline FindingDetails& WithUnusedIamUserAccessKeyDetails(const UnusedIamUserAccessKeyDetails& value) { SetUnusedIamUserAccessKeyDetails(value); return *this;} + + /** + *

The details for an unused access analyzer finding with an unused IAM user + * access key finding type.

+ */ + inline FindingDetails& WithUnusedIamUserAccessKeyDetails(UnusedIamUserAccessKeyDetails&& value) { SetUnusedIamUserAccessKeyDetails(std::move(value)); return *this;} + + + /** + *

The details for an unused access analyzer finding with an unused IAM role + * finding type.

+ */ + inline const UnusedIamRoleDetails& GetUnusedIamRoleDetails() const{ return m_unusedIamRoleDetails; } + + /** + *

The details for an unused access analyzer finding with an unused IAM role + * finding type.

+ */ + inline bool UnusedIamRoleDetailsHasBeenSet() const { return m_unusedIamRoleDetailsHasBeenSet; } + + /** + *

The details for an unused access analyzer finding with an unused IAM role + * finding type.

+ */ + inline void SetUnusedIamRoleDetails(const UnusedIamRoleDetails& value) { m_unusedIamRoleDetailsHasBeenSet = true; m_unusedIamRoleDetails = value; } + + /** + *

The details for an unused access analyzer finding with an unused IAM role + * finding type.

+ */ + inline void SetUnusedIamRoleDetails(UnusedIamRoleDetails&& value) { m_unusedIamRoleDetailsHasBeenSet = true; m_unusedIamRoleDetails = std::move(value); } + + /** + *

The details for an unused access analyzer finding with an unused IAM role + * finding type.

+ */ + inline FindingDetails& WithUnusedIamRoleDetails(const UnusedIamRoleDetails& value) { SetUnusedIamRoleDetails(value); return *this;} + + /** + *

The details for an unused access analyzer finding with an unused IAM role + * finding type.

+ */ + inline FindingDetails& WithUnusedIamRoleDetails(UnusedIamRoleDetails&& value) { SetUnusedIamRoleDetails(std::move(value)); return *this;} + + + /** + *

The details for an unused access analyzer finding with an unused IAM user + * password finding type.

+ */ + inline const UnusedIamUserPasswordDetails& GetUnusedIamUserPasswordDetails() const{ return m_unusedIamUserPasswordDetails; } + + /** + *

The details for an unused access analyzer finding with an unused IAM user + * password finding type.

+ */ + inline bool UnusedIamUserPasswordDetailsHasBeenSet() const { return m_unusedIamUserPasswordDetailsHasBeenSet; } + + /** + *

The details for an unused access analyzer finding with an unused IAM user + * password finding type.

+ */ + inline void SetUnusedIamUserPasswordDetails(const UnusedIamUserPasswordDetails& value) { m_unusedIamUserPasswordDetailsHasBeenSet = true; m_unusedIamUserPasswordDetails = value; } + + /** + *

The details for an unused access analyzer finding with an unused IAM user + * password finding type.

+ */ + inline void SetUnusedIamUserPasswordDetails(UnusedIamUserPasswordDetails&& value) { m_unusedIamUserPasswordDetailsHasBeenSet = true; m_unusedIamUserPasswordDetails = std::move(value); } + + /** + *

The details for an unused access analyzer finding with an unused IAM user + * password finding type.

+ */ + inline FindingDetails& WithUnusedIamUserPasswordDetails(const UnusedIamUserPasswordDetails& value) { SetUnusedIamUserPasswordDetails(value); return *this;} + + /** + *

The details for an unused access analyzer finding with an unused IAM user + * password finding type.

+ */ + inline FindingDetails& WithUnusedIamUserPasswordDetails(UnusedIamUserPasswordDetails&& value) { SetUnusedIamUserPasswordDetails(std::move(value)); return *this;} + + private: + + ExternalAccessDetails m_externalAccessDetails; + bool m_externalAccessDetailsHasBeenSet = false; + + UnusedPermissionDetails m_unusedPermissionDetails; + bool m_unusedPermissionDetailsHasBeenSet = false; + + UnusedIamUserAccessKeyDetails m_unusedIamUserAccessKeyDetails; + bool m_unusedIamUserAccessKeyDetailsHasBeenSet = false; + + UnusedIamRoleDetails m_unusedIamRoleDetails; + bool m_unusedIamRoleDetailsHasBeenSet = false; + + UnusedIamUserPasswordDetails m_unusedIamUserPasswordDetails; + bool m_unusedIamUserPasswordDetailsHasBeenSet = false; + }; + +} // namespace Model +} // namespace AccessAnalyzer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/FindingSummaryV2.h b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/FindingSummaryV2.h new file mode 100644 index 00000000000..7a711075e77 --- /dev/null +++ b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/FindingSummaryV2.h @@ -0,0 +1,434 @@ +/** + * 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 Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace AccessAnalyzer +{ +namespace Model +{ + + /** + *

Contains information about a finding.

See Also:

AWS + * API Reference

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

The time at which the resource-based policy or IAM entity that generated the + * finding was analyzed.

+ */ + inline const Aws::Utils::DateTime& GetAnalyzedAt() const{ return m_analyzedAt; } + + /** + *

The time at which the resource-based policy or IAM entity that generated the + * finding was analyzed.

+ */ + inline bool AnalyzedAtHasBeenSet() const { return m_analyzedAtHasBeenSet; } + + /** + *

The time at which the resource-based policy or IAM entity that generated the + * finding was analyzed.

+ */ + inline void SetAnalyzedAt(const Aws::Utils::DateTime& value) { m_analyzedAtHasBeenSet = true; m_analyzedAt = value; } + + /** + *

The time at which the resource-based policy or IAM entity that generated the + * finding was analyzed.

+ */ + inline void SetAnalyzedAt(Aws::Utils::DateTime&& value) { m_analyzedAtHasBeenSet = true; m_analyzedAt = std::move(value); } + + /** + *

The time at which the resource-based policy or IAM entity that generated the + * finding was analyzed.

+ */ + inline FindingSummaryV2& WithAnalyzedAt(const Aws::Utils::DateTime& value) { SetAnalyzedAt(value); return *this;} + + /** + *

The time at which the resource-based policy or IAM entity that generated the + * finding was analyzed.

+ */ + inline FindingSummaryV2& WithAnalyzedAt(Aws::Utils::DateTime&& value) { SetAnalyzedAt(std::move(value)); return *this;} + + + /** + *

The time at which the finding was created.

+ */ + inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } + + /** + *

The time at which the finding was created.

+ */ + inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } + + /** + *

The time at which the finding was created.

+ */ + inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAtHasBeenSet = true; m_createdAt = value; } + + /** + *

The time at which the finding was created.

+ */ + inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::move(value); } + + /** + *

The time at which the finding was created.

+ */ + inline FindingSummaryV2& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} + + /** + *

The time at which the finding was created.

+ */ + inline FindingSummaryV2& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} + + + /** + *

The error that resulted in an Error finding.

+ */ + inline const Aws::String& GetError() const{ return m_error; } + + /** + *

The error that resulted in an Error finding.

+ */ + inline bool ErrorHasBeenSet() const { return m_errorHasBeenSet; } + + /** + *

The error that resulted in an Error finding.

+ */ + inline void SetError(const Aws::String& value) { m_errorHasBeenSet = true; m_error = value; } + + /** + *

The error that resulted in an Error finding.

+ */ + inline void SetError(Aws::String&& value) { m_errorHasBeenSet = true; m_error = std::move(value); } + + /** + *

The error that resulted in an Error finding.

+ */ + inline void SetError(const char* value) { m_errorHasBeenSet = true; m_error.assign(value); } + + /** + *

The error that resulted in an Error finding.

+ */ + inline FindingSummaryV2& WithError(const Aws::String& value) { SetError(value); return *this;} + + /** + *

The error that resulted in an Error finding.

+ */ + inline FindingSummaryV2& WithError(Aws::String&& value) { SetError(std::move(value)); return *this;} + + /** + *

The error that resulted in an Error finding.

+ */ + inline FindingSummaryV2& WithError(const char* value) { SetError(value); return *this;} + + + /** + *

The ID of the finding.

+ */ + inline const Aws::String& GetId() const{ return m_id; } + + /** + *

The ID of the finding.

+ */ + inline bool IdHasBeenSet() const { return m_idHasBeenSet; } + + /** + *

The ID of the finding.

+ */ + inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } + + /** + *

The ID of the finding.

+ */ + inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } + + /** + *

The ID of the finding.

+ */ + inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } + + /** + *

The ID of the finding.

+ */ + inline FindingSummaryV2& WithId(const Aws::String& value) { SetId(value); return *this;} + + /** + *

The ID of the finding.

+ */ + inline FindingSummaryV2& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + + /** + *

The ID of the finding.

+ */ + inline FindingSummaryV2& WithId(const char* value) { SetId(value); return *this;} + + + /** + *

The resource that the external principal has access to.

+ */ + inline const Aws::String& GetResource() const{ return m_resource; } + + /** + *

The resource that the external principal has access to.

+ */ + inline bool ResourceHasBeenSet() const { return m_resourceHasBeenSet; } + + /** + *

The resource that the external principal has access to.

+ */ + inline void SetResource(const Aws::String& value) { m_resourceHasBeenSet = true; m_resource = value; } + + /** + *

The resource that the external principal has access to.

+ */ + inline void SetResource(Aws::String&& value) { m_resourceHasBeenSet = true; m_resource = std::move(value); } + + /** + *

The resource that the external principal has access to.

+ */ + inline void SetResource(const char* value) { m_resourceHasBeenSet = true; m_resource.assign(value); } + + /** + *

The resource that the external principal has access to.

+ */ + inline FindingSummaryV2& WithResource(const Aws::String& value) { SetResource(value); return *this;} + + /** + *

The resource that the external principal has access to.

+ */ + inline FindingSummaryV2& WithResource(Aws::String&& value) { SetResource(std::move(value)); return *this;} + + /** + *

The resource that the external principal has access to.

+ */ + inline FindingSummaryV2& WithResource(const char* value) { SetResource(value); return *this;} + + + /** + *

The type of the resource that the external principal has access to.

+ */ + inline const ResourceType& GetResourceType() const{ return m_resourceType; } + + /** + *

The type of the resource that the external principal has access to.

+ */ + inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; } + + /** + *

The type of the resource that the external principal has access to.

+ */ + inline void SetResourceType(const ResourceType& value) { m_resourceTypeHasBeenSet = true; m_resourceType = value; } + + /** + *

The type of the resource that the external principal has access to.

+ */ + inline void SetResourceType(ResourceType&& value) { m_resourceTypeHasBeenSet = true; m_resourceType = std::move(value); } + + /** + *

The type of the resource that the external principal has access to.

+ */ + inline FindingSummaryV2& WithResourceType(const ResourceType& value) { SetResourceType(value); return *this;} + + /** + *

The type of the resource that the external principal has access to.

+ */ + inline FindingSummaryV2& WithResourceType(ResourceType&& value) { SetResourceType(std::move(value)); return *this;} + + + /** + *

The Amazon Web Services account ID that owns the resource.

+ */ + inline const Aws::String& GetResourceOwnerAccount() const{ return m_resourceOwnerAccount; } + + /** + *

The Amazon Web Services account ID that owns the resource.

+ */ + inline bool ResourceOwnerAccountHasBeenSet() const { return m_resourceOwnerAccountHasBeenSet; } + + /** + *

The Amazon Web Services account ID that owns the resource.

+ */ + inline void SetResourceOwnerAccount(const Aws::String& value) { m_resourceOwnerAccountHasBeenSet = true; m_resourceOwnerAccount = value; } + + /** + *

The Amazon Web Services account ID that owns the resource.

+ */ + inline void SetResourceOwnerAccount(Aws::String&& value) { m_resourceOwnerAccountHasBeenSet = true; m_resourceOwnerAccount = std::move(value); } + + /** + *

The Amazon Web Services account ID that owns the resource.

+ */ + inline void SetResourceOwnerAccount(const char* value) { m_resourceOwnerAccountHasBeenSet = true; m_resourceOwnerAccount.assign(value); } + + /** + *

The Amazon Web Services account ID that owns the resource.

+ */ + inline FindingSummaryV2& WithResourceOwnerAccount(const Aws::String& value) { SetResourceOwnerAccount(value); return *this;} + + /** + *

The Amazon Web Services account ID that owns the resource.

+ */ + inline FindingSummaryV2& WithResourceOwnerAccount(Aws::String&& value) { SetResourceOwnerAccount(std::move(value)); return *this;} + + /** + *

The Amazon Web Services account ID that owns the resource.

+ */ + inline FindingSummaryV2& WithResourceOwnerAccount(const char* value) { SetResourceOwnerAccount(value); return *this;} + + + /** + *

The status of the finding.

+ */ + inline const FindingStatus& GetStatus() const{ return m_status; } + + /** + *

The status of the finding.

+ */ + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + + /** + *

The status of the finding.

+ */ + inline void SetStatus(const FindingStatus& value) { m_statusHasBeenSet = true; m_status = value; } + + /** + *

The status of the finding.

+ */ + inline void SetStatus(FindingStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } + + /** + *

The status of the finding.

+ */ + inline FindingSummaryV2& WithStatus(const FindingStatus& value) { SetStatus(value); return *this;} + + /** + *

The status of the finding.

+ */ + inline FindingSummaryV2& WithStatus(FindingStatus&& value) { SetStatus(std::move(value)); return *this;} + + + /** + *

The time at which the finding was most recently updated.

+ */ + inline const Aws::Utils::DateTime& GetUpdatedAt() const{ return m_updatedAt; } + + /** + *

The time at which the finding was most recently updated.

+ */ + inline bool UpdatedAtHasBeenSet() const { return m_updatedAtHasBeenSet; } + + /** + *

The time at which the finding was most recently updated.

+ */ + inline void SetUpdatedAt(const Aws::Utils::DateTime& value) { m_updatedAtHasBeenSet = true; m_updatedAt = value; } + + /** + *

The time at which the finding was most recently updated.

+ */ + inline void SetUpdatedAt(Aws::Utils::DateTime&& value) { m_updatedAtHasBeenSet = true; m_updatedAt = std::move(value); } + + /** + *

The time at which the finding was most recently updated.

+ */ + inline FindingSummaryV2& WithUpdatedAt(const Aws::Utils::DateTime& value) { SetUpdatedAt(value); return *this;} + + /** + *

The time at which the finding was most recently updated.

+ */ + inline FindingSummaryV2& WithUpdatedAt(Aws::Utils::DateTime&& value) { SetUpdatedAt(std::move(value)); return *this;} + + + /** + *

The type of the external access or unused access finding.

+ */ + inline const FindingType& GetFindingType() const{ return m_findingType; } + + /** + *

The type of the external access or unused access finding.

+ */ + inline bool FindingTypeHasBeenSet() const { return m_findingTypeHasBeenSet; } + + /** + *

The type of the external access or unused access finding.

+ */ + inline void SetFindingType(const FindingType& value) { m_findingTypeHasBeenSet = true; m_findingType = value; } + + /** + *

The type of the external access or unused access finding.

+ */ + inline void SetFindingType(FindingType&& value) { m_findingTypeHasBeenSet = true; m_findingType = std::move(value); } + + /** + *

The type of the external access or unused access finding.

+ */ + inline FindingSummaryV2& WithFindingType(const FindingType& value) { SetFindingType(value); return *this;} + + /** + *

The type of the external access or unused access finding.

+ */ + inline FindingSummaryV2& WithFindingType(FindingType&& value) { SetFindingType(std::move(value)); return *this;} + + private: + + Aws::Utils::DateTime m_analyzedAt; + bool m_analyzedAtHasBeenSet = false; + + Aws::Utils::DateTime m_createdAt; + bool m_createdAtHasBeenSet = false; + + Aws::String m_error; + bool m_errorHasBeenSet = false; + + Aws::String m_id; + bool m_idHasBeenSet = false; + + Aws::String m_resource; + bool m_resourceHasBeenSet = false; + + ResourceType m_resourceType; + bool m_resourceTypeHasBeenSet = false; + + Aws::String m_resourceOwnerAccount; + bool m_resourceOwnerAccountHasBeenSet = false; + + FindingStatus m_status; + bool m_statusHasBeenSet = false; + + Aws::Utils::DateTime m_updatedAt; + bool m_updatedAtHasBeenSet = false; + + FindingType m_findingType; + bool m_findingTypeHasBeenSet = false; + }; + +} // namespace Model +} // namespace AccessAnalyzer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/FindingType.h b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/FindingType.h new file mode 100644 index 00000000000..ad843ab466c --- /dev/null +++ b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/FindingType.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 AccessAnalyzer +{ +namespace Model +{ + enum class FindingType + { + NOT_SET, + ExternalAccess, + UnusedIAMRole, + UnusedIAMUserAccessKey, + UnusedIAMUserPassword, + UnusedPermission + }; + +namespace FindingTypeMapper +{ +AWS_ACCESSANALYZER_API FindingType GetFindingTypeForName(const Aws::String& name); + +AWS_ACCESSANALYZER_API Aws::String GetNameForFindingType(FindingType value); +} // namespace FindingTypeMapper +} // namespace Model +} // namespace AccessAnalyzer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/GetFindingV2Request.h b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/GetFindingV2Request.h new file mode 100644 index 00000000000..b1bbdb4f1d4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/GetFindingV2Request.h @@ -0,0 +1,217 @@ +/** + * 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 AccessAnalyzer +{ +namespace Model +{ + + /** + */ + class GetFindingV2Request : public AccessAnalyzerRequest + { + public: + AWS_ACCESSANALYZER_API GetFindingV2Request(); + + // 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 "GetFindingV2"; } + + AWS_ACCESSANALYZER_API Aws::String SerializePayload() const override; + + AWS_ACCESSANALYZER_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + /** + *

The ARN + * of the analyzer that generated the finding.

+ */ + inline const Aws::String& GetAnalyzerArn() const{ return m_analyzerArn; } + + /** + *

The ARN + * of the analyzer that generated the finding.

+ */ + inline bool AnalyzerArnHasBeenSet() const { return m_analyzerArnHasBeenSet; } + + /** + *

The ARN + * of the analyzer that generated the finding.

+ */ + inline void SetAnalyzerArn(const Aws::String& value) { m_analyzerArnHasBeenSet = true; m_analyzerArn = value; } + + /** + *

The ARN + * of the analyzer that generated the finding.

+ */ + inline void SetAnalyzerArn(Aws::String&& value) { m_analyzerArnHasBeenSet = true; m_analyzerArn = std::move(value); } + + /** + *

The ARN + * of the analyzer that generated the finding.

+ */ + inline void SetAnalyzerArn(const char* value) { m_analyzerArnHasBeenSet = true; m_analyzerArn.assign(value); } + + /** + *

The ARN + * of the analyzer that generated the finding.

+ */ + inline GetFindingV2Request& WithAnalyzerArn(const Aws::String& value) { SetAnalyzerArn(value); return *this;} + + /** + *

The ARN + * of the analyzer that generated the finding.

+ */ + inline GetFindingV2Request& WithAnalyzerArn(Aws::String&& value) { SetAnalyzerArn(std::move(value)); return *this;} + + /** + *

The ARN + * of the analyzer that generated the finding.

+ */ + inline GetFindingV2Request& WithAnalyzerArn(const char* value) { SetAnalyzerArn(value); return *this;} + + + /** + *

The ID of the finding to retrieve.

+ */ + inline const Aws::String& GetId() const{ return m_id; } + + /** + *

The ID of the finding to retrieve.

+ */ + inline bool IdHasBeenSet() const { return m_idHasBeenSet; } + + /** + *

The ID of the finding to retrieve.

+ */ + inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } + + /** + *

The ID of the finding to retrieve.

+ */ + inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } + + /** + *

The ID of the finding to retrieve.

+ */ + inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } + + /** + *

The ID of the finding to retrieve.

+ */ + inline GetFindingV2Request& WithId(const Aws::String& value) { SetId(value); return *this;} + + /** + *

The ID of the finding to retrieve.

+ */ + inline GetFindingV2Request& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + + /** + *

The ID of the finding to retrieve.

+ */ + inline GetFindingV2Request& WithId(const char* value) { SetId(value); return *this;} + + + /** + *

The maximum number of results to return in the response.

+ */ + inline int GetMaxResults() const{ return m_maxResults; } + + /** + *

The maximum number of results to return in the response.

+ */ + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + + /** + *

The maximum number of results to return in the response.

+ */ + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + + /** + *

The maximum number of results to return in the response.

+ */ + inline GetFindingV2Request& WithMaxResults(int value) { SetMaxResults(value); return *this;} + + + /** + *

A token used for pagination of results returned.

+ */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + + /** + *

A token used for pagination of results returned.

+ */ + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + + /** + *

A token used for pagination of results returned.

+ */ + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + + /** + *

A token used for pagination of results returned.

+ */ + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + + /** + *

A token used for pagination of results returned.

+ */ + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + + /** + *

A token used for pagination of results returned.

+ */ + inline GetFindingV2Request& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + + /** + *

A token used for pagination of results returned.

+ */ + inline GetFindingV2Request& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + + /** + *

A token used for pagination of results returned.

+ */ + inline GetFindingV2Request& WithNextToken(const char* value) { SetNextToken(value); return *this;} + + private: + + Aws::String m_analyzerArn; + bool m_analyzerArnHasBeenSet = false; + + Aws::String m_id; + bool m_idHasBeenSet = false; + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + }; + +} // namespace Model +} // namespace AccessAnalyzer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/GetFindingV2Result.h b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/GetFindingV2Result.h new file mode 100644 index 00000000000..6fcea0b525d --- /dev/null +++ b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/GetFindingV2Result.h @@ -0,0 +1,492 @@ +/** + * 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 +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace AccessAnalyzer +{ +namespace Model +{ + class GetFindingV2Result + { + public: + AWS_ACCESSANALYZER_API GetFindingV2Result(); + AWS_ACCESSANALYZER_API GetFindingV2Result(const Aws::AmazonWebServiceResult& result); + AWS_ACCESSANALYZER_API GetFindingV2Result& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

The time at which the resource-based policy or IAM entity that generated the + * finding was analyzed.

+ */ + inline const Aws::Utils::DateTime& GetAnalyzedAt() const{ return m_analyzedAt; } + + /** + *

The time at which the resource-based policy or IAM entity that generated the + * finding was analyzed.

+ */ + inline void SetAnalyzedAt(const Aws::Utils::DateTime& value) { m_analyzedAt = value; } + + /** + *

The time at which the resource-based policy or IAM entity that generated the + * finding was analyzed.

+ */ + inline void SetAnalyzedAt(Aws::Utils::DateTime&& value) { m_analyzedAt = std::move(value); } + + /** + *

The time at which the resource-based policy or IAM entity that generated the + * finding was analyzed.

+ */ + inline GetFindingV2Result& WithAnalyzedAt(const Aws::Utils::DateTime& value) { SetAnalyzedAt(value); return *this;} + + /** + *

The time at which the resource-based policy or IAM entity that generated the + * finding was analyzed.

+ */ + inline GetFindingV2Result& WithAnalyzedAt(Aws::Utils::DateTime&& value) { SetAnalyzedAt(std::move(value)); return *this;} + + + /** + *

The time at which the finding was created.

+ */ + inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } + + /** + *

The time at which the finding was created.

+ */ + inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAt = value; } + + /** + *

The time at which the finding was created.

+ */ + inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAt = std::move(value); } + + /** + *

The time at which the finding was created.

+ */ + inline GetFindingV2Result& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} + + /** + *

The time at which the finding was created.

+ */ + inline GetFindingV2Result& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} + + + /** + *

An error.

+ */ + inline const Aws::String& GetError() const{ return m_error; } + + /** + *

An error.

+ */ + inline void SetError(const Aws::String& value) { m_error = value; } + + /** + *

An error.

+ */ + inline void SetError(Aws::String&& value) { m_error = std::move(value); } + + /** + *

An error.

+ */ + inline void SetError(const char* value) { m_error.assign(value); } + + /** + *

An error.

+ */ + inline GetFindingV2Result& WithError(const Aws::String& value) { SetError(value); return *this;} + + /** + *

An error.

+ */ + inline GetFindingV2Result& WithError(Aws::String&& value) { SetError(std::move(value)); return *this;} + + /** + *

An error.

+ */ + inline GetFindingV2Result& WithError(const char* value) { SetError(value); return *this;} + + + /** + *

The ID of the finding to retrieve.

+ */ + inline const Aws::String& GetId() const{ return m_id; } + + /** + *

The ID of the finding to retrieve.

+ */ + inline void SetId(const Aws::String& value) { m_id = value; } + + /** + *

The ID of the finding to retrieve.

+ */ + inline void SetId(Aws::String&& value) { m_id = std::move(value); } + + /** + *

The ID of the finding to retrieve.

+ */ + inline void SetId(const char* value) { m_id.assign(value); } + + /** + *

The ID of the finding to retrieve.

+ */ + inline GetFindingV2Result& WithId(const Aws::String& value) { SetId(value); return *this;} + + /** + *

The ID of the finding to retrieve.

+ */ + inline GetFindingV2Result& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + + /** + *

The ID of the finding to retrieve.

+ */ + inline GetFindingV2Result& WithId(const char* value) { SetId(value); return *this;} + + + /** + *

A token used for pagination of results returned.

+ */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + + /** + *

A token used for pagination of results returned.

+ */ + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + + /** + *

A token used for pagination of results returned.

+ */ + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + + /** + *

A token used for pagination of results returned.

+ */ + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + + /** + *

A token used for pagination of results returned.

+ */ + inline GetFindingV2Result& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + + /** + *

A token used for pagination of results returned.

+ */ + inline GetFindingV2Result& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + + /** + *

A token used for pagination of results returned.

+ */ + inline GetFindingV2Result& WithNextToken(const char* value) { SetNextToken(value); return *this;} + + + /** + *

The resource that generated the finding.

+ */ + inline const Aws::String& GetResource() const{ return m_resource; } + + /** + *

The resource that generated the finding.

+ */ + inline void SetResource(const Aws::String& value) { m_resource = value; } + + /** + *

The resource that generated the finding.

+ */ + inline void SetResource(Aws::String&& value) { m_resource = std::move(value); } + + /** + *

The resource that generated the finding.

+ */ + inline void SetResource(const char* value) { m_resource.assign(value); } + + /** + *

The resource that generated the finding.

+ */ + inline GetFindingV2Result& WithResource(const Aws::String& value) { SetResource(value); return *this;} + + /** + *

The resource that generated the finding.

+ */ + inline GetFindingV2Result& WithResource(Aws::String&& value) { SetResource(std::move(value)); return *this;} + + /** + *

The resource that generated the finding.

+ */ + inline GetFindingV2Result& WithResource(const char* value) { SetResource(value); return *this;} + + + /** + *

The type of the resource identified in the finding.

+ */ + inline const ResourceType& GetResourceType() const{ return m_resourceType; } + + /** + *

The type of the resource identified in the finding.

+ */ + inline void SetResourceType(const ResourceType& value) { m_resourceType = value; } + + /** + *

The type of the resource identified in the finding.

+ */ + inline void SetResourceType(ResourceType&& value) { m_resourceType = std::move(value); } + + /** + *

The type of the resource identified in the finding.

+ */ + inline GetFindingV2Result& WithResourceType(const ResourceType& value) { SetResourceType(value); return *this;} + + /** + *

The type of the resource identified in the finding.

+ */ + inline GetFindingV2Result& WithResourceType(ResourceType&& value) { SetResourceType(std::move(value)); return *this;} + + + /** + *

Tye Amazon Web Services account ID that owns the resource.

+ */ + inline const Aws::String& GetResourceOwnerAccount() const{ return m_resourceOwnerAccount; } + + /** + *

Tye Amazon Web Services account ID that owns the resource.

+ */ + inline void SetResourceOwnerAccount(const Aws::String& value) { m_resourceOwnerAccount = value; } + + /** + *

Tye Amazon Web Services account ID that owns the resource.

+ */ + inline void SetResourceOwnerAccount(Aws::String&& value) { m_resourceOwnerAccount = std::move(value); } + + /** + *

Tye Amazon Web Services account ID that owns the resource.

+ */ + inline void SetResourceOwnerAccount(const char* value) { m_resourceOwnerAccount.assign(value); } + + /** + *

Tye Amazon Web Services account ID that owns the resource.

+ */ + inline GetFindingV2Result& WithResourceOwnerAccount(const Aws::String& value) { SetResourceOwnerAccount(value); return *this;} + + /** + *

Tye Amazon Web Services account ID that owns the resource.

+ */ + inline GetFindingV2Result& WithResourceOwnerAccount(Aws::String&& value) { SetResourceOwnerAccount(std::move(value)); return *this;} + + /** + *

Tye Amazon Web Services account ID that owns the resource.

+ */ + inline GetFindingV2Result& WithResourceOwnerAccount(const char* value) { SetResourceOwnerAccount(value); return *this;} + + + /** + *

The status of the finding.

+ */ + inline const FindingStatus& GetStatus() const{ return m_status; } + + /** + *

The status of the finding.

+ */ + inline void SetStatus(const FindingStatus& value) { m_status = value; } + + /** + *

The status of the finding.

+ */ + inline void SetStatus(FindingStatus&& value) { m_status = std::move(value); } + + /** + *

The status of the finding.

+ */ + inline GetFindingV2Result& WithStatus(const FindingStatus& value) { SetStatus(value); return *this;} + + /** + *

The status of the finding.

+ */ + inline GetFindingV2Result& WithStatus(FindingStatus&& value) { SetStatus(std::move(value)); return *this;} + + + /** + *

The time at which the finding was updated.

+ */ + inline const Aws::Utils::DateTime& GetUpdatedAt() const{ return m_updatedAt; } + + /** + *

The time at which the finding was updated.

+ */ + inline void SetUpdatedAt(const Aws::Utils::DateTime& value) { m_updatedAt = value; } + + /** + *

The time at which the finding was updated.

+ */ + inline void SetUpdatedAt(Aws::Utils::DateTime&& value) { m_updatedAt = std::move(value); } + + /** + *

The time at which the finding was updated.

+ */ + inline GetFindingV2Result& WithUpdatedAt(const Aws::Utils::DateTime& value) { SetUpdatedAt(value); return *this;} + + /** + *

The time at which the finding was updated.

+ */ + inline GetFindingV2Result& WithUpdatedAt(Aws::Utils::DateTime&& value) { SetUpdatedAt(std::move(value)); return *this;} + + + /** + *

A localized message that explains the finding and provides guidance on how to + * address it.

+ */ + inline const Aws::Vector& GetFindingDetails() const{ return m_findingDetails; } + + /** + *

A localized message that explains the finding and provides guidance on how to + * address it.

+ */ + inline void SetFindingDetails(const Aws::Vector& value) { m_findingDetails = value; } + + /** + *

A localized message that explains the finding and provides guidance on how to + * address it.

+ */ + inline void SetFindingDetails(Aws::Vector&& value) { m_findingDetails = std::move(value); } + + /** + *

A localized message that explains the finding and provides guidance on how to + * address it.

+ */ + inline GetFindingV2Result& WithFindingDetails(const Aws::Vector& value) { SetFindingDetails(value); return *this;} + + /** + *

A localized message that explains the finding and provides guidance on how to + * address it.

+ */ + inline GetFindingV2Result& WithFindingDetails(Aws::Vector&& value) { SetFindingDetails(std::move(value)); return *this;} + + /** + *

A localized message that explains the finding and provides guidance on how to + * address it.

+ */ + inline GetFindingV2Result& AddFindingDetails(const FindingDetails& value) { m_findingDetails.push_back(value); return *this; } + + /** + *

A localized message that explains the finding and provides guidance on how to + * address it.

+ */ + inline GetFindingV2Result& AddFindingDetails(FindingDetails&& value) { m_findingDetails.push_back(std::move(value)); return *this; } + + + /** + *

The type of the finding. For external access analyzers, the type is + * ExternalAccess. For unused access analyzers, the type can be + * UnusedIAMRole, UnusedIAMUserAccessKey, + * UnusedIAMUserPassword, or UnusedPermission.

+ */ + inline const FindingType& GetFindingType() const{ return m_findingType; } + + /** + *

The type of the finding. For external access analyzers, the type is + * ExternalAccess. For unused access analyzers, the type can be + * UnusedIAMRole, UnusedIAMUserAccessKey, + * UnusedIAMUserPassword, or UnusedPermission.

+ */ + inline void SetFindingType(const FindingType& value) { m_findingType = value; } + + /** + *

The type of the finding. For external access analyzers, the type is + * ExternalAccess. For unused access analyzers, the type can be + * UnusedIAMRole, UnusedIAMUserAccessKey, + * UnusedIAMUserPassword, or UnusedPermission.

+ */ + inline void SetFindingType(FindingType&& value) { m_findingType = std::move(value); } + + /** + *

The type of the finding. For external access analyzers, the type is + * ExternalAccess. For unused access analyzers, the type can be + * UnusedIAMRole, UnusedIAMUserAccessKey, + * UnusedIAMUserPassword, or UnusedPermission.

+ */ + inline GetFindingV2Result& WithFindingType(const FindingType& value) { SetFindingType(value); return *this;} + + /** + *

The type of the finding. For external access analyzers, the type is + * ExternalAccess. For unused access analyzers, the type can be + * UnusedIAMRole, UnusedIAMUserAccessKey, + * UnusedIAMUserPassword, or UnusedPermission.

+ */ + inline GetFindingV2Result& WithFindingType(FindingType&& value) { SetFindingType(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 GetFindingV2Result& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline GetFindingV2Result& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline GetFindingV2Result& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::Utils::DateTime m_analyzedAt; + + Aws::Utils::DateTime m_createdAt; + + Aws::String m_error; + + Aws::String m_id; + + Aws::String m_nextToken; + + Aws::String m_resource; + + ResourceType m_resourceType; + + Aws::String m_resourceOwnerAccount; + + FindingStatus m_status; + + Aws::Utils::DateTime m_updatedAt; + + Aws::Vector m_findingDetails; + + FindingType m_findingType; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace AccessAnalyzer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/ListFindingsV2Request.h b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/ListFindingsV2Request.h new file mode 100644 index 00000000000..dfd835a5bf8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/ListFindingsV2Request.h @@ -0,0 +1,256 @@ +/** + * 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 AccessAnalyzer +{ +namespace Model +{ + + /** + */ + class ListFindingsV2Request : public AccessAnalyzerRequest + { + public: + AWS_ACCESSANALYZER_API ListFindingsV2Request(); + + // 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 "ListFindingsV2"; } + + AWS_ACCESSANALYZER_API Aws::String SerializePayload() const override; + + + /** + *

The ARN + * of the analyzer to retrieve findings from.

+ */ + inline const Aws::String& GetAnalyzerArn() const{ return m_analyzerArn; } + + /** + *

The ARN + * of the analyzer to retrieve findings from.

+ */ + inline bool AnalyzerArnHasBeenSet() const { return m_analyzerArnHasBeenSet; } + + /** + *

The ARN + * of the analyzer to retrieve findings from.

+ */ + inline void SetAnalyzerArn(const Aws::String& value) { m_analyzerArnHasBeenSet = true; m_analyzerArn = value; } + + /** + *

The ARN + * of the analyzer to retrieve findings from.

+ */ + inline void SetAnalyzerArn(Aws::String&& value) { m_analyzerArnHasBeenSet = true; m_analyzerArn = std::move(value); } + + /** + *

The ARN + * of the analyzer to retrieve findings from.

+ */ + inline void SetAnalyzerArn(const char* value) { m_analyzerArnHasBeenSet = true; m_analyzerArn.assign(value); } + + /** + *

The ARN + * of the analyzer to retrieve findings from.

+ */ + inline ListFindingsV2Request& WithAnalyzerArn(const Aws::String& value) { SetAnalyzerArn(value); return *this;} + + /** + *

The ARN + * of the analyzer to retrieve findings from.

+ */ + inline ListFindingsV2Request& WithAnalyzerArn(Aws::String&& value) { SetAnalyzerArn(std::move(value)); return *this;} + + /** + *

The ARN + * of the analyzer to retrieve findings from.

+ */ + inline ListFindingsV2Request& WithAnalyzerArn(const char* value) { SetAnalyzerArn(value); return *this;} + + + /** + *

A filter to match for the findings to return.

+ */ + inline const Aws::Map& GetFilter() const{ return m_filter; } + + /** + *

A filter to match for the findings to return.

+ */ + inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; } + + /** + *

A filter to match for the findings to return.

+ */ + inline void SetFilter(const Aws::Map& value) { m_filterHasBeenSet = true; m_filter = value; } + + /** + *

A filter to match for the findings to return.

+ */ + inline void SetFilter(Aws::Map&& value) { m_filterHasBeenSet = true; m_filter = std::move(value); } + + /** + *

A filter to match for the findings to return.

+ */ + inline ListFindingsV2Request& WithFilter(const Aws::Map& value) { SetFilter(value); return *this;} + + /** + *

A filter to match for the findings to return.

+ */ + inline ListFindingsV2Request& WithFilter(Aws::Map&& value) { SetFilter(std::move(value)); return *this;} + + /** + *

A filter to match for the findings to return.

+ */ + inline ListFindingsV2Request& AddFilter(const Aws::String& key, const Criterion& value) { m_filterHasBeenSet = true; m_filter.emplace(key, value); return *this; } + + /** + *

A filter to match for the findings to return.

+ */ + inline ListFindingsV2Request& AddFilter(Aws::String&& key, const Criterion& value) { m_filterHasBeenSet = true; m_filter.emplace(std::move(key), value); return *this; } + + /** + *

A filter to match for the findings to return.

+ */ + inline ListFindingsV2Request& AddFilter(const Aws::String& key, Criterion&& value) { m_filterHasBeenSet = true; m_filter.emplace(key, std::move(value)); return *this; } + + /** + *

A filter to match for the findings to return.

+ */ + inline ListFindingsV2Request& AddFilter(Aws::String&& key, Criterion&& value) { m_filterHasBeenSet = true; m_filter.emplace(std::move(key), std::move(value)); return *this; } + + /** + *

A filter to match for the findings to return.

+ */ + inline ListFindingsV2Request& AddFilter(const char* key, Criterion&& value) { m_filterHasBeenSet = true; m_filter.emplace(key, std::move(value)); return *this; } + + /** + *

A filter to match for the findings to return.

+ */ + inline ListFindingsV2Request& AddFilter(const char* key, const Criterion& value) { m_filterHasBeenSet = true; m_filter.emplace(key, value); return *this; } + + + /** + *

The maximum number of results to return in the response.

+ */ + inline int GetMaxResults() const{ return m_maxResults; } + + /** + *

The maximum number of results to return in the response.

+ */ + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + + /** + *

The maximum number of results to return in the response.

+ */ + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + + /** + *

The maximum number of results to return in the response.

+ */ + inline ListFindingsV2Request& WithMaxResults(int value) { SetMaxResults(value); return *this;} + + + /** + *

A token used for pagination of results returned.

+ */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + + /** + *

A token used for pagination of results returned.

+ */ + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + + /** + *

A token used for pagination of results returned.

+ */ + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + + /** + *

A token used for pagination of results returned.

+ */ + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + + /** + *

A token used for pagination of results returned.

+ */ + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + + /** + *

A token used for pagination of results returned.

+ */ + inline ListFindingsV2Request& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + + /** + *

A token used for pagination of results returned.

+ */ + inline ListFindingsV2Request& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + + /** + *

A token used for pagination of results returned.

+ */ + inline ListFindingsV2Request& WithNextToken(const char* value) { SetNextToken(value); return *this;} + + + + inline const SortCriteria& GetSort() const{ return m_sort; } + + + inline bool SortHasBeenSet() const { return m_sortHasBeenSet; } + + + inline void SetSort(const SortCriteria& value) { m_sortHasBeenSet = true; m_sort = value; } + + + inline void SetSort(SortCriteria&& value) { m_sortHasBeenSet = true; m_sort = std::move(value); } + + + inline ListFindingsV2Request& WithSort(const SortCriteria& value) { SetSort(value); return *this;} + + + inline ListFindingsV2Request& WithSort(SortCriteria&& value) { SetSort(std::move(value)); return *this;} + + private: + + Aws::String m_analyzerArn; + bool m_analyzerArnHasBeenSet = false; + + Aws::Map m_filter; + bool m_filterHasBeenSet = false; + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + SortCriteria m_sort; + bool m_sortHasBeenSet = false; + }; + +} // namespace Model +} // namespace AccessAnalyzer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/ListFindingsV2Result.h b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/ListFindingsV2Result.h new file mode 100644 index 00000000000..2f0fee042bf --- /dev/null +++ b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/ListFindingsV2Result.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 +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace AccessAnalyzer +{ +namespace Model +{ + class ListFindingsV2Result + { + public: + AWS_ACCESSANALYZER_API ListFindingsV2Result(); + AWS_ACCESSANALYZER_API ListFindingsV2Result(const Aws::AmazonWebServiceResult& result); + AWS_ACCESSANALYZER_API ListFindingsV2Result& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

A list of findings retrieved from the analyzer that match the filter criteria + * specified, if any.

+ */ + inline const Aws::Vector& GetFindings() const{ return m_findings; } + + /** + *

A list of findings retrieved from the analyzer that match the filter criteria + * specified, if any.

+ */ + inline void SetFindings(const Aws::Vector& value) { m_findings = value; } + + /** + *

A list of findings retrieved from the analyzer that match the filter criteria + * specified, if any.

+ */ + inline void SetFindings(Aws::Vector&& value) { m_findings = std::move(value); } + + /** + *

A list of findings retrieved from the analyzer that match the filter criteria + * specified, if any.

+ */ + inline ListFindingsV2Result& WithFindings(const Aws::Vector& value) { SetFindings(value); return *this;} + + /** + *

A list of findings retrieved from the analyzer that match the filter criteria + * specified, if any.

+ */ + inline ListFindingsV2Result& WithFindings(Aws::Vector&& value) { SetFindings(std::move(value)); return *this;} + + /** + *

A list of findings retrieved from the analyzer that match the filter criteria + * specified, if any.

+ */ + inline ListFindingsV2Result& AddFindings(const FindingSummaryV2& value) { m_findings.push_back(value); return *this; } + + /** + *

A list of findings retrieved from the analyzer that match the filter criteria + * specified, if any.

+ */ + inline ListFindingsV2Result& AddFindings(FindingSummaryV2&& value) { m_findings.push_back(std::move(value)); return *this; } + + + /** + *

A token used for pagination of results returned.

+ */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + + /** + *

A token used for pagination of results returned.

+ */ + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + + /** + *

A token used for pagination of results returned.

+ */ + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + + /** + *

A token used for pagination of results returned.

+ */ + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + + /** + *

A token used for pagination of results returned.

+ */ + inline ListFindingsV2Result& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + + /** + *

A token used for pagination of results returned.

+ */ + inline ListFindingsV2Result& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + + /** + *

A token used for pagination of results returned.

+ */ + inline ListFindingsV2Result& 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 ListFindingsV2Result& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline ListFindingsV2Result& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline ListFindingsV2Result& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::Vector m_findings; + + Aws::String m_nextToken; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace AccessAnalyzer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/ReasonSummary.h b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/ReasonSummary.h new file mode 100644 index 00000000000..ad7ae68dfd6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/ReasonSummary.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 + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace AccessAnalyzer +{ +namespace Model +{ + + /** + *

Contains information about the reasoning why a check for access passed or + * failed.

See Also:

AWS + * API Reference

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

A description of the reasoning of a result of checking for access.

+ */ + inline const Aws::String& GetDescription() const{ return m_description; } + + /** + *

A description of the reasoning of a result of checking for access.

+ */ + inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } + + /** + *

A description of the reasoning of a result of checking for access.

+ */ + inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } + + /** + *

A description of the reasoning of a result of checking for access.

+ */ + inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } + + /** + *

A description of the reasoning of a result of checking for access.

+ */ + inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } + + /** + *

A description of the reasoning of a result of checking for access.

+ */ + inline ReasonSummary& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} + + /** + *

A description of the reasoning of a result of checking for access.

+ */ + inline ReasonSummary& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} + + /** + *

A description of the reasoning of a result of checking for access.

+ */ + inline ReasonSummary& WithDescription(const char* value) { SetDescription(value); return *this;} + + + /** + *

The index number of the reason statement.

+ */ + inline int GetStatementIndex() const{ return m_statementIndex; } + + /** + *

The index number of the reason statement.

+ */ + inline bool StatementIndexHasBeenSet() const { return m_statementIndexHasBeenSet; } + + /** + *

The index number of the reason statement.

+ */ + inline void SetStatementIndex(int value) { m_statementIndexHasBeenSet = true; m_statementIndex = value; } + + /** + *

The index number of the reason statement.

+ */ + inline ReasonSummary& WithStatementIndex(int value) { SetStatementIndex(value); return *this;} + + + /** + *

The identifier for the reason statement.

+ */ + inline const Aws::String& GetStatementId() const{ return m_statementId; } + + /** + *

The identifier for the reason statement.

+ */ + inline bool StatementIdHasBeenSet() const { return m_statementIdHasBeenSet; } + + /** + *

The identifier for the reason statement.

+ */ + inline void SetStatementId(const Aws::String& value) { m_statementIdHasBeenSet = true; m_statementId = value; } + + /** + *

The identifier for the reason statement.

+ */ + inline void SetStatementId(Aws::String&& value) { m_statementIdHasBeenSet = true; m_statementId = std::move(value); } + + /** + *

The identifier for the reason statement.

+ */ + inline void SetStatementId(const char* value) { m_statementIdHasBeenSet = true; m_statementId.assign(value); } + + /** + *

The identifier for the reason statement.

+ */ + inline ReasonSummary& WithStatementId(const Aws::String& value) { SetStatementId(value); return *this;} + + /** + *

The identifier for the reason statement.

+ */ + inline ReasonSummary& WithStatementId(Aws::String&& value) { SetStatementId(std::move(value)); return *this;} + + /** + *

The identifier for the reason statement.

+ */ + inline ReasonSummary& WithStatementId(const char* value) { SetStatementId(value); return *this;} + + private: + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + int m_statementIndex; + bool m_statementIndexHasBeenSet = false; + + Aws::String m_statementId; + bool m_statementIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace AccessAnalyzer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/Type.h b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/Type.h index ee57f8a1f8a..4e1a6481a1d 100644 --- a/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/Type.h +++ b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/Type.h @@ -17,7 +17,9 @@ namespace Model { NOT_SET, ACCOUNT, - ORGANIZATION + ORGANIZATION, + ACCOUNT_UNUSED_ACCESS, + ORGANIZATION_UNUSED_ACCESS }; namespace TypeMapper diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/UnusedAccessConfiguration.h b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/UnusedAccessConfiguration.h new file mode 100644 index 00000000000..2313e68429d --- /dev/null +++ b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/UnusedAccessConfiguration.h @@ -0,0 +1,83 @@ +/** + * 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 AccessAnalyzer +{ +namespace Model +{ + + /** + *

Contains information about an unused access analyzer.

See + * Also:

AWS + * API Reference

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

The specified access age in days for which to generate findings for unused + * access. For example, if you specify 90 days, the analyzer will generate findings + * for IAM entities within the accounts of the selected organization for any access + * that hasn't been used in 90 or more days since the analyzer's last scan. You can + * choose a value between 1 and 180 days.

+ */ + inline int GetUnusedAccessAge() const{ return m_unusedAccessAge; } + + /** + *

The specified access age in days for which to generate findings for unused + * access. For example, if you specify 90 days, the analyzer will generate findings + * for IAM entities within the accounts of the selected organization for any access + * that hasn't been used in 90 or more days since the analyzer's last scan. You can + * choose a value between 1 and 180 days.

+ */ + inline bool UnusedAccessAgeHasBeenSet() const { return m_unusedAccessAgeHasBeenSet; } + + /** + *

The specified access age in days for which to generate findings for unused + * access. For example, if you specify 90 days, the analyzer will generate findings + * for IAM entities within the accounts of the selected organization for any access + * that hasn't been used in 90 or more days since the analyzer's last scan. You can + * choose a value between 1 and 180 days.

+ */ + inline void SetUnusedAccessAge(int value) { m_unusedAccessAgeHasBeenSet = true; m_unusedAccessAge = value; } + + /** + *

The specified access age in days for which to generate findings for unused + * access. For example, if you specify 90 days, the analyzer will generate findings + * for IAM entities within the accounts of the selected organization for any access + * that hasn't been used in 90 or more days since the analyzer's last scan. You can + * choose a value between 1 and 180 days.

+ */ + inline UnusedAccessConfiguration& WithUnusedAccessAge(int value) { SetUnusedAccessAge(value); return *this;} + + private: + + int m_unusedAccessAge; + bool m_unusedAccessAgeHasBeenSet = false; + }; + +} // namespace Model +} // namespace AccessAnalyzer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/UnusedAction.h b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/UnusedAction.h new file mode 100644 index 00000000000..99b090f532c --- /dev/null +++ b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/UnusedAction.h @@ -0,0 +1,127 @@ +/** + * 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 AccessAnalyzer +{ +namespace Model +{ + + /** + *

Contains information about an unused access finding for an action. IAM Access + * Analyzer charges for unused access analysis based on the number of IAM roles and + * users analyzed per month. For more details on pricing, see IAM Access Analyzer + * pricing.

See Also:

AWS + * API Reference

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

The action for which the unused access finding was generated.

+ */ + inline const Aws::String& GetAction() const{ return m_action; } + + /** + *

The action for which the unused access finding was generated.

+ */ + inline bool ActionHasBeenSet() const { return m_actionHasBeenSet; } + + /** + *

The action for which the unused access finding was generated.

+ */ + inline void SetAction(const Aws::String& value) { m_actionHasBeenSet = true; m_action = value; } + + /** + *

The action for which the unused access finding was generated.

+ */ + inline void SetAction(Aws::String&& value) { m_actionHasBeenSet = true; m_action = std::move(value); } + + /** + *

The action for which the unused access finding was generated.

+ */ + inline void SetAction(const char* value) { m_actionHasBeenSet = true; m_action.assign(value); } + + /** + *

The action for which the unused access finding was generated.

+ */ + inline UnusedAction& WithAction(const Aws::String& value) { SetAction(value); return *this;} + + /** + *

The action for which the unused access finding was generated.

+ */ + inline UnusedAction& WithAction(Aws::String&& value) { SetAction(std::move(value)); return *this;} + + /** + *

The action for which the unused access finding was generated.

+ */ + inline UnusedAction& WithAction(const char* value) { SetAction(value); return *this;} + + + /** + *

The time at which the action was last accessed.

+ */ + inline const Aws::Utils::DateTime& GetLastAccessed() const{ return m_lastAccessed; } + + /** + *

The time at which the action was last accessed.

+ */ + inline bool LastAccessedHasBeenSet() const { return m_lastAccessedHasBeenSet; } + + /** + *

The time at which the action was last accessed.

+ */ + inline void SetLastAccessed(const Aws::Utils::DateTime& value) { m_lastAccessedHasBeenSet = true; m_lastAccessed = value; } + + /** + *

The time at which the action was last accessed.

+ */ + inline void SetLastAccessed(Aws::Utils::DateTime&& value) { m_lastAccessedHasBeenSet = true; m_lastAccessed = std::move(value); } + + /** + *

The time at which the action was last accessed.

+ */ + inline UnusedAction& WithLastAccessed(const Aws::Utils::DateTime& value) { SetLastAccessed(value); return *this;} + + /** + *

The time at which the action was last accessed.

+ */ + inline UnusedAction& WithLastAccessed(Aws::Utils::DateTime&& value) { SetLastAccessed(std::move(value)); return *this;} + + private: + + Aws::String m_action; + bool m_actionHasBeenSet = false; + + Aws::Utils::DateTime m_lastAccessed; + bool m_lastAccessedHasBeenSet = false; + }; + +} // namespace Model +} // namespace AccessAnalyzer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/UnusedIamRoleDetails.h b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/UnusedIamRoleDetails.h new file mode 100644 index 00000000000..b6664743f0d --- /dev/null +++ b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/UnusedIamRoleDetails.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 +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace AccessAnalyzer +{ +namespace Model +{ + + /** + *

Contains information about an unused access finding for an IAM role. IAM + * Access Analyzer charges for unused access analysis based on the number of IAM + * roles and users analyzed per month. For more details on pricing, see IAM Access Analyzer + * pricing.

See Also:

AWS + * API Reference

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

The time at which the role was last accessed.

+ */ + inline const Aws::Utils::DateTime& GetLastAccessed() const{ return m_lastAccessed; } + + /** + *

The time at which the role was last accessed.

+ */ + inline bool LastAccessedHasBeenSet() const { return m_lastAccessedHasBeenSet; } + + /** + *

The time at which the role was last accessed.

+ */ + inline void SetLastAccessed(const Aws::Utils::DateTime& value) { m_lastAccessedHasBeenSet = true; m_lastAccessed = value; } + + /** + *

The time at which the role was last accessed.

+ */ + inline void SetLastAccessed(Aws::Utils::DateTime&& value) { m_lastAccessedHasBeenSet = true; m_lastAccessed = std::move(value); } + + /** + *

The time at which the role was last accessed.

+ */ + inline UnusedIamRoleDetails& WithLastAccessed(const Aws::Utils::DateTime& value) { SetLastAccessed(value); return *this;} + + /** + *

The time at which the role was last accessed.

+ */ + inline UnusedIamRoleDetails& WithLastAccessed(Aws::Utils::DateTime&& value) { SetLastAccessed(std::move(value)); return *this;} + + private: + + Aws::Utils::DateTime m_lastAccessed; + bool m_lastAccessedHasBeenSet = false; + }; + +} // namespace Model +} // namespace AccessAnalyzer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/UnusedIamUserAccessKeyDetails.h b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/UnusedIamUserAccessKeyDetails.h new file mode 100644 index 00000000000..432adcbb743 --- /dev/null +++ b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/UnusedIamUserAccessKeyDetails.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 + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace AccessAnalyzer +{ +namespace Model +{ + + /** + *

Contains information about an unused access finding for an IAM user access + * key. IAM Access Analyzer charges for unused access analysis based on the number + * of IAM roles and users analyzed per month. For more details on pricing, see IAM Access Analyzer + * pricing.

See Also:

AWS + * API Reference

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

The ID of the access key for which the unused access finding was + * generated.

+ */ + inline const Aws::String& GetAccessKeyId() const{ return m_accessKeyId; } + + /** + *

The ID of the access key for which the unused access finding was + * generated.

+ */ + inline bool AccessKeyIdHasBeenSet() const { return m_accessKeyIdHasBeenSet; } + + /** + *

The ID of the access key for which the unused access finding was + * generated.

+ */ + inline void SetAccessKeyId(const Aws::String& value) { m_accessKeyIdHasBeenSet = true; m_accessKeyId = value; } + + /** + *

The ID of the access key for which the unused access finding was + * generated.

+ */ + inline void SetAccessKeyId(Aws::String&& value) { m_accessKeyIdHasBeenSet = true; m_accessKeyId = std::move(value); } + + /** + *

The ID of the access key for which the unused access finding was + * generated.

+ */ + inline void SetAccessKeyId(const char* value) { m_accessKeyIdHasBeenSet = true; m_accessKeyId.assign(value); } + + /** + *

The ID of the access key for which the unused access finding was + * generated.

+ */ + inline UnusedIamUserAccessKeyDetails& WithAccessKeyId(const Aws::String& value) { SetAccessKeyId(value); return *this;} + + /** + *

The ID of the access key for which the unused access finding was + * generated.

+ */ + inline UnusedIamUserAccessKeyDetails& WithAccessKeyId(Aws::String&& value) { SetAccessKeyId(std::move(value)); return *this;} + + /** + *

The ID of the access key for which the unused access finding was + * generated.

+ */ + inline UnusedIamUserAccessKeyDetails& WithAccessKeyId(const char* value) { SetAccessKeyId(value); return *this;} + + + /** + *

The time at which the access key was last accessed.

+ */ + inline const Aws::Utils::DateTime& GetLastAccessed() const{ return m_lastAccessed; } + + /** + *

The time at which the access key was last accessed.

+ */ + inline bool LastAccessedHasBeenSet() const { return m_lastAccessedHasBeenSet; } + + /** + *

The time at which the access key was last accessed.

+ */ + inline void SetLastAccessed(const Aws::Utils::DateTime& value) { m_lastAccessedHasBeenSet = true; m_lastAccessed = value; } + + /** + *

The time at which the access key was last accessed.

+ */ + inline void SetLastAccessed(Aws::Utils::DateTime&& value) { m_lastAccessedHasBeenSet = true; m_lastAccessed = std::move(value); } + + /** + *

The time at which the access key was last accessed.

+ */ + inline UnusedIamUserAccessKeyDetails& WithLastAccessed(const Aws::Utils::DateTime& value) { SetLastAccessed(value); return *this;} + + /** + *

The time at which the access key was last accessed.

+ */ + inline UnusedIamUserAccessKeyDetails& WithLastAccessed(Aws::Utils::DateTime&& value) { SetLastAccessed(std::move(value)); return *this;} + + private: + + Aws::String m_accessKeyId; + bool m_accessKeyIdHasBeenSet = false; + + Aws::Utils::DateTime m_lastAccessed; + bool m_lastAccessedHasBeenSet = false; + }; + +} // namespace Model +} // namespace AccessAnalyzer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/UnusedIamUserPasswordDetails.h b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/UnusedIamUserPasswordDetails.h new file mode 100644 index 00000000000..a808b791c92 --- /dev/null +++ b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/UnusedIamUserPasswordDetails.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 +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace AccessAnalyzer +{ +namespace Model +{ + + /** + *

Contains information about an unused access finding for an IAM user password. + * IAM Access Analyzer charges for unused access analysis based on the number of + * IAM roles and users analyzed per month. For more details on pricing, see IAM Access Analyzer + * pricing.

See Also:

AWS + * API Reference

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

The time at which the password was last accessed.

+ */ + inline const Aws::Utils::DateTime& GetLastAccessed() const{ return m_lastAccessed; } + + /** + *

The time at which the password was last accessed.

+ */ + inline bool LastAccessedHasBeenSet() const { return m_lastAccessedHasBeenSet; } + + /** + *

The time at which the password was last accessed.

+ */ + inline void SetLastAccessed(const Aws::Utils::DateTime& value) { m_lastAccessedHasBeenSet = true; m_lastAccessed = value; } + + /** + *

The time at which the password was last accessed.

+ */ + inline void SetLastAccessed(Aws::Utils::DateTime&& value) { m_lastAccessedHasBeenSet = true; m_lastAccessed = std::move(value); } + + /** + *

The time at which the password was last accessed.

+ */ + inline UnusedIamUserPasswordDetails& WithLastAccessed(const Aws::Utils::DateTime& value) { SetLastAccessed(value); return *this;} + + /** + *

The time at which the password was last accessed.

+ */ + inline UnusedIamUserPasswordDetails& WithLastAccessed(Aws::Utils::DateTime&& value) { SetLastAccessed(std::move(value)); return *this;} + + private: + + Aws::Utils::DateTime m_lastAccessed; + bool m_lastAccessedHasBeenSet = false; + }; + +} // namespace Model +} // namespace AccessAnalyzer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/UnusedPermissionDetails.h b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/UnusedPermissionDetails.h new file mode 100644 index 00000000000..c91acc4655e --- /dev/null +++ b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/UnusedPermissionDetails.h @@ -0,0 +1,189 @@ +/** + * 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 AccessAnalyzer +{ +namespace Model +{ + + /** + *

Contains information about an unused access finding for a permission. IAM + * Access Analyzer charges for unused access analysis based on the number of IAM + * roles and users analyzed per month. For more details on pricing, see IAM Access Analyzer + * pricing.

See Also:

AWS + * API Reference

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

A list of unused actions for which the unused access finding was + * generated.

+ */ + inline const Aws::Vector& GetActions() const{ return m_actions; } + + /** + *

A list of unused actions for which the unused access finding was + * generated.

+ */ + inline bool ActionsHasBeenSet() const { return m_actionsHasBeenSet; } + + /** + *

A list of unused actions for which the unused access finding was + * generated.

+ */ + inline void SetActions(const Aws::Vector& value) { m_actionsHasBeenSet = true; m_actions = value; } + + /** + *

A list of unused actions for which the unused access finding was + * generated.

+ */ + inline void SetActions(Aws::Vector&& value) { m_actionsHasBeenSet = true; m_actions = std::move(value); } + + /** + *

A list of unused actions for which the unused access finding was + * generated.

+ */ + inline UnusedPermissionDetails& WithActions(const Aws::Vector& value) { SetActions(value); return *this;} + + /** + *

A list of unused actions for which the unused access finding was + * generated.

+ */ + inline UnusedPermissionDetails& WithActions(Aws::Vector&& value) { SetActions(std::move(value)); return *this;} + + /** + *

A list of unused actions for which the unused access finding was + * generated.

+ */ + inline UnusedPermissionDetails& AddActions(const UnusedAction& value) { m_actionsHasBeenSet = true; m_actions.push_back(value); return *this; } + + /** + *

A list of unused actions for which the unused access finding was + * generated.

+ */ + inline UnusedPermissionDetails& AddActions(UnusedAction&& value) { m_actionsHasBeenSet = true; m_actions.push_back(std::move(value)); return *this; } + + + /** + *

The namespace of the Amazon Web Services service that contains the unused + * actions.

+ */ + inline const Aws::String& GetServiceNamespace() const{ return m_serviceNamespace; } + + /** + *

The namespace of the Amazon Web Services service that contains the unused + * actions.

+ */ + inline bool ServiceNamespaceHasBeenSet() const { return m_serviceNamespaceHasBeenSet; } + + /** + *

The namespace of the Amazon Web Services service that contains the unused + * actions.

+ */ + inline void SetServiceNamespace(const Aws::String& value) { m_serviceNamespaceHasBeenSet = true; m_serviceNamespace = value; } + + /** + *

The namespace of the Amazon Web Services service that contains the unused + * actions.

+ */ + inline void SetServiceNamespace(Aws::String&& value) { m_serviceNamespaceHasBeenSet = true; m_serviceNamespace = std::move(value); } + + /** + *

The namespace of the Amazon Web Services service that contains the unused + * actions.

+ */ + inline void SetServiceNamespace(const char* value) { m_serviceNamespaceHasBeenSet = true; m_serviceNamespace.assign(value); } + + /** + *

The namespace of the Amazon Web Services service that contains the unused + * actions.

+ */ + inline UnusedPermissionDetails& WithServiceNamespace(const Aws::String& value) { SetServiceNamespace(value); return *this;} + + /** + *

The namespace of the Amazon Web Services service that contains the unused + * actions.

+ */ + inline UnusedPermissionDetails& WithServiceNamespace(Aws::String&& value) { SetServiceNamespace(std::move(value)); return *this;} + + /** + *

The namespace of the Amazon Web Services service that contains the unused + * actions.

+ */ + inline UnusedPermissionDetails& WithServiceNamespace(const char* value) { SetServiceNamespace(value); return *this;} + + + /** + *

The time at which the permission last accessed.

+ */ + inline const Aws::Utils::DateTime& GetLastAccessed() const{ return m_lastAccessed; } + + /** + *

The time at which the permission last accessed.

+ */ + inline bool LastAccessedHasBeenSet() const { return m_lastAccessedHasBeenSet; } + + /** + *

The time at which the permission last accessed.

+ */ + inline void SetLastAccessed(const Aws::Utils::DateTime& value) { m_lastAccessedHasBeenSet = true; m_lastAccessed = value; } + + /** + *

The time at which the permission last accessed.

+ */ + inline void SetLastAccessed(Aws::Utils::DateTime&& value) { m_lastAccessedHasBeenSet = true; m_lastAccessed = std::move(value); } + + /** + *

The time at which the permission last accessed.

+ */ + inline UnusedPermissionDetails& WithLastAccessed(const Aws::Utils::DateTime& value) { SetLastAccessed(value); return *this;} + + /** + *

The time at which the permission last accessed.

+ */ + inline UnusedPermissionDetails& WithLastAccessed(Aws::Utils::DateTime&& value) { SetLastAccessed(std::move(value)); return *this;} + + private: + + Aws::Vector m_actions; + bool m_actionsHasBeenSet = false; + + Aws::String m_serviceNamespace; + bool m_serviceNamespaceHasBeenSet = false; + + Aws::Utils::DateTime m_lastAccessed; + bool m_lastAccessedHasBeenSet = false; + }; + +} // namespace Model +} // namespace AccessAnalyzer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/ValidatePolicyRequest.h b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/ValidatePolicyRequest.h index 7ff9808b0a7..b35c87fef3e 100644 --- a/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/ValidatePolicyRequest.h +++ b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/ValidatePolicyRequest.h @@ -178,78 +178,78 @@ namespace Model /** *

The type of policy to validate. Identity policies grant permissions to IAM * principals. Identity policies include managed and inline policies for IAM roles, - * users, and groups. They also include service-control policies (SCPs) that are - * attached to an Amazon Web Services organization, organizational unit (OU), or an - * account.

Resource policies grant permissions on Amazon Web Services - * resources. Resource policies include trust policies for IAM roles and bucket - * policies for Amazon S3 buckets. You can provide a generic input such as identity - * policy or resource policy or a specific input such as managed policy or Amazon - * S3 bucket policy.

+ * users, and groups.

Resource policies grant permissions on Amazon Web + * Services resources. Resource policies include trust policies for IAM roles and + * bucket policies for Amazon S3 buckets. You can provide a generic input such as + * identity policy or resource policy or a specific input such as managed policy or + * Amazon S3 bucket policy.

Service control policies (SCPs) are a type of + * organization policy attached to an Amazon Web Services organization, + * organizational unit (OU), or an account.

*/ inline const PolicyType& GetPolicyType() const{ return m_policyType; } /** *

The type of policy to validate. Identity policies grant permissions to IAM * principals. Identity policies include managed and inline policies for IAM roles, - * users, and groups. They also include service-control policies (SCPs) that are - * attached to an Amazon Web Services organization, organizational unit (OU), or an - * account.

Resource policies grant permissions on Amazon Web Services - * resources. Resource policies include trust policies for IAM roles and bucket - * policies for Amazon S3 buckets. You can provide a generic input such as identity - * policy or resource policy or a specific input such as managed policy or Amazon - * S3 bucket policy.

+ * users, and groups.

Resource policies grant permissions on Amazon Web + * Services resources. Resource policies include trust policies for IAM roles and + * bucket policies for Amazon S3 buckets. You can provide a generic input such as + * identity policy or resource policy or a specific input such as managed policy or + * Amazon S3 bucket policy.

Service control policies (SCPs) are a type of + * organization policy attached to an Amazon Web Services organization, + * organizational unit (OU), or an account.

*/ inline bool PolicyTypeHasBeenSet() const { return m_policyTypeHasBeenSet; } /** *

The type of policy to validate. Identity policies grant permissions to IAM * principals. Identity policies include managed and inline policies for IAM roles, - * users, and groups. They also include service-control policies (SCPs) that are - * attached to an Amazon Web Services organization, organizational unit (OU), or an - * account.

Resource policies grant permissions on Amazon Web Services - * resources. Resource policies include trust policies for IAM roles and bucket - * policies for Amazon S3 buckets. You can provide a generic input such as identity - * policy or resource policy or a specific input such as managed policy or Amazon - * S3 bucket policy.

+ * users, and groups.

Resource policies grant permissions on Amazon Web + * Services resources. Resource policies include trust policies for IAM roles and + * bucket policies for Amazon S3 buckets. You can provide a generic input such as + * identity policy or resource policy or a specific input such as managed policy or + * Amazon S3 bucket policy.

Service control policies (SCPs) are a type of + * organization policy attached to an Amazon Web Services organization, + * organizational unit (OU), or an account.

*/ inline void SetPolicyType(const PolicyType& value) { m_policyTypeHasBeenSet = true; m_policyType = value; } /** *

The type of policy to validate. Identity policies grant permissions to IAM * principals. Identity policies include managed and inline policies for IAM roles, - * users, and groups. They also include service-control policies (SCPs) that are - * attached to an Amazon Web Services organization, organizational unit (OU), or an - * account.

Resource policies grant permissions on Amazon Web Services - * resources. Resource policies include trust policies for IAM roles and bucket - * policies for Amazon S3 buckets. You can provide a generic input such as identity - * policy or resource policy or a specific input such as managed policy or Amazon - * S3 bucket policy.

+ * users, and groups.

Resource policies grant permissions on Amazon Web + * Services resources. Resource policies include trust policies for IAM roles and + * bucket policies for Amazon S3 buckets. You can provide a generic input such as + * identity policy or resource policy or a specific input such as managed policy or + * Amazon S3 bucket policy.

Service control policies (SCPs) are a type of + * organization policy attached to an Amazon Web Services organization, + * organizational unit (OU), or an account.

*/ inline void SetPolicyType(PolicyType&& value) { m_policyTypeHasBeenSet = true; m_policyType = std::move(value); } /** *

The type of policy to validate. Identity policies grant permissions to IAM * principals. Identity policies include managed and inline policies for IAM roles, - * users, and groups. They also include service-control policies (SCPs) that are - * attached to an Amazon Web Services organization, organizational unit (OU), or an - * account.

Resource policies grant permissions on Amazon Web Services - * resources. Resource policies include trust policies for IAM roles and bucket - * policies for Amazon S3 buckets. You can provide a generic input such as identity - * policy or resource policy or a specific input such as managed policy or Amazon - * S3 bucket policy.

+ * users, and groups.

Resource policies grant permissions on Amazon Web + * Services resources. Resource policies include trust policies for IAM roles and + * bucket policies for Amazon S3 buckets. You can provide a generic input such as + * identity policy or resource policy or a specific input such as managed policy or + * Amazon S3 bucket policy.

Service control policies (SCPs) are a type of + * organization policy attached to an Amazon Web Services organization, + * organizational unit (OU), or an account.

*/ inline ValidatePolicyRequest& WithPolicyType(const PolicyType& value) { SetPolicyType(value); return *this;} /** *

The type of policy to validate. Identity policies grant permissions to IAM * principals. Identity policies include managed and inline policies for IAM roles, - * users, and groups. They also include service-control policies (SCPs) that are - * attached to an Amazon Web Services organization, organizational unit (OU), or an - * account.

Resource policies grant permissions on Amazon Web Services - * resources. Resource policies include trust policies for IAM roles and bucket - * policies for Amazon S3 buckets. You can provide a generic input such as identity - * policy or resource policy or a specific input such as managed policy or Amazon - * S3 bucket policy.

+ * users, and groups.

Resource policies grant permissions on Amazon Web + * Services resources. Resource policies include trust policies for IAM roles and + * bucket policies for Amazon S3 buckets. You can provide a generic input such as + * identity policy or resource policy or a specific input such as managed policy or + * Amazon S3 bucket policy.

Service control policies (SCPs) are a type of + * organization policy attached to an Amazon Web Services organization, + * organizational unit (OU), or an account.

*/ inline ValidatePolicyRequest& WithPolicyType(PolicyType&& value) { SetPolicyType(std::move(value)); return *this;} diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/source/AccessAnalyzerClient.cpp b/generated/src/aws-cpp-sdk-accessanalyzer/source/AccessAnalyzerClient.cpp index 40337e4c3dd..d476dc4b008 100644 --- a/generated/src/aws-cpp-sdk-accessanalyzer/source/AccessAnalyzerClient.cpp +++ b/generated/src/aws-cpp-sdk-accessanalyzer/source/AccessAnalyzerClient.cpp @@ -23,6 +23,8 @@ #include #include #include +#include +#include #include #include #include @@ -33,6 +35,7 @@ #include #include #include +#include #include #include #include @@ -40,6 +43,7 @@ #include #include #include +#include #include #include #include @@ -242,6 +246,60 @@ CancelPolicyGenerationOutcome AccessAnalyzerClient::CancelPolicyGeneration(const {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +CheckAccessNotGrantedOutcome AccessAnalyzerClient::CheckAccessNotGranted(const CheckAccessNotGrantedRequest& request) const +{ + AWS_OPERATION_GUARD(CheckAccessNotGranted); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CheckAccessNotGranted, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, CheckAccessNotGranted, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CheckAccessNotGranted, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".CheckAccessNotGranted", + {{ 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( + [&]()-> CheckAccessNotGrantedOutcome { + 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, CheckAccessNotGranted, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/policy/check-access-not-granted"); + return CheckAccessNotGrantedOutcome(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()}}); +} + +CheckNoNewAccessOutcome AccessAnalyzerClient::CheckNoNewAccess(const CheckNoNewAccessRequest& request) const +{ + AWS_OPERATION_GUARD(CheckNoNewAccess); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CheckNoNewAccess, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, CheckNoNewAccess, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CheckNoNewAccess, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".CheckNoNewAccess", + {{ 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( + [&]()-> CheckNoNewAccessOutcome { + 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, CheckNoNewAccess, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/policy/check-no-new-access"); + return CheckNoNewAccessOutcome(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()}}); +} + CreateAccessPreviewOutcome AccessAnalyzerClient::CreateAccessPreview(const CreateAccessPreviewRequest& request) const { AWS_OPERATION_GUARD(CreateAccessPreview); @@ -589,6 +647,44 @@ GetFindingOutcome AccessAnalyzerClient::GetFinding(const GetFindingRequest& requ {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +GetFindingV2Outcome AccessAnalyzerClient::GetFindingV2(const GetFindingV2Request& request) const +{ + AWS_OPERATION_GUARD(GetFindingV2); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetFindingV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.AnalyzerArnHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetFindingV2", "Required field: AnalyzerArn, is not set"); + return GetFindingV2Outcome(Aws::Client::AWSError(AccessAnalyzerErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [AnalyzerArn]", false)); + } + if (!request.IdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetFindingV2", "Required field: Id, is not set"); + return GetFindingV2Outcome(Aws::Client::AWSError(AccessAnalyzerErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Id]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetFindingV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetFindingV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetFindingV2", + {{ 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( + [&]()-> GetFindingV2Outcome { + 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, GetFindingV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/findingv2/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetId()); + return GetFindingV2Outcome(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()}}); +} + GetGeneratedPolicyOutcome AccessAnalyzerClient::GetGeneratedPolicy(const GetGeneratedPolicyRequest& request) const { AWS_OPERATION_GUARD(GetGeneratedPolicy); @@ -802,6 +898,33 @@ ListFindingsOutcome AccessAnalyzerClient::ListFindings(const ListFindingsRequest {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +ListFindingsV2Outcome AccessAnalyzerClient::ListFindingsV2(const ListFindingsV2Request& request) const +{ + AWS_OPERATION_GUARD(ListFindingsV2); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListFindingsV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListFindingsV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListFindingsV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListFindingsV2", + {{ 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( + [&]()-> ListFindingsV2Outcome { + 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, ListFindingsV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/findingv2"); + return ListFindingsV2Outcome(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()}}); +} + ListPolicyGenerationsOutcome AccessAnalyzerClient::ListPolicyGenerations(const ListPolicyGenerationsRequest& request) const { AWS_OPERATION_GUARD(ListPolicyGenerations); diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/source/AccessAnalyzerEndpointRules.cpp b/generated/src/aws-cpp-sdk-accessanalyzer/source/AccessAnalyzerEndpointRules.cpp index 1024ac4bf30..be1a14211e0 100644 --- a/generated/src/aws-cpp-sdk-accessanalyzer/source/AccessAnalyzerEndpointRules.cpp +++ b/generated/src/aws-cpp-sdk-accessanalyzer/source/AccessAnalyzerEndpointRules.cpp @@ -51,117 +51,117 @@ static constexpr RulesBlobT RulesBlob = {{ ',','"','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','"',':','[','{','"','f','n','"',':','"', 'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', -'d','p','o','i','n','t','"','}',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', -',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', -'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r', -'u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','C','o', -'n','f','i','g','u','r','a','t','i','o','n',':',' ','F','I','P','S',' ','a','n','d',' ','c','u','s', -'t','o','m',' ','e','n','d','p','o','i','n','t',' ','a','r','e',' ','n','o','t',' ','s','u','p','p', -'o','r','t','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e', +'d','p','o','i','n','t','"','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', +'s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':', +'"','I','n','v','a','l','i','d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','F', +'I','P','S',' ','a','n','d',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','a', +'r','e',' ','n','o','t',' ','s','u','p','p','o','r','t','e','d','"',',','"','t','y','p','e','"',':', +'"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"', +'}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i', +'d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','D','u','a','l','s','t','a','c', +'k',' ','a','n','d',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','a','r','e', +' ','n','o','t',' ','s','u','p','p','o','r','t','e','d','"',',','"','t','y','p','e','"',':','"','e', +'r','r','o','r','"','}',',','{','"','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','"',':','{', +'}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e', +'n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s', +'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i', +'o','n','"','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i', +'o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o', +'n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','P','a','r','t','i','t','i','o','n','R', +'e','s','u','l','t','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F', +'I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', 'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', '"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"', -'e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','C','o','n','f','i','g','u','r','a', -'t','i','o','n',':',' ','D','u','a','l','s','t','a','c','k',' ','a','n','d',' ','c','u','s','t','o', -'m',' ','e','n','d','p','o','i','n','t',' ','a','r','e',' ','n','o','t',' ','s','u','p','p','o','r', -'t','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o', +'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R', +'e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','F','I','P','S','"',']','}',']', +'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t', +'r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t', +'i','o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','D','u','a','l', +'S','t','a','c','k','"',']','}',']','}',']',',','"','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','"',':','{','}',',','"','h','e','a','d','e','r','s','"', -':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}', -',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s', -'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i', -'o','n','"','}',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u', -'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', -'"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g', -'n','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',']',',','"','t', -'y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o', -'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', -'s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o', -'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}', -']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[', +'"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','a','c','c','e','s','s','-','a','n','a', +'l','y','z','e','r','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t', +'i','t','i','o','n','R','e','s','u','l','t','#','d','u','a','l','S','t','a','c','k','D','n','s','S', +'u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"', +'h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p', +'o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','F', +'I','P','S',' ','a','n','d',' ','D','u','a','l','S','t','a','c','k',' ','a','r','e',' ','e','n','a', +'b','l','e','d',',',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ', +'d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','o','n','e',' ','o','r',' ','b', +'o','t','h','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y', +'p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',', +'t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t', +'r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t', +'i','o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','F','I','P','S', +'"',']','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t', +'A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r', +'t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','n','a','m','e','"',']','}',',','"', +'a','w','s','-','u','s','-','g','o','v','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"', +':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','a','c','c','e','s','s','-','a', +'n','a','l','y','z','e','r','.','{','R','e','g','i','o','n','}','.','a','m','a','z','o','n','a','w', +'s','.','c','o','m','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h', +'e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o', +'i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e', +'n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/', +'a','c','c','e','s','s','-','a','n','a','l','y','z','e','r','-','f','i','p','s','.','{','R','e','g', +'i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s', +'S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',', +'"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d', +'p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"', +'F','I','P','S',' ','i','s',' ','e','n','a','b','l','e','d',' ','b','u','t',' ','t','h','i','s',' ', +'p','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r', +'t',' ','F','I','P','S','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',', +'"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l', +'S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[', '{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o', 'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','t','r','u','e',',', '{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{', '"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',', -'"','s','u','p','p','o','r','t','s','F','I','P','S','"',']','}',']','}',',','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','t', -'r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l', -'t','"','}',',','"','s','u','p','p','o','r','t','s','D','u','a','l','S','t','a','c','k','"',']','}', -']','}',']',',','"','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','"',':','"','h','t','t','p','s',':','/','/','a','c','c','e', -'s','s','-','a','n','a','l','y','z','e','r','-','f','i','p','s','.','{','R','e','g','i','o','n','}', -'.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','u','a','l','S','t','a', -'c','k','D','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s', -'"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"', -':','"','e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o', -'n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','F','I','P','S',' ','a','n','d',' ', -'D','u','a','l','S','t','a','c','k',' ','a','r','e',' ','e','n','a','b','l','e','d',',',' ','b','u', -'t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ','n','o','t', -' ','s','u','p','p','o','r','t',' ','o','n','e',' ','o','r',' ','b','o','t','h','"',',','"','t','y', -'p','e','"',':','"','e','r','r','o','r','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o', -'n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S', -'"','}',',','t','r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',', -'"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', -'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n', -'R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','F','I','P','S','"',']','}', -']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"', -':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s', -'t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','"','a','w','s', -'-','u','s','-','g','o','v','"',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n', -'R','e','s','u','l','t','"','}',',','"','n','a','m','e','"',']','}',']','}',']',',','"','e','n','d', -'p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','a','c', -'c','e','s','s','-','a','n','a','l','y','z','e','r','.','{','R','e','g','i','o','n','}','.','a','m', -'a','z','o','n','a','w','s','.','c','o','m','"',',','"','p','r','o','p','e','r','t','i','e','s','"', -':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':', -'"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', -':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t', -'t','p','s',':','/','/','a','c','c','e','s','s','-','a','n','a','l','y','z','e','r','-','f','i','p', -'s','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u', -'l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e', -'s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e', -'"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i', -'o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','F','I','P','S',' ','i','s',' ', -'e','n','a','b','l','e','d',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o', -'n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','F','I','P','S','"',',', -'"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',',','{','"','c','o','n','d','i', -'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D', -'u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"','t','y','p','e','"', -':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t', -'i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g', -'e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P', -'a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t', -'s','D','u','a','l','S','t','a','c','k','"',']','}',']','}',']',',','"','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','"',':', -'"','h','t','t','p','s',':','/','/','a','c','c','e','s','s','-','a','n','a','l','y','z','e','r','.', -'{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t', -'#','d','u','a','l','S','t','a','c','k','D','n','s','S','u','f','f','i','x','}','"',',','"','p','r', -'o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}', -'}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',',','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','D', -'u','a','l','S','t','a','c','k',' ','i','s',' ','e','n','a','b','l','e','d',' ','b','u','t',' ','t', -'h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u', -'p','p','o','r','t',' ','D','u','a','l','S','t','a','c','k','"',',','"','t','y','p','e','"',':','"', -'e','r','r','o','r','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', -']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p', -'s',':','/','/','a','c','c','e','s','s','-','a','n','a','l','y','z','e','r','.','{','R','e','g','i', -'o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S', -'u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"', -'h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p', -'o','i','n','t','"','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'"','s','u','p','p','o','r','t','s','D','u','a','l','S','t','a','c','k','"',']','}',']','}',']',',', +'"','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','"',':','"','h','t','t','p','s', +':','/','/','a','c','c','e','s','s','-','a','n','a','l','y','z','e','r','.','{','R','e','g','i','o', +'n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','u','a','l','S', +'t','a','c','k','D','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i', +'e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', +'e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t', +'r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e', +'r','r','o','r','"',':','"','D','u','a','l','S','t','a','c','k',' ','i','s',' ','e','n','a','b','l', +'e','d',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e', +'s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','D','u','a','l','S','t','a','c','k','"',',', +'"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"', +'t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"', +'e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/', +'/','a','c','c','e','s','s','-','a','n','a','l','y','z','e','r','.','{','R','e','g','i','o','n','}', +'.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f', +'i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a', +'d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n', +'t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p', +'e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', '[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','C','o','n','f','i', 'g','u','r','a','t','i','o','n',':',' ','M','i','s','s','i','n','g',' ','R','e','g','i','o','n','"', ',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}','\0' diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/source/AccessAnalyzerErrors.cpp b/generated/src/aws-cpp-sdk-accessanalyzer/source/AccessAnalyzerErrors.cpp index f24b33be2a0..7b455746f32 100644 --- a/generated/src/aws-cpp-sdk-accessanalyzer/source/AccessAnalyzerErrors.cpp +++ b/generated/src/aws-cpp-sdk-accessanalyzer/source/AccessAnalyzerErrors.cpp @@ -64,6 +64,8 @@ namespace AccessAnalyzerErrorMapper static const int CONFLICT_HASH = HashingUtils::HashString("ConflictException"); static const int SERVICE_QUOTA_EXCEEDED_HASH = HashingUtils::HashString("ServiceQuotaExceededException"); static const int INTERNAL_SERVER_HASH = HashingUtils::HashString("InternalServerException"); +static const int INVALID_PARAMETER_HASH = HashingUtils::HashString("InvalidParameterException"); +static const int UNPROCESSABLE_ENTITY_HASH = HashingUtils::HashString("UnprocessableEntityException"); AWSError GetErrorForName(const char* errorName) @@ -82,6 +84,14 @@ AWSError GetErrorForName(const char* errorName) { return AWSError(static_cast(AccessAnalyzerErrors::INTERNAL_SERVER), false); } + else if (hashCode == INVALID_PARAMETER_HASH) + { + return AWSError(static_cast(AccessAnalyzerErrors::INVALID_PARAMETER), false); + } + else if (hashCode == UNPROCESSABLE_ENTITY_HASH) + { + return AWSError(static_cast(AccessAnalyzerErrors::UNPROCESSABLE_ENTITY), false); + } return AWSError(CoreErrors::UNKNOWN, false); } diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/source/model/Access.cpp b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/Access.cpp new file mode 100644 index 00000000000..9da101f2bea --- /dev/null +++ b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/Access.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 AccessAnalyzer +{ +namespace Model +{ + +Access::Access() : + m_actionsHasBeenSet(false) +{ +} + +Access::Access(JsonView jsonValue) : + m_actionsHasBeenSet(false) +{ + *this = jsonValue; +} + +Access& Access::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("actions")) + { + Aws::Utils::Array actionsJsonList = jsonValue.GetArray("actions"); + for(unsigned actionsIndex = 0; actionsIndex < actionsJsonList.GetLength(); ++actionsIndex) + { + m_actions.push_back(actionsJsonList[actionsIndex].AsString()); + } + m_actionsHasBeenSet = true; + } + + return *this; +} + +JsonValue Access::Jsonize() const +{ + JsonValue payload; + + if(m_actionsHasBeenSet) + { + Aws::Utils::Array actionsJsonList(m_actions.size()); + for(unsigned actionsIndex = 0; actionsIndex < actionsJsonList.GetLength(); ++actionsIndex) + { + actionsJsonList[actionsIndex].AsString(m_actions[actionsIndex]); + } + payload.WithArray("actions", std::move(actionsJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace AccessAnalyzer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/source/model/AccessCheckPolicyType.cpp b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/AccessCheckPolicyType.cpp new file mode 100644 index 00000000000..8bb161e69ca --- /dev/null +++ b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/AccessCheckPolicyType.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 AccessAnalyzer + { + namespace Model + { + namespace AccessCheckPolicyTypeMapper + { + + static const int IDENTITY_POLICY_HASH = HashingUtils::HashString("IDENTITY_POLICY"); + static const int RESOURCE_POLICY_HASH = HashingUtils::HashString("RESOURCE_POLICY"); + + + AccessCheckPolicyType GetAccessCheckPolicyTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == IDENTITY_POLICY_HASH) + { + return AccessCheckPolicyType::IDENTITY_POLICY; + } + else if (hashCode == RESOURCE_POLICY_HASH) + { + return AccessCheckPolicyType::RESOURCE_POLICY; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return AccessCheckPolicyType::NOT_SET; + } + + Aws::String GetNameForAccessCheckPolicyType(AccessCheckPolicyType enumValue) + { + switch(enumValue) + { + case AccessCheckPolicyType::NOT_SET: + return {}; + case AccessCheckPolicyType::IDENTITY_POLICY: + return "IDENTITY_POLICY"; + case AccessCheckPolicyType::RESOURCE_POLICY: + return "RESOURCE_POLICY"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace AccessCheckPolicyTypeMapper + } // namespace Model + } // namespace AccessAnalyzer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/source/model/AnalyzerConfiguration.cpp b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/AnalyzerConfiguration.cpp new file mode 100644 index 00000000000..823c07cb7ca --- /dev/null +++ b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/AnalyzerConfiguration.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 AccessAnalyzer +{ +namespace Model +{ + +AnalyzerConfiguration::AnalyzerConfiguration() : + m_unusedAccessHasBeenSet(false) +{ +} + +AnalyzerConfiguration::AnalyzerConfiguration(JsonView jsonValue) : + m_unusedAccessHasBeenSet(false) +{ + *this = jsonValue; +} + +AnalyzerConfiguration& AnalyzerConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("unusedAccess")) + { + m_unusedAccess = jsonValue.GetObject("unusedAccess"); + + m_unusedAccessHasBeenSet = true; + } + + return *this; +} + +JsonValue AnalyzerConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_unusedAccessHasBeenSet) + { + payload.WithObject("unusedAccess", m_unusedAccess.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace AccessAnalyzer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/source/model/AnalyzerSummary.cpp b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/AnalyzerSummary.cpp index d25c260c422..1ec1a31cd50 100644 --- a/generated/src/aws-cpp-sdk-accessanalyzer/source/model/AnalyzerSummary.cpp +++ b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/AnalyzerSummary.cpp @@ -29,7 +29,8 @@ AnalyzerSummary::AnalyzerSummary() : m_tagsHasBeenSet(false), m_status(AnalyzerStatus::NOT_SET), m_statusHasBeenSet(false), - m_statusReasonHasBeenSet(false) + m_statusReasonHasBeenSet(false), + m_configurationHasBeenSet(false) { } @@ -44,7 +45,8 @@ AnalyzerSummary::AnalyzerSummary(JsonView jsonValue) : m_tagsHasBeenSet(false), m_status(AnalyzerStatus::NOT_SET), m_statusHasBeenSet(false), - m_statusReasonHasBeenSet(false) + m_statusReasonHasBeenSet(false), + m_configurationHasBeenSet(false) { *this = jsonValue; } @@ -117,6 +119,13 @@ AnalyzerSummary& AnalyzerSummary::operator =(JsonView jsonValue) m_statusReasonHasBeenSet = true; } + if(jsonValue.ValueExists("configuration")) + { + m_configuration = jsonValue.GetObject("configuration"); + + m_configurationHasBeenSet = true; + } + return *this; } @@ -179,6 +188,12 @@ JsonValue AnalyzerSummary::Jsonize() const } + if(m_configurationHasBeenSet) + { + payload.WithObject("configuration", m_configuration.Jsonize()); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/source/model/CheckAccessNotGrantedRequest.cpp b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/CheckAccessNotGrantedRequest.cpp new file mode 100644 index 00000000000..a914bd04808 --- /dev/null +++ b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/CheckAccessNotGrantedRequest.cpp @@ -0,0 +1,54 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::AccessAnalyzer::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +CheckAccessNotGrantedRequest::CheckAccessNotGrantedRequest() : + m_policyDocumentHasBeenSet(false), + m_accessHasBeenSet(false), + m_policyType(AccessCheckPolicyType::NOT_SET), + m_policyTypeHasBeenSet(false) +{ +} + +Aws::String CheckAccessNotGrantedRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_policyDocumentHasBeenSet) + { + payload.WithString("policyDocument", m_policyDocument); + + } + + if(m_accessHasBeenSet) + { + Aws::Utils::Array accessJsonList(m_access.size()); + for(unsigned accessIndex = 0; accessIndex < accessJsonList.GetLength(); ++accessIndex) + { + accessJsonList[accessIndex].AsObject(m_access[accessIndex].Jsonize()); + } + payload.WithArray("access", std::move(accessJsonList)); + + } + + if(m_policyTypeHasBeenSet) + { + payload.WithString("policyType", AccessCheckPolicyTypeMapper::GetNameForAccessCheckPolicyType(m_policyType)); + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/source/model/CheckAccessNotGrantedResult.cpp b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/CheckAccessNotGrantedResult.cpp new file mode 100644 index 00000000000..134035ed325 --- /dev/null +++ b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/CheckAccessNotGrantedResult.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 AccessAnalyzer + { + namespace Model + { + namespace CheckAccessNotGrantedResultMapper + { + + static const int PASS_HASH = HashingUtils::HashString("PASS"); + static const int FAIL_HASH = HashingUtils::HashString("FAIL"); + + + CheckAccessNotGrantedResult GetCheckAccessNotGrantedResultForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == PASS_HASH) + { + return CheckAccessNotGrantedResult::PASS; + } + else if (hashCode == FAIL_HASH) + { + return CheckAccessNotGrantedResult::FAIL; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return CheckAccessNotGrantedResult::NOT_SET; + } + + Aws::String GetNameForCheckAccessNotGrantedResult(CheckAccessNotGrantedResult enumValue) + { + switch(enumValue) + { + case CheckAccessNotGrantedResult::NOT_SET: + return {}; + case CheckAccessNotGrantedResult::PASS: + return "PASS"; + case CheckAccessNotGrantedResult::FAIL: + return "FAIL"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace CheckAccessNotGrantedResultMapper + } // namespace Model + } // namespace AccessAnalyzer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/source/model/CheckAccessNotGrantedSdkResult.cpp b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/CheckAccessNotGrantedSdkResult.cpp new file mode 100644 index 00000000000..c754e78aafc --- /dev/null +++ b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/CheckAccessNotGrantedSdkResult.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 +#include + +#include + +using namespace Aws::AccessAnalyzer::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +CheckAccessNotGrantedSdkResult::CheckAccessNotGrantedSdkResult() : + m_result(CheckAccessNotGrantedResult::NOT_SET) +{ +} + +CheckAccessNotGrantedSdkResult::CheckAccessNotGrantedSdkResult(const Aws::AmazonWebServiceResult& result) : + m_result(CheckAccessNotGrantedResult::NOT_SET) +{ + *this = result; +} + +CheckAccessNotGrantedSdkResult& CheckAccessNotGrantedSdkResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("result")) + { + m_result = CheckAccessNotGrantedResultMapper::GetCheckAccessNotGrantedResultForName(jsonValue.GetString("result")); + + } + + if(jsonValue.ValueExists("message")) + { + m_message = jsonValue.GetString("message"); + + } + + if(jsonValue.ValueExists("reasons")) + { + Aws::Utils::Array reasonsJsonList = jsonValue.GetArray("reasons"); + for(unsigned reasonsIndex = 0; reasonsIndex < reasonsJsonList.GetLength(); ++reasonsIndex) + { + m_reasons.push_back(reasonsJsonList[reasonsIndex].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-accessanalyzer/source/model/CheckNoNewAccessRequest.cpp b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/CheckNoNewAccessRequest.cpp new file mode 100644 index 00000000000..ae93bc946e7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/CheckNoNewAccessRequest.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::AccessAnalyzer::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +CheckNoNewAccessRequest::CheckNoNewAccessRequest() : + m_newPolicyDocumentHasBeenSet(false), + m_existingPolicyDocumentHasBeenSet(false), + m_policyType(AccessCheckPolicyType::NOT_SET), + m_policyTypeHasBeenSet(false) +{ +} + +Aws::String CheckNoNewAccessRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_newPolicyDocumentHasBeenSet) + { + payload.WithString("newPolicyDocument", m_newPolicyDocument); + + } + + if(m_existingPolicyDocumentHasBeenSet) + { + payload.WithString("existingPolicyDocument", m_existingPolicyDocument); + + } + + if(m_policyTypeHasBeenSet) + { + payload.WithString("policyType", AccessCheckPolicyTypeMapper::GetNameForAccessCheckPolicyType(m_policyType)); + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/source/model/CheckNoNewAccessResult.cpp b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/CheckNoNewAccessResult.cpp new file mode 100644 index 00000000000..0e6d6bb1173 --- /dev/null +++ b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/CheckNoNewAccessResult.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 AccessAnalyzer + { + namespace Model + { + namespace CheckNoNewAccessResultMapper + { + + static const int PASS_HASH = HashingUtils::HashString("PASS"); + static const int FAIL_HASH = HashingUtils::HashString("FAIL"); + + + CheckNoNewAccessResult GetCheckNoNewAccessResultForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == PASS_HASH) + { + return CheckNoNewAccessResult::PASS; + } + else if (hashCode == FAIL_HASH) + { + return CheckNoNewAccessResult::FAIL; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return CheckNoNewAccessResult::NOT_SET; + } + + Aws::String GetNameForCheckNoNewAccessResult(CheckNoNewAccessResult enumValue) + { + switch(enumValue) + { + case CheckNoNewAccessResult::NOT_SET: + return {}; + case CheckNoNewAccessResult::PASS: + return "PASS"; + case CheckNoNewAccessResult::FAIL: + return "FAIL"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace CheckNoNewAccessResultMapper + } // namespace Model + } // namespace AccessAnalyzer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/source/model/CheckNoNewAccessSdkResult.cpp b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/CheckNoNewAccessSdkResult.cpp new file mode 100644 index 00000000000..53f691ee78d --- /dev/null +++ b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/CheckNoNewAccessSdkResult.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 +#include + +#include + +using namespace Aws::AccessAnalyzer::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +CheckNoNewAccessSdkResult::CheckNoNewAccessSdkResult() : + m_result(CheckNoNewAccessResult::NOT_SET) +{ +} + +CheckNoNewAccessSdkResult::CheckNoNewAccessSdkResult(const Aws::AmazonWebServiceResult& result) : + m_result(CheckNoNewAccessResult::NOT_SET) +{ + *this = result; +} + +CheckNoNewAccessSdkResult& CheckNoNewAccessSdkResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("result")) + { + m_result = CheckNoNewAccessResultMapper::GetCheckNoNewAccessResultForName(jsonValue.GetString("result")); + + } + + if(jsonValue.ValueExists("message")) + { + m_message = jsonValue.GetString("message"); + + } + + if(jsonValue.ValueExists("reasons")) + { + Aws::Utils::Array reasonsJsonList = jsonValue.GetArray("reasons"); + for(unsigned reasonsIndex = 0; reasonsIndex < reasonsJsonList.GetLength(); ++reasonsIndex) + { + m_reasons.push_back(reasonsJsonList[reasonsIndex].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-accessanalyzer/source/model/CreateAnalyzerRequest.cpp b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/CreateAnalyzerRequest.cpp index baa977a8c3d..9aad04cd1b7 100644 --- a/generated/src/aws-cpp-sdk-accessanalyzer/source/model/CreateAnalyzerRequest.cpp +++ b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/CreateAnalyzerRequest.cpp @@ -19,7 +19,8 @@ CreateAnalyzerRequest::CreateAnalyzerRequest() : m_archiveRulesHasBeenSet(false), m_tagsHasBeenSet(false), m_clientToken(Aws::Utils::UUID::PseudoRandomUUID()), - m_clientTokenHasBeenSet(true) + m_clientTokenHasBeenSet(true), + m_configurationHasBeenSet(false) { } @@ -66,6 +67,12 @@ Aws::String CreateAnalyzerRequest::SerializePayload() const } + if(m_configurationHasBeenSet) + { + payload.WithObject("configuration", m_configuration.Jsonize()); + + } + return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/source/model/ExternalAccessDetails.cpp b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/ExternalAccessDetails.cpp new file mode 100644 index 00000000000..d2274916cef --- /dev/null +++ b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/ExternalAccessDetails.cpp @@ -0,0 +1,153 @@ +/** + * 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 AccessAnalyzer +{ +namespace Model +{ + +ExternalAccessDetails::ExternalAccessDetails() : + m_actionHasBeenSet(false), + m_conditionHasBeenSet(false), + m_isPublic(false), + m_isPublicHasBeenSet(false), + m_principalHasBeenSet(false), + m_sourcesHasBeenSet(false) +{ +} + +ExternalAccessDetails::ExternalAccessDetails(JsonView jsonValue) : + m_actionHasBeenSet(false), + m_conditionHasBeenSet(false), + m_isPublic(false), + m_isPublicHasBeenSet(false), + m_principalHasBeenSet(false), + m_sourcesHasBeenSet(false) +{ + *this = jsonValue; +} + +ExternalAccessDetails& ExternalAccessDetails::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("action")) + { + Aws::Utils::Array actionJsonList = jsonValue.GetArray("action"); + for(unsigned actionIndex = 0; actionIndex < actionJsonList.GetLength(); ++actionIndex) + { + m_action.push_back(actionJsonList[actionIndex].AsString()); + } + m_actionHasBeenSet = true; + } + + if(jsonValue.ValueExists("condition")) + { + Aws::Map conditionJsonMap = jsonValue.GetObject("condition").GetAllObjects(); + for(auto& conditionItem : conditionJsonMap) + { + m_condition[conditionItem.first] = conditionItem.second.AsString(); + } + m_conditionHasBeenSet = true; + } + + if(jsonValue.ValueExists("isPublic")) + { + m_isPublic = jsonValue.GetBool("isPublic"); + + m_isPublicHasBeenSet = true; + } + + if(jsonValue.ValueExists("principal")) + { + Aws::Map principalJsonMap = jsonValue.GetObject("principal").GetAllObjects(); + for(auto& principalItem : principalJsonMap) + { + m_principal[principalItem.first] = principalItem.second.AsString(); + } + m_principalHasBeenSet = true; + } + + if(jsonValue.ValueExists("sources")) + { + Aws::Utils::Array sourcesJsonList = jsonValue.GetArray("sources"); + for(unsigned sourcesIndex = 0; sourcesIndex < sourcesJsonList.GetLength(); ++sourcesIndex) + { + m_sources.push_back(sourcesJsonList[sourcesIndex].AsObject()); + } + m_sourcesHasBeenSet = true; + } + + return *this; +} + +JsonValue ExternalAccessDetails::Jsonize() const +{ + JsonValue payload; + + if(m_actionHasBeenSet) + { + Aws::Utils::Array actionJsonList(m_action.size()); + for(unsigned actionIndex = 0; actionIndex < actionJsonList.GetLength(); ++actionIndex) + { + actionJsonList[actionIndex].AsString(m_action[actionIndex]); + } + payload.WithArray("action", std::move(actionJsonList)); + + } + + if(m_conditionHasBeenSet) + { + JsonValue conditionJsonMap; + for(auto& conditionItem : m_condition) + { + conditionJsonMap.WithString(conditionItem.first, conditionItem.second); + } + payload.WithObject("condition", std::move(conditionJsonMap)); + + } + + if(m_isPublicHasBeenSet) + { + payload.WithBool("isPublic", m_isPublic); + + } + + if(m_principalHasBeenSet) + { + JsonValue principalJsonMap; + for(auto& principalItem : m_principal) + { + principalJsonMap.WithString(principalItem.first, principalItem.second); + } + payload.WithObject("principal", std::move(principalJsonMap)); + + } + + if(m_sourcesHasBeenSet) + { + Aws::Utils::Array sourcesJsonList(m_sources.size()); + for(unsigned sourcesIndex = 0; sourcesIndex < sourcesJsonList.GetLength(); ++sourcesIndex) + { + sourcesJsonList[sourcesIndex].AsObject(m_sources[sourcesIndex].Jsonize()); + } + payload.WithArray("sources", std::move(sourcesJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace AccessAnalyzer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/source/model/FindingDetails.cpp b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/FindingDetails.cpp new file mode 100644 index 00000000000..23d05bb410d --- /dev/null +++ b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/FindingDetails.cpp @@ -0,0 +1,119 @@ +/** + * 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 AccessAnalyzer +{ +namespace Model +{ + +FindingDetails::FindingDetails() : + m_externalAccessDetailsHasBeenSet(false), + m_unusedPermissionDetailsHasBeenSet(false), + m_unusedIamUserAccessKeyDetailsHasBeenSet(false), + m_unusedIamRoleDetailsHasBeenSet(false), + m_unusedIamUserPasswordDetailsHasBeenSet(false) +{ +} + +FindingDetails::FindingDetails(JsonView jsonValue) : + m_externalAccessDetailsHasBeenSet(false), + m_unusedPermissionDetailsHasBeenSet(false), + m_unusedIamUserAccessKeyDetailsHasBeenSet(false), + m_unusedIamRoleDetailsHasBeenSet(false), + m_unusedIamUserPasswordDetailsHasBeenSet(false) +{ + *this = jsonValue; +} + +FindingDetails& FindingDetails::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("externalAccessDetails")) + { + m_externalAccessDetails = jsonValue.GetObject("externalAccessDetails"); + + m_externalAccessDetailsHasBeenSet = true; + } + + if(jsonValue.ValueExists("unusedPermissionDetails")) + { + m_unusedPermissionDetails = jsonValue.GetObject("unusedPermissionDetails"); + + m_unusedPermissionDetailsHasBeenSet = true; + } + + if(jsonValue.ValueExists("unusedIamUserAccessKeyDetails")) + { + m_unusedIamUserAccessKeyDetails = jsonValue.GetObject("unusedIamUserAccessKeyDetails"); + + m_unusedIamUserAccessKeyDetailsHasBeenSet = true; + } + + if(jsonValue.ValueExists("unusedIamRoleDetails")) + { + m_unusedIamRoleDetails = jsonValue.GetObject("unusedIamRoleDetails"); + + m_unusedIamRoleDetailsHasBeenSet = true; + } + + if(jsonValue.ValueExists("unusedIamUserPasswordDetails")) + { + m_unusedIamUserPasswordDetails = jsonValue.GetObject("unusedIamUserPasswordDetails"); + + m_unusedIamUserPasswordDetailsHasBeenSet = true; + } + + return *this; +} + +JsonValue FindingDetails::Jsonize() const +{ + JsonValue payload; + + if(m_externalAccessDetailsHasBeenSet) + { + payload.WithObject("externalAccessDetails", m_externalAccessDetails.Jsonize()); + + } + + if(m_unusedPermissionDetailsHasBeenSet) + { + payload.WithObject("unusedPermissionDetails", m_unusedPermissionDetails.Jsonize()); + + } + + if(m_unusedIamUserAccessKeyDetailsHasBeenSet) + { + payload.WithObject("unusedIamUserAccessKeyDetails", m_unusedIamUserAccessKeyDetails.Jsonize()); + + } + + if(m_unusedIamRoleDetailsHasBeenSet) + { + payload.WithObject("unusedIamRoleDetails", m_unusedIamRoleDetails.Jsonize()); + + } + + if(m_unusedIamUserPasswordDetailsHasBeenSet) + { + payload.WithObject("unusedIamUserPasswordDetails", m_unusedIamUserPasswordDetails.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace AccessAnalyzer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/source/model/FindingSummaryV2.cpp b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/FindingSummaryV2.cpp new file mode 100644 index 00000000000..0cda4a110b7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/FindingSummaryV2.cpp @@ -0,0 +1,194 @@ +/** + * 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 AccessAnalyzer +{ +namespace Model +{ + +FindingSummaryV2::FindingSummaryV2() : + m_analyzedAtHasBeenSet(false), + m_createdAtHasBeenSet(false), + m_errorHasBeenSet(false), + m_idHasBeenSet(false), + m_resourceHasBeenSet(false), + m_resourceType(ResourceType::NOT_SET), + m_resourceTypeHasBeenSet(false), + m_resourceOwnerAccountHasBeenSet(false), + m_status(FindingStatus::NOT_SET), + m_statusHasBeenSet(false), + m_updatedAtHasBeenSet(false), + m_findingType(FindingType::NOT_SET), + m_findingTypeHasBeenSet(false) +{ +} + +FindingSummaryV2::FindingSummaryV2(JsonView jsonValue) : + m_analyzedAtHasBeenSet(false), + m_createdAtHasBeenSet(false), + m_errorHasBeenSet(false), + m_idHasBeenSet(false), + m_resourceHasBeenSet(false), + m_resourceType(ResourceType::NOT_SET), + m_resourceTypeHasBeenSet(false), + m_resourceOwnerAccountHasBeenSet(false), + m_status(FindingStatus::NOT_SET), + m_statusHasBeenSet(false), + m_updatedAtHasBeenSet(false), + m_findingType(FindingType::NOT_SET), + m_findingTypeHasBeenSet(false) +{ + *this = jsonValue; +} + +FindingSummaryV2& FindingSummaryV2::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("analyzedAt")) + { + m_analyzedAt = jsonValue.GetString("analyzedAt"); + + m_analyzedAtHasBeenSet = true; + } + + if(jsonValue.ValueExists("createdAt")) + { + m_createdAt = jsonValue.GetString("createdAt"); + + m_createdAtHasBeenSet = true; + } + + if(jsonValue.ValueExists("error")) + { + m_error = jsonValue.GetString("error"); + + m_errorHasBeenSet = true; + } + + if(jsonValue.ValueExists("id")) + { + m_id = jsonValue.GetString("id"); + + m_idHasBeenSet = true; + } + + if(jsonValue.ValueExists("resource")) + { + m_resource = jsonValue.GetString("resource"); + + m_resourceHasBeenSet = true; + } + + if(jsonValue.ValueExists("resourceType")) + { + m_resourceType = ResourceTypeMapper::GetResourceTypeForName(jsonValue.GetString("resourceType")); + + m_resourceTypeHasBeenSet = true; + } + + if(jsonValue.ValueExists("resourceOwnerAccount")) + { + m_resourceOwnerAccount = jsonValue.GetString("resourceOwnerAccount"); + + m_resourceOwnerAccountHasBeenSet = true; + } + + if(jsonValue.ValueExists("status")) + { + m_status = FindingStatusMapper::GetFindingStatusForName(jsonValue.GetString("status")); + + m_statusHasBeenSet = true; + } + + if(jsonValue.ValueExists("updatedAt")) + { + m_updatedAt = jsonValue.GetString("updatedAt"); + + m_updatedAtHasBeenSet = true; + } + + if(jsonValue.ValueExists("findingType")) + { + m_findingType = FindingTypeMapper::GetFindingTypeForName(jsonValue.GetString("findingType")); + + m_findingTypeHasBeenSet = true; + } + + return *this; +} + +JsonValue FindingSummaryV2::Jsonize() const +{ + JsonValue payload; + + if(m_analyzedAtHasBeenSet) + { + payload.WithString("analyzedAt", m_analyzedAt.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + if(m_createdAtHasBeenSet) + { + payload.WithString("createdAt", m_createdAt.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + if(m_errorHasBeenSet) + { + payload.WithString("error", m_error); + + } + + if(m_idHasBeenSet) + { + payload.WithString("id", m_id); + + } + + if(m_resourceHasBeenSet) + { + payload.WithString("resource", m_resource); + + } + + if(m_resourceTypeHasBeenSet) + { + payload.WithString("resourceType", ResourceTypeMapper::GetNameForResourceType(m_resourceType)); + } + + if(m_resourceOwnerAccountHasBeenSet) + { + payload.WithString("resourceOwnerAccount", m_resourceOwnerAccount); + + } + + if(m_statusHasBeenSet) + { + payload.WithString("status", FindingStatusMapper::GetNameForFindingStatus(m_status)); + } + + if(m_updatedAtHasBeenSet) + { + payload.WithString("updatedAt", m_updatedAt.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + if(m_findingTypeHasBeenSet) + { + payload.WithString("findingType", FindingTypeMapper::GetNameForFindingType(m_findingType)); + } + + return payload; +} + +} // namespace Model +} // namespace AccessAnalyzer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/source/model/FindingType.cpp b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/FindingType.cpp new file mode 100644 index 00000000000..f53b6502d01 --- /dev/null +++ b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/FindingType.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 AccessAnalyzer + { + namespace Model + { + namespace FindingTypeMapper + { + + static const int ExternalAccess_HASH = HashingUtils::HashString("ExternalAccess"); + static const int UnusedIAMRole_HASH = HashingUtils::HashString("UnusedIAMRole"); + static const int UnusedIAMUserAccessKey_HASH = HashingUtils::HashString("UnusedIAMUserAccessKey"); + static const int UnusedIAMUserPassword_HASH = HashingUtils::HashString("UnusedIAMUserPassword"); + static const int UnusedPermission_HASH = HashingUtils::HashString("UnusedPermission"); + + + FindingType GetFindingTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == ExternalAccess_HASH) + { + return FindingType::ExternalAccess; + } + else if (hashCode == UnusedIAMRole_HASH) + { + return FindingType::UnusedIAMRole; + } + else if (hashCode == UnusedIAMUserAccessKey_HASH) + { + return FindingType::UnusedIAMUserAccessKey; + } + else if (hashCode == UnusedIAMUserPassword_HASH) + { + return FindingType::UnusedIAMUserPassword; + } + else if (hashCode == UnusedPermission_HASH) + { + return FindingType::UnusedPermission; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return FindingType::NOT_SET; + } + + Aws::String GetNameForFindingType(FindingType enumValue) + { + switch(enumValue) + { + case FindingType::NOT_SET: + return {}; + case FindingType::ExternalAccess: + return "ExternalAccess"; + case FindingType::UnusedIAMRole: + return "UnusedIAMRole"; + case FindingType::UnusedIAMUserAccessKey: + return "UnusedIAMUserAccessKey"; + case FindingType::UnusedIAMUserPassword: + return "UnusedIAMUserPassword"; + case FindingType::UnusedPermission: + return "UnusedPermission"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace FindingTypeMapper + } // namespace Model + } // namespace AccessAnalyzer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/source/model/GetFindingV2Request.cpp b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/GetFindingV2Request.cpp new file mode 100644 index 00000000000..14fd1816045 --- /dev/null +++ b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/GetFindingV2Request.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::AccessAnalyzer::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +GetFindingV2Request::GetFindingV2Request() : + m_analyzerArnHasBeenSet(false), + m_idHasBeenSet(false), + m_maxResults(0), + m_maxResultsHasBeenSet(false), + m_nextTokenHasBeenSet(false) +{ +} + +Aws::String GetFindingV2Request::SerializePayload() const +{ + return {}; +} + +void GetFindingV2Request::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_analyzerArnHasBeenSet) + { + ss << m_analyzerArn; + uri.AddQueryStringParameter("analyzerArn", ss.str()); + ss.str(""); + } + + if(m_maxResultsHasBeenSet) + { + ss << m_maxResults; + uri.AddQueryStringParameter("maxResults", ss.str()); + ss.str(""); + } + + if(m_nextTokenHasBeenSet) + { + ss << m_nextToken; + uri.AddQueryStringParameter("nextToken", ss.str()); + ss.str(""); + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/source/model/GetFindingV2Result.cpp b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/GetFindingV2Result.cpp new file mode 100644 index 00000000000..677a5074400 --- /dev/null +++ b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/GetFindingV2Result.cpp @@ -0,0 +1,123 @@ +/** + * 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::AccessAnalyzer::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetFindingV2Result::GetFindingV2Result() : + m_resourceType(ResourceType::NOT_SET), + m_status(FindingStatus::NOT_SET), + m_findingType(FindingType::NOT_SET) +{ +} + +GetFindingV2Result::GetFindingV2Result(const Aws::AmazonWebServiceResult& result) : + m_resourceType(ResourceType::NOT_SET), + m_status(FindingStatus::NOT_SET), + m_findingType(FindingType::NOT_SET) +{ + *this = result; +} + +GetFindingV2Result& GetFindingV2Result::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("analyzedAt")) + { + m_analyzedAt = jsonValue.GetString("analyzedAt"); + + } + + if(jsonValue.ValueExists("createdAt")) + { + m_createdAt = jsonValue.GetString("createdAt"); + + } + + if(jsonValue.ValueExists("error")) + { + m_error = jsonValue.GetString("error"); + + } + + if(jsonValue.ValueExists("id")) + { + m_id = jsonValue.GetString("id"); + + } + + if(jsonValue.ValueExists("nextToken")) + { + m_nextToken = jsonValue.GetString("nextToken"); + + } + + if(jsonValue.ValueExists("resource")) + { + m_resource = jsonValue.GetString("resource"); + + } + + if(jsonValue.ValueExists("resourceType")) + { + m_resourceType = ResourceTypeMapper::GetResourceTypeForName(jsonValue.GetString("resourceType")); + + } + + if(jsonValue.ValueExists("resourceOwnerAccount")) + { + m_resourceOwnerAccount = jsonValue.GetString("resourceOwnerAccount"); + + } + + if(jsonValue.ValueExists("status")) + { + m_status = FindingStatusMapper::GetFindingStatusForName(jsonValue.GetString("status")); + + } + + if(jsonValue.ValueExists("updatedAt")) + { + m_updatedAt = jsonValue.GetString("updatedAt"); + + } + + if(jsonValue.ValueExists("findingDetails")) + { + Aws::Utils::Array findingDetailsJsonList = jsonValue.GetArray("findingDetails"); + for(unsigned findingDetailsIndex = 0; findingDetailsIndex < findingDetailsJsonList.GetLength(); ++findingDetailsIndex) + { + m_findingDetails.push_back(findingDetailsJsonList[findingDetailsIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("findingType")) + { + m_findingType = FindingTypeMapper::GetFindingTypeForName(jsonValue.GetString("findingType")); + + } + + + 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-accessanalyzer/source/model/ListFindingsV2Request.cpp b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/ListFindingsV2Request.cpp new file mode 100644 index 00000000000..54fd4eedab4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/ListFindingsV2Request.cpp @@ -0,0 +1,69 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::AccessAnalyzer::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +ListFindingsV2Request::ListFindingsV2Request() : + m_analyzerArnHasBeenSet(false), + m_filterHasBeenSet(false), + m_maxResults(0), + m_maxResultsHasBeenSet(false), + m_nextTokenHasBeenSet(false), + m_sortHasBeenSet(false) +{ +} + +Aws::String ListFindingsV2Request::SerializePayload() const +{ + JsonValue payload; + + if(m_analyzerArnHasBeenSet) + { + payload.WithString("analyzerArn", m_analyzerArn); + + } + + if(m_filterHasBeenSet) + { + JsonValue filterJsonMap; + for(auto& filterItem : m_filter) + { + filterJsonMap.WithObject(filterItem.first, filterItem.second.Jsonize()); + } + payload.WithObject("filter", std::move(filterJsonMap)); + + } + + if(m_maxResultsHasBeenSet) + { + payload.WithInteger("maxResults", m_maxResults); + + } + + if(m_nextTokenHasBeenSet) + { + payload.WithString("nextToken", m_nextToken); + + } + + if(m_sortHasBeenSet) + { + payload.WithObject("sort", m_sort.Jsonize()); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/source/model/ListFindingsV2Result.cpp b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/ListFindingsV2Result.cpp new file mode 100644 index 00000000000..43f1345f415 --- /dev/null +++ b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/ListFindingsV2Result.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::AccessAnalyzer::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListFindingsV2Result::ListFindingsV2Result() +{ +} + +ListFindingsV2Result::ListFindingsV2Result(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListFindingsV2Result& ListFindingsV2Result::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("findings")) + { + Aws::Utils::Array findingsJsonList = jsonValue.GetArray("findings"); + for(unsigned findingsIndex = 0; findingsIndex < findingsJsonList.GetLength(); ++findingsIndex) + { + m_findings.push_back(findingsJsonList[findingsIndex].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-accessanalyzer/source/model/ReasonSummary.cpp b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/ReasonSummary.cpp new file mode 100644 index 00000000000..db7f9e9967f --- /dev/null +++ b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/ReasonSummary.cpp @@ -0,0 +1,91 @@ +/** + * 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 AccessAnalyzer +{ +namespace Model +{ + +ReasonSummary::ReasonSummary() : + m_descriptionHasBeenSet(false), + m_statementIndex(0), + m_statementIndexHasBeenSet(false), + m_statementIdHasBeenSet(false) +{ +} + +ReasonSummary::ReasonSummary(JsonView jsonValue) : + m_descriptionHasBeenSet(false), + m_statementIndex(0), + m_statementIndexHasBeenSet(false), + m_statementIdHasBeenSet(false) +{ + *this = jsonValue; +} + +ReasonSummary& ReasonSummary::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("description")) + { + m_description = jsonValue.GetString("description"); + + m_descriptionHasBeenSet = true; + } + + if(jsonValue.ValueExists("statementIndex")) + { + m_statementIndex = jsonValue.GetInteger("statementIndex"); + + m_statementIndexHasBeenSet = true; + } + + if(jsonValue.ValueExists("statementId")) + { + m_statementId = jsonValue.GetString("statementId"); + + m_statementIdHasBeenSet = true; + } + + return *this; +} + +JsonValue ReasonSummary::Jsonize() const +{ + JsonValue payload; + + if(m_descriptionHasBeenSet) + { + payload.WithString("description", m_description); + + } + + if(m_statementIndexHasBeenSet) + { + payload.WithInteger("statementIndex", m_statementIndex); + + } + + if(m_statementIdHasBeenSet) + { + payload.WithString("statementId", m_statementId); + + } + + return payload; +} + +} // namespace Model +} // namespace AccessAnalyzer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/source/model/Type.cpp b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/Type.cpp index 9efd052bcdc..a20aa2fe2fe 100644 --- a/generated/src/aws-cpp-sdk-accessanalyzer/source/model/Type.cpp +++ b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/Type.cpp @@ -22,6 +22,8 @@ namespace Aws static const int ACCOUNT_HASH = HashingUtils::HashString("ACCOUNT"); static const int ORGANIZATION_HASH = HashingUtils::HashString("ORGANIZATION"); + static const int ACCOUNT_UNUSED_ACCESS_HASH = HashingUtils::HashString("ACCOUNT_UNUSED_ACCESS"); + static const int ORGANIZATION_UNUSED_ACCESS_HASH = HashingUtils::HashString("ORGANIZATION_UNUSED_ACCESS"); Type GetTypeForName(const Aws::String& name) @@ -35,6 +37,14 @@ namespace Aws { return Type::ORGANIZATION; } + else if (hashCode == ACCOUNT_UNUSED_ACCESS_HASH) + { + return Type::ACCOUNT_UNUSED_ACCESS; + } + else if (hashCode == ORGANIZATION_UNUSED_ACCESS_HASH) + { + return Type::ORGANIZATION_UNUSED_ACCESS; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -55,6 +65,10 @@ namespace Aws return "ACCOUNT"; case Type::ORGANIZATION: return "ORGANIZATION"; + case Type::ACCOUNT_UNUSED_ACCESS: + return "ACCOUNT_UNUSED_ACCESS"; + case Type::ORGANIZATION_UNUSED_ACCESS: + return "ORGANIZATION_UNUSED_ACCESS"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/source/model/UnusedAccessConfiguration.cpp b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/UnusedAccessConfiguration.cpp new file mode 100644 index 00000000000..e7816f0c6e5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/UnusedAccessConfiguration.cpp @@ -0,0 +1,61 @@ +/** + * 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 AccessAnalyzer +{ +namespace Model +{ + +UnusedAccessConfiguration::UnusedAccessConfiguration() : + m_unusedAccessAge(0), + m_unusedAccessAgeHasBeenSet(false) +{ +} + +UnusedAccessConfiguration::UnusedAccessConfiguration(JsonView jsonValue) : + m_unusedAccessAge(0), + m_unusedAccessAgeHasBeenSet(false) +{ + *this = jsonValue; +} + +UnusedAccessConfiguration& UnusedAccessConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("unusedAccessAge")) + { + m_unusedAccessAge = jsonValue.GetInteger("unusedAccessAge"); + + m_unusedAccessAgeHasBeenSet = true; + } + + return *this; +} + +JsonValue UnusedAccessConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_unusedAccessAgeHasBeenSet) + { + payload.WithInteger("unusedAccessAge", m_unusedAccessAge); + + } + + return payload; +} + +} // namespace Model +} // namespace AccessAnalyzer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/source/model/UnusedAction.cpp b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/UnusedAction.cpp new file mode 100644 index 00000000000..aaa0b84bb06 --- /dev/null +++ b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/UnusedAction.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 AccessAnalyzer +{ +namespace Model +{ + +UnusedAction::UnusedAction() : + m_actionHasBeenSet(false), + m_lastAccessedHasBeenSet(false) +{ +} + +UnusedAction::UnusedAction(JsonView jsonValue) : + m_actionHasBeenSet(false), + m_lastAccessedHasBeenSet(false) +{ + *this = jsonValue; +} + +UnusedAction& UnusedAction::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("action")) + { + m_action = jsonValue.GetString("action"); + + m_actionHasBeenSet = true; + } + + if(jsonValue.ValueExists("lastAccessed")) + { + m_lastAccessed = jsonValue.GetString("lastAccessed"); + + m_lastAccessedHasBeenSet = true; + } + + return *this; +} + +JsonValue UnusedAction::Jsonize() const +{ + JsonValue payload; + + if(m_actionHasBeenSet) + { + payload.WithString("action", m_action); + + } + + if(m_lastAccessedHasBeenSet) + { + payload.WithString("lastAccessed", m_lastAccessed.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + return payload; +} + +} // namespace Model +} // namespace AccessAnalyzer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/source/model/UnusedIamRoleDetails.cpp b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/UnusedIamRoleDetails.cpp new file mode 100644 index 00000000000..b807f9420c7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/UnusedIamRoleDetails.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::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace AccessAnalyzer +{ +namespace Model +{ + +UnusedIamRoleDetails::UnusedIamRoleDetails() : + m_lastAccessedHasBeenSet(false) +{ +} + +UnusedIamRoleDetails::UnusedIamRoleDetails(JsonView jsonValue) : + m_lastAccessedHasBeenSet(false) +{ + *this = jsonValue; +} + +UnusedIamRoleDetails& UnusedIamRoleDetails::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("lastAccessed")) + { + m_lastAccessed = jsonValue.GetString("lastAccessed"); + + m_lastAccessedHasBeenSet = true; + } + + return *this; +} + +JsonValue UnusedIamRoleDetails::Jsonize() const +{ + JsonValue payload; + + if(m_lastAccessedHasBeenSet) + { + payload.WithString("lastAccessed", m_lastAccessed.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + return payload; +} + +} // namespace Model +} // namespace AccessAnalyzer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/source/model/UnusedIamUserAccessKeyDetails.cpp b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/UnusedIamUserAccessKeyDetails.cpp new file mode 100644 index 00000000000..90ac86a70ec --- /dev/null +++ b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/UnusedIamUserAccessKeyDetails.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 AccessAnalyzer +{ +namespace Model +{ + +UnusedIamUserAccessKeyDetails::UnusedIamUserAccessKeyDetails() : + m_accessKeyIdHasBeenSet(false), + m_lastAccessedHasBeenSet(false) +{ +} + +UnusedIamUserAccessKeyDetails::UnusedIamUserAccessKeyDetails(JsonView jsonValue) : + m_accessKeyIdHasBeenSet(false), + m_lastAccessedHasBeenSet(false) +{ + *this = jsonValue; +} + +UnusedIamUserAccessKeyDetails& UnusedIamUserAccessKeyDetails::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("accessKeyId")) + { + m_accessKeyId = jsonValue.GetString("accessKeyId"); + + m_accessKeyIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("lastAccessed")) + { + m_lastAccessed = jsonValue.GetString("lastAccessed"); + + m_lastAccessedHasBeenSet = true; + } + + return *this; +} + +JsonValue UnusedIamUserAccessKeyDetails::Jsonize() const +{ + JsonValue payload; + + if(m_accessKeyIdHasBeenSet) + { + payload.WithString("accessKeyId", m_accessKeyId); + + } + + if(m_lastAccessedHasBeenSet) + { + payload.WithString("lastAccessed", m_lastAccessed.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + return payload; +} + +} // namespace Model +} // namespace AccessAnalyzer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/source/model/UnusedIamUserPasswordDetails.cpp b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/UnusedIamUserPasswordDetails.cpp new file mode 100644 index 00000000000..3e9ffe196b6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/UnusedIamUserPasswordDetails.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::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace AccessAnalyzer +{ +namespace Model +{ + +UnusedIamUserPasswordDetails::UnusedIamUserPasswordDetails() : + m_lastAccessedHasBeenSet(false) +{ +} + +UnusedIamUserPasswordDetails::UnusedIamUserPasswordDetails(JsonView jsonValue) : + m_lastAccessedHasBeenSet(false) +{ + *this = jsonValue; +} + +UnusedIamUserPasswordDetails& UnusedIamUserPasswordDetails::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("lastAccessed")) + { + m_lastAccessed = jsonValue.GetString("lastAccessed"); + + m_lastAccessedHasBeenSet = true; + } + + return *this; +} + +JsonValue UnusedIamUserPasswordDetails::Jsonize() const +{ + JsonValue payload; + + if(m_lastAccessedHasBeenSet) + { + payload.WithString("lastAccessed", m_lastAccessed.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + return payload; +} + +} // namespace Model +} // namespace AccessAnalyzer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/source/model/UnusedPermissionDetails.cpp b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/UnusedPermissionDetails.cpp new file mode 100644 index 00000000000..9c7e45914cc --- /dev/null +++ b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/UnusedPermissionDetails.cpp @@ -0,0 +1,96 @@ +/** + * 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 AccessAnalyzer +{ +namespace Model +{ + +UnusedPermissionDetails::UnusedPermissionDetails() : + m_actionsHasBeenSet(false), + m_serviceNamespaceHasBeenSet(false), + m_lastAccessedHasBeenSet(false) +{ +} + +UnusedPermissionDetails::UnusedPermissionDetails(JsonView jsonValue) : + m_actionsHasBeenSet(false), + m_serviceNamespaceHasBeenSet(false), + m_lastAccessedHasBeenSet(false) +{ + *this = jsonValue; +} + +UnusedPermissionDetails& UnusedPermissionDetails::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("actions")) + { + Aws::Utils::Array actionsJsonList = jsonValue.GetArray("actions"); + for(unsigned actionsIndex = 0; actionsIndex < actionsJsonList.GetLength(); ++actionsIndex) + { + m_actions.push_back(actionsJsonList[actionsIndex].AsObject()); + } + m_actionsHasBeenSet = true; + } + + if(jsonValue.ValueExists("serviceNamespace")) + { + m_serviceNamespace = jsonValue.GetString("serviceNamespace"); + + m_serviceNamespaceHasBeenSet = true; + } + + if(jsonValue.ValueExists("lastAccessed")) + { + m_lastAccessed = jsonValue.GetString("lastAccessed"); + + m_lastAccessedHasBeenSet = true; + } + + return *this; +} + +JsonValue UnusedPermissionDetails::Jsonize() const +{ + JsonValue payload; + + if(m_actionsHasBeenSet) + { + Aws::Utils::Array actionsJsonList(m_actions.size()); + for(unsigned actionsIndex = 0; actionsIndex < actionsJsonList.GetLength(); ++actionsIndex) + { + actionsJsonList[actionsIndex].AsObject(m_actions[actionsIndex].Jsonize()); + } + payload.WithArray("actions", std::move(actionsJsonList)); + + } + + if(m_serviceNamespaceHasBeenSet) + { + payload.WithString("serviceNamespace", m_serviceNamespace); + + } + + if(m_lastAccessedHasBeenSet) + { + payload.WithString("lastAccessed", m_lastAccessed.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + return payload; +} + +} // namespace Model +} // namespace AccessAnalyzer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-amp/include/aws/amp/PrometheusServiceClient.h b/generated/src/aws-cpp-sdk-amp/include/aws/amp/PrometheusServiceClient.h index 56ac971ec87..cec29531690 100644 --- a/generated/src/aws-cpp-sdk-amp/include/aws/amp/PrometheusServiceClient.h +++ b/generated/src/aws-cpp-sdk-amp/include/aws/amp/PrometheusServiceClient.h @@ -151,6 +151,31 @@ namespace PrometheusService return SubmitAsync(&PrometheusServiceClient::CreateRuleGroupsNamespace, request, handler, context); } + /** + *

Create a scraper.

See Also:

AWS + * API Reference

+ */ + virtual Model::CreateScraperOutcome CreateScraper(const Model::CreateScraperRequest& request) const; + + /** + * A Callable wrapper for CreateScraper that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::CreateScraperOutcomeCallable CreateScraperCallable(const CreateScraperRequestT& request) const + { + return SubmitCallable(&PrometheusServiceClient::CreateScraper, request); + } + + /** + * An Async wrapper for CreateScraper that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void CreateScraperAsync(const CreateScraperRequestT& request, const CreateScraperResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&PrometheusServiceClient::CreateScraper, request, handler, context); + } + /** *

Creates a new AMP workspace.

See Also:

AWS @@ -251,6 +276,31 @@ namespace PrometheusService return SubmitAsync(&PrometheusServiceClient::DeleteRuleGroupsNamespace, request, handler, context); } + /** + *

Deletes a scraper.

See Also:

AWS + * API Reference

+ */ + virtual Model::DeleteScraperOutcome DeleteScraper(const Model::DeleteScraperRequest& request) const; + + /** + * A Callable wrapper for DeleteScraper that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DeleteScraperOutcomeCallable DeleteScraperCallable(const DeleteScraperRequestT& request) const + { + return SubmitCallable(&PrometheusServiceClient::DeleteScraper, request); + } + + /** + * An Async wrapper for DeleteScraper that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DeleteScraperAsync(const DeleteScraperRequestT& request, const DeleteScraperResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&PrometheusServiceClient::DeleteScraper, request, handler, context); + } + /** *

Deletes an AMP workspace.

See Also:

AWS @@ -351,6 +401,31 @@ namespace PrometheusService return SubmitAsync(&PrometheusServiceClient::DescribeRuleGroupsNamespace, request, handler, context); } + /** + *

Describe an existing scraper.

See Also:

AWS + * API Reference

+ */ + virtual Model::DescribeScraperOutcome DescribeScraper(const Model::DescribeScraperRequest& request) const; + + /** + * A Callable wrapper for DescribeScraper that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DescribeScraperOutcomeCallable DescribeScraperCallable(const DescribeScraperRequestT& request) const + { + return SubmitCallable(&PrometheusServiceClient::DescribeScraper, request); + } + + /** + * An Async wrapper for DescribeScraper that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DescribeScraperAsync(const DescribeScraperRequestT& request, const DescribeScraperResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&PrometheusServiceClient::DescribeScraper, request, handler, context); + } + /** *

Describes an existing AMP workspace.

See Also:

AWS @@ -376,6 +451,31 @@ namespace PrometheusService return SubmitAsync(&PrometheusServiceClient::DescribeWorkspace, request, handler, context); } + /** + *

Gets a default configuration.

See Also:

AWS + * API Reference

+ */ + virtual Model::GetDefaultScraperConfigurationOutcome GetDefaultScraperConfiguration(const Model::GetDefaultScraperConfigurationRequest& request) const; + + /** + * A Callable wrapper for GetDefaultScraperConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetDefaultScraperConfigurationOutcomeCallable GetDefaultScraperConfigurationCallable(const GetDefaultScraperConfigurationRequestT& request) const + { + return SubmitCallable(&PrometheusServiceClient::GetDefaultScraperConfiguration, request); + } + + /** + * An Async wrapper for GetDefaultScraperConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetDefaultScraperConfigurationAsync(const GetDefaultScraperConfigurationRequestT& request, const GetDefaultScraperConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&PrometheusServiceClient::GetDefaultScraperConfiguration, request, handler, context); + } + /** *

Lists rule groups namespaces.

See Also:

AWS @@ -401,6 +501,33 @@ namespace PrometheusService return SubmitAsync(&PrometheusServiceClient::ListRuleGroupsNamespaces, request, handler, context); } + /** + *

Lists all scrapers in a customer account, including scrapers being created or + * deleted. You may provide filters to return a more specific list of + * results.

See Also:

AWS + * API Reference

+ */ + virtual Model::ListScrapersOutcome ListScrapers(const Model::ListScrapersRequest& request) const; + + /** + * A Callable wrapper for ListScrapers that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListScrapersOutcomeCallable ListScrapersCallable(const ListScrapersRequestT& request) const + { + return SubmitCallable(&PrometheusServiceClient::ListScrapers, request); + } + + /** + * An Async wrapper for ListScrapers that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListScrapersAsync(const ListScrapersRequestT& request, const ListScrapersResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&PrometheusServiceClient::ListScrapers, request, handler, context); + } + /** *

Lists the tags you have assigned to the resource.

See Also:

* #include #include +#include #include +#include #include #include #include +#include #include +#include #include +#include #include #include #include @@ -78,16 +83,21 @@ namespace Aws class CreateAlertManagerDefinitionRequest; class CreateLoggingConfigurationRequest; class CreateRuleGroupsNamespaceRequest; + class CreateScraperRequest; class CreateWorkspaceRequest; class DeleteAlertManagerDefinitionRequest; class DeleteLoggingConfigurationRequest; class DeleteRuleGroupsNamespaceRequest; + class DeleteScraperRequest; class DeleteWorkspaceRequest; class DescribeAlertManagerDefinitionRequest; class DescribeLoggingConfigurationRequest; class DescribeRuleGroupsNamespaceRequest; + class DescribeScraperRequest; class DescribeWorkspaceRequest; + class GetDefaultScraperConfigurationRequest; class ListRuleGroupsNamespacesRequest; + class ListScrapersRequest; class ListTagsForResourceRequest; class ListWorkspacesRequest; class PutAlertManagerDefinitionRequest; @@ -102,16 +112,21 @@ namespace Aws typedef Aws::Utils::Outcome CreateAlertManagerDefinitionOutcome; typedef Aws::Utils::Outcome CreateLoggingConfigurationOutcome; typedef Aws::Utils::Outcome CreateRuleGroupsNamespaceOutcome; + typedef Aws::Utils::Outcome CreateScraperOutcome; typedef Aws::Utils::Outcome CreateWorkspaceOutcome; typedef Aws::Utils::Outcome DeleteAlertManagerDefinitionOutcome; typedef Aws::Utils::Outcome DeleteLoggingConfigurationOutcome; typedef Aws::Utils::Outcome DeleteRuleGroupsNamespaceOutcome; + typedef Aws::Utils::Outcome DeleteScraperOutcome; typedef Aws::Utils::Outcome DeleteWorkspaceOutcome; typedef Aws::Utils::Outcome DescribeAlertManagerDefinitionOutcome; typedef Aws::Utils::Outcome DescribeLoggingConfigurationOutcome; typedef Aws::Utils::Outcome DescribeRuleGroupsNamespaceOutcome; + typedef Aws::Utils::Outcome DescribeScraperOutcome; typedef Aws::Utils::Outcome DescribeWorkspaceOutcome; + typedef Aws::Utils::Outcome GetDefaultScraperConfigurationOutcome; typedef Aws::Utils::Outcome ListRuleGroupsNamespacesOutcome; + typedef Aws::Utils::Outcome ListScrapersOutcome; typedef Aws::Utils::Outcome ListTagsForResourceOutcome; typedef Aws::Utils::Outcome ListWorkspacesOutcome; typedef Aws::Utils::Outcome PutAlertManagerDefinitionOutcome; @@ -126,16 +141,21 @@ namespace Aws typedef std::future CreateAlertManagerDefinitionOutcomeCallable; typedef std::future CreateLoggingConfigurationOutcomeCallable; typedef std::future CreateRuleGroupsNamespaceOutcomeCallable; + typedef std::future CreateScraperOutcomeCallable; typedef std::future CreateWorkspaceOutcomeCallable; typedef std::future DeleteAlertManagerDefinitionOutcomeCallable; typedef std::future DeleteLoggingConfigurationOutcomeCallable; typedef std::future DeleteRuleGroupsNamespaceOutcomeCallable; + typedef std::future DeleteScraperOutcomeCallable; typedef std::future DeleteWorkspaceOutcomeCallable; typedef std::future DescribeAlertManagerDefinitionOutcomeCallable; typedef std::future DescribeLoggingConfigurationOutcomeCallable; typedef std::future DescribeRuleGroupsNamespaceOutcomeCallable; + typedef std::future DescribeScraperOutcomeCallable; typedef std::future DescribeWorkspaceOutcomeCallable; + typedef std::future GetDefaultScraperConfigurationOutcomeCallable; typedef std::future ListRuleGroupsNamespacesOutcomeCallable; + typedef std::future ListScrapersOutcomeCallable; typedef std::future ListTagsForResourceOutcomeCallable; typedef std::future ListWorkspacesOutcomeCallable; typedef std::future PutAlertManagerDefinitionOutcomeCallable; @@ -153,16 +173,21 @@ namespace Aws typedef std::function&) > CreateAlertManagerDefinitionResponseReceivedHandler; typedef std::function&) > CreateLoggingConfigurationResponseReceivedHandler; typedef std::function&) > CreateRuleGroupsNamespaceResponseReceivedHandler; + typedef std::function&) > CreateScraperResponseReceivedHandler; typedef std::function&) > CreateWorkspaceResponseReceivedHandler; typedef std::function&) > DeleteAlertManagerDefinitionResponseReceivedHandler; typedef std::function&) > DeleteLoggingConfigurationResponseReceivedHandler; typedef std::function&) > DeleteRuleGroupsNamespaceResponseReceivedHandler; + typedef std::function&) > DeleteScraperResponseReceivedHandler; typedef std::function&) > DeleteWorkspaceResponseReceivedHandler; typedef std::function&) > DescribeAlertManagerDefinitionResponseReceivedHandler; typedef std::function&) > DescribeLoggingConfigurationResponseReceivedHandler; typedef std::function&) > DescribeRuleGroupsNamespaceResponseReceivedHandler; + typedef std::function&) > DescribeScraperResponseReceivedHandler; typedef std::function&) > DescribeWorkspaceResponseReceivedHandler; + typedef std::function&) > GetDefaultScraperConfigurationResponseReceivedHandler; typedef std::function&) > ListRuleGroupsNamespacesResponseReceivedHandler; + typedef std::function&) > ListScrapersResponseReceivedHandler; typedef std::function&) > ListTagsForResourceResponseReceivedHandler; typedef std::function&) > ListWorkspacesResponseReceivedHandler; typedef std::function&) > PutAlertManagerDefinitionResponseReceivedHandler; diff --git a/generated/src/aws-cpp-sdk-amp/include/aws/amp/model/AmpConfiguration.h b/generated/src/aws-cpp-sdk-amp/include/aws/amp/model/AmpConfiguration.h new file mode 100644 index 00000000000..604a69773e5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-amp/include/aws/amp/model/AmpConfiguration.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 + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace PrometheusService +{ +namespace Model +{ + + /** + *

A representation of an AMP destination.

See Also:

AWS + * API Reference

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

The ARN of an AMP workspace.

+ */ + inline const Aws::String& GetWorkspaceArn() const{ return m_workspaceArn; } + + /** + *

The ARN of an AMP workspace.

+ */ + inline bool WorkspaceArnHasBeenSet() const { return m_workspaceArnHasBeenSet; } + + /** + *

The ARN of an AMP workspace.

+ */ + inline void SetWorkspaceArn(const Aws::String& value) { m_workspaceArnHasBeenSet = true; m_workspaceArn = value; } + + /** + *

The ARN of an AMP workspace.

+ */ + inline void SetWorkspaceArn(Aws::String&& value) { m_workspaceArnHasBeenSet = true; m_workspaceArn = std::move(value); } + + /** + *

The ARN of an AMP workspace.

+ */ + inline void SetWorkspaceArn(const char* value) { m_workspaceArnHasBeenSet = true; m_workspaceArn.assign(value); } + + /** + *

The ARN of an AMP workspace.

+ */ + inline AmpConfiguration& WithWorkspaceArn(const Aws::String& value) { SetWorkspaceArn(value); return *this;} + + /** + *

The ARN of an AMP workspace.

+ */ + inline AmpConfiguration& WithWorkspaceArn(Aws::String&& value) { SetWorkspaceArn(std::move(value)); return *this;} + + /** + *

The ARN of an AMP workspace.

+ */ + inline AmpConfiguration& WithWorkspaceArn(const char* value) { SetWorkspaceArn(value); return *this;} + + private: + + Aws::String m_workspaceArn; + bool m_workspaceArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace PrometheusService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-amp/include/aws/amp/model/CreateScraperRequest.h b/generated/src/aws-cpp-sdk-amp/include/aws/amp/model/CreateScraperRequest.h new file mode 100644 index 00000000000..ae1ef016d75 --- /dev/null +++ b/generated/src/aws-cpp-sdk-amp/include/aws/amp/model/CreateScraperRequest.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 +#include + +namespace Aws +{ +namespace PrometheusService +{ +namespace Model +{ + + /** + *

Represents the input of a CreateScraper operation.

See Also:

+ * AWS + * API Reference

+ */ + class CreateScraperRequest : public PrometheusServiceRequest + { + public: + AWS_PROMETHEUSSERVICE_API CreateScraperRequest(); + + // 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 "CreateScraper"; } + + AWS_PROMETHEUSSERVICE_API Aws::String SerializePayload() const override; + + + /** + *

An optional user-assigned alias for this scraper. This alias is for user + * reference and does not need to be unique.

+ */ + inline const Aws::String& GetAlias() const{ return m_alias; } + + /** + *

An optional user-assigned alias for this scraper. This alias is for user + * reference and does not need to be unique.

+ */ + inline bool AliasHasBeenSet() const { return m_aliasHasBeenSet; } + + /** + *

An optional user-assigned alias for this scraper. This alias is for user + * reference and does not need to be unique.

+ */ + inline void SetAlias(const Aws::String& value) { m_aliasHasBeenSet = true; m_alias = value; } + + /** + *

An optional user-assigned alias for this scraper. This alias is for user + * reference and does not need to be unique.

+ */ + inline void SetAlias(Aws::String&& value) { m_aliasHasBeenSet = true; m_alias = std::move(value); } + + /** + *

An optional user-assigned alias for this scraper. This alias is for user + * reference and does not need to be unique.

+ */ + inline void SetAlias(const char* value) { m_aliasHasBeenSet = true; m_alias.assign(value); } + + /** + *

An optional user-assigned alias for this scraper. This alias is for user + * reference and does not need to be unique.

+ */ + inline CreateScraperRequest& WithAlias(const Aws::String& value) { SetAlias(value); return *this;} + + /** + *

An optional user-assigned alias for this scraper. This alias is for user + * reference and does not need to be unique.

+ */ + inline CreateScraperRequest& WithAlias(Aws::String&& value) { SetAlias(std::move(value)); return *this;} + + /** + *

An optional user-assigned alias for this scraper. This alias is for user + * reference and does not need to be unique.

+ */ + inline CreateScraperRequest& WithAlias(const char* value) { SetAlias(value); return *this;} + + + /** + *

The configuration used to create the scraper.

+ */ + inline const ScrapeConfiguration& GetScrapeConfiguration() const{ return m_scrapeConfiguration; } + + /** + *

The configuration used to create the scraper.

+ */ + inline bool ScrapeConfigurationHasBeenSet() const { return m_scrapeConfigurationHasBeenSet; } + + /** + *

The configuration used to create the scraper.

+ */ + inline void SetScrapeConfiguration(const ScrapeConfiguration& value) { m_scrapeConfigurationHasBeenSet = true; m_scrapeConfiguration = value; } + + /** + *

The configuration used to create the scraper.

+ */ + inline void SetScrapeConfiguration(ScrapeConfiguration&& value) { m_scrapeConfigurationHasBeenSet = true; m_scrapeConfiguration = std::move(value); } + + /** + *

The configuration used to create the scraper.

+ */ + inline CreateScraperRequest& WithScrapeConfiguration(const ScrapeConfiguration& value) { SetScrapeConfiguration(value); return *this;} + + /** + *

The configuration used to create the scraper.

+ */ + inline CreateScraperRequest& WithScrapeConfiguration(ScrapeConfiguration&& value) { SetScrapeConfiguration(std::move(value)); return *this;} + + + /** + *

The source that the scraper will be discovering and collecting metrics + * from.

+ */ + inline const Source& GetSource() const{ return m_source; } + + /** + *

The source that the scraper will be discovering and collecting metrics + * from.

+ */ + inline bool SourceHasBeenSet() const { return m_sourceHasBeenSet; } + + /** + *

The source that the scraper will be discovering and collecting metrics + * from.

+ */ + inline void SetSource(const Source& value) { m_sourceHasBeenSet = true; m_source = value; } + + /** + *

The source that the scraper will be discovering and collecting metrics + * from.

+ */ + inline void SetSource(Source&& value) { m_sourceHasBeenSet = true; m_source = std::move(value); } + + /** + *

The source that the scraper will be discovering and collecting metrics + * from.

+ */ + inline CreateScraperRequest& WithSource(const Source& value) { SetSource(value); return *this;} + + /** + *

The source that the scraper will be discovering and collecting metrics + * from.

+ */ + inline CreateScraperRequest& WithSource(Source&& value) { SetSource(std::move(value)); return *this;} + + + /** + *

The destination that the scraper will be producing metrics to.

+ */ + inline const Destination& GetDestination() const{ return m_destination; } + + /** + *

The destination that the scraper will be producing metrics to.

+ */ + inline bool DestinationHasBeenSet() const { return m_destinationHasBeenSet; } + + /** + *

The destination that the scraper will be producing metrics to.

+ */ + inline void SetDestination(const Destination& value) { m_destinationHasBeenSet = true; m_destination = value; } + + /** + *

The destination that the scraper will be producing metrics to.

+ */ + inline void SetDestination(Destination&& value) { m_destinationHasBeenSet = true; m_destination = std::move(value); } + + /** + *

The destination that the scraper will be producing metrics to.

+ */ + inline CreateScraperRequest& WithDestination(const Destination& value) { SetDestination(value); return *this;} + + /** + *

The destination that the scraper will be producing metrics to.

+ */ + inline CreateScraperRequest& WithDestination(Destination&& value) { SetDestination(std::move(value)); return *this;} + + + /** + *

Optional, unique, case-sensitive, user-provided identifier to ensure the + * idempotency of the request.

+ */ + inline const Aws::String& GetClientToken() const{ return m_clientToken; } + + /** + *

Optional, unique, case-sensitive, user-provided identifier to ensure the + * idempotency of the request.

+ */ + inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } + + /** + *

Optional, unique, case-sensitive, user-provided identifier to ensure the + * idempotency of the request.

+ */ + inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; } + + /** + *

Optional, unique, case-sensitive, user-provided identifier to ensure the + * idempotency of the request.

+ */ + inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); } + + /** + *

Optional, unique, case-sensitive, user-provided identifier to ensure the + * idempotency of the request.

+ */ + inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); } + + /** + *

Optional, unique, case-sensitive, user-provided identifier to ensure the + * idempotency of the request.

+ */ + inline CreateScraperRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;} + + /** + *

Optional, unique, case-sensitive, user-provided identifier to ensure the + * idempotency of the request.

+ */ + inline CreateScraperRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;} + + /** + *

Optional, unique, case-sensitive, user-provided identifier to ensure the + * idempotency of the request.

+ */ + inline CreateScraperRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;} + + + /** + *

Optional, user-provided tags for this scraper.

+ */ + inline const Aws::Map& GetTags() const{ return m_tags; } + + /** + *

Optional, user-provided tags for this scraper.

+ */ + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + + /** + *

Optional, user-provided tags for this scraper.

+ */ + inline void SetTags(const Aws::Map& value) { m_tagsHasBeenSet = true; m_tags = value; } + + /** + *

Optional, user-provided tags for this scraper.

+ */ + inline void SetTags(Aws::Map&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } + + /** + *

Optional, user-provided tags for this scraper.

+ */ + inline CreateScraperRequest& WithTags(const Aws::Map& value) { SetTags(value); return *this;} + + /** + *

Optional, user-provided tags for this scraper.

+ */ + inline CreateScraperRequest& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} + + /** + *

Optional, user-provided tags for this scraper.

+ */ + inline CreateScraperRequest& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } + + /** + *

Optional, user-provided tags for this scraper.

+ */ + inline CreateScraperRequest& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } + + /** + *

Optional, user-provided tags for this scraper.

+ */ + inline CreateScraperRequest& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } + + /** + *

Optional, user-provided tags for this scraper.

+ */ + inline CreateScraperRequest& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } + + /** + *

Optional, user-provided tags for this scraper.

+ */ + inline CreateScraperRequest& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } + + /** + *

Optional, user-provided tags for this scraper.

+ */ + inline CreateScraperRequest& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } + + /** + *

Optional, user-provided tags for this scraper.

+ */ + inline CreateScraperRequest& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } + + private: + + Aws::String m_alias; + bool m_aliasHasBeenSet = false; + + ScrapeConfiguration m_scrapeConfiguration; + bool m_scrapeConfigurationHasBeenSet = false; + + Source m_source; + bool m_sourceHasBeenSet = false; + + Destination m_destination; + bool m_destinationHasBeenSet = false; + + Aws::String m_clientToken; + bool m_clientTokenHasBeenSet = false; + + Aws::Map m_tags; + bool m_tagsHasBeenSet = false; + }; + +} // namespace Model +} // namespace PrometheusService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-amp/include/aws/amp/model/CreateScraperResult.h b/generated/src/aws-cpp-sdk-amp/include/aws/amp/model/CreateScraperResult.h new file mode 100644 index 00000000000..d0af8f3d859 --- /dev/null +++ b/generated/src/aws-cpp-sdk-amp/include/aws/amp/model/CreateScraperResult.h @@ -0,0 +1,238 @@ +/** + * 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 PrometheusService +{ +namespace Model +{ + /** + *

Represents the output of a CreateScraper operation.

See Also:

+ * AWS + * API Reference

+ */ + class CreateScraperResult + { + public: + AWS_PROMETHEUSSERVICE_API CreateScraperResult(); + AWS_PROMETHEUSSERVICE_API CreateScraperResult(const Aws::AmazonWebServiceResult& result); + AWS_PROMETHEUSSERVICE_API CreateScraperResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

The generated ID of the scraper that was just created.

+ */ + inline const Aws::String& GetScraperId() const{ return m_scraperId; } + + /** + *

The generated ID of the scraper that was just created.

+ */ + inline void SetScraperId(const Aws::String& value) { m_scraperId = value; } + + /** + *

The generated ID of the scraper that was just created.

+ */ + inline void SetScraperId(Aws::String&& value) { m_scraperId = std::move(value); } + + /** + *

The generated ID of the scraper that was just created.

+ */ + inline void SetScraperId(const char* value) { m_scraperId.assign(value); } + + /** + *

The generated ID of the scraper that was just created.

+ */ + inline CreateScraperResult& WithScraperId(const Aws::String& value) { SetScraperId(value); return *this;} + + /** + *

The generated ID of the scraper that was just created.

+ */ + inline CreateScraperResult& WithScraperId(Aws::String&& value) { SetScraperId(std::move(value)); return *this;} + + /** + *

The generated ID of the scraper that was just created.

+ */ + inline CreateScraperResult& WithScraperId(const char* value) { SetScraperId(value); return *this;} + + + /** + *

The ARN of the scraper that was just created.

+ */ + inline const Aws::String& GetArn() const{ return m_arn; } + + /** + *

The ARN of the scraper that was just created.

+ */ + inline void SetArn(const Aws::String& value) { m_arn = value; } + + /** + *

The ARN of the scraper that was just created.

+ */ + inline void SetArn(Aws::String&& value) { m_arn = std::move(value); } + + /** + *

The ARN of the scraper that was just created.

+ */ + inline void SetArn(const char* value) { m_arn.assign(value); } + + /** + *

The ARN of the scraper that was just created.

+ */ + inline CreateScraperResult& WithArn(const Aws::String& value) { SetArn(value); return *this;} + + /** + *

The ARN of the scraper that was just created.

+ */ + inline CreateScraperResult& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} + + /** + *

The ARN of the scraper that was just created.

+ */ + inline CreateScraperResult& WithArn(const char* value) { SetArn(value); return *this;} + + + /** + *

The status of the scraper that was just created (usually CREATING).

+ */ + inline const ScraperStatus& GetStatus() const{ return m_status; } + + /** + *

The status of the scraper that was just created (usually CREATING).

+ */ + inline void SetStatus(const ScraperStatus& value) { m_status = value; } + + /** + *

The status of the scraper that was just created (usually CREATING).

+ */ + inline void SetStatus(ScraperStatus&& value) { m_status = std::move(value); } + + /** + *

The status of the scraper that was just created (usually CREATING).

+ */ + inline CreateScraperResult& WithStatus(const ScraperStatus& value) { SetStatus(value); return *this;} + + /** + *

The status of the scraper that was just created (usually CREATING).

+ */ + inline CreateScraperResult& WithStatus(ScraperStatus&& value) { SetStatus(std::move(value)); return *this;} + + + /** + *

The tags of this scraper.

+ */ + inline const Aws::Map& GetTags() const{ return m_tags; } + + /** + *

The tags of this scraper.

+ */ + inline void SetTags(const Aws::Map& value) { m_tags = value; } + + /** + *

The tags of this scraper.

+ */ + inline void SetTags(Aws::Map&& value) { m_tags = std::move(value); } + + /** + *

The tags of this scraper.

+ */ + inline CreateScraperResult& WithTags(const Aws::Map& value) { SetTags(value); return *this;} + + /** + *

The tags of this scraper.

+ */ + inline CreateScraperResult& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} + + /** + *

The tags of this scraper.

+ */ + inline CreateScraperResult& AddTags(const Aws::String& key, const Aws::String& value) { m_tags.emplace(key, value); return *this; } + + /** + *

The tags of this scraper.

+ */ + inline CreateScraperResult& AddTags(Aws::String&& key, const Aws::String& value) { m_tags.emplace(std::move(key), value); return *this; } + + /** + *

The tags of this scraper.

+ */ + inline CreateScraperResult& AddTags(const Aws::String& key, Aws::String&& value) { m_tags.emplace(key, std::move(value)); return *this; } + + /** + *

The tags of this scraper.

+ */ + inline CreateScraperResult& AddTags(Aws::String&& key, Aws::String&& value) { m_tags.emplace(std::move(key), std::move(value)); return *this; } + + /** + *

The tags of this scraper.

+ */ + inline CreateScraperResult& AddTags(const char* key, Aws::String&& value) { m_tags.emplace(key, std::move(value)); return *this; } + + /** + *

The tags of this scraper.

+ */ + inline CreateScraperResult& AddTags(Aws::String&& key, const char* value) { m_tags.emplace(std::move(key), value); return *this; } + + /** + *

The tags of this scraper.

+ */ + inline CreateScraperResult& AddTags(const char* key, const char* value) { m_tags.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 CreateScraperResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline CreateScraperResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline CreateScraperResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::String m_scraperId; + + Aws::String m_arn; + + ScraperStatus m_status; + + Aws::Map m_tags; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace PrometheusService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-amp/include/aws/amp/model/DeleteScraperRequest.h b/generated/src/aws-cpp-sdk-amp/include/aws/amp/model/DeleteScraperRequest.h new file mode 100644 index 00000000000..0b9e1eeac27 --- /dev/null +++ b/generated/src/aws-cpp-sdk-amp/include/aws/amp/model/DeleteScraperRequest.h @@ -0,0 +1,146 @@ +/** + * 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 PrometheusService +{ +namespace Model +{ + + /** + *

Represents the input of a DeleteScraper operation.

See Also:

+ * AWS + * API Reference

+ */ + class DeleteScraperRequest : public PrometheusServiceRequest + { + public: + AWS_PROMETHEUSSERVICE_API DeleteScraperRequest(); + + // 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 "DeleteScraper"; } + + AWS_PROMETHEUSSERVICE_API Aws::String SerializePayload() const override; + + AWS_PROMETHEUSSERVICE_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + /** + *

The ID of the scraper to delete.

+ */ + inline const Aws::String& GetScraperId() const{ return m_scraperId; } + + /** + *

The ID of the scraper to delete.

+ */ + inline bool ScraperIdHasBeenSet() const { return m_scraperIdHasBeenSet; } + + /** + *

The ID of the scraper to delete.

+ */ + inline void SetScraperId(const Aws::String& value) { m_scraperIdHasBeenSet = true; m_scraperId = value; } + + /** + *

The ID of the scraper to delete.

+ */ + inline void SetScraperId(Aws::String&& value) { m_scraperIdHasBeenSet = true; m_scraperId = std::move(value); } + + /** + *

The ID of the scraper to delete.

+ */ + inline void SetScraperId(const char* value) { m_scraperIdHasBeenSet = true; m_scraperId.assign(value); } + + /** + *

The ID of the scraper to delete.

+ */ + inline DeleteScraperRequest& WithScraperId(const Aws::String& value) { SetScraperId(value); return *this;} + + /** + *

The ID of the scraper to delete.

+ */ + inline DeleteScraperRequest& WithScraperId(Aws::String&& value) { SetScraperId(std::move(value)); return *this;} + + /** + *

The ID of the scraper to delete.

+ */ + inline DeleteScraperRequest& WithScraperId(const char* value) { SetScraperId(value); return *this;} + + + /** + *

Optional, unique, case-sensitive, user-provided identifier to ensure the + * idempotency of the request.

+ */ + inline const Aws::String& GetClientToken() const{ return m_clientToken; } + + /** + *

Optional, unique, case-sensitive, user-provided identifier to ensure the + * idempotency of the request.

+ */ + inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } + + /** + *

Optional, unique, case-sensitive, user-provided identifier to ensure the + * idempotency of the request.

+ */ + inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; } + + /** + *

Optional, unique, case-sensitive, user-provided identifier to ensure the + * idempotency of the request.

+ */ + inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); } + + /** + *

Optional, unique, case-sensitive, user-provided identifier to ensure the + * idempotency of the request.

+ */ + inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); } + + /** + *

Optional, unique, case-sensitive, user-provided identifier to ensure the + * idempotency of the request.

+ */ + inline DeleteScraperRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;} + + /** + *

Optional, unique, case-sensitive, user-provided identifier to ensure the + * idempotency of the request.

+ */ + inline DeleteScraperRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;} + + /** + *

Optional, unique, case-sensitive, user-provided identifier to ensure the + * idempotency of the request.

+ */ + inline DeleteScraperRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;} + + private: + + Aws::String m_scraperId; + bool m_scraperIdHasBeenSet = false; + + Aws::String m_clientToken; + bool m_clientTokenHasBeenSet = false; + }; + +} // namespace Model +} // namespace PrometheusService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-amp/include/aws/amp/model/DeleteScraperResult.h b/generated/src/aws-cpp-sdk-amp/include/aws/amp/model/DeleteScraperResult.h new file mode 100644 index 00000000000..00a4f6d9305 --- /dev/null +++ b/generated/src/aws-cpp-sdk-amp/include/aws/amp/model/DeleteScraperResult.h @@ -0,0 +1,136 @@ +/** + * 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 PrometheusService +{ +namespace Model +{ + /** + *

Represents the output of a DeleteScraper operation.

See Also:

+ * AWS + * API Reference

+ */ + class DeleteScraperResult + { + public: + AWS_PROMETHEUSSERVICE_API DeleteScraperResult(); + AWS_PROMETHEUSSERVICE_API DeleteScraperResult(const Aws::AmazonWebServiceResult& result); + AWS_PROMETHEUSSERVICE_API DeleteScraperResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

The ID of the scraper that was deleted.

+ */ + inline const Aws::String& GetScraperId() const{ return m_scraperId; } + + /** + *

The ID of the scraper that was deleted.

+ */ + inline void SetScraperId(const Aws::String& value) { m_scraperId = value; } + + /** + *

The ID of the scraper that was deleted.

+ */ + inline void SetScraperId(Aws::String&& value) { m_scraperId = std::move(value); } + + /** + *

The ID of the scraper that was deleted.

+ */ + inline void SetScraperId(const char* value) { m_scraperId.assign(value); } + + /** + *

The ID of the scraper that was deleted.

+ */ + inline DeleteScraperResult& WithScraperId(const Aws::String& value) { SetScraperId(value); return *this;} + + /** + *

The ID of the scraper that was deleted.

+ */ + inline DeleteScraperResult& WithScraperId(Aws::String&& value) { SetScraperId(std::move(value)); return *this;} + + /** + *

The ID of the scraper that was deleted.

+ */ + inline DeleteScraperResult& WithScraperId(const char* value) { SetScraperId(value); return *this;} + + + /** + *

The status of the scraper that is being deleted.

+ */ + inline const ScraperStatus& GetStatus() const{ return m_status; } + + /** + *

The status of the scraper that is being deleted.

+ */ + inline void SetStatus(const ScraperStatus& value) { m_status = value; } + + /** + *

The status of the scraper that is being deleted.

+ */ + inline void SetStatus(ScraperStatus&& value) { m_status = std::move(value); } + + /** + *

The status of the scraper that is being deleted.

+ */ + inline DeleteScraperResult& WithStatus(const ScraperStatus& value) { SetStatus(value); return *this;} + + /** + *

The status of the scraper that is being deleted.

+ */ + inline DeleteScraperResult& WithStatus(ScraperStatus&& 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 DeleteScraperResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline DeleteScraperResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline DeleteScraperResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::String m_scraperId; + + ScraperStatus m_status; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace PrometheusService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-amp/include/aws/amp/model/DescribeScraperRequest.h b/generated/src/aws-cpp-sdk-amp/include/aws/amp/model/DescribeScraperRequest.h new file mode 100644 index 00000000000..bea2bda1193 --- /dev/null +++ b/generated/src/aws-cpp-sdk-amp/include/aws/amp/model/DescribeScraperRequest.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 + +namespace Aws +{ +namespace PrometheusService +{ +namespace Model +{ + + /** + *

Represents the input of a DescribeScraper operation.

See Also:

+ * AWS + * API Reference

+ */ + class DescribeScraperRequest : public PrometheusServiceRequest + { + public: + AWS_PROMETHEUSSERVICE_API DescribeScraperRequest(); + + // 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 "DescribeScraper"; } + + AWS_PROMETHEUSSERVICE_API Aws::String SerializePayload() const override; + + + /** + *

The IDs of the scraper to describe.

+ */ + inline const Aws::String& GetScraperId() const{ return m_scraperId; } + + /** + *

The IDs of the scraper to describe.

+ */ + inline bool ScraperIdHasBeenSet() const { return m_scraperIdHasBeenSet; } + + /** + *

The IDs of the scraper to describe.

+ */ + inline void SetScraperId(const Aws::String& value) { m_scraperIdHasBeenSet = true; m_scraperId = value; } + + /** + *

The IDs of the scraper to describe.

+ */ + inline void SetScraperId(Aws::String&& value) { m_scraperIdHasBeenSet = true; m_scraperId = std::move(value); } + + /** + *

The IDs of the scraper to describe.

+ */ + inline void SetScraperId(const char* value) { m_scraperIdHasBeenSet = true; m_scraperId.assign(value); } + + /** + *

The IDs of the scraper to describe.

+ */ + inline DescribeScraperRequest& WithScraperId(const Aws::String& value) { SetScraperId(value); return *this;} + + /** + *

The IDs of the scraper to describe.

+ */ + inline DescribeScraperRequest& WithScraperId(Aws::String&& value) { SetScraperId(std::move(value)); return *this;} + + /** + *

The IDs of the scraper to describe.

+ */ + inline DescribeScraperRequest& WithScraperId(const char* value) { SetScraperId(value); return *this;} + + private: + + Aws::String m_scraperId; + bool m_scraperIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace PrometheusService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-amp/include/aws/amp/model/DescribeScraperResult.h b/generated/src/aws-cpp-sdk-amp/include/aws/amp/model/DescribeScraperResult.h new file mode 100644 index 00000000000..951c5188fd6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-amp/include/aws/amp/model/DescribeScraperResult.h @@ -0,0 +1,98 @@ +/** + * 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 PrometheusService +{ +namespace Model +{ + /** + *

Represents the output of a DescribeScraper operation.

See + * Also:

AWS + * API Reference

+ */ + class DescribeScraperResult + { + public: + AWS_PROMETHEUSSERVICE_API DescribeScraperResult(); + AWS_PROMETHEUSSERVICE_API DescribeScraperResult(const Aws::AmazonWebServiceResult& result); + AWS_PROMETHEUSSERVICE_API DescribeScraperResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

The properties of the selected scrapers.

+ */ + inline const ScraperDescription& GetScraper() const{ return m_scraper; } + + /** + *

The properties of the selected scrapers.

+ */ + inline void SetScraper(const ScraperDescription& value) { m_scraper = value; } + + /** + *

The properties of the selected scrapers.

+ */ + inline void SetScraper(ScraperDescription&& value) { m_scraper = std::move(value); } + + /** + *

The properties of the selected scrapers.

+ */ + inline DescribeScraperResult& WithScraper(const ScraperDescription& value) { SetScraper(value); return *this;} + + /** + *

The properties of the selected scrapers.

+ */ + inline DescribeScraperResult& WithScraper(ScraperDescription&& value) { SetScraper(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 DescribeScraperResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline DescribeScraperResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline DescribeScraperResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + ScraperDescription m_scraper; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace PrometheusService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-amp/include/aws/amp/model/Destination.h b/generated/src/aws-cpp-sdk-amp/include/aws/amp/model/Destination.h new file mode 100644 index 00000000000..3161f7d9937 --- /dev/null +++ b/generated/src/aws-cpp-sdk-amp/include/aws/amp/model/Destination.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 PrometheusService +{ +namespace Model +{ + + /** + *

A representation of a destination that a scraper can produce metrics + * to.

See Also:

AWS API + * Reference

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

A representation of an AMP destination.

+ */ + inline const AmpConfiguration& GetAmpConfiguration() const{ return m_ampConfiguration; } + + /** + *

A representation of an AMP destination.

+ */ + inline bool AmpConfigurationHasBeenSet() const { return m_ampConfigurationHasBeenSet; } + + /** + *

A representation of an AMP destination.

+ */ + inline void SetAmpConfiguration(const AmpConfiguration& value) { m_ampConfigurationHasBeenSet = true; m_ampConfiguration = value; } + + /** + *

A representation of an AMP destination.

+ */ + inline void SetAmpConfiguration(AmpConfiguration&& value) { m_ampConfigurationHasBeenSet = true; m_ampConfiguration = std::move(value); } + + /** + *

A representation of an AMP destination.

+ */ + inline Destination& WithAmpConfiguration(const AmpConfiguration& value) { SetAmpConfiguration(value); return *this;} + + /** + *

A representation of an AMP destination.

+ */ + inline Destination& WithAmpConfiguration(AmpConfiguration&& value) { SetAmpConfiguration(std::move(value)); return *this;} + + private: + + AmpConfiguration m_ampConfiguration; + bool m_ampConfigurationHasBeenSet = false; + }; + +} // namespace Model +} // namespace PrometheusService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-amp/include/aws/amp/model/EksConfiguration.h b/generated/src/aws-cpp-sdk-amp/include/aws/amp/model/EksConfiguration.h new file mode 100644 index 00000000000..fd891afb24b --- /dev/null +++ b/generated/src/aws-cpp-sdk-amp/include/aws/amp/model/EksConfiguration.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 + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace PrometheusService +{ +namespace Model +{ + + /** + *

A representation of an EKS source.

See Also:

AWS + * API Reference

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

The ARN of an EKS cluster.

+ */ + inline const Aws::String& GetClusterArn() const{ return m_clusterArn; } + + /** + *

The ARN of an EKS cluster.

+ */ + inline bool ClusterArnHasBeenSet() const { return m_clusterArnHasBeenSet; } + + /** + *

The ARN of an EKS cluster.

+ */ + inline void SetClusterArn(const Aws::String& value) { m_clusterArnHasBeenSet = true; m_clusterArn = value; } + + /** + *

The ARN of an EKS cluster.

+ */ + inline void SetClusterArn(Aws::String&& value) { m_clusterArnHasBeenSet = true; m_clusterArn = std::move(value); } + + /** + *

The ARN of an EKS cluster.

+ */ + inline void SetClusterArn(const char* value) { m_clusterArnHasBeenSet = true; m_clusterArn.assign(value); } + + /** + *

The ARN of an EKS cluster.

+ */ + inline EksConfiguration& WithClusterArn(const Aws::String& value) { SetClusterArn(value); return *this;} + + /** + *

The ARN of an EKS cluster.

+ */ + inline EksConfiguration& WithClusterArn(Aws::String&& value) { SetClusterArn(std::move(value)); return *this;} + + /** + *

The ARN of an EKS cluster.

+ */ + inline EksConfiguration& WithClusterArn(const char* value) { SetClusterArn(value); return *this;} + + + /** + *

A list of security group IDs specified for VPC configuration.

+ */ + inline const Aws::Vector& GetSecurityGroupIds() const{ return m_securityGroupIds; } + + /** + *

A list of security group IDs specified for VPC configuration.

+ */ + inline bool SecurityGroupIdsHasBeenSet() const { return m_securityGroupIdsHasBeenSet; } + + /** + *

A list of security group IDs specified for VPC configuration.

+ */ + inline void SetSecurityGroupIds(const Aws::Vector& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds = value; } + + /** + *

A list of security group IDs specified for VPC configuration.

+ */ + inline void SetSecurityGroupIds(Aws::Vector&& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds = std::move(value); } + + /** + *

A list of security group IDs specified for VPC configuration.

+ */ + inline EksConfiguration& WithSecurityGroupIds(const Aws::Vector& value) { SetSecurityGroupIds(value); return *this;} + + /** + *

A list of security group IDs specified for VPC configuration.

+ */ + inline EksConfiguration& WithSecurityGroupIds(Aws::Vector&& value) { SetSecurityGroupIds(std::move(value)); return *this;} + + /** + *

A list of security group IDs specified for VPC configuration.

+ */ + inline EksConfiguration& AddSecurityGroupIds(const Aws::String& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds.push_back(value); return *this; } + + /** + *

A list of security group IDs specified for VPC configuration.

+ */ + inline EksConfiguration& AddSecurityGroupIds(Aws::String&& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds.push_back(std::move(value)); return *this; } + + /** + *

A list of security group IDs specified for VPC configuration.

+ */ + inline EksConfiguration& AddSecurityGroupIds(const char* value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds.push_back(value); return *this; } + + + /** + *

A list of subnet IDs specified for VPC configuration.

+ */ + inline const Aws::Vector& GetSubnetIds() const{ return m_subnetIds; } + + /** + *

A list of subnet IDs specified for VPC configuration.

+ */ + inline bool SubnetIdsHasBeenSet() const { return m_subnetIdsHasBeenSet; } + + /** + *

A list of subnet IDs specified for VPC configuration.

+ */ + inline void SetSubnetIds(const Aws::Vector& value) { m_subnetIdsHasBeenSet = true; m_subnetIds = value; } + + /** + *

A list of subnet IDs specified for VPC configuration.

+ */ + inline void SetSubnetIds(Aws::Vector&& value) { m_subnetIdsHasBeenSet = true; m_subnetIds = std::move(value); } + + /** + *

A list of subnet IDs specified for VPC configuration.

+ */ + inline EksConfiguration& WithSubnetIds(const Aws::Vector& value) { SetSubnetIds(value); return *this;} + + /** + *

A list of subnet IDs specified for VPC configuration.

+ */ + inline EksConfiguration& WithSubnetIds(Aws::Vector&& value) { SetSubnetIds(std::move(value)); return *this;} + + /** + *

A list of subnet IDs specified for VPC configuration.

+ */ + inline EksConfiguration& AddSubnetIds(const Aws::String& value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(value); return *this; } + + /** + *

A list of subnet IDs specified for VPC configuration.

+ */ + inline EksConfiguration& AddSubnetIds(Aws::String&& value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(std::move(value)); return *this; } + + /** + *

A list of subnet IDs specified for VPC configuration.

+ */ + inline EksConfiguration& AddSubnetIds(const char* value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(value); return *this; } + + private: + + Aws::String m_clusterArn; + bool m_clusterArnHasBeenSet = false; + + Aws::Vector m_securityGroupIds; + bool m_securityGroupIdsHasBeenSet = false; + + Aws::Vector m_subnetIds; + bool m_subnetIdsHasBeenSet = false; + }; + +} // namespace Model +} // namespace PrometheusService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-amp/include/aws/amp/model/GetDefaultScraperConfigurationRequest.h b/generated/src/aws-cpp-sdk-amp/include/aws/amp/model/GetDefaultScraperConfigurationRequest.h new file mode 100644 index 00000000000..f12d8175198 --- /dev/null +++ b/generated/src/aws-cpp-sdk-amp/include/aws/amp/model/GetDefaultScraperConfigurationRequest.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 PrometheusService +{ +namespace Model +{ + + /** + *

Represents the input of a GetDefaultScraperConfiguration + * operation.

See Also:

AWS + * API Reference

+ */ + class GetDefaultScraperConfigurationRequest : public PrometheusServiceRequest + { + public: + AWS_PROMETHEUSSERVICE_API GetDefaultScraperConfigurationRequest(); + + // 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 "GetDefaultScraperConfiguration"; } + + AWS_PROMETHEUSSERVICE_API Aws::String SerializePayload() const override; + + }; + +} // namespace Model +} // namespace PrometheusService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-amp/include/aws/amp/model/GetDefaultScraperConfigurationResult.h b/generated/src/aws-cpp-sdk-amp/include/aws/amp/model/GetDefaultScraperConfigurationResult.h new file mode 100644 index 00000000000..0987a9805f6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-amp/include/aws/amp/model/GetDefaultScraperConfigurationResult.h @@ -0,0 +1,98 @@ +/** + * 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 PrometheusService +{ +namespace Model +{ + /** + *

Represents the output of a GetDefaultScraperConfiguration + * operation.

See Also:

AWS + * API Reference

+ */ + class GetDefaultScraperConfigurationResult + { + public: + AWS_PROMETHEUSSERVICE_API GetDefaultScraperConfigurationResult(); + AWS_PROMETHEUSSERVICE_API GetDefaultScraperConfigurationResult(const Aws::AmazonWebServiceResult& result); + AWS_PROMETHEUSSERVICE_API GetDefaultScraperConfigurationResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

The default configuration.

+ */ + inline const Aws::Utils::ByteBuffer& GetConfiguration() const{ return m_configuration; } + + /** + *

The default configuration.

+ */ + inline void SetConfiguration(const Aws::Utils::ByteBuffer& value) { m_configuration = value; } + + /** + *

The default configuration.

+ */ + inline void SetConfiguration(Aws::Utils::ByteBuffer&& value) { m_configuration = std::move(value); } + + /** + *

The default configuration.

+ */ + inline GetDefaultScraperConfigurationResult& WithConfiguration(const Aws::Utils::ByteBuffer& value) { SetConfiguration(value); return *this;} + + /** + *

The default configuration.

+ */ + inline GetDefaultScraperConfigurationResult& WithConfiguration(Aws::Utils::ByteBuffer&& value) { SetConfiguration(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 GetDefaultScraperConfigurationResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline GetDefaultScraperConfigurationResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline GetDefaultScraperConfigurationResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::Utils::ByteBuffer m_configuration; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace PrometheusService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-amp/include/aws/amp/model/ListScrapersRequest.h b/generated/src/aws-cpp-sdk-amp/include/aws/amp/model/ListScrapersRequest.h new file mode 100644 index 00000000000..c374e14795d --- /dev/null +++ b/generated/src/aws-cpp-sdk-amp/include/aws/amp/model/ListScrapersRequest.h @@ -0,0 +1,191 @@ +/** + * 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 PrometheusService +{ +namespace Model +{ + + /** + *

Represents the input of a ListScrapers operation.

See Also:

+ * AWS + * API Reference

+ */ + class ListScrapersRequest : public PrometheusServiceRequest + { + public: + AWS_PROMETHEUSSERVICE_API ListScrapersRequest(); + + // 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 "ListScrapers"; } + + AWS_PROMETHEUSSERVICE_API Aws::String SerializePayload() const override; + + AWS_PROMETHEUSSERVICE_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + /** + *

A list of scraper filters.

+ */ + inline const Aws::Map>& GetFilters() const{ return m_filters; } + + /** + *

A list of scraper filters.

+ */ + inline bool FiltersHasBeenSet() const { return m_filtersHasBeenSet; } + + /** + *

A list of scraper filters.

+ */ + inline void SetFilters(const Aws::Map>& value) { m_filtersHasBeenSet = true; m_filters = value; } + + /** + *

A list of scraper filters.

+ */ + inline void SetFilters(Aws::Map>&& value) { m_filtersHasBeenSet = true; m_filters = std::move(value); } + + /** + *

A list of scraper filters.

+ */ + inline ListScrapersRequest& WithFilters(const Aws::Map>& value) { SetFilters(value); return *this;} + + /** + *

A list of scraper filters.

+ */ + inline ListScrapersRequest& WithFilters(Aws::Map>&& value) { SetFilters(std::move(value)); return *this;} + + /** + *

A list of scraper filters.

+ */ + inline ListScrapersRequest& AddFilters(const Aws::String& key, const Aws::Vector& value) { m_filtersHasBeenSet = true; m_filters.emplace(key, value); return *this; } + + /** + *

A list of scraper filters.

+ */ + inline ListScrapersRequest& AddFilters(Aws::String&& key, const Aws::Vector& value) { m_filtersHasBeenSet = true; m_filters.emplace(std::move(key), value); return *this; } + + /** + *

A list of scraper filters.

+ */ + inline ListScrapersRequest& AddFilters(const Aws::String& key, Aws::Vector&& value) { m_filtersHasBeenSet = true; m_filters.emplace(key, std::move(value)); return *this; } + + /** + *

A list of scraper filters.

+ */ + inline ListScrapersRequest& AddFilters(Aws::String&& key, Aws::Vector&& value) { m_filtersHasBeenSet = true; m_filters.emplace(std::move(key), std::move(value)); return *this; } + + /** + *

A list of scraper filters.

+ */ + inline ListScrapersRequest& AddFilters(const char* key, Aws::Vector&& value) { m_filtersHasBeenSet = true; m_filters.emplace(key, std::move(value)); return *this; } + + /** + *

A list of scraper filters.

+ */ + inline ListScrapersRequest& AddFilters(const char* key, const Aws::Vector& value) { m_filtersHasBeenSet = true; m_filters.emplace(key, value); return *this; } + + + /** + *

Pagination token to request the next page in a paginated list. This token is + * obtained from the output of the previous ListScrapers request.

+ */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + + /** + *

Pagination token to request the next page in a paginated list. This token is + * obtained from the output of the previous ListScrapers request.

+ */ + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + + /** + *

Pagination token to request the next page in a paginated list. This token is + * obtained from the output of the previous ListScrapers request.

+ */ + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + + /** + *

Pagination token to request the next page in a paginated list. This token is + * obtained from the output of the previous ListScrapers request.

+ */ + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + + /** + *

Pagination token to request the next page in a paginated list. This token is + * obtained from the output of the previous ListScrapers request.

+ */ + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + + /** + *

Pagination token to request the next page in a paginated list. This token is + * obtained from the output of the previous ListScrapers request.

+ */ + inline ListScrapersRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + + /** + *

Pagination token to request the next page in a paginated list. This token is + * obtained from the output of the previous ListScrapers request.

+ */ + inline ListScrapersRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + + /** + *

Pagination token to request the next page in a paginated list. This token is + * obtained from the output of the previous ListScrapers request.

+ */ + inline ListScrapersRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + + + /** + *

Maximum results to return in response (default=100, maximum=1000).

+ */ + inline int GetMaxResults() const{ return m_maxResults; } + + /** + *

Maximum results to return in response (default=100, maximum=1000).

+ */ + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + + /** + *

Maximum results to return in response (default=100, maximum=1000).

+ */ + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + + /** + *

Maximum results to return in response (default=100, maximum=1000).

+ */ + inline ListScrapersRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + + private: + + Aws::Map> m_filters; + bool m_filtersHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + }; + +} // namespace Model +} // namespace PrometheusService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-amp/include/aws/amp/model/ListScrapersResult.h b/generated/src/aws-cpp-sdk-amp/include/aws/amp/model/ListScrapersResult.h new file mode 100644 index 00000000000..0fd4264ec30 --- /dev/null +++ b/generated/src/aws-cpp-sdk-amp/include/aws/amp/model/ListScrapersResult.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 PrometheusService +{ +namespace Model +{ + /** + *

Represents the output of a ListScrapers operation.

See Also:

+ * AWS + * API Reference

+ */ + class ListScrapersResult + { + public: + AWS_PROMETHEUSSERVICE_API ListScrapersResult(); + AWS_PROMETHEUSSERVICE_API ListScrapersResult(const Aws::AmazonWebServiceResult& result); + AWS_PROMETHEUSSERVICE_API ListScrapersResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

The list of scrapers, filtered down if a set of filters was provided in the + * request.

+ */ + inline const Aws::Vector& GetScrapers() const{ return m_scrapers; } + + /** + *

The list of scrapers, filtered down if a set of filters was provided in the + * request.

+ */ + inline void SetScrapers(const Aws::Vector& value) { m_scrapers = value; } + + /** + *

The list of scrapers, filtered down if a set of filters was provided in the + * request.

+ */ + inline void SetScrapers(Aws::Vector&& value) { m_scrapers = std::move(value); } + + /** + *

The list of scrapers, filtered down if a set of filters was provided in the + * request.

+ */ + inline ListScrapersResult& WithScrapers(const Aws::Vector& value) { SetScrapers(value); return *this;} + + /** + *

The list of scrapers, filtered down if a set of filters was provided in the + * request.

+ */ + inline ListScrapersResult& WithScrapers(Aws::Vector&& value) { SetScrapers(std::move(value)); return *this;} + + /** + *

The list of scrapers, filtered down if a set of filters was provided in the + * request.

+ */ + inline ListScrapersResult& AddScrapers(const ScraperSummary& value) { m_scrapers.push_back(value); return *this; } + + /** + *

The list of scrapers, filtered down if a set of filters was provided in the + * request.

+ */ + inline ListScrapersResult& AddScrapers(ScraperSummary&& value) { m_scrapers.push_back(std::move(value)); return *this; } + + + /** + *

Pagination token to use when requesting the next page in this list.

+ */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + + /** + *

Pagination token to use when requesting the next page in this list.

+ */ + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + + /** + *

Pagination token to use when requesting the next page in this list.

+ */ + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + + /** + *

Pagination token to use when requesting the next page in this list.

+ */ + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + + /** + *

Pagination token to use when requesting the next page in this list.

+ */ + inline ListScrapersResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + + /** + *

Pagination token to use when requesting the next page in this list.

+ */ + inline ListScrapersResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + + /** + *

Pagination token to use when requesting the next page in this list.

+ */ + inline ListScrapersResult& 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 ListScrapersResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline ListScrapersResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline ListScrapersResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::Vector m_scrapers; + + Aws::String m_nextToken; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace PrometheusService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-amp/include/aws/amp/model/ScrapeConfiguration.h b/generated/src/aws-cpp-sdk-amp/include/aws/amp/model/ScrapeConfiguration.h new file mode 100644 index 00000000000..f0035ea4422 --- /dev/null +++ b/generated/src/aws-cpp-sdk-amp/include/aws/amp/model/ScrapeConfiguration.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 PrometheusService +{ +namespace Model +{ + + /** + *

A representation of a Prometheus configuration file.

See Also:

+ * AWS + * API Reference

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

Binary data representing a Prometheus configuration file.

+ */ + inline const Aws::Utils::ByteBuffer& GetConfigurationBlob() const{ return m_configurationBlob; } + + /** + *

Binary data representing a Prometheus configuration file.

+ */ + inline bool ConfigurationBlobHasBeenSet() const { return m_configurationBlobHasBeenSet; } + + /** + *

Binary data representing a Prometheus configuration file.

+ */ + inline void SetConfigurationBlob(const Aws::Utils::ByteBuffer& value) { m_configurationBlobHasBeenSet = true; m_configurationBlob = value; } + + /** + *

Binary data representing a Prometheus configuration file.

+ */ + inline void SetConfigurationBlob(Aws::Utils::ByteBuffer&& value) { m_configurationBlobHasBeenSet = true; m_configurationBlob = std::move(value); } + + /** + *

Binary data representing a Prometheus configuration file.

+ */ + inline ScrapeConfiguration& WithConfigurationBlob(const Aws::Utils::ByteBuffer& value) { SetConfigurationBlob(value); return *this;} + + /** + *

Binary data representing a Prometheus configuration file.

+ */ + inline ScrapeConfiguration& WithConfigurationBlob(Aws::Utils::ByteBuffer&& value) { SetConfigurationBlob(std::move(value)); return *this;} + + private: + + Aws::Utils::ByteBuffer m_configurationBlob; + bool m_configurationBlobHasBeenSet = false; + }; + +} // namespace Model +} // namespace PrometheusService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-amp/include/aws/amp/model/ScraperDescription.h b/generated/src/aws-cpp-sdk-amp/include/aws/amp/model/ScraperDescription.h new file mode 100644 index 00000000000..2fe5701c0dd --- /dev/null +++ b/generated/src/aws-cpp-sdk-amp/include/aws/amp/model/ScraperDescription.h @@ -0,0 +1,551 @@ +/** + * 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 PrometheusService +{ +namespace Model +{ + + /** + *

Represents the properties of a scraper.

See Also:

AWS + * API Reference

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

Alias of this scraper.

+ */ + inline const Aws::String& GetAlias() const{ return m_alias; } + + /** + *

Alias of this scraper.

+ */ + inline bool AliasHasBeenSet() const { return m_aliasHasBeenSet; } + + /** + *

Alias of this scraper.

+ */ + inline void SetAlias(const Aws::String& value) { m_aliasHasBeenSet = true; m_alias = value; } + + /** + *

Alias of this scraper.

+ */ + inline void SetAlias(Aws::String&& value) { m_aliasHasBeenSet = true; m_alias = std::move(value); } + + /** + *

Alias of this scraper.

+ */ + inline void SetAlias(const char* value) { m_aliasHasBeenSet = true; m_alias.assign(value); } + + /** + *

Alias of this scraper.

+ */ + inline ScraperDescription& WithAlias(const Aws::String& value) { SetAlias(value); return *this;} + + /** + *

Alias of this scraper.

+ */ + inline ScraperDescription& WithAlias(Aws::String&& value) { SetAlias(std::move(value)); return *this;} + + /** + *

Alias of this scraper.

+ */ + inline ScraperDescription& WithAlias(const char* value) { SetAlias(value); return *this;} + + + /** + *

Unique string identifying this scraper.

+ */ + inline const Aws::String& GetScraperId() const{ return m_scraperId; } + + /** + *

Unique string identifying this scraper.

+ */ + inline bool ScraperIdHasBeenSet() const { return m_scraperIdHasBeenSet; } + + /** + *

Unique string identifying this scraper.

+ */ + inline void SetScraperId(const Aws::String& value) { m_scraperIdHasBeenSet = true; m_scraperId = value; } + + /** + *

Unique string identifying this scraper.

+ */ + inline void SetScraperId(Aws::String&& value) { m_scraperIdHasBeenSet = true; m_scraperId = std::move(value); } + + /** + *

Unique string identifying this scraper.

+ */ + inline void SetScraperId(const char* value) { m_scraperIdHasBeenSet = true; m_scraperId.assign(value); } + + /** + *

Unique string identifying this scraper.

+ */ + inline ScraperDescription& WithScraperId(const Aws::String& value) { SetScraperId(value); return *this;} + + /** + *

Unique string identifying this scraper.

+ */ + inline ScraperDescription& WithScraperId(Aws::String&& value) { SetScraperId(std::move(value)); return *this;} + + /** + *

Unique string identifying this scraper.

+ */ + inline ScraperDescription& WithScraperId(const char* value) { SetScraperId(value); return *this;} + + + /** + *

The Amazon Resource Name (ARN) of this scraper.

+ */ + inline const Aws::String& GetArn() const{ return m_arn; } + + /** + *

The Amazon Resource Name (ARN) of this scraper.

+ */ + inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } + + /** + *

The Amazon Resource Name (ARN) of this scraper.

+ */ + inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } + + /** + *

The Amazon Resource Name (ARN) of this scraper.

+ */ + inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } + + /** + *

The Amazon Resource Name (ARN) of this scraper.

+ */ + inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } + + /** + *

The Amazon Resource Name (ARN) of this scraper.

+ */ + inline ScraperDescription& WithArn(const Aws::String& value) { SetArn(value); return *this;} + + /** + *

The Amazon Resource Name (ARN) of this scraper.

+ */ + inline ScraperDescription& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} + + /** + *

The Amazon Resource Name (ARN) of this scraper.

+ */ + inline ScraperDescription& WithArn(const char* value) { SetArn(value); return *this;} + + + /** + *

The Amazon Resource Name (ARN) of the IAM role that provides permissions for + * the scraper to dsicover, collect, and produce metrics on your behalf.

+ */ + inline const Aws::String& GetRoleArn() const{ return m_roleArn; } + + /** + *

The Amazon Resource Name (ARN) of the IAM role that provides permissions for + * the scraper to dsicover, collect, and produce metrics on your behalf.

+ */ + inline bool RoleArnHasBeenSet() const { return m_roleArnHasBeenSet; } + + /** + *

The Amazon Resource Name (ARN) of the IAM role that provides permissions for + * the scraper to dsicover, collect, and produce metrics on your behalf.

+ */ + inline void SetRoleArn(const Aws::String& value) { m_roleArnHasBeenSet = true; m_roleArn = value; } + + /** + *

The Amazon Resource Name (ARN) of the IAM role that provides permissions for + * the scraper to dsicover, collect, and produce metrics on your behalf.

+ */ + inline void SetRoleArn(Aws::String&& value) { m_roleArnHasBeenSet = true; m_roleArn = std::move(value); } + + /** + *

The Amazon Resource Name (ARN) of the IAM role that provides permissions for + * the scraper to dsicover, collect, and produce metrics on your behalf.

+ */ + inline void SetRoleArn(const char* value) { m_roleArnHasBeenSet = true; m_roleArn.assign(value); } + + /** + *

The Amazon Resource Name (ARN) of the IAM role that provides permissions for + * the scraper to dsicover, collect, and produce metrics on your behalf.

+ */ + inline ScraperDescription& WithRoleArn(const Aws::String& value) { SetRoleArn(value); return *this;} + + /** + *

The Amazon Resource Name (ARN) of the IAM role that provides permissions for + * the scraper to dsicover, collect, and produce metrics on your behalf.

+ */ + inline ScraperDescription& WithRoleArn(Aws::String&& value) { SetRoleArn(std::move(value)); return *this;} + + /** + *

The Amazon Resource Name (ARN) of the IAM role that provides permissions for + * the scraper to dsicover, collect, and produce metrics on your behalf.

+ */ + inline ScraperDescription& WithRoleArn(const char* value) { SetRoleArn(value); return *this;} + + + /** + *

The status of this scraper.

+ */ + inline const ScraperStatus& GetStatus() const{ return m_status; } + + /** + *

The status of this scraper.

+ */ + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + + /** + *

The status of this scraper.

+ */ + inline void SetStatus(const ScraperStatus& value) { m_statusHasBeenSet = true; m_status = value; } + + /** + *

The status of this scraper.

+ */ + inline void SetStatus(ScraperStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } + + /** + *

The status of this scraper.

+ */ + inline ScraperDescription& WithStatus(const ScraperStatus& value) { SetStatus(value); return *this;} + + /** + *

The status of this scraper.

+ */ + inline ScraperDescription& WithStatus(ScraperStatus&& value) { SetStatus(std::move(value)); return *this;} + + + /** + *

The time when the scraper was created.

+ */ + inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } + + /** + *

The time when the scraper was created.

+ */ + inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } + + /** + *

The time when the scraper was created.

+ */ + inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAtHasBeenSet = true; m_createdAt = value; } + + /** + *

The time when the scraper was created.

+ */ + inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::move(value); } + + /** + *

The time when the scraper was created.

+ */ + inline ScraperDescription& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} + + /** + *

The time when the scraper was created.

+ */ + inline ScraperDescription& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} + + + /** + *

The time when the scraper was last modified.

+ */ + inline const Aws::Utils::DateTime& GetLastModifiedAt() const{ return m_lastModifiedAt; } + + /** + *

The time when the scraper was last modified.

+ */ + inline bool LastModifiedAtHasBeenSet() const { return m_lastModifiedAtHasBeenSet; } + + /** + *

The time when the scraper was last modified.

+ */ + inline void SetLastModifiedAt(const Aws::Utils::DateTime& value) { m_lastModifiedAtHasBeenSet = true; m_lastModifiedAt = value; } + + /** + *

The time when the scraper was last modified.

+ */ + inline void SetLastModifiedAt(Aws::Utils::DateTime&& value) { m_lastModifiedAtHasBeenSet = true; m_lastModifiedAt = std::move(value); } + + /** + *

The time when the scraper was last modified.

+ */ + inline ScraperDescription& WithLastModifiedAt(const Aws::Utils::DateTime& value) { SetLastModifiedAt(value); return *this;} + + /** + *

The time when the scraper was last modified.

+ */ + inline ScraperDescription& WithLastModifiedAt(Aws::Utils::DateTime&& value) { SetLastModifiedAt(std::move(value)); return *this;} + + + /** + *

The tags of this scraper.

+ */ + inline const Aws::Map& GetTags() const{ return m_tags; } + + /** + *

The tags of this scraper.

+ */ + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + + /** + *

The tags of this scraper.

+ */ + inline void SetTags(const Aws::Map& value) { m_tagsHasBeenSet = true; m_tags = value; } + + /** + *

The tags of this scraper.

+ */ + inline void SetTags(Aws::Map&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } + + /** + *

The tags of this scraper.

+ */ + inline ScraperDescription& WithTags(const Aws::Map& value) { SetTags(value); return *this;} + + /** + *

The tags of this scraper.

+ */ + inline ScraperDescription& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} + + /** + *

The tags of this scraper.

+ */ + inline ScraperDescription& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } + + /** + *

The tags of this scraper.

+ */ + inline ScraperDescription& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } + + /** + *

The tags of this scraper.

+ */ + inline ScraperDescription& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } + + /** + *

The tags of this scraper.

+ */ + inline ScraperDescription& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } + + /** + *

The tags of this scraper.

+ */ + inline ScraperDescription& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } + + /** + *

The tags of this scraper.

+ */ + inline ScraperDescription& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } + + /** + *

The tags of this scraper.

+ */ + inline ScraperDescription& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } + + + /** + *

The reason for failure if any.

+ */ + inline const Aws::String& GetStatusReason() const{ return m_statusReason; } + + /** + *

The reason for failure if any.

+ */ + inline bool StatusReasonHasBeenSet() const { return m_statusReasonHasBeenSet; } + + /** + *

The reason for failure if any.

+ */ + inline void SetStatusReason(const Aws::String& value) { m_statusReasonHasBeenSet = true; m_statusReason = value; } + + /** + *

The reason for failure if any.

+ */ + inline void SetStatusReason(Aws::String&& value) { m_statusReasonHasBeenSet = true; m_statusReason = std::move(value); } + + /** + *

The reason for failure if any.

+ */ + inline void SetStatusReason(const char* value) { m_statusReasonHasBeenSet = true; m_statusReason.assign(value); } + + /** + *

The reason for failure if any.

+ */ + inline ScraperDescription& WithStatusReason(const Aws::String& value) { SetStatusReason(value); return *this;} + + /** + *

The reason for failure if any.

+ */ + inline ScraperDescription& WithStatusReason(Aws::String&& value) { SetStatusReason(std::move(value)); return *this;} + + /** + *

The reason for failure if any.

+ */ + inline ScraperDescription& WithStatusReason(const char* value) { SetStatusReason(value); return *this;} + + + /** + *

The configuration used to create the scraper.

+ */ + inline const ScrapeConfiguration& GetScrapeConfiguration() const{ return m_scrapeConfiguration; } + + /** + *

The configuration used to create the scraper.

+ */ + inline bool ScrapeConfigurationHasBeenSet() const { return m_scrapeConfigurationHasBeenSet; } + + /** + *

The configuration used to create the scraper.

+ */ + inline void SetScrapeConfiguration(const ScrapeConfiguration& value) { m_scrapeConfigurationHasBeenSet = true; m_scrapeConfiguration = value; } + + /** + *

The configuration used to create the scraper.

+ */ + inline void SetScrapeConfiguration(ScrapeConfiguration&& value) { m_scrapeConfigurationHasBeenSet = true; m_scrapeConfiguration = std::move(value); } + + /** + *

The configuration used to create the scraper.

+ */ + inline ScraperDescription& WithScrapeConfiguration(const ScrapeConfiguration& value) { SetScrapeConfiguration(value); return *this;} + + /** + *

The configuration used to create the scraper.

+ */ + inline ScraperDescription& WithScrapeConfiguration(ScrapeConfiguration&& value) { SetScrapeConfiguration(std::move(value)); return *this;} + + + /** + *

The source that the scraper is discovering and collecting metrics from.

+ */ + inline const Source& GetSource() const{ return m_source; } + + /** + *

The source that the scraper is discovering and collecting metrics from.

+ */ + inline bool SourceHasBeenSet() const { return m_sourceHasBeenSet; } + + /** + *

The source that the scraper is discovering and collecting metrics from.

+ */ + inline void SetSource(const Source& value) { m_sourceHasBeenSet = true; m_source = value; } + + /** + *

The source that the scraper is discovering and collecting metrics from.

+ */ + inline void SetSource(Source&& value) { m_sourceHasBeenSet = true; m_source = std::move(value); } + + /** + *

The source that the scraper is discovering and collecting metrics from.

+ */ + inline ScraperDescription& WithSource(const Source& value) { SetSource(value); return *this;} + + /** + *

The source that the scraper is discovering and collecting metrics from.

+ */ + inline ScraperDescription& WithSource(Source&& value) { SetSource(std::move(value)); return *this;} + + + /** + *

The destination that the scraper is producing metrics to.

+ */ + inline const Destination& GetDestination() const{ return m_destination; } + + /** + *

The destination that the scraper is producing metrics to.

+ */ + inline bool DestinationHasBeenSet() const { return m_destinationHasBeenSet; } + + /** + *

The destination that the scraper is producing metrics to.

+ */ + inline void SetDestination(const Destination& value) { m_destinationHasBeenSet = true; m_destination = value; } + + /** + *

The destination that the scraper is producing metrics to.

+ */ + inline void SetDestination(Destination&& value) { m_destinationHasBeenSet = true; m_destination = std::move(value); } + + /** + *

The destination that the scraper is producing metrics to.

+ */ + inline ScraperDescription& WithDestination(const Destination& value) { SetDestination(value); return *this;} + + /** + *

The destination that the scraper is producing metrics to.

+ */ + inline ScraperDescription& WithDestination(Destination&& value) { SetDestination(std::move(value)); return *this;} + + private: + + Aws::String m_alias; + bool m_aliasHasBeenSet = false; + + Aws::String m_scraperId; + bool m_scraperIdHasBeenSet = false; + + Aws::String m_arn; + bool m_arnHasBeenSet = false; + + Aws::String m_roleArn; + bool m_roleArnHasBeenSet = false; + + ScraperStatus m_status; + bool m_statusHasBeenSet = false; + + Aws::Utils::DateTime m_createdAt; + bool m_createdAtHasBeenSet = false; + + Aws::Utils::DateTime m_lastModifiedAt; + bool m_lastModifiedAtHasBeenSet = false; + + Aws::Map m_tags; + bool m_tagsHasBeenSet = false; + + Aws::String m_statusReason; + bool m_statusReasonHasBeenSet = false; + + ScrapeConfiguration m_scrapeConfiguration; + bool m_scrapeConfigurationHasBeenSet = false; + + Source m_source; + bool m_sourceHasBeenSet = false; + + Destination m_destination; + bool m_destinationHasBeenSet = false; + }; + +} // namespace Model +} // namespace PrometheusService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-amp/include/aws/amp/model/ScraperStatus.h b/generated/src/aws-cpp-sdk-amp/include/aws/amp/model/ScraperStatus.h new file mode 100644 index 00000000000..02438668a4b --- /dev/null +++ b/generated/src/aws-cpp-sdk-amp/include/aws/amp/model/ScraperStatus.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 PrometheusService +{ +namespace Model +{ + + /** + *

Represents the status of a scraper.

See Also:

AWS + * API Reference

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

Status code of this scraper.

+ */ + inline const ScraperStatusCode& GetStatusCode() const{ return m_statusCode; } + + /** + *

Status code of this scraper.

+ */ + inline bool StatusCodeHasBeenSet() const { return m_statusCodeHasBeenSet; } + + /** + *

Status code of this scraper.

+ */ + inline void SetStatusCode(const ScraperStatusCode& value) { m_statusCodeHasBeenSet = true; m_statusCode = value; } + + /** + *

Status code of this scraper.

+ */ + inline void SetStatusCode(ScraperStatusCode&& value) { m_statusCodeHasBeenSet = true; m_statusCode = std::move(value); } + + /** + *

Status code of this scraper.

+ */ + inline ScraperStatus& WithStatusCode(const ScraperStatusCode& value) { SetStatusCode(value); return *this;} + + /** + *

Status code of this scraper.

+ */ + inline ScraperStatus& WithStatusCode(ScraperStatusCode&& value) { SetStatusCode(std::move(value)); return *this;} + + private: + + ScraperStatusCode m_statusCode; + bool m_statusCodeHasBeenSet = false; + }; + +} // namespace Model +} // namespace PrometheusService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-amp/include/aws/amp/model/ScraperStatusCode.h b/generated/src/aws-cpp-sdk-amp/include/aws/amp/model/ScraperStatusCode.h new file mode 100644 index 00000000000..b70796796e8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-amp/include/aws/amp/model/ScraperStatusCode.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 PrometheusService +{ +namespace Model +{ + enum class ScraperStatusCode + { + NOT_SET, + CREATING, + ACTIVE, + DELETING, + CREATION_FAILED, + DELETION_FAILED + }; + +namespace ScraperStatusCodeMapper +{ +AWS_PROMETHEUSSERVICE_API ScraperStatusCode GetScraperStatusCodeForName(const Aws::String& name); + +AWS_PROMETHEUSSERVICE_API Aws::String GetNameForScraperStatusCode(ScraperStatusCode value); +} // namespace ScraperStatusCodeMapper +} // namespace Model +} // namespace PrometheusService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-amp/include/aws/amp/model/ScraperSummary.h b/generated/src/aws-cpp-sdk-amp/include/aws/amp/model/ScraperSummary.h new file mode 100644 index 00000000000..bc67d8d0763 --- /dev/null +++ b/generated/src/aws-cpp-sdk-amp/include/aws/amp/model/ScraperSummary.h @@ -0,0 +1,517 @@ +/** + * 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 PrometheusService +{ +namespace Model +{ + + /** + *

Represents a summary of the properties of a scraper.

See Also:

+ * AWS + * API Reference

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

Alias of this scraper.

+ */ + inline const Aws::String& GetAlias() const{ return m_alias; } + + /** + *

Alias of this scraper.

+ */ + inline bool AliasHasBeenSet() const { return m_aliasHasBeenSet; } + + /** + *

Alias of this scraper.

+ */ + inline void SetAlias(const Aws::String& value) { m_aliasHasBeenSet = true; m_alias = value; } + + /** + *

Alias of this scraper.

+ */ + inline void SetAlias(Aws::String&& value) { m_aliasHasBeenSet = true; m_alias = std::move(value); } + + /** + *

Alias of this scraper.

+ */ + inline void SetAlias(const char* value) { m_aliasHasBeenSet = true; m_alias.assign(value); } + + /** + *

Alias of this scraper.

+ */ + inline ScraperSummary& WithAlias(const Aws::String& value) { SetAlias(value); return *this;} + + /** + *

Alias of this scraper.

+ */ + inline ScraperSummary& WithAlias(Aws::String&& value) { SetAlias(std::move(value)); return *this;} + + /** + *

Alias of this scraper.

+ */ + inline ScraperSummary& WithAlias(const char* value) { SetAlias(value); return *this;} + + + /** + *

Unique string identifying this scraper.

+ */ + inline const Aws::String& GetScraperId() const{ return m_scraperId; } + + /** + *

Unique string identifying this scraper.

+ */ + inline bool ScraperIdHasBeenSet() const { return m_scraperIdHasBeenSet; } + + /** + *

Unique string identifying this scraper.

+ */ + inline void SetScraperId(const Aws::String& value) { m_scraperIdHasBeenSet = true; m_scraperId = value; } + + /** + *

Unique string identifying this scraper.

+ */ + inline void SetScraperId(Aws::String&& value) { m_scraperIdHasBeenSet = true; m_scraperId = std::move(value); } + + /** + *

Unique string identifying this scraper.

+ */ + inline void SetScraperId(const char* value) { m_scraperIdHasBeenSet = true; m_scraperId.assign(value); } + + /** + *

Unique string identifying this scraper.

+ */ + inline ScraperSummary& WithScraperId(const Aws::String& value) { SetScraperId(value); return *this;} + + /** + *

Unique string identifying this scraper.

+ */ + inline ScraperSummary& WithScraperId(Aws::String&& value) { SetScraperId(std::move(value)); return *this;} + + /** + *

Unique string identifying this scraper.

+ */ + inline ScraperSummary& WithScraperId(const char* value) { SetScraperId(value); return *this;} + + + /** + *

The Amazon Resource Name (ARN) of this scraper.

+ */ + inline const Aws::String& GetArn() const{ return m_arn; } + + /** + *

The Amazon Resource Name (ARN) of this scraper.

+ */ + inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } + + /** + *

The Amazon Resource Name (ARN) of this scraper.

+ */ + inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } + + /** + *

The Amazon Resource Name (ARN) of this scraper.

+ */ + inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } + + /** + *

The Amazon Resource Name (ARN) of this scraper.

+ */ + inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } + + /** + *

The Amazon Resource Name (ARN) of this scraper.

+ */ + inline ScraperSummary& WithArn(const Aws::String& value) { SetArn(value); return *this;} + + /** + *

The Amazon Resource Name (ARN) of this scraper.

+ */ + inline ScraperSummary& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} + + /** + *

The Amazon Resource Name (ARN) of this scraper.

+ */ + inline ScraperSummary& WithArn(const char* value) { SetArn(value); return *this;} + + + /** + *

The Amazon Resource Name (ARN) of the IAM role that provides permissions for + * the scraper to dsicover, collect, and produce metrics on your behalf.

+ */ + inline const Aws::String& GetRoleArn() const{ return m_roleArn; } + + /** + *

The Amazon Resource Name (ARN) of the IAM role that provides permissions for + * the scraper to dsicover, collect, and produce metrics on your behalf.

+ */ + inline bool RoleArnHasBeenSet() const { return m_roleArnHasBeenSet; } + + /** + *

The Amazon Resource Name (ARN) of the IAM role that provides permissions for + * the scraper to dsicover, collect, and produce metrics on your behalf.

+ */ + inline void SetRoleArn(const Aws::String& value) { m_roleArnHasBeenSet = true; m_roleArn = value; } + + /** + *

The Amazon Resource Name (ARN) of the IAM role that provides permissions for + * the scraper to dsicover, collect, and produce metrics on your behalf.

+ */ + inline void SetRoleArn(Aws::String&& value) { m_roleArnHasBeenSet = true; m_roleArn = std::move(value); } + + /** + *

The Amazon Resource Name (ARN) of the IAM role that provides permissions for + * the scraper to dsicover, collect, and produce metrics on your behalf.

+ */ + inline void SetRoleArn(const char* value) { m_roleArnHasBeenSet = true; m_roleArn.assign(value); } + + /** + *

The Amazon Resource Name (ARN) of the IAM role that provides permissions for + * the scraper to dsicover, collect, and produce metrics on your behalf.

+ */ + inline ScraperSummary& WithRoleArn(const Aws::String& value) { SetRoleArn(value); return *this;} + + /** + *

The Amazon Resource Name (ARN) of the IAM role that provides permissions for + * the scraper to dsicover, collect, and produce metrics on your behalf.

+ */ + inline ScraperSummary& WithRoleArn(Aws::String&& value) { SetRoleArn(std::move(value)); return *this;} + + /** + *

The Amazon Resource Name (ARN) of the IAM role that provides permissions for + * the scraper to dsicover, collect, and produce metrics on your behalf.

+ */ + inline ScraperSummary& WithRoleArn(const char* value) { SetRoleArn(value); return *this;} + + + /** + *

The status of this scraper.

+ */ + inline const ScraperStatus& GetStatus() const{ return m_status; } + + /** + *

The status of this scraper.

+ */ + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + + /** + *

The status of this scraper.

+ */ + inline void SetStatus(const ScraperStatus& value) { m_statusHasBeenSet = true; m_status = value; } + + /** + *

The status of this scraper.

+ */ + inline void SetStatus(ScraperStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } + + /** + *

The status of this scraper.

+ */ + inline ScraperSummary& WithStatus(const ScraperStatus& value) { SetStatus(value); return *this;} + + /** + *

The status of this scraper.

+ */ + inline ScraperSummary& WithStatus(ScraperStatus&& value) { SetStatus(std::move(value)); return *this;} + + + /** + *

The time when the scraper was created.

+ */ + inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } + + /** + *

The time when the scraper was created.

+ */ + inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } + + /** + *

The time when the scraper was created.

+ */ + inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAtHasBeenSet = true; m_createdAt = value; } + + /** + *

The time when the scraper was created.

+ */ + inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::move(value); } + + /** + *

The time when the scraper was created.

+ */ + inline ScraperSummary& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} + + /** + *

The time when the scraper was created.

+ */ + inline ScraperSummary& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} + + + /** + *

The time when the scraper was last modified.

+ */ + inline const Aws::Utils::DateTime& GetLastModifiedAt() const{ return m_lastModifiedAt; } + + /** + *

The time when the scraper was last modified.

+ */ + inline bool LastModifiedAtHasBeenSet() const { return m_lastModifiedAtHasBeenSet; } + + /** + *

The time when the scraper was last modified.

+ */ + inline void SetLastModifiedAt(const Aws::Utils::DateTime& value) { m_lastModifiedAtHasBeenSet = true; m_lastModifiedAt = value; } + + /** + *

The time when the scraper was last modified.

+ */ + inline void SetLastModifiedAt(Aws::Utils::DateTime&& value) { m_lastModifiedAtHasBeenSet = true; m_lastModifiedAt = std::move(value); } + + /** + *

The time when the scraper was last modified.

+ */ + inline ScraperSummary& WithLastModifiedAt(const Aws::Utils::DateTime& value) { SetLastModifiedAt(value); return *this;} + + /** + *

The time when the scraper was last modified.

+ */ + inline ScraperSummary& WithLastModifiedAt(Aws::Utils::DateTime&& value) { SetLastModifiedAt(std::move(value)); return *this;} + + + /** + *

The tags of this scraper.

+ */ + inline const Aws::Map& GetTags() const{ return m_tags; } + + /** + *

The tags of this scraper.

+ */ + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + + /** + *

The tags of this scraper.

+ */ + inline void SetTags(const Aws::Map& value) { m_tagsHasBeenSet = true; m_tags = value; } + + /** + *

The tags of this scraper.

+ */ + inline void SetTags(Aws::Map&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } + + /** + *

The tags of this scraper.

+ */ + inline ScraperSummary& WithTags(const Aws::Map& value) { SetTags(value); return *this;} + + /** + *

The tags of this scraper.

+ */ + inline ScraperSummary& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} + + /** + *

The tags of this scraper.

+ */ + inline ScraperSummary& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } + + /** + *

The tags of this scraper.

+ */ + inline ScraperSummary& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } + + /** + *

The tags of this scraper.

+ */ + inline ScraperSummary& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } + + /** + *

The tags of this scraper.

+ */ + inline ScraperSummary& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } + + /** + *

The tags of this scraper.

+ */ + inline ScraperSummary& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } + + /** + *

The tags of this scraper.

+ */ + inline ScraperSummary& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } + + /** + *

The tags of this scraper.

+ */ + inline ScraperSummary& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } + + + /** + *

The reason for failure if any.

+ */ + inline const Aws::String& GetStatusReason() const{ return m_statusReason; } + + /** + *

The reason for failure if any.

+ */ + inline bool StatusReasonHasBeenSet() const { return m_statusReasonHasBeenSet; } + + /** + *

The reason for failure if any.

+ */ + inline void SetStatusReason(const Aws::String& value) { m_statusReasonHasBeenSet = true; m_statusReason = value; } + + /** + *

The reason for failure if any.

+ */ + inline void SetStatusReason(Aws::String&& value) { m_statusReasonHasBeenSet = true; m_statusReason = std::move(value); } + + /** + *

The reason for failure if any.

+ */ + inline void SetStatusReason(const char* value) { m_statusReasonHasBeenSet = true; m_statusReason.assign(value); } + + /** + *

The reason for failure if any.

+ */ + inline ScraperSummary& WithStatusReason(const Aws::String& value) { SetStatusReason(value); return *this;} + + /** + *

The reason for failure if any.

+ */ + inline ScraperSummary& WithStatusReason(Aws::String&& value) { SetStatusReason(std::move(value)); return *this;} + + /** + *

The reason for failure if any.

+ */ + inline ScraperSummary& WithStatusReason(const char* value) { SetStatusReason(value); return *this;} + + + /** + *

The source that the scraper is discovering and collecting metrics from.

+ */ + inline const Source& GetSource() const{ return m_source; } + + /** + *

The source that the scraper is discovering and collecting metrics from.

+ */ + inline bool SourceHasBeenSet() const { return m_sourceHasBeenSet; } + + /** + *

The source that the scraper is discovering and collecting metrics from.

+ */ + inline void SetSource(const Source& value) { m_sourceHasBeenSet = true; m_source = value; } + + /** + *

The source that the scraper is discovering and collecting metrics from.

+ */ + inline void SetSource(Source&& value) { m_sourceHasBeenSet = true; m_source = std::move(value); } + + /** + *

The source that the scraper is discovering and collecting metrics from.

+ */ + inline ScraperSummary& WithSource(const Source& value) { SetSource(value); return *this;} + + /** + *

The source that the scraper is discovering and collecting metrics from.

+ */ + inline ScraperSummary& WithSource(Source&& value) { SetSource(std::move(value)); return *this;} + + + /** + *

The destination that the scraper is producing metrics to.

+ */ + inline const Destination& GetDestination() const{ return m_destination; } + + /** + *

The destination that the scraper is producing metrics to.

+ */ + inline bool DestinationHasBeenSet() const { return m_destinationHasBeenSet; } + + /** + *

The destination that the scraper is producing metrics to.

+ */ + inline void SetDestination(const Destination& value) { m_destinationHasBeenSet = true; m_destination = value; } + + /** + *

The destination that the scraper is producing metrics to.

+ */ + inline void SetDestination(Destination&& value) { m_destinationHasBeenSet = true; m_destination = std::move(value); } + + /** + *

The destination that the scraper is producing metrics to.

+ */ + inline ScraperSummary& WithDestination(const Destination& value) { SetDestination(value); return *this;} + + /** + *

The destination that the scraper is producing metrics to.

+ */ + inline ScraperSummary& WithDestination(Destination&& value) { SetDestination(std::move(value)); return *this;} + + private: + + Aws::String m_alias; + bool m_aliasHasBeenSet = false; + + Aws::String m_scraperId; + bool m_scraperIdHasBeenSet = false; + + Aws::String m_arn; + bool m_arnHasBeenSet = false; + + Aws::String m_roleArn; + bool m_roleArnHasBeenSet = false; + + ScraperStatus m_status; + bool m_statusHasBeenSet = false; + + Aws::Utils::DateTime m_createdAt; + bool m_createdAtHasBeenSet = false; + + Aws::Utils::DateTime m_lastModifiedAt; + bool m_lastModifiedAtHasBeenSet = false; + + Aws::Map m_tags; + bool m_tagsHasBeenSet = false; + + Aws::String m_statusReason; + bool m_statusReasonHasBeenSet = false; + + Source m_source; + bool m_sourceHasBeenSet = false; + + Destination m_destination; + bool m_destinationHasBeenSet = false; + }; + +} // namespace Model +} // namespace PrometheusService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-amp/include/aws/amp/model/Source.h b/generated/src/aws-cpp-sdk-amp/include/aws/amp/model/Source.h new file mode 100644 index 00000000000..ec6d145aafe --- /dev/null +++ b/generated/src/aws-cpp-sdk-amp/include/aws/amp/model/Source.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 PrometheusService +{ +namespace Model +{ + + /** + *

A representation of a source that a scraper can discover and collect metrics + * from.

See Also:

AWS API + * Reference

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

A representation of an EKS source.

+ */ + inline const EksConfiguration& GetEksConfiguration() const{ return m_eksConfiguration; } + + /** + *

A representation of an EKS source.

+ */ + inline bool EksConfigurationHasBeenSet() const { return m_eksConfigurationHasBeenSet; } + + /** + *

A representation of an EKS source.

+ */ + inline void SetEksConfiguration(const EksConfiguration& value) { m_eksConfigurationHasBeenSet = true; m_eksConfiguration = value; } + + /** + *

A representation of an EKS source.

+ */ + inline void SetEksConfiguration(EksConfiguration&& value) { m_eksConfigurationHasBeenSet = true; m_eksConfiguration = std::move(value); } + + /** + *

A representation of an EKS source.

+ */ + inline Source& WithEksConfiguration(const EksConfiguration& value) { SetEksConfiguration(value); return *this;} + + /** + *

A representation of an EKS source.

+ */ + inline Source& WithEksConfiguration(EksConfiguration&& value) { SetEksConfiguration(std::move(value)); return *this;} + + private: + + EksConfiguration m_eksConfiguration; + bool m_eksConfigurationHasBeenSet = false; + }; + +} // namespace Model +} // namespace PrometheusService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-amp/source/PrometheusServiceClient.cpp b/generated/src/aws-cpp-sdk-amp/source/PrometheusServiceClient.cpp index b05da8b114d..e9ed4963f1b 100644 --- a/generated/src/aws-cpp-sdk-amp/source/PrometheusServiceClient.cpp +++ b/generated/src/aws-cpp-sdk-amp/source/PrometheusServiceClient.cpp @@ -24,16 +24,21 @@ #include #include #include +#include #include #include #include #include +#include #include #include #include #include +#include #include +#include #include +#include #include #include #include @@ -277,6 +282,33 @@ CreateRuleGroupsNamespaceOutcome PrometheusServiceClient::CreateRuleGroupsNamesp {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +CreateScraperOutcome PrometheusServiceClient::CreateScraper(const CreateScraperRequest& request) const +{ + AWS_OPERATION_GUARD(CreateScraper); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CreateScraper, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, CreateScraper, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CreateScraper, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".CreateScraper", + {{ 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( + [&]()-> CreateScraperOutcome { + 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, CreateScraper, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/scrapers"); + return CreateScraperOutcome(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()}}); +} + CreateWorkspaceOutcome PrometheusServiceClient::CreateWorkspace(const CreateWorkspaceRequest& request) const { AWS_OPERATION_GUARD(CreateWorkspace); @@ -412,6 +444,39 @@ DeleteRuleGroupsNamespaceOutcome PrometheusServiceClient::DeleteRuleGroupsNamesp {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +DeleteScraperOutcome PrometheusServiceClient::DeleteScraper(const DeleteScraperRequest& request) const +{ + AWS_OPERATION_GUARD(DeleteScraper); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteScraper, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ScraperIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteScraper", "Required field: ScraperId, is not set"); + return DeleteScraperOutcome(Aws::Client::AWSError(PrometheusServiceErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ScraperId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DeleteScraper, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DeleteScraper, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DeleteScraper", + {{ 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( + [&]()-> DeleteScraperOutcome { + 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, DeleteScraper, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/scrapers/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetScraperId()); + return DeleteScraperOutcome(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()}}); +} + DeleteWorkspaceOutcome PrometheusServiceClient::DeleteWorkspace(const DeleteWorkspaceRequest& request) const { AWS_OPERATION_GUARD(DeleteWorkspace); @@ -553,6 +618,39 @@ DescribeRuleGroupsNamespaceOutcome PrometheusServiceClient::DescribeRuleGroupsNa {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +DescribeScraperOutcome PrometheusServiceClient::DescribeScraper(const DescribeScraperRequest& request) const +{ + AWS_OPERATION_GUARD(DescribeScraper); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DescribeScraper, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ScraperIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DescribeScraper", "Required field: ScraperId, is not set"); + return DescribeScraperOutcome(Aws::Client::AWSError(PrometheusServiceErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ScraperId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DescribeScraper, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DescribeScraper, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DescribeScraper", + {{ 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( + [&]()-> DescribeScraperOutcome { + 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, DescribeScraper, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/scrapers/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetScraperId()); + return DescribeScraperOutcome(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()}}); +} + DescribeWorkspaceOutcome PrometheusServiceClient::DescribeWorkspace(const DescribeWorkspaceRequest& request) const { AWS_OPERATION_GUARD(DescribeWorkspace); @@ -586,6 +684,33 @@ DescribeWorkspaceOutcome PrometheusServiceClient::DescribeWorkspace(const Descri {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +GetDefaultScraperConfigurationOutcome PrometheusServiceClient::GetDefaultScraperConfiguration(const GetDefaultScraperConfigurationRequest& request) const +{ + AWS_OPERATION_GUARD(GetDefaultScraperConfiguration); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetDefaultScraperConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetDefaultScraperConfiguration, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetDefaultScraperConfiguration, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetDefaultScraperConfiguration", + {{ 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( + [&]()-> GetDefaultScraperConfigurationOutcome { + 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, GetDefaultScraperConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/scraperconfiguration"); + return GetDefaultScraperConfigurationOutcome(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()}}); +} + ListRuleGroupsNamespacesOutcome PrometheusServiceClient::ListRuleGroupsNamespaces(const ListRuleGroupsNamespacesRequest& request) const { AWS_OPERATION_GUARD(ListRuleGroupsNamespaces); @@ -620,6 +745,33 @@ ListRuleGroupsNamespacesOutcome PrometheusServiceClient::ListRuleGroupsNamespace {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +ListScrapersOutcome PrometheusServiceClient::ListScrapers(const ListScrapersRequest& request) const +{ + AWS_OPERATION_GUARD(ListScrapers); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListScrapers, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListScrapers, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListScrapers, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListScrapers", + {{ 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( + [&]()-> ListScrapersOutcome { + 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, ListScrapers, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/scrapers"); + return ListScrapersOutcome(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 PrometheusServiceClient::ListTagsForResource(const ListTagsForResourceRequest& request) const { AWS_OPERATION_GUARD(ListTagsForResource); diff --git a/generated/src/aws-cpp-sdk-amp/source/PrometheusServiceEndpointRules.cpp b/generated/src/aws-cpp-sdk-amp/source/PrometheusServiceEndpointRules.cpp index f433a46cc39..132558b803c 100644 --- a/generated/src/aws-cpp-sdk-amp/source/PrometheusServiceEndpointRules.cpp +++ b/generated/src/aws-cpp-sdk-amp/source/PrometheusServiceEndpointRules.cpp @@ -51,106 +51,106 @@ static constexpr RulesBlobT RulesBlob = {{ ',','"','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','"',':','[','{','"','f','n','"',':','"', 'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', -'d','p','o','i','n','t','"','}',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', -',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', -'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r', -'u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','C','o', -'n','f','i','g','u','r','a','t','i','o','n',':',' ','F','I','P','S',' ','a','n','d',' ','c','u','s', -'t','o','m',' ','e','n','d','p','o','i','n','t',' ','a','r','e',' ','n','o','t',' ','s','u','p','p', -'o','r','t','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e', -'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"', -'e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','C','o','n','f','i','g','u','r','a', -'t','i','o','n',':',' ','D','u','a','l','s','t','a','c','k',' ','a','n','d',' ','c','u','s','t','o', -'m',' ','e','n','d','p','o','i','n','t',' ','a','r','e',' ','n','o','t',' ','s','u','p','p','o','r', -'t','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','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','"',':','{','}',',','"','h','e','a','d','e','r','s','"', -':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}', -',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s', -'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i', -'o','n','"','}',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u', -'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', -'"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g', -'n','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',']',',','"','t', -'y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o', +'d','p','o','i','n','t','"','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o', 'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', 'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', -'s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o', -'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}', -']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o', -'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','t','r','u','e',',', -'{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',', -'"','s','u','p','p','o','r','t','s','F','I','P','S','"',']','}',']','}',',','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','t', -'r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l', -'t','"','}',',','"','s','u','p','p','o','r','t','s','D','u','a','l','S','t','a','c','k','"',']','}', -']','}',']',',','"','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','"',':','"','h','t','t','p','s',':','/','/','a','p','s','-', -'f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R', -'e','s','u','l','t','#','d','u','a','l','S','t','a','c','k','D','n','s','S','u','f','f','i','x','}', -'"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r', -'s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}', -']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o', -'r','"',':','"','F','I','P','S',' ','a','n','d',' ','D','u','a','l','S','t','a','c','k',' ','a','r', -'e',' ','e','n','a','b','l','e','d',',',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i', -'t','i','o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','o','n','e', -' ','o','r',' ','b','o','t','h','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}', -']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', -'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',']',',','"', -'t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c', -'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a', -'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','t','r','u','e',',','{','"','f', -'n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','s','u', -'p','p','o','r','t','s','F','I','P','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','"',':', -'"','h','t','t','p','s',':','/','/','a','p','s','-','f','i','p','s','.','{','R','e','g','i','o','n', -'}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f', -'f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e', -'a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i', -'n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"', -'e','r','r','o','r','"',':','"','F','I','P','S',' ','i','s',' ','e','n','a','b','l','e','d',' ','b', -'u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ','n','o', -'t',' ','s','u','p','p','o','r','t',' ','F','I','P','S','"',',','"','t','y','p','e','"',':','"','e', -'r','r','o','r','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':', +'"','I','n','v','a','l','i','d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','F', +'I','P','S',' ','a','n','d',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','a', +'r','e',' ','n','o','t',' ','s','u','p','p','o','r','t','e','d','"',',','"','t','y','p','e','"',':', +'"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', '"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', 'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"', -'}',',','t','r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"', +'}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i', +'d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','D','u','a','l','s','t','a','c', +'k',' ','a','n','d',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','a','r','e', +' ','n','o','t',' ','s','u','p','p','o','r','t','e','d','"',',','"','t','y','p','e','"',':','"','e', +'r','r','o','r','"','}',',','{','"','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','"',':','{', +'}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e', +'n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s', +'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i', +'o','n','"','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i', +'o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o', +'n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','P','a','r','t','i','t','i','o','n','R', +'e','s','u','l','t','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F', +'I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', +'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"', 'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', 'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', '"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"', 'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R', -'e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','D','u','a','l','S','t','a','c', -'k','"',']','}',']','}',']',',','"','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','"',':','"','h','t','t','p','s',':','/','/', -'a','p','s','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e', -'s','u','l','t','#','d','u','a','l','S','t','a','c','k','D','n','s','S','u','f','f','i','x','}','"', -',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s', -'"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']', -'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r', -'"',':','"','D','u','a','l','S','t','a','c','k',' ','i','s',' ','e','n','a','b','l','e','d',' ','b', -'u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ','n','o', -'t',' ','s','u','p','p','o','r','t',' ','D','u','a','l','S','t','a','c','k','"',',','"','t','y','p', -'e','"',':','"','e','r','r','o','r','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n', -'s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"', -'h','t','t','p','s',':','/','/','a','p','s','.','{','R','e','g','i','o','n','}','.','{','P','a','r', +'e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','F','I','P','S','"',']','}',']', +'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t', +'r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t', +'i','o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','D','u','a','l', +'S','t','a','c','k','"',']','}',']','}',']',',','"','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','"',':','"','h','t','t','p','s',':','/','/','a','p','s','-','f','i','p','s','.','{', +'R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#', +'d','u','a','l','S','t','a','c','k','D','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o', +'p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}', +',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p', +'e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[',']',',','"','e','r','r','o','r','"',':','"','F','I','P','S',' ','a','n','d',' ','D','u','a','l', +'S','t','a','c','k',' ','a','r','e',' ','e','n','a','b','l','e','d',',',' ','b','u','t',' ','t','h', +'i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p', +'p','o','r','t',' ','o','n','e',' ','o','r',' ','b','o','t','h','"',',','"','t','y','p','e','"',':', +'"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',', +'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o', +'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l', +'e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',', +'"','s','u','p','p','o','r','t','s','F','I','P','S','"',']','}',',','t','r','u','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','"',':','"','h','t','t','p','s', +':','/','/','a','p','s','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','P','a','r', 't','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',', '"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"', -':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}', -']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o', +':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',', +'"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','F','I','P','S',' ','i','s',' ','e', +'n','a','b','l','e','d',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n', +' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','F','I','P','S','"',',','"', +'t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t', +'r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', +'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t', +'r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e', +'t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a', +'r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s', +'D','u','a','l','S','t','a','c','k','"',']','}',']','}',']',',','"','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','"',':','"','h','t','t','p','s',':','/','/','a','p','s','.','{','R', +'e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d', +'u','a','l','S','t','a','c','k','D','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p', +'e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',', +'"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e', +'"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +']',',','"','e','r','r','o','r','"',':','"','D','u','a','l','S','t','a','c','k',' ','i','s',' ','e', +'n','a','b','l','e','d',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n', +' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','D','u','a','l','S','t','a', +'c','k','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p', +'e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t', +'p','s',':','/','/','a','p','s','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t', +'i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r', +'o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}', +'}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y', +'p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', +'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o', 'r','"',':','"','I','n','v','a','l','i','d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n', ':',' ','M','i','s','s','i','n','g',' ','R','e','g','i','o','n','"',',','"','t','y','p','e','"',':', '"','e','r','r','o','r','"','}',']','}','\0' diff --git a/generated/src/aws-cpp-sdk-amp/source/model/AmpConfiguration.cpp b/generated/src/aws-cpp-sdk-amp/source/model/AmpConfiguration.cpp new file mode 100644 index 00000000000..d96a13b2f2c --- /dev/null +++ b/generated/src/aws-cpp-sdk-amp/source/model/AmpConfiguration.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 PrometheusService +{ +namespace Model +{ + +AmpConfiguration::AmpConfiguration() : + m_workspaceArnHasBeenSet(false) +{ +} + +AmpConfiguration::AmpConfiguration(JsonView jsonValue) : + m_workspaceArnHasBeenSet(false) +{ + *this = jsonValue; +} + +AmpConfiguration& AmpConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("workspaceArn")) + { + m_workspaceArn = jsonValue.GetString("workspaceArn"); + + m_workspaceArnHasBeenSet = true; + } + + return *this; +} + +JsonValue AmpConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_workspaceArnHasBeenSet) + { + payload.WithString("workspaceArn", m_workspaceArn); + + } + + return payload; +} + +} // namespace Model +} // namespace PrometheusService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-amp/source/model/CreateScraperRequest.cpp b/generated/src/aws-cpp-sdk-amp/source/model/CreateScraperRequest.cpp new file mode 100644 index 00000000000..6db60d35fde --- /dev/null +++ b/generated/src/aws-cpp-sdk-amp/source/model/CreateScraperRequest.cpp @@ -0,0 +1,76 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::PrometheusService::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +CreateScraperRequest::CreateScraperRequest() : + m_aliasHasBeenSet(false), + m_scrapeConfigurationHasBeenSet(false), + m_sourceHasBeenSet(false), + m_destinationHasBeenSet(false), + m_clientToken(Aws::Utils::UUID::PseudoRandomUUID()), + m_clientTokenHasBeenSet(true), + m_tagsHasBeenSet(false) +{ +} + +Aws::String CreateScraperRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_aliasHasBeenSet) + { + payload.WithString("alias", m_alias); + + } + + if(m_scrapeConfigurationHasBeenSet) + { + payload.WithObject("scrapeConfiguration", m_scrapeConfiguration.Jsonize()); + + } + + if(m_sourceHasBeenSet) + { + payload.WithObject("source", m_source.Jsonize()); + + } + + if(m_destinationHasBeenSet) + { + payload.WithObject("destination", m_destination.Jsonize()); + + } + + if(m_clientTokenHasBeenSet) + { + payload.WithString("clientToken", m_clientToken); + + } + + if(m_tagsHasBeenSet) + { + JsonValue tagsJsonMap; + for(auto& tagsItem : m_tags) + { + tagsJsonMap.WithString(tagsItem.first, tagsItem.second); + } + payload.WithObject("tags", std::move(tagsJsonMap)); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-amp/source/model/CreateScraperResult.cpp b/generated/src/aws-cpp-sdk-amp/source/model/CreateScraperResult.cpp new file mode 100644 index 00000000000..efbaa407f8f --- /dev/null +++ b/generated/src/aws-cpp-sdk-amp/source/model/CreateScraperResult.cpp @@ -0,0 +1,69 @@ +/** + * 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::PrometheusService::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +CreateScraperResult::CreateScraperResult() +{ +} + +CreateScraperResult::CreateScraperResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +CreateScraperResult& CreateScraperResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("scraperId")) + { + m_scraperId = jsonValue.GetString("scraperId"); + + } + + if(jsonValue.ValueExists("arn")) + { + m_arn = jsonValue.GetString("arn"); + + } + + if(jsonValue.ValueExists("status")) + { + m_status = jsonValue.GetObject("status"); + + } + + if(jsonValue.ValueExists("tags")) + { + Aws::Map tagsJsonMap = jsonValue.GetObject("tags").GetAllObjects(); + for(auto& tagsItem : tagsJsonMap) + { + m_tags[tagsItem.first] = tagsItem.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/src/aws-cpp-sdk-amp/source/model/DeleteScraperRequest.cpp b/generated/src/aws-cpp-sdk-amp/source/model/DeleteScraperRequest.cpp new file mode 100644 index 00000000000..4be854d93b7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-amp/source/model/DeleteScraperRequest.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 + +using namespace Aws::PrometheusService::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +DeleteScraperRequest::DeleteScraperRequest() : + m_scraperIdHasBeenSet(false), + m_clientToken(Aws::Utils::UUID::PseudoRandomUUID()), + m_clientTokenHasBeenSet(true) +{ +} + +Aws::String DeleteScraperRequest::SerializePayload() const +{ + return {}; +} + +void DeleteScraperRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_clientTokenHasBeenSet) + { + ss << m_clientToken; + uri.AddQueryStringParameter("clientToken", ss.str()); + ss.str(""); + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-amp/source/model/DeleteScraperResult.cpp b/generated/src/aws-cpp-sdk-amp/source/model/DeleteScraperResult.cpp new file mode 100644 index 00000000000..d426cbf1e07 --- /dev/null +++ b/generated/src/aws-cpp-sdk-amp/source/model/DeleteScraperResult.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::PrometheusService::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DeleteScraperResult::DeleteScraperResult() +{ +} + +DeleteScraperResult::DeleteScraperResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DeleteScraperResult& DeleteScraperResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("scraperId")) + { + m_scraperId = jsonValue.GetString("scraperId"); + + } + + if(jsonValue.ValueExists("status")) + { + m_status = jsonValue.GetObject("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-amp/source/model/DescribeScraperRequest.cpp b/generated/src/aws-cpp-sdk-amp/source/model/DescribeScraperRequest.cpp new file mode 100644 index 00000000000..a4392214405 --- /dev/null +++ b/generated/src/aws-cpp-sdk-amp/source/model/DescribeScraperRequest.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::PrometheusService::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +DescribeScraperRequest::DescribeScraperRequest() : + m_scraperIdHasBeenSet(false) +{ +} + +Aws::String DescribeScraperRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-amp/source/model/DescribeScraperResult.cpp b/generated/src/aws-cpp-sdk-amp/source/model/DescribeScraperResult.cpp new file mode 100644 index 00000000000..cb0bd276085 --- /dev/null +++ b/generated/src/aws-cpp-sdk-amp/source/model/DescribeScraperResult.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::PrometheusService::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DescribeScraperResult::DescribeScraperResult() +{ +} + +DescribeScraperResult::DescribeScraperResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DescribeScraperResult& DescribeScraperResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("scraper")) + { + m_scraper = jsonValue.GetObject("scraper"); + + } + + + 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-amp/source/model/Destination.cpp b/generated/src/aws-cpp-sdk-amp/source/model/Destination.cpp new file mode 100644 index 00000000000..d620d1a44bb --- /dev/null +++ b/generated/src/aws-cpp-sdk-amp/source/model/Destination.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 PrometheusService +{ +namespace Model +{ + +Destination::Destination() : + m_ampConfigurationHasBeenSet(false) +{ +} + +Destination::Destination(JsonView jsonValue) : + m_ampConfigurationHasBeenSet(false) +{ + *this = jsonValue; +} + +Destination& Destination::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("ampConfiguration")) + { + m_ampConfiguration = jsonValue.GetObject("ampConfiguration"); + + m_ampConfigurationHasBeenSet = true; + } + + return *this; +} + +JsonValue Destination::Jsonize() const +{ + JsonValue payload; + + if(m_ampConfigurationHasBeenSet) + { + payload.WithObject("ampConfiguration", m_ampConfiguration.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace PrometheusService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-amp/source/model/EksConfiguration.cpp b/generated/src/aws-cpp-sdk-amp/source/model/EksConfiguration.cpp new file mode 100644 index 00000000000..a9229913970 --- /dev/null +++ b/generated/src/aws-cpp-sdk-amp/source/model/EksConfiguration.cpp @@ -0,0 +1,105 @@ +/** + * 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 PrometheusService +{ +namespace Model +{ + +EksConfiguration::EksConfiguration() : + m_clusterArnHasBeenSet(false), + m_securityGroupIdsHasBeenSet(false), + m_subnetIdsHasBeenSet(false) +{ +} + +EksConfiguration::EksConfiguration(JsonView jsonValue) : + m_clusterArnHasBeenSet(false), + m_securityGroupIdsHasBeenSet(false), + m_subnetIdsHasBeenSet(false) +{ + *this = jsonValue; +} + +EksConfiguration& EksConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("clusterArn")) + { + m_clusterArn = jsonValue.GetString("clusterArn"); + + m_clusterArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("securityGroupIds")) + { + Aws::Utils::Array securityGroupIdsJsonList = jsonValue.GetArray("securityGroupIds"); + for(unsigned securityGroupIdsIndex = 0; securityGroupIdsIndex < securityGroupIdsJsonList.GetLength(); ++securityGroupIdsIndex) + { + m_securityGroupIds.push_back(securityGroupIdsJsonList[securityGroupIdsIndex].AsString()); + } + m_securityGroupIdsHasBeenSet = true; + } + + if(jsonValue.ValueExists("subnetIds")) + { + Aws::Utils::Array subnetIdsJsonList = jsonValue.GetArray("subnetIds"); + for(unsigned subnetIdsIndex = 0; subnetIdsIndex < subnetIdsJsonList.GetLength(); ++subnetIdsIndex) + { + m_subnetIds.push_back(subnetIdsJsonList[subnetIdsIndex].AsString()); + } + m_subnetIdsHasBeenSet = true; + } + + return *this; +} + +JsonValue EksConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_clusterArnHasBeenSet) + { + payload.WithString("clusterArn", m_clusterArn); + + } + + if(m_securityGroupIdsHasBeenSet) + { + Aws::Utils::Array securityGroupIdsJsonList(m_securityGroupIds.size()); + for(unsigned securityGroupIdsIndex = 0; securityGroupIdsIndex < securityGroupIdsJsonList.GetLength(); ++securityGroupIdsIndex) + { + securityGroupIdsJsonList[securityGroupIdsIndex].AsString(m_securityGroupIds[securityGroupIdsIndex]); + } + payload.WithArray("securityGroupIds", std::move(securityGroupIdsJsonList)); + + } + + if(m_subnetIdsHasBeenSet) + { + Aws::Utils::Array subnetIdsJsonList(m_subnetIds.size()); + for(unsigned subnetIdsIndex = 0; subnetIdsIndex < subnetIdsJsonList.GetLength(); ++subnetIdsIndex) + { + subnetIdsJsonList[subnetIdsIndex].AsString(m_subnetIds[subnetIdsIndex]); + } + payload.WithArray("subnetIds", std::move(subnetIdsJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace PrometheusService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-amp/source/model/GetDefaultScraperConfigurationRequest.cpp b/generated/src/aws-cpp-sdk-amp/source/model/GetDefaultScraperConfigurationRequest.cpp new file mode 100644 index 00000000000..1d6be3feef3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-amp/source/model/GetDefaultScraperConfigurationRequest.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::PrometheusService::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +GetDefaultScraperConfigurationRequest::GetDefaultScraperConfigurationRequest() +{ +} + +Aws::String GetDefaultScraperConfigurationRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-amp/source/model/GetDefaultScraperConfigurationResult.cpp b/generated/src/aws-cpp-sdk-amp/source/model/GetDefaultScraperConfigurationResult.cpp new file mode 100644 index 00000000000..38e9c97ecea --- /dev/null +++ b/generated/src/aws-cpp-sdk-amp/source/model/GetDefaultScraperConfigurationResult.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::PrometheusService::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetDefaultScraperConfigurationResult::GetDefaultScraperConfigurationResult() +{ +} + +GetDefaultScraperConfigurationResult::GetDefaultScraperConfigurationResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetDefaultScraperConfigurationResult& GetDefaultScraperConfigurationResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("configuration")) + { + m_configuration = HashingUtils::Base64Decode(jsonValue.GetString("configuration")); + } + + + 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-amp/source/model/ListScrapersRequest.cpp b/generated/src/aws-cpp-sdk-amp/source/model/ListScrapersRequest.cpp new file mode 100644 index 00000000000..5cbcece0f5c --- /dev/null +++ b/generated/src/aws-cpp-sdk-amp/source/model/ListScrapersRequest.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::PrometheusService::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +ListScrapersRequest::ListScrapersRequest() : + m_filtersHasBeenSet(false), + m_nextTokenHasBeenSet(false), + m_maxResults(0), + m_maxResultsHasBeenSet(false) +{ +} + +Aws::String ListScrapersRequest::SerializePayload() const +{ + return {}; +} + +void ListScrapersRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_filtersHasBeenSet) + { + for(auto& item : m_filters) + { + for(auto& innerItem : item.second) + { + ss << innerItem; + uri.AddQueryStringParameter(item.first.c_str(), 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-amp/source/model/ListScrapersResult.cpp b/generated/src/aws-cpp-sdk-amp/source/model/ListScrapersResult.cpp new file mode 100644 index 00000000000..d3ec61dcb8a --- /dev/null +++ b/generated/src/aws-cpp-sdk-amp/source/model/ListScrapersResult.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::PrometheusService::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListScrapersResult::ListScrapersResult() +{ +} + +ListScrapersResult::ListScrapersResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListScrapersResult& ListScrapersResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("scrapers")) + { + Aws::Utils::Array scrapersJsonList = jsonValue.GetArray("scrapers"); + for(unsigned scrapersIndex = 0; scrapersIndex < scrapersJsonList.GetLength(); ++scrapersIndex) + { + m_scrapers.push_back(scrapersJsonList[scrapersIndex].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-amp/source/model/ScrapeConfiguration.cpp b/generated/src/aws-cpp-sdk-amp/source/model/ScrapeConfiguration.cpp new file mode 100644 index 00000000000..3031a7f516b --- /dev/null +++ b/generated/src/aws-cpp-sdk-amp/source/model/ScrapeConfiguration.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 + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace PrometheusService +{ +namespace Model +{ + +ScrapeConfiguration::ScrapeConfiguration() : + m_configurationBlobHasBeenSet(false) +{ +} + +ScrapeConfiguration::ScrapeConfiguration(JsonView jsonValue) : + m_configurationBlobHasBeenSet(false) +{ + *this = jsonValue; +} + +ScrapeConfiguration& ScrapeConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("configurationBlob")) + { + m_configurationBlob = HashingUtils::Base64Decode(jsonValue.GetString("configurationBlob")); + m_configurationBlobHasBeenSet = true; + } + + return *this; +} + +JsonValue ScrapeConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_configurationBlobHasBeenSet) + { + payload.WithString("configurationBlob", HashingUtils::Base64Encode(m_configurationBlob)); + } + + return payload; +} + +} // namespace Model +} // namespace PrometheusService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-amp/source/model/ScraperDescription.cpp b/generated/src/aws-cpp-sdk-amp/source/model/ScraperDescription.cpp new file mode 100644 index 00000000000..02ce7aaca41 --- /dev/null +++ b/generated/src/aws-cpp-sdk-amp/source/model/ScraperDescription.cpp @@ -0,0 +1,230 @@ +/** + * 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 PrometheusService +{ +namespace Model +{ + +ScraperDescription::ScraperDescription() : + m_aliasHasBeenSet(false), + m_scraperIdHasBeenSet(false), + m_arnHasBeenSet(false), + m_roleArnHasBeenSet(false), + m_statusHasBeenSet(false), + m_createdAtHasBeenSet(false), + m_lastModifiedAtHasBeenSet(false), + m_tagsHasBeenSet(false), + m_statusReasonHasBeenSet(false), + m_scrapeConfigurationHasBeenSet(false), + m_sourceHasBeenSet(false), + m_destinationHasBeenSet(false) +{ +} + +ScraperDescription::ScraperDescription(JsonView jsonValue) : + m_aliasHasBeenSet(false), + m_scraperIdHasBeenSet(false), + m_arnHasBeenSet(false), + m_roleArnHasBeenSet(false), + m_statusHasBeenSet(false), + m_createdAtHasBeenSet(false), + m_lastModifiedAtHasBeenSet(false), + m_tagsHasBeenSet(false), + m_statusReasonHasBeenSet(false), + m_scrapeConfigurationHasBeenSet(false), + m_sourceHasBeenSet(false), + m_destinationHasBeenSet(false) +{ + *this = jsonValue; +} + +ScraperDescription& ScraperDescription::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("alias")) + { + m_alias = jsonValue.GetString("alias"); + + m_aliasHasBeenSet = true; + } + + if(jsonValue.ValueExists("scraperId")) + { + m_scraperId = jsonValue.GetString("scraperId"); + + m_scraperIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("arn")) + { + m_arn = jsonValue.GetString("arn"); + + m_arnHasBeenSet = true; + } + + if(jsonValue.ValueExists("roleArn")) + { + m_roleArn = jsonValue.GetString("roleArn"); + + m_roleArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("status")) + { + m_status = jsonValue.GetObject("status"); + + m_statusHasBeenSet = true; + } + + if(jsonValue.ValueExists("createdAt")) + { + m_createdAt = jsonValue.GetDouble("createdAt"); + + m_createdAtHasBeenSet = true; + } + + if(jsonValue.ValueExists("lastModifiedAt")) + { + m_lastModifiedAt = jsonValue.GetDouble("lastModifiedAt"); + + m_lastModifiedAtHasBeenSet = true; + } + + if(jsonValue.ValueExists("tags")) + { + Aws::Map tagsJsonMap = jsonValue.GetObject("tags").GetAllObjects(); + for(auto& tagsItem : tagsJsonMap) + { + m_tags[tagsItem.first] = tagsItem.second.AsString(); + } + m_tagsHasBeenSet = true; + } + + if(jsonValue.ValueExists("statusReason")) + { + m_statusReason = jsonValue.GetString("statusReason"); + + m_statusReasonHasBeenSet = true; + } + + if(jsonValue.ValueExists("scrapeConfiguration")) + { + m_scrapeConfiguration = jsonValue.GetObject("scrapeConfiguration"); + + m_scrapeConfigurationHasBeenSet = true; + } + + if(jsonValue.ValueExists("source")) + { + m_source = jsonValue.GetObject("source"); + + m_sourceHasBeenSet = true; + } + + if(jsonValue.ValueExists("destination")) + { + m_destination = jsonValue.GetObject("destination"); + + m_destinationHasBeenSet = true; + } + + return *this; +} + +JsonValue ScraperDescription::Jsonize() const +{ + JsonValue payload; + + if(m_aliasHasBeenSet) + { + payload.WithString("alias", m_alias); + + } + + if(m_scraperIdHasBeenSet) + { + payload.WithString("scraperId", m_scraperId); + + } + + if(m_arnHasBeenSet) + { + payload.WithString("arn", m_arn); + + } + + if(m_roleArnHasBeenSet) + { + payload.WithString("roleArn", m_roleArn); + + } + + if(m_statusHasBeenSet) + { + payload.WithObject("status", m_status.Jsonize()); + + } + + if(m_createdAtHasBeenSet) + { + payload.WithDouble("createdAt", m_createdAt.SecondsWithMSPrecision()); + } + + if(m_lastModifiedAtHasBeenSet) + { + payload.WithDouble("lastModifiedAt", m_lastModifiedAt.SecondsWithMSPrecision()); + } + + if(m_tagsHasBeenSet) + { + JsonValue tagsJsonMap; + for(auto& tagsItem : m_tags) + { + tagsJsonMap.WithString(tagsItem.first, tagsItem.second); + } + payload.WithObject("tags", std::move(tagsJsonMap)); + + } + + if(m_statusReasonHasBeenSet) + { + payload.WithString("statusReason", m_statusReason); + + } + + if(m_scrapeConfigurationHasBeenSet) + { + payload.WithObject("scrapeConfiguration", m_scrapeConfiguration.Jsonize()); + + } + + if(m_sourceHasBeenSet) + { + payload.WithObject("source", m_source.Jsonize()); + + } + + if(m_destinationHasBeenSet) + { + payload.WithObject("destination", m_destination.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace PrometheusService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-amp/source/model/ScraperStatus.cpp b/generated/src/aws-cpp-sdk-amp/source/model/ScraperStatus.cpp new file mode 100644 index 00000000000..64a6cdebc54 --- /dev/null +++ b/generated/src/aws-cpp-sdk-amp/source/model/ScraperStatus.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 PrometheusService +{ +namespace Model +{ + +ScraperStatus::ScraperStatus() : + m_statusCode(ScraperStatusCode::NOT_SET), + m_statusCodeHasBeenSet(false) +{ +} + +ScraperStatus::ScraperStatus(JsonView jsonValue) : + m_statusCode(ScraperStatusCode::NOT_SET), + m_statusCodeHasBeenSet(false) +{ + *this = jsonValue; +} + +ScraperStatus& ScraperStatus::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("statusCode")) + { + m_statusCode = ScraperStatusCodeMapper::GetScraperStatusCodeForName(jsonValue.GetString("statusCode")); + + m_statusCodeHasBeenSet = true; + } + + return *this; +} + +JsonValue ScraperStatus::Jsonize() const +{ + JsonValue payload; + + if(m_statusCodeHasBeenSet) + { + payload.WithString("statusCode", ScraperStatusCodeMapper::GetNameForScraperStatusCode(m_statusCode)); + } + + return payload; +} + +} // namespace Model +} // namespace PrometheusService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-amp/source/model/ScraperStatusCode.cpp b/generated/src/aws-cpp-sdk-amp/source/model/ScraperStatusCode.cpp new file mode 100644 index 00000000000..b9da2e346a3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-amp/source/model/ScraperStatusCode.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 PrometheusService + { + namespace Model + { + namespace ScraperStatusCodeMapper + { + + static const int CREATING_HASH = HashingUtils::HashString("CREATING"); + static const int ACTIVE_HASH = HashingUtils::HashString("ACTIVE"); + static const int DELETING_HASH = HashingUtils::HashString("DELETING"); + static const int CREATION_FAILED_HASH = HashingUtils::HashString("CREATION_FAILED"); + static const int DELETION_FAILED_HASH = HashingUtils::HashString("DELETION_FAILED"); + + + ScraperStatusCode GetScraperStatusCodeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == CREATING_HASH) + { + return ScraperStatusCode::CREATING; + } + else if (hashCode == ACTIVE_HASH) + { + return ScraperStatusCode::ACTIVE; + } + else if (hashCode == DELETING_HASH) + { + return ScraperStatusCode::DELETING; + } + else if (hashCode == CREATION_FAILED_HASH) + { + return ScraperStatusCode::CREATION_FAILED; + } + else if (hashCode == DELETION_FAILED_HASH) + { + return ScraperStatusCode::DELETION_FAILED; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ScraperStatusCode::NOT_SET; + } + + Aws::String GetNameForScraperStatusCode(ScraperStatusCode enumValue) + { + switch(enumValue) + { + case ScraperStatusCode::NOT_SET: + return {}; + case ScraperStatusCode::CREATING: + return "CREATING"; + case ScraperStatusCode::ACTIVE: + return "ACTIVE"; + case ScraperStatusCode::DELETING: + return "DELETING"; + case ScraperStatusCode::CREATION_FAILED: + return "CREATION_FAILED"; + case ScraperStatusCode::DELETION_FAILED: + return "DELETION_FAILED"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ScraperStatusCodeMapper + } // namespace Model + } // namespace PrometheusService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-amp/source/model/ScraperSummary.cpp b/generated/src/aws-cpp-sdk-amp/source/model/ScraperSummary.cpp new file mode 100644 index 00000000000..44d360e564b --- /dev/null +++ b/generated/src/aws-cpp-sdk-amp/source/model/ScraperSummary.cpp @@ -0,0 +1,215 @@ +/** + * 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 PrometheusService +{ +namespace Model +{ + +ScraperSummary::ScraperSummary() : + m_aliasHasBeenSet(false), + m_scraperIdHasBeenSet(false), + m_arnHasBeenSet(false), + m_roleArnHasBeenSet(false), + m_statusHasBeenSet(false), + m_createdAtHasBeenSet(false), + m_lastModifiedAtHasBeenSet(false), + m_tagsHasBeenSet(false), + m_statusReasonHasBeenSet(false), + m_sourceHasBeenSet(false), + m_destinationHasBeenSet(false) +{ +} + +ScraperSummary::ScraperSummary(JsonView jsonValue) : + m_aliasHasBeenSet(false), + m_scraperIdHasBeenSet(false), + m_arnHasBeenSet(false), + m_roleArnHasBeenSet(false), + m_statusHasBeenSet(false), + m_createdAtHasBeenSet(false), + m_lastModifiedAtHasBeenSet(false), + m_tagsHasBeenSet(false), + m_statusReasonHasBeenSet(false), + m_sourceHasBeenSet(false), + m_destinationHasBeenSet(false) +{ + *this = jsonValue; +} + +ScraperSummary& ScraperSummary::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("alias")) + { + m_alias = jsonValue.GetString("alias"); + + m_aliasHasBeenSet = true; + } + + if(jsonValue.ValueExists("scraperId")) + { + m_scraperId = jsonValue.GetString("scraperId"); + + m_scraperIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("arn")) + { + m_arn = jsonValue.GetString("arn"); + + m_arnHasBeenSet = true; + } + + if(jsonValue.ValueExists("roleArn")) + { + m_roleArn = jsonValue.GetString("roleArn"); + + m_roleArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("status")) + { + m_status = jsonValue.GetObject("status"); + + m_statusHasBeenSet = true; + } + + if(jsonValue.ValueExists("createdAt")) + { + m_createdAt = jsonValue.GetDouble("createdAt"); + + m_createdAtHasBeenSet = true; + } + + if(jsonValue.ValueExists("lastModifiedAt")) + { + m_lastModifiedAt = jsonValue.GetDouble("lastModifiedAt"); + + m_lastModifiedAtHasBeenSet = true; + } + + if(jsonValue.ValueExists("tags")) + { + Aws::Map tagsJsonMap = jsonValue.GetObject("tags").GetAllObjects(); + for(auto& tagsItem : tagsJsonMap) + { + m_tags[tagsItem.first] = tagsItem.second.AsString(); + } + m_tagsHasBeenSet = true; + } + + if(jsonValue.ValueExists("statusReason")) + { + m_statusReason = jsonValue.GetString("statusReason"); + + m_statusReasonHasBeenSet = true; + } + + if(jsonValue.ValueExists("source")) + { + m_source = jsonValue.GetObject("source"); + + m_sourceHasBeenSet = true; + } + + if(jsonValue.ValueExists("destination")) + { + m_destination = jsonValue.GetObject("destination"); + + m_destinationHasBeenSet = true; + } + + return *this; +} + +JsonValue ScraperSummary::Jsonize() const +{ + JsonValue payload; + + if(m_aliasHasBeenSet) + { + payload.WithString("alias", m_alias); + + } + + if(m_scraperIdHasBeenSet) + { + payload.WithString("scraperId", m_scraperId); + + } + + if(m_arnHasBeenSet) + { + payload.WithString("arn", m_arn); + + } + + if(m_roleArnHasBeenSet) + { + payload.WithString("roleArn", m_roleArn); + + } + + if(m_statusHasBeenSet) + { + payload.WithObject("status", m_status.Jsonize()); + + } + + if(m_createdAtHasBeenSet) + { + payload.WithDouble("createdAt", m_createdAt.SecondsWithMSPrecision()); + } + + if(m_lastModifiedAtHasBeenSet) + { + payload.WithDouble("lastModifiedAt", m_lastModifiedAt.SecondsWithMSPrecision()); + } + + if(m_tagsHasBeenSet) + { + JsonValue tagsJsonMap; + for(auto& tagsItem : m_tags) + { + tagsJsonMap.WithString(tagsItem.first, tagsItem.second); + } + payload.WithObject("tags", std::move(tagsJsonMap)); + + } + + if(m_statusReasonHasBeenSet) + { + payload.WithString("statusReason", m_statusReason); + + } + + if(m_sourceHasBeenSet) + { + payload.WithObject("source", m_source.Jsonize()); + + } + + if(m_destinationHasBeenSet) + { + payload.WithObject("destination", m_destination.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace PrometheusService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-amp/source/model/Source.cpp b/generated/src/aws-cpp-sdk-amp/source/model/Source.cpp new file mode 100644 index 00000000000..2e184b6f7c9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-amp/source/model/Source.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 PrometheusService +{ +namespace Model +{ + +Source::Source() : + m_eksConfigurationHasBeenSet(false) +{ +} + +Source::Source(JsonView jsonValue) : + m_eksConfigurationHasBeenSet(false) +{ + *this = jsonValue; +} + +Source& Source::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("eksConfiguration")) + { + m_eksConfiguration = jsonValue.GetObject("eksConfiguration"); + + m_eksConfigurationHasBeenSet = true; + } + + return *this; +} + +JsonValue Source::Jsonize() const +{ + JsonValue payload; + + if(m_eksConfigurationHasBeenSet) + { + payload.WithObject("eksConfiguration", m_eksConfiguration.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace PrometheusService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/CMakeLists.txt b/generated/src/aws-cpp-sdk-bcm-data-exports/CMakeLists.txt new file mode 100644 index 00000000000..09dccd7c358 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/CMakeLists.txt @@ -0,0 +1,76 @@ +add_project(aws-cpp-sdk-bcm-data-exports "C++ SDK for the AWS bcm-data-exports service" aws-cpp-sdk-core) + +file(GLOB AWS_BCM-DATA-EXPORTS_HEADERS + "include/aws/bcm-data-exports/*.h" +) + +file(GLOB AWS_BCM-DATA-EXPORTS_MODEL_HEADERS + "include/aws/bcm-data-exports/model/*.h" +) + +file(GLOB AWS_BCM-DATA-EXPORTS_SOURCE + "source/*.cpp" +) + +file(GLOB AWS_BCM-DATA-EXPORTS_MODEL_SOURCE + "source/model/*.cpp" +) + +file(GLOB BCM-DATA-EXPORTS_UNIFIED_HEADERS + ${AWS_BCM-DATA-EXPORTS_HEADERS} + ${AWS_BCM-DATA-EXPORTS_MODEL_HEADERS} +) + +file(GLOB BCM-DATA-EXPORTS_UNITY_SRC + ${AWS_BCM-DATA-EXPORTS_SOURCE} + ${AWS_BCM-DATA-EXPORTS_MODEL_SOURCE} +) + +if(ENABLE_UNITY_BUILD) + enable_unity_build("BCM-DATA-EXPORTS" BCM-DATA-EXPORTS_UNITY_SRC) +endif() + +file(GLOB BCM-DATA-EXPORTS_SRC + ${BCM-DATA-EXPORTS_UNIFIED_HEADERS} + ${BCM-DATA-EXPORTS_UNITY_SRC} +) + +if(WIN32) + #if we are compiling for visual studio, create a sane directory tree. + if(MSVC) + source_group("Header Files\\aws\\bcm-data-exports" FILES ${AWS_BCM-DATA-EXPORTS_HEADERS}) + source_group("Header Files\\aws\\bcm-data-exports\\model" FILES ${AWS_BCM-DATA-EXPORTS_MODEL_HEADERS}) + source_group("Source Files" FILES ${AWS_BCM-DATA-EXPORTS_SOURCE}) + source_group("Source Files\\model" FILES ${AWS_BCM-DATA-EXPORTS_MODEL_SOURCE}) + endif(MSVC) +endif() + +set(BCM-DATA-EXPORTS_INCLUDES + "${CMAKE_CURRENT_SOURCE_DIR}/include/" +) + +add_library(${PROJECT_NAME} ${BCM-DATA-EXPORTS_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_BCMDATAEXPORTS_EXPORTS") +endif() + +target_include_directories(${PROJECT_NAME} PUBLIC + $ + $) + +target_link_libraries(${PROJECT_NAME} PRIVATE ${PLATFORM_DEP_LIBS} ${PROJECT_LIBS}) + + +setup_install() + +install (FILES ${AWS_BCM-DATA-EXPORTS_HEADERS} DESTINATION ${INCLUDE_DIRECTORY}/aws/bcm-data-exports) +install (FILES ${AWS_BCM-DATA-EXPORTS_MODEL_HEADERS} DESTINATION ${INCLUDE_DIRECTORY}/aws/bcm-data-exports/model) + +do_packaging() + + diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/BCMDataExportsClient.h b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/BCMDataExportsClient.h new file mode 100644 index 00000000000..2ec03bbbe34 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/BCMDataExportsClient.h @@ -0,0 +1,425 @@ +/** + * 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 BCMDataExports +{ + /** + *

You can use the Data Exports API to create customized exports from multiple + * Amazon Web Services cost management and billing datasets, such as cost and usage + * data and cost optimization recommendations.

The Data Exports API provides + * the following endpoint:

  • + *

    https://bcm-data-exports.us-east-1.api.aws

+ */ + class AWS_BCMDATAEXPORTS_API BCMDataExportsClient : public Aws::Client::AWSJsonClient, public Aws::Client::ClientWithAsyncTemplateMethods + { + public: + typedef Aws::Client::AWSJsonClient BASECLASS; + static const char* SERVICE_NAME; + static const char* ALLOCATION_TAG; + + typedef BCMDataExportsClientConfiguration ClientConfigurationType; + typedef BCMDataExportsEndpointProvider 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. + */ + BCMDataExportsClient(const Aws::BCMDataExports::BCMDataExportsClientConfiguration& clientConfiguration = Aws::BCMDataExports::BCMDataExportsClientConfiguration(), + std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG)); + + /** + * 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. + */ + BCMDataExportsClient(const Aws::Auth::AWSCredentials& credentials, + std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG), + const Aws::BCMDataExports::BCMDataExportsClientConfiguration& clientConfiguration = Aws::BCMDataExports::BCMDataExportsClientConfiguration()); + + /** + * 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 + */ + BCMDataExportsClient(const std::shared_ptr& credentialsProvider, + std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG), + const Aws::BCMDataExports::BCMDataExportsClientConfiguration& clientConfiguration = Aws::BCMDataExports::BCMDataExportsClientConfiguration()); + + + /* 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. + */ + BCMDataExportsClient(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. + */ + BCMDataExportsClient(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 + */ + BCMDataExportsClient(const std::shared_ptr& credentialsProvider, + const Aws::Client::ClientConfiguration& clientConfiguration); + + /* End of legacy constructors due deprecation */ + virtual ~BCMDataExportsClient(); + + /** + *

Creates a data export and specifies the data query, the delivery preference, + * and any optional resource tags.

A DataQuery consists of both + * a QueryStatement and TableConfigurations.

The + * QueryStatement is an SQL statement. Data Exports only supports a + * limited subset of the SQL syntax. For more information on the SQL syntax that is + * supported, see Data + * query. To view the available tables and columns, see the Data + * Exports table dictionary.

The TableConfigurations is a + * collection of specified TableProperties for the table being queried + * in the QueryStatement. TableProperties are additional + * configurations you can provide to change the data and schema of a table. Each + * table can have different TableProperties. However, tables are not required to + * have any TableProperties. Each table property has a default value that it + * assumes if not specified. For more information on table configurations, see Data + * query. To view the table properties available for each table, see the Data + * Exports table dictionary or use the ListTables API to get a + * response of all tables and their available properties.

See Also:

+ * AWS + * API Reference

+ */ + virtual Model::CreateExportOutcome CreateExport(const Model::CreateExportRequest& request) const; + + /** + * A Callable wrapper for CreateExport that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::CreateExportOutcomeCallable CreateExportCallable(const CreateExportRequestT& request) const + { + return SubmitCallable(&BCMDataExportsClient::CreateExport, request); + } + + /** + * An Async wrapper for CreateExport that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void CreateExportAsync(const CreateExportRequestT& request, const CreateExportResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&BCMDataExportsClient::CreateExport, request, handler, context); + } + + /** + *

Deletes an existing data export.

See Also:

AWS + * API Reference

+ */ + virtual Model::DeleteExportOutcome DeleteExport(const Model::DeleteExportRequest& request) const; + + /** + * A Callable wrapper for DeleteExport that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DeleteExportOutcomeCallable DeleteExportCallable(const DeleteExportRequestT& request) const + { + return SubmitCallable(&BCMDataExportsClient::DeleteExport, request); + } + + /** + * An Async wrapper for DeleteExport that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DeleteExportAsync(const DeleteExportRequestT& request, const DeleteExportResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&BCMDataExportsClient::DeleteExport, request, handler, context); + } + + /** + *

Exports data based on the source data update.

See Also:

AWS + * API Reference

+ */ + virtual Model::GetExecutionOutcome GetExecution(const Model::GetExecutionRequest& request) const; + + /** + * A Callable wrapper for GetExecution that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetExecutionOutcomeCallable GetExecutionCallable(const GetExecutionRequestT& request) const + { + return SubmitCallable(&BCMDataExportsClient::GetExecution, request); + } + + /** + * An Async wrapper for GetExecution that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetExecutionAsync(const GetExecutionRequestT& request, const GetExecutionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&BCMDataExportsClient::GetExecution, request, handler, context); + } + + /** + *

Views the definition of an existing data export.

See Also:

+ * AWS + * API Reference

+ */ + virtual Model::GetExportOutcome GetExport(const Model::GetExportRequest& request) const; + + /** + * A Callable wrapper for GetExport that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetExportOutcomeCallable GetExportCallable(const GetExportRequestT& request) const + { + return SubmitCallable(&BCMDataExportsClient::GetExport, request); + } + + /** + * An Async wrapper for GetExport that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetExportAsync(const GetExportRequestT& request, const GetExportResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&BCMDataExportsClient::GetExport, request, handler, context); + } + + /** + *

Returns the metadata for the specified table and table properties. This + * includes the list of columns in the table schema, their data types, and column + * descriptions.

See Also:

AWS + * API Reference

+ */ + virtual Model::GetTableOutcome GetTable(const Model::GetTableRequest& request) const; + + /** + * A Callable wrapper for GetTable that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetTableOutcomeCallable GetTableCallable(const GetTableRequestT& request) const + { + return SubmitCallable(&BCMDataExportsClient::GetTable, request); + } + + /** + * An Async wrapper for GetTable that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetTableAsync(const GetTableRequestT& request, const GetTableResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&BCMDataExportsClient::GetTable, request, handler, context); + } + + /** + *

Lists the historical executions for the export.

See Also:

AWS + * API Reference

+ */ + virtual Model::ListExecutionsOutcome ListExecutions(const Model::ListExecutionsRequest& request) const; + + /** + * A Callable wrapper for ListExecutions that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListExecutionsOutcomeCallable ListExecutionsCallable(const ListExecutionsRequestT& request) const + { + return SubmitCallable(&BCMDataExportsClient::ListExecutions, request); + } + + /** + * An Async wrapper for ListExecutions that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListExecutionsAsync(const ListExecutionsRequestT& request, const ListExecutionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&BCMDataExportsClient::ListExecutions, request, handler, context); + } + + /** + *

Lists all data export definitions.

See Also:

AWS + * API Reference

+ */ + virtual Model::ListExportsOutcome ListExports(const Model::ListExportsRequest& request) const; + + /** + * A Callable wrapper for ListExports that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListExportsOutcomeCallable ListExportsCallable(const ListExportsRequestT& request) const + { + return SubmitCallable(&BCMDataExportsClient::ListExports, request); + } + + /** + * An Async wrapper for ListExports that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListExportsAsync(const ListExportsRequestT& request, const ListExportsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&BCMDataExportsClient::ListExports, request, handler, context); + } + + /** + *

Lists all available tables in data exports.

See Also:

AWS + * API Reference

+ */ + virtual Model::ListTablesOutcome ListTables(const Model::ListTablesRequest& request) const; + + /** + * A Callable wrapper for ListTables that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListTablesOutcomeCallable ListTablesCallable(const ListTablesRequestT& request) const + { + return SubmitCallable(&BCMDataExportsClient::ListTables, request); + } + + /** + * An Async wrapper for ListTables that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListTablesAsync(const ListTablesRequestT& request, const ListTablesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&BCMDataExportsClient::ListTables, request, handler, context); + } + + /** + *

List tags associated with an existing data export.

See Also:

+ * AWS + * API Reference

+ */ + virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest& request) const; + + /** + * A Callable wrapper for ListTagsForResource that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const ListTagsForResourceRequestT& request) const + { + return SubmitCallable(&BCMDataExportsClient::ListTagsForResource, request); + } + + /** + * An Async wrapper for ListTagsForResource that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListTagsForResourceAsync(const ListTagsForResourceRequestT& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&BCMDataExportsClient::ListTagsForResource, request, handler, context); + } + + /** + *

Adds tags for an existing data export definition.

See Also:

+ * AWS + * API Reference

+ */ + virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest& request) const; + + /** + * A Callable wrapper for TagResource that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::TagResourceOutcomeCallable TagResourceCallable(const TagResourceRequestT& request) const + { + return SubmitCallable(&BCMDataExportsClient::TagResource, request); + } + + /** + * An Async wrapper for TagResource that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void TagResourceAsync(const TagResourceRequestT& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&BCMDataExportsClient::TagResource, request, handler, context); + } + + /** + *

Deletes tags associated with an existing data export + * definition.

See Also:

AWS + * API Reference

+ */ + virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest& request) const; + + /** + * A Callable wrapper for UntagResource that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::UntagResourceOutcomeCallable UntagResourceCallable(const UntagResourceRequestT& request) const + { + return SubmitCallable(&BCMDataExportsClient::UntagResource, request); + } + + /** + * An Async wrapper for UntagResource that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void UntagResourceAsync(const UntagResourceRequestT& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&BCMDataExportsClient::UntagResource, request, handler, context); + } + + /** + *

Updates an existing data export by overwriting all export parameters. All + * export parameters must be provided in the UpdateExport request.

See + * Also:

AWS + * API Reference

+ */ + virtual Model::UpdateExportOutcome UpdateExport(const Model::UpdateExportRequest& request) const; + + /** + * A Callable wrapper for UpdateExport that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::UpdateExportOutcomeCallable UpdateExportCallable(const UpdateExportRequestT& request) const + { + return SubmitCallable(&BCMDataExportsClient::UpdateExport, request); + } + + /** + * An Async wrapper for UpdateExport that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void UpdateExportAsync(const UpdateExportRequestT& request, const UpdateExportResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&BCMDataExportsClient::UpdateExport, request, handler, context); + } + + + void OverrideEndpoint(const Aws::String& endpoint); + std::shared_ptr& accessEndpointProvider(); + private: + friend class Aws::Client::ClientWithAsyncTemplateMethods; + void init(const BCMDataExportsClientConfiguration& clientConfiguration); + + BCMDataExportsClientConfiguration m_clientConfiguration; + std::shared_ptr m_executor; + std::shared_ptr m_endpointProvider; + }; + +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/BCMDataExportsEndpointProvider.h b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/BCMDataExportsEndpointProvider.h new file mode 100644 index 00000000000..42e2ef5bc73 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/BCMDataExportsEndpointProvider.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 BCMDataExports +{ +namespace Endpoint +{ +using EndpointParameters = Aws::Endpoint::EndpointParameters; +using Aws::Endpoint::EndpointProviderBase; +using Aws::Endpoint::DefaultEndpointProvider; + +using BCMDataExportsClientContextParameters = Aws::Endpoint::ClientContextParameters; + +using BCMDataExportsClientConfiguration = Aws::Client::GenericClientConfiguration; +using BCMDataExportsBuiltInParameters = Aws::Endpoint::BuiltInParameters; + +/** + * The type for the BCMDataExports 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 BCMDataExportsEndpointProviderBase = + EndpointProviderBase; + +using BCMDataExportsDefaultEpProviderBase = + DefaultEndpointProvider; + +/** + * Default endpoint provider used for this service + */ +class AWS_BCMDATAEXPORTS_API BCMDataExportsEndpointProvider : public BCMDataExportsDefaultEpProviderBase +{ +public: + using BCMDataExportsResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; + + BCMDataExportsEndpointProvider() + : BCMDataExportsDefaultEpProviderBase(Aws::BCMDataExports::BCMDataExportsEndpointRules::GetRulesBlob(), Aws::BCMDataExports::BCMDataExportsEndpointRules::RulesBlobSize) + {} + + ~BCMDataExportsEndpointProvider() + { + } +}; +} // namespace Endpoint +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/BCMDataExportsEndpointRules.h b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/BCMDataExportsEndpointRules.h new file mode 100644 index 00000000000..f285ccd7663 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/BCMDataExportsEndpointRules.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 BCMDataExports +{ +class BCMDataExportsEndpointRules +{ +public: + static const size_t RulesBlobStrLen; + static const size_t RulesBlobSize; + + static const char* GetRulesBlob(); +}; +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/BCMDataExportsErrorMarshaller.h b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/BCMDataExportsErrorMarshaller.h new file mode 100644 index 00000000000..cf17da5dff3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/BCMDataExportsErrorMarshaller.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_BCMDATAEXPORTS_API BCMDataExportsErrorMarshaller : public Aws::Client::JsonErrorMarshaller +{ +public: + Aws::Client::AWSError FindErrorByName(const char* exceptionName) const override; +}; + +} // namespace Client +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/BCMDataExportsErrors.h b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/BCMDataExportsErrors.h new file mode 100644 index 00000000000..4959f166dcb --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/BCMDataExportsErrors.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 BCMDataExports +{ +enum class BCMDataExportsErrors +{ + //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, + /////////////////////////////////////////////////////////////////////////////////////////// + + INTERNAL_SERVER= static_cast(Aws::Client::CoreErrors::SERVICE_EXTENSION_START_RANGE) + 1, + SERVICE_QUOTA_EXCEEDED +}; + +class AWS_BCMDATAEXPORTS_API BCMDataExportsError : public Aws::Client::AWSError +{ +public: + BCMDataExportsError() {} + BCMDataExportsError(const Aws::Client::AWSError& rhs) : Aws::Client::AWSError(rhs) {} + BCMDataExportsError(Aws::Client::AWSError&& rhs) : Aws::Client::AWSError(rhs) {} + BCMDataExportsError(const Aws::Client::AWSError& rhs) : Aws::Client::AWSError(rhs) {} + BCMDataExportsError(Aws::Client::AWSError&& rhs) : Aws::Client::AWSError(rhs) {} + + template + T GetModeledError(); +}; + +namespace BCMDataExportsErrorMapper +{ + AWS_BCMDATAEXPORTS_API Aws::Client::AWSError GetErrorForName(const char* errorName); +} + +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/BCMDataExportsRequest.h b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/BCMDataExportsRequest.h new file mode 100644 index 00000000000..a10d25f0660 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/BCMDataExportsRequest.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 BCMDataExports +{ + class AWS_BCMDATAEXPORTS_API BCMDataExportsRequest : public Aws::AmazonSerializableWebServiceRequest + { + public: + using EndpointParameter = Aws::Endpoint::EndpointParameter; + using EndpointParameters = Aws::Endpoint::EndpointParameters; + + virtual ~BCMDataExportsRequest () {} + + 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, "2023-11-26")); + return headers; + } + + protected: + virtual Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const { return Aws::Http::HeaderValueCollection(); } + + }; + + +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/BCMDataExportsServiceClientModel.h b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/BCMDataExportsServiceClientModel.h new file mode 100644 index 00000000000..8366c99f643 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/BCMDataExportsServiceClientModel.h @@ -0,0 +1,135 @@ +/** + * 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 BCMDataExportsClient header */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +/* End of service model headers required in BCMDataExportsClient 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 BCMDataExports + { + using BCMDataExportsClientConfiguration = Aws::Client::GenericClientConfiguration; + using BCMDataExportsEndpointProviderBase = Aws::BCMDataExports::Endpoint::BCMDataExportsEndpointProviderBase; + using BCMDataExportsEndpointProvider = Aws::BCMDataExports::Endpoint::BCMDataExportsEndpointProvider; + + namespace Model + { + /* Service model forward declarations required in BCMDataExportsClient header */ + class CreateExportRequest; + class DeleteExportRequest; + class GetExecutionRequest; + class GetExportRequest; + class GetTableRequest; + class ListExecutionsRequest; + class ListExportsRequest; + class ListTablesRequest; + class ListTagsForResourceRequest; + class TagResourceRequest; + class UntagResourceRequest; + class UpdateExportRequest; + /* End of service model forward declarations required in BCMDataExportsClient header */ + + /* Service model Outcome class definitions */ + typedef Aws::Utils::Outcome CreateExportOutcome; + typedef Aws::Utils::Outcome DeleteExportOutcome; + typedef Aws::Utils::Outcome GetExecutionOutcome; + typedef Aws::Utils::Outcome GetExportOutcome; + typedef Aws::Utils::Outcome GetTableOutcome; + typedef Aws::Utils::Outcome ListExecutionsOutcome; + typedef Aws::Utils::Outcome ListExportsOutcome; + typedef Aws::Utils::Outcome ListTablesOutcome; + typedef Aws::Utils::Outcome ListTagsForResourceOutcome; + typedef Aws::Utils::Outcome TagResourceOutcome; + typedef Aws::Utils::Outcome UntagResourceOutcome; + typedef Aws::Utils::Outcome UpdateExportOutcome; + /* End of service model Outcome class definitions */ + + /* Service model Outcome callable definitions */ + typedef std::future CreateExportOutcomeCallable; + typedef std::future DeleteExportOutcomeCallable; + typedef std::future GetExecutionOutcomeCallable; + typedef std::future GetExportOutcomeCallable; + typedef std::future GetTableOutcomeCallable; + typedef std::future ListExecutionsOutcomeCallable; + typedef std::future ListExportsOutcomeCallable; + typedef std::future ListTablesOutcomeCallable; + typedef std::future ListTagsForResourceOutcomeCallable; + typedef std::future TagResourceOutcomeCallable; + typedef std::future UntagResourceOutcomeCallable; + typedef std::future UpdateExportOutcomeCallable; + /* End of service model Outcome callable definitions */ + } // namespace Model + + class BCMDataExportsClient; + + /* Service model async handlers definitions */ + typedef std::function&) > CreateExportResponseReceivedHandler; + typedef std::function&) > DeleteExportResponseReceivedHandler; + typedef std::function&) > GetExecutionResponseReceivedHandler; + typedef std::function&) > GetExportResponseReceivedHandler; + typedef std::function&) > GetTableResponseReceivedHandler; + typedef std::function&) > ListExecutionsResponseReceivedHandler; + typedef std::function&) > ListExportsResponseReceivedHandler; + typedef std::function&) > ListTablesResponseReceivedHandler; + typedef std::function&) > ListTagsForResourceResponseReceivedHandler; + typedef std::function&) > TagResourceResponseReceivedHandler; + typedef std::function&) > UntagResourceResponseReceivedHandler; + typedef std::function&) > UpdateExportResponseReceivedHandler; + /* End of service model async handlers definitions */ + } // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/BCMDataExports_EXPORTS.h b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/BCMDataExports_EXPORTS.h new file mode 100644 index 00000000000..d75eb8cbd5e --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/BCMDataExports_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_BCMDATAEXPORTS_EXPORTS + #define AWS_BCMDATAEXPORTS_API __declspec(dllexport) + #else + #define AWS_BCMDATAEXPORTS_API __declspec(dllimport) + #endif /* AWS_BCMDATAEXPORTS_EXPORTS */ + #define AWS_BCMDATAEXPORTS_EXTERN + #else + #define AWS_BCMDATAEXPORTS_API + #define AWS_BCMDATAEXPORTS_EXTERN extern + #endif // USE_IMPORT_EXPORT +#else // defined (USE_WINDOWS_DLL_SEMANTICS) || defined (WIN32) + #define AWS_BCMDATAEXPORTS_API + #define AWS_BCMDATAEXPORTS_EXTERN extern +#endif // defined (USE_WINDOWS_DLL_SEMANTICS) || defined (WIN32) diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/Column.h b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/Column.h new file mode 100644 index 00000000000..690390ff753 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/Column.h @@ -0,0 +1,177 @@ +/** + * 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 BCMDataExports +{ +namespace Model +{ + + /** + *

Includes basic information for a data column such as its description, name, + * and type.

See Also:

AWS + * API Reference

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

The description for a column.

+ */ + inline const Aws::String& GetDescription() const{ return m_description; } + + /** + *

The description for a column.

+ */ + inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } + + /** + *

The description for a column.

+ */ + inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } + + /** + *

The description for a column.

+ */ + inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } + + /** + *

The description for a column.

+ */ + inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } + + /** + *

The description for a column.

+ */ + inline Column& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} + + /** + *

The description for a column.

+ */ + inline Column& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} + + /** + *

The description for a column.

+ */ + inline Column& WithDescription(const char* value) { SetDescription(value); return *this;} + + + /** + *

The column name.

+ */ + inline const Aws::String& GetName() const{ return m_name; } + + /** + *

The column name.

+ */ + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + + /** + *

The column name.

+ */ + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + + /** + *

The column name.

+ */ + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + + /** + *

The column name.

+ */ + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + + /** + *

The column name.

+ */ + inline Column& WithName(const Aws::String& value) { SetName(value); return *this;} + + /** + *

The column name.

+ */ + inline Column& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + + /** + *

The column name.

+ */ + inline Column& WithName(const char* value) { SetName(value); return *this;} + + + /** + *

The kind of data a column stores.

+ */ + inline const Aws::String& GetType() const{ return m_type; } + + /** + *

The kind of data a column stores.

+ */ + inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } + + /** + *

The kind of data a column stores.

+ */ + inline void SetType(const Aws::String& value) { m_typeHasBeenSet = true; m_type = value; } + + /** + *

The kind of data a column stores.

+ */ + inline void SetType(Aws::String&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } + + /** + *

The kind of data a column stores.

+ */ + inline void SetType(const char* value) { m_typeHasBeenSet = true; m_type.assign(value); } + + /** + *

The kind of data a column stores.

+ */ + inline Column& WithType(const Aws::String& value) { SetType(value); return *this;} + + /** + *

The kind of data a column stores.

+ */ + inline Column& WithType(Aws::String&& value) { SetType(std::move(value)); return *this;} + + /** + *

The kind of data a column stores.

+ */ + inline Column& WithType(const char* value) { SetType(value); return *this;} + + private: + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::String m_type; + bool m_typeHasBeenSet = false; + }; + +} // namespace Model +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/CompressionOption.h b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/CompressionOption.h new file mode 100644 index 00000000000..ad8d9318f68 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/CompressionOption.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 BCMDataExports +{ +namespace Model +{ + enum class CompressionOption + { + NOT_SET, + GZIP, + PARQUET + }; + +namespace CompressionOptionMapper +{ +AWS_BCMDATAEXPORTS_API CompressionOption GetCompressionOptionForName(const Aws::String& name); + +AWS_BCMDATAEXPORTS_API Aws::String GetNameForCompressionOption(CompressionOption value); +} // namespace CompressionOptionMapper +} // namespace Model +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/CreateExportRequest.h b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/CreateExportRequest.h new file mode 100644 index 00000000000..6e035b155f6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/CreateExportRequest.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 BCMDataExports +{ +namespace Model +{ + + /** + */ + class CreateExportRequest : public BCMDataExportsRequest + { + public: + AWS_BCMDATAEXPORTS_API CreateExportRequest(); + + // 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 "CreateExport"; } + + AWS_BCMDATAEXPORTS_API Aws::String SerializePayload() const override; + + AWS_BCMDATAEXPORTS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + *

The details of the export, including data query, name, description, and + * destination configuration.

+ */ + inline const Export& GetExport() const{ return m_export; } + + /** + *

The details of the export, including data query, name, description, and + * destination configuration.

+ */ + inline bool ExportHasBeenSet() const { return m_exportHasBeenSet; } + + /** + *

The details of the export, including data query, name, description, and + * destination configuration.

+ */ + inline void SetExport(const Export& value) { m_exportHasBeenSet = true; m_export = value; } + + /** + *

The details of the export, including data query, name, description, and + * destination configuration.

+ */ + inline void SetExport(Export&& value) { m_exportHasBeenSet = true; m_export = std::move(value); } + + /** + *

The details of the export, including data query, name, description, and + * destination configuration.

+ */ + inline CreateExportRequest& WithExport(const Export& value) { SetExport(value); return *this;} + + /** + *

The details of the export, including data query, name, description, and + * destination configuration.

+ */ + inline CreateExportRequest& WithExport(Export&& value) { SetExport(std::move(value)); return *this;} + + + /** + *

An optional list of tags to associate with the specified export. Each tag + * consists of a key and a value, and each key must be unique for the resource.

+ */ + inline const Aws::Vector& GetResourceTags() const{ return m_resourceTags; } + + /** + *

An optional list of tags to associate with the specified export. Each tag + * consists of a key and a value, and each key must be unique for the resource.

+ */ + inline bool ResourceTagsHasBeenSet() const { return m_resourceTagsHasBeenSet; } + + /** + *

An optional list of tags to associate with the specified export. Each tag + * consists of a key and a value, and each key must be unique for the resource.

+ */ + inline void SetResourceTags(const Aws::Vector& value) { m_resourceTagsHasBeenSet = true; m_resourceTags = value; } + + /** + *

An optional list of tags to associate with the specified export. Each tag + * consists of a key and a value, and each key must be unique for the resource.

+ */ + inline void SetResourceTags(Aws::Vector&& value) { m_resourceTagsHasBeenSet = true; m_resourceTags = std::move(value); } + + /** + *

An optional list of tags to associate with the specified export. Each tag + * consists of a key and a value, and each key must be unique for the resource.

+ */ + inline CreateExportRequest& WithResourceTags(const Aws::Vector& value) { SetResourceTags(value); return *this;} + + /** + *

An optional list of tags to associate with the specified export. Each tag + * consists of a key and a value, and each key must be unique for the resource.

+ */ + inline CreateExportRequest& WithResourceTags(Aws::Vector&& value) { SetResourceTags(std::move(value)); return *this;} + + /** + *

An optional list of tags to associate with the specified export. Each tag + * consists of a key and a value, and each key must be unique for the resource.

+ */ + inline CreateExportRequest& AddResourceTags(const ResourceTag& value) { m_resourceTagsHasBeenSet = true; m_resourceTags.push_back(value); return *this; } + + /** + *

An optional list of tags to associate with the specified export. Each tag + * consists of a key and a value, and each key must be unique for the resource.

+ */ + inline CreateExportRequest& AddResourceTags(ResourceTag&& value) { m_resourceTagsHasBeenSet = true; m_resourceTags.push_back(std::move(value)); return *this; } + + private: + + Export m_export; + bool m_exportHasBeenSet = false; + + Aws::Vector m_resourceTags; + bool m_resourceTagsHasBeenSet = false; + }; + +} // namespace Model +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/CreateExportResult.h b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/CreateExportResult.h new file mode 100644 index 00000000000..63357a98a84 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/CreateExportResult.h @@ -0,0 +1,101 @@ +/** + * 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 BCMDataExports +{ +namespace Model +{ + class CreateExportResult + { + public: + AWS_BCMDATAEXPORTS_API CreateExportResult(); + AWS_BCMDATAEXPORTS_API CreateExportResult(const Aws::AmazonWebServiceResult& result); + AWS_BCMDATAEXPORTS_API CreateExportResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

The Amazon Resource Name (ARN) for this export.

+ */ + inline const Aws::String& GetExportArn() const{ return m_exportArn; } + + /** + *

The Amazon Resource Name (ARN) for this export.

+ */ + inline void SetExportArn(const Aws::String& value) { m_exportArn = value; } + + /** + *

The Amazon Resource Name (ARN) for this export.

+ */ + inline void SetExportArn(Aws::String&& value) { m_exportArn = std::move(value); } + + /** + *

The Amazon Resource Name (ARN) for this export.

+ */ + inline void SetExportArn(const char* value) { m_exportArn.assign(value); } + + /** + *

The Amazon Resource Name (ARN) for this export.

+ */ + inline CreateExportResult& WithExportArn(const Aws::String& value) { SetExportArn(value); return *this;} + + /** + *

The Amazon Resource Name (ARN) for this export.

+ */ + inline CreateExportResult& WithExportArn(Aws::String&& value) { SetExportArn(std::move(value)); return *this;} + + /** + *

The Amazon Resource Name (ARN) for this export.

+ */ + inline CreateExportResult& WithExportArn(const char* value) { SetExportArn(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 CreateExportResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline CreateExportResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline CreateExportResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::String m_exportArn; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/DataQuery.h b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/DataQuery.h new file mode 100644 index 00000000000..89eb337aa6f --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/DataQuery.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 + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace BCMDataExports +{ +namespace Model +{ + + /** + *

The SQL query of column selections and row filters from the data table you + * want.

See Also:

AWS + * API Reference

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

The query statement.

+ */ + inline const Aws::String& GetQueryStatement() const{ return m_queryStatement; } + + /** + *

The query statement.

+ */ + inline bool QueryStatementHasBeenSet() const { return m_queryStatementHasBeenSet; } + + /** + *

The query statement.

+ */ + inline void SetQueryStatement(const Aws::String& value) { m_queryStatementHasBeenSet = true; m_queryStatement = value; } + + /** + *

The query statement.

+ */ + inline void SetQueryStatement(Aws::String&& value) { m_queryStatementHasBeenSet = true; m_queryStatement = std::move(value); } + + /** + *

The query statement.

+ */ + inline void SetQueryStatement(const char* value) { m_queryStatementHasBeenSet = true; m_queryStatement.assign(value); } + + /** + *

The query statement.

+ */ + inline DataQuery& WithQueryStatement(const Aws::String& value) { SetQueryStatement(value); return *this;} + + /** + *

The query statement.

+ */ + inline DataQuery& WithQueryStatement(Aws::String&& value) { SetQueryStatement(std::move(value)); return *this;} + + /** + *

The query statement.

+ */ + inline DataQuery& WithQueryStatement(const char* value) { SetQueryStatement(value); return *this;} + + + /** + *

The table configuration.

+ */ + inline const Aws::Map>& GetTableConfigurations() const{ return m_tableConfigurations; } + + /** + *

The table configuration.

+ */ + inline bool TableConfigurationsHasBeenSet() const { return m_tableConfigurationsHasBeenSet; } + + /** + *

The table configuration.

+ */ + inline void SetTableConfigurations(const Aws::Map>& value) { m_tableConfigurationsHasBeenSet = true; m_tableConfigurations = value; } + + /** + *

The table configuration.

+ */ + inline void SetTableConfigurations(Aws::Map>&& value) { m_tableConfigurationsHasBeenSet = true; m_tableConfigurations = std::move(value); } + + /** + *

The table configuration.

+ */ + inline DataQuery& WithTableConfigurations(const Aws::Map>& value) { SetTableConfigurations(value); return *this;} + + /** + *

The table configuration.

+ */ + inline DataQuery& WithTableConfigurations(Aws::Map>&& value) { SetTableConfigurations(std::move(value)); return *this;} + + /** + *

The table configuration.

+ */ + inline DataQuery& AddTableConfigurations(const Aws::String& key, const Aws::Map& value) { m_tableConfigurationsHasBeenSet = true; m_tableConfigurations.emplace(key, value); return *this; } + + /** + *

The table configuration.

+ */ + inline DataQuery& AddTableConfigurations(Aws::String&& key, const Aws::Map& value) { m_tableConfigurationsHasBeenSet = true; m_tableConfigurations.emplace(std::move(key), value); return *this; } + + /** + *

The table configuration.

+ */ + inline DataQuery& AddTableConfigurations(const Aws::String& key, Aws::Map&& value) { m_tableConfigurationsHasBeenSet = true; m_tableConfigurations.emplace(key, std::move(value)); return *this; } + + /** + *

The table configuration.

+ */ + inline DataQuery& AddTableConfigurations(Aws::String&& key, Aws::Map&& value) { m_tableConfigurationsHasBeenSet = true; m_tableConfigurations.emplace(std::move(key), std::move(value)); return *this; } + + /** + *

The table configuration.

+ */ + inline DataQuery& AddTableConfigurations(const char* key, Aws::Map&& value) { m_tableConfigurationsHasBeenSet = true; m_tableConfigurations.emplace(key, std::move(value)); return *this; } + + /** + *

The table configuration.

+ */ + inline DataQuery& AddTableConfigurations(const char* key, const Aws::Map& value) { m_tableConfigurationsHasBeenSet = true; m_tableConfigurations.emplace(key, value); return *this; } + + private: + + Aws::String m_queryStatement; + bool m_queryStatementHasBeenSet = false; + + Aws::Map> m_tableConfigurations; + bool m_tableConfigurationsHasBeenSet = false; + }; + +} // namespace Model +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/DeleteExportRequest.h b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/DeleteExportRequest.h new file mode 100644 index 00000000000..3f00a0d5d70 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/DeleteExportRequest.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 + +namespace Aws +{ +namespace BCMDataExports +{ +namespace Model +{ + + /** + */ + class DeleteExportRequest : public BCMDataExportsRequest + { + public: + AWS_BCMDATAEXPORTS_API DeleteExportRequest(); + + // 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 "DeleteExport"; } + + AWS_BCMDATAEXPORTS_API Aws::String SerializePayload() const override; + + AWS_BCMDATAEXPORTS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + *

The Amazon Resource Name (ARN) for this export.

+ */ + inline const Aws::String& GetExportArn() const{ return m_exportArn; } + + /** + *

The Amazon Resource Name (ARN) for this export.

+ */ + inline bool ExportArnHasBeenSet() const { return m_exportArnHasBeenSet; } + + /** + *

The Amazon Resource Name (ARN) for this export.

+ */ + inline void SetExportArn(const Aws::String& value) { m_exportArnHasBeenSet = true; m_exportArn = value; } + + /** + *

The Amazon Resource Name (ARN) for this export.

+ */ + inline void SetExportArn(Aws::String&& value) { m_exportArnHasBeenSet = true; m_exportArn = std::move(value); } + + /** + *

The Amazon Resource Name (ARN) for this export.

+ */ + inline void SetExportArn(const char* value) { m_exportArnHasBeenSet = true; m_exportArn.assign(value); } + + /** + *

The Amazon Resource Name (ARN) for this export.

+ */ + inline DeleteExportRequest& WithExportArn(const Aws::String& value) { SetExportArn(value); return *this;} + + /** + *

The Amazon Resource Name (ARN) for this export.

+ */ + inline DeleteExportRequest& WithExportArn(Aws::String&& value) { SetExportArn(std::move(value)); return *this;} + + /** + *

The Amazon Resource Name (ARN) for this export.

+ */ + inline DeleteExportRequest& WithExportArn(const char* value) { SetExportArn(value); return *this;} + + private: + + Aws::String m_exportArn; + bool m_exportArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/DeleteExportResult.h b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/DeleteExportResult.h new file mode 100644 index 00000000000..babd0085b42 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/DeleteExportResult.h @@ -0,0 +1,101 @@ +/** + * 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 BCMDataExports +{ +namespace Model +{ + class DeleteExportResult + { + public: + AWS_BCMDATAEXPORTS_API DeleteExportResult(); + AWS_BCMDATAEXPORTS_API DeleteExportResult(const Aws::AmazonWebServiceResult& result); + AWS_BCMDATAEXPORTS_API DeleteExportResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

The Amazon Resource Name (ARN) for this export.

+ */ + inline const Aws::String& GetExportArn() const{ return m_exportArn; } + + /** + *

The Amazon Resource Name (ARN) for this export.

+ */ + inline void SetExportArn(const Aws::String& value) { m_exportArn = value; } + + /** + *

The Amazon Resource Name (ARN) for this export.

+ */ + inline void SetExportArn(Aws::String&& value) { m_exportArn = std::move(value); } + + /** + *

The Amazon Resource Name (ARN) for this export.

+ */ + inline void SetExportArn(const char* value) { m_exportArn.assign(value); } + + /** + *

The Amazon Resource Name (ARN) for this export.

+ */ + inline DeleteExportResult& WithExportArn(const Aws::String& value) { SetExportArn(value); return *this;} + + /** + *

The Amazon Resource Name (ARN) for this export.

+ */ + inline DeleteExportResult& WithExportArn(Aws::String&& value) { SetExportArn(std::move(value)); return *this;} + + /** + *

The Amazon Resource Name (ARN) for this export.

+ */ + inline DeleteExportResult& WithExportArn(const char* value) { SetExportArn(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 DeleteExportResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline DeleteExportResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline DeleteExportResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::String m_exportArn; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/DestinationConfigurations.h b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/DestinationConfigurations.h new file mode 100644 index 00000000000..170dfe405b0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/DestinationConfigurations.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 BCMDataExports +{ +namespace Model +{ + + /** + *

The destinations used for data exports.

See Also:

AWS + * API Reference

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

An object that describes the destination of the data exports file.

+ */ + inline const S3Destination& GetS3Destination() const{ return m_s3Destination; } + + /** + *

An object that describes the destination of the data exports file.

+ */ + inline bool S3DestinationHasBeenSet() const { return m_s3DestinationHasBeenSet; } + + /** + *

An object that describes the destination of the data exports file.

+ */ + inline void SetS3Destination(const S3Destination& value) { m_s3DestinationHasBeenSet = true; m_s3Destination = value; } + + /** + *

An object that describes the destination of the data exports file.

+ */ + inline void SetS3Destination(S3Destination&& value) { m_s3DestinationHasBeenSet = true; m_s3Destination = std::move(value); } + + /** + *

An object that describes the destination of the data exports file.

+ */ + inline DestinationConfigurations& WithS3Destination(const S3Destination& value) { SetS3Destination(value); return *this;} + + /** + *

An object that describes the destination of the data exports file.

+ */ + inline DestinationConfigurations& WithS3Destination(S3Destination&& value) { SetS3Destination(std::move(value)); return *this;} + + private: + + S3Destination m_s3Destination; + bool m_s3DestinationHasBeenSet = false; + }; + +} // namespace Model +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/ExecutionReference.h b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/ExecutionReference.h new file mode 100644 index 00000000000..9b06a389d12 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/ExecutionReference.h @@ -0,0 +1,123 @@ +/** + * 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 BCMDataExports +{ +namespace Model +{ + + /** + *

The reference for the data export update.

See Also:

AWS + * API Reference

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

The ID for this specific execution.

+ */ + inline const Aws::String& GetExecutionId() const{ return m_executionId; } + + /** + *

The ID for this specific execution.

+ */ + inline bool ExecutionIdHasBeenSet() const { return m_executionIdHasBeenSet; } + + /** + *

The ID for this specific execution.

+ */ + inline void SetExecutionId(const Aws::String& value) { m_executionIdHasBeenSet = true; m_executionId = value; } + + /** + *

The ID for this specific execution.

+ */ + inline void SetExecutionId(Aws::String&& value) { m_executionIdHasBeenSet = true; m_executionId = std::move(value); } + + /** + *

The ID for this specific execution.

+ */ + inline void SetExecutionId(const char* value) { m_executionIdHasBeenSet = true; m_executionId.assign(value); } + + /** + *

The ID for this specific execution.

+ */ + inline ExecutionReference& WithExecutionId(const Aws::String& value) { SetExecutionId(value); return *this;} + + /** + *

The ID for this specific execution.

+ */ + inline ExecutionReference& WithExecutionId(Aws::String&& value) { SetExecutionId(std::move(value)); return *this;} + + /** + *

The ID for this specific execution.

+ */ + inline ExecutionReference& WithExecutionId(const char* value) { SetExecutionId(value); return *this;} + + + /** + *

The status of this specific execution.

+ */ + inline const ExecutionStatus& GetExecutionStatus() const{ return m_executionStatus; } + + /** + *

The status of this specific execution.

+ */ + inline bool ExecutionStatusHasBeenSet() const { return m_executionStatusHasBeenSet; } + + /** + *

The status of this specific execution.

+ */ + inline void SetExecutionStatus(const ExecutionStatus& value) { m_executionStatusHasBeenSet = true; m_executionStatus = value; } + + /** + *

The status of this specific execution.

+ */ + inline void SetExecutionStatus(ExecutionStatus&& value) { m_executionStatusHasBeenSet = true; m_executionStatus = std::move(value); } + + /** + *

The status of this specific execution.

+ */ + inline ExecutionReference& WithExecutionStatus(const ExecutionStatus& value) { SetExecutionStatus(value); return *this;} + + /** + *

The status of this specific execution.

+ */ + inline ExecutionReference& WithExecutionStatus(ExecutionStatus&& value) { SetExecutionStatus(std::move(value)); return *this;} + + private: + + Aws::String m_executionId; + bool m_executionIdHasBeenSet = false; + + ExecutionStatus m_executionStatus; + bool m_executionStatusHasBeenSet = false; + }; + +} // namespace Model +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/ExecutionStatus.h b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/ExecutionStatus.h new file mode 100644 index 00000000000..c36d30d8159 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/ExecutionStatus.h @@ -0,0 +1,216 @@ +/** + * 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 BCMDataExports +{ +namespace Model +{ + + /** + *

The status of the execution.

See Also:

AWS + * API Reference

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

The time when the execution was completed.

+ */ + inline const Aws::Utils::DateTime& GetCompletedAt() const{ return m_completedAt; } + + /** + *

The time when the execution was completed.

+ */ + inline bool CompletedAtHasBeenSet() const { return m_completedAtHasBeenSet; } + + /** + *

The time when the execution was completed.

+ */ + inline void SetCompletedAt(const Aws::Utils::DateTime& value) { m_completedAtHasBeenSet = true; m_completedAt = value; } + + /** + *

The time when the execution was completed.

+ */ + inline void SetCompletedAt(Aws::Utils::DateTime&& value) { m_completedAtHasBeenSet = true; m_completedAt = std::move(value); } + + /** + *

The time when the execution was completed.

+ */ + inline ExecutionStatus& WithCompletedAt(const Aws::Utils::DateTime& value) { SetCompletedAt(value); return *this;} + + /** + *

The time when the execution was completed.

+ */ + inline ExecutionStatus& WithCompletedAt(Aws::Utils::DateTime&& value) { SetCompletedAt(std::move(value)); return *this;} + + + /** + *

The time when the execution was created.

+ */ + inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } + + /** + *

The time when the execution was created.

+ */ + inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } + + /** + *

The time when the execution was created.

+ */ + inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAtHasBeenSet = true; m_createdAt = value; } + + /** + *

The time when the execution was created.

+ */ + inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::move(value); } + + /** + *

The time when the execution was created.

+ */ + inline ExecutionStatus& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} + + /** + *

The time when the execution was created.

+ */ + inline ExecutionStatus& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} + + + /** + *

The time when the execution was last updated.

+ */ + inline const Aws::Utils::DateTime& GetLastUpdatedAt() const{ return m_lastUpdatedAt; } + + /** + *

The time when the execution was last updated.

+ */ + inline bool LastUpdatedAtHasBeenSet() const { return m_lastUpdatedAtHasBeenSet; } + + /** + *

The time when the execution was last updated.

+ */ + inline void SetLastUpdatedAt(const Aws::Utils::DateTime& value) { m_lastUpdatedAtHasBeenSet = true; m_lastUpdatedAt = value; } + + /** + *

The time when the execution was last updated.

+ */ + inline void SetLastUpdatedAt(Aws::Utils::DateTime&& value) { m_lastUpdatedAtHasBeenSet = true; m_lastUpdatedAt = std::move(value); } + + /** + *

The time when the execution was last updated.

+ */ + inline ExecutionStatus& WithLastUpdatedAt(const Aws::Utils::DateTime& value) { SetLastUpdatedAt(value); return *this;} + + /** + *

The time when the execution was last updated.

+ */ + inline ExecutionStatus& WithLastUpdatedAt(Aws::Utils::DateTime&& value) { SetLastUpdatedAt(std::move(value)); return *this;} + + + /** + *

The code for the status of the execution.

+ */ + inline const ExecutionStatusCode& GetStatusCode() const{ return m_statusCode; } + + /** + *

The code for the status of the execution.

+ */ + inline bool StatusCodeHasBeenSet() const { return m_statusCodeHasBeenSet; } + + /** + *

The code for the status of the execution.

+ */ + inline void SetStatusCode(const ExecutionStatusCode& value) { m_statusCodeHasBeenSet = true; m_statusCode = value; } + + /** + *

The code for the status of the execution.

+ */ + inline void SetStatusCode(ExecutionStatusCode&& value) { m_statusCodeHasBeenSet = true; m_statusCode = std::move(value); } + + /** + *

The code for the status of the execution.

+ */ + inline ExecutionStatus& WithStatusCode(const ExecutionStatusCode& value) { SetStatusCode(value); return *this;} + + /** + *

The code for the status of the execution.

+ */ + inline ExecutionStatus& WithStatusCode(ExecutionStatusCode&& value) { SetStatusCode(std::move(value)); return *this;} + + + /** + *

The reason for the failed status.

+ */ + inline const ExecutionStatusReason& GetStatusReason() const{ return m_statusReason; } + + /** + *

The reason for the failed status.

+ */ + inline bool StatusReasonHasBeenSet() const { return m_statusReasonHasBeenSet; } + + /** + *

The reason for the failed status.

+ */ + inline void SetStatusReason(const ExecutionStatusReason& value) { m_statusReasonHasBeenSet = true; m_statusReason = value; } + + /** + *

The reason for the failed status.

+ */ + inline void SetStatusReason(ExecutionStatusReason&& value) { m_statusReasonHasBeenSet = true; m_statusReason = std::move(value); } + + /** + *

The reason for the failed status.

+ */ + inline ExecutionStatus& WithStatusReason(const ExecutionStatusReason& value) { SetStatusReason(value); return *this;} + + /** + *

The reason for the failed status.

+ */ + inline ExecutionStatus& WithStatusReason(ExecutionStatusReason&& value) { SetStatusReason(std::move(value)); return *this;} + + private: + + Aws::Utils::DateTime m_completedAt; + bool m_completedAtHasBeenSet = false; + + Aws::Utils::DateTime m_createdAt; + bool m_createdAtHasBeenSet = false; + + Aws::Utils::DateTime m_lastUpdatedAt; + bool m_lastUpdatedAtHasBeenSet = false; + + ExecutionStatusCode m_statusCode; + bool m_statusCodeHasBeenSet = false; + + ExecutionStatusReason m_statusReason; + bool m_statusReasonHasBeenSet = false; + }; + +} // namespace Model +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/ExecutionStatusCode.h b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/ExecutionStatusCode.h new file mode 100644 index 00000000000..50d446220ee --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/ExecutionStatusCode.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 BCMDataExports +{ +namespace Model +{ + enum class ExecutionStatusCode + { + NOT_SET, + INITIATION_IN_PROCESS, + QUERY_QUEUED, + QUERY_IN_PROCESS, + QUERY_FAILURE, + DELIVERY_IN_PROCESS, + DELIVERY_SUCCESS, + DELIVERY_FAILURE + }; + +namespace ExecutionStatusCodeMapper +{ +AWS_BCMDATAEXPORTS_API ExecutionStatusCode GetExecutionStatusCodeForName(const Aws::String& name); + +AWS_BCMDATAEXPORTS_API Aws::String GetNameForExecutionStatusCode(ExecutionStatusCode value); +} // namespace ExecutionStatusCodeMapper +} // namespace Model +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/ExecutionStatusReason.h b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/ExecutionStatusReason.h new file mode 100644 index 00000000000..67c8889dcfa --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/ExecutionStatusReason.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 BCMDataExports +{ +namespace Model +{ + enum class ExecutionStatusReason + { + NOT_SET, + INSUFFICIENT_PERMISSION, + BILL_OWNER_CHANGED, + INTERNAL_FAILURE + }; + +namespace ExecutionStatusReasonMapper +{ +AWS_BCMDATAEXPORTS_API ExecutionStatusReason GetExecutionStatusReasonForName(const Aws::String& name); + +AWS_BCMDATAEXPORTS_API Aws::String GetNameForExecutionStatusReason(ExecutionStatusReason value); +} // namespace ExecutionStatusReasonMapper +} // namespace Model +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/Export.h b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/Export.h new file mode 100644 index 00000000000..5c4d5da492b --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/Export.h @@ -0,0 +1,287 @@ +/** + * 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 BCMDataExports +{ +namespace Model +{ + + /** + *

The details that are available for an export.

See Also:

AWS + * API Reference

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

The data query for this specific data export.

+ */ + inline const DataQuery& GetDataQuery() const{ return m_dataQuery; } + + /** + *

The data query for this specific data export.

+ */ + inline bool DataQueryHasBeenSet() const { return m_dataQueryHasBeenSet; } + + /** + *

The data query for this specific data export.

+ */ + inline void SetDataQuery(const DataQuery& value) { m_dataQueryHasBeenSet = true; m_dataQuery = value; } + + /** + *

The data query for this specific data export.

+ */ + inline void SetDataQuery(DataQuery&& value) { m_dataQueryHasBeenSet = true; m_dataQuery = std::move(value); } + + /** + *

The data query for this specific data export.

+ */ + inline Export& WithDataQuery(const DataQuery& value) { SetDataQuery(value); return *this;} + + /** + *

The data query for this specific data export.

+ */ + inline Export& WithDataQuery(DataQuery&& value) { SetDataQuery(std::move(value)); return *this;} + + + /** + *

The description for this specific data export.

+ */ + inline const Aws::String& GetDescription() const{ return m_description; } + + /** + *

The description for this specific data export.

+ */ + inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } + + /** + *

The description for this specific data export.

+ */ + inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } + + /** + *

The description for this specific data export.

+ */ + inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } + + /** + *

The description for this specific data export.

+ */ + inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } + + /** + *

The description for this specific data export.

+ */ + inline Export& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} + + /** + *

The description for this specific data export.

+ */ + inline Export& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} + + /** + *

The description for this specific data export.

+ */ + inline Export& WithDescription(const char* value) { SetDescription(value); return *this;} + + + /** + *

The destination configuration for this specific data export.

+ */ + inline const DestinationConfigurations& GetDestinationConfigurations() const{ return m_destinationConfigurations; } + + /** + *

The destination configuration for this specific data export.

+ */ + inline bool DestinationConfigurationsHasBeenSet() const { return m_destinationConfigurationsHasBeenSet; } + + /** + *

The destination configuration for this specific data export.

+ */ + inline void SetDestinationConfigurations(const DestinationConfigurations& value) { m_destinationConfigurationsHasBeenSet = true; m_destinationConfigurations = value; } + + /** + *

The destination configuration for this specific data export.

+ */ + inline void SetDestinationConfigurations(DestinationConfigurations&& value) { m_destinationConfigurationsHasBeenSet = true; m_destinationConfigurations = std::move(value); } + + /** + *

The destination configuration for this specific data export.

+ */ + inline Export& WithDestinationConfigurations(const DestinationConfigurations& value) { SetDestinationConfigurations(value); return *this;} + + /** + *

The destination configuration for this specific data export.

+ */ + inline Export& WithDestinationConfigurations(DestinationConfigurations&& value) { SetDestinationConfigurations(std::move(value)); return *this;} + + + /** + *

The Amazon Resource Name (ARN) for this export.

+ */ + inline const Aws::String& GetExportArn() const{ return m_exportArn; } + + /** + *

The Amazon Resource Name (ARN) for this export.

+ */ + inline bool ExportArnHasBeenSet() const { return m_exportArnHasBeenSet; } + + /** + *

The Amazon Resource Name (ARN) for this export.

+ */ + inline void SetExportArn(const Aws::String& value) { m_exportArnHasBeenSet = true; m_exportArn = value; } + + /** + *

The Amazon Resource Name (ARN) for this export.

+ */ + inline void SetExportArn(Aws::String&& value) { m_exportArnHasBeenSet = true; m_exportArn = std::move(value); } + + /** + *

The Amazon Resource Name (ARN) for this export.

+ */ + inline void SetExportArn(const char* value) { m_exportArnHasBeenSet = true; m_exportArn.assign(value); } + + /** + *

The Amazon Resource Name (ARN) for this export.

+ */ + inline Export& WithExportArn(const Aws::String& value) { SetExportArn(value); return *this;} + + /** + *

The Amazon Resource Name (ARN) for this export.

+ */ + inline Export& WithExportArn(Aws::String&& value) { SetExportArn(std::move(value)); return *this;} + + /** + *

The Amazon Resource Name (ARN) for this export.

+ */ + inline Export& WithExportArn(const char* value) { SetExportArn(value); return *this;} + + + /** + *

The name of this specific data export.

+ */ + inline const Aws::String& GetName() const{ return m_name; } + + /** + *

The name of this specific data export.

+ */ + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + + /** + *

The name of this specific data export.

+ */ + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + + /** + *

The name of this specific data export.

+ */ + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + + /** + *

The name of this specific data export.

+ */ + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + + /** + *

The name of this specific data export.

+ */ + inline Export& WithName(const Aws::String& value) { SetName(value); return *this;} + + /** + *

The name of this specific data export.

+ */ + inline Export& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + + /** + *

The name of this specific data export.

+ */ + inline Export& WithName(const char* value) { SetName(value); return *this;} + + + /** + *

The cadence for Amazon Web Services to update the export in your S3 + * bucket.

+ */ + inline const RefreshCadence& GetRefreshCadence() const{ return m_refreshCadence; } + + /** + *

The cadence for Amazon Web Services to update the export in your S3 + * bucket.

+ */ + inline bool RefreshCadenceHasBeenSet() const { return m_refreshCadenceHasBeenSet; } + + /** + *

The cadence for Amazon Web Services to update the export in your S3 + * bucket.

+ */ + inline void SetRefreshCadence(const RefreshCadence& value) { m_refreshCadenceHasBeenSet = true; m_refreshCadence = value; } + + /** + *

The cadence for Amazon Web Services to update the export in your S3 + * bucket.

+ */ + inline void SetRefreshCadence(RefreshCadence&& value) { m_refreshCadenceHasBeenSet = true; m_refreshCadence = std::move(value); } + + /** + *

The cadence for Amazon Web Services to update the export in your S3 + * bucket.

+ */ + inline Export& WithRefreshCadence(const RefreshCadence& value) { SetRefreshCadence(value); return *this;} + + /** + *

The cadence for Amazon Web Services to update the export in your S3 + * bucket.

+ */ + inline Export& WithRefreshCadence(RefreshCadence&& value) { SetRefreshCadence(std::move(value)); return *this;} + + private: + + DataQuery m_dataQuery; + bool m_dataQueryHasBeenSet = false; + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + DestinationConfigurations m_destinationConfigurations; + bool m_destinationConfigurationsHasBeenSet = false; + + Aws::String m_exportArn; + bool m_exportArnHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + RefreshCadence m_refreshCadence; + bool m_refreshCadenceHasBeenSet = false; + }; + +} // namespace Model +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/ExportReference.h b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/ExportReference.h new file mode 100644 index 00000000000..06e00aecba9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/ExportReference.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 + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace BCMDataExports +{ +namespace Model +{ + + /** + *

The reference details for a given export.

See Also:

AWS + * API Reference

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

The Amazon Resource Name (ARN) for this export.

+ */ + inline const Aws::String& GetExportArn() const{ return m_exportArn; } + + /** + *

The Amazon Resource Name (ARN) for this export.

+ */ + inline bool ExportArnHasBeenSet() const { return m_exportArnHasBeenSet; } + + /** + *

The Amazon Resource Name (ARN) for this export.

+ */ + inline void SetExportArn(const Aws::String& value) { m_exportArnHasBeenSet = true; m_exportArn = value; } + + /** + *

The Amazon Resource Name (ARN) for this export.

+ */ + inline void SetExportArn(Aws::String&& value) { m_exportArnHasBeenSet = true; m_exportArn = std::move(value); } + + /** + *

The Amazon Resource Name (ARN) for this export.

+ */ + inline void SetExportArn(const char* value) { m_exportArnHasBeenSet = true; m_exportArn.assign(value); } + + /** + *

The Amazon Resource Name (ARN) for this export.

+ */ + inline ExportReference& WithExportArn(const Aws::String& value) { SetExportArn(value); return *this;} + + /** + *

The Amazon Resource Name (ARN) for this export.

+ */ + inline ExportReference& WithExportArn(Aws::String&& value) { SetExportArn(std::move(value)); return *this;} + + /** + *

The Amazon Resource Name (ARN) for this export.

+ */ + inline ExportReference& WithExportArn(const char* value) { SetExportArn(value); return *this;} + + + /** + *

The name of this specific data export.

+ */ + inline const Aws::String& GetExportName() const{ return m_exportName; } + + /** + *

The name of this specific data export.

+ */ + inline bool ExportNameHasBeenSet() const { return m_exportNameHasBeenSet; } + + /** + *

The name of this specific data export.

+ */ + inline void SetExportName(const Aws::String& value) { m_exportNameHasBeenSet = true; m_exportName = value; } + + /** + *

The name of this specific data export.

+ */ + inline void SetExportName(Aws::String&& value) { m_exportNameHasBeenSet = true; m_exportName = std::move(value); } + + /** + *

The name of this specific data export.

+ */ + inline void SetExportName(const char* value) { m_exportNameHasBeenSet = true; m_exportName.assign(value); } + + /** + *

The name of this specific data export.

+ */ + inline ExportReference& WithExportName(const Aws::String& value) { SetExportName(value); return *this;} + + /** + *

The name of this specific data export.

+ */ + inline ExportReference& WithExportName(Aws::String&& value) { SetExportName(std::move(value)); return *this;} + + /** + *

The name of this specific data export.

+ */ + inline ExportReference& WithExportName(const char* value) { SetExportName(value); return *this;} + + + /** + *

The status of this specific data export.

+ */ + inline const ExportStatus& GetExportStatus() const{ return m_exportStatus; } + + /** + *

The status of this specific data export.

+ */ + inline bool ExportStatusHasBeenSet() const { return m_exportStatusHasBeenSet; } + + /** + *

The status of this specific data export.

+ */ + inline void SetExportStatus(const ExportStatus& value) { m_exportStatusHasBeenSet = true; m_exportStatus = value; } + + /** + *

The status of this specific data export.

+ */ + inline void SetExportStatus(ExportStatus&& value) { m_exportStatusHasBeenSet = true; m_exportStatus = std::move(value); } + + /** + *

The status of this specific data export.

+ */ + inline ExportReference& WithExportStatus(const ExportStatus& value) { SetExportStatus(value); return *this;} + + /** + *

The status of this specific data export.

+ */ + inline ExportReference& WithExportStatus(ExportStatus&& value) { SetExportStatus(std::move(value)); return *this;} + + private: + + Aws::String m_exportArn; + bool m_exportArnHasBeenSet = false; + + Aws::String m_exportName; + bool m_exportNameHasBeenSet = false; + + ExportStatus m_exportStatus; + bool m_exportStatusHasBeenSet = false; + }; + +} // namespace Model +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/ExportStatus.h b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/ExportStatus.h new file mode 100644 index 00000000000..10c578c1718 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/ExportStatus.h @@ -0,0 +1,216 @@ +/** + * 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 BCMDataExports +{ +namespace Model +{ + + /** + *

The status of the data export.

See Also:

AWS + * API Reference

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

The timestamp of when the export was created.

+ */ + inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } + + /** + *

The timestamp of when the export was created.

+ */ + inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } + + /** + *

The timestamp of when the export was created.

+ */ + inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAtHasBeenSet = true; m_createdAt = value; } + + /** + *

The timestamp of when the export was created.

+ */ + inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::move(value); } + + /** + *

The timestamp of when the export was created.

+ */ + inline ExportStatus& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} + + /** + *

The timestamp of when the export was created.

+ */ + inline ExportStatus& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} + + + /** + *

The timestamp of when the export was last generated.

+ */ + inline const Aws::Utils::DateTime& GetLastRefreshedAt() const{ return m_lastRefreshedAt; } + + /** + *

The timestamp of when the export was last generated.

+ */ + inline bool LastRefreshedAtHasBeenSet() const { return m_lastRefreshedAtHasBeenSet; } + + /** + *

The timestamp of when the export was last generated.

+ */ + inline void SetLastRefreshedAt(const Aws::Utils::DateTime& value) { m_lastRefreshedAtHasBeenSet = true; m_lastRefreshedAt = value; } + + /** + *

The timestamp of when the export was last generated.

+ */ + inline void SetLastRefreshedAt(Aws::Utils::DateTime&& value) { m_lastRefreshedAtHasBeenSet = true; m_lastRefreshedAt = std::move(value); } + + /** + *

The timestamp of when the export was last generated.

+ */ + inline ExportStatus& WithLastRefreshedAt(const Aws::Utils::DateTime& value) { SetLastRefreshedAt(value); return *this;} + + /** + *

The timestamp of when the export was last generated.

+ */ + inline ExportStatus& WithLastRefreshedAt(Aws::Utils::DateTime&& value) { SetLastRefreshedAt(std::move(value)); return *this;} + + + /** + *

The timestamp of when the export was updated.

+ */ + inline const Aws::Utils::DateTime& GetLastUpdatedAt() const{ return m_lastUpdatedAt; } + + /** + *

The timestamp of when the export was updated.

+ */ + inline bool LastUpdatedAtHasBeenSet() const { return m_lastUpdatedAtHasBeenSet; } + + /** + *

The timestamp of when the export was updated.

+ */ + inline void SetLastUpdatedAt(const Aws::Utils::DateTime& value) { m_lastUpdatedAtHasBeenSet = true; m_lastUpdatedAt = value; } + + /** + *

The timestamp of when the export was updated.

+ */ + inline void SetLastUpdatedAt(Aws::Utils::DateTime&& value) { m_lastUpdatedAtHasBeenSet = true; m_lastUpdatedAt = std::move(value); } + + /** + *

The timestamp of when the export was updated.

+ */ + inline ExportStatus& WithLastUpdatedAt(const Aws::Utils::DateTime& value) { SetLastUpdatedAt(value); return *this;} + + /** + *

The timestamp of when the export was updated.

+ */ + inline ExportStatus& WithLastUpdatedAt(Aws::Utils::DateTime&& value) { SetLastUpdatedAt(std::move(value)); return *this;} + + + /** + *

The status code for the request.

+ */ + inline const ExportStatusCode& GetStatusCode() const{ return m_statusCode; } + + /** + *

The status code for the request.

+ */ + inline bool StatusCodeHasBeenSet() const { return m_statusCodeHasBeenSet; } + + /** + *

The status code for the request.

+ */ + inline void SetStatusCode(const ExportStatusCode& value) { m_statusCodeHasBeenSet = true; m_statusCode = value; } + + /** + *

The status code for the request.

+ */ + inline void SetStatusCode(ExportStatusCode&& value) { m_statusCodeHasBeenSet = true; m_statusCode = std::move(value); } + + /** + *

The status code for the request.

+ */ + inline ExportStatus& WithStatusCode(const ExportStatusCode& value) { SetStatusCode(value); return *this;} + + /** + *

The status code for the request.

+ */ + inline ExportStatus& WithStatusCode(ExportStatusCode&& value) { SetStatusCode(std::move(value)); return *this;} + + + /** + *

The description for the status code.

+ */ + inline const ExecutionStatusReason& GetStatusReason() const{ return m_statusReason; } + + /** + *

The description for the status code.

+ */ + inline bool StatusReasonHasBeenSet() const { return m_statusReasonHasBeenSet; } + + /** + *

The description for the status code.

+ */ + inline void SetStatusReason(const ExecutionStatusReason& value) { m_statusReasonHasBeenSet = true; m_statusReason = value; } + + /** + *

The description for the status code.

+ */ + inline void SetStatusReason(ExecutionStatusReason&& value) { m_statusReasonHasBeenSet = true; m_statusReason = std::move(value); } + + /** + *

The description for the status code.

+ */ + inline ExportStatus& WithStatusReason(const ExecutionStatusReason& value) { SetStatusReason(value); return *this;} + + /** + *

The description for the status code.

+ */ + inline ExportStatus& WithStatusReason(ExecutionStatusReason&& value) { SetStatusReason(std::move(value)); return *this;} + + private: + + Aws::Utils::DateTime m_createdAt; + bool m_createdAtHasBeenSet = false; + + Aws::Utils::DateTime m_lastRefreshedAt; + bool m_lastRefreshedAtHasBeenSet = false; + + Aws::Utils::DateTime m_lastUpdatedAt; + bool m_lastUpdatedAtHasBeenSet = false; + + ExportStatusCode m_statusCode; + bool m_statusCodeHasBeenSet = false; + + ExecutionStatusReason m_statusReason; + bool m_statusReasonHasBeenSet = false; + }; + +} // namespace Model +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/ExportStatusCode.h b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/ExportStatusCode.h new file mode 100644 index 00000000000..6c8d21dea6f --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/ExportStatusCode.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 BCMDataExports +{ +namespace Model +{ + enum class ExportStatusCode + { + NOT_SET, + HEALTHY, + UNHEALTHY + }; + +namespace ExportStatusCodeMapper +{ +AWS_BCMDATAEXPORTS_API ExportStatusCode GetExportStatusCodeForName(const Aws::String& name); + +AWS_BCMDATAEXPORTS_API Aws::String GetNameForExportStatusCode(ExportStatusCode value); +} // namespace ExportStatusCodeMapper +} // namespace Model +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/FormatOption.h b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/FormatOption.h new file mode 100644 index 00000000000..e149cdf8248 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/FormatOption.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 BCMDataExports +{ +namespace Model +{ + enum class FormatOption + { + NOT_SET, + TEXT_OR_CSV, + PARQUET + }; + +namespace FormatOptionMapper +{ +AWS_BCMDATAEXPORTS_API FormatOption GetFormatOptionForName(const Aws::String& name); + +AWS_BCMDATAEXPORTS_API Aws::String GetNameForFormatOption(FormatOption value); +} // namespace FormatOptionMapper +} // namespace Model +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/FrequencyOption.h b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/FrequencyOption.h new file mode 100644 index 00000000000..273a5364c5b --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/FrequencyOption.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 BCMDataExports +{ +namespace Model +{ + enum class FrequencyOption + { + NOT_SET, + SYNCHRONOUS + }; + +namespace FrequencyOptionMapper +{ +AWS_BCMDATAEXPORTS_API FrequencyOption GetFrequencyOptionForName(const Aws::String& name); + +AWS_BCMDATAEXPORTS_API Aws::String GetNameForFrequencyOption(FrequencyOption value); +} // namespace FrequencyOptionMapper +} // namespace Model +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/GetExecutionRequest.h b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/GetExecutionRequest.h new file mode 100644 index 00000000000..938e5ef1a74 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/GetExecutionRequest.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 BCMDataExports +{ +namespace Model +{ + + /** + */ + class GetExecutionRequest : public BCMDataExportsRequest + { + public: + AWS_BCMDATAEXPORTS_API GetExecutionRequest(); + + // 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 "GetExecution"; } + + AWS_BCMDATAEXPORTS_API Aws::String SerializePayload() const override; + + AWS_BCMDATAEXPORTS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + *

The ID for this specific execution.

+ */ + inline const Aws::String& GetExecutionId() const{ return m_executionId; } + + /** + *

The ID for this specific execution.

+ */ + inline bool ExecutionIdHasBeenSet() const { return m_executionIdHasBeenSet; } + + /** + *

The ID for this specific execution.

+ */ + inline void SetExecutionId(const Aws::String& value) { m_executionIdHasBeenSet = true; m_executionId = value; } + + /** + *

The ID for this specific execution.

+ */ + inline void SetExecutionId(Aws::String&& value) { m_executionIdHasBeenSet = true; m_executionId = std::move(value); } + + /** + *

The ID for this specific execution.

+ */ + inline void SetExecutionId(const char* value) { m_executionIdHasBeenSet = true; m_executionId.assign(value); } + + /** + *

The ID for this specific execution.

+ */ + inline GetExecutionRequest& WithExecutionId(const Aws::String& value) { SetExecutionId(value); return *this;} + + /** + *

The ID for this specific execution.

+ */ + inline GetExecutionRequest& WithExecutionId(Aws::String&& value) { SetExecutionId(std::move(value)); return *this;} + + /** + *

The ID for this specific execution.

+ */ + inline GetExecutionRequest& WithExecutionId(const char* value) { SetExecutionId(value); return *this;} + + + /** + *

The Amazon Resource Name (ARN) of the Export object that generated this + * specific execution.

+ */ + inline const Aws::String& GetExportArn() const{ return m_exportArn; } + + /** + *

The Amazon Resource Name (ARN) of the Export object that generated this + * specific execution.

+ */ + inline bool ExportArnHasBeenSet() const { return m_exportArnHasBeenSet; } + + /** + *

The Amazon Resource Name (ARN) of the Export object that generated this + * specific execution.

+ */ + inline void SetExportArn(const Aws::String& value) { m_exportArnHasBeenSet = true; m_exportArn = value; } + + /** + *

The Amazon Resource Name (ARN) of the Export object that generated this + * specific execution.

+ */ + inline void SetExportArn(Aws::String&& value) { m_exportArnHasBeenSet = true; m_exportArn = std::move(value); } + + /** + *

The Amazon Resource Name (ARN) of the Export object that generated this + * specific execution.

+ */ + inline void SetExportArn(const char* value) { m_exportArnHasBeenSet = true; m_exportArn.assign(value); } + + /** + *

The Amazon Resource Name (ARN) of the Export object that generated this + * specific execution.

+ */ + inline GetExecutionRequest& WithExportArn(const Aws::String& value) { SetExportArn(value); return *this;} + + /** + *

The Amazon Resource Name (ARN) of the Export object that generated this + * specific execution.

+ */ + inline GetExecutionRequest& WithExportArn(Aws::String&& value) { SetExportArn(std::move(value)); return *this;} + + /** + *

The Amazon Resource Name (ARN) of the Export object that generated this + * specific execution.

+ */ + inline GetExecutionRequest& WithExportArn(const char* value) { SetExportArn(value); return *this;} + + private: + + Aws::String m_executionId; + bool m_executionIdHasBeenSet = false; + + Aws::String m_exportArn; + bool m_exportArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/GetExecutionResult.h b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/GetExecutionResult.h new file mode 100644 index 00000000000..5332eb84369 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/GetExecutionResult.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 +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace BCMDataExports +{ +namespace Model +{ + class GetExecutionResult + { + public: + AWS_BCMDATAEXPORTS_API GetExecutionResult(); + AWS_BCMDATAEXPORTS_API GetExecutionResult(const Aws::AmazonWebServiceResult& result); + AWS_BCMDATAEXPORTS_API GetExecutionResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

The ID for this specific execution.

+ */ + inline const Aws::String& GetExecutionId() const{ return m_executionId; } + + /** + *

The ID for this specific execution.

+ */ + inline void SetExecutionId(const Aws::String& value) { m_executionId = value; } + + /** + *

The ID for this specific execution.

+ */ + inline void SetExecutionId(Aws::String&& value) { m_executionId = std::move(value); } + + /** + *

The ID for this specific execution.

+ */ + inline void SetExecutionId(const char* value) { m_executionId.assign(value); } + + /** + *

The ID for this specific execution.

+ */ + inline GetExecutionResult& WithExecutionId(const Aws::String& value) { SetExecutionId(value); return *this;} + + /** + *

The ID for this specific execution.

+ */ + inline GetExecutionResult& WithExecutionId(Aws::String&& value) { SetExecutionId(std::move(value)); return *this;} + + /** + *

The ID for this specific execution.

+ */ + inline GetExecutionResult& WithExecutionId(const char* value) { SetExecutionId(value); return *this;} + + + /** + *

The status of this specific execution.

+ */ + inline const ExecutionStatus& GetExecutionStatus() const{ return m_executionStatus; } + + /** + *

The status of this specific execution.

+ */ + inline void SetExecutionStatus(const ExecutionStatus& value) { m_executionStatus = value; } + + /** + *

The status of this specific execution.

+ */ + inline void SetExecutionStatus(ExecutionStatus&& value) { m_executionStatus = std::move(value); } + + /** + *

The status of this specific execution.

+ */ + inline GetExecutionResult& WithExecutionStatus(const ExecutionStatus& value) { SetExecutionStatus(value); return *this;} + + /** + *

The status of this specific execution.

+ */ + inline GetExecutionResult& WithExecutionStatus(ExecutionStatus&& value) { SetExecutionStatus(std::move(value)); return *this;} + + + /** + *

The export data for this specific execution. This export data is a snapshot + * from when the execution was generated. The data could be different from the + * current export data if the export was updated since the execution was + * generated.

+ */ + inline const Export& GetExport() const{ return m_export; } + + /** + *

The export data for this specific execution. This export data is a snapshot + * from when the execution was generated. The data could be different from the + * current export data if the export was updated since the execution was + * generated.

+ */ + inline void SetExport(const Export& value) { m_export = value; } + + /** + *

The export data for this specific execution. This export data is a snapshot + * from when the execution was generated. The data could be different from the + * current export data if the export was updated since the execution was + * generated.

+ */ + inline void SetExport(Export&& value) { m_export = std::move(value); } + + /** + *

The export data for this specific execution. This export data is a snapshot + * from when the execution was generated. The data could be different from the + * current export data if the export was updated since the execution was + * generated.

+ */ + inline GetExecutionResult& WithExport(const Export& value) { SetExport(value); return *this;} + + /** + *

The export data for this specific execution. This export data is a snapshot + * from when the execution was generated. The data could be different from the + * current export data if the export was updated since the execution was + * generated.

+ */ + inline GetExecutionResult& WithExport(Export&& value) { SetExport(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 GetExecutionResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline GetExecutionResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline GetExecutionResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::String m_executionId; + + ExecutionStatus m_executionStatus; + + Export m_export; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/GetExportRequest.h b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/GetExportRequest.h new file mode 100644 index 00000000000..9eb1b31cf0f --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/GetExportRequest.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 + +namespace Aws +{ +namespace BCMDataExports +{ +namespace Model +{ + + /** + */ + class GetExportRequest : public BCMDataExportsRequest + { + public: + AWS_BCMDATAEXPORTS_API GetExportRequest(); + + // 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 "GetExport"; } + + AWS_BCMDATAEXPORTS_API Aws::String SerializePayload() const override; + + AWS_BCMDATAEXPORTS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + *

The Amazon Resource Name (ARN) for this export.

+ */ + inline const Aws::String& GetExportArn() const{ return m_exportArn; } + + /** + *

The Amazon Resource Name (ARN) for this export.

+ */ + inline bool ExportArnHasBeenSet() const { return m_exportArnHasBeenSet; } + + /** + *

The Amazon Resource Name (ARN) for this export.

+ */ + inline void SetExportArn(const Aws::String& value) { m_exportArnHasBeenSet = true; m_exportArn = value; } + + /** + *

The Amazon Resource Name (ARN) for this export.

+ */ + inline void SetExportArn(Aws::String&& value) { m_exportArnHasBeenSet = true; m_exportArn = std::move(value); } + + /** + *

The Amazon Resource Name (ARN) for this export.

+ */ + inline void SetExportArn(const char* value) { m_exportArnHasBeenSet = true; m_exportArn.assign(value); } + + /** + *

The Amazon Resource Name (ARN) for this export.

+ */ + inline GetExportRequest& WithExportArn(const Aws::String& value) { SetExportArn(value); return *this;} + + /** + *

The Amazon Resource Name (ARN) for this export.

+ */ + inline GetExportRequest& WithExportArn(Aws::String&& value) { SetExportArn(std::move(value)); return *this;} + + /** + *

The Amazon Resource Name (ARN) for this export.

+ */ + inline GetExportRequest& WithExportArn(const char* value) { SetExportArn(value); return *this;} + + private: + + Aws::String m_exportArn; + bool m_exportArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/GetExportResult.h b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/GetExportResult.h new file mode 100644 index 00000000000..c300704011c --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/GetExportResult.h @@ -0,0 +1,121 @@ +/** + * 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 BCMDataExports +{ +namespace Model +{ + class GetExportResult + { + public: + AWS_BCMDATAEXPORTS_API GetExportResult(); + AWS_BCMDATAEXPORTS_API GetExportResult(const Aws::AmazonWebServiceResult& result); + AWS_BCMDATAEXPORTS_API GetExportResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

The data for this specific export.

+ */ + inline const Export& GetExport() const{ return m_export; } + + /** + *

The data for this specific export.

+ */ + inline void SetExport(const Export& value) { m_export = value; } + + /** + *

The data for this specific export.

+ */ + inline void SetExport(Export&& value) { m_export = std::move(value); } + + /** + *

The data for this specific export.

+ */ + inline GetExportResult& WithExport(const Export& value) { SetExport(value); return *this;} + + /** + *

The data for this specific export.

+ */ + inline GetExportResult& WithExport(Export&& value) { SetExport(std::move(value)); return *this;} + + + /** + *

The status of this specific export.

+ */ + inline const ExportStatus& GetExportStatus() const{ return m_exportStatus; } + + /** + *

The status of this specific export.

+ */ + inline void SetExportStatus(const ExportStatus& value) { m_exportStatus = value; } + + /** + *

The status of this specific export.

+ */ + inline void SetExportStatus(ExportStatus&& value) { m_exportStatus = std::move(value); } + + /** + *

The status of this specific export.

+ */ + inline GetExportResult& WithExportStatus(const ExportStatus& value) { SetExportStatus(value); return *this;} + + /** + *

The status of this specific export.

+ */ + inline GetExportResult& WithExportStatus(ExportStatus&& value) { SetExportStatus(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 GetExportResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline GetExportResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline GetExportResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Export m_export; + + ExportStatus m_exportStatus; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/GetTableRequest.h b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/GetTableRequest.h new file mode 100644 index 00000000000..4719883b279 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/GetTableRequest.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 + +namespace Aws +{ +namespace BCMDataExports +{ +namespace Model +{ + + /** + */ + class GetTableRequest : public BCMDataExportsRequest + { + public: + AWS_BCMDATAEXPORTS_API GetTableRequest(); + + // 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 "GetTable"; } + + AWS_BCMDATAEXPORTS_API Aws::String SerializePayload() const override; + + AWS_BCMDATAEXPORTS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + *

The name of the table.

+ */ + inline const Aws::String& GetTableName() const{ return m_tableName; } + + /** + *

The name of the table.

+ */ + inline bool TableNameHasBeenSet() const { return m_tableNameHasBeenSet; } + + /** + *

The name of the table.

+ */ + inline void SetTableName(const Aws::String& value) { m_tableNameHasBeenSet = true; m_tableName = value; } + + /** + *

The name of the table.

+ */ + inline void SetTableName(Aws::String&& value) { m_tableNameHasBeenSet = true; m_tableName = std::move(value); } + + /** + *

The name of the table.

+ */ + inline void SetTableName(const char* value) { m_tableNameHasBeenSet = true; m_tableName.assign(value); } + + /** + *

The name of the table.

+ */ + inline GetTableRequest& WithTableName(const Aws::String& value) { SetTableName(value); return *this;} + + /** + *

The name of the table.

+ */ + inline GetTableRequest& WithTableName(Aws::String&& value) { SetTableName(std::move(value)); return *this;} + + /** + *

The name of the table.

+ */ + inline GetTableRequest& WithTableName(const char* value) { SetTableName(value); return *this;} + + + /** + *

TableProperties are additional configurations you can provide to change the + * data and schema of a table. Each table can have different TableProperties. + * Tables are not required to have any TableProperties. Each table property has a + * default value that it assumes if not specified.

+ */ + inline const Aws::Map& GetTableProperties() const{ return m_tableProperties; } + + /** + *

TableProperties are additional configurations you can provide to change the + * data and schema of a table. Each table can have different TableProperties. + * Tables are not required to have any TableProperties. Each table property has a + * default value that it assumes if not specified.

+ */ + inline bool TablePropertiesHasBeenSet() const { return m_tablePropertiesHasBeenSet; } + + /** + *

TableProperties are additional configurations you can provide to change the + * data and schema of a table. Each table can have different TableProperties. + * Tables are not required to have any TableProperties. Each table property has a + * default value that it assumes if not specified.

+ */ + inline void SetTableProperties(const Aws::Map& value) { m_tablePropertiesHasBeenSet = true; m_tableProperties = value; } + + /** + *

TableProperties are additional configurations you can provide to change the + * data and schema of a table. Each table can have different TableProperties. + * Tables are not required to have any TableProperties. Each table property has a + * default value that it assumes if not specified.

+ */ + inline void SetTableProperties(Aws::Map&& value) { m_tablePropertiesHasBeenSet = true; m_tableProperties = std::move(value); } + + /** + *

TableProperties are additional configurations you can provide to change the + * data and schema of a table. Each table can have different TableProperties. + * Tables are not required to have any TableProperties. Each table property has a + * default value that it assumes if not specified.

+ */ + inline GetTableRequest& WithTableProperties(const Aws::Map& value) { SetTableProperties(value); return *this;} + + /** + *

TableProperties are additional configurations you can provide to change the + * data and schema of a table. Each table can have different TableProperties. + * Tables are not required to have any TableProperties. Each table property has a + * default value that it assumes if not specified.

+ */ + inline GetTableRequest& WithTableProperties(Aws::Map&& value) { SetTableProperties(std::move(value)); return *this;} + + /** + *

TableProperties are additional configurations you can provide to change the + * data and schema of a table. Each table can have different TableProperties. + * Tables are not required to have any TableProperties. Each table property has a + * default value that it assumes if not specified.

+ */ + inline GetTableRequest& AddTableProperties(const Aws::String& key, const Aws::String& value) { m_tablePropertiesHasBeenSet = true; m_tableProperties.emplace(key, value); return *this; } + + /** + *

TableProperties are additional configurations you can provide to change the + * data and schema of a table. Each table can have different TableProperties. + * Tables are not required to have any TableProperties. Each table property has a + * default value that it assumes if not specified.

+ */ + inline GetTableRequest& AddTableProperties(Aws::String&& key, const Aws::String& value) { m_tablePropertiesHasBeenSet = true; m_tableProperties.emplace(std::move(key), value); return *this; } + + /** + *

TableProperties are additional configurations you can provide to change the + * data and schema of a table. Each table can have different TableProperties. + * Tables are not required to have any TableProperties. Each table property has a + * default value that it assumes if not specified.

+ */ + inline GetTableRequest& AddTableProperties(const Aws::String& key, Aws::String&& value) { m_tablePropertiesHasBeenSet = true; m_tableProperties.emplace(key, std::move(value)); return *this; } + + /** + *

TableProperties are additional configurations you can provide to change the + * data and schema of a table. Each table can have different TableProperties. + * Tables are not required to have any TableProperties. Each table property has a + * default value that it assumes if not specified.

+ */ + inline GetTableRequest& AddTableProperties(Aws::String&& key, Aws::String&& value) { m_tablePropertiesHasBeenSet = true; m_tableProperties.emplace(std::move(key), std::move(value)); return *this; } + + /** + *

TableProperties are additional configurations you can provide to change the + * data and schema of a table. Each table can have different TableProperties. + * Tables are not required to have any TableProperties. Each table property has a + * default value that it assumes if not specified.

+ */ + inline GetTableRequest& AddTableProperties(const char* key, Aws::String&& value) { m_tablePropertiesHasBeenSet = true; m_tableProperties.emplace(key, std::move(value)); return *this; } + + /** + *

TableProperties are additional configurations you can provide to change the + * data and schema of a table. Each table can have different TableProperties. + * Tables are not required to have any TableProperties. Each table property has a + * default value that it assumes if not specified.

+ */ + inline GetTableRequest& AddTableProperties(Aws::String&& key, const char* value) { m_tablePropertiesHasBeenSet = true; m_tableProperties.emplace(std::move(key), value); return *this; } + + /** + *

TableProperties are additional configurations you can provide to change the + * data and schema of a table. Each table can have different TableProperties. + * Tables are not required to have any TableProperties. Each table property has a + * default value that it assumes if not specified.

+ */ + inline GetTableRequest& AddTableProperties(const char* key, const char* value) { m_tablePropertiesHasBeenSet = true; m_tableProperties.emplace(key, value); return *this; } + + private: + + Aws::String m_tableName; + bool m_tableNameHasBeenSet = false; + + Aws::Map m_tableProperties; + bool m_tablePropertiesHasBeenSet = false; + }; + +} // namespace Model +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/GetTableResult.h b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/GetTableResult.h new file mode 100644 index 00000000000..b9f29d4c3aa --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/GetTableResult.h @@ -0,0 +1,279 @@ +/** + * 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 BCMDataExports +{ +namespace Model +{ + class GetTableResult + { + public: + AWS_BCMDATAEXPORTS_API GetTableResult(); + AWS_BCMDATAEXPORTS_API GetTableResult(const Aws::AmazonWebServiceResult& result); + AWS_BCMDATAEXPORTS_API GetTableResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

The table description.

+ */ + inline const Aws::String& GetDescription() const{ return m_description; } + + /** + *

The table description.

+ */ + inline void SetDescription(const Aws::String& value) { m_description = value; } + + /** + *

The table description.

+ */ + inline void SetDescription(Aws::String&& value) { m_description = std::move(value); } + + /** + *

The table description.

+ */ + inline void SetDescription(const char* value) { m_description.assign(value); } + + /** + *

The table description.

+ */ + inline GetTableResult& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} + + /** + *

The table description.

+ */ + inline GetTableResult& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} + + /** + *

The table description.

+ */ + inline GetTableResult& WithDescription(const char* value) { SetDescription(value); return *this;} + + + /** + *

The schema of the table.

+ */ + inline const Aws::Vector& GetSchema() const{ return m_schema; } + + /** + *

The schema of the table.

+ */ + inline void SetSchema(const Aws::Vector& value) { m_schema = value; } + + /** + *

The schema of the table.

+ */ + inline void SetSchema(Aws::Vector&& value) { m_schema = std::move(value); } + + /** + *

The schema of the table.

+ */ + inline GetTableResult& WithSchema(const Aws::Vector& value) { SetSchema(value); return *this;} + + /** + *

The schema of the table.

+ */ + inline GetTableResult& WithSchema(Aws::Vector&& value) { SetSchema(std::move(value)); return *this;} + + /** + *

The schema of the table.

+ */ + inline GetTableResult& AddSchema(const Column& value) { m_schema.push_back(value); return *this; } + + /** + *

The schema of the table.

+ */ + inline GetTableResult& AddSchema(Column&& value) { m_schema.push_back(std::move(value)); return *this; } + + + /** + *

The name of the table.

+ */ + inline const Aws::String& GetTableName() const{ return m_tableName; } + + /** + *

The name of the table.

+ */ + inline void SetTableName(const Aws::String& value) { m_tableName = value; } + + /** + *

The name of the table.

+ */ + inline void SetTableName(Aws::String&& value) { m_tableName = std::move(value); } + + /** + *

The name of the table.

+ */ + inline void SetTableName(const char* value) { m_tableName.assign(value); } + + /** + *

The name of the table.

+ */ + inline GetTableResult& WithTableName(const Aws::String& value) { SetTableName(value); return *this;} + + /** + *

The name of the table.

+ */ + inline GetTableResult& WithTableName(Aws::String&& value) { SetTableName(std::move(value)); return *this;} + + /** + *

The name of the table.

+ */ + inline GetTableResult& WithTableName(const char* value) { SetTableName(value); return *this;} + + + /** + *

TableProperties are additional configurations you can provide to change the + * data and schema of a table. Each table can have different TableProperties. + * Tables are not required to have any TableProperties. Each table property has a + * default value that it assumes if not specified.

+ */ + inline const Aws::Map& GetTableProperties() const{ return m_tableProperties; } + + /** + *

TableProperties are additional configurations you can provide to change the + * data and schema of a table. Each table can have different TableProperties. + * Tables are not required to have any TableProperties. Each table property has a + * default value that it assumes if not specified.

+ */ + inline void SetTableProperties(const Aws::Map& value) { m_tableProperties = value; } + + /** + *

TableProperties are additional configurations you can provide to change the + * data and schema of a table. Each table can have different TableProperties. + * Tables are not required to have any TableProperties. Each table property has a + * default value that it assumes if not specified.

+ */ + inline void SetTableProperties(Aws::Map&& value) { m_tableProperties = std::move(value); } + + /** + *

TableProperties are additional configurations you can provide to change the + * data and schema of a table. Each table can have different TableProperties. + * Tables are not required to have any TableProperties. Each table property has a + * default value that it assumes if not specified.

+ */ + inline GetTableResult& WithTableProperties(const Aws::Map& value) { SetTableProperties(value); return *this;} + + /** + *

TableProperties are additional configurations you can provide to change the + * data and schema of a table. Each table can have different TableProperties. + * Tables are not required to have any TableProperties. Each table property has a + * default value that it assumes if not specified.

+ */ + inline GetTableResult& WithTableProperties(Aws::Map&& value) { SetTableProperties(std::move(value)); return *this;} + + /** + *

TableProperties are additional configurations you can provide to change the + * data and schema of a table. Each table can have different TableProperties. + * Tables are not required to have any TableProperties. Each table property has a + * default value that it assumes if not specified.

+ */ + inline GetTableResult& AddTableProperties(const Aws::String& key, const Aws::String& value) { m_tableProperties.emplace(key, value); return *this; } + + /** + *

TableProperties are additional configurations you can provide to change the + * data and schema of a table. Each table can have different TableProperties. + * Tables are not required to have any TableProperties. Each table property has a + * default value that it assumes if not specified.

+ */ + inline GetTableResult& AddTableProperties(Aws::String&& key, const Aws::String& value) { m_tableProperties.emplace(std::move(key), value); return *this; } + + /** + *

TableProperties are additional configurations you can provide to change the + * data and schema of a table. Each table can have different TableProperties. + * Tables are not required to have any TableProperties. Each table property has a + * default value that it assumes if not specified.

+ */ + inline GetTableResult& AddTableProperties(const Aws::String& key, Aws::String&& value) { m_tableProperties.emplace(key, std::move(value)); return *this; } + + /** + *

TableProperties are additional configurations you can provide to change the + * data and schema of a table. Each table can have different TableProperties. + * Tables are not required to have any TableProperties. Each table property has a + * default value that it assumes if not specified.

+ */ + inline GetTableResult& AddTableProperties(Aws::String&& key, Aws::String&& value) { m_tableProperties.emplace(std::move(key), std::move(value)); return *this; } + + /** + *

TableProperties are additional configurations you can provide to change the + * data and schema of a table. Each table can have different TableProperties. + * Tables are not required to have any TableProperties. Each table property has a + * default value that it assumes if not specified.

+ */ + inline GetTableResult& AddTableProperties(const char* key, Aws::String&& value) { m_tableProperties.emplace(key, std::move(value)); return *this; } + + /** + *

TableProperties are additional configurations you can provide to change the + * data and schema of a table. Each table can have different TableProperties. + * Tables are not required to have any TableProperties. Each table property has a + * default value that it assumes if not specified.

+ */ + inline GetTableResult& AddTableProperties(Aws::String&& key, const char* value) { m_tableProperties.emplace(std::move(key), value); return *this; } + + /** + *

TableProperties are additional configurations you can provide to change the + * data and schema of a table. Each table can have different TableProperties. + * Tables are not required to have any TableProperties. Each table property has a + * default value that it assumes if not specified.

+ */ + inline GetTableResult& AddTableProperties(const char* key, const char* value) { m_tableProperties.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 GetTableResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline GetTableResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline GetTableResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::String m_description; + + Aws::Vector m_schema; + + Aws::String m_tableName; + + Aws::Map m_tableProperties; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/ListExecutionsRequest.h b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/ListExecutionsRequest.h new file mode 100644 index 00000000000..c52b7945df4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/ListExecutionsRequest.h @@ -0,0 +1,153 @@ +/** + * 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 BCMDataExports +{ +namespace Model +{ + + /** + */ + class ListExecutionsRequest : public BCMDataExportsRequest + { + public: + AWS_BCMDATAEXPORTS_API ListExecutionsRequest(); + + // 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 "ListExecutions"; } + + AWS_BCMDATAEXPORTS_API Aws::String SerializePayload() const override; + + AWS_BCMDATAEXPORTS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + *

The Amazon Resource Name (ARN) for this export.

+ */ + inline const Aws::String& GetExportArn() const{ return m_exportArn; } + + /** + *

The Amazon Resource Name (ARN) for this export.

+ */ + inline bool ExportArnHasBeenSet() const { return m_exportArnHasBeenSet; } + + /** + *

The Amazon Resource Name (ARN) for this export.

+ */ + inline void SetExportArn(const Aws::String& value) { m_exportArnHasBeenSet = true; m_exportArn = value; } + + /** + *

The Amazon Resource Name (ARN) for this export.

+ */ + inline void SetExportArn(Aws::String&& value) { m_exportArnHasBeenSet = true; m_exportArn = std::move(value); } + + /** + *

The Amazon Resource Name (ARN) for this export.

+ */ + inline void SetExportArn(const char* value) { m_exportArnHasBeenSet = true; m_exportArn.assign(value); } + + /** + *

The Amazon Resource Name (ARN) for this export.

+ */ + inline ListExecutionsRequest& WithExportArn(const Aws::String& value) { SetExportArn(value); return *this;} + + /** + *

The Amazon Resource Name (ARN) for this export.

+ */ + inline ListExecutionsRequest& WithExportArn(Aws::String&& value) { SetExportArn(std::move(value)); return *this;} + + /** + *

The Amazon Resource Name (ARN) for this export.

+ */ + inline ListExecutionsRequest& WithExportArn(const char* value) { SetExportArn(value); return *this;} + + + /** + *

The maximum number of objects that are returned for the request.

+ */ + inline int GetMaxResults() const{ return m_maxResults; } + + /** + *

The maximum number of objects that are returned for the request.

+ */ + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + + /** + *

The maximum number of objects that are returned for the request.

+ */ + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + + /** + *

The maximum number of objects that are returned for the request.

+ */ + inline ListExecutionsRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + + + /** + *

The token to retrieve the next set of results.

+ */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + + /** + *

The token to retrieve the next set of results.

+ */ + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + + /** + *

The token to retrieve the next set of results.

+ */ + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + + /** + *

The token to retrieve the next set of results.

+ */ + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + + /** + *

The token to retrieve the next set of results.

+ */ + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + + /** + *

The token to retrieve the next set of results.

+ */ + inline ListExecutionsRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + + /** + *

The token to retrieve the next set of results.

+ */ + inline ListExecutionsRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + + /** + *

The token to retrieve the next set of results.

+ */ + inline ListExecutionsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + + private: + + Aws::String m_exportArn; + bool m_exportArnHasBeenSet = false; + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + }; + +} // namespace Model +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/ListExecutionsResult.h b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/ListExecutionsResult.h new file mode 100644 index 00000000000..ae35ad3b3ed --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/ListExecutionsResult.h @@ -0,0 +1,141 @@ +/** + * 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 BCMDataExports +{ +namespace Model +{ + class ListExecutionsResult + { + public: + AWS_BCMDATAEXPORTS_API ListExecutionsResult(); + AWS_BCMDATAEXPORTS_API ListExecutionsResult(const Aws::AmazonWebServiceResult& result); + AWS_BCMDATAEXPORTS_API ListExecutionsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

The list of executions.

+ */ + inline const Aws::Vector& GetExecutions() const{ return m_executions; } + + /** + *

The list of executions.

+ */ + inline void SetExecutions(const Aws::Vector& value) { m_executions = value; } + + /** + *

The list of executions.

+ */ + inline void SetExecutions(Aws::Vector&& value) { m_executions = std::move(value); } + + /** + *

The list of executions.

+ */ + inline ListExecutionsResult& WithExecutions(const Aws::Vector& value) { SetExecutions(value); return *this;} + + /** + *

The list of executions.

+ */ + inline ListExecutionsResult& WithExecutions(Aws::Vector&& value) { SetExecutions(std::move(value)); return *this;} + + /** + *

The list of executions.

+ */ + inline ListExecutionsResult& AddExecutions(const ExecutionReference& value) { m_executions.push_back(value); return *this; } + + /** + *

The list of executions.

+ */ + inline ListExecutionsResult& AddExecutions(ExecutionReference&& value) { m_executions.push_back(std::move(value)); return *this; } + + + /** + *

The token to retrieve the next set of results.

+ */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + + /** + *

The token to retrieve the next set of results.

+ */ + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + + /** + *

The token to retrieve the next set of results.

+ */ + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + + /** + *

The token to retrieve the next set of results.

+ */ + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + + /** + *

The token to retrieve the next set of results.

+ */ + inline ListExecutionsResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + + /** + *

The token to retrieve the next set of results.

+ */ + inline ListExecutionsResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + + /** + *

The token to retrieve the next set of results.

+ */ + inline ListExecutionsResult& 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 ListExecutionsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline ListExecutionsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline ListExecutionsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::Vector m_executions; + + Aws::String m_nextToken; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/ListExportsRequest.h b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/ListExportsRequest.h new file mode 100644 index 00000000000..5e0d8c068c1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/ListExportsRequest.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 + +namespace Aws +{ +namespace BCMDataExports +{ +namespace Model +{ + + /** + */ + class ListExportsRequest : public BCMDataExportsRequest + { + public: + AWS_BCMDATAEXPORTS_API ListExportsRequest(); + + // 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 "ListExports"; } + + AWS_BCMDATAEXPORTS_API Aws::String SerializePayload() const override; + + AWS_BCMDATAEXPORTS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + *

The maximum number of objects that are returned for the request.

+ */ + inline int GetMaxResults() const{ return m_maxResults; } + + /** + *

The maximum number of objects that are returned for the request.

+ */ + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + + /** + *

The maximum number of objects that are returned for the request.

+ */ + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + + /** + *

The maximum number of objects that are returned for the request.

+ */ + inline ListExportsRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + + + /** + *

The token to retrieve the next set of results.

+ */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + + /** + *

The token to retrieve the next set of results.

+ */ + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + + /** + *

The token to retrieve the next set of results.

+ */ + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + + /** + *

The token to retrieve the next set of results.

+ */ + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + + /** + *

The token to retrieve the next set of results.

+ */ + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + + /** + *

The token to retrieve the next set of results.

+ */ + inline ListExportsRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + + /** + *

The token to retrieve the next set of results.

+ */ + inline ListExportsRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + + /** + *

The token to retrieve the next set of results.

+ */ + inline ListExportsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + + private: + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + }; + +} // namespace Model +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/ListExportsResult.h b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/ListExportsResult.h new file mode 100644 index 00000000000..e24e75af9b1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/ListExportsResult.h @@ -0,0 +1,141 @@ +/** + * 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 BCMDataExports +{ +namespace Model +{ + class ListExportsResult + { + public: + AWS_BCMDATAEXPORTS_API ListExportsResult(); + AWS_BCMDATAEXPORTS_API ListExportsResult(const Aws::AmazonWebServiceResult& result); + AWS_BCMDATAEXPORTS_API ListExportsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

The details of the exports, including name and export status.

+ */ + inline const Aws::Vector& GetExports() const{ return m_exports; } + + /** + *

The details of the exports, including name and export status.

+ */ + inline void SetExports(const Aws::Vector& value) { m_exports = value; } + + /** + *

The details of the exports, including name and export status.

+ */ + inline void SetExports(Aws::Vector&& value) { m_exports = std::move(value); } + + /** + *

The details of the exports, including name and export status.

+ */ + inline ListExportsResult& WithExports(const Aws::Vector& value) { SetExports(value); return *this;} + + /** + *

The details of the exports, including name and export status.

+ */ + inline ListExportsResult& WithExports(Aws::Vector&& value) { SetExports(std::move(value)); return *this;} + + /** + *

The details of the exports, including name and export status.

+ */ + inline ListExportsResult& AddExports(const ExportReference& value) { m_exports.push_back(value); return *this; } + + /** + *

The details of the exports, including name and export status.

+ */ + inline ListExportsResult& AddExports(ExportReference&& value) { m_exports.push_back(std::move(value)); return *this; } + + + /** + *

The token to retrieve the next set of results.

+ */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + + /** + *

The token to retrieve the next set of results.

+ */ + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + + /** + *

The token to retrieve the next set of results.

+ */ + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + + /** + *

The token to retrieve the next set of results.

+ */ + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + + /** + *

The token to retrieve the next set of results.

+ */ + inline ListExportsResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + + /** + *

The token to retrieve the next set of results.

+ */ + inline ListExportsResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + + /** + *

The token to retrieve the next set of results.

+ */ + inline ListExportsResult& 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 ListExportsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline ListExportsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline ListExportsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::Vector m_exports; + + Aws::String m_nextToken; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/ListTablesRequest.h b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/ListTablesRequest.h new file mode 100644 index 00000000000..df4c384794f --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/ListTablesRequest.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 + +namespace Aws +{ +namespace BCMDataExports +{ +namespace Model +{ + + /** + */ + class ListTablesRequest : public BCMDataExportsRequest + { + public: + AWS_BCMDATAEXPORTS_API ListTablesRequest(); + + // 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 "ListTables"; } + + AWS_BCMDATAEXPORTS_API Aws::String SerializePayload() const override; + + AWS_BCMDATAEXPORTS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + *

The maximum number of objects that are returned for the request.

+ */ + inline int GetMaxResults() const{ return m_maxResults; } + + /** + *

The maximum number of objects that are returned for the request.

+ */ + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + + /** + *

The maximum number of objects that are returned for the request.

+ */ + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + + /** + *

The maximum number of objects that are returned for the request.

+ */ + inline ListTablesRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + + + /** + *

The token to retrieve the next set of results.

+ */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + + /** + *

The token to retrieve the next set of results.

+ */ + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + + /** + *

The token to retrieve the next set of results.

+ */ + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + + /** + *

The token to retrieve the next set of results.

+ */ + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + + /** + *

The token to retrieve the next set of results.

+ */ + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + + /** + *

The token to retrieve the next set of results.

+ */ + inline ListTablesRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + + /** + *

The token to retrieve the next set of results.

+ */ + inline ListTablesRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + + /** + *

The token to retrieve the next set of results.

+ */ + inline ListTablesRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + + private: + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + }; + +} // namespace Model +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/ListTablesResult.h b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/ListTablesResult.h new file mode 100644 index 00000000000..6f8df3573e1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/ListTablesResult.h @@ -0,0 +1,141 @@ +/** + * 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 BCMDataExports +{ +namespace Model +{ + class ListTablesResult + { + public: + AWS_BCMDATAEXPORTS_API ListTablesResult(); + AWS_BCMDATAEXPORTS_API ListTablesResult(const Aws::AmazonWebServiceResult& result); + AWS_BCMDATAEXPORTS_API ListTablesResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

The token to retrieve the next set of results.

+ */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + + /** + *

The token to retrieve the next set of results.

+ */ + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + + /** + *

The token to retrieve the next set of results.

+ */ + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + + /** + *

The token to retrieve the next set of results.

+ */ + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + + /** + *

The token to retrieve the next set of results.

+ */ + inline ListTablesResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + + /** + *

The token to retrieve the next set of results.

+ */ + inline ListTablesResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + + /** + *

The token to retrieve the next set of results.

+ */ + inline ListTablesResult& WithNextToken(const char* value) { SetNextToken(value); return *this;} + + + /** + *

The list of tables.

+ */ + inline const Aws::Vector& GetTables() const{ return m_tables; } + + /** + *

The list of tables.

+ */ + inline void SetTables(const Aws::Vector
& value) { m_tables = value; } + + /** + *

The list of tables.

+ */ + inline void SetTables(Aws::Vector
&& value) { m_tables = std::move(value); } + + /** + *

The list of tables.

+ */ + inline ListTablesResult& WithTables(const Aws::Vector
& value) { SetTables(value); return *this;} + + /** + *

The list of tables.

+ */ + inline ListTablesResult& WithTables(Aws::Vector
&& value) { SetTables(std::move(value)); return *this;} + + /** + *

The list of tables.

+ */ + inline ListTablesResult& AddTables(const Table& value) { m_tables.push_back(value); return *this; } + + /** + *

The list of tables.

+ */ + inline ListTablesResult& AddTables(Table&& value) { m_tables.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 ListTablesResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline ListTablesResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline ListTablesResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::String m_nextToken; + + Aws::Vector
m_tables; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/ListTagsForResourceRequest.h b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/ListTagsForResourceRequest.h new file mode 100644 index 00000000000..106c409e208 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/ListTagsForResourceRequest.h @@ -0,0 +1,153 @@ +/** + * 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 BCMDataExports +{ +namespace Model +{ + + /** + */ + class ListTagsForResourceRequest : public BCMDataExportsRequest + { + public: + AWS_BCMDATAEXPORTS_API ListTagsForResourceRequest(); + + // 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 "ListTagsForResource"; } + + AWS_BCMDATAEXPORTS_API Aws::String SerializePayload() const override; + + AWS_BCMDATAEXPORTS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + *

The maximum number of objects that are returned for the request.

+ */ + inline int GetMaxResults() const{ return m_maxResults; } + + /** + *

The maximum number of objects that are returned for the request.

+ */ + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + + /** + *

The maximum number of objects that are returned for the request.

+ */ + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + + /** + *

The maximum number of objects that are returned for the request.

+ */ + inline ListTagsForResourceRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + + + /** + *

The token to retrieve the next set of results.

+ */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + + /** + *

The token to retrieve the next set of results.

+ */ + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + + /** + *

The token to retrieve the next set of results.

+ */ + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + + /** + *

The token to retrieve the next set of results.

+ */ + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + + /** + *

The token to retrieve the next set of results.

+ */ + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + + /** + *

The token to retrieve the next set of results.

+ */ + inline ListTagsForResourceRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + + /** + *

The token to retrieve the next set of results.

+ */ + inline ListTagsForResourceRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + + /** + *

The token to retrieve the next set of results.

+ */ + inline ListTagsForResourceRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + + + /** + *

The unique identifier for the resource.

+ */ + inline const Aws::String& GetResourceArn() const{ return m_resourceArn; } + + /** + *

The unique identifier for the resource.

+ */ + inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; } + + /** + *

The unique identifier for the resource.

+ */ + inline void SetResourceArn(const Aws::String& value) { m_resourceArnHasBeenSet = true; m_resourceArn = value; } + + /** + *

The unique identifier for the resource.

+ */ + inline void SetResourceArn(Aws::String&& value) { m_resourceArnHasBeenSet = true; m_resourceArn = std::move(value); } + + /** + *

The unique identifier for the resource.

+ */ + inline void SetResourceArn(const char* value) { m_resourceArnHasBeenSet = true; m_resourceArn.assign(value); } + + /** + *

The unique identifier for the resource.

+ */ + inline ListTagsForResourceRequest& WithResourceArn(const Aws::String& value) { SetResourceArn(value); return *this;} + + /** + *

The unique identifier for the resource.

+ */ + inline ListTagsForResourceRequest& WithResourceArn(Aws::String&& value) { SetResourceArn(std::move(value)); return *this;} + + /** + *

The unique identifier for the resource.

+ */ + inline ListTagsForResourceRequest& WithResourceArn(const char* value) { SetResourceArn(value); return *this;} + + private: + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + Aws::String m_resourceArn; + bool m_resourceArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/ListTagsForResourceResult.h b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/ListTagsForResourceResult.h new file mode 100644 index 00000000000..0b93bf39d7a --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/ListTagsForResourceResult.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 +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace BCMDataExports +{ +namespace Model +{ + class ListTagsForResourceResult + { + public: + AWS_BCMDATAEXPORTS_API ListTagsForResourceResult(); + AWS_BCMDATAEXPORTS_API ListTagsForResourceResult(const Aws::AmazonWebServiceResult& result); + AWS_BCMDATAEXPORTS_API ListTagsForResourceResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

The token to retrieve the next set of results.

+ */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + + /** + *

The token to retrieve the next set of results.

+ */ + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + + /** + *

The token to retrieve the next set of results.

+ */ + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + + /** + *

The token to retrieve the next set of results.

+ */ + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + + /** + *

The token to retrieve the next set of results.

+ */ + inline ListTagsForResourceResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + + /** + *

The token to retrieve the next set of results.

+ */ + inline ListTagsForResourceResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + + /** + *

The token to retrieve the next set of results.

+ */ + inline ListTagsForResourceResult& WithNextToken(const char* value) { SetNextToken(value); return *this;} + + + /** + *

An optional list of tags to associate with the specified export. Each tag + * consists of a key and a value, and each key must be unique for the resource.

+ */ + inline const Aws::Vector& GetResourceTags() const{ return m_resourceTags; } + + /** + *

An optional list of tags to associate with the specified export. Each tag + * consists of a key and a value, and each key must be unique for the resource.

+ */ + inline void SetResourceTags(const Aws::Vector& value) { m_resourceTags = value; } + + /** + *

An optional list of tags to associate with the specified export. Each tag + * consists of a key and a value, and each key must be unique for the resource.

+ */ + inline void SetResourceTags(Aws::Vector&& value) { m_resourceTags = std::move(value); } + + /** + *

An optional list of tags to associate with the specified export. Each tag + * consists of a key and a value, and each key must be unique for the resource.

+ */ + inline ListTagsForResourceResult& WithResourceTags(const Aws::Vector& value) { SetResourceTags(value); return *this;} + + /** + *

An optional list of tags to associate with the specified export. Each tag + * consists of a key and a value, and each key must be unique for the resource.

+ */ + inline ListTagsForResourceResult& WithResourceTags(Aws::Vector&& value) { SetResourceTags(std::move(value)); return *this;} + + /** + *

An optional list of tags to associate with the specified export. Each tag + * consists of a key and a value, and each key must be unique for the resource.

+ */ + inline ListTagsForResourceResult& AddResourceTags(const ResourceTag& value) { m_resourceTags.push_back(value); return *this; } + + /** + *

An optional list of tags to associate with the specified export. Each tag + * consists of a key and a value, and each key must be unique for the resource.

+ */ + inline ListTagsForResourceResult& AddResourceTags(ResourceTag&& value) { m_resourceTags.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 ListTagsForResourceResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline ListTagsForResourceResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline ListTagsForResourceResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::String m_nextToken; + + Aws::Vector m_resourceTags; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/OverwriteOption.h b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/OverwriteOption.h new file mode 100644 index 00000000000..f67351b5eef --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/OverwriteOption.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 BCMDataExports +{ +namespace Model +{ + enum class OverwriteOption + { + NOT_SET, + CREATE_NEW_REPORT, + OVERWRITE_REPORT + }; + +namespace OverwriteOptionMapper +{ +AWS_BCMDATAEXPORTS_API OverwriteOption GetOverwriteOptionForName(const Aws::String& name); + +AWS_BCMDATAEXPORTS_API Aws::String GetNameForOverwriteOption(OverwriteOption value); +} // namespace OverwriteOptionMapper +} // namespace Model +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/RefreshCadence.h b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/RefreshCadence.h new file mode 100644 index 00000000000..6d3dd7ed2cd --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/RefreshCadence.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 + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace BCMDataExports +{ +namespace Model +{ + + /** + *

The cadence for Amazon Web Services to update the data export in your S3 + * bucket.

See Also:

AWS + * API Reference

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

The frequency that data exports are updated. The export refreshes each time + * the source data updates, up to three times daily.

+ */ + inline const FrequencyOption& GetFrequency() const{ return m_frequency; } + + /** + *

The frequency that data exports are updated. The export refreshes each time + * the source data updates, up to three times daily.

+ */ + inline bool FrequencyHasBeenSet() const { return m_frequencyHasBeenSet; } + + /** + *

The frequency that data exports are updated. The export refreshes each time + * the source data updates, up to three times daily.

+ */ + inline void SetFrequency(const FrequencyOption& value) { m_frequencyHasBeenSet = true; m_frequency = value; } + + /** + *

The frequency that data exports are updated. The export refreshes each time + * the source data updates, up to three times daily.

+ */ + inline void SetFrequency(FrequencyOption&& value) { m_frequencyHasBeenSet = true; m_frequency = std::move(value); } + + /** + *

The frequency that data exports are updated. The export refreshes each time + * the source data updates, up to three times daily.

+ */ + inline RefreshCadence& WithFrequency(const FrequencyOption& value) { SetFrequency(value); return *this;} + + /** + *

The frequency that data exports are updated. The export refreshes each time + * the source data updates, up to three times daily.

+ */ + inline RefreshCadence& WithFrequency(FrequencyOption&& value) { SetFrequency(std::move(value)); return *this;} + + private: + + FrequencyOption m_frequency; + bool m_frequencyHasBeenSet = false; + }; + +} // namespace Model +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/ResourceNotFoundException.h b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/ResourceNotFoundException.h new file mode 100644 index 00000000000..564e16b8f12 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/ResourceNotFoundException.h @@ -0,0 +1,161 @@ +/** + * 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 BCMDataExports +{ +namespace Model +{ + + /** + *

The specified Amazon Resource Name (ARN) in the request doesn't + * exist.

See Also:

AWS + * API Reference

+ */ + class ResourceNotFoundException + { + public: + AWS_BCMDATAEXPORTS_API ResourceNotFoundException(); + AWS_BCMDATAEXPORTS_API ResourceNotFoundException(Aws::Utils::Json::JsonView jsonValue); + AWS_BCMDATAEXPORTS_API ResourceNotFoundException& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_BCMDATAEXPORTS_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 ResourceNotFoundException& WithMessage(const Aws::String& value) { SetMessage(value); return *this;} + + + inline ResourceNotFoundException& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;} + + + inline ResourceNotFoundException& WithMessage(const char* value) { SetMessage(value); return *this;} + + + /** + *

The identifier of the resource that was not found.

+ */ + inline const Aws::String& GetResourceId() const{ return m_resourceId; } + + /** + *

The identifier of the resource that was not found.

+ */ + inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; } + + /** + *

The identifier of the resource that was not found.

+ */ + inline void SetResourceId(const Aws::String& value) { m_resourceIdHasBeenSet = true; m_resourceId = value; } + + /** + *

The identifier of the resource that was not found.

+ */ + inline void SetResourceId(Aws::String&& value) { m_resourceIdHasBeenSet = true; m_resourceId = std::move(value); } + + /** + *

The identifier of the resource that was not found.

+ */ + inline void SetResourceId(const char* value) { m_resourceIdHasBeenSet = true; m_resourceId.assign(value); } + + /** + *

The identifier of the resource that was not found.

+ */ + inline ResourceNotFoundException& WithResourceId(const Aws::String& value) { SetResourceId(value); return *this;} + + /** + *

The identifier of the resource that was not found.

+ */ + inline ResourceNotFoundException& WithResourceId(Aws::String&& value) { SetResourceId(std::move(value)); return *this;} + + /** + *

The identifier of the resource that was not found.

+ */ + inline ResourceNotFoundException& WithResourceId(const char* value) { SetResourceId(value); return *this;} + + + /** + *

The type of the resource that was not found.

+ */ + inline const Aws::String& GetResourceType() const{ return m_resourceType; } + + /** + *

The type of the resource that was not found.

+ */ + inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; } + + /** + *

The type of the resource that was not found.

+ */ + inline void SetResourceType(const Aws::String& value) { m_resourceTypeHasBeenSet = true; m_resourceType = value; } + + /** + *

The type of the resource that was not found.

+ */ + inline void SetResourceType(Aws::String&& value) { m_resourceTypeHasBeenSet = true; m_resourceType = std::move(value); } + + /** + *

The type of the resource that was not found.

+ */ + inline void SetResourceType(const char* value) { m_resourceTypeHasBeenSet = true; m_resourceType.assign(value); } + + /** + *

The type of the resource that was not found.

+ */ + inline ResourceNotFoundException& WithResourceType(const Aws::String& value) { SetResourceType(value); return *this;} + + /** + *

The type of the resource that was not found.

+ */ + inline ResourceNotFoundException& WithResourceType(Aws::String&& value) { SetResourceType(std::move(value)); return *this;} + + /** + *

The type of the resource that was not found.

+ */ + inline ResourceNotFoundException& WithResourceType(const char* value) { SetResourceType(value); return *this;} + + private: + + Aws::String m_message; + bool m_messageHasBeenSet = false; + + Aws::String m_resourceId; + bool m_resourceIdHasBeenSet = false; + + Aws::String m_resourceType; + bool m_resourceTypeHasBeenSet = false; + }; + +} // namespace Model +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/ResourceTag.h b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/ResourceTag.h new file mode 100644 index 00000000000..bccb6b3e2b2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/ResourceTag.h @@ -0,0 +1,133 @@ +/** + * 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 BCMDataExports +{ +namespace Model +{ + + /** + *

The tag structure that contains a tag key and value.

See Also:

+ * AWS + * API Reference

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

The key that's associated with the tag.

+ */ + inline const Aws::String& GetKey() const{ return m_key; } + + /** + *

The key that's associated with the tag.

+ */ + inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } + + /** + *

The key that's associated with the tag.

+ */ + inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; } + + /** + *

The key that's associated with the tag.

+ */ + inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } + + /** + *

The key that's associated with the tag.

+ */ + inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); } + + /** + *

The key that's associated with the tag.

+ */ + inline ResourceTag& WithKey(const Aws::String& value) { SetKey(value); return *this;} + + /** + *

The key that's associated with the tag.

+ */ + inline ResourceTag& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} + + /** + *

The key that's associated with the tag.

+ */ + inline ResourceTag& WithKey(const char* value) { SetKey(value); return *this;} + + + /** + *

The value that's associated with the tag.

+ */ + inline const Aws::String& GetValue() const{ return m_value; } + + /** + *

The value that's associated with the tag.

+ */ + inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; } + + /** + *

The value that's associated with the tag.

+ */ + inline void SetValue(const Aws::String& value) { m_valueHasBeenSet = true; m_value = value; } + + /** + *

The value that's associated with the tag.

+ */ + inline void SetValue(Aws::String&& value) { m_valueHasBeenSet = true; m_value = std::move(value); } + + /** + *

The value that's associated with the tag.

+ */ + inline void SetValue(const char* value) { m_valueHasBeenSet = true; m_value.assign(value); } + + /** + *

The value that's associated with the tag.

+ */ + inline ResourceTag& WithValue(const Aws::String& value) { SetValue(value); return *this;} + + /** + *

The value that's associated with the tag.

+ */ + inline ResourceTag& WithValue(Aws::String&& value) { SetValue(std::move(value)); return *this;} + + /** + *

The value that's associated with the tag.

+ */ + inline ResourceTag& WithValue(const char* value) { SetValue(value); return *this;} + + private: + + Aws::String m_key; + bool m_keyHasBeenSet = false; + + Aws::String m_value; + bool m_valueHasBeenSet = false; + }; + +} // namespace Model +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/S3Destination.h b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/S3Destination.h new file mode 100644 index 00000000000..03669558d33 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/S3Destination.h @@ -0,0 +1,220 @@ +/** + * 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 BCMDataExports +{ +namespace Model +{ + + /** + *

Describes the destination Amazon Simple Storage Service (Amazon S3) bucket + * name and object keys of a data exports file.

See Also:

AWS + * API Reference

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

The name of the Amazon S3 bucket used as the destination of a data export + * file.

+ */ + inline const Aws::String& GetS3Bucket() const{ return m_s3Bucket; } + + /** + *

The name of the Amazon S3 bucket used as the destination of a data export + * file.

+ */ + inline bool S3BucketHasBeenSet() const { return m_s3BucketHasBeenSet; } + + /** + *

The name of the Amazon S3 bucket used as the destination of a data export + * file.

+ */ + inline void SetS3Bucket(const Aws::String& value) { m_s3BucketHasBeenSet = true; m_s3Bucket = value; } + + /** + *

The name of the Amazon S3 bucket used as the destination of a data export + * file.

+ */ + inline void SetS3Bucket(Aws::String&& value) { m_s3BucketHasBeenSet = true; m_s3Bucket = std::move(value); } + + /** + *

The name of the Amazon S3 bucket used as the destination of a data export + * file.

+ */ + inline void SetS3Bucket(const char* value) { m_s3BucketHasBeenSet = true; m_s3Bucket.assign(value); } + + /** + *

The name of the Amazon S3 bucket used as the destination of a data export + * file.

+ */ + inline S3Destination& WithS3Bucket(const Aws::String& value) { SetS3Bucket(value); return *this;} + + /** + *

The name of the Amazon S3 bucket used as the destination of a data export + * file.

+ */ + inline S3Destination& WithS3Bucket(Aws::String&& value) { SetS3Bucket(std::move(value)); return *this;} + + /** + *

The name of the Amazon S3 bucket used as the destination of a data export + * file.

+ */ + inline S3Destination& WithS3Bucket(const char* value) { SetS3Bucket(value); return *this;} + + + /** + *

The output configuration for the data export.

+ */ + inline const S3OutputConfigurations& GetS3OutputConfigurations() const{ return m_s3OutputConfigurations; } + + /** + *

The output configuration for the data export.

+ */ + inline bool S3OutputConfigurationsHasBeenSet() const { return m_s3OutputConfigurationsHasBeenSet; } + + /** + *

The output configuration for the data export.

+ */ + inline void SetS3OutputConfigurations(const S3OutputConfigurations& value) { m_s3OutputConfigurationsHasBeenSet = true; m_s3OutputConfigurations = value; } + + /** + *

The output configuration for the data export.

+ */ + inline void SetS3OutputConfigurations(S3OutputConfigurations&& value) { m_s3OutputConfigurationsHasBeenSet = true; m_s3OutputConfigurations = std::move(value); } + + /** + *

The output configuration for the data export.

+ */ + inline S3Destination& WithS3OutputConfigurations(const S3OutputConfigurations& value) { SetS3OutputConfigurations(value); return *this;} + + /** + *

The output configuration for the data export.

+ */ + inline S3Destination& WithS3OutputConfigurations(S3OutputConfigurations&& value) { SetS3OutputConfigurations(std::move(value)); return *this;} + + + /** + *

The S3 path prefix you want prepended to the name of your data export.

+ */ + inline const Aws::String& GetS3Prefix() const{ return m_s3Prefix; } + + /** + *

The S3 path prefix you want prepended to the name of your data export.

+ */ + inline bool S3PrefixHasBeenSet() const { return m_s3PrefixHasBeenSet; } + + /** + *

The S3 path prefix you want prepended to the name of your data export.

+ */ + inline void SetS3Prefix(const Aws::String& value) { m_s3PrefixHasBeenSet = true; m_s3Prefix = value; } + + /** + *

The S3 path prefix you want prepended to the name of your data export.

+ */ + inline void SetS3Prefix(Aws::String&& value) { m_s3PrefixHasBeenSet = true; m_s3Prefix = std::move(value); } + + /** + *

The S3 path prefix you want prepended to the name of your data export.

+ */ + inline void SetS3Prefix(const char* value) { m_s3PrefixHasBeenSet = true; m_s3Prefix.assign(value); } + + /** + *

The S3 path prefix you want prepended to the name of your data export.

+ */ + inline S3Destination& WithS3Prefix(const Aws::String& value) { SetS3Prefix(value); return *this;} + + /** + *

The S3 path prefix you want prepended to the name of your data export.

+ */ + inline S3Destination& WithS3Prefix(Aws::String&& value) { SetS3Prefix(std::move(value)); return *this;} + + /** + *

The S3 path prefix you want prepended to the name of your data export.

+ */ + inline S3Destination& WithS3Prefix(const char* value) { SetS3Prefix(value); return *this;} + + + /** + *

The S3 bucket Region.

+ */ + inline const Aws::String& GetS3Region() const{ return m_s3Region; } + + /** + *

The S3 bucket Region.

+ */ + inline bool S3RegionHasBeenSet() const { return m_s3RegionHasBeenSet; } + + /** + *

The S3 bucket Region.

+ */ + inline void SetS3Region(const Aws::String& value) { m_s3RegionHasBeenSet = true; m_s3Region = value; } + + /** + *

The S3 bucket Region.

+ */ + inline void SetS3Region(Aws::String&& value) { m_s3RegionHasBeenSet = true; m_s3Region = std::move(value); } + + /** + *

The S3 bucket Region.

+ */ + inline void SetS3Region(const char* value) { m_s3RegionHasBeenSet = true; m_s3Region.assign(value); } + + /** + *

The S3 bucket Region.

+ */ + inline S3Destination& WithS3Region(const Aws::String& value) { SetS3Region(value); return *this;} + + /** + *

The S3 bucket Region.

+ */ + inline S3Destination& WithS3Region(Aws::String&& value) { SetS3Region(std::move(value)); return *this;} + + /** + *

The S3 bucket Region.

+ */ + inline S3Destination& WithS3Region(const char* value) { SetS3Region(value); return *this;} + + private: + + Aws::String m_s3Bucket; + bool m_s3BucketHasBeenSet = false; + + S3OutputConfigurations m_s3OutputConfigurations; + bool m_s3OutputConfigurationsHasBeenSet = false; + + Aws::String m_s3Prefix; + bool m_s3PrefixHasBeenSet = false; + + Aws::String m_s3Region; + bool m_s3RegionHasBeenSet = false; + }; + +} // namespace Model +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/S3OutputConfigurations.h b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/S3OutputConfigurations.h new file mode 100644 index 00000000000..cdef07b8226 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/S3OutputConfigurations.h @@ -0,0 +1,208 @@ +/** + * 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 BCMDataExports +{ +namespace Model +{ + + /** + *

The compression type, file format, and overwrite preference for the data + * export.

See Also:

AWS + * API Reference

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

The compression type for the data export.

+ */ + inline const CompressionOption& GetCompression() const{ return m_compression; } + + /** + *

The compression type for the data export.

+ */ + inline bool CompressionHasBeenSet() const { return m_compressionHasBeenSet; } + + /** + *

The compression type for the data export.

+ */ + inline void SetCompression(const CompressionOption& value) { m_compressionHasBeenSet = true; m_compression = value; } + + /** + *

The compression type for the data export.

+ */ + inline void SetCompression(CompressionOption&& value) { m_compressionHasBeenSet = true; m_compression = std::move(value); } + + /** + *

The compression type for the data export.

+ */ + inline S3OutputConfigurations& WithCompression(const CompressionOption& value) { SetCompression(value); return *this;} + + /** + *

The compression type for the data export.

+ */ + inline S3OutputConfigurations& WithCompression(CompressionOption&& value) { SetCompression(std::move(value)); return *this;} + + + /** + *

The file format for the data export.

+ */ + inline const FormatOption& GetFormat() const{ return m_format; } + + /** + *

The file format for the data export.

+ */ + inline bool FormatHasBeenSet() const { return m_formatHasBeenSet; } + + /** + *

The file format for the data export.

+ */ + inline void SetFormat(const FormatOption& value) { m_formatHasBeenSet = true; m_format = value; } + + /** + *

The file format for the data export.

+ */ + inline void SetFormat(FormatOption&& value) { m_formatHasBeenSet = true; m_format = std::move(value); } + + /** + *

The file format for the data export.

+ */ + inline S3OutputConfigurations& WithFormat(const FormatOption& value) { SetFormat(value); return *this;} + + /** + *

The file format for the data export.

+ */ + inline S3OutputConfigurations& WithFormat(FormatOption&& value) { SetFormat(std::move(value)); return *this;} + + + /** + *

The output type for the data export.

+ */ + inline const S3OutputType& GetOutputType() const{ return m_outputType; } + + /** + *

The output type for the data export.

+ */ + inline bool OutputTypeHasBeenSet() const { return m_outputTypeHasBeenSet; } + + /** + *

The output type for the data export.

+ */ + inline void SetOutputType(const S3OutputType& value) { m_outputTypeHasBeenSet = true; m_outputType = value; } + + /** + *

The output type for the data export.

+ */ + inline void SetOutputType(S3OutputType&& value) { m_outputTypeHasBeenSet = true; m_outputType = std::move(value); } + + /** + *

The output type for the data export.

+ */ + inline S3OutputConfigurations& WithOutputType(const S3OutputType& value) { SetOutputType(value); return *this;} + + /** + *

The output type for the data export.

+ */ + inline S3OutputConfigurations& WithOutputType(S3OutputType&& value) { SetOutputType(std::move(value)); return *this;} + + + /** + *

The rule to follow when generating a version of the data export file. You + * have the choice to overwrite the previous version or to be delivered in addition + * to the previous versions. Overwriting exports can save on Amazon S3 storage + * costs. Creating new export versions allows you to track the changes in cost and + * usage data over time.

+ */ + inline const OverwriteOption& GetOverwrite() const{ return m_overwrite; } + + /** + *

The rule to follow when generating a version of the data export file. You + * have the choice to overwrite the previous version or to be delivered in addition + * to the previous versions. Overwriting exports can save on Amazon S3 storage + * costs. Creating new export versions allows you to track the changes in cost and + * usage data over time.

+ */ + inline bool OverwriteHasBeenSet() const { return m_overwriteHasBeenSet; } + + /** + *

The rule to follow when generating a version of the data export file. You + * have the choice to overwrite the previous version or to be delivered in addition + * to the previous versions. Overwriting exports can save on Amazon S3 storage + * costs. Creating new export versions allows you to track the changes in cost and + * usage data over time.

+ */ + inline void SetOverwrite(const OverwriteOption& value) { m_overwriteHasBeenSet = true; m_overwrite = value; } + + /** + *

The rule to follow when generating a version of the data export file. You + * have the choice to overwrite the previous version or to be delivered in addition + * to the previous versions. Overwriting exports can save on Amazon S3 storage + * costs. Creating new export versions allows you to track the changes in cost and + * usage data over time.

+ */ + inline void SetOverwrite(OverwriteOption&& value) { m_overwriteHasBeenSet = true; m_overwrite = std::move(value); } + + /** + *

The rule to follow when generating a version of the data export file. You + * have the choice to overwrite the previous version or to be delivered in addition + * to the previous versions. Overwriting exports can save on Amazon S3 storage + * costs. Creating new export versions allows you to track the changes in cost and + * usage data over time.

+ */ + inline S3OutputConfigurations& WithOverwrite(const OverwriteOption& value) { SetOverwrite(value); return *this;} + + /** + *

The rule to follow when generating a version of the data export file. You + * have the choice to overwrite the previous version or to be delivered in addition + * to the previous versions. Overwriting exports can save on Amazon S3 storage + * costs. Creating new export versions allows you to track the changes in cost and + * usage data over time.

+ */ + inline S3OutputConfigurations& WithOverwrite(OverwriteOption&& value) { SetOverwrite(std::move(value)); return *this;} + + private: + + CompressionOption m_compression; + bool m_compressionHasBeenSet = false; + + FormatOption m_format; + bool m_formatHasBeenSet = false; + + S3OutputType m_outputType; + bool m_outputTypeHasBeenSet = false; + + OverwriteOption m_overwrite; + bool m_overwriteHasBeenSet = false; + }; + +} // namespace Model +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/S3OutputType.h b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/S3OutputType.h new file mode 100644 index 00000000000..160f44fbded --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/S3OutputType.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 BCMDataExports +{ +namespace Model +{ + enum class S3OutputType + { + NOT_SET, + CUSTOM + }; + +namespace S3OutputTypeMapper +{ +AWS_BCMDATAEXPORTS_API S3OutputType GetS3OutputTypeForName(const Aws::String& name); + +AWS_BCMDATAEXPORTS_API Aws::String GetNameForS3OutputType(S3OutputType value); +} // namespace S3OutputTypeMapper +} // namespace Model +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/ServiceQuotaExceededException.h b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/ServiceQuotaExceededException.h new file mode 100644 index 00000000000..3a8da1e43b7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/ServiceQuotaExceededException.h @@ -0,0 +1,257 @@ +/** + * 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 BCMDataExports +{ +namespace Model +{ + + /** + *

You've reached the limit on the number of resources you can create, or + * exceeded the size of an individual resource.

See Also:

AWS + * API Reference

+ */ + class ServiceQuotaExceededException + { + public: + AWS_BCMDATAEXPORTS_API ServiceQuotaExceededException(); + AWS_BCMDATAEXPORTS_API ServiceQuotaExceededException(Aws::Utils::Json::JsonView jsonValue); + AWS_BCMDATAEXPORTS_API ServiceQuotaExceededException& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_BCMDATAEXPORTS_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 ServiceQuotaExceededException& WithMessage(const Aws::String& value) { SetMessage(value); return *this;} + + + inline ServiceQuotaExceededException& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;} + + + inline ServiceQuotaExceededException& WithMessage(const char* value) { SetMessage(value); return *this;} + + + /** + *

The quota code that was exceeded.

+ */ + inline const Aws::String& GetQuotaCode() const{ return m_quotaCode; } + + /** + *

The quota code that was exceeded.

+ */ + inline bool QuotaCodeHasBeenSet() const { return m_quotaCodeHasBeenSet; } + + /** + *

The quota code that was exceeded.

+ */ + inline void SetQuotaCode(const Aws::String& value) { m_quotaCodeHasBeenSet = true; m_quotaCode = value; } + + /** + *

The quota code that was exceeded.

+ */ + inline void SetQuotaCode(Aws::String&& value) { m_quotaCodeHasBeenSet = true; m_quotaCode = std::move(value); } + + /** + *

The quota code that was exceeded.

+ */ + inline void SetQuotaCode(const char* value) { m_quotaCodeHasBeenSet = true; m_quotaCode.assign(value); } + + /** + *

The quota code that was exceeded.

+ */ + inline ServiceQuotaExceededException& WithQuotaCode(const Aws::String& value) { SetQuotaCode(value); return *this;} + + /** + *

The quota code that was exceeded.

+ */ + inline ServiceQuotaExceededException& WithQuotaCode(Aws::String&& value) { SetQuotaCode(std::move(value)); return *this;} + + /** + *

The quota code that was exceeded.

+ */ + inline ServiceQuotaExceededException& WithQuotaCode(const char* value) { SetQuotaCode(value); return *this;} + + + /** + *

The identifier of the resource that exceeded quota.

+ */ + inline const Aws::String& GetResourceId() const{ return m_resourceId; } + + /** + *

The identifier of the resource that exceeded quota.

+ */ + inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; } + + /** + *

The identifier of the resource that exceeded quota.

+ */ + inline void SetResourceId(const Aws::String& value) { m_resourceIdHasBeenSet = true; m_resourceId = value; } + + /** + *

The identifier of the resource that exceeded quota.

+ */ + inline void SetResourceId(Aws::String&& value) { m_resourceIdHasBeenSet = true; m_resourceId = std::move(value); } + + /** + *

The identifier of the resource that exceeded quota.

+ */ + inline void SetResourceId(const char* value) { m_resourceIdHasBeenSet = true; m_resourceId.assign(value); } + + /** + *

The identifier of the resource that exceeded quota.

+ */ + inline ServiceQuotaExceededException& WithResourceId(const Aws::String& value) { SetResourceId(value); return *this;} + + /** + *

The identifier of the resource that exceeded quota.

+ */ + inline ServiceQuotaExceededException& WithResourceId(Aws::String&& value) { SetResourceId(std::move(value)); return *this;} + + /** + *

The identifier of the resource that exceeded quota.

+ */ + inline ServiceQuotaExceededException& WithResourceId(const char* value) { SetResourceId(value); return *this;} + + + /** + *

The type of the resource that exceeded quota.

+ */ + inline const Aws::String& GetResourceType() const{ return m_resourceType; } + + /** + *

The type of the resource that exceeded quota.

+ */ + inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; } + + /** + *

The type of the resource that exceeded quota.

+ */ + inline void SetResourceType(const Aws::String& value) { m_resourceTypeHasBeenSet = true; m_resourceType = value; } + + /** + *

The type of the resource that exceeded quota.

+ */ + inline void SetResourceType(Aws::String&& value) { m_resourceTypeHasBeenSet = true; m_resourceType = std::move(value); } + + /** + *

The type of the resource that exceeded quota.

+ */ + inline void SetResourceType(const char* value) { m_resourceTypeHasBeenSet = true; m_resourceType.assign(value); } + + /** + *

The type of the resource that exceeded quota.

+ */ + inline ServiceQuotaExceededException& WithResourceType(const Aws::String& value) { SetResourceType(value); return *this;} + + /** + *

The type of the resource that exceeded quota.

+ */ + inline ServiceQuotaExceededException& WithResourceType(Aws::String&& value) { SetResourceType(std::move(value)); return *this;} + + /** + *

The type of the resource that exceeded quota.

+ */ + inline ServiceQuotaExceededException& WithResourceType(const char* value) { SetResourceType(value); return *this;} + + + /** + *

The service code that exceeded quota. It will always be + * “AWSBillingAndCostManagementDataExports”.

+ */ + inline const Aws::String& GetServiceCode() const{ return m_serviceCode; } + + /** + *

The service code that exceeded quota. It will always be + * “AWSBillingAndCostManagementDataExports”.

+ */ + inline bool ServiceCodeHasBeenSet() const { return m_serviceCodeHasBeenSet; } + + /** + *

The service code that exceeded quota. It will always be + * “AWSBillingAndCostManagementDataExports”.

+ */ + inline void SetServiceCode(const Aws::String& value) { m_serviceCodeHasBeenSet = true; m_serviceCode = value; } + + /** + *

The service code that exceeded quota. It will always be + * “AWSBillingAndCostManagementDataExports”.

+ */ + inline void SetServiceCode(Aws::String&& value) { m_serviceCodeHasBeenSet = true; m_serviceCode = std::move(value); } + + /** + *

The service code that exceeded quota. It will always be + * “AWSBillingAndCostManagementDataExports”.

+ */ + inline void SetServiceCode(const char* value) { m_serviceCodeHasBeenSet = true; m_serviceCode.assign(value); } + + /** + *

The service code that exceeded quota. It will always be + * “AWSBillingAndCostManagementDataExports”.

+ */ + inline ServiceQuotaExceededException& WithServiceCode(const Aws::String& value) { SetServiceCode(value); return *this;} + + /** + *

The service code that exceeded quota. It will always be + * “AWSBillingAndCostManagementDataExports”.

+ */ + inline ServiceQuotaExceededException& WithServiceCode(Aws::String&& value) { SetServiceCode(std::move(value)); return *this;} + + /** + *

The service code that exceeded quota. It will always be + * “AWSBillingAndCostManagementDataExports”.

+ */ + inline ServiceQuotaExceededException& WithServiceCode(const char* value) { SetServiceCode(value); return *this;} + + private: + + Aws::String m_message; + bool m_messageHasBeenSet = false; + + Aws::String m_quotaCode; + bool m_quotaCodeHasBeenSet = false; + + Aws::String m_resourceId; + bool m_resourceIdHasBeenSet = false; + + Aws::String m_resourceType; + bool m_resourceTypeHasBeenSet = false; + + Aws::String m_serviceCode; + bool m_serviceCodeHasBeenSet = false; + }; + +} // namespace Model +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/Table.h b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/Table.h new file mode 100644 index 00000000000..58b1b6da49d --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/Table.h @@ -0,0 +1,178 @@ +/** + * 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 BCMDataExports +{ +namespace Model +{ + + /** + *

The details for the data export table.

See Also:

AWS + * API Reference

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

The description for the table.

+ */ + inline const Aws::String& GetDescription() const{ return m_description; } + + /** + *

The description for the table.

+ */ + inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } + + /** + *

The description for the table.

+ */ + inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } + + /** + *

The description for the table.

+ */ + inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } + + /** + *

The description for the table.

+ */ + inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } + + /** + *

The description for the table.

+ */ + inline Table& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} + + /** + *

The description for the table.

+ */ + inline Table& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} + + /** + *

The description for the table.

+ */ + inline Table& WithDescription(const char* value) { SetDescription(value); return *this;} + + + /** + *

The name of the table.

+ */ + inline const Aws::String& GetTableName() const{ return m_tableName; } + + /** + *

The name of the table.

+ */ + inline bool TableNameHasBeenSet() const { return m_tableNameHasBeenSet; } + + /** + *

The name of the table.

+ */ + inline void SetTableName(const Aws::String& value) { m_tableNameHasBeenSet = true; m_tableName = value; } + + /** + *

The name of the table.

+ */ + inline void SetTableName(Aws::String&& value) { m_tableNameHasBeenSet = true; m_tableName = std::move(value); } + + /** + *

The name of the table.

+ */ + inline void SetTableName(const char* value) { m_tableNameHasBeenSet = true; m_tableName.assign(value); } + + /** + *

The name of the table.

+ */ + inline Table& WithTableName(const Aws::String& value) { SetTableName(value); return *this;} + + /** + *

The name of the table.

+ */ + inline Table& WithTableName(Aws::String&& value) { SetTableName(std::move(value)); return *this;} + + /** + *

The name of the table.

+ */ + inline Table& WithTableName(const char* value) { SetTableName(value); return *this;} + + + /** + *

The properties for the table.

+ */ + inline const Aws::Vector& GetTableProperties() const{ return m_tableProperties; } + + /** + *

The properties for the table.

+ */ + inline bool TablePropertiesHasBeenSet() const { return m_tablePropertiesHasBeenSet; } + + /** + *

The properties for the table.

+ */ + inline void SetTableProperties(const Aws::Vector& value) { m_tablePropertiesHasBeenSet = true; m_tableProperties = value; } + + /** + *

The properties for the table.

+ */ + inline void SetTableProperties(Aws::Vector&& value) { m_tablePropertiesHasBeenSet = true; m_tableProperties = std::move(value); } + + /** + *

The properties for the table.

+ */ + inline Table& WithTableProperties(const Aws::Vector& value) { SetTableProperties(value); return *this;} + + /** + *

The properties for the table.

+ */ + inline Table& WithTableProperties(Aws::Vector&& value) { SetTableProperties(std::move(value)); return *this;} + + /** + *

The properties for the table.

+ */ + inline Table& AddTableProperties(const TablePropertyDescription& value) { m_tablePropertiesHasBeenSet = true; m_tableProperties.push_back(value); return *this; } + + /** + *

The properties for the table.

+ */ + inline Table& AddTableProperties(TablePropertyDescription&& value) { m_tablePropertiesHasBeenSet = true; m_tableProperties.push_back(std::move(value)); return *this; } + + private: + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + Aws::String m_tableName; + bool m_tableNameHasBeenSet = false; + + Aws::Vector m_tableProperties; + bool m_tablePropertiesHasBeenSet = false; + }; + +} // namespace Model +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/TablePropertyDescription.h b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/TablePropertyDescription.h new file mode 100644 index 00000000000..ef82fbcd5e9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/TablePropertyDescription.h @@ -0,0 +1,226 @@ +/** + * 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 BCMDataExports +{ +namespace Model +{ + + /** + *

The properties for the data export table.

See Also:

AWS + * API Reference

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

The default value for the table.

+ */ + inline const Aws::String& GetDefaultValue() const{ return m_defaultValue; } + + /** + *

The default value for the table.

+ */ + inline bool DefaultValueHasBeenSet() const { return m_defaultValueHasBeenSet; } + + /** + *

The default value for the table.

+ */ + inline void SetDefaultValue(const Aws::String& value) { m_defaultValueHasBeenSet = true; m_defaultValue = value; } + + /** + *

The default value for the table.

+ */ + inline void SetDefaultValue(Aws::String&& value) { m_defaultValueHasBeenSet = true; m_defaultValue = std::move(value); } + + /** + *

The default value for the table.

+ */ + inline void SetDefaultValue(const char* value) { m_defaultValueHasBeenSet = true; m_defaultValue.assign(value); } + + /** + *

The default value for the table.

+ */ + inline TablePropertyDescription& WithDefaultValue(const Aws::String& value) { SetDefaultValue(value); return *this;} + + /** + *

The default value for the table.

+ */ + inline TablePropertyDescription& WithDefaultValue(Aws::String&& value) { SetDefaultValue(std::move(value)); return *this;} + + /** + *

The default value for the table.

+ */ + inline TablePropertyDescription& WithDefaultValue(const char* value) { SetDefaultValue(value); return *this;} + + + /** + *

The description for the table.

+ */ + inline const Aws::String& GetDescription() const{ return m_description; } + + /** + *

The description for the table.

+ */ + inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } + + /** + *

The description for the table.

+ */ + inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } + + /** + *

The description for the table.

+ */ + inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } + + /** + *

The description for the table.

+ */ + inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } + + /** + *

The description for the table.

+ */ + inline TablePropertyDescription& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} + + /** + *

The description for the table.

+ */ + inline TablePropertyDescription& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} + + /** + *

The description for the table.

+ */ + inline TablePropertyDescription& WithDescription(const char* value) { SetDescription(value); return *this;} + + + /** + *

The name of the table.

+ */ + inline const Aws::String& GetName() const{ return m_name; } + + /** + *

The name of the table.

+ */ + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + + /** + *

The name of the table.

+ */ + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + + /** + *

The name of the table.

+ */ + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + + /** + *

The name of the table.

+ */ + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + + /** + *

The name of the table.

+ */ + inline TablePropertyDescription& WithName(const Aws::String& value) { SetName(value); return *this;} + + /** + *

The name of the table.

+ */ + inline TablePropertyDescription& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + + /** + *

The name of the table.

+ */ + inline TablePropertyDescription& WithName(const char* value) { SetName(value); return *this;} + + + /** + *

The valid values for the table.

+ */ + inline const Aws::Vector& GetValidValues() const{ return m_validValues; } + + /** + *

The valid values for the table.

+ */ + inline bool ValidValuesHasBeenSet() const { return m_validValuesHasBeenSet; } + + /** + *

The valid values for the table.

+ */ + inline void SetValidValues(const Aws::Vector& value) { m_validValuesHasBeenSet = true; m_validValues = value; } + + /** + *

The valid values for the table.

+ */ + inline void SetValidValues(Aws::Vector&& value) { m_validValuesHasBeenSet = true; m_validValues = std::move(value); } + + /** + *

The valid values for the table.

+ */ + inline TablePropertyDescription& WithValidValues(const Aws::Vector& value) { SetValidValues(value); return *this;} + + /** + *

The valid values for the table.

+ */ + inline TablePropertyDescription& WithValidValues(Aws::Vector&& value) { SetValidValues(std::move(value)); return *this;} + + /** + *

The valid values for the table.

+ */ + inline TablePropertyDescription& AddValidValues(const Aws::String& value) { m_validValuesHasBeenSet = true; m_validValues.push_back(value); return *this; } + + /** + *

The valid values for the table.

+ */ + inline TablePropertyDescription& AddValidValues(Aws::String&& value) { m_validValuesHasBeenSet = true; m_validValues.push_back(std::move(value)); return *this; } + + /** + *

The valid values for the table.

+ */ + inline TablePropertyDescription& AddValidValues(const char* value) { m_validValuesHasBeenSet = true; m_validValues.push_back(value); return *this; } + + private: + + Aws::String m_defaultValue; + bool m_defaultValueHasBeenSet = false; + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::Vector m_validValues; + bool m_validValuesHasBeenSet = false; + }; + +} // namespace Model +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/TagResourceRequest.h b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/TagResourceRequest.h new file mode 100644 index 00000000000..0936a8320ae --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/TagResourceRequest.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 +#include + +namespace Aws +{ +namespace BCMDataExports +{ +namespace Model +{ + + /** + */ + class TagResourceRequest : public BCMDataExportsRequest + { + public: + AWS_BCMDATAEXPORTS_API TagResourceRequest(); + + // 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 "TagResource"; } + + AWS_BCMDATAEXPORTS_API Aws::String SerializePayload() const override; + + AWS_BCMDATAEXPORTS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + *

The unique identifier for the resource.

+ */ + inline const Aws::String& GetResourceArn() const{ return m_resourceArn; } + + /** + *

The unique identifier for the resource.

+ */ + inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; } + + /** + *

The unique identifier for the resource.

+ */ + inline void SetResourceArn(const Aws::String& value) { m_resourceArnHasBeenSet = true; m_resourceArn = value; } + + /** + *

The unique identifier for the resource.

+ */ + inline void SetResourceArn(Aws::String&& value) { m_resourceArnHasBeenSet = true; m_resourceArn = std::move(value); } + + /** + *

The unique identifier for the resource.

+ */ + inline void SetResourceArn(const char* value) { m_resourceArnHasBeenSet = true; m_resourceArn.assign(value); } + + /** + *

The unique identifier for the resource.

+ */ + inline TagResourceRequest& WithResourceArn(const Aws::String& value) { SetResourceArn(value); return *this;} + + /** + *

The unique identifier for the resource.

+ */ + inline TagResourceRequest& WithResourceArn(Aws::String&& value) { SetResourceArn(std::move(value)); return *this;} + + /** + *

The unique identifier for the resource.

+ */ + inline TagResourceRequest& WithResourceArn(const char* value) { SetResourceArn(value); return *this;} + + + /** + *

The tags to associate with the resource. Each tag consists of a key and a + * value, and each key must be unique for the resource.

+ */ + inline const Aws::Vector& GetResourceTags() const{ return m_resourceTags; } + + /** + *

The tags to associate with the resource. Each tag consists of a key and a + * value, and each key must be unique for the resource.

+ */ + inline bool ResourceTagsHasBeenSet() const { return m_resourceTagsHasBeenSet; } + + /** + *

The tags to associate with the resource. Each tag consists of a key and a + * value, and each key must be unique for the resource.

+ */ + inline void SetResourceTags(const Aws::Vector& value) { m_resourceTagsHasBeenSet = true; m_resourceTags = value; } + + /** + *

The tags to associate with the resource. Each tag consists of a key and a + * value, and each key must be unique for the resource.

+ */ + inline void SetResourceTags(Aws::Vector&& value) { m_resourceTagsHasBeenSet = true; m_resourceTags = std::move(value); } + + /** + *

The tags to associate with the resource. Each tag consists of a key and a + * value, and each key must be unique for the resource.

+ */ + inline TagResourceRequest& WithResourceTags(const Aws::Vector& value) { SetResourceTags(value); return *this;} + + /** + *

The tags to associate with the resource. Each tag consists of a key and a + * value, and each key must be unique for the resource.

+ */ + inline TagResourceRequest& WithResourceTags(Aws::Vector&& value) { SetResourceTags(std::move(value)); return *this;} + + /** + *

The tags to associate with the resource. Each tag consists of a key and a + * value, and each key must be unique for the resource.

+ */ + inline TagResourceRequest& AddResourceTags(const ResourceTag& value) { m_resourceTagsHasBeenSet = true; m_resourceTags.push_back(value); return *this; } + + /** + *

The tags to associate with the resource. Each tag consists of a key and a + * value, and each key must be unique for the resource.

+ */ + inline TagResourceRequest& AddResourceTags(ResourceTag&& value) { m_resourceTagsHasBeenSet = true; m_resourceTags.push_back(std::move(value)); return *this; } + + private: + + Aws::String m_resourceArn; + bool m_resourceArnHasBeenSet = false; + + Aws::Vector m_resourceTags; + bool m_resourceTagsHasBeenSet = false; + }; + +} // namespace Model +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/TagResourceResult.h b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/TagResourceResult.h new file mode 100644 index 00000000000..07554ffebbf --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/TagResourceResult.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 + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace BCMDataExports +{ +namespace Model +{ + class TagResourceResult + { + public: + AWS_BCMDATAEXPORTS_API TagResourceResult(); + AWS_BCMDATAEXPORTS_API TagResourceResult(const Aws::AmazonWebServiceResult& result); + AWS_BCMDATAEXPORTS_API TagResourceResult& 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 TagResourceResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline TagResourceResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline TagResourceResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/ThrottlingException.h b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/ThrottlingException.h new file mode 100644 index 00000000000..92b7eca0829 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/ThrottlingException.h @@ -0,0 +1,169 @@ +/** + * 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 BCMDataExports +{ +namespace Model +{ + + /** + *

The request was denied due to request throttling.

See Also:

+ * AWS + * API Reference

+ */ + class ThrottlingException + { + public: + AWS_BCMDATAEXPORTS_API ThrottlingException(); + AWS_BCMDATAEXPORTS_API ThrottlingException(Aws::Utils::Json::JsonView jsonValue); + AWS_BCMDATAEXPORTS_API ThrottlingException& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_BCMDATAEXPORTS_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 ThrottlingException& WithMessage(const Aws::String& value) { SetMessage(value); return *this;} + + + inline ThrottlingException& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;} + + + inline ThrottlingException& WithMessage(const char* value) { SetMessage(value); return *this;} + + + /** + *

The quota code that exceeded the throttling limit.

+ */ + inline const Aws::String& GetQuotaCode() const{ return m_quotaCode; } + + /** + *

The quota code that exceeded the throttling limit.

+ */ + inline bool QuotaCodeHasBeenSet() const { return m_quotaCodeHasBeenSet; } + + /** + *

The quota code that exceeded the throttling limit.

+ */ + inline void SetQuotaCode(const Aws::String& value) { m_quotaCodeHasBeenSet = true; m_quotaCode = value; } + + /** + *

The quota code that exceeded the throttling limit.

+ */ + inline void SetQuotaCode(Aws::String&& value) { m_quotaCodeHasBeenSet = true; m_quotaCode = std::move(value); } + + /** + *

The quota code that exceeded the throttling limit.

+ */ + inline void SetQuotaCode(const char* value) { m_quotaCodeHasBeenSet = true; m_quotaCode.assign(value); } + + /** + *

The quota code that exceeded the throttling limit.

+ */ + inline ThrottlingException& WithQuotaCode(const Aws::String& value) { SetQuotaCode(value); return *this;} + + /** + *

The quota code that exceeded the throttling limit.

+ */ + inline ThrottlingException& WithQuotaCode(Aws::String&& value) { SetQuotaCode(std::move(value)); return *this;} + + /** + *

The quota code that exceeded the throttling limit.

+ */ + inline ThrottlingException& WithQuotaCode(const char* value) { SetQuotaCode(value); return *this;} + + + /** + *

The service code that exceeded the throttling limit. It will always be + * “AWSBillingAndCostManagementDataExports”.

+ */ + inline const Aws::String& GetServiceCode() const{ return m_serviceCode; } + + /** + *

The service code that exceeded the throttling limit. It will always be + * “AWSBillingAndCostManagementDataExports”.

+ */ + inline bool ServiceCodeHasBeenSet() const { return m_serviceCodeHasBeenSet; } + + /** + *

The service code that exceeded the throttling limit. It will always be + * “AWSBillingAndCostManagementDataExports”.

+ */ + inline void SetServiceCode(const Aws::String& value) { m_serviceCodeHasBeenSet = true; m_serviceCode = value; } + + /** + *

The service code that exceeded the throttling limit. It will always be + * “AWSBillingAndCostManagementDataExports”.

+ */ + inline void SetServiceCode(Aws::String&& value) { m_serviceCodeHasBeenSet = true; m_serviceCode = std::move(value); } + + /** + *

The service code that exceeded the throttling limit. It will always be + * “AWSBillingAndCostManagementDataExports”.

+ */ + inline void SetServiceCode(const char* value) { m_serviceCodeHasBeenSet = true; m_serviceCode.assign(value); } + + /** + *

The service code that exceeded the throttling limit. It will always be + * “AWSBillingAndCostManagementDataExports”.

+ */ + inline ThrottlingException& WithServiceCode(const Aws::String& value) { SetServiceCode(value); return *this;} + + /** + *

The service code that exceeded the throttling limit. It will always be + * “AWSBillingAndCostManagementDataExports”.

+ */ + inline ThrottlingException& WithServiceCode(Aws::String&& value) { SetServiceCode(std::move(value)); return *this;} + + /** + *

The service code that exceeded the throttling limit. It will always be + * “AWSBillingAndCostManagementDataExports”.

+ */ + inline ThrottlingException& WithServiceCode(const char* value) { SetServiceCode(value); return *this;} + + private: + + Aws::String m_message; + bool m_messageHasBeenSet = false; + + Aws::String m_quotaCode; + bool m_quotaCodeHasBeenSet = false; + + Aws::String m_serviceCode; + bool m_serviceCodeHasBeenSet = false; + }; + +} // namespace Model +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/UntagResourceRequest.h b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/UntagResourceRequest.h new file mode 100644 index 00000000000..d35a7b84608 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/UntagResourceRequest.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 + +namespace Aws +{ +namespace BCMDataExports +{ +namespace Model +{ + + /** + */ + class UntagResourceRequest : public BCMDataExportsRequest + { + public: + AWS_BCMDATAEXPORTS_API UntagResourceRequest(); + + // 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 "UntagResource"; } + + AWS_BCMDATAEXPORTS_API Aws::String SerializePayload() const override; + + AWS_BCMDATAEXPORTS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + *

The unique identifier for the resource.

+ */ + inline const Aws::String& GetResourceArn() const{ return m_resourceArn; } + + /** + *

The unique identifier for the resource.

+ */ + inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; } + + /** + *

The unique identifier for the resource.

+ */ + inline void SetResourceArn(const Aws::String& value) { m_resourceArnHasBeenSet = true; m_resourceArn = value; } + + /** + *

The unique identifier for the resource.

+ */ + inline void SetResourceArn(Aws::String&& value) { m_resourceArnHasBeenSet = true; m_resourceArn = std::move(value); } + + /** + *

The unique identifier for the resource.

+ */ + inline void SetResourceArn(const char* value) { m_resourceArnHasBeenSet = true; m_resourceArn.assign(value); } + + /** + *

The unique identifier for the resource.

+ */ + inline UntagResourceRequest& WithResourceArn(const Aws::String& value) { SetResourceArn(value); return *this;} + + /** + *

The unique identifier for the resource.

+ */ + inline UntagResourceRequest& WithResourceArn(Aws::String&& value) { SetResourceArn(std::move(value)); return *this;} + + /** + *

The unique identifier for the resource.

+ */ + inline UntagResourceRequest& WithResourceArn(const char* value) { SetResourceArn(value); return *this;} + + + /** + *

The tag keys that are associated with the resource ARN.

+ */ + inline const Aws::Vector& GetResourceTagKeys() const{ return m_resourceTagKeys; } + + /** + *

The tag keys that are associated with the resource ARN.

+ */ + inline bool ResourceTagKeysHasBeenSet() const { return m_resourceTagKeysHasBeenSet; } + + /** + *

The tag keys that are associated with the resource ARN.

+ */ + inline void SetResourceTagKeys(const Aws::Vector& value) { m_resourceTagKeysHasBeenSet = true; m_resourceTagKeys = value; } + + /** + *

The tag keys that are associated with the resource ARN.

+ */ + inline void SetResourceTagKeys(Aws::Vector&& value) { m_resourceTagKeysHasBeenSet = true; m_resourceTagKeys = std::move(value); } + + /** + *

The tag keys that are associated with the resource ARN.

+ */ + inline UntagResourceRequest& WithResourceTagKeys(const Aws::Vector& value) { SetResourceTagKeys(value); return *this;} + + /** + *

The tag keys that are associated with the resource ARN.

+ */ + inline UntagResourceRequest& WithResourceTagKeys(Aws::Vector&& value) { SetResourceTagKeys(std::move(value)); return *this;} + + /** + *

The tag keys that are associated with the resource ARN.

+ */ + inline UntagResourceRequest& AddResourceTagKeys(const Aws::String& value) { m_resourceTagKeysHasBeenSet = true; m_resourceTagKeys.push_back(value); return *this; } + + /** + *

The tag keys that are associated with the resource ARN.

+ */ + inline UntagResourceRequest& AddResourceTagKeys(Aws::String&& value) { m_resourceTagKeysHasBeenSet = true; m_resourceTagKeys.push_back(std::move(value)); return *this; } + + /** + *

The tag keys that are associated with the resource ARN.

+ */ + inline UntagResourceRequest& AddResourceTagKeys(const char* value) { m_resourceTagKeysHasBeenSet = true; m_resourceTagKeys.push_back(value); return *this; } + + private: + + Aws::String m_resourceArn; + bool m_resourceArnHasBeenSet = false; + + Aws::Vector m_resourceTagKeys; + bool m_resourceTagKeysHasBeenSet = false; + }; + +} // namespace Model +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/UntagResourceResult.h b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/UntagResourceResult.h new file mode 100644 index 00000000000..04160e35652 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/UntagResourceResult.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 + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace BCMDataExports +{ +namespace Model +{ + class UntagResourceResult + { + public: + AWS_BCMDATAEXPORTS_API UntagResourceResult(); + AWS_BCMDATAEXPORTS_API UntagResourceResult(const Aws::AmazonWebServiceResult& result); + AWS_BCMDATAEXPORTS_API UntagResourceResult& 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 UntagResourceResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline UntagResourceResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline UntagResourceResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/UpdateExportRequest.h b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/UpdateExportRequest.h new file mode 100644 index 00000000000..a434e67d068 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/UpdateExportRequest.h @@ -0,0 +1,120 @@ +/** + * 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 BCMDataExports +{ +namespace Model +{ + + /** + */ + class UpdateExportRequest : public BCMDataExportsRequest + { + public: + AWS_BCMDATAEXPORTS_API UpdateExportRequest(); + + // 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 "UpdateExport"; } + + AWS_BCMDATAEXPORTS_API Aws::String SerializePayload() const override; + + AWS_BCMDATAEXPORTS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + *

The name and query details for the export.

+ */ + inline const Export& GetExport() const{ return m_export; } + + /** + *

The name and query details for the export.

+ */ + inline bool ExportHasBeenSet() const { return m_exportHasBeenSet; } + + /** + *

The name and query details for the export.

+ */ + inline void SetExport(const Export& value) { m_exportHasBeenSet = true; m_export = value; } + + /** + *

The name and query details for the export.

+ */ + inline void SetExport(Export&& value) { m_exportHasBeenSet = true; m_export = std::move(value); } + + /** + *

The name and query details for the export.

+ */ + inline UpdateExportRequest& WithExport(const Export& value) { SetExport(value); return *this;} + + /** + *

The name and query details for the export.

+ */ + inline UpdateExportRequest& WithExport(Export&& value) { SetExport(std::move(value)); return *this;} + + + /** + *

The Amazon Resource Name (ARN) for this export.

+ */ + inline const Aws::String& GetExportArn() const{ return m_exportArn; } + + /** + *

The Amazon Resource Name (ARN) for this export.

+ */ + inline bool ExportArnHasBeenSet() const { return m_exportArnHasBeenSet; } + + /** + *

The Amazon Resource Name (ARN) for this export.

+ */ + inline void SetExportArn(const Aws::String& value) { m_exportArnHasBeenSet = true; m_exportArn = value; } + + /** + *

The Amazon Resource Name (ARN) for this export.

+ */ + inline void SetExportArn(Aws::String&& value) { m_exportArnHasBeenSet = true; m_exportArn = std::move(value); } + + /** + *

The Amazon Resource Name (ARN) for this export.

+ */ + inline void SetExportArn(const char* value) { m_exportArnHasBeenSet = true; m_exportArn.assign(value); } + + /** + *

The Amazon Resource Name (ARN) for this export.

+ */ + inline UpdateExportRequest& WithExportArn(const Aws::String& value) { SetExportArn(value); return *this;} + + /** + *

The Amazon Resource Name (ARN) for this export.

+ */ + inline UpdateExportRequest& WithExportArn(Aws::String&& value) { SetExportArn(std::move(value)); return *this;} + + /** + *

The Amazon Resource Name (ARN) for this export.

+ */ + inline UpdateExportRequest& WithExportArn(const char* value) { SetExportArn(value); return *this;} + + private: + + Export m_export; + bool m_exportHasBeenSet = false; + + Aws::String m_exportArn; + bool m_exportArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/UpdateExportResult.h b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/UpdateExportResult.h new file mode 100644 index 00000000000..46fae38886d --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/UpdateExportResult.h @@ -0,0 +1,101 @@ +/** + * 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 BCMDataExports +{ +namespace Model +{ + class UpdateExportResult + { + public: + AWS_BCMDATAEXPORTS_API UpdateExportResult(); + AWS_BCMDATAEXPORTS_API UpdateExportResult(const Aws::AmazonWebServiceResult& result); + AWS_BCMDATAEXPORTS_API UpdateExportResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

The Amazon Resource Name (ARN) for this export.

+ */ + inline const Aws::String& GetExportArn() const{ return m_exportArn; } + + /** + *

The Amazon Resource Name (ARN) for this export.

+ */ + inline void SetExportArn(const Aws::String& value) { m_exportArn = value; } + + /** + *

The Amazon Resource Name (ARN) for this export.

+ */ + inline void SetExportArn(Aws::String&& value) { m_exportArn = std::move(value); } + + /** + *

The Amazon Resource Name (ARN) for this export.

+ */ + inline void SetExportArn(const char* value) { m_exportArn.assign(value); } + + /** + *

The Amazon Resource Name (ARN) for this export.

+ */ + inline UpdateExportResult& WithExportArn(const Aws::String& value) { SetExportArn(value); return *this;} + + /** + *

The Amazon Resource Name (ARN) for this export.

+ */ + inline UpdateExportResult& WithExportArn(Aws::String&& value) { SetExportArn(std::move(value)); return *this;} + + /** + *

The Amazon Resource Name (ARN) for this export.

+ */ + inline UpdateExportResult& WithExportArn(const char* value) { SetExportArn(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 UpdateExportResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline UpdateExportResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline UpdateExportResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::String m_exportArn; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/ValidationException.h b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/ValidationException.h new file mode 100644 index 00000000000..931c167fa16 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/ValidationException.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 +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace BCMDataExports +{ +namespace Model +{ + + /** + *

The input fails to satisfy the constraints specified by an Amazon Web + * Services service.

See Also:

AWS + * API Reference

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

The list of fields that are invalid.

+ */ + inline const Aws::Vector& GetFields() const{ return m_fields; } + + /** + *

The list of fields that are invalid.

+ */ + inline bool FieldsHasBeenSet() const { return m_fieldsHasBeenSet; } + + /** + *

The list of fields that are invalid.

+ */ + inline void SetFields(const Aws::Vector& value) { m_fieldsHasBeenSet = true; m_fields = value; } + + /** + *

The list of fields that are invalid.

+ */ + inline void SetFields(Aws::Vector&& value) { m_fieldsHasBeenSet = true; m_fields = std::move(value); } + + /** + *

The list of fields that are invalid.

+ */ + inline ValidationException& WithFields(const Aws::Vector& value) { SetFields(value); return *this;} + + /** + *

The list of fields that are invalid.

+ */ + inline ValidationException& WithFields(Aws::Vector&& value) { SetFields(std::move(value)); return *this;} + + /** + *

The list of fields that are invalid.

+ */ + inline ValidationException& AddFields(const ValidationExceptionField& value) { m_fieldsHasBeenSet = true; m_fields.push_back(value); return *this; } + + /** + *

The list of fields that are invalid.

+ */ + inline ValidationException& AddFields(ValidationExceptionField&& value) { m_fieldsHasBeenSet = true; m_fields.push_back(std::move(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 ValidationException& WithMessage(const Aws::String& value) { SetMessage(value); return *this;} + + + inline ValidationException& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;} + + + inline ValidationException& WithMessage(const char* value) { SetMessage(value); return *this;} + + + /** + *

The reason for the validation exception.

+ */ + inline const ValidationExceptionReason& GetReason() const{ return m_reason; } + + /** + *

The reason for the validation exception.

+ */ + inline bool ReasonHasBeenSet() const { return m_reasonHasBeenSet; } + + /** + *

The reason for the validation exception.

+ */ + inline void SetReason(const ValidationExceptionReason& value) { m_reasonHasBeenSet = true; m_reason = value; } + + /** + *

The reason for the validation exception.

+ */ + inline void SetReason(ValidationExceptionReason&& value) { m_reasonHasBeenSet = true; m_reason = std::move(value); } + + /** + *

The reason for the validation exception.

+ */ + inline ValidationException& WithReason(const ValidationExceptionReason& value) { SetReason(value); return *this;} + + /** + *

The reason for the validation exception.

+ */ + inline ValidationException& WithReason(ValidationExceptionReason&& value) { SetReason(std::move(value)); return *this;} + + private: + + Aws::Vector m_fields; + bool m_fieldsHasBeenSet = false; + + Aws::String m_message; + bool m_messageHasBeenSet = false; + + ValidationExceptionReason m_reason; + bool m_reasonHasBeenSet = false; + }; + +} // namespace Model +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/ValidationExceptionField.h b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/ValidationExceptionField.h new file mode 100644 index 00000000000..18c0cfa0990 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/ValidationExceptionField.h @@ -0,0 +1,133 @@ +/** + * 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 BCMDataExports +{ +namespace Model +{ + + /** + *

The input failed to meet the constraints specified by the Amazon Web Services + * service in a specified field.

See Also:

AWS + * API Reference

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

A message with the reason for the validation exception error.

+ */ + inline const Aws::String& GetMessage() const{ return m_message; } + + /** + *

A message with the reason for the validation exception error.

+ */ + inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } + + /** + *

A message with the reason for the validation exception error.

+ */ + inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; } + + /** + *

A message with the reason for the validation exception error.

+ */ + inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); } + + /** + *

A message with the reason for the validation exception error.

+ */ + inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); } + + /** + *

A message with the reason for the validation exception error.

+ */ + inline ValidationExceptionField& WithMessage(const Aws::String& value) { SetMessage(value); return *this;} + + /** + *

A message with the reason for the validation exception error.

+ */ + inline ValidationExceptionField& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;} + + /** + *

A message with the reason for the validation exception error.

+ */ + inline ValidationExceptionField& WithMessage(const char* value) { SetMessage(value); return *this;} + + + /** + *

The field name where the invalid entry was detected.

+ */ + inline const Aws::String& GetName() const{ return m_name; } + + /** + *

The field name where the invalid entry was detected.

+ */ + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + + /** + *

The field name where the invalid entry was detected.

+ */ + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + + /** + *

The field name where the invalid entry was detected.

+ */ + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + + /** + *

The field name where the invalid entry was detected.

+ */ + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + + /** + *

The field name where the invalid entry was detected.

+ */ + inline ValidationExceptionField& WithName(const Aws::String& value) { SetName(value); return *this;} + + /** + *

The field name where the invalid entry was detected.

+ */ + inline ValidationExceptionField& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + + /** + *

The field name where the invalid entry was detected.

+ */ + inline ValidationExceptionField& WithName(const char* value) { SetName(value); return *this;} + + private: + + Aws::String m_message; + bool m_messageHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + }; + +} // namespace Model +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/ValidationExceptionReason.h b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/ValidationExceptionReason.h new file mode 100644 index 00000000000..4c9ae6214d7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/model/ValidationExceptionReason.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 BCMDataExports +{ +namespace Model +{ + enum class ValidationExceptionReason + { + NOT_SET, + unknownOperation, + cannotParse, + fieldValidationFailed, + other + }; + +namespace ValidationExceptionReasonMapper +{ +AWS_BCMDATAEXPORTS_API ValidationExceptionReason GetValidationExceptionReasonForName(const Aws::String& name); + +AWS_BCMDATAEXPORTS_API Aws::String GetNameForValidationExceptionReason(ValidationExceptionReason value); +} // namespace ValidationExceptionReasonMapper +} // namespace Model +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/source/BCMDataExportsClient.cpp b/generated/src/aws-cpp-sdk-bcm-data-exports/source/BCMDataExportsClient.cpp new file mode 100644 index 00000000000..5632ac8398c --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/source/BCMDataExportsClient.cpp @@ -0,0 +1,480 @@ +/** + * 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 + + +using namespace Aws; +using namespace Aws::Auth; +using namespace Aws::Client; +using namespace Aws::BCMDataExports; +using namespace Aws::BCMDataExports::Model; +using namespace Aws::Http; +using namespace Aws::Utils::Json; +using namespace smithy::components::tracing; +using ResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; + +const char* BCMDataExportsClient::SERVICE_NAME = "bcm-data-exports"; +const char* BCMDataExportsClient::ALLOCATION_TAG = "BCMDataExportsClient"; + +BCMDataExportsClient::BCMDataExportsClient(const BCMDataExports::BCMDataExportsClientConfiguration& 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_executor(clientConfiguration.executor), + m_endpointProvider(std::move(endpointProvider)) +{ + init(m_clientConfiguration); +} + +BCMDataExportsClient::BCMDataExportsClient(const AWSCredentials& credentials, + std::shared_ptr endpointProvider, + const BCMDataExports::BCMDataExportsClientConfiguration& 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_executor(clientConfiguration.executor), + m_endpointProvider(std::move(endpointProvider)) +{ + init(m_clientConfiguration); +} + +BCMDataExportsClient::BCMDataExportsClient(const std::shared_ptr& credentialsProvider, + std::shared_ptr endpointProvider, + const BCMDataExports::BCMDataExportsClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + credentialsProvider, + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_executor(clientConfiguration.executor), + m_endpointProvider(std::move(endpointProvider)) +{ + init(m_clientConfiguration); +} + + /* Legacy constructors due deprecation */ + BCMDataExportsClient::BCMDataExportsClient(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_executor(clientConfiguration.executor), + m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +BCMDataExportsClient::BCMDataExportsClient(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_executor(clientConfiguration.executor), + m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +BCMDataExportsClient::BCMDataExportsClient(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_executor(clientConfiguration.executor), + m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + + /* End of legacy constructors due deprecation */ +BCMDataExportsClient::~BCMDataExportsClient() +{ + ShutdownSdkClient(this, -1); +} + +std::shared_ptr& BCMDataExportsClient::accessEndpointProvider() +{ + return m_endpointProvider; +} + +void BCMDataExportsClient::init(const BCMDataExports::BCMDataExportsClientConfiguration& config) +{ + AWSClient::SetServiceClientName("BCM Data Exports"); + AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); + m_endpointProvider->InitBuiltInParameters(config); +} + +void BCMDataExportsClient::OverrideEndpoint(const Aws::String& endpoint) +{ + AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); + m_endpointProvider->OverrideEndpoint(endpoint); +} + +CreateExportOutcome BCMDataExportsClient::CreateExport(const CreateExportRequest& request) const +{ + AWS_OPERATION_GUARD(CreateExport); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CreateExport, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, CreateExport, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CreateExport, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".CreateExport", + {{ 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( + [&]()-> CreateExportOutcome { + 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, CreateExport, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return CreateExportOutcome(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()}}); +} + +DeleteExportOutcome BCMDataExportsClient::DeleteExport(const DeleteExportRequest& request) const +{ + AWS_OPERATION_GUARD(DeleteExport); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteExport, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DeleteExport, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DeleteExport, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DeleteExport", + {{ 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( + [&]()-> DeleteExportOutcome { + 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, DeleteExport, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return DeleteExportOutcome(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()}}); +} + +GetExecutionOutcome BCMDataExportsClient::GetExecution(const GetExecutionRequest& request) const +{ + AWS_OPERATION_GUARD(GetExecution); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetExecution, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetExecution, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetExecution, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetExecution", + {{ 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( + [&]()-> GetExecutionOutcome { + 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, GetExecution, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return GetExecutionOutcome(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()}}); +} + +GetExportOutcome BCMDataExportsClient::GetExport(const GetExportRequest& request) const +{ + AWS_OPERATION_GUARD(GetExport); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetExport, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetExport, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetExport, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetExport", + {{ 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( + [&]()-> GetExportOutcome { + 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, GetExport, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return GetExportOutcome(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()}}); +} + +GetTableOutcome BCMDataExportsClient::GetTable(const GetTableRequest& request) const +{ + AWS_OPERATION_GUARD(GetTable); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetTable, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetTable, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetTable, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetTable", + {{ 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( + [&]()-> GetTableOutcome { + 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, GetTable, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return GetTableOutcome(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()}}); +} + +ListExecutionsOutcome BCMDataExportsClient::ListExecutions(const ListExecutionsRequest& request) const +{ + AWS_OPERATION_GUARD(ListExecutions); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListExecutions, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListExecutions, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListExecutions, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListExecutions", + {{ 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( + [&]()-> ListExecutionsOutcome { + 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, ListExecutions, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return ListExecutionsOutcome(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()}}); +} + +ListExportsOutcome BCMDataExportsClient::ListExports(const ListExportsRequest& request) const +{ + AWS_OPERATION_GUARD(ListExports); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListExports, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListExports, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListExports, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListExports", + {{ 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( + [&]()-> ListExportsOutcome { + 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, ListExports, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return ListExportsOutcome(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()}}); +} + +ListTablesOutcome BCMDataExportsClient::ListTables(const ListTablesRequest& request) const +{ + AWS_OPERATION_GUARD(ListTables); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListTables, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListTables, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListTables, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListTables", + {{ 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( + [&]()-> ListTablesOutcome { + 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, ListTables, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return ListTablesOutcome(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()}}); +} + +ListTagsForResourceOutcome BCMDataExportsClient::ListTagsForResource(const ListTagsForResourceRequest& request) const +{ + AWS_OPERATION_GUARD(ListTagsForResource); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListTagsForResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListTagsForResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListTagsForResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListTagsForResource", + {{ 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( + [&]()-> ListTagsForResourceOutcome { + 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, ListTagsForResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return ListTagsForResourceOutcome(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()}}); +} + +TagResourceOutcome BCMDataExportsClient::TagResource(const TagResourceRequest& request) const +{ + AWS_OPERATION_GUARD(TagResource); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, TagResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, TagResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, TagResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".TagResource", + {{ 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( + [&]()-> TagResourceOutcome { + 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, TagResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return TagResourceOutcome(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()}}); +} + +UntagResourceOutcome BCMDataExportsClient::UntagResource(const UntagResourceRequest& request) const +{ + AWS_OPERATION_GUARD(UntagResource); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UntagResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, UntagResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, UntagResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".UntagResource", + {{ 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( + [&]()-> UntagResourceOutcome { + 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, UntagResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return UntagResourceOutcome(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()}}); +} + +UpdateExportOutcome BCMDataExportsClient::UpdateExport(const UpdateExportRequest& request) const +{ + AWS_OPERATION_GUARD(UpdateExport); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UpdateExport, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, UpdateExport, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, UpdateExport, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".UpdateExport", + {{ 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( + [&]()-> UpdateExportOutcome { + 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, UpdateExport, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return UpdateExportOutcome(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()}}); +} + diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/source/BCMDataExportsEndpointProvider.cpp b/generated/src/aws-cpp-sdk-bcm-data-exports/source/BCMDataExportsEndpointProvider.cpp new file mode 100644 index 00000000000..5d73bfdd6ce --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/source/BCMDataExportsEndpointProvider.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 BCMDataExports +{ +namespace Endpoint +{ +} // namespace Endpoint +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/source/BCMDataExportsEndpointRules.cpp b/generated/src/aws-cpp-sdk-bcm-data-exports/source/BCMDataExportsEndpointRules.cpp new file mode 100644 index 00000000000..e53c9437b11 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/source/BCMDataExportsEndpointRules.cpp @@ -0,0 +1,167 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +namespace Aws +{ +namespace BCMDataExports +{ +const size_t BCMDataExportsEndpointRules::RulesBlobStrLen = 3514; +const size_t BCMDataExportsEndpointRules::RulesBlobSize = 3515; + +using RulesBlobT = Aws::Array; +static constexpr RulesBlobT RulesBlob = {{ +'{','"','v','e','r','s','i','o','n','"',':','"','1','.','0','"',',','"','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','"', +':','f','a','l','s','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','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','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n', +'t','"','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P', +'S','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a', +'l','i','d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','F','I','P','S',' ','a', +'n','d',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','a','r','e',' ','n','o', +'t',' ','s','u','p','p','o','r','t','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o', +'r','"','}',',','{','"','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','"',':','{','}',',','"', +'h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p', +'o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"', +'}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}', +']',',','"','a','s','s','i','g','n','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u', +'l','t','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n', +'R','e','s','u','l','t','"','}',',','"','n','a','m','e','"',']','}',',','"','a','w','s','"',']','}', +']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t', +'r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i', +'o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','F','I','P','S','"', +']','}',',','t','r','u','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','"',':','"','h','t','t','p','s',':','/','/','b','c','m','-','d','a','t','a','-','e','x', +'p','o','r','t','s','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','a','p','i','.','a', +'w','s','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d', +'e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t', +'"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','F','I','P','S',' ', +'i','s',' ','e','n','a','b','l','e','d',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i', +'t','i','o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','F','I','P', +'S','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e', +'"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p', +'s',':','/','/','b','c','m','-','d','a','t','a','-','e','x','p','o','r','t','s','.','u','s','-','e', +'a','s','t','-','1','.','a','p','i','.','a','w','s','"',',','"','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','N','a','m','e','"',':','"', +'b','c','m','-','d','a','t','a','-','e','x','p','o','r','t','s','"',',','"','s','i','g','n','i','n', +'g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"', +'h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p', +'o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e', +'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','t','r','u','e',',','{','"', +'f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','s', +'u','p','p','o','r','t','s','D','u','a','l','S','t','a','c','k','"',']','}',']','}',']',',','"','r', +'u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', +'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']', +'}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e', +'s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','F','I','P','S','"',']','}',',','t', +'r','u','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','"', +':','"','h','t','t','p','s',':','/','/','b','c','m','-','d','a','t','a','-','e','x','p','o','r','t', +'s','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o', +'n','R','e','s','u','l','t','#','d','u','a','l','S','t','a','c','k','D','n','s','S','u','f','f','i', +'x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d', +'e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t', +'"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','F','I','P','S',' ', +'i','s',' ','e','n','a','b','l','e','d',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i', +'t','i','o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','F','I','P', +'S','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e', +'"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p', +'s',':','/','/','b','c','m','-','d','a','t','a','-','e','x','p','o','r','t','s','.','{','R','e','g', +'i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','u','a', +'l','S','t','a','c','k','D','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r', +'t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t', +'y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':', +'"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e', +']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s', +'"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R', +'e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','F','I','P','S','"',']','}',',', +'t','r','u','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', +'"',':','"','h','t','t','p','s',':','/','/','b','c','m','-','d','a','t','a','-','e','x','p','o','r', +'t','s','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i', +'o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o', +'p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}', +',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p', +'e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[',']',',','"','e','r','r','o','r','"',':','"','F','I','P','S',' ','i','s',' ','e','n','a','b','l', +'e','d',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e', +'s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','F','I','P','S','"',',','"','t','y','p','e', +'"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', +'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o', +'i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','b','c','m','-', +'d','a','t','a','-','e','x','p','o','r','t','s','.','{','R','e','g','i','o','n','}','.','{','P','a', +'r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"', +',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s', +'"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']', +',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"', +'t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"', +'e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','C','o','n','f','i','g','u','r','a', +'t','i','o','n',':',' ','M','i','s','s','i','n','g',' ','R','e','g','i','o','n','"',',','"','t','y', +'p','e','"',':','"','e','r','r','o','r','"','}',']','}','\0' +}}; + +const char* BCMDataExportsEndpointRules::GetRulesBlob() +{ + return RulesBlob.data(); +} + +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/source/BCMDataExportsErrorMarshaller.cpp b/generated/src/aws-cpp-sdk-bcm-data-exports/source/BCMDataExportsErrorMarshaller.cpp new file mode 100644 index 00000000000..7187f9be318 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/source/BCMDataExportsErrorMarshaller.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::BCMDataExports; + +AWSError BCMDataExportsErrorMarshaller::FindErrorByName(const char* errorName) const +{ + AWSError error = BCMDataExportsErrorMapper::GetErrorForName(errorName); + if(error.GetErrorType() != CoreErrors::UNKNOWN) + { + return error; + } + + return AWSErrorMarshaller::FindErrorByName(errorName); +} \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/source/BCMDataExportsErrors.cpp b/generated/src/aws-cpp-sdk-bcm-data-exports/source/BCMDataExportsErrors.cpp new file mode 100644 index 00000000000..b0b5988d09a --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/source/BCMDataExportsErrors.cpp @@ -0,0 +1,71 @@ +/** + * 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::Client; +using namespace Aws::Utils; +using namespace Aws::BCMDataExports; +using namespace Aws::BCMDataExports::Model; + +namespace Aws +{ +namespace BCMDataExports +{ +template<> AWS_BCMDATAEXPORTS_API ServiceQuotaExceededException BCMDataExportsError::GetModeledError() +{ + assert(this->GetErrorType() == BCMDataExportsErrors::SERVICE_QUOTA_EXCEEDED); + return ServiceQuotaExceededException(this->GetJsonPayload().View()); +} + +template<> AWS_BCMDATAEXPORTS_API ThrottlingException BCMDataExportsError::GetModeledError() +{ + assert(this->GetErrorType() == BCMDataExportsErrors::THROTTLING); + return ThrottlingException(this->GetJsonPayload().View()); +} + +template<> AWS_BCMDATAEXPORTS_API ResourceNotFoundException BCMDataExportsError::GetModeledError() +{ + assert(this->GetErrorType() == BCMDataExportsErrors::RESOURCE_NOT_FOUND); + return ResourceNotFoundException(this->GetJsonPayload().View()); +} + +template<> AWS_BCMDATAEXPORTS_API ValidationException BCMDataExportsError::GetModeledError() +{ + assert(this->GetErrorType() == BCMDataExportsErrors::VALIDATION); + return ValidationException(this->GetJsonPayload().View()); +} + +namespace BCMDataExportsErrorMapper +{ + +static const int SERVICE_QUOTA_EXCEEDED_HASH = HashingUtils::HashString("ServiceQuotaExceededException"); +static const int INTERNAL_SERVER_HASH = HashingUtils::HashString("InternalServerException"); + + +AWSError GetErrorForName(const char* errorName) +{ + int hashCode = HashingUtils::HashString(errorName); + + if (hashCode == SERVICE_QUOTA_EXCEEDED_HASH) + { + return AWSError(static_cast(BCMDataExportsErrors::SERVICE_QUOTA_EXCEEDED), false); + } + else if (hashCode == INTERNAL_SERVER_HASH) + { + return AWSError(static_cast(BCMDataExportsErrors::INTERNAL_SERVER), false); + } + return AWSError(CoreErrors::UNKNOWN, false); +} + +} // namespace BCMDataExportsErrorMapper +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/source/BCMDataExportsRequest.cpp b/generated/src/aws-cpp-sdk-bcm-data-exports/source/BCMDataExportsRequest.cpp new file mode 100644 index 00000000000..8b00594efa4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/source/BCMDataExportsRequest.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 BCMDataExports +{ +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/Column.cpp b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/Column.cpp new file mode 100644 index 00000000000..47500ca782a --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/Column.cpp @@ -0,0 +1,89 @@ +/** + * 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 BCMDataExports +{ +namespace Model +{ + +Column::Column() : + m_descriptionHasBeenSet(false), + m_nameHasBeenSet(false), + m_typeHasBeenSet(false) +{ +} + +Column::Column(JsonView jsonValue) : + m_descriptionHasBeenSet(false), + m_nameHasBeenSet(false), + m_typeHasBeenSet(false) +{ + *this = jsonValue; +} + +Column& Column::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Description")) + { + m_description = jsonValue.GetString("Description"); + + m_descriptionHasBeenSet = true; + } + + if(jsonValue.ValueExists("Name")) + { + m_name = jsonValue.GetString("Name"); + + m_nameHasBeenSet = true; + } + + if(jsonValue.ValueExists("Type")) + { + m_type = jsonValue.GetString("Type"); + + m_typeHasBeenSet = true; + } + + return *this; +} + +JsonValue Column::Jsonize() const +{ + JsonValue payload; + + if(m_descriptionHasBeenSet) + { + payload.WithString("Description", m_description); + + } + + if(m_nameHasBeenSet) + { + payload.WithString("Name", m_name); + + } + + if(m_typeHasBeenSet) + { + payload.WithString("Type", m_type); + + } + + return payload; +} + +} // namespace Model +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/CompressionOption.cpp b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/CompressionOption.cpp new file mode 100644 index 00000000000..415929b04a8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/CompressionOption.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 BCMDataExports + { + namespace Model + { + namespace CompressionOptionMapper + { + + static const int GZIP_HASH = HashingUtils::HashString("GZIP"); + static const int PARQUET_HASH = HashingUtils::HashString("PARQUET"); + + + CompressionOption GetCompressionOptionForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == GZIP_HASH) + { + return CompressionOption::GZIP; + } + else if (hashCode == PARQUET_HASH) + { + return CompressionOption::PARQUET; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return CompressionOption::NOT_SET; + } + + Aws::String GetNameForCompressionOption(CompressionOption enumValue) + { + switch(enumValue) + { + case CompressionOption::NOT_SET: + return {}; + case CompressionOption::GZIP: + return "GZIP"; + case CompressionOption::PARQUET: + return "PARQUET"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace CompressionOptionMapper + } // namespace Model + } // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/CreateExportRequest.cpp b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/CreateExportRequest.cpp new file mode 100644 index 00000000000..60782dd2c9b --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/CreateExportRequest.cpp @@ -0,0 +1,55 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::BCMDataExports::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +CreateExportRequest::CreateExportRequest() : + m_exportHasBeenSet(false), + m_resourceTagsHasBeenSet(false) +{ +} + +Aws::String CreateExportRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_exportHasBeenSet) + { + payload.WithObject("Export", m_export.Jsonize()); + + } + + if(m_resourceTagsHasBeenSet) + { + Aws::Utils::Array resourceTagsJsonList(m_resourceTags.size()); + for(unsigned resourceTagsIndex = 0; resourceTagsIndex < resourceTagsJsonList.GetLength(); ++resourceTagsIndex) + { + resourceTagsJsonList[resourceTagsIndex].AsObject(m_resourceTags[resourceTagsIndex].Jsonize()); + } + payload.WithArray("ResourceTags", std::move(resourceTagsJsonList)); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection CreateExportRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "AWSBillingAndCostManagementDataExports.CreateExport")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/CreateExportResult.cpp b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/CreateExportResult.cpp new file mode 100644 index 00000000000..6d0332bbef1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/CreateExportResult.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::BCMDataExports::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +CreateExportResult::CreateExportResult() +{ +} + +CreateExportResult::CreateExportResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +CreateExportResult& CreateExportResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("ExportArn")) + { + m_exportArn = jsonValue.GetString("ExportArn"); + + } + + + 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-bcm-data-exports/source/model/DataQuery.cpp b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/DataQuery.cpp new file mode 100644 index 00000000000..3303906d624 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/DataQuery.cpp @@ -0,0 +1,93 @@ +/** + * 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 BCMDataExports +{ +namespace Model +{ + +DataQuery::DataQuery() : + m_queryStatementHasBeenSet(false), + m_tableConfigurationsHasBeenSet(false) +{ +} + +DataQuery::DataQuery(JsonView jsonValue) : + m_queryStatementHasBeenSet(false), + m_tableConfigurationsHasBeenSet(false) +{ + *this = jsonValue; +} + +DataQuery& DataQuery::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("QueryStatement")) + { + m_queryStatement = jsonValue.GetString("QueryStatement"); + + m_queryStatementHasBeenSet = true; + } + + if(jsonValue.ValueExists("TableConfigurations")) + { + Aws::Map tableConfigurationsJsonMap = jsonValue.GetObject("TableConfigurations").GetAllObjects(); + for(auto& tableConfigurationsItem : tableConfigurationsJsonMap) + { + Aws::Map tablePropertiesJsonMap = tableConfigurationsItem.second.GetAllObjects(); + Aws::Map tablePropertiesMap; + for(auto& tablePropertiesItem : tablePropertiesJsonMap) + { + tablePropertiesMap[tablePropertiesItem.first] = tablePropertiesItem.second.AsString(); + } + m_tableConfigurations[tableConfigurationsItem.first] = std::move(tablePropertiesMap); + } + m_tableConfigurationsHasBeenSet = true; + } + + return *this; +} + +JsonValue DataQuery::Jsonize() const +{ + JsonValue payload; + + if(m_queryStatementHasBeenSet) + { + payload.WithString("QueryStatement", m_queryStatement); + + } + + if(m_tableConfigurationsHasBeenSet) + { + JsonValue tableConfigurationsJsonMap; + for(auto& tableConfigurationsItem : m_tableConfigurations) + { + JsonValue tablePropertiesJsonMap; + for(auto& tablePropertiesItem : tableConfigurationsItem.second) + { + tablePropertiesJsonMap.WithString(tablePropertiesItem.first, tablePropertiesItem.second); + } + tableConfigurationsJsonMap.WithObject(tableConfigurationsItem.first, std::move(tablePropertiesJsonMap)); + } + payload.WithObject("TableConfigurations", std::move(tableConfigurationsJsonMap)); + + } + + return payload; +} + +} // namespace Model +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/DeleteExportRequest.cpp b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/DeleteExportRequest.cpp new file mode 100644 index 00000000000..652daae929a --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/DeleteExportRequest.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::BCMDataExports::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +DeleteExportRequest::DeleteExportRequest() : + m_exportArnHasBeenSet(false) +{ +} + +Aws::String DeleteExportRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_exportArnHasBeenSet) + { + payload.WithString("ExportArn", m_exportArn); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection DeleteExportRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "AWSBillingAndCostManagementDataExports.DeleteExport")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/DeleteExportResult.cpp b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/DeleteExportResult.cpp new file mode 100644 index 00000000000..05be97477b4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/DeleteExportResult.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::BCMDataExports::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DeleteExportResult::DeleteExportResult() +{ +} + +DeleteExportResult::DeleteExportResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DeleteExportResult& DeleteExportResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("ExportArn")) + { + m_exportArn = jsonValue.GetString("ExportArn"); + + } + + + 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-bcm-data-exports/source/model/DestinationConfigurations.cpp b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/DestinationConfigurations.cpp new file mode 100644 index 00000000000..02ccf7f2384 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/DestinationConfigurations.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 BCMDataExports +{ +namespace Model +{ + +DestinationConfigurations::DestinationConfigurations() : + m_s3DestinationHasBeenSet(false) +{ +} + +DestinationConfigurations::DestinationConfigurations(JsonView jsonValue) : + m_s3DestinationHasBeenSet(false) +{ + *this = jsonValue; +} + +DestinationConfigurations& DestinationConfigurations::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("S3Destination")) + { + m_s3Destination = jsonValue.GetObject("S3Destination"); + + m_s3DestinationHasBeenSet = true; + } + + return *this; +} + +JsonValue DestinationConfigurations::Jsonize() const +{ + JsonValue payload; + + if(m_s3DestinationHasBeenSet) + { + payload.WithObject("S3Destination", m_s3Destination.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/ExecutionReference.cpp b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/ExecutionReference.cpp new file mode 100644 index 00000000000..5c393815133 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/ExecutionReference.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 BCMDataExports +{ +namespace Model +{ + +ExecutionReference::ExecutionReference() : + m_executionIdHasBeenSet(false), + m_executionStatusHasBeenSet(false) +{ +} + +ExecutionReference::ExecutionReference(JsonView jsonValue) : + m_executionIdHasBeenSet(false), + m_executionStatusHasBeenSet(false) +{ + *this = jsonValue; +} + +ExecutionReference& ExecutionReference::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("ExecutionId")) + { + m_executionId = jsonValue.GetString("ExecutionId"); + + m_executionIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("ExecutionStatus")) + { + m_executionStatus = jsonValue.GetObject("ExecutionStatus"); + + m_executionStatusHasBeenSet = true; + } + + return *this; +} + +JsonValue ExecutionReference::Jsonize() const +{ + JsonValue payload; + + if(m_executionIdHasBeenSet) + { + payload.WithString("ExecutionId", m_executionId); + + } + + if(m_executionStatusHasBeenSet) + { + payload.WithObject("ExecutionStatus", m_executionStatus.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/ExecutionStatus.cpp b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/ExecutionStatus.cpp new file mode 100644 index 00000000000..34ac8bfc7d0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/ExecutionStatus.cpp @@ -0,0 +1,118 @@ +/** + * 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 BCMDataExports +{ +namespace Model +{ + +ExecutionStatus::ExecutionStatus() : + m_completedAtHasBeenSet(false), + m_createdAtHasBeenSet(false), + m_lastUpdatedAtHasBeenSet(false), + m_statusCode(ExecutionStatusCode::NOT_SET), + m_statusCodeHasBeenSet(false), + m_statusReason(ExecutionStatusReason::NOT_SET), + m_statusReasonHasBeenSet(false) +{ +} + +ExecutionStatus::ExecutionStatus(JsonView jsonValue) : + m_completedAtHasBeenSet(false), + m_createdAtHasBeenSet(false), + m_lastUpdatedAtHasBeenSet(false), + m_statusCode(ExecutionStatusCode::NOT_SET), + m_statusCodeHasBeenSet(false), + m_statusReason(ExecutionStatusReason::NOT_SET), + m_statusReasonHasBeenSet(false) +{ + *this = jsonValue; +} + +ExecutionStatus& ExecutionStatus::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("CompletedAt")) + { + m_completedAt = jsonValue.GetString("CompletedAt"); + + m_completedAtHasBeenSet = true; + } + + if(jsonValue.ValueExists("CreatedAt")) + { + m_createdAt = jsonValue.GetString("CreatedAt"); + + m_createdAtHasBeenSet = true; + } + + if(jsonValue.ValueExists("LastUpdatedAt")) + { + m_lastUpdatedAt = jsonValue.GetString("LastUpdatedAt"); + + m_lastUpdatedAtHasBeenSet = true; + } + + if(jsonValue.ValueExists("StatusCode")) + { + m_statusCode = ExecutionStatusCodeMapper::GetExecutionStatusCodeForName(jsonValue.GetString("StatusCode")); + + m_statusCodeHasBeenSet = true; + } + + if(jsonValue.ValueExists("StatusReason")) + { + m_statusReason = ExecutionStatusReasonMapper::GetExecutionStatusReasonForName(jsonValue.GetString("StatusReason")); + + m_statusReasonHasBeenSet = true; + } + + return *this; +} + +JsonValue ExecutionStatus::Jsonize() const +{ + JsonValue payload; + + if(m_completedAtHasBeenSet) + { + payload.WithString("CompletedAt", m_completedAt.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + if(m_createdAtHasBeenSet) + { + payload.WithString("CreatedAt", m_createdAt.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + if(m_lastUpdatedAtHasBeenSet) + { + payload.WithString("LastUpdatedAt", m_lastUpdatedAt.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + if(m_statusCodeHasBeenSet) + { + payload.WithString("StatusCode", ExecutionStatusCodeMapper::GetNameForExecutionStatusCode(m_statusCode)); + } + + if(m_statusReasonHasBeenSet) + { + payload.WithString("StatusReason", ExecutionStatusReasonMapper::GetNameForExecutionStatusReason(m_statusReason)); + } + + return payload; +} + +} // namespace Model +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/ExecutionStatusCode.cpp b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/ExecutionStatusCode.cpp new file mode 100644 index 00000000000..de0aced8e57 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/ExecutionStatusCode.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 + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace BCMDataExports + { + namespace Model + { + namespace ExecutionStatusCodeMapper + { + + static const int INITIATION_IN_PROCESS_HASH = HashingUtils::HashString("INITIATION_IN_PROCESS"); + static const int QUERY_QUEUED_HASH = HashingUtils::HashString("QUERY_QUEUED"); + static const int QUERY_IN_PROCESS_HASH = HashingUtils::HashString("QUERY_IN_PROCESS"); + static const int QUERY_FAILURE_HASH = HashingUtils::HashString("QUERY_FAILURE"); + static const int DELIVERY_IN_PROCESS_HASH = HashingUtils::HashString("DELIVERY_IN_PROCESS"); + static const int DELIVERY_SUCCESS_HASH = HashingUtils::HashString("DELIVERY_SUCCESS"); + static const int DELIVERY_FAILURE_HASH = HashingUtils::HashString("DELIVERY_FAILURE"); + + + ExecutionStatusCode GetExecutionStatusCodeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == INITIATION_IN_PROCESS_HASH) + { + return ExecutionStatusCode::INITIATION_IN_PROCESS; + } + else if (hashCode == QUERY_QUEUED_HASH) + { + return ExecutionStatusCode::QUERY_QUEUED; + } + else if (hashCode == QUERY_IN_PROCESS_HASH) + { + return ExecutionStatusCode::QUERY_IN_PROCESS; + } + else if (hashCode == QUERY_FAILURE_HASH) + { + return ExecutionStatusCode::QUERY_FAILURE; + } + else if (hashCode == DELIVERY_IN_PROCESS_HASH) + { + return ExecutionStatusCode::DELIVERY_IN_PROCESS; + } + else if (hashCode == DELIVERY_SUCCESS_HASH) + { + return ExecutionStatusCode::DELIVERY_SUCCESS; + } + else if (hashCode == DELIVERY_FAILURE_HASH) + { + return ExecutionStatusCode::DELIVERY_FAILURE; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ExecutionStatusCode::NOT_SET; + } + + Aws::String GetNameForExecutionStatusCode(ExecutionStatusCode enumValue) + { + switch(enumValue) + { + case ExecutionStatusCode::NOT_SET: + return {}; + case ExecutionStatusCode::INITIATION_IN_PROCESS: + return "INITIATION_IN_PROCESS"; + case ExecutionStatusCode::QUERY_QUEUED: + return "QUERY_QUEUED"; + case ExecutionStatusCode::QUERY_IN_PROCESS: + return "QUERY_IN_PROCESS"; + case ExecutionStatusCode::QUERY_FAILURE: + return "QUERY_FAILURE"; + case ExecutionStatusCode::DELIVERY_IN_PROCESS: + return "DELIVERY_IN_PROCESS"; + case ExecutionStatusCode::DELIVERY_SUCCESS: + return "DELIVERY_SUCCESS"; + case ExecutionStatusCode::DELIVERY_FAILURE: + return "DELIVERY_FAILURE"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ExecutionStatusCodeMapper + } // namespace Model + } // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/ExecutionStatusReason.cpp b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/ExecutionStatusReason.cpp new file mode 100644 index 00000000000..701282dd921 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/ExecutionStatusReason.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 BCMDataExports + { + namespace Model + { + namespace ExecutionStatusReasonMapper + { + + static const int INSUFFICIENT_PERMISSION_HASH = HashingUtils::HashString("INSUFFICIENT_PERMISSION"); + static const int BILL_OWNER_CHANGED_HASH = HashingUtils::HashString("BILL_OWNER_CHANGED"); + static const int INTERNAL_FAILURE_HASH = HashingUtils::HashString("INTERNAL_FAILURE"); + + + ExecutionStatusReason GetExecutionStatusReasonForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == INSUFFICIENT_PERMISSION_HASH) + { + return ExecutionStatusReason::INSUFFICIENT_PERMISSION; + } + else if (hashCode == BILL_OWNER_CHANGED_HASH) + { + return ExecutionStatusReason::BILL_OWNER_CHANGED; + } + else if (hashCode == INTERNAL_FAILURE_HASH) + { + return ExecutionStatusReason::INTERNAL_FAILURE; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ExecutionStatusReason::NOT_SET; + } + + Aws::String GetNameForExecutionStatusReason(ExecutionStatusReason enumValue) + { + switch(enumValue) + { + case ExecutionStatusReason::NOT_SET: + return {}; + case ExecutionStatusReason::INSUFFICIENT_PERMISSION: + return "INSUFFICIENT_PERMISSION"; + case ExecutionStatusReason::BILL_OWNER_CHANGED: + return "BILL_OWNER_CHANGED"; + case ExecutionStatusReason::INTERNAL_FAILURE: + return "INTERNAL_FAILURE"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ExecutionStatusReasonMapper + } // namespace Model + } // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/Export.cpp b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/Export.cpp new file mode 100644 index 00000000000..3bfd72d43a2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/Export.cpp @@ -0,0 +1,134 @@ +/** + * 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 BCMDataExports +{ +namespace Model +{ + +Export::Export() : + m_dataQueryHasBeenSet(false), + m_descriptionHasBeenSet(false), + m_destinationConfigurationsHasBeenSet(false), + m_exportArnHasBeenSet(false), + m_nameHasBeenSet(false), + m_refreshCadenceHasBeenSet(false) +{ +} + +Export::Export(JsonView jsonValue) : + m_dataQueryHasBeenSet(false), + m_descriptionHasBeenSet(false), + m_destinationConfigurationsHasBeenSet(false), + m_exportArnHasBeenSet(false), + m_nameHasBeenSet(false), + m_refreshCadenceHasBeenSet(false) +{ + *this = jsonValue; +} + +Export& Export::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("DataQuery")) + { + m_dataQuery = jsonValue.GetObject("DataQuery"); + + m_dataQueryHasBeenSet = true; + } + + if(jsonValue.ValueExists("Description")) + { + m_description = jsonValue.GetString("Description"); + + m_descriptionHasBeenSet = true; + } + + if(jsonValue.ValueExists("DestinationConfigurations")) + { + m_destinationConfigurations = jsonValue.GetObject("DestinationConfigurations"); + + m_destinationConfigurationsHasBeenSet = true; + } + + if(jsonValue.ValueExists("ExportArn")) + { + m_exportArn = jsonValue.GetString("ExportArn"); + + m_exportArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("Name")) + { + m_name = jsonValue.GetString("Name"); + + m_nameHasBeenSet = true; + } + + if(jsonValue.ValueExists("RefreshCadence")) + { + m_refreshCadence = jsonValue.GetObject("RefreshCadence"); + + m_refreshCadenceHasBeenSet = true; + } + + return *this; +} + +JsonValue Export::Jsonize() const +{ + JsonValue payload; + + if(m_dataQueryHasBeenSet) + { + payload.WithObject("DataQuery", m_dataQuery.Jsonize()); + + } + + if(m_descriptionHasBeenSet) + { + payload.WithString("Description", m_description); + + } + + if(m_destinationConfigurationsHasBeenSet) + { + payload.WithObject("DestinationConfigurations", m_destinationConfigurations.Jsonize()); + + } + + if(m_exportArnHasBeenSet) + { + payload.WithString("ExportArn", m_exportArn); + + } + + if(m_nameHasBeenSet) + { + payload.WithString("Name", m_name); + + } + + if(m_refreshCadenceHasBeenSet) + { + payload.WithObject("RefreshCadence", m_refreshCadence.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/ExportReference.cpp b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/ExportReference.cpp new file mode 100644 index 00000000000..eecd7be0d4d --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/ExportReference.cpp @@ -0,0 +1,89 @@ +/** + * 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 BCMDataExports +{ +namespace Model +{ + +ExportReference::ExportReference() : + m_exportArnHasBeenSet(false), + m_exportNameHasBeenSet(false), + m_exportStatusHasBeenSet(false) +{ +} + +ExportReference::ExportReference(JsonView jsonValue) : + m_exportArnHasBeenSet(false), + m_exportNameHasBeenSet(false), + m_exportStatusHasBeenSet(false) +{ + *this = jsonValue; +} + +ExportReference& ExportReference::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("ExportArn")) + { + m_exportArn = jsonValue.GetString("ExportArn"); + + m_exportArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("ExportName")) + { + m_exportName = jsonValue.GetString("ExportName"); + + m_exportNameHasBeenSet = true; + } + + if(jsonValue.ValueExists("ExportStatus")) + { + m_exportStatus = jsonValue.GetObject("ExportStatus"); + + m_exportStatusHasBeenSet = true; + } + + return *this; +} + +JsonValue ExportReference::Jsonize() const +{ + JsonValue payload; + + if(m_exportArnHasBeenSet) + { + payload.WithString("ExportArn", m_exportArn); + + } + + if(m_exportNameHasBeenSet) + { + payload.WithString("ExportName", m_exportName); + + } + + if(m_exportStatusHasBeenSet) + { + payload.WithObject("ExportStatus", m_exportStatus.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/ExportStatus.cpp b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/ExportStatus.cpp new file mode 100644 index 00000000000..77cca7c00e2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/ExportStatus.cpp @@ -0,0 +1,118 @@ +/** + * 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 BCMDataExports +{ +namespace Model +{ + +ExportStatus::ExportStatus() : + m_createdAtHasBeenSet(false), + m_lastRefreshedAtHasBeenSet(false), + m_lastUpdatedAtHasBeenSet(false), + m_statusCode(ExportStatusCode::NOT_SET), + m_statusCodeHasBeenSet(false), + m_statusReason(ExecutionStatusReason::NOT_SET), + m_statusReasonHasBeenSet(false) +{ +} + +ExportStatus::ExportStatus(JsonView jsonValue) : + m_createdAtHasBeenSet(false), + m_lastRefreshedAtHasBeenSet(false), + m_lastUpdatedAtHasBeenSet(false), + m_statusCode(ExportStatusCode::NOT_SET), + m_statusCodeHasBeenSet(false), + m_statusReason(ExecutionStatusReason::NOT_SET), + m_statusReasonHasBeenSet(false) +{ + *this = jsonValue; +} + +ExportStatus& ExportStatus::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("CreatedAt")) + { + m_createdAt = jsonValue.GetString("CreatedAt"); + + m_createdAtHasBeenSet = true; + } + + if(jsonValue.ValueExists("LastRefreshedAt")) + { + m_lastRefreshedAt = jsonValue.GetString("LastRefreshedAt"); + + m_lastRefreshedAtHasBeenSet = true; + } + + if(jsonValue.ValueExists("LastUpdatedAt")) + { + m_lastUpdatedAt = jsonValue.GetString("LastUpdatedAt"); + + m_lastUpdatedAtHasBeenSet = true; + } + + if(jsonValue.ValueExists("StatusCode")) + { + m_statusCode = ExportStatusCodeMapper::GetExportStatusCodeForName(jsonValue.GetString("StatusCode")); + + m_statusCodeHasBeenSet = true; + } + + if(jsonValue.ValueExists("StatusReason")) + { + m_statusReason = ExecutionStatusReasonMapper::GetExecutionStatusReasonForName(jsonValue.GetString("StatusReason")); + + m_statusReasonHasBeenSet = true; + } + + return *this; +} + +JsonValue ExportStatus::Jsonize() const +{ + JsonValue payload; + + if(m_createdAtHasBeenSet) + { + payload.WithString("CreatedAt", m_createdAt.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + if(m_lastRefreshedAtHasBeenSet) + { + payload.WithString("LastRefreshedAt", m_lastRefreshedAt.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + if(m_lastUpdatedAtHasBeenSet) + { + payload.WithString("LastUpdatedAt", m_lastUpdatedAt.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + if(m_statusCodeHasBeenSet) + { + payload.WithString("StatusCode", ExportStatusCodeMapper::GetNameForExportStatusCode(m_statusCode)); + } + + if(m_statusReasonHasBeenSet) + { + payload.WithString("StatusReason", ExecutionStatusReasonMapper::GetNameForExecutionStatusReason(m_statusReason)); + } + + return payload; +} + +} // namespace Model +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/ExportStatusCode.cpp b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/ExportStatusCode.cpp new file mode 100644 index 00000000000..0422bf27ebc --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/ExportStatusCode.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 BCMDataExports + { + namespace Model + { + namespace ExportStatusCodeMapper + { + + static const int HEALTHY_HASH = HashingUtils::HashString("HEALTHY"); + static const int UNHEALTHY_HASH = HashingUtils::HashString("UNHEALTHY"); + + + ExportStatusCode GetExportStatusCodeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == HEALTHY_HASH) + { + return ExportStatusCode::HEALTHY; + } + else if (hashCode == UNHEALTHY_HASH) + { + return ExportStatusCode::UNHEALTHY; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ExportStatusCode::NOT_SET; + } + + Aws::String GetNameForExportStatusCode(ExportStatusCode enumValue) + { + switch(enumValue) + { + case ExportStatusCode::NOT_SET: + return {}; + case ExportStatusCode::HEALTHY: + return "HEALTHY"; + case ExportStatusCode::UNHEALTHY: + return "UNHEALTHY"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ExportStatusCodeMapper + } // namespace Model + } // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/FormatOption.cpp b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/FormatOption.cpp new file mode 100644 index 00000000000..d131a15a487 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/FormatOption.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 BCMDataExports + { + namespace Model + { + namespace FormatOptionMapper + { + + static const int TEXT_OR_CSV_HASH = HashingUtils::HashString("TEXT_OR_CSV"); + static const int PARQUET_HASH = HashingUtils::HashString("PARQUET"); + + + FormatOption GetFormatOptionForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == TEXT_OR_CSV_HASH) + { + return FormatOption::TEXT_OR_CSV; + } + else if (hashCode == PARQUET_HASH) + { + return FormatOption::PARQUET; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return FormatOption::NOT_SET; + } + + Aws::String GetNameForFormatOption(FormatOption enumValue) + { + switch(enumValue) + { + case FormatOption::NOT_SET: + return {}; + case FormatOption::TEXT_OR_CSV: + return "TEXT_OR_CSV"; + case FormatOption::PARQUET: + return "PARQUET"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace FormatOptionMapper + } // namespace Model + } // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/FrequencyOption.cpp b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/FrequencyOption.cpp new file mode 100644 index 00000000000..6aa5cf3aee1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/FrequencyOption.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 BCMDataExports + { + namespace Model + { + namespace FrequencyOptionMapper + { + + static const int SYNCHRONOUS_HASH = HashingUtils::HashString("SYNCHRONOUS"); + + + FrequencyOption GetFrequencyOptionForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == SYNCHRONOUS_HASH) + { + return FrequencyOption::SYNCHRONOUS; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return FrequencyOption::NOT_SET; + } + + Aws::String GetNameForFrequencyOption(FrequencyOption enumValue) + { + switch(enumValue) + { + case FrequencyOption::NOT_SET: + return {}; + case FrequencyOption::SYNCHRONOUS: + return "SYNCHRONOUS"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace FrequencyOptionMapper + } // namespace Model + } // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/GetExecutionRequest.cpp b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/GetExecutionRequest.cpp new file mode 100644 index 00000000000..68c5af35641 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/GetExecutionRequest.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::BCMDataExports::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +GetExecutionRequest::GetExecutionRequest() : + m_executionIdHasBeenSet(false), + m_exportArnHasBeenSet(false) +{ +} + +Aws::String GetExecutionRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_executionIdHasBeenSet) + { + payload.WithString("ExecutionId", m_executionId); + + } + + if(m_exportArnHasBeenSet) + { + payload.WithString("ExportArn", m_exportArn); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection GetExecutionRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "AWSBillingAndCostManagementDataExports.GetExecution")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/GetExecutionResult.cpp b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/GetExecutionResult.cpp new file mode 100644 index 00000000000..b74a5895a11 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/GetExecutionResult.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::BCMDataExports::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetExecutionResult::GetExecutionResult() +{ +} + +GetExecutionResult::GetExecutionResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetExecutionResult& GetExecutionResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("ExecutionId")) + { + m_executionId = jsonValue.GetString("ExecutionId"); + + } + + if(jsonValue.ValueExists("ExecutionStatus")) + { + m_executionStatus = jsonValue.GetObject("ExecutionStatus"); + + } + + if(jsonValue.ValueExists("Export")) + { + m_export = jsonValue.GetObject("Export"); + + } + + + 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-bcm-data-exports/source/model/GetExportRequest.cpp b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/GetExportRequest.cpp new file mode 100644 index 00000000000..23e24a6dc0d --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/GetExportRequest.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::BCMDataExports::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +GetExportRequest::GetExportRequest() : + m_exportArnHasBeenSet(false) +{ +} + +Aws::String GetExportRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_exportArnHasBeenSet) + { + payload.WithString("ExportArn", m_exportArn); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection GetExportRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "AWSBillingAndCostManagementDataExports.GetExport")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/GetExportResult.cpp b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/GetExportResult.cpp new file mode 100644 index 00000000000..fccac6cf81a --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/GetExportResult.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::BCMDataExports::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetExportResult::GetExportResult() +{ +} + +GetExportResult::GetExportResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetExportResult& GetExportResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("Export")) + { + m_export = jsonValue.GetObject("Export"); + + } + + if(jsonValue.ValueExists("ExportStatus")) + { + m_exportStatus = jsonValue.GetObject("ExportStatus"); + + } + + + 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-bcm-data-exports/source/model/GetTableRequest.cpp b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/GetTableRequest.cpp new file mode 100644 index 00000000000..2fcf05e344c --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/GetTableRequest.cpp @@ -0,0 +1,55 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::BCMDataExports::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +GetTableRequest::GetTableRequest() : + m_tableNameHasBeenSet(false), + m_tablePropertiesHasBeenSet(false) +{ +} + +Aws::String GetTableRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_tableNameHasBeenSet) + { + payload.WithString("TableName", m_tableName); + + } + + if(m_tablePropertiesHasBeenSet) + { + JsonValue tablePropertiesJsonMap; + for(auto& tablePropertiesItem : m_tableProperties) + { + tablePropertiesJsonMap.WithString(tablePropertiesItem.first, tablePropertiesItem.second); + } + payload.WithObject("TableProperties", std::move(tablePropertiesJsonMap)); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection GetTableRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "AWSBillingAndCostManagementDataExports.GetTable")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/GetTableResult.cpp b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/GetTableResult.cpp new file mode 100644 index 00000000000..1e74445e891 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/GetTableResult.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::BCMDataExports::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetTableResult::GetTableResult() +{ +} + +GetTableResult::GetTableResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetTableResult& GetTableResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("Description")) + { + m_description = jsonValue.GetString("Description"); + + } + + if(jsonValue.ValueExists("Schema")) + { + Aws::Utils::Array schemaJsonList = jsonValue.GetArray("Schema"); + for(unsigned schemaIndex = 0; schemaIndex < schemaJsonList.GetLength(); ++schemaIndex) + { + m_schema.push_back(schemaJsonList[schemaIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("TableName")) + { + m_tableName = jsonValue.GetString("TableName"); + + } + + if(jsonValue.ValueExists("TableProperties")) + { + Aws::Map tablePropertiesJsonMap = jsonValue.GetObject("TableProperties").GetAllObjects(); + for(auto& tablePropertiesItem : tablePropertiesJsonMap) + { + m_tableProperties[tablePropertiesItem.first] = tablePropertiesItem.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/src/aws-cpp-sdk-bcm-data-exports/source/model/ListExecutionsRequest.cpp b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/ListExecutionsRequest.cpp new file mode 100644 index 00000000000..fae50ac5aba --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/ListExecutionsRequest.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::BCMDataExports::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +ListExecutionsRequest::ListExecutionsRequest() : + m_exportArnHasBeenSet(false), + m_maxResults(0), + m_maxResultsHasBeenSet(false), + m_nextTokenHasBeenSet(false) +{ +} + +Aws::String ListExecutionsRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_exportArnHasBeenSet) + { + payload.WithString("ExportArn", m_exportArn); + + } + + if(m_maxResultsHasBeenSet) + { + payload.WithInteger("MaxResults", m_maxResults); + + } + + if(m_nextTokenHasBeenSet) + { + payload.WithString("NextToken", m_nextToken); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection ListExecutionsRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "AWSBillingAndCostManagementDataExports.ListExecutions")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/ListExecutionsResult.cpp b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/ListExecutionsResult.cpp new file mode 100644 index 00000000000..03946613082 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/ListExecutionsResult.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::BCMDataExports::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListExecutionsResult::ListExecutionsResult() +{ +} + +ListExecutionsResult::ListExecutionsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListExecutionsResult& ListExecutionsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("Executions")) + { + Aws::Utils::Array executionsJsonList = jsonValue.GetArray("Executions"); + for(unsigned executionsIndex = 0; executionsIndex < executionsJsonList.GetLength(); ++executionsIndex) + { + m_executions.push_back(executionsJsonList[executionsIndex].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-bcm-data-exports/source/model/ListExportsRequest.cpp b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/ListExportsRequest.cpp new file mode 100644 index 00000000000..9be160a70a3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/ListExportsRequest.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::BCMDataExports::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +ListExportsRequest::ListExportsRequest() : + m_maxResults(0), + m_maxResultsHasBeenSet(false), + m_nextTokenHasBeenSet(false) +{ +} + +Aws::String ListExportsRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_maxResultsHasBeenSet) + { + payload.WithInteger("MaxResults", m_maxResults); + + } + + if(m_nextTokenHasBeenSet) + { + payload.WithString("NextToken", m_nextToken); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection ListExportsRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "AWSBillingAndCostManagementDataExports.ListExports")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/ListExportsResult.cpp b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/ListExportsResult.cpp new file mode 100644 index 00000000000..ee01aad4b5c --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/ListExportsResult.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::BCMDataExports::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListExportsResult::ListExportsResult() +{ +} + +ListExportsResult::ListExportsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListExportsResult& ListExportsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("Exports")) + { + Aws::Utils::Array exportsJsonList = jsonValue.GetArray("Exports"); + for(unsigned exportsIndex = 0; exportsIndex < exportsJsonList.GetLength(); ++exportsIndex) + { + m_exports.push_back(exportsJsonList[exportsIndex].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-bcm-data-exports/source/model/ListTablesRequest.cpp b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/ListTablesRequest.cpp new file mode 100644 index 00000000000..57a67fae7ac --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/ListTablesRequest.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::BCMDataExports::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +ListTablesRequest::ListTablesRequest() : + m_maxResults(0), + m_maxResultsHasBeenSet(false), + m_nextTokenHasBeenSet(false) +{ +} + +Aws::String ListTablesRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_maxResultsHasBeenSet) + { + payload.WithInteger("MaxResults", m_maxResults); + + } + + if(m_nextTokenHasBeenSet) + { + payload.WithString("NextToken", m_nextToken); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection ListTablesRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "AWSBillingAndCostManagementDataExports.ListTables")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/ListTablesResult.cpp b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/ListTablesResult.cpp new file mode 100644 index 00000000000..7749a1a761c --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/ListTablesResult.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::BCMDataExports::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListTablesResult::ListTablesResult() +{ +} + +ListTablesResult::ListTablesResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListTablesResult& ListTablesResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("NextToken")) + { + m_nextToken = jsonValue.GetString("NextToken"); + + } + + if(jsonValue.ValueExists("Tables")) + { + Aws::Utils::Array tablesJsonList = jsonValue.GetArray("Tables"); + for(unsigned tablesIndex = 0; tablesIndex < tablesJsonList.GetLength(); ++tablesIndex) + { + m_tables.push_back(tablesJsonList[tablesIndex].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-bcm-data-exports/source/model/ListTagsForResourceRequest.cpp b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/ListTagsForResourceRequest.cpp new file mode 100644 index 00000000000..1213b36cd76 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/ListTagsForResourceRequest.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::BCMDataExports::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +ListTagsForResourceRequest::ListTagsForResourceRequest() : + m_maxResults(0), + m_maxResultsHasBeenSet(false), + m_nextTokenHasBeenSet(false), + m_resourceArnHasBeenSet(false) +{ +} + +Aws::String ListTagsForResourceRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_maxResultsHasBeenSet) + { + payload.WithInteger("MaxResults", m_maxResults); + + } + + if(m_nextTokenHasBeenSet) + { + payload.WithString("NextToken", m_nextToken); + + } + + if(m_resourceArnHasBeenSet) + { + payload.WithString("ResourceArn", m_resourceArn); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection ListTagsForResourceRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "AWSBillingAndCostManagementDataExports.ListTagsForResource")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/ListTagsForResourceResult.cpp b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/ListTagsForResourceResult.cpp new file mode 100644 index 00000000000..ae1c93f9c5b --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/ListTagsForResourceResult.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::BCMDataExports::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListTagsForResourceResult::ListTagsForResourceResult() +{ +} + +ListTagsForResourceResult::ListTagsForResourceResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListTagsForResourceResult& ListTagsForResourceResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("NextToken")) + { + m_nextToken = jsonValue.GetString("NextToken"); + + } + + if(jsonValue.ValueExists("ResourceTags")) + { + Aws::Utils::Array resourceTagsJsonList = jsonValue.GetArray("ResourceTags"); + for(unsigned resourceTagsIndex = 0; resourceTagsIndex < resourceTagsJsonList.GetLength(); ++resourceTagsIndex) + { + m_resourceTags.push_back(resourceTagsJsonList[resourceTagsIndex].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-bcm-data-exports/source/model/OverwriteOption.cpp b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/OverwriteOption.cpp new file mode 100644 index 00000000000..908da9da1e1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/OverwriteOption.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 BCMDataExports + { + namespace Model + { + namespace OverwriteOptionMapper + { + + static const int CREATE_NEW_REPORT_HASH = HashingUtils::HashString("CREATE_NEW_REPORT"); + static const int OVERWRITE_REPORT_HASH = HashingUtils::HashString("OVERWRITE_REPORT"); + + + OverwriteOption GetOverwriteOptionForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == CREATE_NEW_REPORT_HASH) + { + return OverwriteOption::CREATE_NEW_REPORT; + } + else if (hashCode == OVERWRITE_REPORT_HASH) + { + return OverwriteOption::OVERWRITE_REPORT; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return OverwriteOption::NOT_SET; + } + + Aws::String GetNameForOverwriteOption(OverwriteOption enumValue) + { + switch(enumValue) + { + case OverwriteOption::NOT_SET: + return {}; + case OverwriteOption::CREATE_NEW_REPORT: + return "CREATE_NEW_REPORT"; + case OverwriteOption::OVERWRITE_REPORT: + return "OVERWRITE_REPORT"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace OverwriteOptionMapper + } // namespace Model + } // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/RefreshCadence.cpp b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/RefreshCadence.cpp new file mode 100644 index 00000000000..92509248cad --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/RefreshCadence.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 BCMDataExports +{ +namespace Model +{ + +RefreshCadence::RefreshCadence() : + m_frequency(FrequencyOption::NOT_SET), + m_frequencyHasBeenSet(false) +{ +} + +RefreshCadence::RefreshCadence(JsonView jsonValue) : + m_frequency(FrequencyOption::NOT_SET), + m_frequencyHasBeenSet(false) +{ + *this = jsonValue; +} + +RefreshCadence& RefreshCadence::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Frequency")) + { + m_frequency = FrequencyOptionMapper::GetFrequencyOptionForName(jsonValue.GetString("Frequency")); + + m_frequencyHasBeenSet = true; + } + + return *this; +} + +JsonValue RefreshCadence::Jsonize() const +{ + JsonValue payload; + + if(m_frequencyHasBeenSet) + { + payload.WithString("Frequency", FrequencyOptionMapper::GetNameForFrequencyOption(m_frequency)); + } + + return payload; +} + +} // namespace Model +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/ResourceNotFoundException.cpp b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/ResourceNotFoundException.cpp new file mode 100644 index 00000000000..72233925da5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/ResourceNotFoundException.cpp @@ -0,0 +1,89 @@ +/** + * 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 BCMDataExports +{ +namespace Model +{ + +ResourceNotFoundException::ResourceNotFoundException() : + m_messageHasBeenSet(false), + m_resourceIdHasBeenSet(false), + m_resourceTypeHasBeenSet(false) +{ +} + +ResourceNotFoundException::ResourceNotFoundException(JsonView jsonValue) : + m_messageHasBeenSet(false), + m_resourceIdHasBeenSet(false), + m_resourceTypeHasBeenSet(false) +{ + *this = jsonValue; +} + +ResourceNotFoundException& ResourceNotFoundException::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Message")) + { + m_message = jsonValue.GetString("Message"); + + m_messageHasBeenSet = true; + } + + if(jsonValue.ValueExists("ResourceId")) + { + m_resourceId = jsonValue.GetString("ResourceId"); + + m_resourceIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("ResourceType")) + { + m_resourceType = jsonValue.GetString("ResourceType"); + + m_resourceTypeHasBeenSet = true; + } + + return *this; +} + +JsonValue ResourceNotFoundException::Jsonize() const +{ + JsonValue payload; + + if(m_messageHasBeenSet) + { + payload.WithString("Message", m_message); + + } + + if(m_resourceIdHasBeenSet) + { + payload.WithString("ResourceId", m_resourceId); + + } + + if(m_resourceTypeHasBeenSet) + { + payload.WithString("ResourceType", m_resourceType); + + } + + return payload; +} + +} // namespace Model +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/ResourceTag.cpp b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/ResourceTag.cpp new file mode 100644 index 00000000000..05d988265a6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/ResourceTag.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 BCMDataExports +{ +namespace Model +{ + +ResourceTag::ResourceTag() : + m_keyHasBeenSet(false), + m_valueHasBeenSet(false) +{ +} + +ResourceTag::ResourceTag(JsonView jsonValue) : + m_keyHasBeenSet(false), + m_valueHasBeenSet(false) +{ + *this = jsonValue; +} + +ResourceTag& ResourceTag::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Key")) + { + m_key = jsonValue.GetString("Key"); + + m_keyHasBeenSet = true; + } + + if(jsonValue.ValueExists("Value")) + { + m_value = jsonValue.GetString("Value"); + + m_valueHasBeenSet = true; + } + + return *this; +} + +JsonValue ResourceTag::Jsonize() const +{ + JsonValue payload; + + if(m_keyHasBeenSet) + { + payload.WithString("Key", m_key); + + } + + if(m_valueHasBeenSet) + { + payload.WithString("Value", m_value); + + } + + return payload; +} + +} // namespace Model +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/S3Destination.cpp b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/S3Destination.cpp new file mode 100644 index 00000000000..5f858572b09 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/S3Destination.cpp @@ -0,0 +1,104 @@ +/** + * 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 BCMDataExports +{ +namespace Model +{ + +S3Destination::S3Destination() : + m_s3BucketHasBeenSet(false), + m_s3OutputConfigurationsHasBeenSet(false), + m_s3PrefixHasBeenSet(false), + m_s3RegionHasBeenSet(false) +{ +} + +S3Destination::S3Destination(JsonView jsonValue) : + m_s3BucketHasBeenSet(false), + m_s3OutputConfigurationsHasBeenSet(false), + m_s3PrefixHasBeenSet(false), + m_s3RegionHasBeenSet(false) +{ + *this = jsonValue; +} + +S3Destination& S3Destination::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("S3Bucket")) + { + m_s3Bucket = jsonValue.GetString("S3Bucket"); + + m_s3BucketHasBeenSet = true; + } + + if(jsonValue.ValueExists("S3OutputConfigurations")) + { + m_s3OutputConfigurations = jsonValue.GetObject("S3OutputConfigurations"); + + m_s3OutputConfigurationsHasBeenSet = true; + } + + if(jsonValue.ValueExists("S3Prefix")) + { + m_s3Prefix = jsonValue.GetString("S3Prefix"); + + m_s3PrefixHasBeenSet = true; + } + + if(jsonValue.ValueExists("S3Region")) + { + m_s3Region = jsonValue.GetString("S3Region"); + + m_s3RegionHasBeenSet = true; + } + + return *this; +} + +JsonValue S3Destination::Jsonize() const +{ + JsonValue payload; + + if(m_s3BucketHasBeenSet) + { + payload.WithString("S3Bucket", m_s3Bucket); + + } + + if(m_s3OutputConfigurationsHasBeenSet) + { + payload.WithObject("S3OutputConfigurations", m_s3OutputConfigurations.Jsonize()); + + } + + if(m_s3PrefixHasBeenSet) + { + payload.WithString("S3Prefix", m_s3Prefix); + + } + + if(m_s3RegionHasBeenSet) + { + payload.WithString("S3Region", m_s3Region); + + } + + return payload; +} + +} // namespace Model +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/S3OutputConfigurations.cpp b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/S3OutputConfigurations.cpp new file mode 100644 index 00000000000..d8a5252425c --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/S3OutputConfigurations.cpp @@ -0,0 +1,108 @@ +/** + * 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 BCMDataExports +{ +namespace Model +{ + +S3OutputConfigurations::S3OutputConfigurations() : + m_compression(CompressionOption::NOT_SET), + m_compressionHasBeenSet(false), + m_format(FormatOption::NOT_SET), + m_formatHasBeenSet(false), + m_outputType(S3OutputType::NOT_SET), + m_outputTypeHasBeenSet(false), + m_overwrite(OverwriteOption::NOT_SET), + m_overwriteHasBeenSet(false) +{ +} + +S3OutputConfigurations::S3OutputConfigurations(JsonView jsonValue) : + m_compression(CompressionOption::NOT_SET), + m_compressionHasBeenSet(false), + m_format(FormatOption::NOT_SET), + m_formatHasBeenSet(false), + m_outputType(S3OutputType::NOT_SET), + m_outputTypeHasBeenSet(false), + m_overwrite(OverwriteOption::NOT_SET), + m_overwriteHasBeenSet(false) +{ + *this = jsonValue; +} + +S3OutputConfigurations& S3OutputConfigurations::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Compression")) + { + m_compression = CompressionOptionMapper::GetCompressionOptionForName(jsonValue.GetString("Compression")); + + m_compressionHasBeenSet = true; + } + + if(jsonValue.ValueExists("Format")) + { + m_format = FormatOptionMapper::GetFormatOptionForName(jsonValue.GetString("Format")); + + m_formatHasBeenSet = true; + } + + if(jsonValue.ValueExists("OutputType")) + { + m_outputType = S3OutputTypeMapper::GetS3OutputTypeForName(jsonValue.GetString("OutputType")); + + m_outputTypeHasBeenSet = true; + } + + if(jsonValue.ValueExists("Overwrite")) + { + m_overwrite = OverwriteOptionMapper::GetOverwriteOptionForName(jsonValue.GetString("Overwrite")); + + m_overwriteHasBeenSet = true; + } + + return *this; +} + +JsonValue S3OutputConfigurations::Jsonize() const +{ + JsonValue payload; + + if(m_compressionHasBeenSet) + { + payload.WithString("Compression", CompressionOptionMapper::GetNameForCompressionOption(m_compression)); + } + + if(m_formatHasBeenSet) + { + payload.WithString("Format", FormatOptionMapper::GetNameForFormatOption(m_format)); + } + + if(m_outputTypeHasBeenSet) + { + payload.WithString("OutputType", S3OutputTypeMapper::GetNameForS3OutputType(m_outputType)); + } + + if(m_overwriteHasBeenSet) + { + payload.WithString("Overwrite", OverwriteOptionMapper::GetNameForOverwriteOption(m_overwrite)); + } + + return payload; +} + +} // namespace Model +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/S3OutputType.cpp b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/S3OutputType.cpp new file mode 100644 index 00000000000..ef7537565c8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/S3OutputType.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 BCMDataExports + { + namespace Model + { + namespace S3OutputTypeMapper + { + + static const int CUSTOM_HASH = HashingUtils::HashString("CUSTOM"); + + + S3OutputType GetS3OutputTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == CUSTOM_HASH) + { + return S3OutputType::CUSTOM; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return S3OutputType::NOT_SET; + } + + Aws::String GetNameForS3OutputType(S3OutputType enumValue) + { + switch(enumValue) + { + case S3OutputType::NOT_SET: + return {}; + case S3OutputType::CUSTOM: + return "CUSTOM"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace S3OutputTypeMapper + } // namespace Model + } // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/ServiceQuotaExceededException.cpp b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/ServiceQuotaExceededException.cpp new file mode 100644 index 00000000000..4e76d6c5fad --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/ServiceQuotaExceededException.cpp @@ -0,0 +1,119 @@ +/** + * 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 BCMDataExports +{ +namespace Model +{ + +ServiceQuotaExceededException::ServiceQuotaExceededException() : + m_messageHasBeenSet(false), + m_quotaCodeHasBeenSet(false), + m_resourceIdHasBeenSet(false), + m_resourceTypeHasBeenSet(false), + m_serviceCodeHasBeenSet(false) +{ +} + +ServiceQuotaExceededException::ServiceQuotaExceededException(JsonView jsonValue) : + m_messageHasBeenSet(false), + m_quotaCodeHasBeenSet(false), + m_resourceIdHasBeenSet(false), + m_resourceTypeHasBeenSet(false), + m_serviceCodeHasBeenSet(false) +{ + *this = jsonValue; +} + +ServiceQuotaExceededException& ServiceQuotaExceededException::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Message")) + { + m_message = jsonValue.GetString("Message"); + + m_messageHasBeenSet = true; + } + + if(jsonValue.ValueExists("QuotaCode")) + { + m_quotaCode = jsonValue.GetString("QuotaCode"); + + m_quotaCodeHasBeenSet = true; + } + + if(jsonValue.ValueExists("ResourceId")) + { + m_resourceId = jsonValue.GetString("ResourceId"); + + m_resourceIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("ResourceType")) + { + m_resourceType = jsonValue.GetString("ResourceType"); + + m_resourceTypeHasBeenSet = true; + } + + if(jsonValue.ValueExists("ServiceCode")) + { + m_serviceCode = jsonValue.GetString("ServiceCode"); + + m_serviceCodeHasBeenSet = true; + } + + return *this; +} + +JsonValue ServiceQuotaExceededException::Jsonize() const +{ + JsonValue payload; + + if(m_messageHasBeenSet) + { + payload.WithString("Message", m_message); + + } + + if(m_quotaCodeHasBeenSet) + { + payload.WithString("QuotaCode", m_quotaCode); + + } + + if(m_resourceIdHasBeenSet) + { + payload.WithString("ResourceId", m_resourceId); + + } + + if(m_resourceTypeHasBeenSet) + { + payload.WithString("ResourceType", m_resourceType); + + } + + if(m_serviceCodeHasBeenSet) + { + payload.WithString("ServiceCode", m_serviceCode); + + } + + return payload; +} + +} // namespace Model +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/Table.cpp b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/Table.cpp new file mode 100644 index 00000000000..bb5a640411d --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/Table.cpp @@ -0,0 +1,97 @@ +/** + * 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 BCMDataExports +{ +namespace Model +{ + +Table::Table() : + m_descriptionHasBeenSet(false), + m_tableNameHasBeenSet(false), + m_tablePropertiesHasBeenSet(false) +{ +} + +Table::Table(JsonView jsonValue) : + m_descriptionHasBeenSet(false), + m_tableNameHasBeenSet(false), + m_tablePropertiesHasBeenSet(false) +{ + *this = jsonValue; +} + +Table& Table::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Description")) + { + m_description = jsonValue.GetString("Description"); + + m_descriptionHasBeenSet = true; + } + + if(jsonValue.ValueExists("TableName")) + { + m_tableName = jsonValue.GetString("TableName"); + + m_tableNameHasBeenSet = true; + } + + if(jsonValue.ValueExists("TableProperties")) + { + Aws::Utils::Array tablePropertiesJsonList = jsonValue.GetArray("TableProperties"); + for(unsigned tablePropertiesIndex = 0; tablePropertiesIndex < tablePropertiesJsonList.GetLength(); ++tablePropertiesIndex) + { + m_tableProperties.push_back(tablePropertiesJsonList[tablePropertiesIndex].AsObject()); + } + m_tablePropertiesHasBeenSet = true; + } + + return *this; +} + +JsonValue Table::Jsonize() const +{ + JsonValue payload; + + if(m_descriptionHasBeenSet) + { + payload.WithString("Description", m_description); + + } + + if(m_tableNameHasBeenSet) + { + payload.WithString("TableName", m_tableName); + + } + + if(m_tablePropertiesHasBeenSet) + { + Aws::Utils::Array tablePropertiesJsonList(m_tableProperties.size()); + for(unsigned tablePropertiesIndex = 0; tablePropertiesIndex < tablePropertiesJsonList.GetLength(); ++tablePropertiesIndex) + { + tablePropertiesJsonList[tablePropertiesIndex].AsObject(m_tableProperties[tablePropertiesIndex].Jsonize()); + } + payload.WithArray("TableProperties", std::move(tablePropertiesJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/TablePropertyDescription.cpp b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/TablePropertyDescription.cpp new file mode 100644 index 00000000000..d2e95ff8d27 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/TablePropertyDescription.cpp @@ -0,0 +1,112 @@ +/** + * 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 BCMDataExports +{ +namespace Model +{ + +TablePropertyDescription::TablePropertyDescription() : + m_defaultValueHasBeenSet(false), + m_descriptionHasBeenSet(false), + m_nameHasBeenSet(false), + m_validValuesHasBeenSet(false) +{ +} + +TablePropertyDescription::TablePropertyDescription(JsonView jsonValue) : + m_defaultValueHasBeenSet(false), + m_descriptionHasBeenSet(false), + m_nameHasBeenSet(false), + m_validValuesHasBeenSet(false) +{ + *this = jsonValue; +} + +TablePropertyDescription& TablePropertyDescription::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("DefaultValue")) + { + m_defaultValue = jsonValue.GetString("DefaultValue"); + + m_defaultValueHasBeenSet = true; + } + + if(jsonValue.ValueExists("Description")) + { + m_description = jsonValue.GetString("Description"); + + m_descriptionHasBeenSet = true; + } + + if(jsonValue.ValueExists("Name")) + { + m_name = jsonValue.GetString("Name"); + + m_nameHasBeenSet = true; + } + + if(jsonValue.ValueExists("ValidValues")) + { + Aws::Utils::Array validValuesJsonList = jsonValue.GetArray("ValidValues"); + for(unsigned validValuesIndex = 0; validValuesIndex < validValuesJsonList.GetLength(); ++validValuesIndex) + { + m_validValues.push_back(validValuesJsonList[validValuesIndex].AsString()); + } + m_validValuesHasBeenSet = true; + } + + return *this; +} + +JsonValue TablePropertyDescription::Jsonize() const +{ + JsonValue payload; + + if(m_defaultValueHasBeenSet) + { + payload.WithString("DefaultValue", m_defaultValue); + + } + + if(m_descriptionHasBeenSet) + { + payload.WithString("Description", m_description); + + } + + if(m_nameHasBeenSet) + { + payload.WithString("Name", m_name); + + } + + if(m_validValuesHasBeenSet) + { + Aws::Utils::Array validValuesJsonList(m_validValues.size()); + for(unsigned validValuesIndex = 0; validValuesIndex < validValuesJsonList.GetLength(); ++validValuesIndex) + { + validValuesJsonList[validValuesIndex].AsString(m_validValues[validValuesIndex]); + } + payload.WithArray("ValidValues", std::move(validValuesJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/TagResourceRequest.cpp b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/TagResourceRequest.cpp new file mode 100644 index 00000000000..d0f0effaaa1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/TagResourceRequest.cpp @@ -0,0 +1,55 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::BCMDataExports::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +TagResourceRequest::TagResourceRequest() : + m_resourceArnHasBeenSet(false), + m_resourceTagsHasBeenSet(false) +{ +} + +Aws::String TagResourceRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_resourceArnHasBeenSet) + { + payload.WithString("ResourceArn", m_resourceArn); + + } + + if(m_resourceTagsHasBeenSet) + { + Aws::Utils::Array resourceTagsJsonList(m_resourceTags.size()); + for(unsigned resourceTagsIndex = 0; resourceTagsIndex < resourceTagsJsonList.GetLength(); ++resourceTagsIndex) + { + resourceTagsJsonList[resourceTagsIndex].AsObject(m_resourceTags[resourceTagsIndex].Jsonize()); + } + payload.WithArray("ResourceTags", std::move(resourceTagsJsonList)); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection TagResourceRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "AWSBillingAndCostManagementDataExports.TagResource")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/TagResourceResult.cpp b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/TagResourceResult.cpp new file mode 100644 index 00000000000..43d7a4b7ae2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/TagResourceResult.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::BCMDataExports::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +TagResourceResult::TagResourceResult() +{ +} + +TagResourceResult::TagResourceResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +TagResourceResult& TagResourceResult::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-bcm-data-exports/source/model/ThrottlingException.cpp b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/ThrottlingException.cpp new file mode 100644 index 00000000000..b9b9d68a3f9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/ThrottlingException.cpp @@ -0,0 +1,89 @@ +/** + * 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 BCMDataExports +{ +namespace Model +{ + +ThrottlingException::ThrottlingException() : + m_messageHasBeenSet(false), + m_quotaCodeHasBeenSet(false), + m_serviceCodeHasBeenSet(false) +{ +} + +ThrottlingException::ThrottlingException(JsonView jsonValue) : + m_messageHasBeenSet(false), + m_quotaCodeHasBeenSet(false), + m_serviceCodeHasBeenSet(false) +{ + *this = jsonValue; +} + +ThrottlingException& ThrottlingException::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Message")) + { + m_message = jsonValue.GetString("Message"); + + m_messageHasBeenSet = true; + } + + if(jsonValue.ValueExists("QuotaCode")) + { + m_quotaCode = jsonValue.GetString("QuotaCode"); + + m_quotaCodeHasBeenSet = true; + } + + if(jsonValue.ValueExists("ServiceCode")) + { + m_serviceCode = jsonValue.GetString("ServiceCode"); + + m_serviceCodeHasBeenSet = true; + } + + return *this; +} + +JsonValue ThrottlingException::Jsonize() const +{ + JsonValue payload; + + if(m_messageHasBeenSet) + { + payload.WithString("Message", m_message); + + } + + if(m_quotaCodeHasBeenSet) + { + payload.WithString("QuotaCode", m_quotaCode); + + } + + if(m_serviceCodeHasBeenSet) + { + payload.WithString("ServiceCode", m_serviceCode); + + } + + return payload; +} + +} // namespace Model +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/UntagResourceRequest.cpp b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/UntagResourceRequest.cpp new file mode 100644 index 00000000000..89a89de5a9c --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/UntagResourceRequest.cpp @@ -0,0 +1,55 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::BCMDataExports::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +UntagResourceRequest::UntagResourceRequest() : + m_resourceArnHasBeenSet(false), + m_resourceTagKeysHasBeenSet(false) +{ +} + +Aws::String UntagResourceRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_resourceArnHasBeenSet) + { + payload.WithString("ResourceArn", m_resourceArn); + + } + + if(m_resourceTagKeysHasBeenSet) + { + Aws::Utils::Array resourceTagKeysJsonList(m_resourceTagKeys.size()); + for(unsigned resourceTagKeysIndex = 0; resourceTagKeysIndex < resourceTagKeysJsonList.GetLength(); ++resourceTagKeysIndex) + { + resourceTagKeysJsonList[resourceTagKeysIndex].AsString(m_resourceTagKeys[resourceTagKeysIndex]); + } + payload.WithArray("ResourceTagKeys", std::move(resourceTagKeysJsonList)); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection UntagResourceRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "AWSBillingAndCostManagementDataExports.UntagResource")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/UntagResourceResult.cpp b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/UntagResourceResult.cpp new file mode 100644 index 00000000000..54a98588ca7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/UntagResourceResult.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::BCMDataExports::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +UntagResourceResult::UntagResourceResult() +{ +} + +UntagResourceResult::UntagResourceResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +UntagResourceResult& UntagResourceResult::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-bcm-data-exports/source/model/UpdateExportRequest.cpp b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/UpdateExportRequest.cpp new file mode 100644 index 00000000000..8d9878d61da --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/UpdateExportRequest.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::BCMDataExports::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +UpdateExportRequest::UpdateExportRequest() : + m_exportHasBeenSet(false), + m_exportArnHasBeenSet(false) +{ +} + +Aws::String UpdateExportRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_exportHasBeenSet) + { + payload.WithObject("Export", m_export.Jsonize()); + + } + + if(m_exportArnHasBeenSet) + { + payload.WithString("ExportArn", m_exportArn); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection UpdateExportRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "AWSBillingAndCostManagementDataExports.UpdateExport")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/UpdateExportResult.cpp b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/UpdateExportResult.cpp new file mode 100644 index 00000000000..ae6f12ec3fc --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/UpdateExportResult.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::BCMDataExports::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +UpdateExportResult::UpdateExportResult() +{ +} + +UpdateExportResult::UpdateExportResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +UpdateExportResult& UpdateExportResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("ExportArn")) + { + m_exportArn = jsonValue.GetString("ExportArn"); + + } + + + 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-bcm-data-exports/source/model/ValidationException.cpp b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/ValidationException.cpp new file mode 100644 index 00000000000..966bae2cc2c --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/ValidationException.cpp @@ -0,0 +1,98 @@ +/** + * 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 BCMDataExports +{ +namespace Model +{ + +ValidationException::ValidationException() : + m_fieldsHasBeenSet(false), + m_messageHasBeenSet(false), + m_reason(ValidationExceptionReason::NOT_SET), + m_reasonHasBeenSet(false) +{ +} + +ValidationException::ValidationException(JsonView jsonValue) : + m_fieldsHasBeenSet(false), + m_messageHasBeenSet(false), + m_reason(ValidationExceptionReason::NOT_SET), + m_reasonHasBeenSet(false) +{ + *this = jsonValue; +} + +ValidationException& ValidationException::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; + } + + if(jsonValue.ValueExists("Message")) + { + m_message = jsonValue.GetString("Message"); + + m_messageHasBeenSet = true; + } + + if(jsonValue.ValueExists("Reason")) + { + m_reason = ValidationExceptionReasonMapper::GetValidationExceptionReasonForName(jsonValue.GetString("Reason")); + + m_reasonHasBeenSet = true; + } + + return *this; +} + +JsonValue ValidationException::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)); + + } + + if(m_messageHasBeenSet) + { + payload.WithString("Message", m_message); + + } + + if(m_reasonHasBeenSet) + { + payload.WithString("Reason", ValidationExceptionReasonMapper::GetNameForValidationExceptionReason(m_reason)); + } + + return payload; +} + +} // namespace Model +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/ValidationExceptionField.cpp b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/ValidationExceptionField.cpp new file mode 100644 index 00000000000..7c9d21ea5be --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/ValidationExceptionField.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 BCMDataExports +{ +namespace Model +{ + +ValidationExceptionField::ValidationExceptionField() : + m_messageHasBeenSet(false), + m_nameHasBeenSet(false) +{ +} + +ValidationExceptionField::ValidationExceptionField(JsonView jsonValue) : + m_messageHasBeenSet(false), + m_nameHasBeenSet(false) +{ + *this = jsonValue; +} + +ValidationExceptionField& ValidationExceptionField::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Message")) + { + m_message = jsonValue.GetString("Message"); + + m_messageHasBeenSet = true; + } + + if(jsonValue.ValueExists("Name")) + { + m_name = jsonValue.GetString("Name"); + + m_nameHasBeenSet = true; + } + + return *this; +} + +JsonValue ValidationExceptionField::Jsonize() const +{ + JsonValue payload; + + if(m_messageHasBeenSet) + { + payload.WithString("Message", m_message); + + } + + if(m_nameHasBeenSet) + { + payload.WithString("Name", m_name); + + } + + return payload; +} + +} // namespace Model +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/ValidationExceptionReason.cpp b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/ValidationExceptionReason.cpp new file mode 100644 index 00000000000..8fbcbc5ae3e --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/source/model/ValidationExceptionReason.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 BCMDataExports + { + namespace Model + { + namespace ValidationExceptionReasonMapper + { + + static const int unknownOperation_HASH = HashingUtils::HashString("unknownOperation"); + static const int cannotParse_HASH = HashingUtils::HashString("cannotParse"); + static const int fieldValidationFailed_HASH = HashingUtils::HashString("fieldValidationFailed"); + static const int other_HASH = HashingUtils::HashString("other"); + + + ValidationExceptionReason GetValidationExceptionReasonForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == unknownOperation_HASH) + { + return ValidationExceptionReason::unknownOperation; + } + else if (hashCode == cannotParse_HASH) + { + return ValidationExceptionReason::cannotParse; + } + else if (hashCode == fieldValidationFailed_HASH) + { + return ValidationExceptionReason::fieldValidationFailed; + } + else if (hashCode == other_HASH) + { + return ValidationExceptionReason::other; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ValidationExceptionReason::NOT_SET; + } + + Aws::String GetNameForValidationExceptionReason(ValidationExceptionReason enumValue) + { + switch(enumValue) + { + case ValidationExceptionReason::NOT_SET: + return {}; + case ValidationExceptionReason::unknownOperation: + return "unknownOperation"; + case ValidationExceptionReason::cannotParse: + return "cannotParse"; + case ValidationExceptionReason::fieldValidationFailed: + return "fieldValidationFailed"; + case ValidationExceptionReason::other: + return "other"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ValidationExceptionReasonMapper + } // namespace Model + } // namespace BCMDataExports +} // 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 09684a29eaf..1b076fc4311 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 @@ -267,9 +267,11 @@ namespace CloudTrail * DeleteEventDataStore, the event data store enters a * PENDING_DELETION state, and is automatically deleted after a wait * period of seven days. TerminationProtectionEnabled must be set to - * False on the event data store; this operation cannot work if - * TerminationProtectionEnabled is True.

After you - * run DeleteEventDataStore on an event data store, you cannot run + * False on the event data store and the FederationStatus + * must be DISABLED. You cannot delete an event data store if + * TerminationProtectionEnabled is True or the + * FederationStatus is ENABLED.

After you run + * DeleteEventDataStore on an event data store, you cannot run * ListQueries, DescribeQuery, or * GetQueryResults on queries that are using an event data store in a * PENDING_DELETION state. An event data store in the @@ -435,6 +437,76 @@ namespace CloudTrail return SubmitAsync(&CloudTrailClient::DescribeTrails, request, handler, context); } + /** + *

Disables Lake query federation on the specified event data store. When you + * disable federation, CloudTrail removes the metadata associated with the + * federated event data store in the Glue Data Catalog and removes registration for + * the federation role ARN and event data store in Lake Formation. No CloudTrail + * Lake data is deleted when you disable federation.

See Also:

AWS + * API Reference

+ */ + virtual Model::DisableFederationOutcome DisableFederation(const Model::DisableFederationRequest& request) const; + + /** + * A Callable wrapper for DisableFederation that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DisableFederationOutcomeCallable DisableFederationCallable(const DisableFederationRequestT& request) const + { + return SubmitCallable(&CloudTrailClient::DisableFederation, request); + } + + /** + * An Async wrapper for DisableFederation that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DisableFederationAsync(const DisableFederationRequestT& request, const DisableFederationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&CloudTrailClient::DisableFederation, request, handler, context); + } + + /** + *

Enables Lake query federation on the specified event data store. Federating + * an event data store lets you view the metadata associated with the event data + * store in the Glue Data + * Catalog and run SQL queries against your event data using Amazon Athena. The + * table metadata stored in the Glue Data Catalog lets the Athena query engine know + * how to find, read, and process the data that you want to query.

When you + * enable Lake query federation, CloudTrail creates a federated database named + * aws:cloudtrail (if the database doesn't already exist) and a + * federated table in the Glue Data Catalog. The event data store ID is used for + * the table name. CloudTrail registers the role ARN and event data store in Lake + * Formation, the service responsible for revoking or granting permissions to + * the federated resources in the Glue Data Catalog.

For more information + * about Lake query federation, see Federate + * an event data store.

See Also:

AWS + * API Reference

+ */ + virtual Model::EnableFederationOutcome EnableFederation(const Model::EnableFederationRequest& request) const; + + /** + * A Callable wrapper for EnableFederation that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::EnableFederationOutcomeCallable EnableFederationCallable(const EnableFederationRequestT& request) const + { + return SubmitCallable(&CloudTrailClient::EnableFederation, request); + } + + /** + * An Async wrapper for EnableFederation that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void EnableFederationAsync(const EnableFederationRequestT& request, const EnableFederationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&CloudTrailClient::EnableFederation, request, handler, context); + } + /** *

Returns information about a specific channel.

See Also:

AWS diff --git a/generated/src/aws-cpp-sdk-cloudtrail/include/aws/cloudtrail/CloudTrailErrors.h b/generated/src/aws-cpp-sdk-cloudtrail/include/aws/cloudtrail/CloudTrailErrors.h index 9562d33d2c6..616a0ed726e 100644 --- a/generated/src/aws-cpp-sdk-cloudtrail/include/aws/cloudtrail/CloudTrailErrors.h +++ b/generated/src/aws-cpp-sdk-cloudtrail/include/aws/cloudtrail/CloudTrailErrors.h @@ -61,10 +61,12 @@ enum class CloudTrailErrors CLOUD_TRAIL_A_R_N_INVALID, CLOUD_TRAIL_INVALID_CLIENT_TOKEN_ID, CLOUD_WATCH_LOGS_DELIVERY_UNAVAILABLE, + CONCURRENT_MODIFICATION, CONFLICT, DELEGATED_ADMIN_ACCOUNT_LIMIT_EXCEEDED, EVENT_DATA_STORE_ALREADY_EXISTS, EVENT_DATA_STORE_A_R_N_INVALID, + EVENT_DATA_STORE_FEDERATION_ENABLED, EVENT_DATA_STORE_HAS_ONGOING_IMPORT, EVENT_DATA_STORE_MAX_LIMIT_EXCEEDED, EVENT_DATA_STORE_NOT_FOUND, 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 a9357b6df4c..ad34eb0ee6a 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 @@ -30,6 +30,8 @@ #include #include #include +#include +#include #include #include #include @@ -116,6 +118,8 @@ namespace Aws class DeregisterOrganizationDelegatedAdminRequest; class DescribeQueryRequest; class DescribeTrailsRequest; + class DisableFederationRequest; + class EnableFederationRequest; class GetChannelRequest; class GetEventDataStoreRequest; class GetEventSelectorsRequest; @@ -165,6 +169,8 @@ namespace Aws typedef Aws::Utils::Outcome DeregisterOrganizationDelegatedAdminOutcome; typedef Aws::Utils::Outcome DescribeQueryOutcome; typedef Aws::Utils::Outcome DescribeTrailsOutcome; + typedef Aws::Utils::Outcome DisableFederationOutcome; + typedef Aws::Utils::Outcome EnableFederationOutcome; typedef Aws::Utils::Outcome GetChannelOutcome; typedef Aws::Utils::Outcome GetEventDataStoreOutcome; typedef Aws::Utils::Outcome GetEventSelectorsOutcome; @@ -214,6 +220,8 @@ namespace Aws typedef std::future DeregisterOrganizationDelegatedAdminOutcomeCallable; typedef std::future DescribeQueryOutcomeCallable; typedef std::future DescribeTrailsOutcomeCallable; + typedef std::future DisableFederationOutcomeCallable; + typedef std::future EnableFederationOutcomeCallable; typedef std::future GetChannelOutcomeCallable; typedef std::future GetEventDataStoreOutcomeCallable; typedef std::future GetEventSelectorsOutcomeCallable; @@ -266,6 +274,8 @@ namespace Aws typedef std::function&) > DeregisterOrganizationDelegatedAdminResponseReceivedHandler; typedef std::function&) > DescribeQueryResponseReceivedHandler; typedef std::function&) > DescribeTrailsResponseReceivedHandler; + typedef std::function&) > DisableFederationResponseReceivedHandler; + typedef std::function&) > EnableFederationResponseReceivedHandler; typedef std::function&) > GetChannelResponseReceivedHandler; typedef std::function&) > GetEventDataStoreResponseReceivedHandler; typedef std::function&) > GetEventSelectorsResponseReceivedHandler; diff --git a/generated/src/aws-cpp-sdk-cloudtrail/include/aws/cloudtrail/model/DisableFederationRequest.h b/generated/src/aws-cpp-sdk-cloudtrail/include/aws/cloudtrail/model/DisableFederationRequest.h new file mode 100644 index 00000000000..a1d198ef09d --- /dev/null +++ b/generated/src/aws-cpp-sdk-cloudtrail/include/aws/cloudtrail/model/DisableFederationRequest.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 CloudTrail +{ +namespace Model +{ + + /** + */ + class DisableFederationRequest : public CloudTrailRequest + { + public: + AWS_CLOUDTRAIL_API DisableFederationRequest(); + + // 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 "DisableFederation"; } + + AWS_CLOUDTRAIL_API Aws::String SerializePayload() const override; + + AWS_CLOUDTRAIL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + *

The ARN (or ID suffix of the ARN) of the event data store for which you want + * to disable Lake query federation.

+ */ + inline const Aws::String& GetEventDataStore() const{ return m_eventDataStore; } + + /** + *

The ARN (or ID suffix of the ARN) of the event data store for which you want + * to disable Lake query federation.

+ */ + inline bool EventDataStoreHasBeenSet() const { return m_eventDataStoreHasBeenSet; } + + /** + *

The ARN (or ID suffix of the ARN) of the event data store for which you want + * to disable Lake query federation.

+ */ + inline void SetEventDataStore(const Aws::String& value) { m_eventDataStoreHasBeenSet = true; m_eventDataStore = value; } + + /** + *

The ARN (or ID suffix of the ARN) of the event data store for which you want + * to disable Lake query federation.

+ */ + inline void SetEventDataStore(Aws::String&& value) { m_eventDataStoreHasBeenSet = true; m_eventDataStore = std::move(value); } + + /** + *

The ARN (or ID suffix of the ARN) of the event data store for which you want + * to disable Lake query federation.

+ */ + inline void SetEventDataStore(const char* value) { m_eventDataStoreHasBeenSet = true; m_eventDataStore.assign(value); } + + /** + *

The ARN (or ID suffix of the ARN) of the event data store for which you want + * to disable Lake query federation.

+ */ + inline DisableFederationRequest& WithEventDataStore(const Aws::String& value) { SetEventDataStore(value); return *this;} + + /** + *

The ARN (or ID suffix of the ARN) of the event data store for which you want + * to disable Lake query federation.

+ */ + inline DisableFederationRequest& WithEventDataStore(Aws::String&& value) { SetEventDataStore(std::move(value)); return *this;} + + /** + *

The ARN (or ID suffix of the ARN) of the event data store for which you want + * to disable Lake query federation.

+ */ + inline DisableFederationRequest& WithEventDataStore(const char* value) { SetEventDataStore(value); return *this;} + + private: + + Aws::String m_eventDataStore; + bool m_eventDataStoreHasBeenSet = false; + }; + +} // namespace Model +} // namespace CloudTrail +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cloudtrail/include/aws/cloudtrail/model/DisableFederationResult.h b/generated/src/aws-cpp-sdk-cloudtrail/include/aws/cloudtrail/model/DisableFederationResult.h new file mode 100644 index 00000000000..6786b7b912b --- /dev/null +++ b/generated/src/aws-cpp-sdk-cloudtrail/include/aws/cloudtrail/model/DisableFederationResult.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 +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace CloudTrail +{ +namespace Model +{ + class DisableFederationResult + { + public: + AWS_CLOUDTRAIL_API DisableFederationResult(); + AWS_CLOUDTRAIL_API DisableFederationResult(const Aws::AmazonWebServiceResult& result); + AWS_CLOUDTRAIL_API DisableFederationResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

The ARN of the event data store for which you disabled Lake query + * federation.

+ */ + inline const Aws::String& GetEventDataStoreArn() const{ return m_eventDataStoreArn; } + + /** + *

The ARN of the event data store for which you disabled Lake query + * federation.

+ */ + inline void SetEventDataStoreArn(const Aws::String& value) { m_eventDataStoreArn = value; } + + /** + *

The ARN of the event data store for which you disabled Lake query + * federation.

+ */ + inline void SetEventDataStoreArn(Aws::String&& value) { m_eventDataStoreArn = std::move(value); } + + /** + *

The ARN of the event data store for which you disabled Lake query + * federation.

+ */ + inline void SetEventDataStoreArn(const char* value) { m_eventDataStoreArn.assign(value); } + + /** + *

The ARN of the event data store for which you disabled Lake query + * federation.

+ */ + inline DisableFederationResult& WithEventDataStoreArn(const Aws::String& value) { SetEventDataStoreArn(value); return *this;} + + /** + *

The ARN of the event data store for which you disabled Lake query + * federation.

+ */ + inline DisableFederationResult& WithEventDataStoreArn(Aws::String&& value) { SetEventDataStoreArn(std::move(value)); return *this;} + + /** + *

The ARN of the event data store for which you disabled Lake query + * federation.

+ */ + inline DisableFederationResult& WithEventDataStoreArn(const char* value) { SetEventDataStoreArn(value); return *this;} + + + /** + *

The federation status.

+ */ + inline const FederationStatus& GetFederationStatus() const{ return m_federationStatus; } + + /** + *

The federation status.

+ */ + inline void SetFederationStatus(const FederationStatus& value) { m_federationStatus = value; } + + /** + *

The federation status.

+ */ + inline void SetFederationStatus(FederationStatus&& value) { m_federationStatus = std::move(value); } + + /** + *

The federation status.

+ */ + inline DisableFederationResult& WithFederationStatus(const FederationStatus& value) { SetFederationStatus(value); return *this;} + + /** + *

The federation status.

+ */ + inline DisableFederationResult& WithFederationStatus(FederationStatus&& value) { SetFederationStatus(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 DisableFederationResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline DisableFederationResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline DisableFederationResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::String m_eventDataStoreArn; + + FederationStatus m_federationStatus; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace CloudTrail +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cloudtrail/include/aws/cloudtrail/model/EnableFederationRequest.h b/generated/src/aws-cpp-sdk-cloudtrail/include/aws/cloudtrail/model/EnableFederationRequest.h new file mode 100644 index 00000000000..ff222427307 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cloudtrail/include/aws/cloudtrail/model/EnableFederationRequest.h @@ -0,0 +1,177 @@ +/** + * 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 EnableFederationRequest : public CloudTrailRequest + { + public: + AWS_CLOUDTRAIL_API EnableFederationRequest(); + + // 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 "EnableFederation"; } + + AWS_CLOUDTRAIL_API Aws::String SerializePayload() const override; + + AWS_CLOUDTRAIL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + *

The ARN (or ID suffix of the ARN) of the event data store for which you want + * to enable Lake query federation.

+ */ + inline const Aws::String& GetEventDataStore() const{ return m_eventDataStore; } + + /** + *

The ARN (or ID suffix of the ARN) of the event data store for which you want + * to enable Lake query federation.

+ */ + inline bool EventDataStoreHasBeenSet() const { return m_eventDataStoreHasBeenSet; } + + /** + *

The ARN (or ID suffix of the ARN) of the event data store for which you want + * to enable Lake query federation.

+ */ + inline void SetEventDataStore(const Aws::String& value) { m_eventDataStoreHasBeenSet = true; m_eventDataStore = value; } + + /** + *

The ARN (or ID suffix of the ARN) of the event data store for which you want + * to enable Lake query federation.

+ */ + inline void SetEventDataStore(Aws::String&& value) { m_eventDataStoreHasBeenSet = true; m_eventDataStore = std::move(value); } + + /** + *

The ARN (or ID suffix of the ARN) of the event data store for which you want + * to enable Lake query federation.

+ */ + inline void SetEventDataStore(const char* value) { m_eventDataStoreHasBeenSet = true; m_eventDataStore.assign(value); } + + /** + *

The ARN (or ID suffix of the ARN) of the event data store for which you want + * to enable Lake query federation.

+ */ + inline EnableFederationRequest& WithEventDataStore(const Aws::String& value) { SetEventDataStore(value); return *this;} + + /** + *

The ARN (or ID suffix of the ARN) of the event data store for which you want + * to enable Lake query federation.

+ */ + inline EnableFederationRequest& WithEventDataStore(Aws::String&& value) { SetEventDataStore(std::move(value)); return *this;} + + /** + *

The ARN (or ID suffix of the ARN) of the event data store for which you want + * to enable Lake query federation.

+ */ + inline EnableFederationRequest& WithEventDataStore(const char* value) { SetEventDataStore(value); return *this;} + + + /** + *

The ARN of the federation role to use for the event data store. Amazon Web + * Services services like Lake Formation use this federation role to access data + * for the federated event data store. The federation role must exist in your + * account and provide the required + * minimum permissions.

+ */ + inline const Aws::String& GetFederationRoleArn() const{ return m_federationRoleArn; } + + /** + *

The ARN of the federation role to use for the event data store. Amazon Web + * Services services like Lake Formation use this federation role to access data + * for the federated event data store. The federation role must exist in your + * account and provide the required + * minimum permissions.

+ */ + inline bool FederationRoleArnHasBeenSet() const { return m_federationRoleArnHasBeenSet; } + + /** + *

The ARN of the federation role to use for the event data store. Amazon Web + * Services services like Lake Formation use this federation role to access data + * for the federated event data store. The federation role must exist in your + * account and provide the required + * minimum permissions.

+ */ + inline void SetFederationRoleArn(const Aws::String& value) { m_federationRoleArnHasBeenSet = true; m_federationRoleArn = value; } + + /** + *

The ARN of the federation role to use for the event data store. Amazon Web + * Services services like Lake Formation use this federation role to access data + * for the federated event data store. The federation role must exist in your + * account and provide the required + * minimum permissions.

+ */ + inline void SetFederationRoleArn(Aws::String&& value) { m_federationRoleArnHasBeenSet = true; m_federationRoleArn = std::move(value); } + + /** + *

The ARN of the federation role to use for the event data store. Amazon Web + * Services services like Lake Formation use this federation role to access data + * for the federated event data store. The federation role must exist in your + * account and provide the required + * minimum permissions.

+ */ + inline void SetFederationRoleArn(const char* value) { m_federationRoleArnHasBeenSet = true; m_federationRoleArn.assign(value); } + + /** + *

The ARN of the federation role to use for the event data store. Amazon Web + * Services services like Lake Formation use this federation role to access data + * for the federated event data store. The federation role must exist in your + * account and provide the required + * minimum permissions.

+ */ + inline EnableFederationRequest& WithFederationRoleArn(const Aws::String& value) { SetFederationRoleArn(value); return *this;} + + /** + *

The ARN of the federation role to use for the event data store. Amazon Web + * Services services like Lake Formation use this federation role to access data + * for the federated event data store. The federation role must exist in your + * account and provide the required + * minimum permissions.

+ */ + inline EnableFederationRequest& WithFederationRoleArn(Aws::String&& value) { SetFederationRoleArn(std::move(value)); return *this;} + + /** + *

The ARN of the federation role to use for the event data store. Amazon Web + * Services services like Lake Formation use this federation role to access data + * for the federated event data store. The federation role must exist in your + * account and provide the required + * minimum permissions.

+ */ + inline EnableFederationRequest& WithFederationRoleArn(const char* value) { SetFederationRoleArn(value); return *this;} + + private: + + Aws::String m_eventDataStore; + bool m_eventDataStoreHasBeenSet = false; + + Aws::String m_federationRoleArn; + bool m_federationRoleArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace CloudTrail +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cloudtrail/include/aws/cloudtrail/model/EnableFederationResult.h b/generated/src/aws-cpp-sdk-cloudtrail/include/aws/cloudtrail/model/EnableFederationResult.h new file mode 100644 index 00000000000..24cb0b3799b --- /dev/null +++ b/generated/src/aws-cpp-sdk-cloudtrail/include/aws/cloudtrail/model/EnableFederationResult.h @@ -0,0 +1,175 @@ +/** + * 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 CloudTrail +{ +namespace Model +{ + class EnableFederationResult + { + public: + AWS_CLOUDTRAIL_API EnableFederationResult(); + AWS_CLOUDTRAIL_API EnableFederationResult(const Aws::AmazonWebServiceResult& result); + AWS_CLOUDTRAIL_API EnableFederationResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

The ARN of the event data store for which you enabled Lake query federation. + *

+ */ + inline const Aws::String& GetEventDataStoreArn() const{ return m_eventDataStoreArn; } + + /** + *

The ARN of the event data store for which you enabled Lake query federation. + *

+ */ + inline void SetEventDataStoreArn(const Aws::String& value) { m_eventDataStoreArn = value; } + + /** + *

The ARN of the event data store for which you enabled Lake query federation. + *

+ */ + inline void SetEventDataStoreArn(Aws::String&& value) { m_eventDataStoreArn = std::move(value); } + + /** + *

The ARN of the event data store for which you enabled Lake query federation. + *

+ */ + inline void SetEventDataStoreArn(const char* value) { m_eventDataStoreArn.assign(value); } + + /** + *

The ARN of the event data store for which you enabled Lake query federation. + *

+ */ + inline EnableFederationResult& WithEventDataStoreArn(const Aws::String& value) { SetEventDataStoreArn(value); return *this;} + + /** + *

The ARN of the event data store for which you enabled Lake query federation. + *

+ */ + inline EnableFederationResult& WithEventDataStoreArn(Aws::String&& value) { SetEventDataStoreArn(std::move(value)); return *this;} + + /** + *

The ARN of the event data store for which you enabled Lake query federation. + *

+ */ + inline EnableFederationResult& WithEventDataStoreArn(const char* value) { SetEventDataStoreArn(value); return *this;} + + + /** + *

The federation status.

+ */ + inline const FederationStatus& GetFederationStatus() const{ return m_federationStatus; } + + /** + *

The federation status.

+ */ + inline void SetFederationStatus(const FederationStatus& value) { m_federationStatus = value; } + + /** + *

The federation status.

+ */ + inline void SetFederationStatus(FederationStatus&& value) { m_federationStatus = std::move(value); } + + /** + *

The federation status.

+ */ + inline EnableFederationResult& WithFederationStatus(const FederationStatus& value) { SetFederationStatus(value); return *this;} + + /** + *

The federation status.

+ */ + inline EnableFederationResult& WithFederationStatus(FederationStatus&& value) { SetFederationStatus(std::move(value)); return *this;} + + + /** + *

The ARN of the federation role.

+ */ + inline const Aws::String& GetFederationRoleArn() const{ return m_federationRoleArn; } + + /** + *

The ARN of the federation role.

+ */ + inline void SetFederationRoleArn(const Aws::String& value) { m_federationRoleArn = value; } + + /** + *

The ARN of the federation role.

+ */ + inline void SetFederationRoleArn(Aws::String&& value) { m_federationRoleArn = std::move(value); } + + /** + *

The ARN of the federation role.

+ */ + inline void SetFederationRoleArn(const char* value) { m_federationRoleArn.assign(value); } + + /** + *

The ARN of the federation role.

+ */ + inline EnableFederationResult& WithFederationRoleArn(const Aws::String& value) { SetFederationRoleArn(value); return *this;} + + /** + *

The ARN of the federation role.

+ */ + inline EnableFederationResult& WithFederationRoleArn(Aws::String&& value) { SetFederationRoleArn(std::move(value)); return *this;} + + /** + *

The ARN of the federation role.

+ */ + inline EnableFederationResult& WithFederationRoleArn(const char* value) { SetFederationRoleArn(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 EnableFederationResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline EnableFederationResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline EnableFederationResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::String m_eventDataStoreArn; + + FederationStatus m_federationStatus; + + Aws::String m_federationRoleArn; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace CloudTrail +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cloudtrail/include/aws/cloudtrail/model/FederationStatus.h b/generated/src/aws-cpp-sdk-cloudtrail/include/aws/cloudtrail/model/FederationStatus.h new file mode 100644 index 00000000000..71f1ab60474 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cloudtrail/include/aws/cloudtrail/model/FederationStatus.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 CloudTrail +{ +namespace Model +{ + enum class FederationStatus + { + NOT_SET, + ENABLING, + ENABLED, + DISABLING, + DISABLED + }; + +namespace FederationStatusMapper +{ +AWS_CLOUDTRAIL_API FederationStatus GetFederationStatusForName(const Aws::String& name); + +AWS_CLOUDTRAIL_API Aws::String GetNameForFederationStatus(FederationStatus value); +} // namespace FederationStatusMapper +} // namespace Model +} // namespace CloudTrail +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cloudtrail/include/aws/cloudtrail/model/GetEventDataStoreResult.h b/generated/src/aws-cpp-sdk-cloudtrail/include/aws/cloudtrail/model/GetEventDataStoreResult.h index 10f39801f63..337de88407c 100644 --- a/generated/src/aws-cpp-sdk-cloudtrail/include/aws/cloudtrail/model/GetEventDataStoreResult.h +++ b/generated/src/aws-cpp-sdk-cloudtrail/include/aws/cloudtrail/model/GetEventDataStoreResult.h @@ -10,6 +10,7 @@ #include #include #include +#include #include #include @@ -386,6 +387,100 @@ namespace Model inline GetEventDataStoreResult& WithBillingMode(BillingMode&& value) { SetBillingMode(std::move(value)); return *this;} + /** + *

Indicates the Lake + * query federation status. The status is ENABLED if Lake query + * federation is enabled, or DISABLED if Lake query federation is + * disabled. You cannot delete an event data store if the + * FederationStatus is ENABLED.

+ */ + inline const FederationStatus& GetFederationStatus() const{ return m_federationStatus; } + + /** + *

Indicates the Lake + * query federation status. The status is ENABLED if Lake query + * federation is enabled, or DISABLED if Lake query federation is + * disabled. You cannot delete an event data store if the + * FederationStatus is ENABLED.

+ */ + inline void SetFederationStatus(const FederationStatus& value) { m_federationStatus = value; } + + /** + *

Indicates the Lake + * query federation status. The status is ENABLED if Lake query + * federation is enabled, or DISABLED if Lake query federation is + * disabled. You cannot delete an event data store if the + * FederationStatus is ENABLED.

+ */ + inline void SetFederationStatus(FederationStatus&& value) { m_federationStatus = std::move(value); } + + /** + *

Indicates the Lake + * query federation status. The status is ENABLED if Lake query + * federation is enabled, or DISABLED if Lake query federation is + * disabled. You cannot delete an event data store if the + * FederationStatus is ENABLED.

+ */ + inline GetEventDataStoreResult& WithFederationStatus(const FederationStatus& value) { SetFederationStatus(value); return *this;} + + /** + *

Indicates the Lake + * query federation status. The status is ENABLED if Lake query + * federation is enabled, or DISABLED if Lake query federation is + * disabled. You cannot delete an event data store if the + * FederationStatus is ENABLED.

+ */ + inline GetEventDataStoreResult& WithFederationStatus(FederationStatus&& value) { SetFederationStatus(std::move(value)); return *this;} + + + /** + *

If Lake query federation is enabled, provides the ARN of the federation role + * used to access the resources for the federated event data store.

+ */ + inline const Aws::String& GetFederationRoleArn() const{ return m_federationRoleArn; } + + /** + *

If Lake query federation is enabled, provides the ARN of the federation role + * used to access the resources for the federated event data store.

+ */ + inline void SetFederationRoleArn(const Aws::String& value) { m_federationRoleArn = value; } + + /** + *

If Lake query federation is enabled, provides the ARN of the federation role + * used to access the resources for the federated event data store.

+ */ + inline void SetFederationRoleArn(Aws::String&& value) { m_federationRoleArn = std::move(value); } + + /** + *

If Lake query federation is enabled, provides the ARN of the federation role + * used to access the resources for the federated event data store.

+ */ + inline void SetFederationRoleArn(const char* value) { m_federationRoleArn.assign(value); } + + /** + *

If Lake query federation is enabled, provides the ARN of the federation role + * used to access the resources for the federated event data store.

+ */ + inline GetEventDataStoreResult& WithFederationRoleArn(const Aws::String& value) { SetFederationRoleArn(value); return *this;} + + /** + *

If Lake query federation is enabled, provides the ARN of the federation role + * used to access the resources for the federated event data store.

+ */ + inline GetEventDataStoreResult& WithFederationRoleArn(Aws::String&& value) { SetFederationRoleArn(std::move(value)); return *this;} + + /** + *

If Lake query federation is enabled, provides the ARN of the federation role + * used to access the resources for the federated event data store.

+ */ + inline GetEventDataStoreResult& WithFederationRoleArn(const char* value) { SetFederationRoleArn(value); return *this;} + + inline const Aws::String& GetRequestId() const{ return m_requestId; } @@ -433,6 +528,10 @@ namespace Model BillingMode m_billingMode; + FederationStatus m_federationStatus; + + Aws::String m_federationRoleArn; + Aws::String m_requestId; }; diff --git a/generated/src/aws-cpp-sdk-cloudtrail/include/aws/cloudtrail/model/UpdateEventDataStoreResult.h b/generated/src/aws-cpp-sdk-cloudtrail/include/aws/cloudtrail/model/UpdateEventDataStoreResult.h index 7276338124b..199f87a261c 100644 --- a/generated/src/aws-cpp-sdk-cloudtrail/include/aws/cloudtrail/model/UpdateEventDataStoreResult.h +++ b/generated/src/aws-cpp-sdk-cloudtrail/include/aws/cloudtrail/model/UpdateEventDataStoreResult.h @@ -10,6 +10,7 @@ #include #include #include +#include #include #include @@ -389,6 +390,100 @@ namespace Model inline UpdateEventDataStoreResult& WithBillingMode(BillingMode&& value) { SetBillingMode(std::move(value)); return *this;} + /** + *

Indicates the Lake + * query federation status. The status is ENABLED if Lake query + * federation is enabled, or DISABLED if Lake query federation is + * disabled. You cannot delete an event data store if the + * FederationStatus is ENABLED.

+ */ + inline const FederationStatus& GetFederationStatus() const{ return m_federationStatus; } + + /** + *

Indicates the Lake + * query federation status. The status is ENABLED if Lake query + * federation is enabled, or DISABLED if Lake query federation is + * disabled. You cannot delete an event data store if the + * FederationStatus is ENABLED.

+ */ + inline void SetFederationStatus(const FederationStatus& value) { m_federationStatus = value; } + + /** + *

Indicates the Lake + * query federation status. The status is ENABLED if Lake query + * federation is enabled, or DISABLED if Lake query federation is + * disabled. You cannot delete an event data store if the + * FederationStatus is ENABLED.

+ */ + inline void SetFederationStatus(FederationStatus&& value) { m_federationStatus = std::move(value); } + + /** + *

Indicates the Lake + * query federation status. The status is ENABLED if Lake query + * federation is enabled, or DISABLED if Lake query federation is + * disabled. You cannot delete an event data store if the + * FederationStatus is ENABLED.

+ */ + inline UpdateEventDataStoreResult& WithFederationStatus(const FederationStatus& value) { SetFederationStatus(value); return *this;} + + /** + *

Indicates the Lake + * query federation status. The status is ENABLED if Lake query + * federation is enabled, or DISABLED if Lake query federation is + * disabled. You cannot delete an event data store if the + * FederationStatus is ENABLED.

+ */ + inline UpdateEventDataStoreResult& WithFederationStatus(FederationStatus&& value) { SetFederationStatus(std::move(value)); return *this;} + + + /** + *

If Lake query federation is enabled, provides the ARN of the federation role + * used to access the resources for the federated event data store.

+ */ + inline const Aws::String& GetFederationRoleArn() const{ return m_federationRoleArn; } + + /** + *

If Lake query federation is enabled, provides the ARN of the federation role + * used to access the resources for the federated event data store.

+ */ + inline void SetFederationRoleArn(const Aws::String& value) { m_federationRoleArn = value; } + + /** + *

If Lake query federation is enabled, provides the ARN of the federation role + * used to access the resources for the federated event data store.

+ */ + inline void SetFederationRoleArn(Aws::String&& value) { m_federationRoleArn = std::move(value); } + + /** + *

If Lake query federation is enabled, provides the ARN of the federation role + * used to access the resources for the federated event data store.

+ */ + inline void SetFederationRoleArn(const char* value) { m_federationRoleArn.assign(value); } + + /** + *

If Lake query federation is enabled, provides the ARN of the federation role + * used to access the resources for the federated event data store.

+ */ + inline UpdateEventDataStoreResult& WithFederationRoleArn(const Aws::String& value) { SetFederationRoleArn(value); return *this;} + + /** + *

If Lake query federation is enabled, provides the ARN of the federation role + * used to access the resources for the federated event data store.

+ */ + inline UpdateEventDataStoreResult& WithFederationRoleArn(Aws::String&& value) { SetFederationRoleArn(std::move(value)); return *this;} + + /** + *

If Lake query federation is enabled, provides the ARN of the federation role + * used to access the resources for the federated event data store.

+ */ + inline UpdateEventDataStoreResult& WithFederationRoleArn(const char* value) { SetFederationRoleArn(value); return *this;} + + inline const Aws::String& GetRequestId() const{ return m_requestId; } @@ -436,6 +531,10 @@ namespace Model BillingMode m_billingMode; + FederationStatus m_federationStatus; + + Aws::String m_federationRoleArn; + Aws::String m_requestId; }; diff --git a/generated/src/aws-cpp-sdk-cloudtrail/source/CloudTrailClient.cpp b/generated/src/aws-cpp-sdk-cloudtrail/source/CloudTrailClient.cpp index 56cda791077..aa4decb7693 100644 --- a/generated/src/aws-cpp-sdk-cloudtrail/source/CloudTrailClient.cpp +++ b/generated/src/aws-cpp-sdk-cloudtrail/source/CloudTrailClient.cpp @@ -33,6 +33,8 @@ #include #include #include +#include +#include #include #include #include @@ -512,6 +514,58 @@ DescribeTrailsOutcome CloudTrailClient::DescribeTrails(const DescribeTrailsReque {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +DisableFederationOutcome CloudTrailClient::DisableFederation(const DisableFederationRequest& request) const +{ + AWS_OPERATION_GUARD(DisableFederation); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DisableFederation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DisableFederation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DisableFederation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DisableFederation", + {{ 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( + [&]()-> DisableFederationOutcome { + 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, DisableFederation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return DisableFederationOutcome(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()}}); +} + +EnableFederationOutcome CloudTrailClient::EnableFederation(const EnableFederationRequest& request) const +{ + AWS_OPERATION_GUARD(EnableFederation); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, EnableFederation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, EnableFederation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, EnableFederation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".EnableFederation", + {{ 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( + [&]()-> EnableFederationOutcome { + 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, EnableFederation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return EnableFederationOutcome(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()}}); +} + GetChannelOutcome CloudTrailClient::GetChannel(const GetChannelRequest& request) const { AWS_OPERATION_GUARD(GetChannel); diff --git a/generated/src/aws-cpp-sdk-cloudtrail/source/CloudTrailErrors.cpp b/generated/src/aws-cpp-sdk-cloudtrail/source/CloudTrailErrors.cpp index 5b305859506..4d78379b1a1 100644 --- a/generated/src/aws-cpp-sdk-cloudtrail/source/CloudTrailErrors.cpp +++ b/generated/src/aws-cpp-sdk-cloudtrail/source/CloudTrailErrors.cpp @@ -62,6 +62,7 @@ static const int CHANNEL_A_R_N_INVALID_HASH = HashingUtils::HashString("ChannelA static const int INVALID_TOKEN_HASH = HashingUtils::HashString("InvalidTokenException"); static const int INSUFFICIENT_DEPENDENCY_SERVICE_ACCESS_PERMISSION_HASH = HashingUtils::HashString("InsufficientDependencyServiceAccessPermissionException"); static const int EVENT_DATA_STORE_TERMINATION_PROTECTED_HASH = HashingUtils::HashString("EventDataStoreTerminationProtectedException"); +static const int CONCURRENT_MODIFICATION_HASH = HashingUtils::HashString("ConcurrentModificationException"); static const int EVENT_DATA_STORE_MAX_LIMIT_EXCEEDED_HASH = HashingUtils::HashString("EventDataStoreMaxLimitExceededException"); static const int INSUFFICIENT_SNS_TOPIC_POLICY_HASH = HashingUtils::HashString("InsufficientSnsTopicPolicyException"); static const int INVALID_CLOUD_WATCH_LOGS_ROLE_ARN_HASH = HashingUtils::HashString("InvalidCloudWatchLogsRoleArnException"); @@ -89,6 +90,7 @@ static const int INVALID_EVENT_DATA_STORE_CATEGORY_HASH = HashingUtils::HashStri static const int ACCOUNT_NOT_REGISTERED_HASH = HashingUtils::HashString("AccountNotRegisteredException"); static const int INVALID_CLOUD_WATCH_LOGS_LOG_GROUP_ARN_HASH = HashingUtils::HashString("InvalidCloudWatchLogsLogGroupArnException"); static const int S3_BUCKET_DOES_NOT_EXIST_HASH = HashingUtils::HashString("S3BucketDoesNotExistException"); +static const int EVENT_DATA_STORE_FEDERATION_ENABLED_HASH = HashingUtils::HashString("EventDataStoreFederationEnabledException"); static const int KMS_HASH = HashingUtils::HashString("KmsException"); static const int INVALID_SOURCE_HASH = HashingUtils::HashString("InvalidSourceException"); static const int INVALID_EVENT_CATEGORY_HASH = HashingUtils::HashString("InvalidEventCategoryException"); @@ -277,6 +279,10 @@ AWSError GetErrorForName(const char* errorName) { return AWSError(static_cast(CloudTrailErrors::EVENT_DATA_STORE_TERMINATION_PROTECTED), false); } + else if (hashCode == CONCURRENT_MODIFICATION_HASH) + { + return AWSError(static_cast(CloudTrailErrors::CONCURRENT_MODIFICATION), false); + } else if (hashCode == EVENT_DATA_STORE_MAX_LIMIT_EXCEEDED_HASH) { return AWSError(static_cast(CloudTrailErrors::EVENT_DATA_STORE_MAX_LIMIT_EXCEEDED), false); @@ -385,6 +391,10 @@ AWSError GetErrorForName(const char* errorName) { return AWSError(static_cast(CloudTrailErrors::S3_BUCKET_DOES_NOT_EXIST), false); } + else if (hashCode == EVENT_DATA_STORE_FEDERATION_ENABLED_HASH) + { + return AWSError(static_cast(CloudTrailErrors::EVENT_DATA_STORE_FEDERATION_ENABLED), false); + } else if (hashCode == KMS_HASH) { return AWSError(static_cast(CloudTrailErrors::KMS), false); diff --git a/generated/src/aws-cpp-sdk-cloudtrail/source/model/DisableFederationRequest.cpp b/generated/src/aws-cpp-sdk-cloudtrail/source/model/DisableFederationRequest.cpp new file mode 100644 index 00000000000..dfb223cf53b --- /dev/null +++ b/generated/src/aws-cpp-sdk-cloudtrail/source/model/DisableFederationRequest.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::CloudTrail::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +DisableFederationRequest::DisableFederationRequest() : + m_eventDataStoreHasBeenSet(false) +{ +} + +Aws::String DisableFederationRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_eventDataStoreHasBeenSet) + { + payload.WithString("EventDataStore", m_eventDataStore); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection DisableFederationRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "com.amazonaws.cloudtrail.v20131101.CloudTrail_20131101.DisableFederation")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-cloudtrail/source/model/DisableFederationResult.cpp b/generated/src/aws-cpp-sdk-cloudtrail/source/model/DisableFederationResult.cpp new file mode 100644 index 00000000000..f603ae43404 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cloudtrail/source/model/DisableFederationResult.cpp @@ -0,0 +1,56 @@ +/** + * 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; + +DisableFederationResult::DisableFederationResult() : + m_federationStatus(FederationStatus::NOT_SET) +{ +} + +DisableFederationResult::DisableFederationResult(const Aws::AmazonWebServiceResult& result) : + m_federationStatus(FederationStatus::NOT_SET) +{ + *this = result; +} + +DisableFederationResult& DisableFederationResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("EventDataStoreArn")) + { + m_eventDataStoreArn = jsonValue.GetString("EventDataStoreArn"); + + } + + if(jsonValue.ValueExists("FederationStatus")) + { + m_federationStatus = FederationStatusMapper::GetFederationStatusForName(jsonValue.GetString("FederationStatus")); + + } + + + 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/EnableFederationRequest.cpp b/generated/src/aws-cpp-sdk-cloudtrail/source/model/EnableFederationRequest.cpp new file mode 100644 index 00000000000..67d647b3db3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cloudtrail/source/model/EnableFederationRequest.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::CloudTrail::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +EnableFederationRequest::EnableFederationRequest() : + m_eventDataStoreHasBeenSet(false), + m_federationRoleArnHasBeenSet(false) +{ +} + +Aws::String EnableFederationRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_eventDataStoreHasBeenSet) + { + payload.WithString("EventDataStore", m_eventDataStore); + + } + + if(m_federationRoleArnHasBeenSet) + { + payload.WithString("FederationRoleArn", m_federationRoleArn); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection EnableFederationRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "com.amazonaws.cloudtrail.v20131101.CloudTrail_20131101.EnableFederation")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-cloudtrail/source/model/EnableFederationResult.cpp b/generated/src/aws-cpp-sdk-cloudtrail/source/model/EnableFederationResult.cpp new file mode 100644 index 00000000000..3809c6f0672 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cloudtrail/source/model/EnableFederationResult.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 + +#include + +using namespace Aws::CloudTrail::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +EnableFederationResult::EnableFederationResult() : + m_federationStatus(FederationStatus::NOT_SET) +{ +} + +EnableFederationResult::EnableFederationResult(const Aws::AmazonWebServiceResult& result) : + m_federationStatus(FederationStatus::NOT_SET) +{ + *this = result; +} + +EnableFederationResult& EnableFederationResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("EventDataStoreArn")) + { + m_eventDataStoreArn = jsonValue.GetString("EventDataStoreArn"); + + } + + if(jsonValue.ValueExists("FederationStatus")) + { + m_federationStatus = FederationStatusMapper::GetFederationStatusForName(jsonValue.GetString("FederationStatus")); + + } + + if(jsonValue.ValueExists("FederationRoleArn")) + { + m_federationRoleArn = jsonValue.GetString("FederationRoleArn"); + + } + + + 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/FederationStatus.cpp b/generated/src/aws-cpp-sdk-cloudtrail/source/model/FederationStatus.cpp new file mode 100644 index 00000000000..d3de6276757 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cloudtrail/source/model/FederationStatus.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 CloudTrail + { + namespace Model + { + namespace FederationStatusMapper + { + + static const int ENABLING_HASH = HashingUtils::HashString("ENABLING"); + static const int ENABLED_HASH = HashingUtils::HashString("ENABLED"); + static const int DISABLING_HASH = HashingUtils::HashString("DISABLING"); + static const int DISABLED_HASH = HashingUtils::HashString("DISABLED"); + + + FederationStatus GetFederationStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == ENABLING_HASH) + { + return FederationStatus::ENABLING; + } + else if (hashCode == ENABLED_HASH) + { + return FederationStatus::ENABLED; + } + else if (hashCode == DISABLING_HASH) + { + return FederationStatus::DISABLING; + } + else if (hashCode == DISABLED_HASH) + { + return FederationStatus::DISABLED; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return FederationStatus::NOT_SET; + } + + Aws::String GetNameForFederationStatus(FederationStatus enumValue) + { + switch(enumValue) + { + case FederationStatus::NOT_SET: + return {}; + case FederationStatus::ENABLING: + return "ENABLING"; + case FederationStatus::ENABLED: + return "ENABLED"; + case FederationStatus::DISABLING: + return "DISABLING"; + case FederationStatus::DISABLED: + return "DISABLED"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace FederationStatusMapper + } // namespace Model + } // namespace CloudTrail +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cloudtrail/source/model/GetEventDataStoreResult.cpp b/generated/src/aws-cpp-sdk-cloudtrail/source/model/GetEventDataStoreResult.cpp index ad1c225fc32..09d9ec12c7f 100644 --- a/generated/src/aws-cpp-sdk-cloudtrail/source/model/GetEventDataStoreResult.cpp +++ b/generated/src/aws-cpp-sdk-cloudtrail/source/model/GetEventDataStoreResult.cpp @@ -23,7 +23,8 @@ GetEventDataStoreResult::GetEventDataStoreResult() : m_organizationEnabled(false), m_retentionPeriod(0), m_terminationProtectionEnabled(false), - m_billingMode(BillingMode::NOT_SET) + m_billingMode(BillingMode::NOT_SET), + m_federationStatus(FederationStatus::NOT_SET) { } @@ -33,7 +34,8 @@ GetEventDataStoreResult::GetEventDataStoreResult(const Aws::AmazonWebServiceResu m_organizationEnabled(false), m_retentionPeriod(0), m_terminationProtectionEnabled(false), - m_billingMode(BillingMode::NOT_SET) + m_billingMode(BillingMode::NOT_SET), + m_federationStatus(FederationStatus::NOT_SET) { *this = result; } @@ -116,6 +118,18 @@ GetEventDataStoreResult& GetEventDataStoreResult::operator =(const Aws::AmazonWe } + if(jsonValue.ValueExists("FederationStatus")) + { + m_federationStatus = FederationStatusMapper::GetFederationStatusForName(jsonValue.GetString("FederationStatus")); + + } + + if(jsonValue.ValueExists("FederationRoleArn")) + { + m_federationRoleArn = jsonValue.GetString("FederationRoleArn"); + + } + const auto& headers = result.GetHeaderValueCollection(); const auto& requestIdIter = headers.find("x-amzn-requestid"); diff --git a/generated/src/aws-cpp-sdk-cloudtrail/source/model/UpdateEventDataStoreResult.cpp b/generated/src/aws-cpp-sdk-cloudtrail/source/model/UpdateEventDataStoreResult.cpp index e7b0d8cea6b..5c680c27d5e 100644 --- a/generated/src/aws-cpp-sdk-cloudtrail/source/model/UpdateEventDataStoreResult.cpp +++ b/generated/src/aws-cpp-sdk-cloudtrail/source/model/UpdateEventDataStoreResult.cpp @@ -23,7 +23,8 @@ UpdateEventDataStoreResult::UpdateEventDataStoreResult() : m_organizationEnabled(false), m_retentionPeriod(0), m_terminationProtectionEnabled(false), - m_billingMode(BillingMode::NOT_SET) + m_billingMode(BillingMode::NOT_SET), + m_federationStatus(FederationStatus::NOT_SET) { } @@ -33,7 +34,8 @@ UpdateEventDataStoreResult::UpdateEventDataStoreResult(const Aws::AmazonWebServi m_organizationEnabled(false), m_retentionPeriod(0), m_terminationProtectionEnabled(false), - m_billingMode(BillingMode::NOT_SET) + m_billingMode(BillingMode::NOT_SET), + m_federationStatus(FederationStatus::NOT_SET) { *this = result; } @@ -116,6 +118,18 @@ UpdateEventDataStoreResult& UpdateEventDataStoreResult::operator =(const Aws::Am } + if(jsonValue.ValueExists("FederationStatus")) + { + m_federationStatus = FederationStatusMapper::GetFederationStatusForName(jsonValue.GetString("FederationStatus")); + + } + + if(jsonValue.ValueExists("FederationRoleArn")) + { + m_federationRoleArn = jsonValue.GetString("FederationRoleArn"); + + } + const auto& headers = result.GetHeaderValueCollection(); const auto& requestIdIter = headers.find("x-amzn-requestid"); diff --git a/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/CodeStarconnectionsClient.h b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/CodeStarconnectionsClient.h index c3fde6eb11a..a658810270c 100644 --- a/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/CodeStarconnectionsClient.h +++ b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/CodeStarconnectionsClient.h @@ -175,6 +175,61 @@ namespace CodeStarconnections return SubmitAsync(&CodeStarconnectionsClient::CreateHost, request, handler, context); } + /** + *

Creates a link to a specified external Git repository. A repository link + * allows Git sync to monitor and sync changes to files in a specified Git + * repository.

See Also:

AWS + * API Reference

+ */ + virtual Model::CreateRepositoryLinkOutcome CreateRepositoryLink(const Model::CreateRepositoryLinkRequest& request) const; + + /** + * A Callable wrapper for CreateRepositoryLink that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::CreateRepositoryLinkOutcomeCallable CreateRepositoryLinkCallable(const CreateRepositoryLinkRequestT& request) const + { + return SubmitCallable(&CodeStarconnectionsClient::CreateRepositoryLink, request); + } + + /** + * An Async wrapper for CreateRepositoryLink that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void CreateRepositoryLinkAsync(const CreateRepositoryLinkRequestT& request, const CreateRepositoryLinkResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&CodeStarconnectionsClient::CreateRepositoryLink, request, handler, context); + } + + /** + *

Creates a sync configuration which allows Amazon Web Services to sync content + * from a Git repository to update a specified Amazon Web Services resource. + * Parameters for the sync configuration are determined by the sync + * type.

See Also:

AWS + * API Reference

+ */ + virtual Model::CreateSyncConfigurationOutcome CreateSyncConfiguration(const Model::CreateSyncConfigurationRequest& request) const; + + /** + * A Callable wrapper for CreateSyncConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::CreateSyncConfigurationOutcomeCallable CreateSyncConfigurationCallable(const CreateSyncConfigurationRequestT& request) const + { + return SubmitCallable(&CodeStarconnectionsClient::CreateSyncConfiguration, request); + } + + /** + * An Async wrapper for CreateSyncConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void CreateSyncConfigurationAsync(const CreateSyncConfigurationRequestT& request, const CreateSyncConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&CodeStarconnectionsClient::CreateSyncConfiguration, request, handler, context); + } + /** *

The connection to be deleted.

See Also:

AWS @@ -228,6 +283,58 @@ namespace CodeStarconnections return SubmitAsync(&CodeStarconnectionsClient::DeleteHost, request, handler, context); } + /** + *

Deletes the association between your connection and a specified external Git + * repository.

See Also:

AWS + * API Reference

+ */ + virtual Model::DeleteRepositoryLinkOutcome DeleteRepositoryLink(const Model::DeleteRepositoryLinkRequest& request) const; + + /** + * A Callable wrapper for DeleteRepositoryLink that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DeleteRepositoryLinkOutcomeCallable DeleteRepositoryLinkCallable(const DeleteRepositoryLinkRequestT& request) const + { + return SubmitCallable(&CodeStarconnectionsClient::DeleteRepositoryLink, request); + } + + /** + * An Async wrapper for DeleteRepositoryLink that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DeleteRepositoryLinkAsync(const DeleteRepositoryLinkRequestT& request, const DeleteRepositoryLinkResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&CodeStarconnectionsClient::DeleteRepositoryLink, request, handler, context); + } + + /** + *

Deletes the sync configuration for a specified repository and + * connection.

See Also:

AWS + * API Reference

+ */ + virtual Model::DeleteSyncConfigurationOutcome DeleteSyncConfiguration(const Model::DeleteSyncConfigurationRequest& request) const; + + /** + * A Callable wrapper for DeleteSyncConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DeleteSyncConfigurationOutcomeCallable DeleteSyncConfigurationCallable(const DeleteSyncConfigurationRequestT& request) const + { + return SubmitCallable(&CodeStarconnectionsClient::DeleteSyncConfiguration, request); + } + + /** + * An Async wrapper for DeleteSyncConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DeleteSyncConfigurationAsync(const DeleteSyncConfigurationRequestT& request, const DeleteSyncConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&CodeStarconnectionsClient::DeleteSyncConfiguration, request, handler, context); + } + /** *

Returns the connection ARN and details such as status, owner, and provider * type.

See Also:

Returns details about a repository link. A repository link allows Git sync to + * monitor and sync changes from files in a specified Git repository.

See + * Also:

AWS + * API Reference

+ */ + virtual Model::GetRepositoryLinkOutcome GetRepositoryLink(const Model::GetRepositoryLinkRequest& request) const; + + /** + * A Callable wrapper for GetRepositoryLink that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetRepositoryLinkOutcomeCallable GetRepositoryLinkCallable(const GetRepositoryLinkRequestT& request) const + { + return SubmitCallable(&CodeStarconnectionsClient::GetRepositoryLink, request); + } + + /** + * An Async wrapper for GetRepositoryLink that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetRepositoryLinkAsync(const GetRepositoryLinkRequestT& request, const GetRepositoryLinkResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&CodeStarconnectionsClient::GetRepositoryLink, request, handler, context); + } + + /** + *

Returns details about the sync status for a repository. A repository sync + * uses Git sync to push and pull changes from your remote + * repository.

See Also:

AWS + * API Reference

+ */ + virtual Model::GetRepositorySyncStatusOutcome GetRepositorySyncStatus(const Model::GetRepositorySyncStatusRequest& request) const; + + /** + * A Callable wrapper for GetRepositorySyncStatus that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetRepositorySyncStatusOutcomeCallable GetRepositorySyncStatusCallable(const GetRepositorySyncStatusRequestT& request) const + { + return SubmitCallable(&CodeStarconnectionsClient::GetRepositorySyncStatus, request); + } + + /** + * An Async wrapper for GetRepositorySyncStatus that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetRepositorySyncStatusAsync(const GetRepositorySyncStatusRequestT& request, const GetRepositorySyncStatusResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&CodeStarconnectionsClient::GetRepositorySyncStatus, request, handler, context); + } + + /** + *

Returns the status of the sync with the Git repository for a specific Amazon + * Web Services resource.

See Also:

AWS + * API Reference

+ */ + virtual Model::GetResourceSyncStatusOutcome GetResourceSyncStatus(const Model::GetResourceSyncStatusRequest& request) const; + + /** + * A Callable wrapper for GetResourceSyncStatus that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetResourceSyncStatusOutcomeCallable GetResourceSyncStatusCallable(const GetResourceSyncStatusRequestT& request) const + { + return SubmitCallable(&CodeStarconnectionsClient::GetResourceSyncStatus, request); + } + + /** + * An Async wrapper for GetResourceSyncStatus that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetResourceSyncStatusAsync(const GetResourceSyncStatusRequestT& request, const GetResourceSyncStatusResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&CodeStarconnectionsClient::GetResourceSyncStatus, request, handler, context); + } + + /** + *

Returns a list of the most recent sync blockers.

See Also:

+ * AWS + * API Reference

+ */ + virtual Model::GetSyncBlockerSummaryOutcome GetSyncBlockerSummary(const Model::GetSyncBlockerSummaryRequest& request) const; + + /** + * A Callable wrapper for GetSyncBlockerSummary that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetSyncBlockerSummaryOutcomeCallable GetSyncBlockerSummaryCallable(const GetSyncBlockerSummaryRequestT& request) const + { + return SubmitCallable(&CodeStarconnectionsClient::GetSyncBlockerSummary, request); + } + + /** + * An Async wrapper for GetSyncBlockerSummary that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetSyncBlockerSummaryAsync(const GetSyncBlockerSummaryRequestT& request, const GetSyncBlockerSummaryResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&CodeStarconnectionsClient::GetSyncBlockerSummary, request, handler, context); + } + + /** + *

Returns details about a sync configuration, including the sync type and + * resource name. A sync configuration allows the configuration to sync (push and + * pull) changes from the remote repository for a specified branch in a Git + * repository.

See Also:

AWS + * API Reference

+ */ + virtual Model::GetSyncConfigurationOutcome GetSyncConfiguration(const Model::GetSyncConfigurationRequest& request) const; + + /** + * A Callable wrapper for GetSyncConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetSyncConfigurationOutcomeCallable GetSyncConfigurationCallable(const GetSyncConfigurationRequestT& request) const + { + return SubmitCallable(&CodeStarconnectionsClient::GetSyncConfiguration, request); + } + + /** + * An Async wrapper for GetSyncConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetSyncConfigurationAsync(const GetSyncConfigurationRequestT& request, const GetSyncConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&CodeStarconnectionsClient::GetSyncConfiguration, request, handler, context); + } + /** *

Lists the connections associated with your account.

See Also:

* Lists the repository links created for connections in your + * account.

See Also:

AWS + * API Reference

+ */ + virtual Model::ListRepositoryLinksOutcome ListRepositoryLinks(const Model::ListRepositoryLinksRequest& request) const; + + /** + * A Callable wrapper for ListRepositoryLinks that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListRepositoryLinksOutcomeCallable ListRepositoryLinksCallable(const ListRepositoryLinksRequestT& request) const + { + return SubmitCallable(&CodeStarconnectionsClient::ListRepositoryLinks, request); + } + + /** + * An Async wrapper for ListRepositoryLinks that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListRepositoryLinksAsync(const ListRepositoryLinksRequestT& request, const ListRepositoryLinksResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&CodeStarconnectionsClient::ListRepositoryLinks, request, handler, context); + } + + /** + *

Lists the repository sync definitions for repository links in your + * account.

See Also:

AWS + * API Reference

+ */ + virtual Model::ListRepositorySyncDefinitionsOutcome ListRepositorySyncDefinitions(const Model::ListRepositorySyncDefinitionsRequest& request) const; + + /** + * A Callable wrapper for ListRepositorySyncDefinitions that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListRepositorySyncDefinitionsOutcomeCallable ListRepositorySyncDefinitionsCallable(const ListRepositorySyncDefinitionsRequestT& request) const + { + return SubmitCallable(&CodeStarconnectionsClient::ListRepositorySyncDefinitions, request); + } + + /** + * An Async wrapper for ListRepositorySyncDefinitions that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListRepositorySyncDefinitionsAsync(const ListRepositorySyncDefinitionsRequestT& request, const ListRepositorySyncDefinitionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&CodeStarconnectionsClient::ListRepositorySyncDefinitions, request, handler, context); + } + + /** + *

Returns a list of sync configurations for a specified + * repository.

See Also:

AWS + * API Reference

+ */ + virtual Model::ListSyncConfigurationsOutcome ListSyncConfigurations(const Model::ListSyncConfigurationsRequest& request) const; + + /** + * A Callable wrapper for ListSyncConfigurations that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListSyncConfigurationsOutcomeCallable ListSyncConfigurationsCallable(const ListSyncConfigurationsRequestT& request) const + { + return SubmitCallable(&CodeStarconnectionsClient::ListSyncConfigurations, request); + } + + /** + * An Async wrapper for ListSyncConfigurations that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListSyncConfigurationsAsync(const ListSyncConfigurationsRequestT& request, const ListSyncConfigurationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&CodeStarconnectionsClient::ListSyncConfigurations, request, handler, context); + } + /** *

Gets the set of key-value pairs (metadata) that are used to manage the * resource.

See Also:

Updates the association between your connection and a specified external Git + * repository. A repository link allows Git sync to monitor and sync changes to + * files in a specified Git repository.

See Also:

AWS + * API Reference

+ */ + virtual Model::UpdateRepositoryLinkOutcome UpdateRepositoryLink(const Model::UpdateRepositoryLinkRequest& request) const; + + /** + * A Callable wrapper for UpdateRepositoryLink that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::UpdateRepositoryLinkOutcomeCallable UpdateRepositoryLinkCallable(const UpdateRepositoryLinkRequestT& request) const + { + return SubmitCallable(&CodeStarconnectionsClient::UpdateRepositoryLink, request); + } + + /** + * An Async wrapper for UpdateRepositoryLink that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void UpdateRepositoryLinkAsync(const UpdateRepositoryLinkRequestT& request, const UpdateRepositoryLinkResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&CodeStarconnectionsClient::UpdateRepositoryLink, request, handler, context); + } + + /** + *

Allows you to update the status of a sync blocker, resolving the blocker and + * allowing syncing to continue.

See Also:

AWS + * API Reference

+ */ + virtual Model::UpdateSyncBlockerOutcome UpdateSyncBlocker(const Model::UpdateSyncBlockerRequest& request) const; + + /** + * A Callable wrapper for UpdateSyncBlocker that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::UpdateSyncBlockerOutcomeCallable UpdateSyncBlockerCallable(const UpdateSyncBlockerRequestT& request) const + { + return SubmitCallable(&CodeStarconnectionsClient::UpdateSyncBlocker, request); + } + + /** + * An Async wrapper for UpdateSyncBlocker that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void UpdateSyncBlockerAsync(const UpdateSyncBlockerRequestT& request, const UpdateSyncBlockerResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&CodeStarconnectionsClient::UpdateSyncBlocker, request, handler, context); + } + + /** + *

Updates the sync configuration for your connection and a specified external + * Git repository.

See Also:

AWS + * API Reference

+ */ + virtual Model::UpdateSyncConfigurationOutcome UpdateSyncConfiguration(const Model::UpdateSyncConfigurationRequest& request) const; + + /** + * A Callable wrapper for UpdateSyncConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::UpdateSyncConfigurationOutcomeCallable UpdateSyncConfigurationCallable(const UpdateSyncConfigurationRequestT& request) const + { + return SubmitCallable(&CodeStarconnectionsClient::UpdateSyncConfiguration, request); + } + + /** + * An Async wrapper for UpdateSyncConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void UpdateSyncConfigurationAsync(const UpdateSyncConfigurationRequestT& request, const UpdateSyncConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&CodeStarconnectionsClient::UpdateSyncConfiguration, request, handler, context); + } + void OverrideEndpoint(const Aws::String& endpoint); std::shared_ptr& accessEndpointProvider(); diff --git a/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/CodeStarconnectionsErrors.h b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/CodeStarconnectionsErrors.h index c213bb2ee71..70503c076b2 100644 --- a/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/CodeStarconnectionsErrors.h +++ b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/CodeStarconnectionsErrors.h @@ -47,10 +47,20 @@ enum class CodeStarconnectionsErrors UNKNOWN = 100, /////////////////////////////////////////////////////////////////////////////////////////// - CONFLICT= static_cast(Aws::Client::CoreErrors::SERVICE_EXTENSION_START_RANGE) + 1, + CONCURRENT_MODIFICATION= static_cast(Aws::Client::CoreErrors::SERVICE_EXTENSION_START_RANGE) + 1, + CONDITIONAL_CHECK_FAILED, + CONFLICT, + INTERNAL_SERVER, + INVALID_INPUT, LIMIT_EXCEEDED, + RESOURCE_ALREADY_EXISTS, RESOURCE_UNAVAILABLE, - UNSUPPORTED_OPERATION + RETRY_LATEST_COMMIT_FAILED, + SYNC_BLOCKER_DOES_NOT_EXIST, + SYNC_CONFIGURATION_STILL_EXISTS, + UNSUPPORTED_OPERATION, + UNSUPPORTED_PROVIDER_TYPE, + UPDATE_OUT_OF_SYNC }; class AWS_CODESTARCONNECTIONS_API CodeStarconnectionsError : public Aws::Client::AWSError diff --git a/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/CodeStarconnectionsServiceClientModel.h b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/CodeStarconnectionsServiceClientModel.h index 2adf838d160..46169d6f6af 100644 --- a/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/CodeStarconnectionsServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/CodeStarconnectionsServiceClientModel.h @@ -20,16 +20,31 @@ /* Service model headers required in CodeStarconnectionsClient 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 /* End of service model headers required in CodeStarconnectionsClient header */ namespace Aws @@ -72,46 +87,91 @@ namespace Aws /* Service model forward declarations required in CodeStarconnectionsClient header */ class CreateConnectionRequest; class CreateHostRequest; + class CreateRepositoryLinkRequest; + class CreateSyncConfigurationRequest; class DeleteConnectionRequest; class DeleteHostRequest; + class DeleteRepositoryLinkRequest; + class DeleteSyncConfigurationRequest; class GetConnectionRequest; class GetHostRequest; + class GetRepositoryLinkRequest; + class GetRepositorySyncStatusRequest; + class GetResourceSyncStatusRequest; + class GetSyncBlockerSummaryRequest; + class GetSyncConfigurationRequest; class ListConnectionsRequest; class ListHostsRequest; + class ListRepositoryLinksRequest; + class ListRepositorySyncDefinitionsRequest; + class ListSyncConfigurationsRequest; class ListTagsForResourceRequest; class TagResourceRequest; class UntagResourceRequest; class UpdateHostRequest; + class UpdateRepositoryLinkRequest; + class UpdateSyncBlockerRequest; + class UpdateSyncConfigurationRequest; /* End of service model forward declarations required in CodeStarconnectionsClient header */ /* Service model Outcome class definitions */ typedef Aws::Utils::Outcome CreateConnectionOutcome; typedef Aws::Utils::Outcome CreateHostOutcome; + typedef Aws::Utils::Outcome CreateRepositoryLinkOutcome; + typedef Aws::Utils::Outcome CreateSyncConfigurationOutcome; typedef Aws::Utils::Outcome DeleteConnectionOutcome; typedef Aws::Utils::Outcome DeleteHostOutcome; + typedef Aws::Utils::Outcome DeleteRepositoryLinkOutcome; + typedef Aws::Utils::Outcome DeleteSyncConfigurationOutcome; typedef Aws::Utils::Outcome GetConnectionOutcome; typedef Aws::Utils::Outcome GetHostOutcome; + typedef Aws::Utils::Outcome GetRepositoryLinkOutcome; + typedef Aws::Utils::Outcome GetRepositorySyncStatusOutcome; + typedef Aws::Utils::Outcome GetResourceSyncStatusOutcome; + typedef Aws::Utils::Outcome GetSyncBlockerSummaryOutcome; + typedef Aws::Utils::Outcome GetSyncConfigurationOutcome; typedef Aws::Utils::Outcome ListConnectionsOutcome; typedef Aws::Utils::Outcome ListHostsOutcome; + typedef Aws::Utils::Outcome ListRepositoryLinksOutcome; + typedef Aws::Utils::Outcome ListRepositorySyncDefinitionsOutcome; + typedef Aws::Utils::Outcome ListSyncConfigurationsOutcome; typedef Aws::Utils::Outcome ListTagsForResourceOutcome; typedef Aws::Utils::Outcome TagResourceOutcome; typedef Aws::Utils::Outcome UntagResourceOutcome; typedef Aws::Utils::Outcome UpdateHostOutcome; + typedef Aws::Utils::Outcome UpdateRepositoryLinkOutcome; + typedef Aws::Utils::Outcome UpdateSyncBlockerOutcome; + typedef Aws::Utils::Outcome UpdateSyncConfigurationOutcome; /* End of service model Outcome class definitions */ /* Service model Outcome callable definitions */ typedef std::future CreateConnectionOutcomeCallable; typedef std::future CreateHostOutcomeCallable; + typedef std::future CreateRepositoryLinkOutcomeCallable; + typedef std::future CreateSyncConfigurationOutcomeCallable; typedef std::future DeleteConnectionOutcomeCallable; typedef std::future DeleteHostOutcomeCallable; + typedef std::future DeleteRepositoryLinkOutcomeCallable; + typedef std::future DeleteSyncConfigurationOutcomeCallable; typedef std::future GetConnectionOutcomeCallable; typedef std::future GetHostOutcomeCallable; + typedef std::future GetRepositoryLinkOutcomeCallable; + typedef std::future GetRepositorySyncStatusOutcomeCallable; + typedef std::future GetResourceSyncStatusOutcomeCallable; + typedef std::future GetSyncBlockerSummaryOutcomeCallable; + typedef std::future GetSyncConfigurationOutcomeCallable; typedef std::future ListConnectionsOutcomeCallable; typedef std::future ListHostsOutcomeCallable; + typedef std::future ListRepositoryLinksOutcomeCallable; + typedef std::future ListRepositorySyncDefinitionsOutcomeCallable; + typedef std::future ListSyncConfigurationsOutcomeCallable; typedef std::future ListTagsForResourceOutcomeCallable; typedef std::future TagResourceOutcomeCallable; typedef std::future UntagResourceOutcomeCallable; typedef std::future UpdateHostOutcomeCallable; + typedef std::future UpdateRepositoryLinkOutcomeCallable; + typedef std::future UpdateSyncBlockerOutcomeCallable; + typedef std::future UpdateSyncConfigurationOutcomeCallable; /* End of service model Outcome callable definitions */ } // namespace Model @@ -120,16 +180,31 @@ namespace Aws /* Service model async handlers definitions */ typedef std::function&) > CreateConnectionResponseReceivedHandler; typedef std::function&) > CreateHostResponseReceivedHandler; + typedef std::function&) > CreateRepositoryLinkResponseReceivedHandler; + typedef std::function&) > CreateSyncConfigurationResponseReceivedHandler; typedef std::function&) > DeleteConnectionResponseReceivedHandler; typedef std::function&) > DeleteHostResponseReceivedHandler; + typedef std::function&) > DeleteRepositoryLinkResponseReceivedHandler; + typedef std::function&) > DeleteSyncConfigurationResponseReceivedHandler; typedef std::function&) > GetConnectionResponseReceivedHandler; typedef std::function&) > GetHostResponseReceivedHandler; + typedef std::function&) > GetRepositoryLinkResponseReceivedHandler; + typedef std::function&) > GetRepositorySyncStatusResponseReceivedHandler; + typedef std::function&) > GetResourceSyncStatusResponseReceivedHandler; + typedef std::function&) > GetSyncBlockerSummaryResponseReceivedHandler; + typedef std::function&) > GetSyncConfigurationResponseReceivedHandler; typedef std::function&) > ListConnectionsResponseReceivedHandler; typedef std::function&) > ListHostsResponseReceivedHandler; + typedef std::function&) > ListRepositoryLinksResponseReceivedHandler; + typedef std::function&) > ListRepositorySyncDefinitionsResponseReceivedHandler; + typedef std::function&) > ListSyncConfigurationsResponseReceivedHandler; typedef std::function&) > ListTagsForResourceResponseReceivedHandler; typedef std::function&) > TagResourceResponseReceivedHandler; typedef std::function&) > UntagResourceResponseReceivedHandler; typedef std::function&) > UpdateHostResponseReceivedHandler; + typedef std::function&) > UpdateRepositoryLinkResponseReceivedHandler; + typedef std::function&) > UpdateSyncBlockerResponseReceivedHandler; + typedef std::function&) > UpdateSyncConfigurationResponseReceivedHandler; /* End of service model async handlers definitions */ } // namespace CodeStarconnections } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/BlockerStatus.h b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/BlockerStatus.h new file mode 100644 index 00000000000..62a5a3cdc9c --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/BlockerStatus.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 CodeStarconnections +{ +namespace Model +{ + enum class BlockerStatus + { + NOT_SET, + ACTIVE, + RESOLVED + }; + +namespace BlockerStatusMapper +{ +AWS_CODESTARCONNECTIONS_API BlockerStatus GetBlockerStatusForName(const Aws::String& name); + +AWS_CODESTARCONNECTIONS_API Aws::String GetNameForBlockerStatus(BlockerStatus value); +} // namespace BlockerStatusMapper +} // namespace Model +} // namespace CodeStarconnections +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/BlockerType.h b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/BlockerType.h new file mode 100644 index 00000000000..97232104c3e --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/BlockerType.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 CodeStarconnections +{ +namespace Model +{ + enum class BlockerType + { + NOT_SET, + AUTOMATED + }; + +namespace BlockerTypeMapper +{ +AWS_CODESTARCONNECTIONS_API BlockerType GetBlockerTypeForName(const Aws::String& name); + +AWS_CODESTARCONNECTIONS_API Aws::String GetNameForBlockerType(BlockerType value); +} // namespace BlockerTypeMapper +} // namespace Model +} // namespace CodeStarconnections +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/CreateHostRequest.h b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/CreateHostRequest.h index d8dbf400e29..4a4286f4bc5 100644 --- a/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/CreateHostRequest.h +++ b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/CreateHostRequest.h @@ -214,28 +214,44 @@ namespace Model inline CreateHostRequest& WithVpcConfiguration(VpcConfiguration&& value) { SetVpcConfiguration(std::move(value)); return *this;} - + /** + *

Tags for the host to be created.

+ */ inline const Aws::Vector& GetTags() const{ return m_tags; } - + /** + *

Tags for the host to be created.

+ */ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } - + /** + *

Tags for the host to be created.

+ */ inline void SetTags(const Aws::Vector& value) { m_tagsHasBeenSet = true; m_tags = value; } - + /** + *

Tags for the host to be created.

+ */ inline void SetTags(Aws::Vector&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } - + /** + *

Tags for the host to be created.

+ */ inline CreateHostRequest& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} - + /** + *

Tags for the host to be created.

+ */ inline CreateHostRequest& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} - + /** + *

Tags for the host to be created.

+ */ inline CreateHostRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } - + /** + *

Tags for the host to be created.

+ */ inline CreateHostRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } private: diff --git a/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/CreateHostResult.h b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/CreateHostResult.h index a6488bf8576..9db1c38bb38 100644 --- a/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/CreateHostResult.h +++ b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/CreateHostResult.h @@ -70,25 +70,39 @@ namespace Model inline CreateHostResult& WithHostArn(const char* value) { SetHostArn(value); return *this;} - + /** + *

Tags for the created host.

+ */ inline const Aws::Vector& GetTags() const{ return m_tags; } - + /** + *

Tags for the created host.

+ */ inline void SetTags(const Aws::Vector& value) { m_tags = value; } - + /** + *

Tags for the created host.

+ */ inline void SetTags(Aws::Vector&& value) { m_tags = std::move(value); } - + /** + *

Tags for the created host.

+ */ inline CreateHostResult& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} - + /** + *

Tags for the created host.

+ */ inline CreateHostResult& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} - + /** + *

Tags for the created host.

+ */ inline CreateHostResult& AddTags(const Tag& value) { m_tags.push_back(value); return *this; } - + /** + *

Tags for the created host.

+ */ inline CreateHostResult& AddTags(Tag&& value) { m_tags.push_back(std::move(value)); return *this; } diff --git a/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/CreateRepositoryLinkRequest.h b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/CreateRepositoryLinkRequest.h new file mode 100644 index 00000000000..0a15ebb21d7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/CreateRepositoryLinkRequest.h @@ -0,0 +1,287 @@ +/** + * 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 CodeStarconnections +{ +namespace Model +{ + + /** + */ + class CreateRepositoryLinkRequest : public CodeStarconnectionsRequest + { + public: + AWS_CODESTARCONNECTIONS_API CreateRepositoryLinkRequest(); + + // 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 "CreateRepositoryLink"; } + + AWS_CODESTARCONNECTIONS_API Aws::String SerializePayload() const override; + + AWS_CODESTARCONNECTIONS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + *

The Amazon Resource Name (ARN) of the connection to be associated with the + * repository link.

+ */ + inline const Aws::String& GetConnectionArn() const{ return m_connectionArn; } + + /** + *

The Amazon Resource Name (ARN) of the connection to be associated with the + * repository link.

+ */ + inline bool ConnectionArnHasBeenSet() const { return m_connectionArnHasBeenSet; } + + /** + *

The Amazon Resource Name (ARN) of the connection to be associated with the + * repository link.

+ */ + inline void SetConnectionArn(const Aws::String& value) { m_connectionArnHasBeenSet = true; m_connectionArn = value; } + + /** + *

The Amazon Resource Name (ARN) of the connection to be associated with the + * repository link.

+ */ + inline void SetConnectionArn(Aws::String&& value) { m_connectionArnHasBeenSet = true; m_connectionArn = std::move(value); } + + /** + *

The Amazon Resource Name (ARN) of the connection to be associated with the + * repository link.

+ */ + inline void SetConnectionArn(const char* value) { m_connectionArnHasBeenSet = true; m_connectionArn.assign(value); } + + /** + *

The Amazon Resource Name (ARN) of the connection to be associated with the + * repository link.

+ */ + inline CreateRepositoryLinkRequest& WithConnectionArn(const Aws::String& value) { SetConnectionArn(value); return *this;} + + /** + *

The Amazon Resource Name (ARN) of the connection to be associated with the + * repository link.

+ */ + inline CreateRepositoryLinkRequest& WithConnectionArn(Aws::String&& value) { SetConnectionArn(std::move(value)); return *this;} + + /** + *

The Amazon Resource Name (ARN) of the connection to be associated with the + * repository link.

+ */ + inline CreateRepositoryLinkRequest& WithConnectionArn(const char* value) { SetConnectionArn(value); return *this;} + + + /** + *

The owner ID for the repository associated with a specific sync + * configuration, such as the owner ID in GitHub.

+ */ + inline const Aws::String& GetOwnerId() const{ return m_ownerId; } + + /** + *

The owner ID for the repository associated with a specific sync + * configuration, such as the owner ID in GitHub.

+ */ + inline bool OwnerIdHasBeenSet() const { return m_ownerIdHasBeenSet; } + + /** + *

The owner ID for the repository associated with a specific sync + * configuration, such as the owner ID in GitHub.

+ */ + inline void SetOwnerId(const Aws::String& value) { m_ownerIdHasBeenSet = true; m_ownerId = value; } + + /** + *

The owner ID for the repository associated with a specific sync + * configuration, such as the owner ID in GitHub.

+ */ + inline void SetOwnerId(Aws::String&& value) { m_ownerIdHasBeenSet = true; m_ownerId = std::move(value); } + + /** + *

The owner ID for the repository associated with a specific sync + * configuration, such as the owner ID in GitHub.

+ */ + inline void SetOwnerId(const char* value) { m_ownerIdHasBeenSet = true; m_ownerId.assign(value); } + + /** + *

The owner ID for the repository associated with a specific sync + * configuration, such as the owner ID in GitHub.

+ */ + inline CreateRepositoryLinkRequest& WithOwnerId(const Aws::String& value) { SetOwnerId(value); return *this;} + + /** + *

The owner ID for the repository associated with a specific sync + * configuration, such as the owner ID in GitHub.

+ */ + inline CreateRepositoryLinkRequest& WithOwnerId(Aws::String&& value) { SetOwnerId(std::move(value)); return *this;} + + /** + *

The owner ID for the repository associated with a specific sync + * configuration, such as the owner ID in GitHub.

+ */ + inline CreateRepositoryLinkRequest& WithOwnerId(const char* value) { SetOwnerId(value); return *this;} + + + /** + *

The name of the repository to be associated with the repository link.

+ */ + inline const Aws::String& GetRepositoryName() const{ return m_repositoryName; } + + /** + *

The name of the repository to be associated with the repository link.

+ */ + inline bool RepositoryNameHasBeenSet() const { return m_repositoryNameHasBeenSet; } + + /** + *

The name of the repository to be associated with the repository link.

+ */ + inline void SetRepositoryName(const Aws::String& value) { m_repositoryNameHasBeenSet = true; m_repositoryName = value; } + + /** + *

The name of the repository to be associated with the repository link.

+ */ + inline void SetRepositoryName(Aws::String&& value) { m_repositoryNameHasBeenSet = true; m_repositoryName = std::move(value); } + + /** + *

The name of the repository to be associated with the repository link.

+ */ + inline void SetRepositoryName(const char* value) { m_repositoryNameHasBeenSet = true; m_repositoryName.assign(value); } + + /** + *

The name of the repository to be associated with the repository link.

+ */ + inline CreateRepositoryLinkRequest& WithRepositoryName(const Aws::String& value) { SetRepositoryName(value); return *this;} + + /** + *

The name of the repository to be associated with the repository link.

+ */ + inline CreateRepositoryLinkRequest& WithRepositoryName(Aws::String&& value) { SetRepositoryName(std::move(value)); return *this;} + + /** + *

The name of the repository to be associated with the repository link.

+ */ + inline CreateRepositoryLinkRequest& WithRepositoryName(const char* value) { SetRepositoryName(value); return *this;} + + + /** + *

The Amazon Resource Name (ARN) encryption key for the repository to be + * associated with the repository link.

+ */ + inline const Aws::String& GetEncryptionKeyArn() const{ return m_encryptionKeyArn; } + + /** + *

The Amazon Resource Name (ARN) encryption key for the repository to be + * associated with the repository link.

+ */ + inline bool EncryptionKeyArnHasBeenSet() const { return m_encryptionKeyArnHasBeenSet; } + + /** + *

The Amazon Resource Name (ARN) encryption key for the repository to be + * associated with the repository link.

+ */ + inline void SetEncryptionKeyArn(const Aws::String& value) { m_encryptionKeyArnHasBeenSet = true; m_encryptionKeyArn = value; } + + /** + *

The Amazon Resource Name (ARN) encryption key for the repository to be + * associated with the repository link.

+ */ + inline void SetEncryptionKeyArn(Aws::String&& value) { m_encryptionKeyArnHasBeenSet = true; m_encryptionKeyArn = std::move(value); } + + /** + *

The Amazon Resource Name (ARN) encryption key for the repository to be + * associated with the repository link.

+ */ + inline void SetEncryptionKeyArn(const char* value) { m_encryptionKeyArnHasBeenSet = true; m_encryptionKeyArn.assign(value); } + + /** + *

The Amazon Resource Name (ARN) encryption key for the repository to be + * associated with the repository link.

+ */ + inline CreateRepositoryLinkRequest& WithEncryptionKeyArn(const Aws::String& value) { SetEncryptionKeyArn(value); return *this;} + + /** + *

The Amazon Resource Name (ARN) encryption key for the repository to be + * associated with the repository link.

+ */ + inline CreateRepositoryLinkRequest& WithEncryptionKeyArn(Aws::String&& value) { SetEncryptionKeyArn(std::move(value)); return *this;} + + /** + *

The Amazon Resource Name (ARN) encryption key for the repository to be + * associated with the repository link.

+ */ + inline CreateRepositoryLinkRequest& WithEncryptionKeyArn(const char* value) { SetEncryptionKeyArn(value); return *this;} + + + /** + *

The tags for the repository to be associated with the repository link.

+ */ + inline const Aws::Vector& GetTags() const{ return m_tags; } + + /** + *

The tags for the repository to be associated with the repository link.

+ */ + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + + /** + *

The tags for the repository to be associated with the repository link.

+ */ + inline void SetTags(const Aws::Vector& value) { m_tagsHasBeenSet = true; m_tags = value; } + + /** + *

The tags for the repository to be associated with the repository link.

+ */ + inline void SetTags(Aws::Vector&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } + + /** + *

The tags for the repository to be associated with the repository link.

+ */ + inline CreateRepositoryLinkRequest& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} + + /** + *

The tags for the repository to be associated with the repository link.

+ */ + inline CreateRepositoryLinkRequest& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} + + /** + *

The tags for the repository to be associated with the repository link.

+ */ + inline CreateRepositoryLinkRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } + + /** + *

The tags for the repository to be associated with the repository link.

+ */ + inline CreateRepositoryLinkRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } + + private: + + Aws::String m_connectionArn; + bool m_connectionArnHasBeenSet = false; + + Aws::String m_ownerId; + bool m_ownerIdHasBeenSet = false; + + Aws::String m_repositoryName; + bool m_repositoryNameHasBeenSet = false; + + Aws::String m_encryptionKeyArn; + bool m_encryptionKeyArnHasBeenSet = false; + + Aws::Vector m_tags; + bool m_tagsHasBeenSet = false; + }; + +} // namespace Model +} // namespace CodeStarconnections +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/CreateRepositoryLinkResult.h b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/CreateRepositoryLinkResult.h new file mode 100644 index 00000000000..a355b6e73d1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/CreateRepositoryLinkResult.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 + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace CodeStarconnections +{ +namespace Model +{ + class CreateRepositoryLinkResult + { + public: + AWS_CODESTARCONNECTIONS_API CreateRepositoryLinkResult(); + AWS_CODESTARCONNECTIONS_API CreateRepositoryLinkResult(const Aws::AmazonWebServiceResult& result); + AWS_CODESTARCONNECTIONS_API CreateRepositoryLinkResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

The returned information about the created repository link.

+ */ + inline const RepositoryLinkInfo& GetRepositoryLinkInfo() const{ return m_repositoryLinkInfo; } + + /** + *

The returned information about the created repository link.

+ */ + inline void SetRepositoryLinkInfo(const RepositoryLinkInfo& value) { m_repositoryLinkInfo = value; } + + /** + *

The returned information about the created repository link.

+ */ + inline void SetRepositoryLinkInfo(RepositoryLinkInfo&& value) { m_repositoryLinkInfo = std::move(value); } + + /** + *

The returned information about the created repository link.

+ */ + inline CreateRepositoryLinkResult& WithRepositoryLinkInfo(const RepositoryLinkInfo& value) { SetRepositoryLinkInfo(value); return *this;} + + /** + *

The returned information about the created repository link.

+ */ + inline CreateRepositoryLinkResult& WithRepositoryLinkInfo(RepositoryLinkInfo&& value) { SetRepositoryLinkInfo(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 CreateRepositoryLinkResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline CreateRepositoryLinkResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline CreateRepositoryLinkResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + RepositoryLinkInfo m_repositoryLinkInfo; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace CodeStarconnections +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/CreateSyncConfigurationRequest.h b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/CreateSyncConfigurationRequest.h new file mode 100644 index 00000000000..34137a523d6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/CreateSyncConfigurationRequest.h @@ -0,0 +1,352 @@ +/** + * 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 CodeStarconnections +{ +namespace Model +{ + + /** + */ + class CreateSyncConfigurationRequest : public CodeStarconnectionsRequest + { + public: + AWS_CODESTARCONNECTIONS_API CreateSyncConfigurationRequest(); + + // 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 "CreateSyncConfiguration"; } + + AWS_CODESTARCONNECTIONS_API Aws::String SerializePayload() const override; + + AWS_CODESTARCONNECTIONS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + *

The branch in the repository from which changes will be synced.

+ */ + inline const Aws::String& GetBranch() const{ return m_branch; } + + /** + *

The branch in the repository from which changes will be synced.

+ */ + inline bool BranchHasBeenSet() const { return m_branchHasBeenSet; } + + /** + *

The branch in the repository from which changes will be synced.

+ */ + inline void SetBranch(const Aws::String& value) { m_branchHasBeenSet = true; m_branch = value; } + + /** + *

The branch in the repository from which changes will be synced.

+ */ + inline void SetBranch(Aws::String&& value) { m_branchHasBeenSet = true; m_branch = std::move(value); } + + /** + *

The branch in the repository from which changes will be synced.

+ */ + inline void SetBranch(const char* value) { m_branchHasBeenSet = true; m_branch.assign(value); } + + /** + *

The branch in the repository from which changes will be synced.

+ */ + inline CreateSyncConfigurationRequest& WithBranch(const Aws::String& value) { SetBranch(value); return *this;} + + /** + *

The branch in the repository from which changes will be synced.

+ */ + inline CreateSyncConfigurationRequest& WithBranch(Aws::String&& value) { SetBranch(std::move(value)); return *this;} + + /** + *

The branch in the repository from which changes will be synced.

+ */ + inline CreateSyncConfigurationRequest& WithBranch(const char* value) { SetBranch(value); return *this;} + + + /** + *

The file name of the configuration file that manages syncing between the + * connection and the repository. This configuration file is stored in the + * repository.

+ */ + inline const Aws::String& GetConfigFile() const{ return m_configFile; } + + /** + *

The file name of the configuration file that manages syncing between the + * connection and the repository. This configuration file is stored in the + * repository.

+ */ + inline bool ConfigFileHasBeenSet() const { return m_configFileHasBeenSet; } + + /** + *

The file name of the configuration file that manages syncing between the + * connection and the repository. This configuration file is stored in the + * repository.

+ */ + inline void SetConfigFile(const Aws::String& value) { m_configFileHasBeenSet = true; m_configFile = value; } + + /** + *

The file name of the configuration file that manages syncing between the + * connection and the repository. This configuration file is stored in the + * repository.

+ */ + inline void SetConfigFile(Aws::String&& value) { m_configFileHasBeenSet = true; m_configFile = std::move(value); } + + /** + *

The file name of the configuration file that manages syncing between the + * connection and the repository. This configuration file is stored in the + * repository.

+ */ + inline void SetConfigFile(const char* value) { m_configFileHasBeenSet = true; m_configFile.assign(value); } + + /** + *

The file name of the configuration file that manages syncing between the + * connection and the repository. This configuration file is stored in the + * repository.

+ */ + inline CreateSyncConfigurationRequest& WithConfigFile(const Aws::String& value) { SetConfigFile(value); return *this;} + + /** + *

The file name of the configuration file that manages syncing between the + * connection and the repository. This configuration file is stored in the + * repository.

+ */ + inline CreateSyncConfigurationRequest& WithConfigFile(Aws::String&& value) { SetConfigFile(std::move(value)); return *this;} + + /** + *

The file name of the configuration file that manages syncing between the + * connection and the repository. This configuration file is stored in the + * repository.

+ */ + inline CreateSyncConfigurationRequest& WithConfigFile(const char* value) { SetConfigFile(value); return *this;} + + + /** + *

The ID of the repository link created for the connection. A repository link + * allows Git sync to monitor and sync changes to files in a specified Git + * repository.

+ */ + inline const Aws::String& GetRepositoryLinkId() const{ return m_repositoryLinkId; } + + /** + *

The ID of the repository link created for the connection. A repository link + * allows Git sync to monitor and sync changes to files in a specified Git + * repository.

+ */ + inline bool RepositoryLinkIdHasBeenSet() const { return m_repositoryLinkIdHasBeenSet; } + + /** + *

The ID of the repository link created for the connection. A repository link + * allows Git sync to monitor and sync changes to files in a specified Git + * repository.

+ */ + inline void SetRepositoryLinkId(const Aws::String& value) { m_repositoryLinkIdHasBeenSet = true; m_repositoryLinkId = value; } + + /** + *

The ID of the repository link created for the connection. A repository link + * allows Git sync to monitor and sync changes to files in a specified Git + * repository.

+ */ + inline void SetRepositoryLinkId(Aws::String&& value) { m_repositoryLinkIdHasBeenSet = true; m_repositoryLinkId = std::move(value); } + + /** + *

The ID of the repository link created for the connection. A repository link + * allows Git sync to monitor and sync changes to files in a specified Git + * repository.

+ */ + inline void SetRepositoryLinkId(const char* value) { m_repositoryLinkIdHasBeenSet = true; m_repositoryLinkId.assign(value); } + + /** + *

The ID of the repository link created for the connection. A repository link + * allows Git sync to monitor and sync changes to files in a specified Git + * repository.

+ */ + inline CreateSyncConfigurationRequest& WithRepositoryLinkId(const Aws::String& value) { SetRepositoryLinkId(value); return *this;} + + /** + *

The ID of the repository link created for the connection. A repository link + * allows Git sync to monitor and sync changes to files in a specified Git + * repository.

+ */ + inline CreateSyncConfigurationRequest& WithRepositoryLinkId(Aws::String&& value) { SetRepositoryLinkId(std::move(value)); return *this;} + + /** + *

The ID of the repository link created for the connection. A repository link + * allows Git sync to monitor and sync changes to files in a specified Git + * repository.

+ */ + inline CreateSyncConfigurationRequest& WithRepositoryLinkId(const char* value) { SetRepositoryLinkId(value); return *this;} + + + /** + *

The name of the Amazon Web Services resource (for example, a CloudFormation + * stack in the case of CFN_STACK_SYNC) that will be synchronized from the linked + * repository.

+ */ + inline const Aws::String& GetResourceName() const{ return m_resourceName; } + + /** + *

The name of the Amazon Web Services resource (for example, a CloudFormation + * stack in the case of CFN_STACK_SYNC) that will be synchronized from the linked + * repository.

+ */ + inline bool ResourceNameHasBeenSet() const { return m_resourceNameHasBeenSet; } + + /** + *

The name of the Amazon Web Services resource (for example, a CloudFormation + * stack in the case of CFN_STACK_SYNC) that will be synchronized from the linked + * repository.

+ */ + inline void SetResourceName(const Aws::String& value) { m_resourceNameHasBeenSet = true; m_resourceName = value; } + + /** + *

The name of the Amazon Web Services resource (for example, a CloudFormation + * stack in the case of CFN_STACK_SYNC) that will be synchronized from the linked + * repository.

+ */ + inline void SetResourceName(Aws::String&& value) { m_resourceNameHasBeenSet = true; m_resourceName = std::move(value); } + + /** + *

The name of the Amazon Web Services resource (for example, a CloudFormation + * stack in the case of CFN_STACK_SYNC) that will be synchronized from the linked + * repository.

+ */ + inline void SetResourceName(const char* value) { m_resourceNameHasBeenSet = true; m_resourceName.assign(value); } + + /** + *

The name of the Amazon Web Services resource (for example, a CloudFormation + * stack in the case of CFN_STACK_SYNC) that will be synchronized from the linked + * repository.

+ */ + inline CreateSyncConfigurationRequest& WithResourceName(const Aws::String& value) { SetResourceName(value); return *this;} + + /** + *

The name of the Amazon Web Services resource (for example, a CloudFormation + * stack in the case of CFN_STACK_SYNC) that will be synchronized from the linked + * repository.

+ */ + inline CreateSyncConfigurationRequest& WithResourceName(Aws::String&& value) { SetResourceName(std::move(value)); return *this;} + + /** + *

The name of the Amazon Web Services resource (for example, a CloudFormation + * stack in the case of CFN_STACK_SYNC) that will be synchronized from the linked + * repository.

+ */ + inline CreateSyncConfigurationRequest& WithResourceName(const char* value) { SetResourceName(value); return *this;} + + + /** + *

The ARN of the IAM role that grants permission for Amazon Web Services to use + * Git sync to update a given Amazon Web Services resource on your behalf.

+ */ + inline const Aws::String& GetRoleArn() const{ return m_roleArn; } + + /** + *

The ARN of the IAM role that grants permission for Amazon Web Services to use + * Git sync to update a given Amazon Web Services resource on your behalf.

+ */ + inline bool RoleArnHasBeenSet() const { return m_roleArnHasBeenSet; } + + /** + *

The ARN of the IAM role that grants permission for Amazon Web Services to use + * Git sync to update a given Amazon Web Services resource on your behalf.

+ */ + inline void SetRoleArn(const Aws::String& value) { m_roleArnHasBeenSet = true; m_roleArn = value; } + + /** + *

The ARN of the IAM role that grants permission for Amazon Web Services to use + * Git sync to update a given Amazon Web Services resource on your behalf.

+ */ + inline void SetRoleArn(Aws::String&& value) { m_roleArnHasBeenSet = true; m_roleArn = std::move(value); } + + /** + *

The ARN of the IAM role that grants permission for Amazon Web Services to use + * Git sync to update a given Amazon Web Services resource on your behalf.

+ */ + inline void SetRoleArn(const char* value) { m_roleArnHasBeenSet = true; m_roleArn.assign(value); } + + /** + *

The ARN of the IAM role that grants permission for Amazon Web Services to use + * Git sync to update a given Amazon Web Services resource on your behalf.

+ */ + inline CreateSyncConfigurationRequest& WithRoleArn(const Aws::String& value) { SetRoleArn(value); return *this;} + + /** + *

The ARN of the IAM role that grants permission for Amazon Web Services to use + * Git sync to update a given Amazon Web Services resource on your behalf.

+ */ + inline CreateSyncConfigurationRequest& WithRoleArn(Aws::String&& value) { SetRoleArn(std::move(value)); return *this;} + + /** + *

The ARN of the IAM role that grants permission for Amazon Web Services to use + * Git sync to update a given Amazon Web Services resource on your behalf.

+ */ + inline CreateSyncConfigurationRequest& WithRoleArn(const char* value) { SetRoleArn(value); return *this;} + + + /** + *

The type of sync configuration.

+ */ + inline const SyncConfigurationType& GetSyncType() const{ return m_syncType; } + + /** + *

The type of sync configuration.

+ */ + inline bool SyncTypeHasBeenSet() const { return m_syncTypeHasBeenSet; } + + /** + *

The type of sync configuration.

+ */ + inline void SetSyncType(const SyncConfigurationType& value) { m_syncTypeHasBeenSet = true; m_syncType = value; } + + /** + *

The type of sync configuration.

+ */ + inline void SetSyncType(SyncConfigurationType&& value) { m_syncTypeHasBeenSet = true; m_syncType = std::move(value); } + + /** + *

The type of sync configuration.

+ */ + inline CreateSyncConfigurationRequest& WithSyncType(const SyncConfigurationType& value) { SetSyncType(value); return *this;} + + /** + *

The type of sync configuration.

+ */ + inline CreateSyncConfigurationRequest& WithSyncType(SyncConfigurationType&& value) { SetSyncType(std::move(value)); return *this;} + + private: + + Aws::String m_branch; + bool m_branchHasBeenSet = false; + + Aws::String m_configFile; + bool m_configFileHasBeenSet = false; + + Aws::String m_repositoryLinkId; + bool m_repositoryLinkIdHasBeenSet = false; + + Aws::String m_resourceName; + bool m_resourceNameHasBeenSet = false; + + Aws::String m_roleArn; + bool m_roleArnHasBeenSet = false; + + SyncConfigurationType m_syncType; + bool m_syncTypeHasBeenSet = false; + }; + +} // namespace Model +} // namespace CodeStarconnections +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/CreateSyncConfigurationResult.h b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/CreateSyncConfigurationResult.h new file mode 100644 index 00000000000..ea7e4296f72 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/CreateSyncConfigurationResult.h @@ -0,0 +1,102 @@ +/** + * 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 CodeStarconnections +{ +namespace Model +{ + class CreateSyncConfigurationResult + { + public: + AWS_CODESTARCONNECTIONS_API CreateSyncConfigurationResult(); + AWS_CODESTARCONNECTIONS_API CreateSyncConfigurationResult(const Aws::AmazonWebServiceResult& result); + AWS_CODESTARCONNECTIONS_API CreateSyncConfigurationResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

The created sync configuration for the connection. A sync configuration + * allows Amazon Web Services to sync content from a Git repository to update a + * specified Amazon Web Services resource.

+ */ + inline const SyncConfiguration& GetSyncConfiguration() const{ return m_syncConfiguration; } + + /** + *

The created sync configuration for the connection. A sync configuration + * allows Amazon Web Services to sync content from a Git repository to update a + * specified Amazon Web Services resource.

+ */ + inline void SetSyncConfiguration(const SyncConfiguration& value) { m_syncConfiguration = value; } + + /** + *

The created sync configuration for the connection. A sync configuration + * allows Amazon Web Services to sync content from a Git repository to update a + * specified Amazon Web Services resource.

+ */ + inline void SetSyncConfiguration(SyncConfiguration&& value) { m_syncConfiguration = std::move(value); } + + /** + *

The created sync configuration for the connection. A sync configuration + * allows Amazon Web Services to sync content from a Git repository to update a + * specified Amazon Web Services resource.

+ */ + inline CreateSyncConfigurationResult& WithSyncConfiguration(const SyncConfiguration& value) { SetSyncConfiguration(value); return *this;} + + /** + *

The created sync configuration for the connection. A sync configuration + * allows Amazon Web Services to sync content from a Git repository to update a + * specified Amazon Web Services resource.

+ */ + inline CreateSyncConfigurationResult& WithSyncConfiguration(SyncConfiguration&& value) { SetSyncConfiguration(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 CreateSyncConfigurationResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline CreateSyncConfigurationResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline CreateSyncConfigurationResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + SyncConfiguration m_syncConfiguration; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace CodeStarconnections +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/DeleteRepositoryLinkRequest.h b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/DeleteRepositoryLinkRequest.h new file mode 100644 index 00000000000..3b92c744136 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/DeleteRepositoryLinkRequest.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 + +namespace Aws +{ +namespace CodeStarconnections +{ +namespace Model +{ + + /** + */ + class DeleteRepositoryLinkRequest : public CodeStarconnectionsRequest + { + public: + AWS_CODESTARCONNECTIONS_API DeleteRepositoryLinkRequest(); + + // 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 "DeleteRepositoryLink"; } + + AWS_CODESTARCONNECTIONS_API Aws::String SerializePayload() const override; + + AWS_CODESTARCONNECTIONS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + *

The ID of the repository link to be deleted.

+ */ + inline const Aws::String& GetRepositoryLinkId() const{ return m_repositoryLinkId; } + + /** + *

The ID of the repository link to be deleted.

+ */ + inline bool RepositoryLinkIdHasBeenSet() const { return m_repositoryLinkIdHasBeenSet; } + + /** + *

The ID of the repository link to be deleted.

+ */ + inline void SetRepositoryLinkId(const Aws::String& value) { m_repositoryLinkIdHasBeenSet = true; m_repositoryLinkId = value; } + + /** + *

The ID of the repository link to be deleted.

+ */ + inline void SetRepositoryLinkId(Aws::String&& value) { m_repositoryLinkIdHasBeenSet = true; m_repositoryLinkId = std::move(value); } + + /** + *

The ID of the repository link to be deleted.

+ */ + inline void SetRepositoryLinkId(const char* value) { m_repositoryLinkIdHasBeenSet = true; m_repositoryLinkId.assign(value); } + + /** + *

The ID of the repository link to be deleted.

+ */ + inline DeleteRepositoryLinkRequest& WithRepositoryLinkId(const Aws::String& value) { SetRepositoryLinkId(value); return *this;} + + /** + *

The ID of the repository link to be deleted.

+ */ + inline DeleteRepositoryLinkRequest& WithRepositoryLinkId(Aws::String&& value) { SetRepositoryLinkId(std::move(value)); return *this;} + + /** + *

The ID of the repository link to be deleted.

+ */ + inline DeleteRepositoryLinkRequest& WithRepositoryLinkId(const char* value) { SetRepositoryLinkId(value); return *this;} + + private: + + Aws::String m_repositoryLinkId; + bool m_repositoryLinkIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace CodeStarconnections +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/DeleteRepositoryLinkResult.h b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/DeleteRepositoryLinkResult.h new file mode 100644 index 00000000000..0390ba984ad --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/DeleteRepositoryLinkResult.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 + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace CodeStarconnections +{ +namespace Model +{ + class DeleteRepositoryLinkResult + { + public: + AWS_CODESTARCONNECTIONS_API DeleteRepositoryLinkResult(); + AWS_CODESTARCONNECTIONS_API DeleteRepositoryLinkResult(const Aws::AmazonWebServiceResult& result); + AWS_CODESTARCONNECTIONS_API DeleteRepositoryLinkResult& 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 DeleteRepositoryLinkResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline DeleteRepositoryLinkResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline DeleteRepositoryLinkResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace CodeStarconnections +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/DeleteSyncConfigurationRequest.h b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/DeleteSyncConfigurationRequest.h new file mode 100644 index 00000000000..2863ebb9b3f --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/DeleteSyncConfigurationRequest.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 +#include + +namespace Aws +{ +namespace CodeStarconnections +{ +namespace Model +{ + + /** + */ + class DeleteSyncConfigurationRequest : public CodeStarconnectionsRequest + { + public: + AWS_CODESTARCONNECTIONS_API DeleteSyncConfigurationRequest(); + + // 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 "DeleteSyncConfiguration"; } + + AWS_CODESTARCONNECTIONS_API Aws::String SerializePayload() const override; + + AWS_CODESTARCONNECTIONS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + *

The type of sync configuration to be deleted.

+ */ + inline const SyncConfigurationType& GetSyncType() const{ return m_syncType; } + + /** + *

The type of sync configuration to be deleted.

+ */ + inline bool SyncTypeHasBeenSet() const { return m_syncTypeHasBeenSet; } + + /** + *

The type of sync configuration to be deleted.

+ */ + inline void SetSyncType(const SyncConfigurationType& value) { m_syncTypeHasBeenSet = true; m_syncType = value; } + + /** + *

The type of sync configuration to be deleted.

+ */ + inline void SetSyncType(SyncConfigurationType&& value) { m_syncTypeHasBeenSet = true; m_syncType = std::move(value); } + + /** + *

The type of sync configuration to be deleted.

+ */ + inline DeleteSyncConfigurationRequest& WithSyncType(const SyncConfigurationType& value) { SetSyncType(value); return *this;} + + /** + *

The type of sync configuration to be deleted.

+ */ + inline DeleteSyncConfigurationRequest& WithSyncType(SyncConfigurationType&& value) { SetSyncType(std::move(value)); return *this;} + + + /** + *

The name of the Amazon Web Services resource associated with the sync + * configuration to be deleted.

+ */ + inline const Aws::String& GetResourceName() const{ return m_resourceName; } + + /** + *

The name of the Amazon Web Services resource associated with the sync + * configuration to be deleted.

+ */ + inline bool ResourceNameHasBeenSet() const { return m_resourceNameHasBeenSet; } + + /** + *

The name of the Amazon Web Services resource associated with the sync + * configuration to be deleted.

+ */ + inline void SetResourceName(const Aws::String& value) { m_resourceNameHasBeenSet = true; m_resourceName = value; } + + /** + *

The name of the Amazon Web Services resource associated with the sync + * configuration to be deleted.

+ */ + inline void SetResourceName(Aws::String&& value) { m_resourceNameHasBeenSet = true; m_resourceName = std::move(value); } + + /** + *

The name of the Amazon Web Services resource associated with the sync + * configuration to be deleted.

+ */ + inline void SetResourceName(const char* value) { m_resourceNameHasBeenSet = true; m_resourceName.assign(value); } + + /** + *

The name of the Amazon Web Services resource associated with the sync + * configuration to be deleted.

+ */ + inline DeleteSyncConfigurationRequest& WithResourceName(const Aws::String& value) { SetResourceName(value); return *this;} + + /** + *

The name of the Amazon Web Services resource associated with the sync + * configuration to be deleted.

+ */ + inline DeleteSyncConfigurationRequest& WithResourceName(Aws::String&& value) { SetResourceName(std::move(value)); return *this;} + + /** + *

The name of the Amazon Web Services resource associated with the sync + * configuration to be deleted.

+ */ + inline DeleteSyncConfigurationRequest& WithResourceName(const char* value) { SetResourceName(value); return *this;} + + private: + + SyncConfigurationType m_syncType; + bool m_syncTypeHasBeenSet = false; + + Aws::String m_resourceName; + bool m_resourceNameHasBeenSet = false; + }; + +} // namespace Model +} // namespace CodeStarconnections +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/DeleteSyncConfigurationResult.h b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/DeleteSyncConfigurationResult.h new file mode 100644 index 00000000000..8c86ac36fa4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/DeleteSyncConfigurationResult.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 + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace CodeStarconnections +{ +namespace Model +{ + class DeleteSyncConfigurationResult + { + public: + AWS_CODESTARCONNECTIONS_API DeleteSyncConfigurationResult(); + AWS_CODESTARCONNECTIONS_API DeleteSyncConfigurationResult(const Aws::AmazonWebServiceResult& result); + AWS_CODESTARCONNECTIONS_API DeleteSyncConfigurationResult& 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 DeleteSyncConfigurationResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline DeleteSyncConfigurationResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline DeleteSyncConfigurationResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace CodeStarconnections +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/GetRepositoryLinkRequest.h b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/GetRepositoryLinkRequest.h new file mode 100644 index 00000000000..994c5ec539f --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/GetRepositoryLinkRequest.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 + +namespace Aws +{ +namespace CodeStarconnections +{ +namespace Model +{ + + /** + */ + class GetRepositoryLinkRequest : public CodeStarconnectionsRequest + { + public: + AWS_CODESTARCONNECTIONS_API GetRepositoryLinkRequest(); + + // 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 "GetRepositoryLink"; } + + AWS_CODESTARCONNECTIONS_API Aws::String SerializePayload() const override; + + AWS_CODESTARCONNECTIONS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + *

The ID of the repository link to get.

+ */ + inline const Aws::String& GetRepositoryLinkId() const{ return m_repositoryLinkId; } + + /** + *

The ID of the repository link to get.

+ */ + inline bool RepositoryLinkIdHasBeenSet() const { return m_repositoryLinkIdHasBeenSet; } + + /** + *

The ID of the repository link to get.

+ */ + inline void SetRepositoryLinkId(const Aws::String& value) { m_repositoryLinkIdHasBeenSet = true; m_repositoryLinkId = value; } + + /** + *

The ID of the repository link to get.

+ */ + inline void SetRepositoryLinkId(Aws::String&& value) { m_repositoryLinkIdHasBeenSet = true; m_repositoryLinkId = std::move(value); } + + /** + *

The ID of the repository link to get.

+ */ + inline void SetRepositoryLinkId(const char* value) { m_repositoryLinkIdHasBeenSet = true; m_repositoryLinkId.assign(value); } + + /** + *

The ID of the repository link to get.

+ */ + inline GetRepositoryLinkRequest& WithRepositoryLinkId(const Aws::String& value) { SetRepositoryLinkId(value); return *this;} + + /** + *

The ID of the repository link to get.

+ */ + inline GetRepositoryLinkRequest& WithRepositoryLinkId(Aws::String&& value) { SetRepositoryLinkId(std::move(value)); return *this;} + + /** + *

The ID of the repository link to get.

+ */ + inline GetRepositoryLinkRequest& WithRepositoryLinkId(const char* value) { SetRepositoryLinkId(value); return *this;} + + private: + + Aws::String m_repositoryLinkId; + bool m_repositoryLinkIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace CodeStarconnections +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/GetRepositoryLinkResult.h b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/GetRepositoryLinkResult.h new file mode 100644 index 00000000000..23ae1f82d74 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/GetRepositoryLinkResult.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 + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace CodeStarconnections +{ +namespace Model +{ + class GetRepositoryLinkResult + { + public: + AWS_CODESTARCONNECTIONS_API GetRepositoryLinkResult(); + AWS_CODESTARCONNECTIONS_API GetRepositoryLinkResult(const Aws::AmazonWebServiceResult& result); + AWS_CODESTARCONNECTIONS_API GetRepositoryLinkResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

The information returned for a specified repository link.

+ */ + inline const RepositoryLinkInfo& GetRepositoryLinkInfo() const{ return m_repositoryLinkInfo; } + + /** + *

The information returned for a specified repository link.

+ */ + inline void SetRepositoryLinkInfo(const RepositoryLinkInfo& value) { m_repositoryLinkInfo = value; } + + /** + *

The information returned for a specified repository link.

+ */ + inline void SetRepositoryLinkInfo(RepositoryLinkInfo&& value) { m_repositoryLinkInfo = std::move(value); } + + /** + *

The information returned for a specified repository link.

+ */ + inline GetRepositoryLinkResult& WithRepositoryLinkInfo(const RepositoryLinkInfo& value) { SetRepositoryLinkInfo(value); return *this;} + + /** + *

The information returned for a specified repository link.

+ */ + inline GetRepositoryLinkResult& WithRepositoryLinkInfo(RepositoryLinkInfo&& value) { SetRepositoryLinkInfo(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 GetRepositoryLinkResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline GetRepositoryLinkResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline GetRepositoryLinkResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + RepositoryLinkInfo m_repositoryLinkInfo; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace CodeStarconnections +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/GetRepositorySyncStatusRequest.h b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/GetRepositorySyncStatusRequest.h new file mode 100644 index 00000000000..3168a3ce0bd --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/GetRepositorySyncStatusRequest.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 + +namespace Aws +{ +namespace CodeStarconnections +{ +namespace Model +{ + + /** + */ + class GetRepositorySyncStatusRequest : public CodeStarconnectionsRequest + { + public: + AWS_CODESTARCONNECTIONS_API GetRepositorySyncStatusRequest(); + + // 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 "GetRepositorySyncStatus"; } + + AWS_CODESTARCONNECTIONS_API Aws::String SerializePayload() const override; + + AWS_CODESTARCONNECTIONS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + *

The branch of the repository link for the requested repository sync + * status.

+ */ + inline const Aws::String& GetBranch() const{ return m_branch; } + + /** + *

The branch of the repository link for the requested repository sync + * status.

+ */ + inline bool BranchHasBeenSet() const { return m_branchHasBeenSet; } + + /** + *

The branch of the repository link for the requested repository sync + * status.

+ */ + inline void SetBranch(const Aws::String& value) { m_branchHasBeenSet = true; m_branch = value; } + + /** + *

The branch of the repository link for the requested repository sync + * status.

+ */ + inline void SetBranch(Aws::String&& value) { m_branchHasBeenSet = true; m_branch = std::move(value); } + + /** + *

The branch of the repository link for the requested repository sync + * status.

+ */ + inline void SetBranch(const char* value) { m_branchHasBeenSet = true; m_branch.assign(value); } + + /** + *

The branch of the repository link for the requested repository sync + * status.

+ */ + inline GetRepositorySyncStatusRequest& WithBranch(const Aws::String& value) { SetBranch(value); return *this;} + + /** + *

The branch of the repository link for the requested repository sync + * status.

+ */ + inline GetRepositorySyncStatusRequest& WithBranch(Aws::String&& value) { SetBranch(std::move(value)); return *this;} + + /** + *

The branch of the repository link for the requested repository sync + * status.

+ */ + inline GetRepositorySyncStatusRequest& WithBranch(const char* value) { SetBranch(value); return *this;} + + + /** + *

The repository link ID for the requested repository sync status.

+ */ + inline const Aws::String& GetRepositoryLinkId() const{ return m_repositoryLinkId; } + + /** + *

The repository link ID for the requested repository sync status.

+ */ + inline bool RepositoryLinkIdHasBeenSet() const { return m_repositoryLinkIdHasBeenSet; } + + /** + *

The repository link ID for the requested repository sync status.

+ */ + inline void SetRepositoryLinkId(const Aws::String& value) { m_repositoryLinkIdHasBeenSet = true; m_repositoryLinkId = value; } + + /** + *

The repository link ID for the requested repository sync status.

+ */ + inline void SetRepositoryLinkId(Aws::String&& value) { m_repositoryLinkIdHasBeenSet = true; m_repositoryLinkId = std::move(value); } + + /** + *

The repository link ID for the requested repository sync status.

+ */ + inline void SetRepositoryLinkId(const char* value) { m_repositoryLinkIdHasBeenSet = true; m_repositoryLinkId.assign(value); } + + /** + *

The repository link ID for the requested repository sync status.

+ */ + inline GetRepositorySyncStatusRequest& WithRepositoryLinkId(const Aws::String& value) { SetRepositoryLinkId(value); return *this;} + + /** + *

The repository link ID for the requested repository sync status.

+ */ + inline GetRepositorySyncStatusRequest& WithRepositoryLinkId(Aws::String&& value) { SetRepositoryLinkId(std::move(value)); return *this;} + + /** + *

The repository link ID for the requested repository sync status.

+ */ + inline GetRepositorySyncStatusRequest& WithRepositoryLinkId(const char* value) { SetRepositoryLinkId(value); return *this;} + + + /** + *

The sync type of the requested sync status.

+ */ + inline const SyncConfigurationType& GetSyncType() const{ return m_syncType; } + + /** + *

The sync type of the requested sync status.

+ */ + inline bool SyncTypeHasBeenSet() const { return m_syncTypeHasBeenSet; } + + /** + *

The sync type of the requested sync status.

+ */ + inline void SetSyncType(const SyncConfigurationType& value) { m_syncTypeHasBeenSet = true; m_syncType = value; } + + /** + *

The sync type of the requested sync status.

+ */ + inline void SetSyncType(SyncConfigurationType&& value) { m_syncTypeHasBeenSet = true; m_syncType = std::move(value); } + + /** + *

The sync type of the requested sync status.

+ */ + inline GetRepositorySyncStatusRequest& WithSyncType(const SyncConfigurationType& value) { SetSyncType(value); return *this;} + + /** + *

The sync type of the requested sync status.

+ */ + inline GetRepositorySyncStatusRequest& WithSyncType(SyncConfigurationType&& value) { SetSyncType(std::move(value)); return *this;} + + private: + + Aws::String m_branch; + bool m_branchHasBeenSet = false; + + Aws::String m_repositoryLinkId; + bool m_repositoryLinkIdHasBeenSet = false; + + SyncConfigurationType m_syncType; + bool m_syncTypeHasBeenSet = false; + }; + +} // namespace Model +} // namespace CodeStarconnections +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/GetRepositorySyncStatusResult.h b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/GetRepositorySyncStatusResult.h new file mode 100644 index 00000000000..27a299f34f9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/GetRepositorySyncStatusResult.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 + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace CodeStarconnections +{ +namespace Model +{ + class GetRepositorySyncStatusResult + { + public: + AWS_CODESTARCONNECTIONS_API GetRepositorySyncStatusResult(); + AWS_CODESTARCONNECTIONS_API GetRepositorySyncStatusResult(const Aws::AmazonWebServiceResult& result); + AWS_CODESTARCONNECTIONS_API GetRepositorySyncStatusResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

The status of the latest sync returned for a specified repository and + * branch.

+ */ + inline const RepositorySyncAttempt& GetLatestSync() const{ return m_latestSync; } + + /** + *

The status of the latest sync returned for a specified repository and + * branch.

+ */ + inline void SetLatestSync(const RepositorySyncAttempt& value) { m_latestSync = value; } + + /** + *

The status of the latest sync returned for a specified repository and + * branch.

+ */ + inline void SetLatestSync(RepositorySyncAttempt&& value) { m_latestSync = std::move(value); } + + /** + *

The status of the latest sync returned for a specified repository and + * branch.

+ */ + inline GetRepositorySyncStatusResult& WithLatestSync(const RepositorySyncAttempt& value) { SetLatestSync(value); return *this;} + + /** + *

The status of the latest sync returned for a specified repository and + * branch.

+ */ + inline GetRepositorySyncStatusResult& WithLatestSync(RepositorySyncAttempt&& value) { SetLatestSync(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 GetRepositorySyncStatusResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline GetRepositorySyncStatusResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline GetRepositorySyncStatusResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + RepositorySyncAttempt m_latestSync; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace CodeStarconnections +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/GetResourceSyncStatusRequest.h b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/GetResourceSyncStatusRequest.h new file mode 100644 index 00000000000..3e94e494fc1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/GetResourceSyncStatusRequest.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 +#include + +namespace Aws +{ +namespace CodeStarconnections +{ +namespace Model +{ + + /** + */ + class GetResourceSyncStatusRequest : public CodeStarconnectionsRequest + { + public: + AWS_CODESTARCONNECTIONS_API GetResourceSyncStatusRequest(); + + // 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 "GetResourceSyncStatus"; } + + AWS_CODESTARCONNECTIONS_API Aws::String SerializePayload() const override; + + AWS_CODESTARCONNECTIONS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + *

The name of the Amazon Web Services resource for the sync status with the Git + * repository.

+ */ + inline const Aws::String& GetResourceName() const{ return m_resourceName; } + + /** + *

The name of the Amazon Web Services resource for the sync status with the Git + * repository.

+ */ + inline bool ResourceNameHasBeenSet() const { return m_resourceNameHasBeenSet; } + + /** + *

The name of the Amazon Web Services resource for the sync status with the Git + * repository.

+ */ + inline void SetResourceName(const Aws::String& value) { m_resourceNameHasBeenSet = true; m_resourceName = value; } + + /** + *

The name of the Amazon Web Services resource for the sync status with the Git + * repository.

+ */ + inline void SetResourceName(Aws::String&& value) { m_resourceNameHasBeenSet = true; m_resourceName = std::move(value); } + + /** + *

The name of the Amazon Web Services resource for the sync status with the Git + * repository.

+ */ + inline void SetResourceName(const char* value) { m_resourceNameHasBeenSet = true; m_resourceName.assign(value); } + + /** + *

The name of the Amazon Web Services resource for the sync status with the Git + * repository.

+ */ + inline GetResourceSyncStatusRequest& WithResourceName(const Aws::String& value) { SetResourceName(value); return *this;} + + /** + *

The name of the Amazon Web Services resource for the sync status with the Git + * repository.

+ */ + inline GetResourceSyncStatusRequest& WithResourceName(Aws::String&& value) { SetResourceName(std::move(value)); return *this;} + + /** + *

The name of the Amazon Web Services resource for the sync status with the Git + * repository.

+ */ + inline GetResourceSyncStatusRequest& WithResourceName(const char* value) { SetResourceName(value); return *this;} + + + /** + *

The sync type for the sync status with the Git repository.

+ */ + inline const SyncConfigurationType& GetSyncType() const{ return m_syncType; } + + /** + *

The sync type for the sync status with the Git repository.

+ */ + inline bool SyncTypeHasBeenSet() const { return m_syncTypeHasBeenSet; } + + /** + *

The sync type for the sync status with the Git repository.

+ */ + inline void SetSyncType(const SyncConfigurationType& value) { m_syncTypeHasBeenSet = true; m_syncType = value; } + + /** + *

The sync type for the sync status with the Git repository.

+ */ + inline void SetSyncType(SyncConfigurationType&& value) { m_syncTypeHasBeenSet = true; m_syncType = std::move(value); } + + /** + *

The sync type for the sync status with the Git repository.

+ */ + inline GetResourceSyncStatusRequest& WithSyncType(const SyncConfigurationType& value) { SetSyncType(value); return *this;} + + /** + *

The sync type for the sync status with the Git repository.

+ */ + inline GetResourceSyncStatusRequest& WithSyncType(SyncConfigurationType&& value) { SetSyncType(std::move(value)); return *this;} + + private: + + Aws::String m_resourceName; + bool m_resourceNameHasBeenSet = false; + + SyncConfigurationType m_syncType; + bool m_syncTypeHasBeenSet = false; + }; + +} // namespace Model +} // namespace CodeStarconnections +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/GetResourceSyncStatusResult.h b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/GetResourceSyncStatusResult.h new file mode 100644 index 00000000000..79109f8ed25 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/GetResourceSyncStatusResult.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 +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace CodeStarconnections +{ +namespace Model +{ + class GetResourceSyncStatusResult + { + public: + AWS_CODESTARCONNECTIONS_API GetResourceSyncStatusResult(); + AWS_CODESTARCONNECTIONS_API GetResourceSyncStatusResult(const Aws::AmazonWebServiceResult& result); + AWS_CODESTARCONNECTIONS_API GetResourceSyncStatusResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

The desired state of the Amazon Web Services resource for the sync status + * with the Git repository.

+ */ + inline const Revision& GetDesiredState() const{ return m_desiredState; } + + /** + *

The desired state of the Amazon Web Services resource for the sync status + * with the Git repository.

+ */ + inline void SetDesiredState(const Revision& value) { m_desiredState = value; } + + /** + *

The desired state of the Amazon Web Services resource for the sync status + * with the Git repository.

+ */ + inline void SetDesiredState(Revision&& value) { m_desiredState = std::move(value); } + + /** + *

The desired state of the Amazon Web Services resource for the sync status + * with the Git repository.

+ */ + inline GetResourceSyncStatusResult& WithDesiredState(const Revision& value) { SetDesiredState(value); return *this;} + + /** + *

The desired state of the Amazon Web Services resource for the sync status + * with the Git repository.

+ */ + inline GetResourceSyncStatusResult& WithDesiredState(Revision&& value) { SetDesiredState(std::move(value)); return *this;} + + + /** + *

The latest successful sync for the sync status with the Git repository.

+ */ + inline const ResourceSyncAttempt& GetLatestSuccessfulSync() const{ return m_latestSuccessfulSync; } + + /** + *

The latest successful sync for the sync status with the Git repository.

+ */ + inline void SetLatestSuccessfulSync(const ResourceSyncAttempt& value) { m_latestSuccessfulSync = value; } + + /** + *

The latest successful sync for the sync status with the Git repository.

+ */ + inline void SetLatestSuccessfulSync(ResourceSyncAttempt&& value) { m_latestSuccessfulSync = std::move(value); } + + /** + *

The latest successful sync for the sync status with the Git repository.

+ */ + inline GetResourceSyncStatusResult& WithLatestSuccessfulSync(const ResourceSyncAttempt& value) { SetLatestSuccessfulSync(value); return *this;} + + /** + *

The latest successful sync for the sync status with the Git repository.

+ */ + inline GetResourceSyncStatusResult& WithLatestSuccessfulSync(ResourceSyncAttempt&& value) { SetLatestSuccessfulSync(std::move(value)); return *this;} + + + /** + *

The latest sync for the sync status with the Git repository, whether + * successful or not.

+ */ + inline const ResourceSyncAttempt& GetLatestSync() const{ return m_latestSync; } + + /** + *

The latest sync for the sync status with the Git repository, whether + * successful or not.

+ */ + inline void SetLatestSync(const ResourceSyncAttempt& value) { m_latestSync = value; } + + /** + *

The latest sync for the sync status with the Git repository, whether + * successful or not.

+ */ + inline void SetLatestSync(ResourceSyncAttempt&& value) { m_latestSync = std::move(value); } + + /** + *

The latest sync for the sync status with the Git repository, whether + * successful or not.

+ */ + inline GetResourceSyncStatusResult& WithLatestSync(const ResourceSyncAttempt& value) { SetLatestSync(value); return *this;} + + /** + *

The latest sync for the sync status with the Git repository, whether + * successful or not.

+ */ + inline GetResourceSyncStatusResult& WithLatestSync(ResourceSyncAttempt&& value) { SetLatestSync(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 GetResourceSyncStatusResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline GetResourceSyncStatusResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline GetResourceSyncStatusResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Revision m_desiredState; + + ResourceSyncAttempt m_latestSuccessfulSync; + + ResourceSyncAttempt m_latestSync; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace CodeStarconnections +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/GetSyncBlockerSummaryRequest.h b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/GetSyncBlockerSummaryRequest.h new file mode 100644 index 00000000000..c6a4634e988 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/GetSyncBlockerSummaryRequest.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 +#include + +namespace Aws +{ +namespace CodeStarconnections +{ +namespace Model +{ + + /** + */ + class GetSyncBlockerSummaryRequest : public CodeStarconnectionsRequest + { + public: + AWS_CODESTARCONNECTIONS_API GetSyncBlockerSummaryRequest(); + + // 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 "GetSyncBlockerSummary"; } + + AWS_CODESTARCONNECTIONS_API Aws::String SerializePayload() const override; + + AWS_CODESTARCONNECTIONS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + *

The sync type for the sync blocker summary.

+ */ + inline const SyncConfigurationType& GetSyncType() const{ return m_syncType; } + + /** + *

The sync type for the sync blocker summary.

+ */ + inline bool SyncTypeHasBeenSet() const { return m_syncTypeHasBeenSet; } + + /** + *

The sync type for the sync blocker summary.

+ */ + inline void SetSyncType(const SyncConfigurationType& value) { m_syncTypeHasBeenSet = true; m_syncType = value; } + + /** + *

The sync type for the sync blocker summary.

+ */ + inline void SetSyncType(SyncConfigurationType&& value) { m_syncTypeHasBeenSet = true; m_syncType = std::move(value); } + + /** + *

The sync type for the sync blocker summary.

+ */ + inline GetSyncBlockerSummaryRequest& WithSyncType(const SyncConfigurationType& value) { SetSyncType(value); return *this;} + + /** + *

The sync type for the sync blocker summary.

+ */ + inline GetSyncBlockerSummaryRequest& WithSyncType(SyncConfigurationType&& value) { SetSyncType(std::move(value)); return *this;} + + + /** + *

The name of the Amazon Web Services resource currently blocked from + * automatically being synced from a Git repository.

+ */ + inline const Aws::String& GetResourceName() const{ return m_resourceName; } + + /** + *

The name of the Amazon Web Services resource currently blocked from + * automatically being synced from a Git repository.

+ */ + inline bool ResourceNameHasBeenSet() const { return m_resourceNameHasBeenSet; } + + /** + *

The name of the Amazon Web Services resource currently blocked from + * automatically being synced from a Git repository.

+ */ + inline void SetResourceName(const Aws::String& value) { m_resourceNameHasBeenSet = true; m_resourceName = value; } + + /** + *

The name of the Amazon Web Services resource currently blocked from + * automatically being synced from a Git repository.

+ */ + inline void SetResourceName(Aws::String&& value) { m_resourceNameHasBeenSet = true; m_resourceName = std::move(value); } + + /** + *

The name of the Amazon Web Services resource currently blocked from + * automatically being synced from a Git repository.

+ */ + inline void SetResourceName(const char* value) { m_resourceNameHasBeenSet = true; m_resourceName.assign(value); } + + /** + *

The name of the Amazon Web Services resource currently blocked from + * automatically being synced from a Git repository.

+ */ + inline GetSyncBlockerSummaryRequest& WithResourceName(const Aws::String& value) { SetResourceName(value); return *this;} + + /** + *

The name of the Amazon Web Services resource currently blocked from + * automatically being synced from a Git repository.

+ */ + inline GetSyncBlockerSummaryRequest& WithResourceName(Aws::String&& value) { SetResourceName(std::move(value)); return *this;} + + /** + *

The name of the Amazon Web Services resource currently blocked from + * automatically being synced from a Git repository.

+ */ + inline GetSyncBlockerSummaryRequest& WithResourceName(const char* value) { SetResourceName(value); return *this;} + + private: + + SyncConfigurationType m_syncType; + bool m_syncTypeHasBeenSet = false; + + Aws::String m_resourceName; + bool m_resourceNameHasBeenSet = false; + }; + +} // namespace Model +} // namespace CodeStarconnections +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/GetSyncBlockerSummaryResult.h b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/GetSyncBlockerSummaryResult.h new file mode 100644 index 00000000000..8b2dd63622b --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/GetSyncBlockerSummaryResult.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 + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace CodeStarconnections +{ +namespace Model +{ + class GetSyncBlockerSummaryResult + { + public: + AWS_CODESTARCONNECTIONS_API GetSyncBlockerSummaryResult(); + AWS_CODESTARCONNECTIONS_API GetSyncBlockerSummaryResult(const Aws::AmazonWebServiceResult& result); + AWS_CODESTARCONNECTIONS_API GetSyncBlockerSummaryResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

The list of sync blockers for a specified resource.

+ */ + inline const SyncBlockerSummary& GetSyncBlockerSummary() const{ return m_syncBlockerSummary; } + + /** + *

The list of sync blockers for a specified resource.

+ */ + inline void SetSyncBlockerSummary(const SyncBlockerSummary& value) { m_syncBlockerSummary = value; } + + /** + *

The list of sync blockers for a specified resource.

+ */ + inline void SetSyncBlockerSummary(SyncBlockerSummary&& value) { m_syncBlockerSummary = std::move(value); } + + /** + *

The list of sync blockers for a specified resource.

+ */ + inline GetSyncBlockerSummaryResult& WithSyncBlockerSummary(const SyncBlockerSummary& value) { SetSyncBlockerSummary(value); return *this;} + + /** + *

The list of sync blockers for a specified resource.

+ */ + inline GetSyncBlockerSummaryResult& WithSyncBlockerSummary(SyncBlockerSummary&& value) { SetSyncBlockerSummary(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 GetSyncBlockerSummaryResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline GetSyncBlockerSummaryResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline GetSyncBlockerSummaryResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + SyncBlockerSummary m_syncBlockerSummary; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace CodeStarconnections +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/GetSyncConfigurationRequest.h b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/GetSyncConfigurationRequest.h new file mode 100644 index 00000000000..62210c7bc58 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/GetSyncConfigurationRequest.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 CodeStarconnections +{ +namespace Model +{ + + /** + */ + class GetSyncConfigurationRequest : public CodeStarconnectionsRequest + { + public: + AWS_CODESTARCONNECTIONS_API GetSyncConfigurationRequest(); + + // 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 "GetSyncConfiguration"; } + + AWS_CODESTARCONNECTIONS_API Aws::String SerializePayload() const override; + + AWS_CODESTARCONNECTIONS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + *

The sync type for the sync configuration for which you want to retrieve + * information.

+ */ + inline const SyncConfigurationType& GetSyncType() const{ return m_syncType; } + + /** + *

The sync type for the sync configuration for which you want to retrieve + * information.

+ */ + inline bool SyncTypeHasBeenSet() const { return m_syncTypeHasBeenSet; } + + /** + *

The sync type for the sync configuration for which you want to retrieve + * information.

+ */ + inline void SetSyncType(const SyncConfigurationType& value) { m_syncTypeHasBeenSet = true; m_syncType = value; } + + /** + *

The sync type for the sync configuration for which you want to retrieve + * information.

+ */ + inline void SetSyncType(SyncConfigurationType&& value) { m_syncTypeHasBeenSet = true; m_syncType = std::move(value); } + + /** + *

The sync type for the sync configuration for which you want to retrieve + * information.

+ */ + inline GetSyncConfigurationRequest& WithSyncType(const SyncConfigurationType& value) { SetSyncType(value); return *this;} + + /** + *

The sync type for the sync configuration for which you want to retrieve + * information.

+ */ + inline GetSyncConfigurationRequest& WithSyncType(SyncConfigurationType&& value) { SetSyncType(std::move(value)); return *this;} + + + /** + *

The name of the Amazon Web Services resource for the sync configuration for + * which you want to retrieve information.

+ */ + inline const Aws::String& GetResourceName() const{ return m_resourceName; } + + /** + *

The name of the Amazon Web Services resource for the sync configuration for + * which you want to retrieve information.

+ */ + inline bool ResourceNameHasBeenSet() const { return m_resourceNameHasBeenSet; } + + /** + *

The name of the Amazon Web Services resource for the sync configuration for + * which you want to retrieve information.

+ */ + inline void SetResourceName(const Aws::String& value) { m_resourceNameHasBeenSet = true; m_resourceName = value; } + + /** + *

The name of the Amazon Web Services resource for the sync configuration for + * which you want to retrieve information.

+ */ + inline void SetResourceName(Aws::String&& value) { m_resourceNameHasBeenSet = true; m_resourceName = std::move(value); } + + /** + *

The name of the Amazon Web Services resource for the sync configuration for + * which you want to retrieve information.

+ */ + inline void SetResourceName(const char* value) { m_resourceNameHasBeenSet = true; m_resourceName.assign(value); } + + /** + *

The name of the Amazon Web Services resource for the sync configuration for + * which you want to retrieve information.

+ */ + inline GetSyncConfigurationRequest& WithResourceName(const Aws::String& value) { SetResourceName(value); return *this;} + + /** + *

The name of the Amazon Web Services resource for the sync configuration for + * which you want to retrieve information.

+ */ + inline GetSyncConfigurationRequest& WithResourceName(Aws::String&& value) { SetResourceName(std::move(value)); return *this;} + + /** + *

The name of the Amazon Web Services resource for the sync configuration for + * which you want to retrieve information.

+ */ + inline GetSyncConfigurationRequest& WithResourceName(const char* value) { SetResourceName(value); return *this;} + + private: + + SyncConfigurationType m_syncType; + bool m_syncTypeHasBeenSet = false; + + Aws::String m_resourceName; + bool m_resourceNameHasBeenSet = false; + }; + +} // namespace Model +} // namespace CodeStarconnections +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/GetSyncConfigurationResult.h b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/GetSyncConfigurationResult.h new file mode 100644 index 00000000000..379c50185e7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/GetSyncConfigurationResult.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 + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace CodeStarconnections +{ +namespace Model +{ + class GetSyncConfigurationResult + { + public: + AWS_CODESTARCONNECTIONS_API GetSyncConfigurationResult(); + AWS_CODESTARCONNECTIONS_API GetSyncConfigurationResult(const Aws::AmazonWebServiceResult& result); + AWS_CODESTARCONNECTIONS_API GetSyncConfigurationResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

The details about the sync configuration for which you want to retrieve + * information.

+ */ + inline const SyncConfiguration& GetSyncConfiguration() const{ return m_syncConfiguration; } + + /** + *

The details about the sync configuration for which you want to retrieve + * information.

+ */ + inline void SetSyncConfiguration(const SyncConfiguration& value) { m_syncConfiguration = value; } + + /** + *

The details about the sync configuration for which you want to retrieve + * information.

+ */ + inline void SetSyncConfiguration(SyncConfiguration&& value) { m_syncConfiguration = std::move(value); } + + /** + *

The details about the sync configuration for which you want to retrieve + * information.

+ */ + inline GetSyncConfigurationResult& WithSyncConfiguration(const SyncConfiguration& value) { SetSyncConfiguration(value); return *this;} + + /** + *

The details about the sync configuration for which you want to retrieve + * information.

+ */ + inline GetSyncConfigurationResult& WithSyncConfiguration(SyncConfiguration&& value) { SetSyncConfiguration(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 GetSyncConfigurationResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline GetSyncConfigurationResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline GetSyncConfigurationResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + SyncConfiguration m_syncConfiguration; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace CodeStarconnections +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/ListRepositoryLinksRequest.h b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/ListRepositoryLinksRequest.h new file mode 100644 index 00000000000..e1b5f62bd81 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/ListRepositoryLinksRequest.h @@ -0,0 +1,121 @@ +/** + * 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 CodeStarconnections +{ +namespace Model +{ + + /** + */ + class ListRepositoryLinksRequest : public CodeStarconnectionsRequest + { + public: + AWS_CODESTARCONNECTIONS_API ListRepositoryLinksRequest(); + + // 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 "ListRepositoryLinks"; } + + AWS_CODESTARCONNECTIONS_API Aws::String SerializePayload() const override; + + AWS_CODESTARCONNECTIONS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + *

A non-zero, non-negative integer used to limit the number of returned + * results.

+ */ + inline int GetMaxResults() const{ return m_maxResults; } + + /** + *

A non-zero, non-negative integer used to limit the number of returned + * results.

+ */ + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + + /** + *

A non-zero, non-negative integer used to limit the number of returned + * results.

+ */ + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + + /** + *

A non-zero, non-negative integer used to limit the number of returned + * results.

+ */ + inline ListRepositoryLinksRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + + + /** + *

An enumeration token that, when provided in a request, returns the next + * batch of the results.

+ */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + + /** + *

An enumeration token that, when provided in a request, returns the next + * batch of the results.

+ */ + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + + /** + *

An enumeration token that, when provided in a request, returns the next + * batch of the results.

+ */ + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + + /** + *

An enumeration token that, when provided in a request, returns the next + * batch of the results.

+ */ + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + + /** + *

An enumeration token that, when provided in a request, returns the next + * batch of the results.

+ */ + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + + /** + *

An enumeration token that, when provided in a request, returns the next + * batch of the results.

+ */ + inline ListRepositoryLinksRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + + /** + *

An enumeration token that, when provided in a request, returns the next + * batch of the results.

+ */ + inline ListRepositoryLinksRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + + /** + *

An enumeration token that, when provided in a request, returns the next + * batch of the results.

+ */ + inline ListRepositoryLinksRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + + private: + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + }; + +} // namespace Model +} // namespace CodeStarconnections +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/ListRepositoryLinksResult.h b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/ListRepositoryLinksResult.h new file mode 100644 index 00000000000..4e077a4c34e --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/ListRepositoryLinksResult.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 +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace CodeStarconnections +{ +namespace Model +{ + class ListRepositoryLinksResult + { + public: + AWS_CODESTARCONNECTIONS_API ListRepositoryLinksResult(); + AWS_CODESTARCONNECTIONS_API ListRepositoryLinksResult(const Aws::AmazonWebServiceResult& result); + AWS_CODESTARCONNECTIONS_API ListRepositoryLinksResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

Lists the repository links called by the list repository links operation.

+ */ + inline const Aws::Vector& GetRepositoryLinks() const{ return m_repositoryLinks; } + + /** + *

Lists the repository links called by the list repository links operation.

+ */ + inline void SetRepositoryLinks(const Aws::Vector& value) { m_repositoryLinks = value; } + + /** + *

Lists the repository links called by the list repository links operation.

+ */ + inline void SetRepositoryLinks(Aws::Vector&& value) { m_repositoryLinks = std::move(value); } + + /** + *

Lists the repository links called by the list repository links operation.

+ */ + inline ListRepositoryLinksResult& WithRepositoryLinks(const Aws::Vector& value) { SetRepositoryLinks(value); return *this;} + + /** + *

Lists the repository links called by the list repository links operation.

+ */ + inline ListRepositoryLinksResult& WithRepositoryLinks(Aws::Vector&& value) { SetRepositoryLinks(std::move(value)); return *this;} + + /** + *

Lists the repository links called by the list repository links operation.

+ */ + inline ListRepositoryLinksResult& AddRepositoryLinks(const RepositoryLinkInfo& value) { m_repositoryLinks.push_back(value); return *this; } + + /** + *

Lists the repository links called by the list repository links operation.

+ */ + inline ListRepositoryLinksResult& AddRepositoryLinks(RepositoryLinkInfo&& value) { m_repositoryLinks.push_back(std::move(value)); return *this; } + + + /** + *

An enumeration token that allows the operation to batch the results of the + * operation.

+ */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + + /** + *

An enumeration token that allows the operation to batch the results of the + * operation.

+ */ + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + + /** + *

An enumeration token that allows the operation to batch the results of the + * operation.

+ */ + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + + /** + *

An enumeration token that allows the operation to batch the results of the + * operation.

+ */ + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + + /** + *

An enumeration token that allows the operation to batch the results of the + * operation.

+ */ + inline ListRepositoryLinksResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + + /** + *

An enumeration token that allows the operation to batch the results of the + * operation.

+ */ + inline ListRepositoryLinksResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + + /** + *

An enumeration token that allows the operation to batch the results of the + * operation.

+ */ + inline ListRepositoryLinksResult& 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 ListRepositoryLinksResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline ListRepositoryLinksResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline ListRepositoryLinksResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::Vector m_repositoryLinks; + + Aws::String m_nextToken; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace CodeStarconnections +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/ListRepositorySyncDefinitionsRequest.h b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/ListRepositorySyncDefinitionsRequest.h new file mode 100644 index 00000000000..5d6c61800a2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/ListRepositorySyncDefinitionsRequest.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 CodeStarconnections +{ +namespace Model +{ + + /** + */ + class ListRepositorySyncDefinitionsRequest : public CodeStarconnectionsRequest + { + public: + AWS_CODESTARCONNECTIONS_API ListRepositorySyncDefinitionsRequest(); + + // 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 "ListRepositorySyncDefinitions"; } + + AWS_CODESTARCONNECTIONS_API Aws::String SerializePayload() const override; + + AWS_CODESTARCONNECTIONS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + *

The ID of the repository link for the sync definition for which you want to + * retrieve information.

+ */ + inline const Aws::String& GetRepositoryLinkId() const{ return m_repositoryLinkId; } + + /** + *

The ID of the repository link for the sync definition for which you want to + * retrieve information.

+ */ + inline bool RepositoryLinkIdHasBeenSet() const { return m_repositoryLinkIdHasBeenSet; } + + /** + *

The ID of the repository link for the sync definition for which you want to + * retrieve information.

+ */ + inline void SetRepositoryLinkId(const Aws::String& value) { m_repositoryLinkIdHasBeenSet = true; m_repositoryLinkId = value; } + + /** + *

The ID of the repository link for the sync definition for which you want to + * retrieve information.

+ */ + inline void SetRepositoryLinkId(Aws::String&& value) { m_repositoryLinkIdHasBeenSet = true; m_repositoryLinkId = std::move(value); } + + /** + *

The ID of the repository link for the sync definition for which you want to + * retrieve information.

+ */ + inline void SetRepositoryLinkId(const char* value) { m_repositoryLinkIdHasBeenSet = true; m_repositoryLinkId.assign(value); } + + /** + *

The ID of the repository link for the sync definition for which you want to + * retrieve information.

+ */ + inline ListRepositorySyncDefinitionsRequest& WithRepositoryLinkId(const Aws::String& value) { SetRepositoryLinkId(value); return *this;} + + /** + *

The ID of the repository link for the sync definition for which you want to + * retrieve information.

+ */ + inline ListRepositorySyncDefinitionsRequest& WithRepositoryLinkId(Aws::String&& value) { SetRepositoryLinkId(std::move(value)); return *this;} + + /** + *

The ID of the repository link for the sync definition for which you want to + * retrieve information.

+ */ + inline ListRepositorySyncDefinitionsRequest& WithRepositoryLinkId(const char* value) { SetRepositoryLinkId(value); return *this;} + + + /** + *

The sync type of the repository link for the the sync definition for which + * you want to retrieve information.

+ */ + inline const SyncConfigurationType& GetSyncType() const{ return m_syncType; } + + /** + *

The sync type of the repository link for the the sync definition for which + * you want to retrieve information.

+ */ + inline bool SyncTypeHasBeenSet() const { return m_syncTypeHasBeenSet; } + + /** + *

The sync type of the repository link for the the sync definition for which + * you want to retrieve information.

+ */ + inline void SetSyncType(const SyncConfigurationType& value) { m_syncTypeHasBeenSet = true; m_syncType = value; } + + /** + *

The sync type of the repository link for the the sync definition for which + * you want to retrieve information.

+ */ + inline void SetSyncType(SyncConfigurationType&& value) { m_syncTypeHasBeenSet = true; m_syncType = std::move(value); } + + /** + *

The sync type of the repository link for the the sync definition for which + * you want to retrieve information.

+ */ + inline ListRepositorySyncDefinitionsRequest& WithSyncType(const SyncConfigurationType& value) { SetSyncType(value); return *this;} + + /** + *

The sync type of the repository link for the the sync definition for which + * you want to retrieve information.

+ */ + inline ListRepositorySyncDefinitionsRequest& WithSyncType(SyncConfigurationType&& value) { SetSyncType(std::move(value)); return *this;} + + private: + + Aws::String m_repositoryLinkId; + bool m_repositoryLinkIdHasBeenSet = false; + + SyncConfigurationType m_syncType; + bool m_syncTypeHasBeenSet = false; + }; + +} // namespace Model +} // namespace CodeStarconnections +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/ListRepositorySyncDefinitionsResult.h b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/ListRepositorySyncDefinitionsResult.h new file mode 100644 index 00000000000..6e4e7c35bc1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/ListRepositorySyncDefinitionsResult.h @@ -0,0 +1,169 @@ +/** + * 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 CodeStarconnections +{ +namespace Model +{ + class ListRepositorySyncDefinitionsResult + { + public: + AWS_CODESTARCONNECTIONS_API ListRepositorySyncDefinitionsResult(); + AWS_CODESTARCONNECTIONS_API ListRepositorySyncDefinitionsResult(const Aws::AmazonWebServiceResult& result); + AWS_CODESTARCONNECTIONS_API ListRepositorySyncDefinitionsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

The list of repository sync definitions returned by the request. A + * RepositorySyncDefinition is a mapping from a repository branch to + * all the Amazon Web Services resources that are being synced from that + * branch.

+ */ + inline const Aws::Vector& GetRepositorySyncDefinitions() const{ return m_repositorySyncDefinitions; } + + /** + *

The list of repository sync definitions returned by the request. A + * RepositorySyncDefinition is a mapping from a repository branch to + * all the Amazon Web Services resources that are being synced from that + * branch.

+ */ + inline void SetRepositorySyncDefinitions(const Aws::Vector& value) { m_repositorySyncDefinitions = value; } + + /** + *

The list of repository sync definitions returned by the request. A + * RepositorySyncDefinition is a mapping from a repository branch to + * all the Amazon Web Services resources that are being synced from that + * branch.

+ */ + inline void SetRepositorySyncDefinitions(Aws::Vector&& value) { m_repositorySyncDefinitions = std::move(value); } + + /** + *

The list of repository sync definitions returned by the request. A + * RepositorySyncDefinition is a mapping from a repository branch to + * all the Amazon Web Services resources that are being synced from that + * branch.

+ */ + inline ListRepositorySyncDefinitionsResult& WithRepositorySyncDefinitions(const Aws::Vector& value) { SetRepositorySyncDefinitions(value); return *this;} + + /** + *

The list of repository sync definitions returned by the request. A + * RepositorySyncDefinition is a mapping from a repository branch to + * all the Amazon Web Services resources that are being synced from that + * branch.

+ */ + inline ListRepositorySyncDefinitionsResult& WithRepositorySyncDefinitions(Aws::Vector&& value) { SetRepositorySyncDefinitions(std::move(value)); return *this;} + + /** + *

The list of repository sync definitions returned by the request. A + * RepositorySyncDefinition is a mapping from a repository branch to + * all the Amazon Web Services resources that are being synced from that + * branch.

+ */ + inline ListRepositorySyncDefinitionsResult& AddRepositorySyncDefinitions(const RepositorySyncDefinition& value) { m_repositorySyncDefinitions.push_back(value); return *this; } + + /** + *

The list of repository sync definitions returned by the request. A + * RepositorySyncDefinition is a mapping from a repository branch to + * all the Amazon Web Services resources that are being synced from that + * branch.

+ */ + inline ListRepositorySyncDefinitionsResult& AddRepositorySyncDefinitions(RepositorySyncDefinition&& value) { m_repositorySyncDefinitions.push_back(std::move(value)); return *this; } + + + /** + *

An enumeration token that, when provided in a request, returns the next batch + * of the results.

+ */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + + /** + *

An enumeration token that, when provided in a request, returns the next batch + * of the results.

+ */ + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + + /** + *

An enumeration token that, when provided in a request, returns the next batch + * of the results.

+ */ + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + + /** + *

An enumeration token that, when provided in a request, returns the next batch + * of the results.

+ */ + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + + /** + *

An enumeration token that, when provided in a request, returns the next batch + * of the results.

+ */ + inline ListRepositorySyncDefinitionsResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + + /** + *

An enumeration token that, when provided in a request, returns the next batch + * of the results.

+ */ + inline ListRepositorySyncDefinitionsResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + + /** + *

An enumeration token that, when provided in a request, returns the next batch + * of the results.

+ */ + inline ListRepositorySyncDefinitionsResult& 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 ListRepositorySyncDefinitionsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline ListRepositorySyncDefinitionsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline ListRepositorySyncDefinitionsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::Vector m_repositorySyncDefinitions; + + Aws::String m_nextToken; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace CodeStarconnections +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/ListSyncConfigurationsRequest.h b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/ListSyncConfigurationsRequest.h new file mode 100644 index 00000000000..9be19cd201e --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/ListSyncConfigurationsRequest.h @@ -0,0 +1,208 @@ +/** + * 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 CodeStarconnections +{ +namespace Model +{ + + /** + */ + class ListSyncConfigurationsRequest : public CodeStarconnectionsRequest + { + public: + AWS_CODESTARCONNECTIONS_API ListSyncConfigurationsRequest(); + + // 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 "ListSyncConfigurations"; } + + AWS_CODESTARCONNECTIONS_API Aws::String SerializePayload() const override; + + AWS_CODESTARCONNECTIONS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + *

A non-zero, non-negative integer used to limit the number of returned + * results.

+ */ + inline int GetMaxResults() const{ return m_maxResults; } + + /** + *

A non-zero, non-negative integer used to limit the number of returned + * results.

+ */ + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + + /** + *

A non-zero, non-negative integer used to limit the number of returned + * results.

+ */ + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + + /** + *

A non-zero, non-negative integer used to limit the number of returned + * results.

+ */ + inline ListSyncConfigurationsRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + + + /** + *

An enumeration token that allows the operation to batch the results of the + * operation.

+ */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + + /** + *

An enumeration token that allows the operation to batch the results of the + * operation.

+ */ + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + + /** + *

An enumeration token that allows the operation to batch the results of the + * operation.

+ */ + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + + /** + *

An enumeration token that allows the operation to batch the results of the + * operation.

+ */ + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + + /** + *

An enumeration token that allows the operation to batch the results of the + * operation.

+ */ + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + + /** + *

An enumeration token that allows the operation to batch the results of the + * operation.

+ */ + inline ListSyncConfigurationsRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + + /** + *

An enumeration token that allows the operation to batch the results of the + * operation.

+ */ + inline ListSyncConfigurationsRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + + /** + *

An enumeration token that allows the operation to batch the results of the + * operation.

+ */ + inline ListSyncConfigurationsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + + + /** + *

The ID of the repository link for the requested list of sync + * configurations.

+ */ + inline const Aws::String& GetRepositoryLinkId() const{ return m_repositoryLinkId; } + + /** + *

The ID of the repository link for the requested list of sync + * configurations.

+ */ + inline bool RepositoryLinkIdHasBeenSet() const { return m_repositoryLinkIdHasBeenSet; } + + /** + *

The ID of the repository link for the requested list of sync + * configurations.

+ */ + inline void SetRepositoryLinkId(const Aws::String& value) { m_repositoryLinkIdHasBeenSet = true; m_repositoryLinkId = value; } + + /** + *

The ID of the repository link for the requested list of sync + * configurations.

+ */ + inline void SetRepositoryLinkId(Aws::String&& value) { m_repositoryLinkIdHasBeenSet = true; m_repositoryLinkId = std::move(value); } + + /** + *

The ID of the repository link for the requested list of sync + * configurations.

+ */ + inline void SetRepositoryLinkId(const char* value) { m_repositoryLinkIdHasBeenSet = true; m_repositoryLinkId.assign(value); } + + /** + *

The ID of the repository link for the requested list of sync + * configurations.

+ */ + inline ListSyncConfigurationsRequest& WithRepositoryLinkId(const Aws::String& value) { SetRepositoryLinkId(value); return *this;} + + /** + *

The ID of the repository link for the requested list of sync + * configurations.

+ */ + inline ListSyncConfigurationsRequest& WithRepositoryLinkId(Aws::String&& value) { SetRepositoryLinkId(std::move(value)); return *this;} + + /** + *

The ID of the repository link for the requested list of sync + * configurations.

+ */ + inline ListSyncConfigurationsRequest& WithRepositoryLinkId(const char* value) { SetRepositoryLinkId(value); return *this;} + + + /** + *

The sync type for the requested list of sync configurations.

+ */ + inline const SyncConfigurationType& GetSyncType() const{ return m_syncType; } + + /** + *

The sync type for the requested list of sync configurations.

+ */ + inline bool SyncTypeHasBeenSet() const { return m_syncTypeHasBeenSet; } + + /** + *

The sync type for the requested list of sync configurations.

+ */ + inline void SetSyncType(const SyncConfigurationType& value) { m_syncTypeHasBeenSet = true; m_syncType = value; } + + /** + *

The sync type for the requested list of sync configurations.

+ */ + inline void SetSyncType(SyncConfigurationType&& value) { m_syncTypeHasBeenSet = true; m_syncType = std::move(value); } + + /** + *

The sync type for the requested list of sync configurations.

+ */ + inline ListSyncConfigurationsRequest& WithSyncType(const SyncConfigurationType& value) { SetSyncType(value); return *this;} + + /** + *

The sync type for the requested list of sync configurations.

+ */ + inline ListSyncConfigurationsRequest& WithSyncType(SyncConfigurationType&& value) { SetSyncType(std::move(value)); return *this;} + + private: + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + Aws::String m_repositoryLinkId; + bool m_repositoryLinkIdHasBeenSet = false; + + SyncConfigurationType m_syncType; + bool m_syncTypeHasBeenSet = false; + }; + +} // namespace Model +} // namespace CodeStarconnections +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/ListSyncConfigurationsResult.h b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/ListSyncConfigurationsResult.h new file mode 100644 index 00000000000..4a0b6700004 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/ListSyncConfigurationsResult.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 +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace CodeStarconnections +{ +namespace Model +{ + class ListSyncConfigurationsResult + { + public: + AWS_CODESTARCONNECTIONS_API ListSyncConfigurationsResult(); + AWS_CODESTARCONNECTIONS_API ListSyncConfigurationsResult(const Aws::AmazonWebServiceResult& result); + AWS_CODESTARCONNECTIONS_API ListSyncConfigurationsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

The list of repository sync definitions returned by the request.

+ */ + inline const Aws::Vector& GetSyncConfigurations() const{ return m_syncConfigurations; } + + /** + *

The list of repository sync definitions returned by the request.

+ */ + inline void SetSyncConfigurations(const Aws::Vector& value) { m_syncConfigurations = value; } + + /** + *

The list of repository sync definitions returned by the request.

+ */ + inline void SetSyncConfigurations(Aws::Vector&& value) { m_syncConfigurations = std::move(value); } + + /** + *

The list of repository sync definitions returned by the request.

+ */ + inline ListSyncConfigurationsResult& WithSyncConfigurations(const Aws::Vector& value) { SetSyncConfigurations(value); return *this;} + + /** + *

The list of repository sync definitions returned by the request.

+ */ + inline ListSyncConfigurationsResult& WithSyncConfigurations(Aws::Vector&& value) { SetSyncConfigurations(std::move(value)); return *this;} + + /** + *

The list of repository sync definitions returned by the request.

+ */ + inline ListSyncConfigurationsResult& AddSyncConfigurations(const SyncConfiguration& value) { m_syncConfigurations.push_back(value); return *this; } + + /** + *

The list of repository sync definitions returned by the request.

+ */ + inline ListSyncConfigurationsResult& AddSyncConfigurations(SyncConfiguration&& value) { m_syncConfigurations.push_back(std::move(value)); return *this; } + + + /** + *

An enumeration token that allows the operation to batch the next results of + * the operation.

+ */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + + /** + *

An enumeration token that allows the operation to batch the next results of + * the operation.

+ */ + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + + /** + *

An enumeration token that allows the operation to batch the next results of + * the operation.

+ */ + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + + /** + *

An enumeration token that allows the operation to batch the next results of + * the operation.

+ */ + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + + /** + *

An enumeration token that allows the operation to batch the next results of + * the operation.

+ */ + inline ListSyncConfigurationsResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + + /** + *

An enumeration token that allows the operation to batch the next results of + * the operation.

+ */ + inline ListSyncConfigurationsResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + + /** + *

An enumeration token that allows the operation to batch the next results of + * the operation.

+ */ + inline ListSyncConfigurationsResult& 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 ListSyncConfigurationsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline ListSyncConfigurationsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline ListSyncConfigurationsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::Vector m_syncConfigurations; + + Aws::String m_nextToken; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace CodeStarconnections +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/RepositoryLinkInfo.h b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/RepositoryLinkInfo.h new file mode 100644 index 00000000000..1b9924aee15 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/RepositoryLinkInfo.h @@ -0,0 +1,375 @@ +/** + * 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 CodeStarconnections +{ +namespace Model +{ + + /** + *

Information about the repository link resource, such as the repository link + * ARN, the associated connection ARN, encryption key ARN, and owner + * ID.

See Also:

AWS + * API Reference

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

The Amazon Resource Name (ARN) of the connection associated with the + * repository link.

+ */ + inline const Aws::String& GetConnectionArn() const{ return m_connectionArn; } + + /** + *

The Amazon Resource Name (ARN) of the connection associated with the + * repository link.

+ */ + inline bool ConnectionArnHasBeenSet() const { return m_connectionArnHasBeenSet; } + + /** + *

The Amazon Resource Name (ARN) of the connection associated with the + * repository link.

+ */ + inline void SetConnectionArn(const Aws::String& value) { m_connectionArnHasBeenSet = true; m_connectionArn = value; } + + /** + *

The Amazon Resource Name (ARN) of the connection associated with the + * repository link.

+ */ + inline void SetConnectionArn(Aws::String&& value) { m_connectionArnHasBeenSet = true; m_connectionArn = std::move(value); } + + /** + *

The Amazon Resource Name (ARN) of the connection associated with the + * repository link.

+ */ + inline void SetConnectionArn(const char* value) { m_connectionArnHasBeenSet = true; m_connectionArn.assign(value); } + + /** + *

The Amazon Resource Name (ARN) of the connection associated with the + * repository link.

+ */ + inline RepositoryLinkInfo& WithConnectionArn(const Aws::String& value) { SetConnectionArn(value); return *this;} + + /** + *

The Amazon Resource Name (ARN) of the connection associated with the + * repository link.

+ */ + inline RepositoryLinkInfo& WithConnectionArn(Aws::String&& value) { SetConnectionArn(std::move(value)); return *this;} + + /** + *

The Amazon Resource Name (ARN) of the connection associated with the + * repository link.

+ */ + inline RepositoryLinkInfo& WithConnectionArn(const char* value) { SetConnectionArn(value); return *this;} + + + /** + *

The Amazon Resource Name (ARN) of the encryption key for the repository + * associated with the repository link.

+ */ + inline const Aws::String& GetEncryptionKeyArn() const{ return m_encryptionKeyArn; } + + /** + *

The Amazon Resource Name (ARN) of the encryption key for the repository + * associated with the repository link.

+ */ + inline bool EncryptionKeyArnHasBeenSet() const { return m_encryptionKeyArnHasBeenSet; } + + /** + *

The Amazon Resource Name (ARN) of the encryption key for the repository + * associated with the repository link.

+ */ + inline void SetEncryptionKeyArn(const Aws::String& value) { m_encryptionKeyArnHasBeenSet = true; m_encryptionKeyArn = value; } + + /** + *

The Amazon Resource Name (ARN) of the encryption key for the repository + * associated with the repository link.

+ */ + inline void SetEncryptionKeyArn(Aws::String&& value) { m_encryptionKeyArnHasBeenSet = true; m_encryptionKeyArn = std::move(value); } + + /** + *

The Amazon Resource Name (ARN) of the encryption key for the repository + * associated with the repository link.

+ */ + inline void SetEncryptionKeyArn(const char* value) { m_encryptionKeyArnHasBeenSet = true; m_encryptionKeyArn.assign(value); } + + /** + *

The Amazon Resource Name (ARN) of the encryption key for the repository + * associated with the repository link.

+ */ + inline RepositoryLinkInfo& WithEncryptionKeyArn(const Aws::String& value) { SetEncryptionKeyArn(value); return *this;} + + /** + *

The Amazon Resource Name (ARN) of the encryption key for the repository + * associated with the repository link.

+ */ + inline RepositoryLinkInfo& WithEncryptionKeyArn(Aws::String&& value) { SetEncryptionKeyArn(std::move(value)); return *this;} + + /** + *

The Amazon Resource Name (ARN) of the encryption key for the repository + * associated with the repository link.

+ */ + inline RepositoryLinkInfo& WithEncryptionKeyArn(const char* value) { SetEncryptionKeyArn(value); return *this;} + + + /** + *

The owner ID for the repository associated with the repository link, such as + * the owner ID in GitHub.

+ */ + inline const Aws::String& GetOwnerId() const{ return m_ownerId; } + + /** + *

The owner ID for the repository associated with the repository link, such as + * the owner ID in GitHub.

+ */ + inline bool OwnerIdHasBeenSet() const { return m_ownerIdHasBeenSet; } + + /** + *

The owner ID for the repository associated with the repository link, such as + * the owner ID in GitHub.

+ */ + inline void SetOwnerId(const Aws::String& value) { m_ownerIdHasBeenSet = true; m_ownerId = value; } + + /** + *

The owner ID for the repository associated with the repository link, such as + * the owner ID in GitHub.

+ */ + inline void SetOwnerId(Aws::String&& value) { m_ownerIdHasBeenSet = true; m_ownerId = std::move(value); } + + /** + *

The owner ID for the repository associated with the repository link, such as + * the owner ID in GitHub.

+ */ + inline void SetOwnerId(const char* value) { m_ownerIdHasBeenSet = true; m_ownerId.assign(value); } + + /** + *

The owner ID for the repository associated with the repository link, such as + * the owner ID in GitHub.

+ */ + inline RepositoryLinkInfo& WithOwnerId(const Aws::String& value) { SetOwnerId(value); return *this;} + + /** + *

The owner ID for the repository associated with the repository link, such as + * the owner ID in GitHub.

+ */ + inline RepositoryLinkInfo& WithOwnerId(Aws::String&& value) { SetOwnerId(std::move(value)); return *this;} + + /** + *

The owner ID for the repository associated with the repository link, such as + * the owner ID in GitHub.

+ */ + inline RepositoryLinkInfo& WithOwnerId(const char* value) { SetOwnerId(value); return *this;} + + + /** + *

The provider type for the connection, such as GitHub, associated with the + * repository link.

+ */ + inline const ProviderType& GetProviderType() const{ return m_providerType; } + + /** + *

The provider type for the connection, such as GitHub, associated with the + * repository link.

+ */ + inline bool ProviderTypeHasBeenSet() const { return m_providerTypeHasBeenSet; } + + /** + *

The provider type for the connection, such as GitHub, associated with the + * repository link.

+ */ + inline void SetProviderType(const ProviderType& value) { m_providerTypeHasBeenSet = true; m_providerType = value; } + + /** + *

The provider type for the connection, such as GitHub, associated with the + * repository link.

+ */ + inline void SetProviderType(ProviderType&& value) { m_providerTypeHasBeenSet = true; m_providerType = std::move(value); } + + /** + *

The provider type for the connection, such as GitHub, associated with the + * repository link.

+ */ + inline RepositoryLinkInfo& WithProviderType(const ProviderType& value) { SetProviderType(value); return *this;} + + /** + *

The provider type for the connection, such as GitHub, associated with the + * repository link.

+ */ + inline RepositoryLinkInfo& WithProviderType(ProviderType&& value) { SetProviderType(std::move(value)); return *this;} + + + /** + *

The Amazon Resource Name (ARN) of the repository link.

+ */ + inline const Aws::String& GetRepositoryLinkArn() const{ return m_repositoryLinkArn; } + + /** + *

The Amazon Resource Name (ARN) of the repository link.

+ */ + inline bool RepositoryLinkArnHasBeenSet() const { return m_repositoryLinkArnHasBeenSet; } + + /** + *

The Amazon Resource Name (ARN) of the repository link.

+ */ + inline void SetRepositoryLinkArn(const Aws::String& value) { m_repositoryLinkArnHasBeenSet = true; m_repositoryLinkArn = value; } + + /** + *

The Amazon Resource Name (ARN) of the repository link.

+ */ + inline void SetRepositoryLinkArn(Aws::String&& value) { m_repositoryLinkArnHasBeenSet = true; m_repositoryLinkArn = std::move(value); } + + /** + *

The Amazon Resource Name (ARN) of the repository link.

+ */ + inline void SetRepositoryLinkArn(const char* value) { m_repositoryLinkArnHasBeenSet = true; m_repositoryLinkArn.assign(value); } + + /** + *

The Amazon Resource Name (ARN) of the repository link.

+ */ + inline RepositoryLinkInfo& WithRepositoryLinkArn(const Aws::String& value) { SetRepositoryLinkArn(value); return *this;} + + /** + *

The Amazon Resource Name (ARN) of the repository link.

+ */ + inline RepositoryLinkInfo& WithRepositoryLinkArn(Aws::String&& value) { SetRepositoryLinkArn(std::move(value)); return *this;} + + /** + *

The Amazon Resource Name (ARN) of the repository link.

+ */ + inline RepositoryLinkInfo& WithRepositoryLinkArn(const char* value) { SetRepositoryLinkArn(value); return *this;} + + + /** + *

The ID of the repository link.

+ */ + inline const Aws::String& GetRepositoryLinkId() const{ return m_repositoryLinkId; } + + /** + *

The ID of the repository link.

+ */ + inline bool RepositoryLinkIdHasBeenSet() const { return m_repositoryLinkIdHasBeenSet; } + + /** + *

The ID of the repository link.

+ */ + inline void SetRepositoryLinkId(const Aws::String& value) { m_repositoryLinkIdHasBeenSet = true; m_repositoryLinkId = value; } + + /** + *

The ID of the repository link.

+ */ + inline void SetRepositoryLinkId(Aws::String&& value) { m_repositoryLinkIdHasBeenSet = true; m_repositoryLinkId = std::move(value); } + + /** + *

The ID of the repository link.

+ */ + inline void SetRepositoryLinkId(const char* value) { m_repositoryLinkIdHasBeenSet = true; m_repositoryLinkId.assign(value); } + + /** + *

The ID of the repository link.

+ */ + inline RepositoryLinkInfo& WithRepositoryLinkId(const Aws::String& value) { SetRepositoryLinkId(value); return *this;} + + /** + *

The ID of the repository link.

+ */ + inline RepositoryLinkInfo& WithRepositoryLinkId(Aws::String&& value) { SetRepositoryLinkId(std::move(value)); return *this;} + + /** + *

The ID of the repository link.

+ */ + inline RepositoryLinkInfo& WithRepositoryLinkId(const char* value) { SetRepositoryLinkId(value); return *this;} + + + /** + *

The name of the repository associated with the repository link.

+ */ + inline const Aws::String& GetRepositoryName() const{ return m_repositoryName; } + + /** + *

The name of the repository associated with the repository link.

+ */ + inline bool RepositoryNameHasBeenSet() const { return m_repositoryNameHasBeenSet; } + + /** + *

The name of the repository associated with the repository link.

+ */ + inline void SetRepositoryName(const Aws::String& value) { m_repositoryNameHasBeenSet = true; m_repositoryName = value; } + + /** + *

The name of the repository associated with the repository link.

+ */ + inline void SetRepositoryName(Aws::String&& value) { m_repositoryNameHasBeenSet = true; m_repositoryName = std::move(value); } + + /** + *

The name of the repository associated with the repository link.

+ */ + inline void SetRepositoryName(const char* value) { m_repositoryNameHasBeenSet = true; m_repositoryName.assign(value); } + + /** + *

The name of the repository associated with the repository link.

+ */ + inline RepositoryLinkInfo& WithRepositoryName(const Aws::String& value) { SetRepositoryName(value); return *this;} + + /** + *

The name of the repository associated with the repository link.

+ */ + inline RepositoryLinkInfo& WithRepositoryName(Aws::String&& value) { SetRepositoryName(std::move(value)); return *this;} + + /** + *

The name of the repository associated with the repository link.

+ */ + inline RepositoryLinkInfo& WithRepositoryName(const char* value) { SetRepositoryName(value); return *this;} + + private: + + Aws::String m_connectionArn; + bool m_connectionArnHasBeenSet = false; + + Aws::String m_encryptionKeyArn; + bool m_encryptionKeyArnHasBeenSet = false; + + Aws::String m_ownerId; + bool m_ownerIdHasBeenSet = false; + + ProviderType m_providerType; + bool m_providerTypeHasBeenSet = false; + + Aws::String m_repositoryLinkArn; + bool m_repositoryLinkArnHasBeenSet = false; + + Aws::String m_repositoryLinkId; + bool m_repositoryLinkIdHasBeenSet = false; + + Aws::String m_repositoryName; + bool m_repositoryNameHasBeenSet = false; + }; + +} // namespace Model +} // namespace CodeStarconnections +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/RepositorySyncAttempt.h b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/RepositorySyncAttempt.h new file mode 100644 index 00000000000..9e5f34ff3e2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/RepositorySyncAttempt.h @@ -0,0 +1,202 @@ +/** + * 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 CodeStarconnections +{ +namespace Model +{ + + /** + *

Information about a repository sync attempt for a repository with a sync + * configuration.

See Also:

AWS + * API Reference

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

The start time of a specific sync attempt.

+ */ + inline const Aws::Utils::DateTime& GetStartedAt() const{ return m_startedAt; } + + /** + *

The start time of a specific sync attempt.

+ */ + inline bool StartedAtHasBeenSet() const { return m_startedAtHasBeenSet; } + + /** + *

The start time of a specific sync attempt.

+ */ + inline void SetStartedAt(const Aws::Utils::DateTime& value) { m_startedAtHasBeenSet = true; m_startedAt = value; } + + /** + *

The start time of a specific sync attempt.

+ */ + inline void SetStartedAt(Aws::Utils::DateTime&& value) { m_startedAtHasBeenSet = true; m_startedAt = std::move(value); } + + /** + *

The start time of a specific sync attempt.

+ */ + inline RepositorySyncAttempt& WithStartedAt(const Aws::Utils::DateTime& value) { SetStartedAt(value); return *this;} + + /** + *

The start time of a specific sync attempt.

+ */ + inline RepositorySyncAttempt& WithStartedAt(Aws::Utils::DateTime&& value) { SetStartedAt(std::move(value)); return *this;} + + + /** + *

The status of a specific sync attempt. The following are valid statuses:

+ *
  • INITIATED - A repository sync attempt has been created and will + * begin soon.

  • IN_PROGRESS - A repository sync attempt has + * started and work is being done to reconcile the branch.

  • + *

    SUCCEEDED - The repository sync attempt has completed successfully.

  • + *
  • FAILED - The repository sync attempt has failed.

  • + *

    QUEUED - The repository sync attempt didn't execute and was queued.

  • + *
+ */ + inline const RepositorySyncStatus& GetStatus() const{ return m_status; } + + /** + *

The status of a specific sync attempt. The following are valid statuses:

+ *
  • INITIATED - A repository sync attempt has been created and will + * begin soon.

  • IN_PROGRESS - A repository sync attempt has + * started and work is being done to reconcile the branch.

  • + *

    SUCCEEDED - The repository sync attempt has completed successfully.

  • + *
  • FAILED - The repository sync attempt has failed.

  • + *

    QUEUED - The repository sync attempt didn't execute and was queued.

  • + *
+ */ + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + + /** + *

The status of a specific sync attempt. The following are valid statuses:

+ *
  • INITIATED - A repository sync attempt has been created and will + * begin soon.

  • IN_PROGRESS - A repository sync attempt has + * started and work is being done to reconcile the branch.

  • + *

    SUCCEEDED - The repository sync attempt has completed successfully.

  • + *
  • FAILED - The repository sync attempt has failed.

  • + *

    QUEUED - The repository sync attempt didn't execute and was queued.

  • + *
+ */ + inline void SetStatus(const RepositorySyncStatus& value) { m_statusHasBeenSet = true; m_status = value; } + + /** + *

The status of a specific sync attempt. The following are valid statuses:

+ *
  • INITIATED - A repository sync attempt has been created and will + * begin soon.

  • IN_PROGRESS - A repository sync attempt has + * started and work is being done to reconcile the branch.

  • + *

    SUCCEEDED - The repository sync attempt has completed successfully.

  • + *
  • FAILED - The repository sync attempt has failed.

  • + *

    QUEUED - The repository sync attempt didn't execute and was queued.

  • + *
+ */ + inline void SetStatus(RepositorySyncStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } + + /** + *

The status of a specific sync attempt. The following are valid statuses:

+ *
  • INITIATED - A repository sync attempt has been created and will + * begin soon.

  • IN_PROGRESS - A repository sync attempt has + * started and work is being done to reconcile the branch.

  • + *

    SUCCEEDED - The repository sync attempt has completed successfully.

  • + *
  • FAILED - The repository sync attempt has failed.

  • + *

    QUEUED - The repository sync attempt didn't execute and was queued.

  • + *
+ */ + inline RepositorySyncAttempt& WithStatus(const RepositorySyncStatus& value) { SetStatus(value); return *this;} + + /** + *

The status of a specific sync attempt. The following are valid statuses:

+ *
  • INITIATED - A repository sync attempt has been created and will + * begin soon.

  • IN_PROGRESS - A repository sync attempt has + * started and work is being done to reconcile the branch.

  • + *

    SUCCEEDED - The repository sync attempt has completed successfully.

  • + *
  • FAILED - The repository sync attempt has failed.

  • + *

    QUEUED - The repository sync attempt didn't execute and was queued.

  • + *
+ */ + inline RepositorySyncAttempt& WithStatus(RepositorySyncStatus&& value) { SetStatus(std::move(value)); return *this;} + + + /** + *

The events associated with a specific sync attempt.

+ */ + inline const Aws::Vector& GetEvents() const{ return m_events; } + + /** + *

The events associated with a specific sync attempt.

+ */ + inline bool EventsHasBeenSet() const { return m_eventsHasBeenSet; } + + /** + *

The events associated with a specific sync attempt.

+ */ + inline void SetEvents(const Aws::Vector& value) { m_eventsHasBeenSet = true; m_events = value; } + + /** + *

The events associated with a specific sync attempt.

+ */ + inline void SetEvents(Aws::Vector&& value) { m_eventsHasBeenSet = true; m_events = std::move(value); } + + /** + *

The events associated with a specific sync attempt.

+ */ + inline RepositorySyncAttempt& WithEvents(const Aws::Vector& value) { SetEvents(value); return *this;} + + /** + *

The events associated with a specific sync attempt.

+ */ + inline RepositorySyncAttempt& WithEvents(Aws::Vector&& value) { SetEvents(std::move(value)); return *this;} + + /** + *

The events associated with a specific sync attempt.

+ */ + inline RepositorySyncAttempt& AddEvents(const RepositorySyncEvent& value) { m_eventsHasBeenSet = true; m_events.push_back(value); return *this; } + + /** + *

The events associated with a specific sync attempt.

+ */ + inline RepositorySyncAttempt& AddEvents(RepositorySyncEvent&& value) { m_eventsHasBeenSet = true; m_events.push_back(std::move(value)); return *this; } + + private: + + Aws::Utils::DateTime m_startedAt; + bool m_startedAtHasBeenSet = false; + + RepositorySyncStatus m_status; + bool m_statusHasBeenSet = false; + + Aws::Vector m_events; + bool m_eventsHasBeenSet = false; + }; + +} // namespace Model +} // namespace CodeStarconnections +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/RepositorySyncDefinition.h b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/RepositorySyncDefinition.h new file mode 100644 index 00000000000..fdb1255697c --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/RepositorySyncDefinition.h @@ -0,0 +1,245 @@ +/** + * 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 CodeStarconnections +{ +namespace Model +{ + + /** + *

The definition for a repository with a sync configuration.

See + * Also:

AWS + * API Reference

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

The branch specified for a repository sync definition.

+ */ + inline const Aws::String& GetBranch() const{ return m_branch; } + + /** + *

The branch specified for a repository sync definition.

+ */ + inline bool BranchHasBeenSet() const { return m_branchHasBeenSet; } + + /** + *

The branch specified for a repository sync definition.

+ */ + inline void SetBranch(const Aws::String& value) { m_branchHasBeenSet = true; m_branch = value; } + + /** + *

The branch specified for a repository sync definition.

+ */ + inline void SetBranch(Aws::String&& value) { m_branchHasBeenSet = true; m_branch = std::move(value); } + + /** + *

The branch specified for a repository sync definition.

+ */ + inline void SetBranch(const char* value) { m_branchHasBeenSet = true; m_branch.assign(value); } + + /** + *

The branch specified for a repository sync definition.

+ */ + inline RepositorySyncDefinition& WithBranch(const Aws::String& value) { SetBranch(value); return *this;} + + /** + *

The branch specified for a repository sync definition.

+ */ + inline RepositorySyncDefinition& WithBranch(Aws::String&& value) { SetBranch(std::move(value)); return *this;} + + /** + *

The branch specified for a repository sync definition.

+ */ + inline RepositorySyncDefinition& WithBranch(const char* value) { SetBranch(value); return *this;} + + + /** + *

The configuration file for a repository sync definition. This value comes + * from creating or updating the config-file field of a + * sync-configuration.

+ */ + inline const Aws::String& GetDirectory() const{ return m_directory; } + + /** + *

The configuration file for a repository sync definition. This value comes + * from creating or updating the config-file field of a + * sync-configuration.

+ */ + inline bool DirectoryHasBeenSet() const { return m_directoryHasBeenSet; } + + /** + *

The configuration file for a repository sync definition. This value comes + * from creating or updating the config-file field of a + * sync-configuration.

+ */ + inline void SetDirectory(const Aws::String& value) { m_directoryHasBeenSet = true; m_directory = value; } + + /** + *

The configuration file for a repository sync definition. This value comes + * from creating or updating the config-file field of a + * sync-configuration.

+ */ + inline void SetDirectory(Aws::String&& value) { m_directoryHasBeenSet = true; m_directory = std::move(value); } + + /** + *

The configuration file for a repository sync definition. This value comes + * from creating or updating the config-file field of a + * sync-configuration.

+ */ + inline void SetDirectory(const char* value) { m_directoryHasBeenSet = true; m_directory.assign(value); } + + /** + *

The configuration file for a repository sync definition. This value comes + * from creating or updating the config-file field of a + * sync-configuration.

+ */ + inline RepositorySyncDefinition& WithDirectory(const Aws::String& value) { SetDirectory(value); return *this;} + + /** + *

The configuration file for a repository sync definition. This value comes + * from creating or updating the config-file field of a + * sync-configuration.

+ */ + inline RepositorySyncDefinition& WithDirectory(Aws::String&& value) { SetDirectory(std::move(value)); return *this;} + + /** + *

The configuration file for a repository sync definition. This value comes + * from creating or updating the config-file field of a + * sync-configuration.

+ */ + inline RepositorySyncDefinition& WithDirectory(const char* value) { SetDirectory(value); return *this;} + + + /** + *

The parent resource specified for a repository sync definition.

+ */ + inline const Aws::String& GetParent() const{ return m_parent; } + + /** + *

The parent resource specified for a repository sync definition.

+ */ + inline bool ParentHasBeenSet() const { return m_parentHasBeenSet; } + + /** + *

The parent resource specified for a repository sync definition.

+ */ + inline void SetParent(const Aws::String& value) { m_parentHasBeenSet = true; m_parent = value; } + + /** + *

The parent resource specified for a repository sync definition.

+ */ + inline void SetParent(Aws::String&& value) { m_parentHasBeenSet = true; m_parent = std::move(value); } + + /** + *

The parent resource specified for a repository sync definition.

+ */ + inline void SetParent(const char* value) { m_parentHasBeenSet = true; m_parent.assign(value); } + + /** + *

The parent resource specified for a repository sync definition.

+ */ + inline RepositorySyncDefinition& WithParent(const Aws::String& value) { SetParent(value); return *this;} + + /** + *

The parent resource specified for a repository sync definition.

+ */ + inline RepositorySyncDefinition& WithParent(Aws::String&& value) { SetParent(std::move(value)); return *this;} + + /** + *

The parent resource specified for a repository sync definition.

+ */ + inline RepositorySyncDefinition& WithParent(const char* value) { SetParent(value); return *this;} + + + /** + *

The target resource specified for a repository sync definition. In some + * cases, such as CFN_STACK_SYNC, the parent and target resource are the same.

+ */ + inline const Aws::String& GetTarget() const{ return m_target; } + + /** + *

The target resource specified for a repository sync definition. In some + * cases, such as CFN_STACK_SYNC, the parent and target resource are the same.

+ */ + inline bool TargetHasBeenSet() const { return m_targetHasBeenSet; } + + /** + *

The target resource specified for a repository sync definition. In some + * cases, such as CFN_STACK_SYNC, the parent and target resource are the same.

+ */ + inline void SetTarget(const Aws::String& value) { m_targetHasBeenSet = true; m_target = value; } + + /** + *

The target resource specified for a repository sync definition. In some + * cases, such as CFN_STACK_SYNC, the parent and target resource are the same.

+ */ + inline void SetTarget(Aws::String&& value) { m_targetHasBeenSet = true; m_target = std::move(value); } + + /** + *

The target resource specified for a repository sync definition. In some + * cases, such as CFN_STACK_SYNC, the parent and target resource are the same.

+ */ + inline void SetTarget(const char* value) { m_targetHasBeenSet = true; m_target.assign(value); } + + /** + *

The target resource specified for a repository sync definition. In some + * cases, such as CFN_STACK_SYNC, the parent and target resource are the same.

+ */ + inline RepositorySyncDefinition& WithTarget(const Aws::String& value) { SetTarget(value); return *this;} + + /** + *

The target resource specified for a repository sync definition. In some + * cases, such as CFN_STACK_SYNC, the parent and target resource are the same.

+ */ + inline RepositorySyncDefinition& WithTarget(Aws::String&& value) { SetTarget(std::move(value)); return *this;} + + /** + *

The target resource specified for a repository sync definition. In some + * cases, such as CFN_STACK_SYNC, the parent and target resource are the same.

+ */ + inline RepositorySyncDefinition& WithTarget(const char* value) { SetTarget(value); return *this;} + + private: + + Aws::String m_branch; + bool m_branchHasBeenSet = false; + + Aws::String m_directory; + bool m_directoryHasBeenSet = false; + + Aws::String m_parent; + bool m_parentHasBeenSet = false; + + Aws::String m_target; + bool m_targetHasBeenSet = false; + }; + +} // namespace Model +} // namespace CodeStarconnections +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/RepositorySyncEvent.h b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/RepositorySyncEvent.h new file mode 100644 index 00000000000..4a1ad6556c2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/RepositorySyncEvent.h @@ -0,0 +1,211 @@ +/** + * 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 CodeStarconnections +{ +namespace Model +{ + + /** + *

Information about a repository sync event.

See Also:

AWS + * API Reference

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

A description of a repository sync event.

+ */ + inline const Aws::String& GetEvent() const{ return m_event; } + + /** + *

A description of a repository sync event.

+ */ + inline bool EventHasBeenSet() const { return m_eventHasBeenSet; } + + /** + *

A description of a repository sync event.

+ */ + inline void SetEvent(const Aws::String& value) { m_eventHasBeenSet = true; m_event = value; } + + /** + *

A description of a repository sync event.

+ */ + inline void SetEvent(Aws::String&& value) { m_eventHasBeenSet = true; m_event = std::move(value); } + + /** + *

A description of a repository sync event.

+ */ + inline void SetEvent(const char* value) { m_eventHasBeenSet = true; m_event.assign(value); } + + /** + *

A description of a repository sync event.

+ */ + inline RepositorySyncEvent& WithEvent(const Aws::String& value) { SetEvent(value); return *this;} + + /** + *

A description of a repository sync event.

+ */ + inline RepositorySyncEvent& WithEvent(Aws::String&& value) { SetEvent(std::move(value)); return *this;} + + /** + *

A description of a repository sync event.

+ */ + inline RepositorySyncEvent& WithEvent(const char* value) { SetEvent(value); return *this;} + + + /** + *

The ID for a repository sync event.

+ */ + inline const Aws::String& GetExternalId() const{ return m_externalId; } + + /** + *

The ID for a repository sync event.

+ */ + inline bool ExternalIdHasBeenSet() const { return m_externalIdHasBeenSet; } + + /** + *

The ID for a repository sync event.

+ */ + inline void SetExternalId(const Aws::String& value) { m_externalIdHasBeenSet = true; m_externalId = value; } + + /** + *

The ID for a repository sync event.

+ */ + inline void SetExternalId(Aws::String&& value) { m_externalIdHasBeenSet = true; m_externalId = std::move(value); } + + /** + *

The ID for a repository sync event.

+ */ + inline void SetExternalId(const char* value) { m_externalIdHasBeenSet = true; m_externalId.assign(value); } + + /** + *

The ID for a repository sync event.

+ */ + inline RepositorySyncEvent& WithExternalId(const Aws::String& value) { SetExternalId(value); return *this;} + + /** + *

The ID for a repository sync event.

+ */ + inline RepositorySyncEvent& WithExternalId(Aws::String&& value) { SetExternalId(std::move(value)); return *this;} + + /** + *

The ID for a repository sync event.

+ */ + inline RepositorySyncEvent& WithExternalId(const char* value) { SetExternalId(value); return *this;} + + + /** + *

The time that a repository sync event occurred.

+ */ + inline const Aws::Utils::DateTime& GetTime() const{ return m_time; } + + /** + *

The time that a repository sync event occurred.

+ */ + inline bool TimeHasBeenSet() const { return m_timeHasBeenSet; } + + /** + *

The time that a repository sync event occurred.

+ */ + inline void SetTime(const Aws::Utils::DateTime& value) { m_timeHasBeenSet = true; m_time = value; } + + /** + *

The time that a repository sync event occurred.

+ */ + inline void SetTime(Aws::Utils::DateTime&& value) { m_timeHasBeenSet = true; m_time = std::move(value); } + + /** + *

The time that a repository sync event occurred.

+ */ + inline RepositorySyncEvent& WithTime(const Aws::Utils::DateTime& value) { SetTime(value); return *this;} + + /** + *

The time that a repository sync event occurred.

+ */ + inline RepositorySyncEvent& WithTime(Aws::Utils::DateTime&& value) { SetTime(std::move(value)); return *this;} + + + /** + *

The event type for a repository sync event.

+ */ + inline const Aws::String& GetType() const{ return m_type; } + + /** + *

The event type for a repository sync event.

+ */ + inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } + + /** + *

The event type for a repository sync event.

+ */ + inline void SetType(const Aws::String& value) { m_typeHasBeenSet = true; m_type = value; } + + /** + *

The event type for a repository sync event.

+ */ + inline void SetType(Aws::String&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } + + /** + *

The event type for a repository sync event.

+ */ + inline void SetType(const char* value) { m_typeHasBeenSet = true; m_type.assign(value); } + + /** + *

The event type for a repository sync event.

+ */ + inline RepositorySyncEvent& WithType(const Aws::String& value) { SetType(value); return *this;} + + /** + *

The event type for a repository sync event.

+ */ + inline RepositorySyncEvent& WithType(Aws::String&& value) { SetType(std::move(value)); return *this;} + + /** + *

The event type for a repository sync event.

+ */ + inline RepositorySyncEvent& WithType(const char* value) { SetType(value); return *this;} + + private: + + Aws::String m_event; + bool m_eventHasBeenSet = false; + + Aws::String m_externalId; + bool m_externalIdHasBeenSet = false; + + Aws::Utils::DateTime m_time; + bool m_timeHasBeenSet = false; + + Aws::String m_type; + bool m_typeHasBeenSet = false; + }; + +} // namespace Model +} // namespace CodeStarconnections +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/RepositorySyncStatus.h b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/RepositorySyncStatus.h new file mode 100644 index 00000000000..bcc331e2bce --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/RepositorySyncStatus.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 CodeStarconnections +{ +namespace Model +{ + enum class RepositorySyncStatus + { + NOT_SET, + FAILED, + INITIATED, + IN_PROGRESS, + SUCCEEDED, + QUEUED + }; + +namespace RepositorySyncStatusMapper +{ +AWS_CODESTARCONNECTIONS_API RepositorySyncStatus GetRepositorySyncStatusForName(const Aws::String& name); + +AWS_CODESTARCONNECTIONS_API Aws::String GetNameForRepositorySyncStatus(RepositorySyncStatus value); +} // namespace RepositorySyncStatusMapper +} // namespace Model +} // namespace CodeStarconnections +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/ResourceSyncAttempt.h b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/ResourceSyncAttempt.h new file mode 100644 index 00000000000..366e64e877a --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/ResourceSyncAttempt.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 Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace CodeStarconnections +{ +namespace Model +{ + + /** + *

Information about a resource sync attempt.

See Also:

AWS + * API Reference

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

The events related to a resource sync attempt.

+ */ + inline const Aws::Vector& GetEvents() const{ return m_events; } + + /** + *

The events related to a resource sync attempt.

+ */ + inline bool EventsHasBeenSet() const { return m_eventsHasBeenSet; } + + /** + *

The events related to a resource sync attempt.

+ */ + inline void SetEvents(const Aws::Vector& value) { m_eventsHasBeenSet = true; m_events = value; } + + /** + *

The events related to a resource sync attempt.

+ */ + inline void SetEvents(Aws::Vector&& value) { m_eventsHasBeenSet = true; m_events = std::move(value); } + + /** + *

The events related to a resource sync attempt.

+ */ + inline ResourceSyncAttempt& WithEvents(const Aws::Vector& value) { SetEvents(value); return *this;} + + /** + *

The events related to a resource sync attempt.

+ */ + inline ResourceSyncAttempt& WithEvents(Aws::Vector&& value) { SetEvents(std::move(value)); return *this;} + + /** + *

The events related to a resource sync attempt.

+ */ + inline ResourceSyncAttempt& AddEvents(const ResourceSyncEvent& value) { m_eventsHasBeenSet = true; m_events.push_back(value); return *this; } + + /** + *

The events related to a resource sync attempt.

+ */ + inline ResourceSyncAttempt& AddEvents(ResourceSyncEvent&& value) { m_eventsHasBeenSet = true; m_events.push_back(std::move(value)); return *this; } + + + /** + *

The current state of the resource as defined in the resource's + * config-file in the linked repository.

+ */ + inline const Revision& GetInitialRevision() const{ return m_initialRevision; } + + /** + *

The current state of the resource as defined in the resource's + * config-file in the linked repository.

+ */ + inline bool InitialRevisionHasBeenSet() const { return m_initialRevisionHasBeenSet; } + + /** + *

The current state of the resource as defined in the resource's + * config-file in the linked repository.

+ */ + inline void SetInitialRevision(const Revision& value) { m_initialRevisionHasBeenSet = true; m_initialRevision = value; } + + /** + *

The current state of the resource as defined in the resource's + * config-file in the linked repository.

+ */ + inline void SetInitialRevision(Revision&& value) { m_initialRevisionHasBeenSet = true; m_initialRevision = std::move(value); } + + /** + *

The current state of the resource as defined in the resource's + * config-file in the linked repository.

+ */ + inline ResourceSyncAttempt& WithInitialRevision(const Revision& value) { SetInitialRevision(value); return *this;} + + /** + *

The current state of the resource as defined in the resource's + * config-file in the linked repository.

+ */ + inline ResourceSyncAttempt& WithInitialRevision(Revision&& value) { SetInitialRevision(std::move(value)); return *this;} + + + /** + *

The start time for a resource sync attempt.

+ */ + inline const Aws::Utils::DateTime& GetStartedAt() const{ return m_startedAt; } + + /** + *

The start time for a resource sync attempt.

+ */ + inline bool StartedAtHasBeenSet() const { return m_startedAtHasBeenSet; } + + /** + *

The start time for a resource sync attempt.

+ */ + inline void SetStartedAt(const Aws::Utils::DateTime& value) { m_startedAtHasBeenSet = true; m_startedAt = value; } + + /** + *

The start time for a resource sync attempt.

+ */ + inline void SetStartedAt(Aws::Utils::DateTime&& value) { m_startedAtHasBeenSet = true; m_startedAt = std::move(value); } + + /** + *

The start time for a resource sync attempt.

+ */ + inline ResourceSyncAttempt& WithStartedAt(const Aws::Utils::DateTime& value) { SetStartedAt(value); return *this;} + + /** + *

The start time for a resource sync attempt.

+ */ + inline ResourceSyncAttempt& WithStartedAt(Aws::Utils::DateTime&& value) { SetStartedAt(std::move(value)); return *this;} + + + /** + *

The status for a resource sync attempt. The follow are valid statuses:

+ *
  • SYNC-INITIATED - A resource sync attempt has been created and will + * begin soon.

  • SYNCING - Syncing has started and work is being + * done to reconcile state.

  • SYNCED - Syncing has completed + * successfully.

  • SYNC_FAILED - A resource sync attempt has + * failed.

+ */ + inline const ResourceSyncStatus& GetStatus() const{ return m_status; } + + /** + *

The status for a resource sync attempt. The follow are valid statuses:

+ *
  • SYNC-INITIATED - A resource sync attempt has been created and will + * begin soon.

  • SYNCING - Syncing has started and work is being + * done to reconcile state.

  • SYNCED - Syncing has completed + * successfully.

  • SYNC_FAILED - A resource sync attempt has + * failed.

+ */ + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + + /** + *

The status for a resource sync attempt. The follow are valid statuses:

+ *
  • SYNC-INITIATED - A resource sync attempt has been created and will + * begin soon.

  • SYNCING - Syncing has started and work is being + * done to reconcile state.

  • SYNCED - Syncing has completed + * successfully.

  • SYNC_FAILED - A resource sync attempt has + * failed.

+ */ + inline void SetStatus(const ResourceSyncStatus& value) { m_statusHasBeenSet = true; m_status = value; } + + /** + *

The status for a resource sync attempt. The follow are valid statuses:

+ *
  • SYNC-INITIATED - A resource sync attempt has been created and will + * begin soon.

  • SYNCING - Syncing has started and work is being + * done to reconcile state.

  • SYNCED - Syncing has completed + * successfully.

  • SYNC_FAILED - A resource sync attempt has + * failed.

+ */ + inline void SetStatus(ResourceSyncStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } + + /** + *

The status for a resource sync attempt. The follow are valid statuses:

+ *
  • SYNC-INITIATED - A resource sync attempt has been created and will + * begin soon.

  • SYNCING - Syncing has started and work is being + * done to reconcile state.

  • SYNCED - Syncing has completed + * successfully.

  • SYNC_FAILED - A resource sync attempt has + * failed.

+ */ + inline ResourceSyncAttempt& WithStatus(const ResourceSyncStatus& value) { SetStatus(value); return *this;} + + /** + *

The status for a resource sync attempt. The follow are valid statuses:

+ *
  • SYNC-INITIATED - A resource sync attempt has been created and will + * begin soon.

  • SYNCING - Syncing has started and work is being + * done to reconcile state.

  • SYNCED - Syncing has completed + * successfully.

  • SYNC_FAILED - A resource sync attempt has + * failed.

+ */ + inline ResourceSyncAttempt& WithStatus(ResourceSyncStatus&& value) { SetStatus(std::move(value)); return *this;} + + + /** + *

The desired state of the resource as defined in the resource's + * config-file in the linked repository. Git sync attempts to update + * the resource to this state.

+ */ + inline const Revision& GetTargetRevision() const{ return m_targetRevision; } + + /** + *

The desired state of the resource as defined in the resource's + * config-file in the linked repository. Git sync attempts to update + * the resource to this state.

+ */ + inline bool TargetRevisionHasBeenSet() const { return m_targetRevisionHasBeenSet; } + + /** + *

The desired state of the resource as defined in the resource's + * config-file in the linked repository. Git sync attempts to update + * the resource to this state.

+ */ + inline void SetTargetRevision(const Revision& value) { m_targetRevisionHasBeenSet = true; m_targetRevision = value; } + + /** + *

The desired state of the resource as defined in the resource's + * config-file in the linked repository. Git sync attempts to update + * the resource to this state.

+ */ + inline void SetTargetRevision(Revision&& value) { m_targetRevisionHasBeenSet = true; m_targetRevision = std::move(value); } + + /** + *

The desired state of the resource as defined in the resource's + * config-file in the linked repository. Git sync attempts to update + * the resource to this state.

+ */ + inline ResourceSyncAttempt& WithTargetRevision(const Revision& value) { SetTargetRevision(value); return *this;} + + /** + *

The desired state of the resource as defined in the resource's + * config-file in the linked repository. Git sync attempts to update + * the resource to this state.

+ */ + inline ResourceSyncAttempt& WithTargetRevision(Revision&& value) { SetTargetRevision(std::move(value)); return *this;} + + + /** + *

The name of the Amazon Web Services resource that is attempted to be + * synchronized.

+ */ + inline const Aws::String& GetTarget() const{ return m_target; } + + /** + *

The name of the Amazon Web Services resource that is attempted to be + * synchronized.

+ */ + inline bool TargetHasBeenSet() const { return m_targetHasBeenSet; } + + /** + *

The name of the Amazon Web Services resource that is attempted to be + * synchronized.

+ */ + inline void SetTarget(const Aws::String& value) { m_targetHasBeenSet = true; m_target = value; } + + /** + *

The name of the Amazon Web Services resource that is attempted to be + * synchronized.

+ */ + inline void SetTarget(Aws::String&& value) { m_targetHasBeenSet = true; m_target = std::move(value); } + + /** + *

The name of the Amazon Web Services resource that is attempted to be + * synchronized.

+ */ + inline void SetTarget(const char* value) { m_targetHasBeenSet = true; m_target.assign(value); } + + /** + *

The name of the Amazon Web Services resource that is attempted to be + * synchronized.

+ */ + inline ResourceSyncAttempt& WithTarget(const Aws::String& value) { SetTarget(value); return *this;} + + /** + *

The name of the Amazon Web Services resource that is attempted to be + * synchronized.

+ */ + inline ResourceSyncAttempt& WithTarget(Aws::String&& value) { SetTarget(std::move(value)); return *this;} + + /** + *

The name of the Amazon Web Services resource that is attempted to be + * synchronized.

+ */ + inline ResourceSyncAttempt& WithTarget(const char* value) { SetTarget(value); return *this;} + + private: + + Aws::Vector m_events; + bool m_eventsHasBeenSet = false; + + Revision m_initialRevision; + bool m_initialRevisionHasBeenSet = false; + + Aws::Utils::DateTime m_startedAt; + bool m_startedAtHasBeenSet = false; + + ResourceSyncStatus m_status; + bool m_statusHasBeenSet = false; + + Revision m_targetRevision; + bool m_targetRevisionHasBeenSet = false; + + Aws::String m_target; + bool m_targetHasBeenSet = false; + }; + +} // namespace Model +} // namespace CodeStarconnections +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/ResourceSyncEvent.h b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/ResourceSyncEvent.h new file mode 100644 index 00000000000..b86956987ec --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/ResourceSyncEvent.h @@ -0,0 +1,212 @@ +/** + * 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 CodeStarconnections +{ +namespace Model +{ + + /** + *

Information about a resource sync event for the resource associated with a + * sync configuration.

See Also:

AWS + * API Reference

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

The event for a resource sync event.

+ */ + inline const Aws::String& GetEvent() const{ return m_event; } + + /** + *

The event for a resource sync event.

+ */ + inline bool EventHasBeenSet() const { return m_eventHasBeenSet; } + + /** + *

The event for a resource sync event.

+ */ + inline void SetEvent(const Aws::String& value) { m_eventHasBeenSet = true; m_event = value; } + + /** + *

The event for a resource sync event.

+ */ + inline void SetEvent(Aws::String&& value) { m_eventHasBeenSet = true; m_event = std::move(value); } + + /** + *

The event for a resource sync event.

+ */ + inline void SetEvent(const char* value) { m_eventHasBeenSet = true; m_event.assign(value); } + + /** + *

The event for a resource sync event.

+ */ + inline ResourceSyncEvent& WithEvent(const Aws::String& value) { SetEvent(value); return *this;} + + /** + *

The event for a resource sync event.

+ */ + inline ResourceSyncEvent& WithEvent(Aws::String&& value) { SetEvent(std::move(value)); return *this;} + + /** + *

The event for a resource sync event.

+ */ + inline ResourceSyncEvent& WithEvent(const char* value) { SetEvent(value); return *this;} + + + /** + *

The ID for a resource sync event.

+ */ + inline const Aws::String& GetExternalId() const{ return m_externalId; } + + /** + *

The ID for a resource sync event.

+ */ + inline bool ExternalIdHasBeenSet() const { return m_externalIdHasBeenSet; } + + /** + *

The ID for a resource sync event.

+ */ + inline void SetExternalId(const Aws::String& value) { m_externalIdHasBeenSet = true; m_externalId = value; } + + /** + *

The ID for a resource sync event.

+ */ + inline void SetExternalId(Aws::String&& value) { m_externalIdHasBeenSet = true; m_externalId = std::move(value); } + + /** + *

The ID for a resource sync event.

+ */ + inline void SetExternalId(const char* value) { m_externalIdHasBeenSet = true; m_externalId.assign(value); } + + /** + *

The ID for a resource sync event.

+ */ + inline ResourceSyncEvent& WithExternalId(const Aws::String& value) { SetExternalId(value); return *this;} + + /** + *

The ID for a resource sync event.

+ */ + inline ResourceSyncEvent& WithExternalId(Aws::String&& value) { SetExternalId(std::move(value)); return *this;} + + /** + *

The ID for a resource sync event.

+ */ + inline ResourceSyncEvent& WithExternalId(const char* value) { SetExternalId(value); return *this;} + + + /** + *

The time that a resource sync event occurred.

+ */ + inline const Aws::Utils::DateTime& GetTime() const{ return m_time; } + + /** + *

The time that a resource sync event occurred.

+ */ + inline bool TimeHasBeenSet() const { return m_timeHasBeenSet; } + + /** + *

The time that a resource sync event occurred.

+ */ + inline void SetTime(const Aws::Utils::DateTime& value) { m_timeHasBeenSet = true; m_time = value; } + + /** + *

The time that a resource sync event occurred.

+ */ + inline void SetTime(Aws::Utils::DateTime&& value) { m_timeHasBeenSet = true; m_time = std::move(value); } + + /** + *

The time that a resource sync event occurred.

+ */ + inline ResourceSyncEvent& WithTime(const Aws::Utils::DateTime& value) { SetTime(value); return *this;} + + /** + *

The time that a resource sync event occurred.

+ */ + inline ResourceSyncEvent& WithTime(Aws::Utils::DateTime&& value) { SetTime(std::move(value)); return *this;} + + + /** + *

The type of resource sync event.

+ */ + inline const Aws::String& GetType() const{ return m_type; } + + /** + *

The type of resource sync event.

+ */ + inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } + + /** + *

The type of resource sync event.

+ */ + inline void SetType(const Aws::String& value) { m_typeHasBeenSet = true; m_type = value; } + + /** + *

The type of resource sync event.

+ */ + inline void SetType(Aws::String&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } + + /** + *

The type of resource sync event.

+ */ + inline void SetType(const char* value) { m_typeHasBeenSet = true; m_type.assign(value); } + + /** + *

The type of resource sync event.

+ */ + inline ResourceSyncEvent& WithType(const Aws::String& value) { SetType(value); return *this;} + + /** + *

The type of resource sync event.

+ */ + inline ResourceSyncEvent& WithType(Aws::String&& value) { SetType(std::move(value)); return *this;} + + /** + *

The type of resource sync event.

+ */ + inline ResourceSyncEvent& WithType(const char* value) { SetType(value); return *this;} + + private: + + Aws::String m_event; + bool m_eventHasBeenSet = false; + + Aws::String m_externalId; + bool m_externalIdHasBeenSet = false; + + Aws::Utils::DateTime m_time; + bool m_timeHasBeenSet = false; + + Aws::String m_type; + bool m_typeHasBeenSet = false; + }; + +} // namespace Model +} // namespace CodeStarconnections +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/ResourceSyncStatus.h b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/ResourceSyncStatus.h new file mode 100644 index 00000000000..9f7a79c5c6c --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/ResourceSyncStatus.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 CodeStarconnections +{ +namespace Model +{ + enum class ResourceSyncStatus + { + NOT_SET, + FAILED, + INITIATED, + IN_PROGRESS, + SUCCEEDED + }; + +namespace ResourceSyncStatusMapper +{ +AWS_CODESTARCONNECTIONS_API ResourceSyncStatus GetResourceSyncStatusForName(const Aws::String& name); + +AWS_CODESTARCONNECTIONS_API Aws::String GetNameForResourceSyncStatus(ResourceSyncStatus value); +} // namespace ResourceSyncStatusMapper +} // namespace Model +} // namespace CodeStarconnections +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/Revision.h b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/Revision.h new file mode 100644 index 00000000000..7ed5de51ce0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/Revision.h @@ -0,0 +1,308 @@ +/** + * 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 CodeStarconnections +{ +namespace Model +{ + + /** + *

Information about the revision for a specific sync event, such as the branch, + * owner ID, and name of the repository.

See Also:

AWS + * API Reference

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

The branch name for a specific revision.

+ */ + inline const Aws::String& GetBranch() const{ return m_branch; } + + /** + *

The branch name for a specific revision.

+ */ + inline bool BranchHasBeenSet() const { return m_branchHasBeenSet; } + + /** + *

The branch name for a specific revision.

+ */ + inline void SetBranch(const Aws::String& value) { m_branchHasBeenSet = true; m_branch = value; } + + /** + *

The branch name for a specific revision.

+ */ + inline void SetBranch(Aws::String&& value) { m_branchHasBeenSet = true; m_branch = std::move(value); } + + /** + *

The branch name for a specific revision.

+ */ + inline void SetBranch(const char* value) { m_branchHasBeenSet = true; m_branch.assign(value); } + + /** + *

The branch name for a specific revision.

+ */ + inline Revision& WithBranch(const Aws::String& value) { SetBranch(value); return *this;} + + /** + *

The branch name for a specific revision.

+ */ + inline Revision& WithBranch(Aws::String&& value) { SetBranch(std::move(value)); return *this;} + + /** + *

The branch name for a specific revision.

+ */ + inline Revision& WithBranch(const char* value) { SetBranch(value); return *this;} + + + /** + *

The directory, if any, for a specific revision.

+ */ + inline const Aws::String& GetDirectory() const{ return m_directory; } + + /** + *

The directory, if any, for a specific revision.

+ */ + inline bool DirectoryHasBeenSet() const { return m_directoryHasBeenSet; } + + /** + *

The directory, if any, for a specific revision.

+ */ + inline void SetDirectory(const Aws::String& value) { m_directoryHasBeenSet = true; m_directory = value; } + + /** + *

The directory, if any, for a specific revision.

+ */ + inline void SetDirectory(Aws::String&& value) { m_directoryHasBeenSet = true; m_directory = std::move(value); } + + /** + *

The directory, if any, for a specific revision.

+ */ + inline void SetDirectory(const char* value) { m_directoryHasBeenSet = true; m_directory.assign(value); } + + /** + *

The directory, if any, for a specific revision.

+ */ + inline Revision& WithDirectory(const Aws::String& value) { SetDirectory(value); return *this;} + + /** + *

The directory, if any, for a specific revision.

+ */ + inline Revision& WithDirectory(Aws::String&& value) { SetDirectory(std::move(value)); return *this;} + + /** + *

The directory, if any, for a specific revision.

+ */ + inline Revision& WithDirectory(const char* value) { SetDirectory(value); return *this;} + + + /** + *

The owner ID for a specific revision, such as the GitHub owner ID for a + * GitHub repository.

+ */ + inline const Aws::String& GetOwnerId() const{ return m_ownerId; } + + /** + *

The owner ID for a specific revision, such as the GitHub owner ID for a + * GitHub repository.

+ */ + inline bool OwnerIdHasBeenSet() const { return m_ownerIdHasBeenSet; } + + /** + *

The owner ID for a specific revision, such as the GitHub owner ID for a + * GitHub repository.

+ */ + inline void SetOwnerId(const Aws::String& value) { m_ownerIdHasBeenSet = true; m_ownerId = value; } + + /** + *

The owner ID for a specific revision, such as the GitHub owner ID for a + * GitHub repository.

+ */ + inline void SetOwnerId(Aws::String&& value) { m_ownerIdHasBeenSet = true; m_ownerId = std::move(value); } + + /** + *

The owner ID for a specific revision, such as the GitHub owner ID for a + * GitHub repository.

+ */ + inline void SetOwnerId(const char* value) { m_ownerIdHasBeenSet = true; m_ownerId.assign(value); } + + /** + *

The owner ID for a specific revision, such as the GitHub owner ID for a + * GitHub repository.

+ */ + inline Revision& WithOwnerId(const Aws::String& value) { SetOwnerId(value); return *this;} + + /** + *

The owner ID for a specific revision, such as the GitHub owner ID for a + * GitHub repository.

+ */ + inline Revision& WithOwnerId(Aws::String&& value) { SetOwnerId(std::move(value)); return *this;} + + /** + *

The owner ID for a specific revision, such as the GitHub owner ID for a + * GitHub repository.

+ */ + inline Revision& WithOwnerId(const char* value) { SetOwnerId(value); return *this;} + + + /** + *

The repository name for a specific revision.

+ */ + inline const Aws::String& GetRepositoryName() const{ return m_repositoryName; } + + /** + *

The repository name for a specific revision.

+ */ + inline bool RepositoryNameHasBeenSet() const { return m_repositoryNameHasBeenSet; } + + /** + *

The repository name for a specific revision.

+ */ + inline void SetRepositoryName(const Aws::String& value) { m_repositoryNameHasBeenSet = true; m_repositoryName = value; } + + /** + *

The repository name for a specific revision.

+ */ + inline void SetRepositoryName(Aws::String&& value) { m_repositoryNameHasBeenSet = true; m_repositoryName = std::move(value); } + + /** + *

The repository name for a specific revision.

+ */ + inline void SetRepositoryName(const char* value) { m_repositoryNameHasBeenSet = true; m_repositoryName.assign(value); } + + /** + *

The repository name for a specific revision.

+ */ + inline Revision& WithRepositoryName(const Aws::String& value) { SetRepositoryName(value); return *this;} + + /** + *

The repository name for a specific revision.

+ */ + inline Revision& WithRepositoryName(Aws::String&& value) { SetRepositoryName(std::move(value)); return *this;} + + /** + *

The repository name for a specific revision.

+ */ + inline Revision& WithRepositoryName(const char* value) { SetRepositoryName(value); return *this;} + + + /** + *

The provider type for a revision, such as GitHub.

+ */ + inline const ProviderType& GetProviderType() const{ return m_providerType; } + + /** + *

The provider type for a revision, such as GitHub.

+ */ + inline bool ProviderTypeHasBeenSet() const { return m_providerTypeHasBeenSet; } + + /** + *

The provider type for a revision, such as GitHub.

+ */ + inline void SetProviderType(const ProviderType& value) { m_providerTypeHasBeenSet = true; m_providerType = value; } + + /** + *

The provider type for a revision, such as GitHub.

+ */ + inline void SetProviderType(ProviderType&& value) { m_providerTypeHasBeenSet = true; m_providerType = std::move(value); } + + /** + *

The provider type for a revision, such as GitHub.

+ */ + inline Revision& WithProviderType(const ProviderType& value) { SetProviderType(value); return *this;} + + /** + *

The provider type for a revision, such as GitHub.

+ */ + inline Revision& WithProviderType(ProviderType&& value) { SetProviderType(std::move(value)); return *this;} + + + /** + *

The SHA, such as the commit ID, for a specific revision.

+ */ + inline const Aws::String& GetSha() const{ return m_sha; } + + /** + *

The SHA, such as the commit ID, for a specific revision.

+ */ + inline bool ShaHasBeenSet() const { return m_shaHasBeenSet; } + + /** + *

The SHA, such as the commit ID, for a specific revision.

+ */ + inline void SetSha(const Aws::String& value) { m_shaHasBeenSet = true; m_sha = value; } + + /** + *

The SHA, such as the commit ID, for a specific revision.

+ */ + inline void SetSha(Aws::String&& value) { m_shaHasBeenSet = true; m_sha = std::move(value); } + + /** + *

The SHA, such as the commit ID, for a specific revision.

+ */ + inline void SetSha(const char* value) { m_shaHasBeenSet = true; m_sha.assign(value); } + + /** + *

The SHA, such as the commit ID, for a specific revision.

+ */ + inline Revision& WithSha(const Aws::String& value) { SetSha(value); return *this;} + + /** + *

The SHA, such as the commit ID, for a specific revision.

+ */ + inline Revision& WithSha(Aws::String&& value) { SetSha(std::move(value)); return *this;} + + /** + *

The SHA, such as the commit ID, for a specific revision.

+ */ + inline Revision& WithSha(const char* value) { SetSha(value); return *this;} + + private: + + Aws::String m_branch; + bool m_branchHasBeenSet = false; + + Aws::String m_directory; + bool m_directoryHasBeenSet = false; + + Aws::String m_ownerId; + bool m_ownerIdHasBeenSet = false; + + Aws::String m_repositoryName; + bool m_repositoryNameHasBeenSet = false; + + ProviderType m_providerType; + bool m_providerTypeHasBeenSet = false; + + Aws::String m_sha; + bool m_shaHasBeenSet = false; + }; + +} // namespace Model +} // namespace CodeStarconnections +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/SyncBlocker.h b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/SyncBlocker.h new file mode 100644 index 00000000000..ed33ddfde58 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/SyncBlocker.h @@ -0,0 +1,361 @@ +/** + * 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 CodeStarconnections +{ +namespace Model +{ + + /** + *

Information about a blocker for a sync event.

See Also:

AWS + * API Reference

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

The ID for a specific sync blocker.

+ */ + inline const Aws::String& GetId() const{ return m_id; } + + /** + *

The ID for a specific sync blocker.

+ */ + inline bool IdHasBeenSet() const { return m_idHasBeenSet; } + + /** + *

The ID for a specific sync blocker.

+ */ + inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } + + /** + *

The ID for a specific sync blocker.

+ */ + inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } + + /** + *

The ID for a specific sync blocker.

+ */ + inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } + + /** + *

The ID for a specific sync blocker.

+ */ + inline SyncBlocker& WithId(const Aws::String& value) { SetId(value); return *this;} + + /** + *

The ID for a specific sync blocker.

+ */ + inline SyncBlocker& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + + /** + *

The ID for a specific sync blocker.

+ */ + inline SyncBlocker& WithId(const char* value) { SetId(value); return *this;} + + + /** + *

The sync blocker type.

+ */ + inline const BlockerType& GetType() const{ return m_type; } + + /** + *

The sync blocker type.

+ */ + inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } + + /** + *

The sync blocker type.

+ */ + inline void SetType(const BlockerType& value) { m_typeHasBeenSet = true; m_type = value; } + + /** + *

The sync blocker type.

+ */ + inline void SetType(BlockerType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } + + /** + *

The sync blocker type.

+ */ + inline SyncBlocker& WithType(const BlockerType& value) { SetType(value); return *this;} + + /** + *

The sync blocker type.

+ */ + inline SyncBlocker& WithType(BlockerType&& value) { SetType(std::move(value)); return *this;} + + + /** + *

The status for a specific sync blocker.

+ */ + inline const BlockerStatus& GetStatus() const{ return m_status; } + + /** + *

The status for a specific sync blocker.

+ */ + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + + /** + *

The status for a specific sync blocker.

+ */ + inline void SetStatus(const BlockerStatus& value) { m_statusHasBeenSet = true; m_status = value; } + + /** + *

The status for a specific sync blocker.

+ */ + inline void SetStatus(BlockerStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } + + /** + *

The status for a specific sync blocker.

+ */ + inline SyncBlocker& WithStatus(const BlockerStatus& value) { SetStatus(value); return *this;} + + /** + *

The status for a specific sync blocker.

+ */ + inline SyncBlocker& WithStatus(BlockerStatus&& value) { SetStatus(std::move(value)); return *this;} + + + /** + *

The provided reason for a specific sync blocker.

+ */ + inline const Aws::String& GetCreatedReason() const{ return m_createdReason; } + + /** + *

The provided reason for a specific sync blocker.

+ */ + inline bool CreatedReasonHasBeenSet() const { return m_createdReasonHasBeenSet; } + + /** + *

The provided reason for a specific sync blocker.

+ */ + inline void SetCreatedReason(const Aws::String& value) { m_createdReasonHasBeenSet = true; m_createdReason = value; } + + /** + *

The provided reason for a specific sync blocker.

+ */ + inline void SetCreatedReason(Aws::String&& value) { m_createdReasonHasBeenSet = true; m_createdReason = std::move(value); } + + /** + *

The provided reason for a specific sync blocker.

+ */ + inline void SetCreatedReason(const char* value) { m_createdReasonHasBeenSet = true; m_createdReason.assign(value); } + + /** + *

The provided reason for a specific sync blocker.

+ */ + inline SyncBlocker& WithCreatedReason(const Aws::String& value) { SetCreatedReason(value); return *this;} + + /** + *

The provided reason for a specific sync blocker.

+ */ + inline SyncBlocker& WithCreatedReason(Aws::String&& value) { SetCreatedReason(std::move(value)); return *this;} + + /** + *

The provided reason for a specific sync blocker.

+ */ + inline SyncBlocker& WithCreatedReason(const char* value) { SetCreatedReason(value); return *this;} + + + /** + *

The creation time for a specific sync blocker.

+ */ + inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } + + /** + *

The creation time for a specific sync blocker.

+ */ + inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } + + /** + *

The creation time for a specific sync blocker.

+ */ + inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAtHasBeenSet = true; m_createdAt = value; } + + /** + *

The creation time for a specific sync blocker.

+ */ + inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::move(value); } + + /** + *

The creation time for a specific sync blocker.

+ */ + inline SyncBlocker& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} + + /** + *

The creation time for a specific sync blocker.

+ */ + inline SyncBlocker& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} + + + /** + *

The contexts for a specific sync blocker.

+ */ + inline const Aws::Vector& GetContexts() const{ return m_contexts; } + + /** + *

The contexts for a specific sync blocker.

+ */ + inline bool ContextsHasBeenSet() const { return m_contextsHasBeenSet; } + + /** + *

The contexts for a specific sync blocker.

+ */ + inline void SetContexts(const Aws::Vector& value) { m_contextsHasBeenSet = true; m_contexts = value; } + + /** + *

The contexts for a specific sync blocker.

+ */ + inline void SetContexts(Aws::Vector&& value) { m_contextsHasBeenSet = true; m_contexts = std::move(value); } + + /** + *

The contexts for a specific sync blocker.

+ */ + inline SyncBlocker& WithContexts(const Aws::Vector& value) { SetContexts(value); return *this;} + + /** + *

The contexts for a specific sync blocker.

+ */ + inline SyncBlocker& WithContexts(Aws::Vector&& value) { SetContexts(std::move(value)); return *this;} + + /** + *

The contexts for a specific sync blocker.

+ */ + inline SyncBlocker& AddContexts(const SyncBlockerContext& value) { m_contextsHasBeenSet = true; m_contexts.push_back(value); return *this; } + + /** + *

The contexts for a specific sync blocker.

+ */ + inline SyncBlocker& AddContexts(SyncBlockerContext&& value) { m_contextsHasBeenSet = true; m_contexts.push_back(std::move(value)); return *this; } + + + /** + *

The resolved reason for a specific sync blocker.

+ */ + inline const Aws::String& GetResolvedReason() const{ return m_resolvedReason; } + + /** + *

The resolved reason for a specific sync blocker.

+ */ + inline bool ResolvedReasonHasBeenSet() const { return m_resolvedReasonHasBeenSet; } + + /** + *

The resolved reason for a specific sync blocker.

+ */ + inline void SetResolvedReason(const Aws::String& value) { m_resolvedReasonHasBeenSet = true; m_resolvedReason = value; } + + /** + *

The resolved reason for a specific sync blocker.

+ */ + inline void SetResolvedReason(Aws::String&& value) { m_resolvedReasonHasBeenSet = true; m_resolvedReason = std::move(value); } + + /** + *

The resolved reason for a specific sync blocker.

+ */ + inline void SetResolvedReason(const char* value) { m_resolvedReasonHasBeenSet = true; m_resolvedReason.assign(value); } + + /** + *

The resolved reason for a specific sync blocker.

+ */ + inline SyncBlocker& WithResolvedReason(const Aws::String& value) { SetResolvedReason(value); return *this;} + + /** + *

The resolved reason for a specific sync blocker.

+ */ + inline SyncBlocker& WithResolvedReason(Aws::String&& value) { SetResolvedReason(std::move(value)); return *this;} + + /** + *

The resolved reason for a specific sync blocker.

+ */ + inline SyncBlocker& WithResolvedReason(const char* value) { SetResolvedReason(value); return *this;} + + + /** + *

The time that a specific sync blocker was resolved.

+ */ + inline const Aws::Utils::DateTime& GetResolvedAt() const{ return m_resolvedAt; } + + /** + *

The time that a specific sync blocker was resolved.

+ */ + inline bool ResolvedAtHasBeenSet() const { return m_resolvedAtHasBeenSet; } + + /** + *

The time that a specific sync blocker was resolved.

+ */ + inline void SetResolvedAt(const Aws::Utils::DateTime& value) { m_resolvedAtHasBeenSet = true; m_resolvedAt = value; } + + /** + *

The time that a specific sync blocker was resolved.

+ */ + inline void SetResolvedAt(Aws::Utils::DateTime&& value) { m_resolvedAtHasBeenSet = true; m_resolvedAt = std::move(value); } + + /** + *

The time that a specific sync blocker was resolved.

+ */ + inline SyncBlocker& WithResolvedAt(const Aws::Utils::DateTime& value) { SetResolvedAt(value); return *this;} + + /** + *

The time that a specific sync blocker was resolved.

+ */ + inline SyncBlocker& WithResolvedAt(Aws::Utils::DateTime&& value) { SetResolvedAt(std::move(value)); return *this;} + + private: + + Aws::String m_id; + bool m_idHasBeenSet = false; + + BlockerType m_type; + bool m_typeHasBeenSet = false; + + BlockerStatus m_status; + bool m_statusHasBeenSet = false; + + Aws::String m_createdReason; + bool m_createdReasonHasBeenSet = false; + + Aws::Utils::DateTime m_createdAt; + bool m_createdAtHasBeenSet = false; + + Aws::Vector m_contexts; + bool m_contextsHasBeenSet = false; + + Aws::String m_resolvedReason; + bool m_resolvedReasonHasBeenSet = false; + + Aws::Utils::DateTime m_resolvedAt; + bool m_resolvedAtHasBeenSet = false; + }; + +} // namespace Model +} // namespace CodeStarconnections +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/SyncBlockerContext.h b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/SyncBlockerContext.h new file mode 100644 index 00000000000..2c4bb006721 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/SyncBlockerContext.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 + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace CodeStarconnections +{ +namespace Model +{ + + /** + *

The context for a specific sync blocker.

See Also:

AWS + * API Reference

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

The key provided for a context key-value pair for a specific sync + * blocker.

+ */ + inline const Aws::String& GetKey() const{ return m_key; } + + /** + *

The key provided for a context key-value pair for a specific sync + * blocker.

+ */ + inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } + + /** + *

The key provided for a context key-value pair for a specific sync + * blocker.

+ */ + inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; } + + /** + *

The key provided for a context key-value pair for a specific sync + * blocker.

+ */ + inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } + + /** + *

The key provided for a context key-value pair for a specific sync + * blocker.

+ */ + inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); } + + /** + *

The key provided for a context key-value pair for a specific sync + * blocker.

+ */ + inline SyncBlockerContext& WithKey(const Aws::String& value) { SetKey(value); return *this;} + + /** + *

The key provided for a context key-value pair for a specific sync + * blocker.

+ */ + inline SyncBlockerContext& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} + + /** + *

The key provided for a context key-value pair for a specific sync + * blocker.

+ */ + inline SyncBlockerContext& WithKey(const char* value) { SetKey(value); return *this;} + + + /** + *

The value provided for a context key-value pair for a specific sync + * blocker.

+ */ + inline const Aws::String& GetValue() const{ return m_value; } + + /** + *

The value provided for a context key-value pair for a specific sync + * blocker.

+ */ + inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; } + + /** + *

The value provided for a context key-value pair for a specific sync + * blocker.

+ */ + inline void SetValue(const Aws::String& value) { m_valueHasBeenSet = true; m_value = value; } + + /** + *

The value provided for a context key-value pair for a specific sync + * blocker.

+ */ + inline void SetValue(Aws::String&& value) { m_valueHasBeenSet = true; m_value = std::move(value); } + + /** + *

The value provided for a context key-value pair for a specific sync + * blocker.

+ */ + inline void SetValue(const char* value) { m_valueHasBeenSet = true; m_value.assign(value); } + + /** + *

The value provided for a context key-value pair for a specific sync + * blocker.

+ */ + inline SyncBlockerContext& WithValue(const Aws::String& value) { SetValue(value); return *this;} + + /** + *

The value provided for a context key-value pair for a specific sync + * blocker.

+ */ + inline SyncBlockerContext& WithValue(Aws::String&& value) { SetValue(std::move(value)); return *this;} + + /** + *

The value provided for a context key-value pair for a specific sync + * blocker.

+ */ + inline SyncBlockerContext& WithValue(const char* value) { SetValue(value); return *this;} + + private: + + Aws::String m_key; + bool m_keyHasBeenSet = false; + + Aws::String m_value; + bool m_valueHasBeenSet = false; + }; + +} // namespace Model +} // namespace CodeStarconnections +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/SyncBlockerSummary.h b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/SyncBlockerSummary.h new file mode 100644 index 00000000000..30efcdf8e3c --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/SyncBlockerSummary.h @@ -0,0 +1,178 @@ +/** + * 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 CodeStarconnections +{ +namespace Model +{ + + /** + *

A summary for sync blockers.

See Also:

AWS + * API Reference

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

The resource name for sync blocker summary.

+ */ + inline const Aws::String& GetResourceName() const{ return m_resourceName; } + + /** + *

The resource name for sync blocker summary.

+ */ + inline bool ResourceNameHasBeenSet() const { return m_resourceNameHasBeenSet; } + + /** + *

The resource name for sync blocker summary.

+ */ + inline void SetResourceName(const Aws::String& value) { m_resourceNameHasBeenSet = true; m_resourceName = value; } + + /** + *

The resource name for sync blocker summary.

+ */ + inline void SetResourceName(Aws::String&& value) { m_resourceNameHasBeenSet = true; m_resourceName = std::move(value); } + + /** + *

The resource name for sync blocker summary.

+ */ + inline void SetResourceName(const char* value) { m_resourceNameHasBeenSet = true; m_resourceName.assign(value); } + + /** + *

The resource name for sync blocker summary.

+ */ + inline SyncBlockerSummary& WithResourceName(const Aws::String& value) { SetResourceName(value); return *this;} + + /** + *

The resource name for sync blocker summary.

+ */ + inline SyncBlockerSummary& WithResourceName(Aws::String&& value) { SetResourceName(std::move(value)); return *this;} + + /** + *

The resource name for sync blocker summary.

+ */ + inline SyncBlockerSummary& WithResourceName(const char* value) { SetResourceName(value); return *this;} + + + /** + *

The parent resource name for a sync blocker summary.

+ */ + inline const Aws::String& GetParentResourceName() const{ return m_parentResourceName; } + + /** + *

The parent resource name for a sync blocker summary.

+ */ + inline bool ParentResourceNameHasBeenSet() const { return m_parentResourceNameHasBeenSet; } + + /** + *

The parent resource name for a sync blocker summary.

+ */ + inline void SetParentResourceName(const Aws::String& value) { m_parentResourceNameHasBeenSet = true; m_parentResourceName = value; } + + /** + *

The parent resource name for a sync blocker summary.

+ */ + inline void SetParentResourceName(Aws::String&& value) { m_parentResourceNameHasBeenSet = true; m_parentResourceName = std::move(value); } + + /** + *

The parent resource name for a sync blocker summary.

+ */ + inline void SetParentResourceName(const char* value) { m_parentResourceNameHasBeenSet = true; m_parentResourceName.assign(value); } + + /** + *

The parent resource name for a sync blocker summary.

+ */ + inline SyncBlockerSummary& WithParentResourceName(const Aws::String& value) { SetParentResourceName(value); return *this;} + + /** + *

The parent resource name for a sync blocker summary.

+ */ + inline SyncBlockerSummary& WithParentResourceName(Aws::String&& value) { SetParentResourceName(std::move(value)); return *this;} + + /** + *

The parent resource name for a sync blocker summary.

+ */ + inline SyncBlockerSummary& WithParentResourceName(const char* value) { SetParentResourceName(value); return *this;} + + + /** + *

The latest events for a sync blocker summary.

+ */ + inline const Aws::Vector& GetLatestBlockers() const{ return m_latestBlockers; } + + /** + *

The latest events for a sync blocker summary.

+ */ + inline bool LatestBlockersHasBeenSet() const { return m_latestBlockersHasBeenSet; } + + /** + *

The latest events for a sync blocker summary.

+ */ + inline void SetLatestBlockers(const Aws::Vector& value) { m_latestBlockersHasBeenSet = true; m_latestBlockers = value; } + + /** + *

The latest events for a sync blocker summary.

+ */ + inline void SetLatestBlockers(Aws::Vector&& value) { m_latestBlockersHasBeenSet = true; m_latestBlockers = std::move(value); } + + /** + *

The latest events for a sync blocker summary.

+ */ + inline SyncBlockerSummary& WithLatestBlockers(const Aws::Vector& value) { SetLatestBlockers(value); return *this;} + + /** + *

The latest events for a sync blocker summary.

+ */ + inline SyncBlockerSummary& WithLatestBlockers(Aws::Vector&& value) { SetLatestBlockers(std::move(value)); return *this;} + + /** + *

The latest events for a sync blocker summary.

+ */ + inline SyncBlockerSummary& AddLatestBlockers(const SyncBlocker& value) { m_latestBlockersHasBeenSet = true; m_latestBlockers.push_back(value); return *this; } + + /** + *

The latest events for a sync blocker summary.

+ */ + inline SyncBlockerSummary& AddLatestBlockers(SyncBlocker&& value) { m_latestBlockersHasBeenSet = true; m_latestBlockers.push_back(std::move(value)); return *this; } + + private: + + Aws::String m_resourceName; + bool m_resourceNameHasBeenSet = false; + + Aws::String m_parentResourceName; + bool m_parentResourceNameHasBeenSet = false; + + Aws::Vector m_latestBlockers; + bool m_latestBlockersHasBeenSet = false; + }; + +} // namespace Model +} // namespace CodeStarconnections +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/SyncConfiguration.h b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/SyncConfiguration.h new file mode 100644 index 00000000000..aa42c145136 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/SyncConfiguration.h @@ -0,0 +1,477 @@ +/** + * 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 CodeStarconnections +{ +namespace Model +{ + + /** + *

Information, such as repository, branch, provider, and resource names for a + * specific sync configuration.

See Also:

AWS + * API Reference

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

The branch associated with a specific sync configuration.

+ */ + inline const Aws::String& GetBranch() const{ return m_branch; } + + /** + *

The branch associated with a specific sync configuration.

+ */ + inline bool BranchHasBeenSet() const { return m_branchHasBeenSet; } + + /** + *

The branch associated with a specific sync configuration.

+ */ + inline void SetBranch(const Aws::String& value) { m_branchHasBeenSet = true; m_branch = value; } + + /** + *

The branch associated with a specific sync configuration.

+ */ + inline void SetBranch(Aws::String&& value) { m_branchHasBeenSet = true; m_branch = std::move(value); } + + /** + *

The branch associated with a specific sync configuration.

+ */ + inline void SetBranch(const char* value) { m_branchHasBeenSet = true; m_branch.assign(value); } + + /** + *

The branch associated with a specific sync configuration.

+ */ + inline SyncConfiguration& WithBranch(const Aws::String& value) { SetBranch(value); return *this;} + + /** + *

The branch associated with a specific sync configuration.

+ */ + inline SyncConfiguration& WithBranch(Aws::String&& value) { SetBranch(std::move(value)); return *this;} + + /** + *

The branch associated with a specific sync configuration.

+ */ + inline SyncConfiguration& WithBranch(const char* value) { SetBranch(value); return *this;} + + + /** + *

The file path to the configuration file associated with a specific sync + * configuration. The path should point to an actual file in the sync + * configurations linked repository.

+ */ + inline const Aws::String& GetConfigFile() const{ return m_configFile; } + + /** + *

The file path to the configuration file associated with a specific sync + * configuration. The path should point to an actual file in the sync + * configurations linked repository.

+ */ + inline bool ConfigFileHasBeenSet() const { return m_configFileHasBeenSet; } + + /** + *

The file path to the configuration file associated with a specific sync + * configuration. The path should point to an actual file in the sync + * configurations linked repository.

+ */ + inline void SetConfigFile(const Aws::String& value) { m_configFileHasBeenSet = true; m_configFile = value; } + + /** + *

The file path to the configuration file associated with a specific sync + * configuration. The path should point to an actual file in the sync + * configurations linked repository.

+ */ + inline void SetConfigFile(Aws::String&& value) { m_configFileHasBeenSet = true; m_configFile = std::move(value); } + + /** + *

The file path to the configuration file associated with a specific sync + * configuration. The path should point to an actual file in the sync + * configurations linked repository.

+ */ + inline void SetConfigFile(const char* value) { m_configFileHasBeenSet = true; m_configFile.assign(value); } + + /** + *

The file path to the configuration file associated with a specific sync + * configuration. The path should point to an actual file in the sync + * configurations linked repository.

+ */ + inline SyncConfiguration& WithConfigFile(const Aws::String& value) { SetConfigFile(value); return *this;} + + /** + *

The file path to the configuration file associated with a specific sync + * configuration. The path should point to an actual file in the sync + * configurations linked repository.

+ */ + inline SyncConfiguration& WithConfigFile(Aws::String&& value) { SetConfigFile(std::move(value)); return *this;} + + /** + *

The file path to the configuration file associated with a specific sync + * configuration. The path should point to an actual file in the sync + * configurations linked repository.

+ */ + inline SyncConfiguration& WithConfigFile(const char* value) { SetConfigFile(value); return *this;} + + + /** + *

The owner ID for the repository associated with a specific sync + * configuration, such as the owner ID in GitHub.

+ */ + inline const Aws::String& GetOwnerId() const{ return m_ownerId; } + + /** + *

The owner ID for the repository associated with a specific sync + * configuration, such as the owner ID in GitHub.

+ */ + inline bool OwnerIdHasBeenSet() const { return m_ownerIdHasBeenSet; } + + /** + *

The owner ID for the repository associated with a specific sync + * configuration, such as the owner ID in GitHub.

+ */ + inline void SetOwnerId(const Aws::String& value) { m_ownerIdHasBeenSet = true; m_ownerId = value; } + + /** + *

The owner ID for the repository associated with a specific sync + * configuration, such as the owner ID in GitHub.

+ */ + inline void SetOwnerId(Aws::String&& value) { m_ownerIdHasBeenSet = true; m_ownerId = std::move(value); } + + /** + *

The owner ID for the repository associated with a specific sync + * configuration, such as the owner ID in GitHub.

+ */ + inline void SetOwnerId(const char* value) { m_ownerIdHasBeenSet = true; m_ownerId.assign(value); } + + /** + *

The owner ID for the repository associated with a specific sync + * configuration, such as the owner ID in GitHub.

+ */ + inline SyncConfiguration& WithOwnerId(const Aws::String& value) { SetOwnerId(value); return *this;} + + /** + *

The owner ID for the repository associated with a specific sync + * configuration, such as the owner ID in GitHub.

+ */ + inline SyncConfiguration& WithOwnerId(Aws::String&& value) { SetOwnerId(std::move(value)); return *this;} + + /** + *

The owner ID for the repository associated with a specific sync + * configuration, such as the owner ID in GitHub.

+ */ + inline SyncConfiguration& WithOwnerId(const char* value) { SetOwnerId(value); return *this;} + + + /** + *

The connection provider type associated with a specific sync configuration, + * such as GitHub.

+ */ + inline const ProviderType& GetProviderType() const{ return m_providerType; } + + /** + *

The connection provider type associated with a specific sync configuration, + * such as GitHub.

+ */ + inline bool ProviderTypeHasBeenSet() const { return m_providerTypeHasBeenSet; } + + /** + *

The connection provider type associated with a specific sync configuration, + * such as GitHub.

+ */ + inline void SetProviderType(const ProviderType& value) { m_providerTypeHasBeenSet = true; m_providerType = value; } + + /** + *

The connection provider type associated with a specific sync configuration, + * such as GitHub.

+ */ + inline void SetProviderType(ProviderType&& value) { m_providerTypeHasBeenSet = true; m_providerType = std::move(value); } + + /** + *

The connection provider type associated with a specific sync configuration, + * such as GitHub.

+ */ + inline SyncConfiguration& WithProviderType(const ProviderType& value) { SetProviderType(value); return *this;} + + /** + *

The connection provider type associated with a specific sync configuration, + * such as GitHub.

+ */ + inline SyncConfiguration& WithProviderType(ProviderType&& value) { SetProviderType(std::move(value)); return *this;} + + + /** + *

The ID of the repository link associated with a specific sync + * configuration.

+ */ + inline const Aws::String& GetRepositoryLinkId() const{ return m_repositoryLinkId; } + + /** + *

The ID of the repository link associated with a specific sync + * configuration.

+ */ + inline bool RepositoryLinkIdHasBeenSet() const { return m_repositoryLinkIdHasBeenSet; } + + /** + *

The ID of the repository link associated with a specific sync + * configuration.

+ */ + inline void SetRepositoryLinkId(const Aws::String& value) { m_repositoryLinkIdHasBeenSet = true; m_repositoryLinkId = value; } + + /** + *

The ID of the repository link associated with a specific sync + * configuration.

+ */ + inline void SetRepositoryLinkId(Aws::String&& value) { m_repositoryLinkIdHasBeenSet = true; m_repositoryLinkId = std::move(value); } + + /** + *

The ID of the repository link associated with a specific sync + * configuration.

+ */ + inline void SetRepositoryLinkId(const char* value) { m_repositoryLinkIdHasBeenSet = true; m_repositoryLinkId.assign(value); } + + /** + *

The ID of the repository link associated with a specific sync + * configuration.

+ */ + inline SyncConfiguration& WithRepositoryLinkId(const Aws::String& value) { SetRepositoryLinkId(value); return *this;} + + /** + *

The ID of the repository link associated with a specific sync + * configuration.

+ */ + inline SyncConfiguration& WithRepositoryLinkId(Aws::String&& value) { SetRepositoryLinkId(std::move(value)); return *this;} + + /** + *

The ID of the repository link associated with a specific sync + * configuration.

+ */ + inline SyncConfiguration& WithRepositoryLinkId(const char* value) { SetRepositoryLinkId(value); return *this;} + + + /** + *

The name of the repository associated with a specific sync configuration.

+ */ + inline const Aws::String& GetRepositoryName() const{ return m_repositoryName; } + + /** + *

The name of the repository associated with a specific sync configuration.

+ */ + inline bool RepositoryNameHasBeenSet() const { return m_repositoryNameHasBeenSet; } + + /** + *

The name of the repository associated with a specific sync configuration.

+ */ + inline void SetRepositoryName(const Aws::String& value) { m_repositoryNameHasBeenSet = true; m_repositoryName = value; } + + /** + *

The name of the repository associated with a specific sync configuration.

+ */ + inline void SetRepositoryName(Aws::String&& value) { m_repositoryNameHasBeenSet = true; m_repositoryName = std::move(value); } + + /** + *

The name of the repository associated with a specific sync configuration.

+ */ + inline void SetRepositoryName(const char* value) { m_repositoryNameHasBeenSet = true; m_repositoryName.assign(value); } + + /** + *

The name of the repository associated with a specific sync configuration.

+ */ + inline SyncConfiguration& WithRepositoryName(const Aws::String& value) { SetRepositoryName(value); return *this;} + + /** + *

The name of the repository associated with a specific sync configuration.

+ */ + inline SyncConfiguration& WithRepositoryName(Aws::String&& value) { SetRepositoryName(std::move(value)); return *this;} + + /** + *

The name of the repository associated with a specific sync configuration.

+ */ + inline SyncConfiguration& WithRepositoryName(const char* value) { SetRepositoryName(value); return *this;} + + + /** + *

The name of the connection resource associated with a specific sync + * configuration.

+ */ + inline const Aws::String& GetResourceName() const{ return m_resourceName; } + + /** + *

The name of the connection resource associated with a specific sync + * configuration.

+ */ + inline bool ResourceNameHasBeenSet() const { return m_resourceNameHasBeenSet; } + + /** + *

The name of the connection resource associated with a specific sync + * configuration.

+ */ + inline void SetResourceName(const Aws::String& value) { m_resourceNameHasBeenSet = true; m_resourceName = value; } + + /** + *

The name of the connection resource associated with a specific sync + * configuration.

+ */ + inline void SetResourceName(Aws::String&& value) { m_resourceNameHasBeenSet = true; m_resourceName = std::move(value); } + + /** + *

The name of the connection resource associated with a specific sync + * configuration.

+ */ + inline void SetResourceName(const char* value) { m_resourceNameHasBeenSet = true; m_resourceName.assign(value); } + + /** + *

The name of the connection resource associated with a specific sync + * configuration.

+ */ + inline SyncConfiguration& WithResourceName(const Aws::String& value) { SetResourceName(value); return *this;} + + /** + *

The name of the connection resource associated with a specific sync + * configuration.

+ */ + inline SyncConfiguration& WithResourceName(Aws::String&& value) { SetResourceName(std::move(value)); return *this;} + + /** + *

The name of the connection resource associated with a specific sync + * configuration.

+ */ + inline SyncConfiguration& WithResourceName(const char* value) { SetResourceName(value); return *this;} + + + /** + *

The Amazon Resource Name (ARN) of the IAM role associated with a specific + * sync configuration.

+ */ + inline const Aws::String& GetRoleArn() const{ return m_roleArn; } + + /** + *

The Amazon Resource Name (ARN) of the IAM role associated with a specific + * sync configuration.

+ */ + inline bool RoleArnHasBeenSet() const { return m_roleArnHasBeenSet; } + + /** + *

The Amazon Resource Name (ARN) of the IAM role associated with a specific + * sync configuration.

+ */ + inline void SetRoleArn(const Aws::String& value) { m_roleArnHasBeenSet = true; m_roleArn = value; } + + /** + *

The Amazon Resource Name (ARN) of the IAM role associated with a specific + * sync configuration.

+ */ + inline void SetRoleArn(Aws::String&& value) { m_roleArnHasBeenSet = true; m_roleArn = std::move(value); } + + /** + *

The Amazon Resource Name (ARN) of the IAM role associated with a specific + * sync configuration.

+ */ + inline void SetRoleArn(const char* value) { m_roleArnHasBeenSet = true; m_roleArn.assign(value); } + + /** + *

The Amazon Resource Name (ARN) of the IAM role associated with a specific + * sync configuration.

+ */ + inline SyncConfiguration& WithRoleArn(const Aws::String& value) { SetRoleArn(value); return *this;} + + /** + *

The Amazon Resource Name (ARN) of the IAM role associated with a specific + * sync configuration.

+ */ + inline SyncConfiguration& WithRoleArn(Aws::String&& value) { SetRoleArn(std::move(value)); return *this;} + + /** + *

The Amazon Resource Name (ARN) of the IAM role associated with a specific + * sync configuration.

+ */ + inline SyncConfiguration& WithRoleArn(const char* value) { SetRoleArn(value); return *this;} + + + /** + *

The type of sync for a specific sync configuration.

+ */ + inline const SyncConfigurationType& GetSyncType() const{ return m_syncType; } + + /** + *

The type of sync for a specific sync configuration.

+ */ + inline bool SyncTypeHasBeenSet() const { return m_syncTypeHasBeenSet; } + + /** + *

The type of sync for a specific sync configuration.

+ */ + inline void SetSyncType(const SyncConfigurationType& value) { m_syncTypeHasBeenSet = true; m_syncType = value; } + + /** + *

The type of sync for a specific sync configuration.

+ */ + inline void SetSyncType(SyncConfigurationType&& value) { m_syncTypeHasBeenSet = true; m_syncType = std::move(value); } + + /** + *

The type of sync for a specific sync configuration.

+ */ + inline SyncConfiguration& WithSyncType(const SyncConfigurationType& value) { SetSyncType(value); return *this;} + + /** + *

The type of sync for a specific sync configuration.

+ */ + inline SyncConfiguration& WithSyncType(SyncConfigurationType&& value) { SetSyncType(std::move(value)); return *this;} + + private: + + Aws::String m_branch; + bool m_branchHasBeenSet = false; + + Aws::String m_configFile; + bool m_configFileHasBeenSet = false; + + Aws::String m_ownerId; + bool m_ownerIdHasBeenSet = false; + + ProviderType m_providerType; + bool m_providerTypeHasBeenSet = false; + + Aws::String m_repositoryLinkId; + bool m_repositoryLinkIdHasBeenSet = false; + + Aws::String m_repositoryName; + bool m_repositoryNameHasBeenSet = false; + + Aws::String m_resourceName; + bool m_resourceNameHasBeenSet = false; + + Aws::String m_roleArn; + bool m_roleArnHasBeenSet = false; + + SyncConfigurationType m_syncType; + bool m_syncTypeHasBeenSet = false; + }; + +} // namespace Model +} // namespace CodeStarconnections +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/SyncConfigurationType.h b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/SyncConfigurationType.h new file mode 100644 index 00000000000..cb58e4321ef --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/SyncConfigurationType.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 CodeStarconnections +{ +namespace Model +{ + enum class SyncConfigurationType + { + NOT_SET, + CFN_STACK_SYNC + }; + +namespace SyncConfigurationTypeMapper +{ +AWS_CODESTARCONNECTIONS_API SyncConfigurationType GetSyncConfigurationTypeForName(const Aws::String& name); + +AWS_CODESTARCONNECTIONS_API Aws::String GetNameForSyncConfigurationType(SyncConfigurationType value); +} // namespace SyncConfigurationTypeMapper +} // namespace Model +} // namespace CodeStarconnections +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/UpdateRepositoryLinkRequest.h b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/UpdateRepositoryLinkRequest.h new file mode 100644 index 00000000000..8ae0d305220 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/UpdateRepositoryLinkRequest.h @@ -0,0 +1,197 @@ +/** + * 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 CodeStarconnections +{ +namespace Model +{ + + /** + */ + class UpdateRepositoryLinkRequest : public CodeStarconnectionsRequest + { + public: + AWS_CODESTARCONNECTIONS_API UpdateRepositoryLinkRequest(); + + // 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 "UpdateRepositoryLink"; } + + AWS_CODESTARCONNECTIONS_API Aws::String SerializePayload() const override; + + AWS_CODESTARCONNECTIONS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + *

The Amazon Resource Name (ARN) of the connection for the repository link to + * be updated. The updated connection ARN must have the same providerType (such as + * GitHub) as the original connection ARN for the repo link.

+ */ + inline const Aws::String& GetConnectionArn() const{ return m_connectionArn; } + + /** + *

The Amazon Resource Name (ARN) of the connection for the repository link to + * be updated. The updated connection ARN must have the same providerType (such as + * GitHub) as the original connection ARN for the repo link.

+ */ + inline bool ConnectionArnHasBeenSet() const { return m_connectionArnHasBeenSet; } + + /** + *

The Amazon Resource Name (ARN) of the connection for the repository link to + * be updated. The updated connection ARN must have the same providerType (such as + * GitHub) as the original connection ARN for the repo link.

+ */ + inline void SetConnectionArn(const Aws::String& value) { m_connectionArnHasBeenSet = true; m_connectionArn = value; } + + /** + *

The Amazon Resource Name (ARN) of the connection for the repository link to + * be updated. The updated connection ARN must have the same providerType (such as + * GitHub) as the original connection ARN for the repo link.

+ */ + inline void SetConnectionArn(Aws::String&& value) { m_connectionArnHasBeenSet = true; m_connectionArn = std::move(value); } + + /** + *

The Amazon Resource Name (ARN) of the connection for the repository link to + * be updated. The updated connection ARN must have the same providerType (such as + * GitHub) as the original connection ARN for the repo link.

+ */ + inline void SetConnectionArn(const char* value) { m_connectionArnHasBeenSet = true; m_connectionArn.assign(value); } + + /** + *

The Amazon Resource Name (ARN) of the connection for the repository link to + * be updated. The updated connection ARN must have the same providerType (such as + * GitHub) as the original connection ARN for the repo link.

+ */ + inline UpdateRepositoryLinkRequest& WithConnectionArn(const Aws::String& value) { SetConnectionArn(value); return *this;} + + /** + *

The Amazon Resource Name (ARN) of the connection for the repository link to + * be updated. The updated connection ARN must have the same providerType (such as + * GitHub) as the original connection ARN for the repo link.

+ */ + inline UpdateRepositoryLinkRequest& WithConnectionArn(Aws::String&& value) { SetConnectionArn(std::move(value)); return *this;} + + /** + *

The Amazon Resource Name (ARN) of the connection for the repository link to + * be updated. The updated connection ARN must have the same providerType (such as + * GitHub) as the original connection ARN for the repo link.

+ */ + inline UpdateRepositoryLinkRequest& WithConnectionArn(const char* value) { SetConnectionArn(value); return *this;} + + + /** + *

The Amazon Resource Name (ARN) of the encryption key for the repository link + * to be updated.

+ */ + inline const Aws::String& GetEncryptionKeyArn() const{ return m_encryptionKeyArn; } + + /** + *

The Amazon Resource Name (ARN) of the encryption key for the repository link + * to be updated.

+ */ + inline bool EncryptionKeyArnHasBeenSet() const { return m_encryptionKeyArnHasBeenSet; } + + /** + *

The Amazon Resource Name (ARN) of the encryption key for the repository link + * to be updated.

+ */ + inline void SetEncryptionKeyArn(const Aws::String& value) { m_encryptionKeyArnHasBeenSet = true; m_encryptionKeyArn = value; } + + /** + *

The Amazon Resource Name (ARN) of the encryption key for the repository link + * to be updated.

+ */ + inline void SetEncryptionKeyArn(Aws::String&& value) { m_encryptionKeyArnHasBeenSet = true; m_encryptionKeyArn = std::move(value); } + + /** + *

The Amazon Resource Name (ARN) of the encryption key for the repository link + * to be updated.

+ */ + inline void SetEncryptionKeyArn(const char* value) { m_encryptionKeyArnHasBeenSet = true; m_encryptionKeyArn.assign(value); } + + /** + *

The Amazon Resource Name (ARN) of the encryption key for the repository link + * to be updated.

+ */ + inline UpdateRepositoryLinkRequest& WithEncryptionKeyArn(const Aws::String& value) { SetEncryptionKeyArn(value); return *this;} + + /** + *

The Amazon Resource Name (ARN) of the encryption key for the repository link + * to be updated.

+ */ + inline UpdateRepositoryLinkRequest& WithEncryptionKeyArn(Aws::String&& value) { SetEncryptionKeyArn(std::move(value)); return *this;} + + /** + *

The Amazon Resource Name (ARN) of the encryption key for the repository link + * to be updated.

+ */ + inline UpdateRepositoryLinkRequest& WithEncryptionKeyArn(const char* value) { SetEncryptionKeyArn(value); return *this;} + + + /** + *

The ID of the repository link to be updated.

+ */ + inline const Aws::String& GetRepositoryLinkId() const{ return m_repositoryLinkId; } + + /** + *

The ID of the repository link to be updated.

+ */ + inline bool RepositoryLinkIdHasBeenSet() const { return m_repositoryLinkIdHasBeenSet; } + + /** + *

The ID of the repository link to be updated.

+ */ + inline void SetRepositoryLinkId(const Aws::String& value) { m_repositoryLinkIdHasBeenSet = true; m_repositoryLinkId = value; } + + /** + *

The ID of the repository link to be updated.

+ */ + inline void SetRepositoryLinkId(Aws::String&& value) { m_repositoryLinkIdHasBeenSet = true; m_repositoryLinkId = std::move(value); } + + /** + *

The ID of the repository link to be updated.

+ */ + inline void SetRepositoryLinkId(const char* value) { m_repositoryLinkIdHasBeenSet = true; m_repositoryLinkId.assign(value); } + + /** + *

The ID of the repository link to be updated.

+ */ + inline UpdateRepositoryLinkRequest& WithRepositoryLinkId(const Aws::String& value) { SetRepositoryLinkId(value); return *this;} + + /** + *

The ID of the repository link to be updated.

+ */ + inline UpdateRepositoryLinkRequest& WithRepositoryLinkId(Aws::String&& value) { SetRepositoryLinkId(std::move(value)); return *this;} + + /** + *

The ID of the repository link to be updated.

+ */ + inline UpdateRepositoryLinkRequest& WithRepositoryLinkId(const char* value) { SetRepositoryLinkId(value); return *this;} + + private: + + Aws::String m_connectionArn; + bool m_connectionArnHasBeenSet = false; + + Aws::String m_encryptionKeyArn; + bool m_encryptionKeyArnHasBeenSet = false; + + Aws::String m_repositoryLinkId; + bool m_repositoryLinkIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace CodeStarconnections +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/UpdateRepositoryLinkResult.h b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/UpdateRepositoryLinkResult.h new file mode 100644 index 00000000000..8edf94f8b21 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/UpdateRepositoryLinkResult.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 + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace CodeStarconnections +{ +namespace Model +{ + class UpdateRepositoryLinkResult + { + public: + AWS_CODESTARCONNECTIONS_API UpdateRepositoryLinkResult(); + AWS_CODESTARCONNECTIONS_API UpdateRepositoryLinkResult(const Aws::AmazonWebServiceResult& result); + AWS_CODESTARCONNECTIONS_API UpdateRepositoryLinkResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

Information about the repository link to be updated.

+ */ + inline const RepositoryLinkInfo& GetRepositoryLinkInfo() const{ return m_repositoryLinkInfo; } + + /** + *

Information about the repository link to be updated.

+ */ + inline void SetRepositoryLinkInfo(const RepositoryLinkInfo& value) { m_repositoryLinkInfo = value; } + + /** + *

Information about the repository link to be updated.

+ */ + inline void SetRepositoryLinkInfo(RepositoryLinkInfo&& value) { m_repositoryLinkInfo = std::move(value); } + + /** + *

Information about the repository link to be updated.

+ */ + inline UpdateRepositoryLinkResult& WithRepositoryLinkInfo(const RepositoryLinkInfo& value) { SetRepositoryLinkInfo(value); return *this;} + + /** + *

Information about the repository link to be updated.

+ */ + inline UpdateRepositoryLinkResult& WithRepositoryLinkInfo(RepositoryLinkInfo&& value) { SetRepositoryLinkInfo(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 UpdateRepositoryLinkResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline UpdateRepositoryLinkResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline UpdateRepositoryLinkResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + RepositoryLinkInfo m_repositoryLinkInfo; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace CodeStarconnections +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/UpdateSyncBlockerRequest.h b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/UpdateSyncBlockerRequest.h new file mode 100644 index 00000000000..67bc505ffef --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/UpdateSyncBlockerRequest.h @@ -0,0 +1,208 @@ +/** + * 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 CodeStarconnections +{ +namespace Model +{ + + /** + */ + class UpdateSyncBlockerRequest : public CodeStarconnectionsRequest + { + public: + AWS_CODESTARCONNECTIONS_API UpdateSyncBlockerRequest(); + + // 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 "UpdateSyncBlocker"; } + + AWS_CODESTARCONNECTIONS_API Aws::String SerializePayload() const override; + + AWS_CODESTARCONNECTIONS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + *

The ID of the sync blocker to be updated.

+ */ + inline const Aws::String& GetId() const{ return m_id; } + + /** + *

The ID of the sync blocker to be updated.

+ */ + inline bool IdHasBeenSet() const { return m_idHasBeenSet; } + + /** + *

The ID of the sync blocker to be updated.

+ */ + inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } + + /** + *

The ID of the sync blocker to be updated.

+ */ + inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } + + /** + *

The ID of the sync blocker to be updated.

+ */ + inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } + + /** + *

The ID of the sync blocker to be updated.

+ */ + inline UpdateSyncBlockerRequest& WithId(const Aws::String& value) { SetId(value); return *this;} + + /** + *

The ID of the sync blocker to be updated.

+ */ + inline UpdateSyncBlockerRequest& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + + /** + *

The ID of the sync blocker to be updated.

+ */ + inline UpdateSyncBlockerRequest& WithId(const char* value) { SetId(value); return *this;} + + + /** + *

The sync type of the sync blocker to be updated.

+ */ + inline const SyncConfigurationType& GetSyncType() const{ return m_syncType; } + + /** + *

The sync type of the sync blocker to be updated.

+ */ + inline bool SyncTypeHasBeenSet() const { return m_syncTypeHasBeenSet; } + + /** + *

The sync type of the sync blocker to be updated.

+ */ + inline void SetSyncType(const SyncConfigurationType& value) { m_syncTypeHasBeenSet = true; m_syncType = value; } + + /** + *

The sync type of the sync blocker to be updated.

+ */ + inline void SetSyncType(SyncConfigurationType&& value) { m_syncTypeHasBeenSet = true; m_syncType = std::move(value); } + + /** + *

The sync type of the sync blocker to be updated.

+ */ + inline UpdateSyncBlockerRequest& WithSyncType(const SyncConfigurationType& value) { SetSyncType(value); return *this;} + + /** + *

The sync type of the sync blocker to be updated.

+ */ + inline UpdateSyncBlockerRequest& WithSyncType(SyncConfigurationType&& value) { SetSyncType(std::move(value)); return *this;} + + + /** + *

The name of the resource for the sync blocker to be updated.

+ */ + inline const Aws::String& GetResourceName() const{ return m_resourceName; } + + /** + *

The name of the resource for the sync blocker to be updated.

+ */ + inline bool ResourceNameHasBeenSet() const { return m_resourceNameHasBeenSet; } + + /** + *

The name of the resource for the sync blocker to be updated.

+ */ + inline void SetResourceName(const Aws::String& value) { m_resourceNameHasBeenSet = true; m_resourceName = value; } + + /** + *

The name of the resource for the sync blocker to be updated.

+ */ + inline void SetResourceName(Aws::String&& value) { m_resourceNameHasBeenSet = true; m_resourceName = std::move(value); } + + /** + *

The name of the resource for the sync blocker to be updated.

+ */ + inline void SetResourceName(const char* value) { m_resourceNameHasBeenSet = true; m_resourceName.assign(value); } + + /** + *

The name of the resource for the sync blocker to be updated.

+ */ + inline UpdateSyncBlockerRequest& WithResourceName(const Aws::String& value) { SetResourceName(value); return *this;} + + /** + *

The name of the resource for the sync blocker to be updated.

+ */ + inline UpdateSyncBlockerRequest& WithResourceName(Aws::String&& value) { SetResourceName(std::move(value)); return *this;} + + /** + *

The name of the resource for the sync blocker to be updated.

+ */ + inline UpdateSyncBlockerRequest& WithResourceName(const char* value) { SetResourceName(value); return *this;} + + + /** + *

The reason for resolving the sync blocker.

+ */ + inline const Aws::String& GetResolvedReason() const{ return m_resolvedReason; } + + /** + *

The reason for resolving the sync blocker.

+ */ + inline bool ResolvedReasonHasBeenSet() const { return m_resolvedReasonHasBeenSet; } + + /** + *

The reason for resolving the sync blocker.

+ */ + inline void SetResolvedReason(const Aws::String& value) { m_resolvedReasonHasBeenSet = true; m_resolvedReason = value; } + + /** + *

The reason for resolving the sync blocker.

+ */ + inline void SetResolvedReason(Aws::String&& value) { m_resolvedReasonHasBeenSet = true; m_resolvedReason = std::move(value); } + + /** + *

The reason for resolving the sync blocker.

+ */ + inline void SetResolvedReason(const char* value) { m_resolvedReasonHasBeenSet = true; m_resolvedReason.assign(value); } + + /** + *

The reason for resolving the sync blocker.

+ */ + inline UpdateSyncBlockerRequest& WithResolvedReason(const Aws::String& value) { SetResolvedReason(value); return *this;} + + /** + *

The reason for resolving the sync blocker.

+ */ + inline UpdateSyncBlockerRequest& WithResolvedReason(Aws::String&& value) { SetResolvedReason(std::move(value)); return *this;} + + /** + *

The reason for resolving the sync blocker.

+ */ + inline UpdateSyncBlockerRequest& WithResolvedReason(const char* value) { SetResolvedReason(value); return *this;} + + private: + + Aws::String m_id; + bool m_idHasBeenSet = false; + + SyncConfigurationType m_syncType; + bool m_syncTypeHasBeenSet = false; + + Aws::String m_resourceName; + bool m_resourceNameHasBeenSet = false; + + Aws::String m_resolvedReason; + bool m_resolvedReasonHasBeenSet = false; + }; + +} // namespace Model +} // namespace CodeStarconnections +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/UpdateSyncBlockerResult.h b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/UpdateSyncBlockerResult.h new file mode 100644 index 00000000000..75f25524a04 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/UpdateSyncBlockerResult.h @@ -0,0 +1,168 @@ +/** + * 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 CodeStarconnections +{ +namespace Model +{ + class UpdateSyncBlockerResult + { + public: + AWS_CODESTARCONNECTIONS_API UpdateSyncBlockerResult(); + AWS_CODESTARCONNECTIONS_API UpdateSyncBlockerResult(const Aws::AmazonWebServiceResult& result); + AWS_CODESTARCONNECTIONS_API UpdateSyncBlockerResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

The resource name for the sync blocker.

+ */ + inline const Aws::String& GetResourceName() const{ return m_resourceName; } + + /** + *

The resource name for the sync blocker.

+ */ + inline void SetResourceName(const Aws::String& value) { m_resourceName = value; } + + /** + *

The resource name for the sync blocker.

+ */ + inline void SetResourceName(Aws::String&& value) { m_resourceName = std::move(value); } + + /** + *

The resource name for the sync blocker.

+ */ + inline void SetResourceName(const char* value) { m_resourceName.assign(value); } + + /** + *

The resource name for the sync blocker.

+ */ + inline UpdateSyncBlockerResult& WithResourceName(const Aws::String& value) { SetResourceName(value); return *this;} + + /** + *

The resource name for the sync blocker.

+ */ + inline UpdateSyncBlockerResult& WithResourceName(Aws::String&& value) { SetResourceName(std::move(value)); return *this;} + + /** + *

The resource name for the sync blocker.

+ */ + inline UpdateSyncBlockerResult& WithResourceName(const char* value) { SetResourceName(value); return *this;} + + + /** + *

The parent resource name for the sync blocker.

+ */ + inline const Aws::String& GetParentResourceName() const{ return m_parentResourceName; } + + /** + *

The parent resource name for the sync blocker.

+ */ + inline void SetParentResourceName(const Aws::String& value) { m_parentResourceName = value; } + + /** + *

The parent resource name for the sync blocker.

+ */ + inline void SetParentResourceName(Aws::String&& value) { m_parentResourceName = std::move(value); } + + /** + *

The parent resource name for the sync blocker.

+ */ + inline void SetParentResourceName(const char* value) { m_parentResourceName.assign(value); } + + /** + *

The parent resource name for the sync blocker.

+ */ + inline UpdateSyncBlockerResult& WithParentResourceName(const Aws::String& value) { SetParentResourceName(value); return *this;} + + /** + *

The parent resource name for the sync blocker.

+ */ + inline UpdateSyncBlockerResult& WithParentResourceName(Aws::String&& value) { SetParentResourceName(std::move(value)); return *this;} + + /** + *

The parent resource name for the sync blocker.

+ */ + inline UpdateSyncBlockerResult& WithParentResourceName(const char* value) { SetParentResourceName(value); return *this;} + + + /** + *

Information about the sync blocker to be updated.

+ */ + inline const SyncBlocker& GetSyncBlocker() const{ return m_syncBlocker; } + + /** + *

Information about the sync blocker to be updated.

+ */ + inline void SetSyncBlocker(const SyncBlocker& value) { m_syncBlocker = value; } + + /** + *

Information about the sync blocker to be updated.

+ */ + inline void SetSyncBlocker(SyncBlocker&& value) { m_syncBlocker = std::move(value); } + + /** + *

Information about the sync blocker to be updated.

+ */ + inline UpdateSyncBlockerResult& WithSyncBlocker(const SyncBlocker& value) { SetSyncBlocker(value); return *this;} + + /** + *

Information about the sync blocker to be updated.

+ */ + inline UpdateSyncBlockerResult& WithSyncBlocker(SyncBlocker&& value) { SetSyncBlocker(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 UpdateSyncBlockerResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline UpdateSyncBlockerResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline UpdateSyncBlockerResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::String m_resourceName; + + Aws::String m_parentResourceName; + + SyncBlocker m_syncBlocker; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace CodeStarconnections +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/UpdateSyncConfigurationRequest.h b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/UpdateSyncConfigurationRequest.h new file mode 100644 index 00000000000..095d8134446 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/UpdateSyncConfigurationRequest.h @@ -0,0 +1,304 @@ +/** + * 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 CodeStarconnections +{ +namespace Model +{ + + /** + */ + class UpdateSyncConfigurationRequest : public CodeStarconnectionsRequest + { + public: + AWS_CODESTARCONNECTIONS_API UpdateSyncConfigurationRequest(); + + // 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 "UpdateSyncConfiguration"; } + + AWS_CODESTARCONNECTIONS_API Aws::String SerializePayload() const override; + + AWS_CODESTARCONNECTIONS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + *

The branch for the sync configuration to be updated.

+ */ + inline const Aws::String& GetBranch() const{ return m_branch; } + + /** + *

The branch for the sync configuration to be updated.

+ */ + inline bool BranchHasBeenSet() const { return m_branchHasBeenSet; } + + /** + *

The branch for the sync configuration to be updated.

+ */ + inline void SetBranch(const Aws::String& value) { m_branchHasBeenSet = true; m_branch = value; } + + /** + *

The branch for the sync configuration to be updated.

+ */ + inline void SetBranch(Aws::String&& value) { m_branchHasBeenSet = true; m_branch = std::move(value); } + + /** + *

The branch for the sync configuration to be updated.

+ */ + inline void SetBranch(const char* value) { m_branchHasBeenSet = true; m_branch.assign(value); } + + /** + *

The branch for the sync configuration to be updated.

+ */ + inline UpdateSyncConfigurationRequest& WithBranch(const Aws::String& value) { SetBranch(value); return *this;} + + /** + *

The branch for the sync configuration to be updated.

+ */ + inline UpdateSyncConfigurationRequest& WithBranch(Aws::String&& value) { SetBranch(std::move(value)); return *this;} + + /** + *

The branch for the sync configuration to be updated.

+ */ + inline UpdateSyncConfigurationRequest& WithBranch(const char* value) { SetBranch(value); return *this;} + + + /** + *

The configuration file for the sync configuration to be updated.

+ */ + inline const Aws::String& GetConfigFile() const{ return m_configFile; } + + /** + *

The configuration file for the sync configuration to be updated.

+ */ + inline bool ConfigFileHasBeenSet() const { return m_configFileHasBeenSet; } + + /** + *

The configuration file for the sync configuration to be updated.

+ */ + inline void SetConfigFile(const Aws::String& value) { m_configFileHasBeenSet = true; m_configFile = value; } + + /** + *

The configuration file for the sync configuration to be updated.

+ */ + inline void SetConfigFile(Aws::String&& value) { m_configFileHasBeenSet = true; m_configFile = std::move(value); } + + /** + *

The configuration file for the sync configuration to be updated.

+ */ + inline void SetConfigFile(const char* value) { m_configFileHasBeenSet = true; m_configFile.assign(value); } + + /** + *

The configuration file for the sync configuration to be updated.

+ */ + inline UpdateSyncConfigurationRequest& WithConfigFile(const Aws::String& value) { SetConfigFile(value); return *this;} + + /** + *

The configuration file for the sync configuration to be updated.

+ */ + inline UpdateSyncConfigurationRequest& WithConfigFile(Aws::String&& value) { SetConfigFile(std::move(value)); return *this;} + + /** + *

The configuration file for the sync configuration to be updated.

+ */ + inline UpdateSyncConfigurationRequest& WithConfigFile(const char* value) { SetConfigFile(value); return *this;} + + + /** + *

The ID of the repository link for the sync configuration to be updated.

+ */ + inline const Aws::String& GetRepositoryLinkId() const{ return m_repositoryLinkId; } + + /** + *

The ID of the repository link for the sync configuration to be updated.

+ */ + inline bool RepositoryLinkIdHasBeenSet() const { return m_repositoryLinkIdHasBeenSet; } + + /** + *

The ID of the repository link for the sync configuration to be updated.

+ */ + inline void SetRepositoryLinkId(const Aws::String& value) { m_repositoryLinkIdHasBeenSet = true; m_repositoryLinkId = value; } + + /** + *

The ID of the repository link for the sync configuration to be updated.

+ */ + inline void SetRepositoryLinkId(Aws::String&& value) { m_repositoryLinkIdHasBeenSet = true; m_repositoryLinkId = std::move(value); } + + /** + *

The ID of the repository link for the sync configuration to be updated.

+ */ + inline void SetRepositoryLinkId(const char* value) { m_repositoryLinkIdHasBeenSet = true; m_repositoryLinkId.assign(value); } + + /** + *

The ID of the repository link for the sync configuration to be updated.

+ */ + inline UpdateSyncConfigurationRequest& WithRepositoryLinkId(const Aws::String& value) { SetRepositoryLinkId(value); return *this;} + + /** + *

The ID of the repository link for the sync configuration to be updated.

+ */ + inline UpdateSyncConfigurationRequest& WithRepositoryLinkId(Aws::String&& value) { SetRepositoryLinkId(std::move(value)); return *this;} + + /** + *

The ID of the repository link for the sync configuration to be updated.

+ */ + inline UpdateSyncConfigurationRequest& WithRepositoryLinkId(const char* value) { SetRepositoryLinkId(value); return *this;} + + + /** + *

The name of the Amazon Web Services resource for the sync configuration to be + * updated.

+ */ + inline const Aws::String& GetResourceName() const{ return m_resourceName; } + + /** + *

The name of the Amazon Web Services resource for the sync configuration to be + * updated.

+ */ + inline bool ResourceNameHasBeenSet() const { return m_resourceNameHasBeenSet; } + + /** + *

The name of the Amazon Web Services resource for the sync configuration to be + * updated.

+ */ + inline void SetResourceName(const Aws::String& value) { m_resourceNameHasBeenSet = true; m_resourceName = value; } + + /** + *

The name of the Amazon Web Services resource for the sync configuration to be + * updated.

+ */ + inline void SetResourceName(Aws::String&& value) { m_resourceNameHasBeenSet = true; m_resourceName = std::move(value); } + + /** + *

The name of the Amazon Web Services resource for the sync configuration to be + * updated.

+ */ + inline void SetResourceName(const char* value) { m_resourceNameHasBeenSet = true; m_resourceName.assign(value); } + + /** + *

The name of the Amazon Web Services resource for the sync configuration to be + * updated.

+ */ + inline UpdateSyncConfigurationRequest& WithResourceName(const Aws::String& value) { SetResourceName(value); return *this;} + + /** + *

The name of the Amazon Web Services resource for the sync configuration to be + * updated.

+ */ + inline UpdateSyncConfigurationRequest& WithResourceName(Aws::String&& value) { SetResourceName(std::move(value)); return *this;} + + /** + *

The name of the Amazon Web Services resource for the sync configuration to be + * updated.

+ */ + inline UpdateSyncConfigurationRequest& WithResourceName(const char* value) { SetResourceName(value); return *this;} + + + /** + *

The ARN of the IAM role for the sync configuration to be updated.

+ */ + inline const Aws::String& GetRoleArn() const{ return m_roleArn; } + + /** + *

The ARN of the IAM role for the sync configuration to be updated.

+ */ + inline bool RoleArnHasBeenSet() const { return m_roleArnHasBeenSet; } + + /** + *

The ARN of the IAM role for the sync configuration to be updated.

+ */ + inline void SetRoleArn(const Aws::String& value) { m_roleArnHasBeenSet = true; m_roleArn = value; } + + /** + *

The ARN of the IAM role for the sync configuration to be updated.

+ */ + inline void SetRoleArn(Aws::String&& value) { m_roleArnHasBeenSet = true; m_roleArn = std::move(value); } + + /** + *

The ARN of the IAM role for the sync configuration to be updated.

+ */ + inline void SetRoleArn(const char* value) { m_roleArnHasBeenSet = true; m_roleArn.assign(value); } + + /** + *

The ARN of the IAM role for the sync configuration to be updated.

+ */ + inline UpdateSyncConfigurationRequest& WithRoleArn(const Aws::String& value) { SetRoleArn(value); return *this;} + + /** + *

The ARN of the IAM role for the sync configuration to be updated.

+ */ + inline UpdateSyncConfigurationRequest& WithRoleArn(Aws::String&& value) { SetRoleArn(std::move(value)); return *this;} + + /** + *

The ARN of the IAM role for the sync configuration to be updated.

+ */ + inline UpdateSyncConfigurationRequest& WithRoleArn(const char* value) { SetRoleArn(value); return *this;} + + + /** + *

The sync type for the sync configuration to be updated.

+ */ + inline const SyncConfigurationType& GetSyncType() const{ return m_syncType; } + + /** + *

The sync type for the sync configuration to be updated.

+ */ + inline bool SyncTypeHasBeenSet() const { return m_syncTypeHasBeenSet; } + + /** + *

The sync type for the sync configuration to be updated.

+ */ + inline void SetSyncType(const SyncConfigurationType& value) { m_syncTypeHasBeenSet = true; m_syncType = value; } + + /** + *

The sync type for the sync configuration to be updated.

+ */ + inline void SetSyncType(SyncConfigurationType&& value) { m_syncTypeHasBeenSet = true; m_syncType = std::move(value); } + + /** + *

The sync type for the sync configuration to be updated.

+ */ + inline UpdateSyncConfigurationRequest& WithSyncType(const SyncConfigurationType& value) { SetSyncType(value); return *this;} + + /** + *

The sync type for the sync configuration to be updated.

+ */ + inline UpdateSyncConfigurationRequest& WithSyncType(SyncConfigurationType&& value) { SetSyncType(std::move(value)); return *this;} + + private: + + Aws::String m_branch; + bool m_branchHasBeenSet = false; + + Aws::String m_configFile; + bool m_configFileHasBeenSet = false; + + Aws::String m_repositoryLinkId; + bool m_repositoryLinkIdHasBeenSet = false; + + Aws::String m_resourceName; + bool m_resourceNameHasBeenSet = false; + + Aws::String m_roleArn; + bool m_roleArnHasBeenSet = false; + + SyncConfigurationType m_syncType; + bool m_syncTypeHasBeenSet = false; + }; + +} // namespace Model +} // namespace CodeStarconnections +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/UpdateSyncConfigurationResult.h b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/UpdateSyncConfigurationResult.h new file mode 100644 index 00000000000..a95965a35d2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/model/UpdateSyncConfigurationResult.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 + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace CodeStarconnections +{ +namespace Model +{ + class UpdateSyncConfigurationResult + { + public: + AWS_CODESTARCONNECTIONS_API UpdateSyncConfigurationResult(); + AWS_CODESTARCONNECTIONS_API UpdateSyncConfigurationResult(const Aws::AmazonWebServiceResult& result); + AWS_CODESTARCONNECTIONS_API UpdateSyncConfigurationResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

The information returned for the sync configuration to be updated.

+ */ + inline const SyncConfiguration& GetSyncConfiguration() const{ return m_syncConfiguration; } + + /** + *

The information returned for the sync configuration to be updated.

+ */ + inline void SetSyncConfiguration(const SyncConfiguration& value) { m_syncConfiguration = value; } + + /** + *

The information returned for the sync configuration to be updated.

+ */ + inline void SetSyncConfiguration(SyncConfiguration&& value) { m_syncConfiguration = std::move(value); } + + /** + *

The information returned for the sync configuration to be updated.

+ */ + inline UpdateSyncConfigurationResult& WithSyncConfiguration(const SyncConfiguration& value) { SetSyncConfiguration(value); return *this;} + + /** + *

The information returned for the sync configuration to be updated.

+ */ + inline UpdateSyncConfigurationResult& WithSyncConfiguration(SyncConfiguration&& value) { SetSyncConfiguration(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 UpdateSyncConfigurationResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline UpdateSyncConfigurationResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline UpdateSyncConfigurationResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + SyncConfiguration m_syncConfiguration; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace CodeStarconnections +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codestar-connections/source/CodeStarconnectionsClient.cpp b/generated/src/aws-cpp-sdk-codestar-connections/source/CodeStarconnectionsClient.cpp index 98b30a238ef..bf564fc78c3 100644 --- a/generated/src/aws-cpp-sdk-codestar-connections/source/CodeStarconnectionsClient.cpp +++ b/generated/src/aws-cpp-sdk-codestar-connections/source/CodeStarconnectionsClient.cpp @@ -23,16 +23,31 @@ #include #include #include +#include +#include #include #include +#include +#include #include #include +#include +#include +#include +#include +#include #include #include +#include +#include +#include #include #include #include #include +#include +#include +#include #include @@ -218,6 +233,58 @@ CreateHostOutcome CodeStarconnectionsClient::CreateHost(const CreateHostRequest& {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +CreateRepositoryLinkOutcome CodeStarconnectionsClient::CreateRepositoryLink(const CreateRepositoryLinkRequest& request) const +{ + AWS_OPERATION_GUARD(CreateRepositoryLink); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CreateRepositoryLink, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, CreateRepositoryLink, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CreateRepositoryLink, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".CreateRepositoryLink", + {{ 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( + [&]()-> CreateRepositoryLinkOutcome { + 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, CreateRepositoryLink, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return CreateRepositoryLinkOutcome(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()}}); +} + +CreateSyncConfigurationOutcome CodeStarconnectionsClient::CreateSyncConfiguration(const CreateSyncConfigurationRequest& request) const +{ + AWS_OPERATION_GUARD(CreateSyncConfiguration); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CreateSyncConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, CreateSyncConfiguration, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CreateSyncConfiguration, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".CreateSyncConfiguration", + {{ 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( + [&]()-> CreateSyncConfigurationOutcome { + 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, CreateSyncConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return CreateSyncConfigurationOutcome(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()}}); +} + DeleteConnectionOutcome CodeStarconnectionsClient::DeleteConnection(const DeleteConnectionRequest& request) const { AWS_OPERATION_GUARD(DeleteConnection); @@ -270,6 +337,58 @@ DeleteHostOutcome CodeStarconnectionsClient::DeleteHost(const DeleteHostRequest& {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +DeleteRepositoryLinkOutcome CodeStarconnectionsClient::DeleteRepositoryLink(const DeleteRepositoryLinkRequest& request) const +{ + AWS_OPERATION_GUARD(DeleteRepositoryLink); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteRepositoryLink, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DeleteRepositoryLink, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DeleteRepositoryLink, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DeleteRepositoryLink", + {{ 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( + [&]()-> DeleteRepositoryLinkOutcome { + 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, DeleteRepositoryLink, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return DeleteRepositoryLinkOutcome(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()}}); +} + +DeleteSyncConfigurationOutcome CodeStarconnectionsClient::DeleteSyncConfiguration(const DeleteSyncConfigurationRequest& request) const +{ + AWS_OPERATION_GUARD(DeleteSyncConfiguration); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteSyncConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DeleteSyncConfiguration, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DeleteSyncConfiguration, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DeleteSyncConfiguration", + {{ 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( + [&]()-> DeleteSyncConfigurationOutcome { + 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, DeleteSyncConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return DeleteSyncConfigurationOutcome(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()}}); +} + GetConnectionOutcome CodeStarconnectionsClient::GetConnection(const GetConnectionRequest& request) const { AWS_OPERATION_GUARD(GetConnection); @@ -322,6 +441,136 @@ GetHostOutcome CodeStarconnectionsClient::GetHost(const GetHostRequest& request) {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +GetRepositoryLinkOutcome CodeStarconnectionsClient::GetRepositoryLink(const GetRepositoryLinkRequest& request) const +{ + AWS_OPERATION_GUARD(GetRepositoryLink); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetRepositoryLink, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetRepositoryLink, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetRepositoryLink, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetRepositoryLink", + {{ 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( + [&]()-> GetRepositoryLinkOutcome { + 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, GetRepositoryLink, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return GetRepositoryLinkOutcome(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()}}); +} + +GetRepositorySyncStatusOutcome CodeStarconnectionsClient::GetRepositorySyncStatus(const GetRepositorySyncStatusRequest& request) const +{ + AWS_OPERATION_GUARD(GetRepositorySyncStatus); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetRepositorySyncStatus, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetRepositorySyncStatus, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetRepositorySyncStatus, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetRepositorySyncStatus", + {{ 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( + [&]()-> GetRepositorySyncStatusOutcome { + 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, GetRepositorySyncStatus, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return GetRepositorySyncStatusOutcome(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()}}); +} + +GetResourceSyncStatusOutcome CodeStarconnectionsClient::GetResourceSyncStatus(const GetResourceSyncStatusRequest& request) const +{ + AWS_OPERATION_GUARD(GetResourceSyncStatus); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetResourceSyncStatus, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetResourceSyncStatus, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetResourceSyncStatus, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetResourceSyncStatus", + {{ 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( + [&]()-> GetResourceSyncStatusOutcome { + 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, GetResourceSyncStatus, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return GetResourceSyncStatusOutcome(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()}}); +} + +GetSyncBlockerSummaryOutcome CodeStarconnectionsClient::GetSyncBlockerSummary(const GetSyncBlockerSummaryRequest& request) const +{ + AWS_OPERATION_GUARD(GetSyncBlockerSummary); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetSyncBlockerSummary, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetSyncBlockerSummary, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetSyncBlockerSummary, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetSyncBlockerSummary", + {{ 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( + [&]()-> GetSyncBlockerSummaryOutcome { + 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, GetSyncBlockerSummary, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return GetSyncBlockerSummaryOutcome(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()}}); +} + +GetSyncConfigurationOutcome CodeStarconnectionsClient::GetSyncConfiguration(const GetSyncConfigurationRequest& request) const +{ + AWS_OPERATION_GUARD(GetSyncConfiguration); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetSyncConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetSyncConfiguration, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetSyncConfiguration, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetSyncConfiguration", + {{ 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( + [&]()-> GetSyncConfigurationOutcome { + 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, GetSyncConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return GetSyncConfigurationOutcome(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()}}); +} + ListConnectionsOutcome CodeStarconnectionsClient::ListConnections(const ListConnectionsRequest& request) const { AWS_OPERATION_GUARD(ListConnections); @@ -374,6 +623,84 @@ ListHostsOutcome CodeStarconnectionsClient::ListHosts(const ListHostsRequest& re {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +ListRepositoryLinksOutcome CodeStarconnectionsClient::ListRepositoryLinks(const ListRepositoryLinksRequest& request) const +{ + AWS_OPERATION_GUARD(ListRepositoryLinks); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListRepositoryLinks, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListRepositoryLinks, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListRepositoryLinks, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListRepositoryLinks", + {{ 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( + [&]()-> ListRepositoryLinksOutcome { + 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, ListRepositoryLinks, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return ListRepositoryLinksOutcome(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()}}); +} + +ListRepositorySyncDefinitionsOutcome CodeStarconnectionsClient::ListRepositorySyncDefinitions(const ListRepositorySyncDefinitionsRequest& request) const +{ + AWS_OPERATION_GUARD(ListRepositorySyncDefinitions); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListRepositorySyncDefinitions, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListRepositorySyncDefinitions, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListRepositorySyncDefinitions, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListRepositorySyncDefinitions", + {{ 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( + [&]()-> ListRepositorySyncDefinitionsOutcome { + 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, ListRepositorySyncDefinitions, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return ListRepositorySyncDefinitionsOutcome(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()}}); +} + +ListSyncConfigurationsOutcome CodeStarconnectionsClient::ListSyncConfigurations(const ListSyncConfigurationsRequest& request) const +{ + AWS_OPERATION_GUARD(ListSyncConfigurations); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListSyncConfigurations, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListSyncConfigurations, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListSyncConfigurations, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListSyncConfigurations", + {{ 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( + [&]()-> ListSyncConfigurationsOutcome { + 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, ListSyncConfigurations, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return ListSyncConfigurationsOutcome(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()}}); +} + ListTagsForResourceOutcome CodeStarconnectionsClient::ListTagsForResource(const ListTagsForResourceRequest& request) const { AWS_OPERATION_GUARD(ListTagsForResource); @@ -478,3 +805,81 @@ UpdateHostOutcome CodeStarconnectionsClient::UpdateHost(const UpdateHostRequest& {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +UpdateRepositoryLinkOutcome CodeStarconnectionsClient::UpdateRepositoryLink(const UpdateRepositoryLinkRequest& request) const +{ + AWS_OPERATION_GUARD(UpdateRepositoryLink); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UpdateRepositoryLink, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, UpdateRepositoryLink, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, UpdateRepositoryLink, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".UpdateRepositoryLink", + {{ 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( + [&]()-> UpdateRepositoryLinkOutcome { + 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, UpdateRepositoryLink, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return UpdateRepositoryLinkOutcome(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()}}); +} + +UpdateSyncBlockerOutcome CodeStarconnectionsClient::UpdateSyncBlocker(const UpdateSyncBlockerRequest& request) const +{ + AWS_OPERATION_GUARD(UpdateSyncBlocker); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UpdateSyncBlocker, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, UpdateSyncBlocker, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, UpdateSyncBlocker, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".UpdateSyncBlocker", + {{ 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( + [&]()-> UpdateSyncBlockerOutcome { + 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, UpdateSyncBlocker, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return UpdateSyncBlockerOutcome(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()}}); +} + +UpdateSyncConfigurationOutcome CodeStarconnectionsClient::UpdateSyncConfiguration(const UpdateSyncConfigurationRequest& request) const +{ + AWS_OPERATION_GUARD(UpdateSyncConfiguration); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UpdateSyncConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, UpdateSyncConfiguration, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, UpdateSyncConfiguration, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".UpdateSyncConfiguration", + {{ 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( + [&]()-> UpdateSyncConfigurationOutcome { + 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, UpdateSyncConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return UpdateSyncConfigurationOutcome(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()}}); +} + diff --git a/generated/src/aws-cpp-sdk-codestar-connections/source/CodeStarconnectionsErrors.cpp b/generated/src/aws-cpp-sdk-codestar-connections/source/CodeStarconnectionsErrors.cpp index 2375c4321be..47ea2083516 100644 --- a/generated/src/aws-cpp-sdk-codestar-connections/source/CodeStarconnectionsErrors.cpp +++ b/generated/src/aws-cpp-sdk-codestar-connections/source/CodeStarconnectionsErrors.cpp @@ -19,9 +19,19 @@ namespace CodeStarconnectionsErrorMapper { static const int CONFLICT_HASH = HashingUtils::HashString("ConflictException"); +static const int INTERNAL_SERVER_HASH = HashingUtils::HashString("InternalServerException"); +static const int RESOURCE_ALREADY_EXISTS_HASH = HashingUtils::HashString("ResourceAlreadyExistsException"); +static const int SYNC_CONFIGURATION_STILL_EXISTS_HASH = HashingUtils::HashString("SyncConfigurationStillExistsException"); +static const int CONDITIONAL_CHECK_FAILED_HASH = HashingUtils::HashString("ConditionalCheckFailedException"); static const int LIMIT_EXCEEDED_HASH = HashingUtils::HashString("LimitExceededException"); +static const int UNSUPPORTED_PROVIDER_TYPE_HASH = HashingUtils::HashString("UnsupportedProviderTypeException"); +static const int CONCURRENT_MODIFICATION_HASH = HashingUtils::HashString("ConcurrentModificationException"); +static const int INVALID_INPUT_HASH = HashingUtils::HashString("InvalidInputException"); +static const int UPDATE_OUT_OF_SYNC_HASH = HashingUtils::HashString("UpdateOutOfSyncException"); +static const int SYNC_BLOCKER_DOES_NOT_EXIST_HASH = HashingUtils::HashString("SyncBlockerDoesNotExistException"); static const int UNSUPPORTED_OPERATION_HASH = HashingUtils::HashString("UnsupportedOperationException"); static const int RESOURCE_UNAVAILABLE_HASH = HashingUtils::HashString("ResourceUnavailableException"); +static const int RETRY_LATEST_COMMIT_FAILED_HASH = HashingUtils::HashString("RetryLatestCommitFailedException"); AWSError GetErrorForName(const char* errorName) @@ -32,10 +42,46 @@ AWSError GetErrorForName(const char* errorName) { return AWSError(static_cast(CodeStarconnectionsErrors::CONFLICT), false); } + else if (hashCode == INTERNAL_SERVER_HASH) + { + return AWSError(static_cast(CodeStarconnectionsErrors::INTERNAL_SERVER), false); + } + else if (hashCode == RESOURCE_ALREADY_EXISTS_HASH) + { + return AWSError(static_cast(CodeStarconnectionsErrors::RESOURCE_ALREADY_EXISTS), false); + } + else if (hashCode == SYNC_CONFIGURATION_STILL_EXISTS_HASH) + { + return AWSError(static_cast(CodeStarconnectionsErrors::SYNC_CONFIGURATION_STILL_EXISTS), false); + } + else if (hashCode == CONDITIONAL_CHECK_FAILED_HASH) + { + return AWSError(static_cast(CodeStarconnectionsErrors::CONDITIONAL_CHECK_FAILED), false); + } else if (hashCode == LIMIT_EXCEEDED_HASH) { return AWSError(static_cast(CodeStarconnectionsErrors::LIMIT_EXCEEDED), true); } + else if (hashCode == UNSUPPORTED_PROVIDER_TYPE_HASH) + { + return AWSError(static_cast(CodeStarconnectionsErrors::UNSUPPORTED_PROVIDER_TYPE), false); + } + else if (hashCode == CONCURRENT_MODIFICATION_HASH) + { + return AWSError(static_cast(CodeStarconnectionsErrors::CONCURRENT_MODIFICATION), false); + } + else if (hashCode == INVALID_INPUT_HASH) + { + return AWSError(static_cast(CodeStarconnectionsErrors::INVALID_INPUT), false); + } + else if (hashCode == UPDATE_OUT_OF_SYNC_HASH) + { + return AWSError(static_cast(CodeStarconnectionsErrors::UPDATE_OUT_OF_SYNC), false); + } + else if (hashCode == SYNC_BLOCKER_DOES_NOT_EXIST_HASH) + { + return AWSError(static_cast(CodeStarconnectionsErrors::SYNC_BLOCKER_DOES_NOT_EXIST), false); + } else if (hashCode == UNSUPPORTED_OPERATION_HASH) { return AWSError(static_cast(CodeStarconnectionsErrors::UNSUPPORTED_OPERATION), false); @@ -44,6 +90,10 @@ AWSError GetErrorForName(const char* errorName) { return AWSError(static_cast(CodeStarconnectionsErrors::RESOURCE_UNAVAILABLE), false); } + else if (hashCode == RETRY_LATEST_COMMIT_FAILED_HASH) + { + return AWSError(static_cast(CodeStarconnectionsErrors::RETRY_LATEST_COMMIT_FAILED), false); + } return AWSError(CoreErrors::UNKNOWN, false); } diff --git a/generated/src/aws-cpp-sdk-codestar-connections/source/model/BlockerStatus.cpp b/generated/src/aws-cpp-sdk-codestar-connections/source/model/BlockerStatus.cpp new file mode 100644 index 00000000000..e121194539e --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/source/model/BlockerStatus.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 CodeStarconnections + { + namespace Model + { + namespace BlockerStatusMapper + { + + static const int ACTIVE_HASH = HashingUtils::HashString("ACTIVE"); + static const int RESOLVED_HASH = HashingUtils::HashString("RESOLVED"); + + + BlockerStatus GetBlockerStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == ACTIVE_HASH) + { + return BlockerStatus::ACTIVE; + } + else if (hashCode == RESOLVED_HASH) + { + return BlockerStatus::RESOLVED; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return BlockerStatus::NOT_SET; + } + + Aws::String GetNameForBlockerStatus(BlockerStatus enumValue) + { + switch(enumValue) + { + case BlockerStatus::NOT_SET: + return {}; + case BlockerStatus::ACTIVE: + return "ACTIVE"; + case BlockerStatus::RESOLVED: + return "RESOLVED"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace BlockerStatusMapper + } // namespace Model + } // namespace CodeStarconnections +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codestar-connections/source/model/BlockerType.cpp b/generated/src/aws-cpp-sdk-codestar-connections/source/model/BlockerType.cpp new file mode 100644 index 00000000000..5ada8b8503d --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/source/model/BlockerType.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 CodeStarconnections + { + namespace Model + { + namespace BlockerTypeMapper + { + + static const int AUTOMATED_HASH = HashingUtils::HashString("AUTOMATED"); + + + BlockerType GetBlockerTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == AUTOMATED_HASH) + { + return BlockerType::AUTOMATED; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return BlockerType::NOT_SET; + } + + Aws::String GetNameForBlockerType(BlockerType enumValue) + { + switch(enumValue) + { + case BlockerType::NOT_SET: + return {}; + case BlockerType::AUTOMATED: + return "AUTOMATED"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace BlockerTypeMapper + } // namespace Model + } // namespace CodeStarconnections +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codestar-connections/source/model/CreateRepositoryLinkRequest.cpp b/generated/src/aws-cpp-sdk-codestar-connections/source/model/CreateRepositoryLinkRequest.cpp new file mode 100644 index 00000000000..5a818f72888 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/source/model/CreateRepositoryLinkRequest.cpp @@ -0,0 +1,76 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::CodeStarconnections::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +CreateRepositoryLinkRequest::CreateRepositoryLinkRequest() : + m_connectionArnHasBeenSet(false), + m_ownerIdHasBeenSet(false), + m_repositoryNameHasBeenSet(false), + m_encryptionKeyArnHasBeenSet(false), + m_tagsHasBeenSet(false) +{ +} + +Aws::String CreateRepositoryLinkRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_connectionArnHasBeenSet) + { + payload.WithString("ConnectionArn", m_connectionArn); + + } + + if(m_ownerIdHasBeenSet) + { + payload.WithString("OwnerId", m_ownerId); + + } + + if(m_repositoryNameHasBeenSet) + { + payload.WithString("RepositoryName", m_repositoryName); + + } + + if(m_encryptionKeyArnHasBeenSet) + { + payload.WithString("EncryptionKeyArn", m_encryptionKeyArn); + + } + + 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 CreateRepositoryLinkRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "com.amazonaws.codestar.connections.CodeStar_connections_20191201.CreateRepositoryLink")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-codestar-connections/source/model/CreateRepositoryLinkResult.cpp b/generated/src/aws-cpp-sdk-codestar-connections/source/model/CreateRepositoryLinkResult.cpp new file mode 100644 index 00000000000..961fe18f92e --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/source/model/CreateRepositoryLinkResult.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::CodeStarconnections::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +CreateRepositoryLinkResult::CreateRepositoryLinkResult() +{ +} + +CreateRepositoryLinkResult::CreateRepositoryLinkResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +CreateRepositoryLinkResult& CreateRepositoryLinkResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("RepositoryLinkInfo")) + { + m_repositoryLinkInfo = jsonValue.GetObject("RepositoryLinkInfo"); + + } + + + 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-codestar-connections/source/model/CreateSyncConfigurationRequest.cpp b/generated/src/aws-cpp-sdk-codestar-connections/source/model/CreateSyncConfigurationRequest.cpp new file mode 100644 index 00000000000..bd85ae9d626 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/source/model/CreateSyncConfigurationRequest.cpp @@ -0,0 +1,78 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::CodeStarconnections::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +CreateSyncConfigurationRequest::CreateSyncConfigurationRequest() : + m_branchHasBeenSet(false), + m_configFileHasBeenSet(false), + m_repositoryLinkIdHasBeenSet(false), + m_resourceNameHasBeenSet(false), + m_roleArnHasBeenSet(false), + m_syncType(SyncConfigurationType::NOT_SET), + m_syncTypeHasBeenSet(false) +{ +} + +Aws::String CreateSyncConfigurationRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_branchHasBeenSet) + { + payload.WithString("Branch", m_branch); + + } + + if(m_configFileHasBeenSet) + { + payload.WithString("ConfigFile", m_configFile); + + } + + if(m_repositoryLinkIdHasBeenSet) + { + payload.WithString("RepositoryLinkId", m_repositoryLinkId); + + } + + if(m_resourceNameHasBeenSet) + { + payload.WithString("ResourceName", m_resourceName); + + } + + if(m_roleArnHasBeenSet) + { + payload.WithString("RoleArn", m_roleArn); + + } + + if(m_syncTypeHasBeenSet) + { + payload.WithString("SyncType", SyncConfigurationTypeMapper::GetNameForSyncConfigurationType(m_syncType)); + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection CreateSyncConfigurationRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "com.amazonaws.codestar.connections.CodeStar_connections_20191201.CreateSyncConfiguration")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-codestar-connections/source/model/CreateSyncConfigurationResult.cpp b/generated/src/aws-cpp-sdk-codestar-connections/source/model/CreateSyncConfigurationResult.cpp new file mode 100644 index 00000000000..6135696a0bc --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/source/model/CreateSyncConfigurationResult.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::CodeStarconnections::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +CreateSyncConfigurationResult::CreateSyncConfigurationResult() +{ +} + +CreateSyncConfigurationResult::CreateSyncConfigurationResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +CreateSyncConfigurationResult& CreateSyncConfigurationResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("SyncConfiguration")) + { + m_syncConfiguration = jsonValue.GetObject("SyncConfiguration"); + + } + + + 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-codestar-connections/source/model/DeleteRepositoryLinkRequest.cpp b/generated/src/aws-cpp-sdk-codestar-connections/source/model/DeleteRepositoryLinkRequest.cpp new file mode 100644 index 00000000000..65a35796f51 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/source/model/DeleteRepositoryLinkRequest.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::CodeStarconnections::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +DeleteRepositoryLinkRequest::DeleteRepositoryLinkRequest() : + m_repositoryLinkIdHasBeenSet(false) +{ +} + +Aws::String DeleteRepositoryLinkRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_repositoryLinkIdHasBeenSet) + { + payload.WithString("RepositoryLinkId", m_repositoryLinkId); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection DeleteRepositoryLinkRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "com.amazonaws.codestar.connections.CodeStar_connections_20191201.DeleteRepositoryLink")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-codestar-connections/source/model/DeleteRepositoryLinkResult.cpp b/generated/src/aws-cpp-sdk-codestar-connections/source/model/DeleteRepositoryLinkResult.cpp new file mode 100644 index 00000000000..a2dc4b0b0b3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/source/model/DeleteRepositoryLinkResult.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::CodeStarconnections::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DeleteRepositoryLinkResult::DeleteRepositoryLinkResult() +{ +} + +DeleteRepositoryLinkResult::DeleteRepositoryLinkResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DeleteRepositoryLinkResult& DeleteRepositoryLinkResult::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-codestar-connections/source/model/DeleteSyncConfigurationRequest.cpp b/generated/src/aws-cpp-sdk-codestar-connections/source/model/DeleteSyncConfigurationRequest.cpp new file mode 100644 index 00000000000..a27f1c73073 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/source/model/DeleteSyncConfigurationRequest.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::CodeStarconnections::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +DeleteSyncConfigurationRequest::DeleteSyncConfigurationRequest() : + m_syncType(SyncConfigurationType::NOT_SET), + m_syncTypeHasBeenSet(false), + m_resourceNameHasBeenSet(false) +{ +} + +Aws::String DeleteSyncConfigurationRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_syncTypeHasBeenSet) + { + payload.WithString("SyncType", SyncConfigurationTypeMapper::GetNameForSyncConfigurationType(m_syncType)); + } + + if(m_resourceNameHasBeenSet) + { + payload.WithString("ResourceName", m_resourceName); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection DeleteSyncConfigurationRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "com.amazonaws.codestar.connections.CodeStar_connections_20191201.DeleteSyncConfiguration")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-codestar-connections/source/model/DeleteSyncConfigurationResult.cpp b/generated/src/aws-cpp-sdk-codestar-connections/source/model/DeleteSyncConfigurationResult.cpp new file mode 100644 index 00000000000..caec14ab6ef --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/source/model/DeleteSyncConfigurationResult.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::CodeStarconnections::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DeleteSyncConfigurationResult::DeleteSyncConfigurationResult() +{ +} + +DeleteSyncConfigurationResult::DeleteSyncConfigurationResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DeleteSyncConfigurationResult& DeleteSyncConfigurationResult::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-codestar-connections/source/model/GetRepositoryLinkRequest.cpp b/generated/src/aws-cpp-sdk-codestar-connections/source/model/GetRepositoryLinkRequest.cpp new file mode 100644 index 00000000000..f670b77e51c --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/source/model/GetRepositoryLinkRequest.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::CodeStarconnections::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +GetRepositoryLinkRequest::GetRepositoryLinkRequest() : + m_repositoryLinkIdHasBeenSet(false) +{ +} + +Aws::String GetRepositoryLinkRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_repositoryLinkIdHasBeenSet) + { + payload.WithString("RepositoryLinkId", m_repositoryLinkId); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection GetRepositoryLinkRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "com.amazonaws.codestar.connections.CodeStar_connections_20191201.GetRepositoryLink")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-codestar-connections/source/model/GetRepositoryLinkResult.cpp b/generated/src/aws-cpp-sdk-codestar-connections/source/model/GetRepositoryLinkResult.cpp new file mode 100644 index 00000000000..6518d440023 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/source/model/GetRepositoryLinkResult.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::CodeStarconnections::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetRepositoryLinkResult::GetRepositoryLinkResult() +{ +} + +GetRepositoryLinkResult::GetRepositoryLinkResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetRepositoryLinkResult& GetRepositoryLinkResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("RepositoryLinkInfo")) + { + m_repositoryLinkInfo = jsonValue.GetObject("RepositoryLinkInfo"); + + } + + + 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-codestar-connections/source/model/GetRepositorySyncStatusRequest.cpp b/generated/src/aws-cpp-sdk-codestar-connections/source/model/GetRepositorySyncStatusRequest.cpp new file mode 100644 index 00000000000..1702b253656 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/source/model/GetRepositorySyncStatusRequest.cpp @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::CodeStarconnections::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +GetRepositorySyncStatusRequest::GetRepositorySyncStatusRequest() : + m_branchHasBeenSet(false), + m_repositoryLinkIdHasBeenSet(false), + m_syncType(SyncConfigurationType::NOT_SET), + m_syncTypeHasBeenSet(false) +{ +} + +Aws::String GetRepositorySyncStatusRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_branchHasBeenSet) + { + payload.WithString("Branch", m_branch); + + } + + if(m_repositoryLinkIdHasBeenSet) + { + payload.WithString("RepositoryLinkId", m_repositoryLinkId); + + } + + if(m_syncTypeHasBeenSet) + { + payload.WithString("SyncType", SyncConfigurationTypeMapper::GetNameForSyncConfigurationType(m_syncType)); + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection GetRepositorySyncStatusRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "com.amazonaws.codestar.connections.CodeStar_connections_20191201.GetRepositorySyncStatus")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-codestar-connections/source/model/GetRepositorySyncStatusResult.cpp b/generated/src/aws-cpp-sdk-codestar-connections/source/model/GetRepositorySyncStatusResult.cpp new file mode 100644 index 00000000000..6fe20be0ca2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/source/model/GetRepositorySyncStatusResult.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::CodeStarconnections::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetRepositorySyncStatusResult::GetRepositorySyncStatusResult() +{ +} + +GetRepositorySyncStatusResult::GetRepositorySyncStatusResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetRepositorySyncStatusResult& GetRepositorySyncStatusResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("LatestSync")) + { + m_latestSync = jsonValue.GetObject("LatestSync"); + + } + + + 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-codestar-connections/source/model/GetResourceSyncStatusRequest.cpp b/generated/src/aws-cpp-sdk-codestar-connections/source/model/GetResourceSyncStatusRequest.cpp new file mode 100644 index 00000000000..0f977214946 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/source/model/GetResourceSyncStatusRequest.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::CodeStarconnections::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +GetResourceSyncStatusRequest::GetResourceSyncStatusRequest() : + m_resourceNameHasBeenSet(false), + m_syncType(SyncConfigurationType::NOT_SET), + m_syncTypeHasBeenSet(false) +{ +} + +Aws::String GetResourceSyncStatusRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_resourceNameHasBeenSet) + { + payload.WithString("ResourceName", m_resourceName); + + } + + if(m_syncTypeHasBeenSet) + { + payload.WithString("SyncType", SyncConfigurationTypeMapper::GetNameForSyncConfigurationType(m_syncType)); + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection GetResourceSyncStatusRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "com.amazonaws.codestar.connections.CodeStar_connections_20191201.GetResourceSyncStatus")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-codestar-connections/source/model/GetResourceSyncStatusResult.cpp b/generated/src/aws-cpp-sdk-codestar-connections/source/model/GetResourceSyncStatusResult.cpp new file mode 100644 index 00000000000..e9e3447a50d --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/source/model/GetResourceSyncStatusResult.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::CodeStarconnections::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetResourceSyncStatusResult::GetResourceSyncStatusResult() +{ +} + +GetResourceSyncStatusResult::GetResourceSyncStatusResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetResourceSyncStatusResult& GetResourceSyncStatusResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("DesiredState")) + { + m_desiredState = jsonValue.GetObject("DesiredState"); + + } + + if(jsonValue.ValueExists("LatestSuccessfulSync")) + { + m_latestSuccessfulSync = jsonValue.GetObject("LatestSuccessfulSync"); + + } + + if(jsonValue.ValueExists("LatestSync")) + { + m_latestSync = jsonValue.GetObject("LatestSync"); + + } + + + 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-codestar-connections/source/model/GetSyncBlockerSummaryRequest.cpp b/generated/src/aws-cpp-sdk-codestar-connections/source/model/GetSyncBlockerSummaryRequest.cpp new file mode 100644 index 00000000000..ef6e4bd8913 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/source/model/GetSyncBlockerSummaryRequest.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::CodeStarconnections::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +GetSyncBlockerSummaryRequest::GetSyncBlockerSummaryRequest() : + m_syncType(SyncConfigurationType::NOT_SET), + m_syncTypeHasBeenSet(false), + m_resourceNameHasBeenSet(false) +{ +} + +Aws::String GetSyncBlockerSummaryRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_syncTypeHasBeenSet) + { + payload.WithString("SyncType", SyncConfigurationTypeMapper::GetNameForSyncConfigurationType(m_syncType)); + } + + if(m_resourceNameHasBeenSet) + { + payload.WithString("ResourceName", m_resourceName); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection GetSyncBlockerSummaryRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "com.amazonaws.codestar.connections.CodeStar_connections_20191201.GetSyncBlockerSummary")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-codestar-connections/source/model/GetSyncBlockerSummaryResult.cpp b/generated/src/aws-cpp-sdk-codestar-connections/source/model/GetSyncBlockerSummaryResult.cpp new file mode 100644 index 00000000000..3cab78ad316 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/source/model/GetSyncBlockerSummaryResult.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::CodeStarconnections::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetSyncBlockerSummaryResult::GetSyncBlockerSummaryResult() +{ +} + +GetSyncBlockerSummaryResult::GetSyncBlockerSummaryResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetSyncBlockerSummaryResult& GetSyncBlockerSummaryResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("SyncBlockerSummary")) + { + m_syncBlockerSummary = jsonValue.GetObject("SyncBlockerSummary"); + + } + + + 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-codestar-connections/source/model/GetSyncConfigurationRequest.cpp b/generated/src/aws-cpp-sdk-codestar-connections/source/model/GetSyncConfigurationRequest.cpp new file mode 100644 index 00000000000..0573e3ecac1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/source/model/GetSyncConfigurationRequest.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::CodeStarconnections::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +GetSyncConfigurationRequest::GetSyncConfigurationRequest() : + m_syncType(SyncConfigurationType::NOT_SET), + m_syncTypeHasBeenSet(false), + m_resourceNameHasBeenSet(false) +{ +} + +Aws::String GetSyncConfigurationRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_syncTypeHasBeenSet) + { + payload.WithString("SyncType", SyncConfigurationTypeMapper::GetNameForSyncConfigurationType(m_syncType)); + } + + if(m_resourceNameHasBeenSet) + { + payload.WithString("ResourceName", m_resourceName); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection GetSyncConfigurationRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "com.amazonaws.codestar.connections.CodeStar_connections_20191201.GetSyncConfiguration")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-codestar-connections/source/model/GetSyncConfigurationResult.cpp b/generated/src/aws-cpp-sdk-codestar-connections/source/model/GetSyncConfigurationResult.cpp new file mode 100644 index 00000000000..cd93dedb7db --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/source/model/GetSyncConfigurationResult.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::CodeStarconnections::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetSyncConfigurationResult::GetSyncConfigurationResult() +{ +} + +GetSyncConfigurationResult::GetSyncConfigurationResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetSyncConfigurationResult& GetSyncConfigurationResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("SyncConfiguration")) + { + m_syncConfiguration = jsonValue.GetObject("SyncConfiguration"); + + } + + + 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-codestar-connections/source/model/ListRepositoryLinksRequest.cpp b/generated/src/aws-cpp-sdk-codestar-connections/source/model/ListRepositoryLinksRequest.cpp new file mode 100644 index 00000000000..6af2f0c5611 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/source/model/ListRepositoryLinksRequest.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::CodeStarconnections::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +ListRepositoryLinksRequest::ListRepositoryLinksRequest() : + m_maxResults(0), + m_maxResultsHasBeenSet(false), + m_nextTokenHasBeenSet(false) +{ +} + +Aws::String ListRepositoryLinksRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_maxResultsHasBeenSet) + { + payload.WithInteger("MaxResults", m_maxResults); + + } + + if(m_nextTokenHasBeenSet) + { + payload.WithString("NextToken", m_nextToken); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection ListRepositoryLinksRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "com.amazonaws.codestar.connections.CodeStar_connections_20191201.ListRepositoryLinks")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-codestar-connections/source/model/ListRepositoryLinksResult.cpp b/generated/src/aws-cpp-sdk-codestar-connections/source/model/ListRepositoryLinksResult.cpp new file mode 100644 index 00000000000..3a8c0b20d2f --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/source/model/ListRepositoryLinksResult.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::CodeStarconnections::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListRepositoryLinksResult::ListRepositoryLinksResult() +{ +} + +ListRepositoryLinksResult::ListRepositoryLinksResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListRepositoryLinksResult& ListRepositoryLinksResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("RepositoryLinks")) + { + Aws::Utils::Array repositoryLinksJsonList = jsonValue.GetArray("RepositoryLinks"); + for(unsigned repositoryLinksIndex = 0; repositoryLinksIndex < repositoryLinksJsonList.GetLength(); ++repositoryLinksIndex) + { + m_repositoryLinks.push_back(repositoryLinksJsonList[repositoryLinksIndex].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-codestar-connections/source/model/ListRepositorySyncDefinitionsRequest.cpp b/generated/src/aws-cpp-sdk-codestar-connections/source/model/ListRepositorySyncDefinitionsRequest.cpp new file mode 100644 index 00000000000..1fd16a9fc24 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/source/model/ListRepositorySyncDefinitionsRequest.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::CodeStarconnections::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +ListRepositorySyncDefinitionsRequest::ListRepositorySyncDefinitionsRequest() : + m_repositoryLinkIdHasBeenSet(false), + m_syncType(SyncConfigurationType::NOT_SET), + m_syncTypeHasBeenSet(false) +{ +} + +Aws::String ListRepositorySyncDefinitionsRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_repositoryLinkIdHasBeenSet) + { + payload.WithString("RepositoryLinkId", m_repositoryLinkId); + + } + + if(m_syncTypeHasBeenSet) + { + payload.WithString("SyncType", SyncConfigurationTypeMapper::GetNameForSyncConfigurationType(m_syncType)); + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection ListRepositorySyncDefinitionsRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "com.amazonaws.codestar.connections.CodeStar_connections_20191201.ListRepositorySyncDefinitions")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-codestar-connections/source/model/ListRepositorySyncDefinitionsResult.cpp b/generated/src/aws-cpp-sdk-codestar-connections/source/model/ListRepositorySyncDefinitionsResult.cpp new file mode 100644 index 00000000000..ce22eeaca3f --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/source/model/ListRepositorySyncDefinitionsResult.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::CodeStarconnections::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListRepositorySyncDefinitionsResult::ListRepositorySyncDefinitionsResult() +{ +} + +ListRepositorySyncDefinitionsResult::ListRepositorySyncDefinitionsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListRepositorySyncDefinitionsResult& ListRepositorySyncDefinitionsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("RepositorySyncDefinitions")) + { + Aws::Utils::Array repositorySyncDefinitionsJsonList = jsonValue.GetArray("RepositorySyncDefinitions"); + for(unsigned repositorySyncDefinitionsIndex = 0; repositorySyncDefinitionsIndex < repositorySyncDefinitionsJsonList.GetLength(); ++repositorySyncDefinitionsIndex) + { + m_repositorySyncDefinitions.push_back(repositorySyncDefinitionsJsonList[repositorySyncDefinitionsIndex].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-codestar-connections/source/model/ListSyncConfigurationsRequest.cpp b/generated/src/aws-cpp-sdk-codestar-connections/source/model/ListSyncConfigurationsRequest.cpp new file mode 100644 index 00000000000..eacbc533be9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/source/model/ListSyncConfigurationsRequest.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::CodeStarconnections::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +ListSyncConfigurationsRequest::ListSyncConfigurationsRequest() : + m_maxResults(0), + m_maxResultsHasBeenSet(false), + m_nextTokenHasBeenSet(false), + m_repositoryLinkIdHasBeenSet(false), + m_syncType(SyncConfigurationType::NOT_SET), + m_syncTypeHasBeenSet(false) +{ +} + +Aws::String ListSyncConfigurationsRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_maxResultsHasBeenSet) + { + payload.WithInteger("MaxResults", m_maxResults); + + } + + if(m_nextTokenHasBeenSet) + { + payload.WithString("NextToken", m_nextToken); + + } + + if(m_repositoryLinkIdHasBeenSet) + { + payload.WithString("RepositoryLinkId", m_repositoryLinkId); + + } + + if(m_syncTypeHasBeenSet) + { + payload.WithString("SyncType", SyncConfigurationTypeMapper::GetNameForSyncConfigurationType(m_syncType)); + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection ListSyncConfigurationsRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "com.amazonaws.codestar.connections.CodeStar_connections_20191201.ListSyncConfigurations")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-codestar-connections/source/model/ListSyncConfigurationsResult.cpp b/generated/src/aws-cpp-sdk-codestar-connections/source/model/ListSyncConfigurationsResult.cpp new file mode 100644 index 00000000000..6609c6e6792 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/source/model/ListSyncConfigurationsResult.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::CodeStarconnections::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListSyncConfigurationsResult::ListSyncConfigurationsResult() +{ +} + +ListSyncConfigurationsResult::ListSyncConfigurationsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListSyncConfigurationsResult& ListSyncConfigurationsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("SyncConfigurations")) + { + Aws::Utils::Array syncConfigurationsJsonList = jsonValue.GetArray("SyncConfigurations"); + for(unsigned syncConfigurationsIndex = 0; syncConfigurationsIndex < syncConfigurationsJsonList.GetLength(); ++syncConfigurationsIndex) + { + m_syncConfigurations.push_back(syncConfigurationsJsonList[syncConfigurationsIndex].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-codestar-connections/source/model/RepositoryLinkInfo.cpp b/generated/src/aws-cpp-sdk-codestar-connections/source/model/RepositoryLinkInfo.cpp new file mode 100644 index 00000000000..06e7e837c77 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/source/model/RepositoryLinkInfo.cpp @@ -0,0 +1,150 @@ +/** + * 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 CodeStarconnections +{ +namespace Model +{ + +RepositoryLinkInfo::RepositoryLinkInfo() : + m_connectionArnHasBeenSet(false), + m_encryptionKeyArnHasBeenSet(false), + m_ownerIdHasBeenSet(false), + m_providerType(ProviderType::NOT_SET), + m_providerTypeHasBeenSet(false), + m_repositoryLinkArnHasBeenSet(false), + m_repositoryLinkIdHasBeenSet(false), + m_repositoryNameHasBeenSet(false) +{ +} + +RepositoryLinkInfo::RepositoryLinkInfo(JsonView jsonValue) : + m_connectionArnHasBeenSet(false), + m_encryptionKeyArnHasBeenSet(false), + m_ownerIdHasBeenSet(false), + m_providerType(ProviderType::NOT_SET), + m_providerTypeHasBeenSet(false), + m_repositoryLinkArnHasBeenSet(false), + m_repositoryLinkIdHasBeenSet(false), + m_repositoryNameHasBeenSet(false) +{ + *this = jsonValue; +} + +RepositoryLinkInfo& RepositoryLinkInfo::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("ConnectionArn")) + { + m_connectionArn = jsonValue.GetString("ConnectionArn"); + + m_connectionArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("EncryptionKeyArn")) + { + m_encryptionKeyArn = jsonValue.GetString("EncryptionKeyArn"); + + m_encryptionKeyArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("OwnerId")) + { + m_ownerId = jsonValue.GetString("OwnerId"); + + m_ownerIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("ProviderType")) + { + m_providerType = ProviderTypeMapper::GetProviderTypeForName(jsonValue.GetString("ProviderType")); + + m_providerTypeHasBeenSet = true; + } + + if(jsonValue.ValueExists("RepositoryLinkArn")) + { + m_repositoryLinkArn = jsonValue.GetString("RepositoryLinkArn"); + + m_repositoryLinkArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("RepositoryLinkId")) + { + m_repositoryLinkId = jsonValue.GetString("RepositoryLinkId"); + + m_repositoryLinkIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("RepositoryName")) + { + m_repositoryName = jsonValue.GetString("RepositoryName"); + + m_repositoryNameHasBeenSet = true; + } + + return *this; +} + +JsonValue RepositoryLinkInfo::Jsonize() const +{ + JsonValue payload; + + if(m_connectionArnHasBeenSet) + { + payload.WithString("ConnectionArn", m_connectionArn); + + } + + if(m_encryptionKeyArnHasBeenSet) + { + payload.WithString("EncryptionKeyArn", m_encryptionKeyArn); + + } + + if(m_ownerIdHasBeenSet) + { + payload.WithString("OwnerId", m_ownerId); + + } + + if(m_providerTypeHasBeenSet) + { + payload.WithString("ProviderType", ProviderTypeMapper::GetNameForProviderType(m_providerType)); + } + + if(m_repositoryLinkArnHasBeenSet) + { + payload.WithString("RepositoryLinkArn", m_repositoryLinkArn); + + } + + if(m_repositoryLinkIdHasBeenSet) + { + payload.WithString("RepositoryLinkId", m_repositoryLinkId); + + } + + if(m_repositoryNameHasBeenSet) + { + payload.WithString("RepositoryName", m_repositoryName); + + } + + return payload; +} + +} // namespace Model +} // namespace CodeStarconnections +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codestar-connections/source/model/RepositorySyncAttempt.cpp b/generated/src/aws-cpp-sdk-codestar-connections/source/model/RepositorySyncAttempt.cpp new file mode 100644 index 00000000000..e28e9723031 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/source/model/RepositorySyncAttempt.cpp @@ -0,0 +1,97 @@ +/** + * 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 CodeStarconnections +{ +namespace Model +{ + +RepositorySyncAttempt::RepositorySyncAttempt() : + m_startedAtHasBeenSet(false), + m_status(RepositorySyncStatus::NOT_SET), + m_statusHasBeenSet(false), + m_eventsHasBeenSet(false) +{ +} + +RepositorySyncAttempt::RepositorySyncAttempt(JsonView jsonValue) : + m_startedAtHasBeenSet(false), + m_status(RepositorySyncStatus::NOT_SET), + m_statusHasBeenSet(false), + m_eventsHasBeenSet(false) +{ + *this = jsonValue; +} + +RepositorySyncAttempt& RepositorySyncAttempt::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("StartedAt")) + { + m_startedAt = jsonValue.GetDouble("StartedAt"); + + m_startedAtHasBeenSet = true; + } + + if(jsonValue.ValueExists("Status")) + { + m_status = RepositorySyncStatusMapper::GetRepositorySyncStatusForName(jsonValue.GetString("Status")); + + m_statusHasBeenSet = true; + } + + if(jsonValue.ValueExists("Events")) + { + Aws::Utils::Array eventsJsonList = jsonValue.GetArray("Events"); + for(unsigned eventsIndex = 0; eventsIndex < eventsJsonList.GetLength(); ++eventsIndex) + { + m_events.push_back(eventsJsonList[eventsIndex].AsObject()); + } + m_eventsHasBeenSet = true; + } + + return *this; +} + +JsonValue RepositorySyncAttempt::Jsonize() const +{ + JsonValue payload; + + if(m_startedAtHasBeenSet) + { + payload.WithDouble("StartedAt", m_startedAt.SecondsWithMSPrecision()); + } + + if(m_statusHasBeenSet) + { + payload.WithString("Status", RepositorySyncStatusMapper::GetNameForRepositorySyncStatus(m_status)); + } + + if(m_eventsHasBeenSet) + { + Aws::Utils::Array eventsJsonList(m_events.size()); + for(unsigned eventsIndex = 0; eventsIndex < eventsJsonList.GetLength(); ++eventsIndex) + { + eventsJsonList[eventsIndex].AsObject(m_events[eventsIndex].Jsonize()); + } + payload.WithArray("Events", std::move(eventsJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace CodeStarconnections +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codestar-connections/source/model/RepositorySyncDefinition.cpp b/generated/src/aws-cpp-sdk-codestar-connections/source/model/RepositorySyncDefinition.cpp new file mode 100644 index 00000000000..1040aec57aa --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/source/model/RepositorySyncDefinition.cpp @@ -0,0 +1,104 @@ +/** + * 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 CodeStarconnections +{ +namespace Model +{ + +RepositorySyncDefinition::RepositorySyncDefinition() : + m_branchHasBeenSet(false), + m_directoryHasBeenSet(false), + m_parentHasBeenSet(false), + m_targetHasBeenSet(false) +{ +} + +RepositorySyncDefinition::RepositorySyncDefinition(JsonView jsonValue) : + m_branchHasBeenSet(false), + m_directoryHasBeenSet(false), + m_parentHasBeenSet(false), + m_targetHasBeenSet(false) +{ + *this = jsonValue; +} + +RepositorySyncDefinition& RepositorySyncDefinition::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Branch")) + { + m_branch = jsonValue.GetString("Branch"); + + m_branchHasBeenSet = true; + } + + if(jsonValue.ValueExists("Directory")) + { + m_directory = jsonValue.GetString("Directory"); + + m_directoryHasBeenSet = true; + } + + if(jsonValue.ValueExists("Parent")) + { + m_parent = jsonValue.GetString("Parent"); + + m_parentHasBeenSet = true; + } + + if(jsonValue.ValueExists("Target")) + { + m_target = jsonValue.GetString("Target"); + + m_targetHasBeenSet = true; + } + + return *this; +} + +JsonValue RepositorySyncDefinition::Jsonize() const +{ + JsonValue payload; + + if(m_branchHasBeenSet) + { + payload.WithString("Branch", m_branch); + + } + + if(m_directoryHasBeenSet) + { + payload.WithString("Directory", m_directory); + + } + + if(m_parentHasBeenSet) + { + payload.WithString("Parent", m_parent); + + } + + if(m_targetHasBeenSet) + { + payload.WithString("Target", m_target); + + } + + return payload; +} + +} // namespace Model +} // namespace CodeStarconnections +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codestar-connections/source/model/RepositorySyncEvent.cpp b/generated/src/aws-cpp-sdk-codestar-connections/source/model/RepositorySyncEvent.cpp new file mode 100644 index 00000000000..f504c157bd9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/source/model/RepositorySyncEvent.cpp @@ -0,0 +1,103 @@ +/** + * 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 CodeStarconnections +{ +namespace Model +{ + +RepositorySyncEvent::RepositorySyncEvent() : + m_eventHasBeenSet(false), + m_externalIdHasBeenSet(false), + m_timeHasBeenSet(false), + m_typeHasBeenSet(false) +{ +} + +RepositorySyncEvent::RepositorySyncEvent(JsonView jsonValue) : + m_eventHasBeenSet(false), + m_externalIdHasBeenSet(false), + m_timeHasBeenSet(false), + m_typeHasBeenSet(false) +{ + *this = jsonValue; +} + +RepositorySyncEvent& RepositorySyncEvent::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Event")) + { + m_event = jsonValue.GetString("Event"); + + m_eventHasBeenSet = true; + } + + if(jsonValue.ValueExists("ExternalId")) + { + m_externalId = jsonValue.GetString("ExternalId"); + + m_externalIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("Time")) + { + m_time = jsonValue.GetDouble("Time"); + + m_timeHasBeenSet = true; + } + + if(jsonValue.ValueExists("Type")) + { + m_type = jsonValue.GetString("Type"); + + m_typeHasBeenSet = true; + } + + return *this; +} + +JsonValue RepositorySyncEvent::Jsonize() const +{ + JsonValue payload; + + if(m_eventHasBeenSet) + { + payload.WithString("Event", m_event); + + } + + if(m_externalIdHasBeenSet) + { + payload.WithString("ExternalId", m_externalId); + + } + + if(m_timeHasBeenSet) + { + payload.WithDouble("Time", m_time.SecondsWithMSPrecision()); + } + + if(m_typeHasBeenSet) + { + payload.WithString("Type", m_type); + + } + + return payload; +} + +} // namespace Model +} // namespace CodeStarconnections +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codestar-connections/source/model/RepositorySyncStatus.cpp b/generated/src/aws-cpp-sdk-codestar-connections/source/model/RepositorySyncStatus.cpp new file mode 100644 index 00000000000..2d34905fb9b --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/source/model/RepositorySyncStatus.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 CodeStarconnections + { + namespace Model + { + namespace RepositorySyncStatusMapper + { + + static const int FAILED_HASH = HashingUtils::HashString("FAILED"); + static const int INITIATED_HASH = HashingUtils::HashString("INITIATED"); + static const int IN_PROGRESS_HASH = HashingUtils::HashString("IN_PROGRESS"); + static const int SUCCEEDED_HASH = HashingUtils::HashString("SUCCEEDED"); + static const int QUEUED_HASH = HashingUtils::HashString("QUEUED"); + + + RepositorySyncStatus GetRepositorySyncStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == FAILED_HASH) + { + return RepositorySyncStatus::FAILED; + } + else if (hashCode == INITIATED_HASH) + { + return RepositorySyncStatus::INITIATED; + } + else if (hashCode == IN_PROGRESS_HASH) + { + return RepositorySyncStatus::IN_PROGRESS; + } + else if (hashCode == SUCCEEDED_HASH) + { + return RepositorySyncStatus::SUCCEEDED; + } + else if (hashCode == QUEUED_HASH) + { + return RepositorySyncStatus::QUEUED; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return RepositorySyncStatus::NOT_SET; + } + + Aws::String GetNameForRepositorySyncStatus(RepositorySyncStatus enumValue) + { + switch(enumValue) + { + case RepositorySyncStatus::NOT_SET: + return {}; + case RepositorySyncStatus::FAILED: + return "FAILED"; + case RepositorySyncStatus::INITIATED: + return "INITIATED"; + case RepositorySyncStatus::IN_PROGRESS: + return "IN_PROGRESS"; + case RepositorySyncStatus::SUCCEEDED: + return "SUCCEEDED"; + case RepositorySyncStatus::QUEUED: + return "QUEUED"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace RepositorySyncStatusMapper + } // namespace Model + } // namespace CodeStarconnections +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codestar-connections/source/model/ResourceSyncAttempt.cpp b/generated/src/aws-cpp-sdk-codestar-connections/source/model/ResourceSyncAttempt.cpp new file mode 100644 index 00000000000..7f23f29d27e --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/source/model/ResourceSyncAttempt.cpp @@ -0,0 +1,142 @@ +/** + * 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 CodeStarconnections +{ +namespace Model +{ + +ResourceSyncAttempt::ResourceSyncAttempt() : + m_eventsHasBeenSet(false), + m_initialRevisionHasBeenSet(false), + m_startedAtHasBeenSet(false), + m_status(ResourceSyncStatus::NOT_SET), + m_statusHasBeenSet(false), + m_targetRevisionHasBeenSet(false), + m_targetHasBeenSet(false) +{ +} + +ResourceSyncAttempt::ResourceSyncAttempt(JsonView jsonValue) : + m_eventsHasBeenSet(false), + m_initialRevisionHasBeenSet(false), + m_startedAtHasBeenSet(false), + m_status(ResourceSyncStatus::NOT_SET), + m_statusHasBeenSet(false), + m_targetRevisionHasBeenSet(false), + m_targetHasBeenSet(false) +{ + *this = jsonValue; +} + +ResourceSyncAttempt& ResourceSyncAttempt::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Events")) + { + Aws::Utils::Array eventsJsonList = jsonValue.GetArray("Events"); + for(unsigned eventsIndex = 0; eventsIndex < eventsJsonList.GetLength(); ++eventsIndex) + { + m_events.push_back(eventsJsonList[eventsIndex].AsObject()); + } + m_eventsHasBeenSet = true; + } + + if(jsonValue.ValueExists("InitialRevision")) + { + m_initialRevision = jsonValue.GetObject("InitialRevision"); + + m_initialRevisionHasBeenSet = true; + } + + if(jsonValue.ValueExists("StartedAt")) + { + m_startedAt = jsonValue.GetDouble("StartedAt"); + + m_startedAtHasBeenSet = true; + } + + if(jsonValue.ValueExists("Status")) + { + m_status = ResourceSyncStatusMapper::GetResourceSyncStatusForName(jsonValue.GetString("Status")); + + m_statusHasBeenSet = true; + } + + if(jsonValue.ValueExists("TargetRevision")) + { + m_targetRevision = jsonValue.GetObject("TargetRevision"); + + m_targetRevisionHasBeenSet = true; + } + + if(jsonValue.ValueExists("Target")) + { + m_target = jsonValue.GetString("Target"); + + m_targetHasBeenSet = true; + } + + return *this; +} + +JsonValue ResourceSyncAttempt::Jsonize() const +{ + JsonValue payload; + + if(m_eventsHasBeenSet) + { + Aws::Utils::Array eventsJsonList(m_events.size()); + for(unsigned eventsIndex = 0; eventsIndex < eventsJsonList.GetLength(); ++eventsIndex) + { + eventsJsonList[eventsIndex].AsObject(m_events[eventsIndex].Jsonize()); + } + payload.WithArray("Events", std::move(eventsJsonList)); + + } + + if(m_initialRevisionHasBeenSet) + { + payload.WithObject("InitialRevision", m_initialRevision.Jsonize()); + + } + + if(m_startedAtHasBeenSet) + { + payload.WithDouble("StartedAt", m_startedAt.SecondsWithMSPrecision()); + } + + if(m_statusHasBeenSet) + { + payload.WithString("Status", ResourceSyncStatusMapper::GetNameForResourceSyncStatus(m_status)); + } + + if(m_targetRevisionHasBeenSet) + { + payload.WithObject("TargetRevision", m_targetRevision.Jsonize()); + + } + + if(m_targetHasBeenSet) + { + payload.WithString("Target", m_target); + + } + + return payload; +} + +} // namespace Model +} // namespace CodeStarconnections +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codestar-connections/source/model/ResourceSyncEvent.cpp b/generated/src/aws-cpp-sdk-codestar-connections/source/model/ResourceSyncEvent.cpp new file mode 100644 index 00000000000..7a955fd39d2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/source/model/ResourceSyncEvent.cpp @@ -0,0 +1,103 @@ +/** + * 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 CodeStarconnections +{ +namespace Model +{ + +ResourceSyncEvent::ResourceSyncEvent() : + m_eventHasBeenSet(false), + m_externalIdHasBeenSet(false), + m_timeHasBeenSet(false), + m_typeHasBeenSet(false) +{ +} + +ResourceSyncEvent::ResourceSyncEvent(JsonView jsonValue) : + m_eventHasBeenSet(false), + m_externalIdHasBeenSet(false), + m_timeHasBeenSet(false), + m_typeHasBeenSet(false) +{ + *this = jsonValue; +} + +ResourceSyncEvent& ResourceSyncEvent::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Event")) + { + m_event = jsonValue.GetString("Event"); + + m_eventHasBeenSet = true; + } + + if(jsonValue.ValueExists("ExternalId")) + { + m_externalId = jsonValue.GetString("ExternalId"); + + m_externalIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("Time")) + { + m_time = jsonValue.GetDouble("Time"); + + m_timeHasBeenSet = true; + } + + if(jsonValue.ValueExists("Type")) + { + m_type = jsonValue.GetString("Type"); + + m_typeHasBeenSet = true; + } + + return *this; +} + +JsonValue ResourceSyncEvent::Jsonize() const +{ + JsonValue payload; + + if(m_eventHasBeenSet) + { + payload.WithString("Event", m_event); + + } + + if(m_externalIdHasBeenSet) + { + payload.WithString("ExternalId", m_externalId); + + } + + if(m_timeHasBeenSet) + { + payload.WithDouble("Time", m_time.SecondsWithMSPrecision()); + } + + if(m_typeHasBeenSet) + { + payload.WithString("Type", m_type); + + } + + return payload; +} + +} // namespace Model +} // namespace CodeStarconnections +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codestar-connections/source/model/ResourceSyncStatus.cpp b/generated/src/aws-cpp-sdk-codestar-connections/source/model/ResourceSyncStatus.cpp new file mode 100644 index 00000000000..750028a63bc --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/source/model/ResourceSyncStatus.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 CodeStarconnections + { + namespace Model + { + namespace ResourceSyncStatusMapper + { + + static const int FAILED_HASH = HashingUtils::HashString("FAILED"); + static const int INITIATED_HASH = HashingUtils::HashString("INITIATED"); + static const int IN_PROGRESS_HASH = HashingUtils::HashString("IN_PROGRESS"); + static const int SUCCEEDED_HASH = HashingUtils::HashString("SUCCEEDED"); + + + ResourceSyncStatus GetResourceSyncStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == FAILED_HASH) + { + return ResourceSyncStatus::FAILED; + } + else if (hashCode == INITIATED_HASH) + { + return ResourceSyncStatus::INITIATED; + } + else if (hashCode == IN_PROGRESS_HASH) + { + return ResourceSyncStatus::IN_PROGRESS; + } + else if (hashCode == SUCCEEDED_HASH) + { + return ResourceSyncStatus::SUCCEEDED; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ResourceSyncStatus::NOT_SET; + } + + Aws::String GetNameForResourceSyncStatus(ResourceSyncStatus enumValue) + { + switch(enumValue) + { + case ResourceSyncStatus::NOT_SET: + return {}; + case ResourceSyncStatus::FAILED: + return "FAILED"; + case ResourceSyncStatus::INITIATED: + return "INITIATED"; + case ResourceSyncStatus::IN_PROGRESS: + return "IN_PROGRESS"; + case ResourceSyncStatus::SUCCEEDED: + return "SUCCEEDED"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ResourceSyncStatusMapper + } // namespace Model + } // namespace CodeStarconnections +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codestar-connections/source/model/Revision.cpp b/generated/src/aws-cpp-sdk-codestar-connections/source/model/Revision.cpp new file mode 100644 index 00000000000..97e457127dc --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/source/model/Revision.cpp @@ -0,0 +1,135 @@ +/** + * 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 CodeStarconnections +{ +namespace Model +{ + +Revision::Revision() : + m_branchHasBeenSet(false), + m_directoryHasBeenSet(false), + m_ownerIdHasBeenSet(false), + m_repositoryNameHasBeenSet(false), + m_providerType(ProviderType::NOT_SET), + m_providerTypeHasBeenSet(false), + m_shaHasBeenSet(false) +{ +} + +Revision::Revision(JsonView jsonValue) : + m_branchHasBeenSet(false), + m_directoryHasBeenSet(false), + m_ownerIdHasBeenSet(false), + m_repositoryNameHasBeenSet(false), + m_providerType(ProviderType::NOT_SET), + m_providerTypeHasBeenSet(false), + m_shaHasBeenSet(false) +{ + *this = jsonValue; +} + +Revision& Revision::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Branch")) + { + m_branch = jsonValue.GetString("Branch"); + + m_branchHasBeenSet = true; + } + + if(jsonValue.ValueExists("Directory")) + { + m_directory = jsonValue.GetString("Directory"); + + m_directoryHasBeenSet = true; + } + + if(jsonValue.ValueExists("OwnerId")) + { + m_ownerId = jsonValue.GetString("OwnerId"); + + m_ownerIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("RepositoryName")) + { + m_repositoryName = jsonValue.GetString("RepositoryName"); + + m_repositoryNameHasBeenSet = true; + } + + if(jsonValue.ValueExists("ProviderType")) + { + m_providerType = ProviderTypeMapper::GetProviderTypeForName(jsonValue.GetString("ProviderType")); + + m_providerTypeHasBeenSet = true; + } + + if(jsonValue.ValueExists("Sha")) + { + m_sha = jsonValue.GetString("Sha"); + + m_shaHasBeenSet = true; + } + + return *this; +} + +JsonValue Revision::Jsonize() const +{ + JsonValue payload; + + if(m_branchHasBeenSet) + { + payload.WithString("Branch", m_branch); + + } + + if(m_directoryHasBeenSet) + { + payload.WithString("Directory", m_directory); + + } + + if(m_ownerIdHasBeenSet) + { + payload.WithString("OwnerId", m_ownerId); + + } + + if(m_repositoryNameHasBeenSet) + { + payload.WithString("RepositoryName", m_repositoryName); + + } + + if(m_providerTypeHasBeenSet) + { + payload.WithString("ProviderType", ProviderTypeMapper::GetNameForProviderType(m_providerType)); + } + + if(m_shaHasBeenSet) + { + payload.WithString("Sha", m_sha); + + } + + return payload; +} + +} // namespace Model +} // namespace CodeStarconnections +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codestar-connections/source/model/SyncBlocker.cpp b/generated/src/aws-cpp-sdk-codestar-connections/source/model/SyncBlocker.cpp new file mode 100644 index 00000000000..b1ce08ef425 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/source/model/SyncBlocker.cpp @@ -0,0 +1,172 @@ +/** + * 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 CodeStarconnections +{ +namespace Model +{ + +SyncBlocker::SyncBlocker() : + m_idHasBeenSet(false), + m_type(BlockerType::NOT_SET), + m_typeHasBeenSet(false), + m_status(BlockerStatus::NOT_SET), + m_statusHasBeenSet(false), + m_createdReasonHasBeenSet(false), + m_createdAtHasBeenSet(false), + m_contextsHasBeenSet(false), + m_resolvedReasonHasBeenSet(false), + m_resolvedAtHasBeenSet(false) +{ +} + +SyncBlocker::SyncBlocker(JsonView jsonValue) : + m_idHasBeenSet(false), + m_type(BlockerType::NOT_SET), + m_typeHasBeenSet(false), + m_status(BlockerStatus::NOT_SET), + m_statusHasBeenSet(false), + m_createdReasonHasBeenSet(false), + m_createdAtHasBeenSet(false), + m_contextsHasBeenSet(false), + m_resolvedReasonHasBeenSet(false), + m_resolvedAtHasBeenSet(false) +{ + *this = jsonValue; +} + +SyncBlocker& SyncBlocker::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Id")) + { + m_id = jsonValue.GetString("Id"); + + m_idHasBeenSet = true; + } + + if(jsonValue.ValueExists("Type")) + { + m_type = BlockerTypeMapper::GetBlockerTypeForName(jsonValue.GetString("Type")); + + m_typeHasBeenSet = true; + } + + if(jsonValue.ValueExists("Status")) + { + m_status = BlockerStatusMapper::GetBlockerStatusForName(jsonValue.GetString("Status")); + + m_statusHasBeenSet = true; + } + + if(jsonValue.ValueExists("CreatedReason")) + { + m_createdReason = jsonValue.GetString("CreatedReason"); + + m_createdReasonHasBeenSet = true; + } + + if(jsonValue.ValueExists("CreatedAt")) + { + m_createdAt = jsonValue.GetDouble("CreatedAt"); + + m_createdAtHasBeenSet = true; + } + + if(jsonValue.ValueExists("Contexts")) + { + Aws::Utils::Array contextsJsonList = jsonValue.GetArray("Contexts"); + for(unsigned contextsIndex = 0; contextsIndex < contextsJsonList.GetLength(); ++contextsIndex) + { + m_contexts.push_back(contextsJsonList[contextsIndex].AsObject()); + } + m_contextsHasBeenSet = true; + } + + if(jsonValue.ValueExists("ResolvedReason")) + { + m_resolvedReason = jsonValue.GetString("ResolvedReason"); + + m_resolvedReasonHasBeenSet = true; + } + + if(jsonValue.ValueExists("ResolvedAt")) + { + m_resolvedAt = jsonValue.GetDouble("ResolvedAt"); + + m_resolvedAtHasBeenSet = true; + } + + return *this; +} + +JsonValue SyncBlocker::Jsonize() const +{ + JsonValue payload; + + if(m_idHasBeenSet) + { + payload.WithString("Id", m_id); + + } + + if(m_typeHasBeenSet) + { + payload.WithString("Type", BlockerTypeMapper::GetNameForBlockerType(m_type)); + } + + if(m_statusHasBeenSet) + { + payload.WithString("Status", BlockerStatusMapper::GetNameForBlockerStatus(m_status)); + } + + if(m_createdReasonHasBeenSet) + { + payload.WithString("CreatedReason", m_createdReason); + + } + + if(m_createdAtHasBeenSet) + { + payload.WithDouble("CreatedAt", m_createdAt.SecondsWithMSPrecision()); + } + + if(m_contextsHasBeenSet) + { + Aws::Utils::Array contextsJsonList(m_contexts.size()); + for(unsigned contextsIndex = 0; contextsIndex < contextsJsonList.GetLength(); ++contextsIndex) + { + contextsJsonList[contextsIndex].AsObject(m_contexts[contextsIndex].Jsonize()); + } + payload.WithArray("Contexts", std::move(contextsJsonList)); + + } + + if(m_resolvedReasonHasBeenSet) + { + payload.WithString("ResolvedReason", m_resolvedReason); + + } + + if(m_resolvedAtHasBeenSet) + { + payload.WithDouble("ResolvedAt", m_resolvedAt.SecondsWithMSPrecision()); + } + + return payload; +} + +} // namespace Model +} // namespace CodeStarconnections +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codestar-connections/source/model/SyncBlockerContext.cpp b/generated/src/aws-cpp-sdk-codestar-connections/source/model/SyncBlockerContext.cpp new file mode 100644 index 00000000000..59353926a8f --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/source/model/SyncBlockerContext.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 CodeStarconnections +{ +namespace Model +{ + +SyncBlockerContext::SyncBlockerContext() : + m_keyHasBeenSet(false), + m_valueHasBeenSet(false) +{ +} + +SyncBlockerContext::SyncBlockerContext(JsonView jsonValue) : + m_keyHasBeenSet(false), + m_valueHasBeenSet(false) +{ + *this = jsonValue; +} + +SyncBlockerContext& SyncBlockerContext::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Key")) + { + m_key = jsonValue.GetString("Key"); + + m_keyHasBeenSet = true; + } + + if(jsonValue.ValueExists("Value")) + { + m_value = jsonValue.GetString("Value"); + + m_valueHasBeenSet = true; + } + + return *this; +} + +JsonValue SyncBlockerContext::Jsonize() const +{ + JsonValue payload; + + if(m_keyHasBeenSet) + { + payload.WithString("Key", m_key); + + } + + if(m_valueHasBeenSet) + { + payload.WithString("Value", m_value); + + } + + return payload; +} + +} // namespace Model +} // namespace CodeStarconnections +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codestar-connections/source/model/SyncBlockerSummary.cpp b/generated/src/aws-cpp-sdk-codestar-connections/source/model/SyncBlockerSummary.cpp new file mode 100644 index 00000000000..53dd402da16 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/source/model/SyncBlockerSummary.cpp @@ -0,0 +1,97 @@ +/** + * 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 CodeStarconnections +{ +namespace Model +{ + +SyncBlockerSummary::SyncBlockerSummary() : + m_resourceNameHasBeenSet(false), + m_parentResourceNameHasBeenSet(false), + m_latestBlockersHasBeenSet(false) +{ +} + +SyncBlockerSummary::SyncBlockerSummary(JsonView jsonValue) : + m_resourceNameHasBeenSet(false), + m_parentResourceNameHasBeenSet(false), + m_latestBlockersHasBeenSet(false) +{ + *this = jsonValue; +} + +SyncBlockerSummary& SyncBlockerSummary::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("ResourceName")) + { + m_resourceName = jsonValue.GetString("ResourceName"); + + m_resourceNameHasBeenSet = true; + } + + if(jsonValue.ValueExists("ParentResourceName")) + { + m_parentResourceName = jsonValue.GetString("ParentResourceName"); + + m_parentResourceNameHasBeenSet = true; + } + + if(jsonValue.ValueExists("LatestBlockers")) + { + Aws::Utils::Array latestBlockersJsonList = jsonValue.GetArray("LatestBlockers"); + for(unsigned latestBlockersIndex = 0; latestBlockersIndex < latestBlockersJsonList.GetLength(); ++latestBlockersIndex) + { + m_latestBlockers.push_back(latestBlockersJsonList[latestBlockersIndex].AsObject()); + } + m_latestBlockersHasBeenSet = true; + } + + return *this; +} + +JsonValue SyncBlockerSummary::Jsonize() const +{ + JsonValue payload; + + if(m_resourceNameHasBeenSet) + { + payload.WithString("ResourceName", m_resourceName); + + } + + if(m_parentResourceNameHasBeenSet) + { + payload.WithString("ParentResourceName", m_parentResourceName); + + } + + if(m_latestBlockersHasBeenSet) + { + Aws::Utils::Array latestBlockersJsonList(m_latestBlockers.size()); + for(unsigned latestBlockersIndex = 0; latestBlockersIndex < latestBlockersJsonList.GetLength(); ++latestBlockersIndex) + { + latestBlockersJsonList[latestBlockersIndex].AsObject(m_latestBlockers[latestBlockersIndex].Jsonize()); + } + payload.WithArray("LatestBlockers", std::move(latestBlockersJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace CodeStarconnections +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codestar-connections/source/model/SyncConfiguration.cpp b/generated/src/aws-cpp-sdk-codestar-connections/source/model/SyncConfiguration.cpp new file mode 100644 index 00000000000..38fc800dd76 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/source/model/SyncConfiguration.cpp @@ -0,0 +1,181 @@ +/** + * 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 CodeStarconnections +{ +namespace Model +{ + +SyncConfiguration::SyncConfiguration() : + m_branchHasBeenSet(false), + m_configFileHasBeenSet(false), + m_ownerIdHasBeenSet(false), + m_providerType(ProviderType::NOT_SET), + m_providerTypeHasBeenSet(false), + m_repositoryLinkIdHasBeenSet(false), + m_repositoryNameHasBeenSet(false), + m_resourceNameHasBeenSet(false), + m_roleArnHasBeenSet(false), + m_syncType(SyncConfigurationType::NOT_SET), + m_syncTypeHasBeenSet(false) +{ +} + +SyncConfiguration::SyncConfiguration(JsonView jsonValue) : + m_branchHasBeenSet(false), + m_configFileHasBeenSet(false), + m_ownerIdHasBeenSet(false), + m_providerType(ProviderType::NOT_SET), + m_providerTypeHasBeenSet(false), + m_repositoryLinkIdHasBeenSet(false), + m_repositoryNameHasBeenSet(false), + m_resourceNameHasBeenSet(false), + m_roleArnHasBeenSet(false), + m_syncType(SyncConfigurationType::NOT_SET), + m_syncTypeHasBeenSet(false) +{ + *this = jsonValue; +} + +SyncConfiguration& SyncConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Branch")) + { + m_branch = jsonValue.GetString("Branch"); + + m_branchHasBeenSet = true; + } + + if(jsonValue.ValueExists("ConfigFile")) + { + m_configFile = jsonValue.GetString("ConfigFile"); + + m_configFileHasBeenSet = true; + } + + if(jsonValue.ValueExists("OwnerId")) + { + m_ownerId = jsonValue.GetString("OwnerId"); + + m_ownerIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("ProviderType")) + { + m_providerType = ProviderTypeMapper::GetProviderTypeForName(jsonValue.GetString("ProviderType")); + + m_providerTypeHasBeenSet = true; + } + + if(jsonValue.ValueExists("RepositoryLinkId")) + { + m_repositoryLinkId = jsonValue.GetString("RepositoryLinkId"); + + m_repositoryLinkIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("RepositoryName")) + { + m_repositoryName = jsonValue.GetString("RepositoryName"); + + m_repositoryNameHasBeenSet = true; + } + + if(jsonValue.ValueExists("ResourceName")) + { + m_resourceName = jsonValue.GetString("ResourceName"); + + m_resourceNameHasBeenSet = true; + } + + if(jsonValue.ValueExists("RoleArn")) + { + m_roleArn = jsonValue.GetString("RoleArn"); + + m_roleArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("SyncType")) + { + m_syncType = SyncConfigurationTypeMapper::GetSyncConfigurationTypeForName(jsonValue.GetString("SyncType")); + + m_syncTypeHasBeenSet = true; + } + + return *this; +} + +JsonValue SyncConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_branchHasBeenSet) + { + payload.WithString("Branch", m_branch); + + } + + if(m_configFileHasBeenSet) + { + payload.WithString("ConfigFile", m_configFile); + + } + + if(m_ownerIdHasBeenSet) + { + payload.WithString("OwnerId", m_ownerId); + + } + + if(m_providerTypeHasBeenSet) + { + payload.WithString("ProviderType", ProviderTypeMapper::GetNameForProviderType(m_providerType)); + } + + if(m_repositoryLinkIdHasBeenSet) + { + payload.WithString("RepositoryLinkId", m_repositoryLinkId); + + } + + if(m_repositoryNameHasBeenSet) + { + payload.WithString("RepositoryName", m_repositoryName); + + } + + if(m_resourceNameHasBeenSet) + { + payload.WithString("ResourceName", m_resourceName); + + } + + if(m_roleArnHasBeenSet) + { + payload.WithString("RoleArn", m_roleArn); + + } + + if(m_syncTypeHasBeenSet) + { + payload.WithString("SyncType", SyncConfigurationTypeMapper::GetNameForSyncConfigurationType(m_syncType)); + } + + return payload; +} + +} // namespace Model +} // namespace CodeStarconnections +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codestar-connections/source/model/SyncConfigurationType.cpp b/generated/src/aws-cpp-sdk-codestar-connections/source/model/SyncConfigurationType.cpp new file mode 100644 index 00000000000..fed08b868ca --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/source/model/SyncConfigurationType.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 CodeStarconnections + { + namespace Model + { + namespace SyncConfigurationTypeMapper + { + + static const int CFN_STACK_SYNC_HASH = HashingUtils::HashString("CFN_STACK_SYNC"); + + + SyncConfigurationType GetSyncConfigurationTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == CFN_STACK_SYNC_HASH) + { + return SyncConfigurationType::CFN_STACK_SYNC; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return SyncConfigurationType::NOT_SET; + } + + Aws::String GetNameForSyncConfigurationType(SyncConfigurationType enumValue) + { + switch(enumValue) + { + case SyncConfigurationType::NOT_SET: + return {}; + case SyncConfigurationType::CFN_STACK_SYNC: + return "CFN_STACK_SYNC"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace SyncConfigurationTypeMapper + } // namespace Model + } // namespace CodeStarconnections +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codestar-connections/source/model/UpdateRepositoryLinkRequest.cpp b/generated/src/aws-cpp-sdk-codestar-connections/source/model/UpdateRepositoryLinkRequest.cpp new file mode 100644 index 00000000000..81ebd2f1592 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/source/model/UpdateRepositoryLinkRequest.cpp @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::CodeStarconnections::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +UpdateRepositoryLinkRequest::UpdateRepositoryLinkRequest() : + m_connectionArnHasBeenSet(false), + m_encryptionKeyArnHasBeenSet(false), + m_repositoryLinkIdHasBeenSet(false) +{ +} + +Aws::String UpdateRepositoryLinkRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_connectionArnHasBeenSet) + { + payload.WithString("ConnectionArn", m_connectionArn); + + } + + if(m_encryptionKeyArnHasBeenSet) + { + payload.WithString("EncryptionKeyArn", m_encryptionKeyArn); + + } + + if(m_repositoryLinkIdHasBeenSet) + { + payload.WithString("RepositoryLinkId", m_repositoryLinkId); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection UpdateRepositoryLinkRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "com.amazonaws.codestar.connections.CodeStar_connections_20191201.UpdateRepositoryLink")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-codestar-connections/source/model/UpdateRepositoryLinkResult.cpp b/generated/src/aws-cpp-sdk-codestar-connections/source/model/UpdateRepositoryLinkResult.cpp new file mode 100644 index 00000000000..40e37f568bf --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/source/model/UpdateRepositoryLinkResult.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::CodeStarconnections::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +UpdateRepositoryLinkResult::UpdateRepositoryLinkResult() +{ +} + +UpdateRepositoryLinkResult::UpdateRepositoryLinkResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +UpdateRepositoryLinkResult& UpdateRepositoryLinkResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("RepositoryLinkInfo")) + { + m_repositoryLinkInfo = jsonValue.GetObject("RepositoryLinkInfo"); + + } + + + 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-codestar-connections/source/model/UpdateSyncBlockerRequest.cpp b/generated/src/aws-cpp-sdk-codestar-connections/source/model/UpdateSyncBlockerRequest.cpp new file mode 100644 index 00000000000..fa755ce11b3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/source/model/UpdateSyncBlockerRequest.cpp @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::CodeStarconnections::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +UpdateSyncBlockerRequest::UpdateSyncBlockerRequest() : + m_idHasBeenSet(false), + m_syncType(SyncConfigurationType::NOT_SET), + m_syncTypeHasBeenSet(false), + m_resourceNameHasBeenSet(false), + m_resolvedReasonHasBeenSet(false) +{ +} + +Aws::String UpdateSyncBlockerRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_idHasBeenSet) + { + payload.WithString("Id", m_id); + + } + + if(m_syncTypeHasBeenSet) + { + payload.WithString("SyncType", SyncConfigurationTypeMapper::GetNameForSyncConfigurationType(m_syncType)); + } + + if(m_resourceNameHasBeenSet) + { + payload.WithString("ResourceName", m_resourceName); + + } + + if(m_resolvedReasonHasBeenSet) + { + payload.WithString("ResolvedReason", m_resolvedReason); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection UpdateSyncBlockerRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "com.amazonaws.codestar.connections.CodeStar_connections_20191201.UpdateSyncBlocker")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-codestar-connections/source/model/UpdateSyncBlockerResult.cpp b/generated/src/aws-cpp-sdk-codestar-connections/source/model/UpdateSyncBlockerResult.cpp new file mode 100644 index 00000000000..b4dac3a7f39 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/source/model/UpdateSyncBlockerResult.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::CodeStarconnections::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +UpdateSyncBlockerResult::UpdateSyncBlockerResult() +{ +} + +UpdateSyncBlockerResult::UpdateSyncBlockerResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +UpdateSyncBlockerResult& UpdateSyncBlockerResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("ResourceName")) + { + m_resourceName = jsonValue.GetString("ResourceName"); + + } + + if(jsonValue.ValueExists("ParentResourceName")) + { + m_parentResourceName = jsonValue.GetString("ParentResourceName"); + + } + + if(jsonValue.ValueExists("SyncBlocker")) + { + m_syncBlocker = jsonValue.GetObject("SyncBlocker"); + + } + + + 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-codestar-connections/source/model/UpdateSyncConfigurationRequest.cpp b/generated/src/aws-cpp-sdk-codestar-connections/source/model/UpdateSyncConfigurationRequest.cpp new file mode 100644 index 00000000000..21e009a996a --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/source/model/UpdateSyncConfigurationRequest.cpp @@ -0,0 +1,78 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::CodeStarconnections::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +UpdateSyncConfigurationRequest::UpdateSyncConfigurationRequest() : + m_branchHasBeenSet(false), + m_configFileHasBeenSet(false), + m_repositoryLinkIdHasBeenSet(false), + m_resourceNameHasBeenSet(false), + m_roleArnHasBeenSet(false), + m_syncType(SyncConfigurationType::NOT_SET), + m_syncTypeHasBeenSet(false) +{ +} + +Aws::String UpdateSyncConfigurationRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_branchHasBeenSet) + { + payload.WithString("Branch", m_branch); + + } + + if(m_configFileHasBeenSet) + { + payload.WithString("ConfigFile", m_configFile); + + } + + if(m_repositoryLinkIdHasBeenSet) + { + payload.WithString("RepositoryLinkId", m_repositoryLinkId); + + } + + if(m_resourceNameHasBeenSet) + { + payload.WithString("ResourceName", m_resourceName); + + } + + if(m_roleArnHasBeenSet) + { + payload.WithString("RoleArn", m_roleArn); + + } + + if(m_syncTypeHasBeenSet) + { + payload.WithString("SyncType", SyncConfigurationTypeMapper::GetNameForSyncConfigurationType(m_syncType)); + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection UpdateSyncConfigurationRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "com.amazonaws.codestar.connections.CodeStar_connections_20191201.UpdateSyncConfiguration")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-codestar-connections/source/model/UpdateSyncConfigurationResult.cpp b/generated/src/aws-cpp-sdk-codestar-connections/source/model/UpdateSyncConfigurationResult.cpp new file mode 100644 index 00000000000..fa9422f83c9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/source/model/UpdateSyncConfigurationResult.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::CodeStarconnections::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +UpdateSyncConfigurationResult::UpdateSyncConfigurationResult() +{ +} + +UpdateSyncConfigurationResult::UpdateSyncConfigurationResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +UpdateSyncConfigurationResult& UpdateSyncConfigurationResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("SyncConfiguration")) + { + m_syncConfiguration = jsonValue.GetObject("SyncConfiguration"); + + } + + + 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-compute-optimizer/include/aws/compute-optimizer/model/AutoScalingGroupEstimatedMonthlySavings.h b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/AutoScalingGroupEstimatedMonthlySavings.h new file mode 100644 index 00000000000..0662c8ef627 --- /dev/null +++ b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/AutoScalingGroupEstimatedMonthlySavings.h @@ -0,0 +1,104 @@ +/** + * 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 ComputeOptimizer +{ +namespace Model +{ + + /** + *

An object that describes the estimated monthly savings possible by adopting + * Compute Optimizer’s Auto Scaling group recommendations. This is based on the + * Savings Plans and Reserved Instances discounts.

See Also:

AWS + * API Reference

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

The currency of the estimated monthly savings.

+ */ + inline const Currency& GetCurrency() const{ return m_currency; } + + /** + *

The currency of the estimated monthly savings.

+ */ + inline bool CurrencyHasBeenSet() const { return m_currencyHasBeenSet; } + + /** + *

The currency of the estimated monthly savings.

+ */ + inline void SetCurrency(const Currency& value) { m_currencyHasBeenSet = true; m_currency = value; } + + /** + *

The currency of the estimated monthly savings.

+ */ + inline void SetCurrency(Currency&& value) { m_currencyHasBeenSet = true; m_currency = std::move(value); } + + /** + *

The currency of the estimated monthly savings.

+ */ + inline AutoScalingGroupEstimatedMonthlySavings& WithCurrency(const Currency& value) { SetCurrency(value); return *this;} + + /** + *

The currency of the estimated monthly savings.

+ */ + inline AutoScalingGroupEstimatedMonthlySavings& WithCurrency(Currency&& value) { SetCurrency(std::move(value)); return *this;} + + + /** + *

The value of the estimated monthly savings.

+ */ + inline double GetValue() const{ return m_value; } + + /** + *

The value of the estimated monthly savings.

+ */ + inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; } + + /** + *

The value of the estimated monthly savings.

+ */ + inline void SetValue(double value) { m_valueHasBeenSet = true; m_value = value; } + + /** + *

The value of the estimated monthly savings.

+ */ + inline AutoScalingGroupEstimatedMonthlySavings& WithValue(double value) { SetValue(value); return *this;} + + private: + + Currency m_currency; + bool m_currencyHasBeenSet = false; + + double m_value; + bool m_valueHasBeenSet = false; + }; + +} // namespace Model +} // namespace ComputeOptimizer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/AutoScalingGroupRecommendationOption.h b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/AutoScalingGroupRecommendationOption.h index 4b45008a917..c127dfaff43 100644 --- a/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/AutoScalingGroupRecommendationOption.h +++ b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/AutoScalingGroupRecommendationOption.h @@ -10,6 +10,7 @@ #include #include #include +#include #include #include @@ -417,6 +418,55 @@ namespace Model */ inline AutoScalingGroupRecommendationOption& WithInstanceGpuInfo(GpuInfo&& value) { SetInstanceGpuInfo(std::move(value)); return *this;} + + /** + *

An object that describes the savings opportunity for the Auto Scaling group + * recommendation option that includes Savings Plans and Reserved Instances + * discounts. Savings opportunity includes the estimated monthly savings and + * percentage.

+ */ + inline const AutoScalingGroupSavingsOpportunityAfterDiscounts& GetSavingsOpportunityAfterDiscounts() const{ return m_savingsOpportunityAfterDiscounts; } + + /** + *

An object that describes the savings opportunity for the Auto Scaling group + * recommendation option that includes Savings Plans and Reserved Instances + * discounts. Savings opportunity includes the estimated monthly savings and + * percentage.

+ */ + inline bool SavingsOpportunityAfterDiscountsHasBeenSet() const { return m_savingsOpportunityAfterDiscountsHasBeenSet; } + + /** + *

An object that describes the savings opportunity for the Auto Scaling group + * recommendation option that includes Savings Plans and Reserved Instances + * discounts. Savings opportunity includes the estimated monthly savings and + * percentage.

+ */ + inline void SetSavingsOpportunityAfterDiscounts(const AutoScalingGroupSavingsOpportunityAfterDiscounts& value) { m_savingsOpportunityAfterDiscountsHasBeenSet = true; m_savingsOpportunityAfterDiscounts = value; } + + /** + *

An object that describes the savings opportunity for the Auto Scaling group + * recommendation option that includes Savings Plans and Reserved Instances + * discounts. Savings opportunity includes the estimated monthly savings and + * percentage.

+ */ + inline void SetSavingsOpportunityAfterDiscounts(AutoScalingGroupSavingsOpportunityAfterDiscounts&& value) { m_savingsOpportunityAfterDiscountsHasBeenSet = true; m_savingsOpportunityAfterDiscounts = std::move(value); } + + /** + *

An object that describes the savings opportunity for the Auto Scaling group + * recommendation option that includes Savings Plans and Reserved Instances + * discounts. Savings opportunity includes the estimated monthly savings and + * percentage.

+ */ + inline AutoScalingGroupRecommendationOption& WithSavingsOpportunityAfterDiscounts(const AutoScalingGroupSavingsOpportunityAfterDiscounts& value) { SetSavingsOpportunityAfterDiscounts(value); return *this;} + + /** + *

An object that describes the savings opportunity for the Auto Scaling group + * recommendation option that includes Savings Plans and Reserved Instances + * discounts. Savings opportunity includes the estimated monthly savings and + * percentage.

+ */ + inline AutoScalingGroupRecommendationOption& WithSavingsOpportunityAfterDiscounts(AutoScalingGroupSavingsOpportunityAfterDiscounts&& value) { SetSavingsOpportunityAfterDiscounts(std::move(value)); return *this;} + private: AutoScalingGroupConfiguration m_configuration; @@ -439,6 +489,9 @@ namespace Model GpuInfo m_instanceGpuInfo; bool m_instanceGpuInfoHasBeenSet = false; + + AutoScalingGroupSavingsOpportunityAfterDiscounts m_savingsOpportunityAfterDiscounts; + bool m_savingsOpportunityAfterDiscountsHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/AutoScalingGroupSavingsOpportunityAfterDiscounts.h b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/AutoScalingGroupSavingsOpportunityAfterDiscounts.h new file mode 100644 index 00000000000..9c96e4af681 --- /dev/null +++ b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/AutoScalingGroupSavingsOpportunityAfterDiscounts.h @@ -0,0 +1,129 @@ +/** + * 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 ComputeOptimizer +{ +namespace Model +{ + + /** + *

Describes the savings opportunity for Auto Scaling group recommendations + * after applying the Savings Plans and Reserved Instances discounts.

+ *

Savings opportunity represents the estimated monthly savings you can achieve + * by implementing Compute Optimizer recommendations.

See Also:

AWS + * API Reference

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

The estimated monthly savings possible as a percentage of monthly cost after + * applying the Savings Plans and Reserved Instances discounts. This saving can be + * achieved by adopting Compute Optimizer’s Auto Scaling group recommendations. + *

+ */ + inline double GetSavingsOpportunityPercentage() const{ return m_savingsOpportunityPercentage; } + + /** + *

The estimated monthly savings possible as a percentage of monthly cost after + * applying the Savings Plans and Reserved Instances discounts. This saving can be + * achieved by adopting Compute Optimizer’s Auto Scaling group recommendations. + *

+ */ + inline bool SavingsOpportunityPercentageHasBeenSet() const { return m_savingsOpportunityPercentageHasBeenSet; } + + /** + *

The estimated monthly savings possible as a percentage of monthly cost after + * applying the Savings Plans and Reserved Instances discounts. This saving can be + * achieved by adopting Compute Optimizer’s Auto Scaling group recommendations. + *

+ */ + inline void SetSavingsOpportunityPercentage(double value) { m_savingsOpportunityPercentageHasBeenSet = true; m_savingsOpportunityPercentage = value; } + + /** + *

The estimated monthly savings possible as a percentage of monthly cost after + * applying the Savings Plans and Reserved Instances discounts. This saving can be + * achieved by adopting Compute Optimizer’s Auto Scaling group recommendations. + *

+ */ + inline AutoScalingGroupSavingsOpportunityAfterDiscounts& WithSavingsOpportunityPercentage(double value) { SetSavingsOpportunityPercentage(value); return *this;} + + + /** + *

An object that describes the estimated monthly savings possible by adopting + * Compute Optimizer’s Auto Scaling group recommendations. This is based on the + * Savings Plans and Reserved Instances pricing discounts.

+ */ + inline const AutoScalingGroupEstimatedMonthlySavings& GetEstimatedMonthlySavings() const{ return m_estimatedMonthlySavings; } + + /** + *

An object that describes the estimated monthly savings possible by adopting + * Compute Optimizer’s Auto Scaling group recommendations. This is based on the + * Savings Plans and Reserved Instances pricing discounts.

+ */ + inline bool EstimatedMonthlySavingsHasBeenSet() const { return m_estimatedMonthlySavingsHasBeenSet; } + + /** + *

An object that describes the estimated monthly savings possible by adopting + * Compute Optimizer’s Auto Scaling group recommendations. This is based on the + * Savings Plans and Reserved Instances pricing discounts.

+ */ + inline void SetEstimatedMonthlySavings(const AutoScalingGroupEstimatedMonthlySavings& value) { m_estimatedMonthlySavingsHasBeenSet = true; m_estimatedMonthlySavings = value; } + + /** + *

An object that describes the estimated monthly savings possible by adopting + * Compute Optimizer’s Auto Scaling group recommendations. This is based on the + * Savings Plans and Reserved Instances pricing discounts.

+ */ + inline void SetEstimatedMonthlySavings(AutoScalingGroupEstimatedMonthlySavings&& value) { m_estimatedMonthlySavingsHasBeenSet = true; m_estimatedMonthlySavings = std::move(value); } + + /** + *

An object that describes the estimated monthly savings possible by adopting + * Compute Optimizer’s Auto Scaling group recommendations. This is based on the + * Savings Plans and Reserved Instances pricing discounts.

+ */ + inline AutoScalingGroupSavingsOpportunityAfterDiscounts& WithEstimatedMonthlySavings(const AutoScalingGroupEstimatedMonthlySavings& value) { SetEstimatedMonthlySavings(value); return *this;} + + /** + *

An object that describes the estimated monthly savings possible by adopting + * Compute Optimizer’s Auto Scaling group recommendations. This is based on the + * Savings Plans and Reserved Instances pricing discounts.

+ */ + inline AutoScalingGroupSavingsOpportunityAfterDiscounts& WithEstimatedMonthlySavings(AutoScalingGroupEstimatedMonthlySavings&& value) { SetEstimatedMonthlySavings(std::move(value)); return *this;} + + private: + + double m_savingsOpportunityPercentage; + bool m_savingsOpportunityPercentageHasBeenSet = false; + + AutoScalingGroupEstimatedMonthlySavings m_estimatedMonthlySavings; + bool m_estimatedMonthlySavingsHasBeenSet = false; + }; + +} // namespace Model +} // namespace ComputeOptimizer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/CustomizableMetricHeadroom.h b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/CustomizableMetricHeadroom.h new file mode 100644 index 00000000000..60ddd820603 --- /dev/null +++ b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/CustomizableMetricHeadroom.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 ComputeOptimizer +{ +namespace Model +{ + enum class CustomizableMetricHeadroom + { + NOT_SET, + PERCENT_30, + PERCENT_20, + PERCENT_0 + }; + +namespace CustomizableMetricHeadroomMapper +{ +AWS_COMPUTEOPTIMIZER_API CustomizableMetricHeadroom GetCustomizableMetricHeadroomForName(const Aws::String& name); + +AWS_COMPUTEOPTIMIZER_API Aws::String GetNameForCustomizableMetricHeadroom(CustomizableMetricHeadroom value); +} // namespace CustomizableMetricHeadroomMapper +} // namespace Model +} // namespace ComputeOptimizer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/CustomizableMetricName.h b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/CustomizableMetricName.h new file mode 100644 index 00000000000..eea5c2fdd5a --- /dev/null +++ b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/CustomizableMetricName.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 ComputeOptimizer +{ +namespace Model +{ + enum class CustomizableMetricName + { + NOT_SET, + CpuUtilization + }; + +namespace CustomizableMetricNameMapper +{ +AWS_COMPUTEOPTIMIZER_API CustomizableMetricName GetCustomizableMetricNameForName(const Aws::String& name); + +AWS_COMPUTEOPTIMIZER_API Aws::String GetNameForCustomizableMetricName(CustomizableMetricName value); +} // namespace CustomizableMetricNameMapper +} // namespace Model +} // namespace ComputeOptimizer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/CustomizableMetricParameters.h b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/CustomizableMetricParameters.h new file mode 100644 index 00000000000..4e0355af14f --- /dev/null +++ b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/CustomizableMetricParameters.h @@ -0,0 +1,120 @@ +/** + * 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 ComputeOptimizer +{ +namespace Model +{ + + /** + *

Defines the various metric parameters that can be customized, such as + * threshold and headroom.

See Also:

AWS + * API Reference

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

The threshold value used for the specified metric parameter.

+ */ + inline const CustomizableMetricThreshold& GetThreshold() const{ return m_threshold; } + + /** + *

The threshold value used for the specified metric parameter.

+ */ + inline bool ThresholdHasBeenSet() const { return m_thresholdHasBeenSet; } + + /** + *

The threshold value used for the specified metric parameter.

+ */ + inline void SetThreshold(const CustomizableMetricThreshold& value) { m_thresholdHasBeenSet = true; m_threshold = value; } + + /** + *

The threshold value used for the specified metric parameter.

+ */ + inline void SetThreshold(CustomizableMetricThreshold&& value) { m_thresholdHasBeenSet = true; m_threshold = std::move(value); } + + /** + *

The threshold value used for the specified metric parameter.

+ */ + inline CustomizableMetricParameters& WithThreshold(const CustomizableMetricThreshold& value) { SetThreshold(value); return *this;} + + /** + *

The threshold value used for the specified metric parameter.

+ */ + inline CustomizableMetricParameters& WithThreshold(CustomizableMetricThreshold&& value) { SetThreshold(std::move(value)); return *this;} + + + /** + *

The headroom threshold value in percentage used for the specified metric + * parameter.

+ */ + inline const CustomizableMetricHeadroom& GetHeadroom() const{ return m_headroom; } + + /** + *

The headroom threshold value in percentage used for the specified metric + * parameter.

+ */ + inline bool HeadroomHasBeenSet() const { return m_headroomHasBeenSet; } + + /** + *

The headroom threshold value in percentage used for the specified metric + * parameter.

+ */ + inline void SetHeadroom(const CustomizableMetricHeadroom& value) { m_headroomHasBeenSet = true; m_headroom = value; } + + /** + *

The headroom threshold value in percentage used for the specified metric + * parameter.

+ */ + inline void SetHeadroom(CustomizableMetricHeadroom&& value) { m_headroomHasBeenSet = true; m_headroom = std::move(value); } + + /** + *

The headroom threshold value in percentage used for the specified metric + * parameter.

+ */ + inline CustomizableMetricParameters& WithHeadroom(const CustomizableMetricHeadroom& value) { SetHeadroom(value); return *this;} + + /** + *

The headroom threshold value in percentage used for the specified metric + * parameter.

+ */ + inline CustomizableMetricParameters& WithHeadroom(CustomizableMetricHeadroom&& value) { SetHeadroom(std::move(value)); return *this;} + + private: + + CustomizableMetricThreshold m_threshold; + bool m_thresholdHasBeenSet = false; + + CustomizableMetricHeadroom m_headroom; + bool m_headroomHasBeenSet = false; + }; + +} // namespace Model +} // namespace ComputeOptimizer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/CustomizableMetricThreshold.h b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/CustomizableMetricThreshold.h new file mode 100644 index 00000000000..c21fade9b61 --- /dev/null +++ b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/CustomizableMetricThreshold.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 ComputeOptimizer +{ +namespace Model +{ + enum class CustomizableMetricThreshold + { + NOT_SET, + P90, + P95, + P99_5 + }; + +namespace CustomizableMetricThresholdMapper +{ +AWS_COMPUTEOPTIMIZER_API CustomizableMetricThreshold GetCustomizableMetricThresholdForName(const Aws::String& name); + +AWS_COMPUTEOPTIMIZER_API Aws::String GetNameForCustomizableMetricThreshold(CustomizableMetricThreshold value); +} // namespace CustomizableMetricThresholdMapper +} // namespace Model +} // namespace ComputeOptimizer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/EBSEffectiveRecommendationPreferences.h b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/EBSEffectiveRecommendationPreferences.h new file mode 100644 index 00000000000..d0d25fa1826 --- /dev/null +++ b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/EBSEffectiveRecommendationPreferences.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 + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace ComputeOptimizer +{ +namespace Model +{ + + /** + *

Describes the effective recommendation preferences for Amazon EBS volumes. + *

See Also:

AWS + * API Reference

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

Describes the savings estimation mode preference applied for calculating + * savings opportunity for Amazon EBS volumes.

+ */ + inline const EBSSavingsEstimationMode& GetSavingsEstimationMode() const{ return m_savingsEstimationMode; } + + /** + *

Describes the savings estimation mode preference applied for calculating + * savings opportunity for Amazon EBS volumes.

+ */ + inline bool SavingsEstimationModeHasBeenSet() const { return m_savingsEstimationModeHasBeenSet; } + + /** + *

Describes the savings estimation mode preference applied for calculating + * savings opportunity for Amazon EBS volumes.

+ */ + inline void SetSavingsEstimationMode(const EBSSavingsEstimationMode& value) { m_savingsEstimationModeHasBeenSet = true; m_savingsEstimationMode = value; } + + /** + *

Describes the savings estimation mode preference applied for calculating + * savings opportunity for Amazon EBS volumes.

+ */ + inline void SetSavingsEstimationMode(EBSSavingsEstimationMode&& value) { m_savingsEstimationModeHasBeenSet = true; m_savingsEstimationMode = std::move(value); } + + /** + *

Describes the savings estimation mode preference applied for calculating + * savings opportunity for Amazon EBS volumes.

+ */ + inline EBSEffectiveRecommendationPreferences& WithSavingsEstimationMode(const EBSSavingsEstimationMode& value) { SetSavingsEstimationMode(value); return *this;} + + /** + *

Describes the savings estimation mode preference applied for calculating + * savings opportunity for Amazon EBS volumes.

+ */ + inline EBSEffectiveRecommendationPreferences& WithSavingsEstimationMode(EBSSavingsEstimationMode&& value) { SetSavingsEstimationMode(std::move(value)); return *this;} + + private: + + EBSSavingsEstimationMode m_savingsEstimationMode; + bool m_savingsEstimationModeHasBeenSet = false; + }; + +} // namespace Model +} // namespace ComputeOptimizer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/EBSEstimatedMonthlySavings.h b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/EBSEstimatedMonthlySavings.h new file mode 100644 index 00000000000..13da8648a70 --- /dev/null +++ b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/EBSEstimatedMonthlySavings.h @@ -0,0 +1,104 @@ +/** + * 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 ComputeOptimizer +{ +namespace Model +{ + + /** + *

An object that describes the estimated monthly savings possible by adopting + * Compute Optimizer’s Amazon EBS volume recommendations. This includes any + * applicable discounts.

See Also:

AWS + * API Reference

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

The currency of the estimated monthly savings.

+ */ + inline const Currency& GetCurrency() const{ return m_currency; } + + /** + *

The currency of the estimated monthly savings.

+ */ + inline bool CurrencyHasBeenSet() const { return m_currencyHasBeenSet; } + + /** + *

The currency of the estimated monthly savings.

+ */ + inline void SetCurrency(const Currency& value) { m_currencyHasBeenSet = true; m_currency = value; } + + /** + *

The currency of the estimated monthly savings.

+ */ + inline void SetCurrency(Currency&& value) { m_currencyHasBeenSet = true; m_currency = std::move(value); } + + /** + *

The currency of the estimated monthly savings.

+ */ + inline EBSEstimatedMonthlySavings& WithCurrency(const Currency& value) { SetCurrency(value); return *this;} + + /** + *

The currency of the estimated monthly savings.

+ */ + inline EBSEstimatedMonthlySavings& WithCurrency(Currency&& value) { SetCurrency(std::move(value)); return *this;} + + + /** + *

The value of the estimated monthly savings.

+ */ + inline double GetValue() const{ return m_value; } + + /** + *

The value of the estimated monthly savings.

+ */ + inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; } + + /** + *

The value of the estimated monthly savings.

+ */ + inline void SetValue(double value) { m_valueHasBeenSet = true; m_value = value; } + + /** + *

The value of the estimated monthly savings.

+ */ + inline EBSEstimatedMonthlySavings& WithValue(double value) { SetValue(value); return *this;} + + private: + + Currency m_currency; + bool m_currencyHasBeenSet = false; + + double m_value; + bool m_valueHasBeenSet = false; + }; + +} // namespace Model +} // namespace ComputeOptimizer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/EBSSavingsEstimationMode.h b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/EBSSavingsEstimationMode.h new file mode 100644 index 00000000000..2667b564355 --- /dev/null +++ b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/EBSSavingsEstimationMode.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 + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace ComputeOptimizer +{ +namespace Model +{ + + /** + *

Describes the savings estimation mode used for calculating savings + * opportunity for Amazon EBS volumes.

See Also:

AWS + * API Reference

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

Describes the source for calculating the savings opportunity for Amazon EBS + * volumes.

+ */ + inline const EBSSavingsEstimationModeSource& GetSource() const{ return m_source; } + + /** + *

Describes the source for calculating the savings opportunity for Amazon EBS + * volumes.

+ */ + inline bool SourceHasBeenSet() const { return m_sourceHasBeenSet; } + + /** + *

Describes the source for calculating the savings opportunity for Amazon EBS + * volumes.

+ */ + inline void SetSource(const EBSSavingsEstimationModeSource& value) { m_sourceHasBeenSet = true; m_source = value; } + + /** + *

Describes the source for calculating the savings opportunity for Amazon EBS + * volumes.

+ */ + inline void SetSource(EBSSavingsEstimationModeSource&& value) { m_sourceHasBeenSet = true; m_source = std::move(value); } + + /** + *

Describes the source for calculating the savings opportunity for Amazon EBS + * volumes.

+ */ + inline EBSSavingsEstimationMode& WithSource(const EBSSavingsEstimationModeSource& value) { SetSource(value); return *this;} + + /** + *

Describes the source for calculating the savings opportunity for Amazon EBS + * volumes.

+ */ + inline EBSSavingsEstimationMode& WithSource(EBSSavingsEstimationModeSource&& value) { SetSource(std::move(value)); return *this;} + + private: + + EBSSavingsEstimationModeSource m_source; + bool m_sourceHasBeenSet = false; + }; + +} // namespace Model +} // namespace ComputeOptimizer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/EBSSavingsEstimationModeSource.h b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/EBSSavingsEstimationModeSource.h new file mode 100644 index 00000000000..6d0c79acdbf --- /dev/null +++ b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/EBSSavingsEstimationModeSource.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 ComputeOptimizer +{ +namespace Model +{ + enum class EBSSavingsEstimationModeSource + { + NOT_SET, + PublicPricing, + CostExplorerRightsizing, + CostOptimizationHub + }; + +namespace EBSSavingsEstimationModeSourceMapper +{ +AWS_COMPUTEOPTIMIZER_API EBSSavingsEstimationModeSource GetEBSSavingsEstimationModeSourceForName(const Aws::String& name); + +AWS_COMPUTEOPTIMIZER_API Aws::String GetNameForEBSSavingsEstimationModeSource(EBSSavingsEstimationModeSource value); +} // namespace EBSSavingsEstimationModeSourceMapper +} // namespace Model +} // namespace ComputeOptimizer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/EBSSavingsOpportunityAfterDiscounts.h b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/EBSSavingsOpportunityAfterDiscounts.h new file mode 100644 index 00000000000..703f4b78d26 --- /dev/null +++ b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/EBSSavingsOpportunityAfterDiscounts.h @@ -0,0 +1,123 @@ +/** + * 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 ComputeOptimizer +{ +namespace Model +{ + + /** + *

Describes the savings opportunity for Amazon EBS volume recommendations + * after applying specific discounts.

See Also:

AWS + * API Reference

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

The estimated monthly savings possible as a percentage of monthly cost after + * applying the specific discounts. This saving can be achieved by adopting Compute + * Optimizer’s Amazon EBS volume recommendations.

+ */ + inline double GetSavingsOpportunityPercentage() const{ return m_savingsOpportunityPercentage; } + + /** + *

The estimated monthly savings possible as a percentage of monthly cost after + * applying the specific discounts. This saving can be achieved by adopting Compute + * Optimizer’s Amazon EBS volume recommendations.

+ */ + inline bool SavingsOpportunityPercentageHasBeenSet() const { return m_savingsOpportunityPercentageHasBeenSet; } + + /** + *

The estimated monthly savings possible as a percentage of monthly cost after + * applying the specific discounts. This saving can be achieved by adopting Compute + * Optimizer’s Amazon EBS volume recommendations.

+ */ + inline void SetSavingsOpportunityPercentage(double value) { m_savingsOpportunityPercentageHasBeenSet = true; m_savingsOpportunityPercentage = value; } + + /** + *

The estimated monthly savings possible as a percentage of monthly cost after + * applying the specific discounts. This saving can be achieved by adopting Compute + * Optimizer’s Amazon EBS volume recommendations.

+ */ + inline EBSSavingsOpportunityAfterDiscounts& WithSavingsOpportunityPercentage(double value) { SetSavingsOpportunityPercentage(value); return *this;} + + + /** + *

The estimated monthly savings possible as a percentage of monthly cost by + * adopting Compute Optimizer’s Amazon EBS volume recommendations. This saving + * includes any applicable discounts.

+ */ + inline const EBSEstimatedMonthlySavings& GetEstimatedMonthlySavings() const{ return m_estimatedMonthlySavings; } + + /** + *

The estimated monthly savings possible as a percentage of monthly cost by + * adopting Compute Optimizer’s Amazon EBS volume recommendations. This saving + * includes any applicable discounts.

+ */ + inline bool EstimatedMonthlySavingsHasBeenSet() const { return m_estimatedMonthlySavingsHasBeenSet; } + + /** + *

The estimated monthly savings possible as a percentage of monthly cost by + * adopting Compute Optimizer’s Amazon EBS volume recommendations. This saving + * includes any applicable discounts.

+ */ + inline void SetEstimatedMonthlySavings(const EBSEstimatedMonthlySavings& value) { m_estimatedMonthlySavingsHasBeenSet = true; m_estimatedMonthlySavings = value; } + + /** + *

The estimated monthly savings possible as a percentage of monthly cost by + * adopting Compute Optimizer’s Amazon EBS volume recommendations. This saving + * includes any applicable discounts.

+ */ + inline void SetEstimatedMonthlySavings(EBSEstimatedMonthlySavings&& value) { m_estimatedMonthlySavingsHasBeenSet = true; m_estimatedMonthlySavings = std::move(value); } + + /** + *

The estimated monthly savings possible as a percentage of monthly cost by + * adopting Compute Optimizer’s Amazon EBS volume recommendations. This saving + * includes any applicable discounts.

+ */ + inline EBSSavingsOpportunityAfterDiscounts& WithEstimatedMonthlySavings(const EBSEstimatedMonthlySavings& value) { SetEstimatedMonthlySavings(value); return *this;} + + /** + *

The estimated monthly savings possible as a percentage of monthly cost by + * adopting Compute Optimizer’s Amazon EBS volume recommendations. This saving + * includes any applicable discounts.

+ */ + inline EBSSavingsOpportunityAfterDiscounts& WithEstimatedMonthlySavings(EBSEstimatedMonthlySavings&& value) { SetEstimatedMonthlySavings(std::move(value)); return *this;} + + private: + + double m_savingsOpportunityPercentage; + bool m_savingsOpportunityPercentageHasBeenSet = false; + + EBSEstimatedMonthlySavings m_estimatedMonthlySavings; + bool m_estimatedMonthlySavingsHasBeenSet = false; + }; + +} // namespace Model +} // namespace ComputeOptimizer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/ECSEffectiveRecommendationPreferences.h b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/ECSEffectiveRecommendationPreferences.h new file mode 100644 index 00000000000..b70eeeb5d99 --- /dev/null +++ b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/ECSEffectiveRecommendationPreferences.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 + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace ComputeOptimizer +{ +namespace Model +{ + + /** + *

Describes the effective recommendation preferences for Amazon ECS services. + *

See Also:

AWS + * API Reference

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

Describes the savings estimation mode preference applied for calculating + * savings opportunity for Amazon ECS services.

+ */ + inline const ECSSavingsEstimationMode& GetSavingsEstimationMode() const{ return m_savingsEstimationMode; } + + /** + *

Describes the savings estimation mode preference applied for calculating + * savings opportunity for Amazon ECS services.

+ */ + inline bool SavingsEstimationModeHasBeenSet() const { return m_savingsEstimationModeHasBeenSet; } + + /** + *

Describes the savings estimation mode preference applied for calculating + * savings opportunity for Amazon ECS services.

+ */ + inline void SetSavingsEstimationMode(const ECSSavingsEstimationMode& value) { m_savingsEstimationModeHasBeenSet = true; m_savingsEstimationMode = value; } + + /** + *

Describes the savings estimation mode preference applied for calculating + * savings opportunity for Amazon ECS services.

+ */ + inline void SetSavingsEstimationMode(ECSSavingsEstimationMode&& value) { m_savingsEstimationModeHasBeenSet = true; m_savingsEstimationMode = std::move(value); } + + /** + *

Describes the savings estimation mode preference applied for calculating + * savings opportunity for Amazon ECS services.

+ */ + inline ECSEffectiveRecommendationPreferences& WithSavingsEstimationMode(const ECSSavingsEstimationMode& value) { SetSavingsEstimationMode(value); return *this;} + + /** + *

Describes the savings estimation mode preference applied for calculating + * savings opportunity for Amazon ECS services.

+ */ + inline ECSEffectiveRecommendationPreferences& WithSavingsEstimationMode(ECSSavingsEstimationMode&& value) { SetSavingsEstimationMode(std::move(value)); return *this;} + + private: + + ECSSavingsEstimationMode m_savingsEstimationMode; + bool m_savingsEstimationModeHasBeenSet = false; + }; + +} // namespace Model +} // namespace ComputeOptimizer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/ECSEstimatedMonthlySavings.h b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/ECSEstimatedMonthlySavings.h new file mode 100644 index 00000000000..ba13f92f642 --- /dev/null +++ b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/ECSEstimatedMonthlySavings.h @@ -0,0 +1,104 @@ +/** + * 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 ComputeOptimizer +{ +namespace Model +{ + + /** + *

Describes the estimated monthly savings possible for Amazon ECS services by + * adopting Compute Optimizer recommendations. This is based on Amazon ECS service + * pricing after applying Savings Plans discounts.

See Also:

AWS + * API Reference

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

The currency of the estimated monthly savings.

+ */ + inline const Currency& GetCurrency() const{ return m_currency; } + + /** + *

The currency of the estimated monthly savings.

+ */ + inline bool CurrencyHasBeenSet() const { return m_currencyHasBeenSet; } + + /** + *

The currency of the estimated monthly savings.

+ */ + inline void SetCurrency(const Currency& value) { m_currencyHasBeenSet = true; m_currency = value; } + + /** + *

The currency of the estimated monthly savings.

+ */ + inline void SetCurrency(Currency&& value) { m_currencyHasBeenSet = true; m_currency = std::move(value); } + + /** + *

The currency of the estimated monthly savings.

+ */ + inline ECSEstimatedMonthlySavings& WithCurrency(const Currency& value) { SetCurrency(value); return *this;} + + /** + *

The currency of the estimated monthly savings.

+ */ + inline ECSEstimatedMonthlySavings& WithCurrency(Currency&& value) { SetCurrency(std::move(value)); return *this;} + + + /** + *

The value of the estimated monthly savings for Amazon ECS services.

+ */ + inline double GetValue() const{ return m_value; } + + /** + *

The value of the estimated monthly savings for Amazon ECS services.

+ */ + inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; } + + /** + *

The value of the estimated monthly savings for Amazon ECS services.

+ */ + inline void SetValue(double value) { m_valueHasBeenSet = true; m_value = value; } + + /** + *

The value of the estimated monthly savings for Amazon ECS services.

+ */ + inline ECSEstimatedMonthlySavings& WithValue(double value) { SetValue(value); return *this;} + + private: + + Currency m_currency; + bool m_currencyHasBeenSet = false; + + double m_value; + bool m_valueHasBeenSet = false; + }; + +} // namespace Model +} // namespace ComputeOptimizer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/ECSSavingsEstimationMode.h b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/ECSSavingsEstimationMode.h new file mode 100644 index 00000000000..f720cc70410 --- /dev/null +++ b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/ECSSavingsEstimationMode.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 + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace ComputeOptimizer +{ +namespace Model +{ + + /** + *

Describes the savings estimation mode used for calculating savings + * opportunity for Amazon ECS services.

See Also:

AWS + * API Reference

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

Describes the source for calculating the savings opportunity for Amazon ECS + * services.

+ */ + inline const ECSSavingsEstimationModeSource& GetSource() const{ return m_source; } + + /** + *

Describes the source for calculating the savings opportunity for Amazon ECS + * services.

+ */ + inline bool SourceHasBeenSet() const { return m_sourceHasBeenSet; } + + /** + *

Describes the source for calculating the savings opportunity for Amazon ECS + * services.

+ */ + inline void SetSource(const ECSSavingsEstimationModeSource& value) { m_sourceHasBeenSet = true; m_source = value; } + + /** + *

Describes the source for calculating the savings opportunity for Amazon ECS + * services.

+ */ + inline void SetSource(ECSSavingsEstimationModeSource&& value) { m_sourceHasBeenSet = true; m_source = std::move(value); } + + /** + *

Describes the source for calculating the savings opportunity for Amazon ECS + * services.

+ */ + inline ECSSavingsEstimationMode& WithSource(const ECSSavingsEstimationModeSource& value) { SetSource(value); return *this;} + + /** + *

Describes the source for calculating the savings opportunity for Amazon ECS + * services.

+ */ + inline ECSSavingsEstimationMode& WithSource(ECSSavingsEstimationModeSource&& value) { SetSource(std::move(value)); return *this;} + + private: + + ECSSavingsEstimationModeSource m_source; + bool m_sourceHasBeenSet = false; + }; + +} // namespace Model +} // namespace ComputeOptimizer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/ECSSavingsEstimationModeSource.h b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/ECSSavingsEstimationModeSource.h new file mode 100644 index 00000000000..79ddf952c8b --- /dev/null +++ b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/ECSSavingsEstimationModeSource.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 ComputeOptimizer +{ +namespace Model +{ + enum class ECSSavingsEstimationModeSource + { + NOT_SET, + PublicPricing, + CostExplorerRightsizing, + CostOptimizationHub + }; + +namespace ECSSavingsEstimationModeSourceMapper +{ +AWS_COMPUTEOPTIMIZER_API ECSSavingsEstimationModeSource GetECSSavingsEstimationModeSourceForName(const Aws::String& name); + +AWS_COMPUTEOPTIMIZER_API Aws::String GetNameForECSSavingsEstimationModeSource(ECSSavingsEstimationModeSource value); +} // namespace ECSSavingsEstimationModeSourceMapper +} // namespace Model +} // namespace ComputeOptimizer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/ECSSavingsOpportunityAfterDiscounts.h b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/ECSSavingsOpportunityAfterDiscounts.h new file mode 100644 index 00000000000..33425640202 --- /dev/null +++ b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/ECSSavingsOpportunityAfterDiscounts.h @@ -0,0 +1,126 @@ +/** + * 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 ComputeOptimizer +{ +namespace Model +{ + + /** + *

Describes the savings opportunity for Amazon ECS service recommendations + * after applying Savings Plans discounts.

Savings opportunity represents + * the estimated monthly savings after applying Savings Plans discounts. You can + * achieve this by implementing a given Compute Optimizer + * recommendation.

See Also:

AWS + * API Reference

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

The estimated monthly savings possible as a percentage of monthly cost by + * adopting Compute Optimizer’s Amazon ECS service recommendations. This includes + * any applicable Savings Plans discounts.

+ */ + inline double GetSavingsOpportunityPercentage() const{ return m_savingsOpportunityPercentage; } + + /** + *

The estimated monthly savings possible as a percentage of monthly cost by + * adopting Compute Optimizer’s Amazon ECS service recommendations. This includes + * any applicable Savings Plans discounts.

+ */ + inline bool SavingsOpportunityPercentageHasBeenSet() const { return m_savingsOpportunityPercentageHasBeenSet; } + + /** + *

The estimated monthly savings possible as a percentage of monthly cost by + * adopting Compute Optimizer’s Amazon ECS service recommendations. This includes + * any applicable Savings Plans discounts.

+ */ + inline void SetSavingsOpportunityPercentage(double value) { m_savingsOpportunityPercentageHasBeenSet = true; m_savingsOpportunityPercentage = value; } + + /** + *

The estimated monthly savings possible as a percentage of monthly cost by + * adopting Compute Optimizer’s Amazon ECS service recommendations. This includes + * any applicable Savings Plans discounts.

+ */ + inline ECSSavingsOpportunityAfterDiscounts& WithSavingsOpportunityPercentage(double value) { SetSavingsOpportunityPercentage(value); return *this;} + + + /** + *

The estimated monthly savings possible by adopting Compute Optimizer’s + * Amazon ECS service recommendations. This includes any applicable Savings Plans + * discounts.

+ */ + inline const ECSEstimatedMonthlySavings& GetEstimatedMonthlySavings() const{ return m_estimatedMonthlySavings; } + + /** + *

The estimated monthly savings possible by adopting Compute Optimizer’s + * Amazon ECS service recommendations. This includes any applicable Savings Plans + * discounts.

+ */ + inline bool EstimatedMonthlySavingsHasBeenSet() const { return m_estimatedMonthlySavingsHasBeenSet; } + + /** + *

The estimated monthly savings possible by adopting Compute Optimizer’s + * Amazon ECS service recommendations. This includes any applicable Savings Plans + * discounts.

+ */ + inline void SetEstimatedMonthlySavings(const ECSEstimatedMonthlySavings& value) { m_estimatedMonthlySavingsHasBeenSet = true; m_estimatedMonthlySavings = value; } + + /** + *

The estimated monthly savings possible by adopting Compute Optimizer’s + * Amazon ECS service recommendations. This includes any applicable Savings Plans + * discounts.

+ */ + inline void SetEstimatedMonthlySavings(ECSEstimatedMonthlySavings&& value) { m_estimatedMonthlySavingsHasBeenSet = true; m_estimatedMonthlySavings = std::move(value); } + + /** + *

The estimated monthly savings possible by adopting Compute Optimizer’s + * Amazon ECS service recommendations. This includes any applicable Savings Plans + * discounts.

+ */ + inline ECSSavingsOpportunityAfterDiscounts& WithEstimatedMonthlySavings(const ECSEstimatedMonthlySavings& value) { SetEstimatedMonthlySavings(value); return *this;} + + /** + *

The estimated monthly savings possible by adopting Compute Optimizer’s + * Amazon ECS service recommendations. This includes any applicable Savings Plans + * discounts.

+ */ + inline ECSSavingsOpportunityAfterDiscounts& WithEstimatedMonthlySavings(ECSEstimatedMonthlySavings&& value) { SetEstimatedMonthlySavings(std::move(value)); return *this;} + + private: + + double m_savingsOpportunityPercentage; + bool m_savingsOpportunityPercentageHasBeenSet = false; + + ECSEstimatedMonthlySavings m_estimatedMonthlySavings; + bool m_estimatedMonthlySavingsHasBeenSet = false; + }; + +} // namespace Model +} // namespace ComputeOptimizer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/ECSServiceRecommendation.h b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/ECSServiceRecommendation.h index 6c766eaf4ea..7d90caf9188 100644 --- a/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/ECSServiceRecommendation.h +++ b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/ECSServiceRecommendation.h @@ -12,6 +12,7 @@ #include #include #include +#include #include #include #include @@ -342,7 +343,7 @@ namespace Model * Overprovisioned — When Compute Optimizer detects that there’s * excessive memory or CPU, an Amazon ECS service is considered over-provisioned. * An over-provisioned service might result in additional infrastructure costs. - *

  • Optimized — When both the CPU and + *

  • Optimized �� When both the CPU and * memory of your Amazon ECS service meet the performance requirements of your * workload, the service is considered optimized.

  • */ @@ -357,7 +358,7 @@ namespace Model * Overprovisioned — When Compute Optimizer detects that there’s * excessive memory or CPU, an Amazon ECS service is considered over-provisioned. * An over-provisioned service might result in additional infrastructure costs. - *

  • Optimized — When both the CPU and + *

  • Optimized �� When both the CPU and * memory of your Amazon ECS service meet the performance requirements of your * workload, the service is considered optimized.

  • */ @@ -372,7 +373,7 @@ namespace Model * Overprovisioned — When Compute Optimizer detects that there’s * excessive memory or CPU, an Amazon ECS service is considered over-provisioned. * An over-provisioned service might result in additional infrastructure costs. - *

  • Optimized — When both the CPU and + *

  • Optimized �� When both the CPU and * memory of your Amazon ECS service meet the performance requirements of your * workload, the service is considered optimized.

  • */ @@ -387,7 +388,7 @@ namespace Model * Overprovisioned — When Compute Optimizer detects that there’s * excessive memory or CPU, an Amazon ECS service is considered over-provisioned. * An over-provisioned service might result in additional infrastructure costs. - *

  • Optimized — When both the CPU and + *

  • Optimized �� When both the CPU and * memory of your Amazon ECS service meet the performance requirements of your * workload, the service is considered optimized.

  • */ @@ -402,7 +403,7 @@ namespace Model * Overprovisioned — When Compute Optimizer detects that there’s * excessive memory or CPU, an Amazon ECS service is considered over-provisioned. * An over-provisioned service might result in additional infrastructure costs. - *

  • Optimized — When both the CPU and + *

  • Optimized �� When both the CPU and * memory of your Amazon ECS service meet the performance requirements of your * workload, the service is considered optimized.

  • */ @@ -417,7 +418,7 @@ namespace Model * Overprovisioned — When Compute Optimizer detects that there’s * excessive memory or CPU, an Amazon ECS service is considered over-provisioned. * An over-provisioned service might result in additional infrastructure costs. - *

  • Optimized — When both the CPU and + *

  • Optimized �� When both the CPU and * memory of your Amazon ECS service meet the performance requirements of your * workload, the service is considered optimized.

  • */ @@ -725,6 +726,43 @@ namespace Model */ inline ECSServiceRecommendation& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } + + /** + *

    Describes the effective recommendation preferences for Amazon ECS services. + *

    + */ + inline const ECSEffectiveRecommendationPreferences& GetEffectiveRecommendationPreferences() const{ return m_effectiveRecommendationPreferences; } + + /** + *

    Describes the effective recommendation preferences for Amazon ECS services. + *

    + */ + inline bool EffectiveRecommendationPreferencesHasBeenSet() const { return m_effectiveRecommendationPreferencesHasBeenSet; } + + /** + *

    Describes the effective recommendation preferences for Amazon ECS services. + *

    + */ + inline void SetEffectiveRecommendationPreferences(const ECSEffectiveRecommendationPreferences& value) { m_effectiveRecommendationPreferencesHasBeenSet = true; m_effectiveRecommendationPreferences = value; } + + /** + *

    Describes the effective recommendation preferences for Amazon ECS services. + *

    + */ + inline void SetEffectiveRecommendationPreferences(ECSEffectiveRecommendationPreferences&& value) { m_effectiveRecommendationPreferencesHasBeenSet = true; m_effectiveRecommendationPreferences = std::move(value); } + + /** + *

    Describes the effective recommendation preferences for Amazon ECS services. + *

    + */ + inline ECSServiceRecommendation& WithEffectiveRecommendationPreferences(const ECSEffectiveRecommendationPreferences& value) { SetEffectiveRecommendationPreferences(value); return *this;} + + /** + *

    Describes the effective recommendation preferences for Amazon ECS services. + *

    + */ + inline ECSServiceRecommendation& WithEffectiveRecommendationPreferences(ECSEffectiveRecommendationPreferences&& value) { SetEffectiveRecommendationPreferences(std::move(value)); return *this;} + private: Aws::String m_serviceArn; @@ -762,6 +800,9 @@ namespace Model Aws::Vector m_tags; bool m_tagsHasBeenSet = false; + + ECSEffectiveRecommendationPreferences m_effectiveRecommendationPreferences; + bool m_effectiveRecommendationPreferencesHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/ECSServiceRecommendationOption.h b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/ECSServiceRecommendationOption.h index 0393f9c7933..a8b53084572 100644 --- a/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/ECSServiceRecommendationOption.h +++ b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/ECSServiceRecommendationOption.h @@ -7,6 +7,7 @@ #include #include #include +#include #include #include #include @@ -199,6 +200,55 @@ namespace Model */ inline ECSServiceRecommendationOption& AddContainerRecommendations(ContainerRecommendation&& value) { m_containerRecommendationsHasBeenSet = true; m_containerRecommendations.push_back(std::move(value)); return *this; } + + /** + *

    Describes the savings opportunity for Amazon ECS service recommendations or + * for the recommendation option.

    Savings opportunity represents the + * estimated monthly savings after applying Savings Plans discounts. You can + * achieve this by implementing a given Compute Optimizer recommendation.

    + */ + inline const ECSSavingsOpportunityAfterDiscounts& GetSavingsOpportunityAfterDiscounts() const{ return m_savingsOpportunityAfterDiscounts; } + + /** + *

    Describes the savings opportunity for Amazon ECS service recommendations or + * for the recommendation option.

    Savings opportunity represents the + * estimated monthly savings after applying Savings Plans discounts. You can + * achieve this by implementing a given Compute Optimizer recommendation.

    + */ + inline bool SavingsOpportunityAfterDiscountsHasBeenSet() const { return m_savingsOpportunityAfterDiscountsHasBeenSet; } + + /** + *

    Describes the savings opportunity for Amazon ECS service recommendations or + * for the recommendation option.

    Savings opportunity represents the + * estimated monthly savings after applying Savings Plans discounts. You can + * achieve this by implementing a given Compute Optimizer recommendation.

    + */ + inline void SetSavingsOpportunityAfterDiscounts(const ECSSavingsOpportunityAfterDiscounts& value) { m_savingsOpportunityAfterDiscountsHasBeenSet = true; m_savingsOpportunityAfterDiscounts = value; } + + /** + *

    Describes the savings opportunity for Amazon ECS service recommendations or + * for the recommendation option.

    Savings opportunity represents the + * estimated monthly savings after applying Savings Plans discounts. You can + * achieve this by implementing a given Compute Optimizer recommendation.

    + */ + inline void SetSavingsOpportunityAfterDiscounts(ECSSavingsOpportunityAfterDiscounts&& value) { m_savingsOpportunityAfterDiscountsHasBeenSet = true; m_savingsOpportunityAfterDiscounts = std::move(value); } + + /** + *

    Describes the savings opportunity for Amazon ECS service recommendations or + * for the recommendation option.

    Savings opportunity represents the + * estimated monthly savings after applying Savings Plans discounts. You can + * achieve this by implementing a given Compute Optimizer recommendation.

    + */ + inline ECSServiceRecommendationOption& WithSavingsOpportunityAfterDiscounts(const ECSSavingsOpportunityAfterDiscounts& value) { SetSavingsOpportunityAfterDiscounts(value); return *this;} + + /** + *

    Describes the savings opportunity for Amazon ECS service recommendations or + * for the recommendation option.

    Savings opportunity represents the + * estimated monthly savings after applying Savings Plans discounts. You can + * achieve this by implementing a given Compute Optimizer recommendation.

    + */ + inline ECSServiceRecommendationOption& WithSavingsOpportunityAfterDiscounts(ECSSavingsOpportunityAfterDiscounts&& value) { SetSavingsOpportunityAfterDiscounts(std::move(value)); return *this;} + private: int m_memory; @@ -215,6 +265,9 @@ namespace Model Aws::Vector m_containerRecommendations; bool m_containerRecommendationsHasBeenSet = false; + + ECSSavingsOpportunityAfterDiscounts m_savingsOpportunityAfterDiscounts; + bool m_savingsOpportunityAfterDiscountsHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/EffectivePreferredResource.h b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/EffectivePreferredResource.h new file mode 100644 index 00000000000..859a19bec11 --- /dev/null +++ b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/EffectivePreferredResource.h @@ -0,0 +1,247 @@ +/** + * 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 ComputeOptimizer +{ +namespace Model +{ + + /** + *

    Describes the effective preferred resources that Compute Optimizer considers + * as rightsizing recommendation candidates.

    Compute Optimizer only + * supports Amazon EC2 instance types.

    See Also:

    AWS + * API Reference

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

    The name of the preferred resource list.

    + */ + inline const PreferredResourceName& GetName() const{ return m_name; } + + /** + *

    The name of the preferred resource list.

    + */ + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + + /** + *

    The name of the preferred resource list.

    + */ + inline void SetName(const PreferredResourceName& value) { m_nameHasBeenSet = true; m_name = value; } + + /** + *

    The name of the preferred resource list.

    + */ + inline void SetName(PreferredResourceName&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + + /** + *

    The name of the preferred resource list.

    + */ + inline EffectivePreferredResource& WithName(const PreferredResourceName& value) { SetName(value); return *this;} + + /** + *

    The name of the preferred resource list.

    + */ + inline EffectivePreferredResource& WithName(PreferredResourceName&& value) { SetName(std::move(value)); return *this;} + + + /** + *

    The list of preferred resource values that you want considered as + * rightsizing recommendation candidates.

    + */ + inline const Aws::Vector& GetIncludeList() const{ return m_includeList; } + + /** + *

    The list of preferred resource values that you want considered as + * rightsizing recommendation candidates.

    + */ + inline bool IncludeListHasBeenSet() const { return m_includeListHasBeenSet; } + + /** + *

    The list of preferred resource values that you want considered as + * rightsizing recommendation candidates.

    + */ + inline void SetIncludeList(const Aws::Vector& value) { m_includeListHasBeenSet = true; m_includeList = value; } + + /** + *

    The list of preferred resource values that you want considered as + * rightsizing recommendation candidates.

    + */ + inline void SetIncludeList(Aws::Vector&& value) { m_includeListHasBeenSet = true; m_includeList = std::move(value); } + + /** + *

    The list of preferred resource values that you want considered as + * rightsizing recommendation candidates.

    + */ + inline EffectivePreferredResource& WithIncludeList(const Aws::Vector& value) { SetIncludeList(value); return *this;} + + /** + *

    The list of preferred resource values that you want considered as + * rightsizing recommendation candidates.

    + */ + inline EffectivePreferredResource& WithIncludeList(Aws::Vector&& value) { SetIncludeList(std::move(value)); return *this;} + + /** + *

    The list of preferred resource values that you want considered as + * rightsizing recommendation candidates.

    + */ + inline EffectivePreferredResource& AddIncludeList(const Aws::String& value) { m_includeListHasBeenSet = true; m_includeList.push_back(value); return *this; } + + /** + *

    The list of preferred resource values that you want considered as + * rightsizing recommendation candidates.

    + */ + inline EffectivePreferredResource& AddIncludeList(Aws::String&& value) { m_includeListHasBeenSet = true; m_includeList.push_back(std::move(value)); return *this; } + + /** + *

    The list of preferred resource values that you want considered as + * rightsizing recommendation candidates.

    + */ + inline EffectivePreferredResource& AddIncludeList(const char* value) { m_includeListHasBeenSet = true; m_includeList.push_back(value); return *this; } + + + /** + *

    The expanded version of your preferred resource's include list.

    + */ + inline const Aws::Vector& GetEffectiveIncludeList() const{ return m_effectiveIncludeList; } + + /** + *

    The expanded version of your preferred resource's include list.

    + */ + inline bool EffectiveIncludeListHasBeenSet() const { return m_effectiveIncludeListHasBeenSet; } + + /** + *

    The expanded version of your preferred resource's include list.

    + */ + inline void SetEffectiveIncludeList(const Aws::Vector& value) { m_effectiveIncludeListHasBeenSet = true; m_effectiveIncludeList = value; } + + /** + *

    The expanded version of your preferred resource's include list.

    + */ + inline void SetEffectiveIncludeList(Aws::Vector&& value) { m_effectiveIncludeListHasBeenSet = true; m_effectiveIncludeList = std::move(value); } + + /** + *

    The expanded version of your preferred resource's include list.

    + */ + inline EffectivePreferredResource& WithEffectiveIncludeList(const Aws::Vector& value) { SetEffectiveIncludeList(value); return *this;} + + /** + *

    The expanded version of your preferred resource's include list.

    + */ + inline EffectivePreferredResource& WithEffectiveIncludeList(Aws::Vector&& value) { SetEffectiveIncludeList(std::move(value)); return *this;} + + /** + *

    The expanded version of your preferred resource's include list.

    + */ + inline EffectivePreferredResource& AddEffectiveIncludeList(const Aws::String& value) { m_effectiveIncludeListHasBeenSet = true; m_effectiveIncludeList.push_back(value); return *this; } + + /** + *

    The expanded version of your preferred resource's include list.

    + */ + inline EffectivePreferredResource& AddEffectiveIncludeList(Aws::String&& value) { m_effectiveIncludeListHasBeenSet = true; m_effectiveIncludeList.push_back(std::move(value)); return *this; } + + /** + *

    The expanded version of your preferred resource's include list.

    + */ + inline EffectivePreferredResource& AddEffectiveIncludeList(const char* value) { m_effectiveIncludeListHasBeenSet = true; m_effectiveIncludeList.push_back(value); return *this; } + + + /** + *

    The list of preferred resources values that you want excluded from + * rightsizing recommendation candidates.

    + */ + inline const Aws::Vector& GetExcludeList() const{ return m_excludeList; } + + /** + *

    The list of preferred resources values that you want excluded from + * rightsizing recommendation candidates.

    + */ + inline bool ExcludeListHasBeenSet() const { return m_excludeListHasBeenSet; } + + /** + *

    The list of preferred resources values that you want excluded from + * rightsizing recommendation candidates.

    + */ + inline void SetExcludeList(const Aws::Vector& value) { m_excludeListHasBeenSet = true; m_excludeList = value; } + + /** + *

    The list of preferred resources values that you want excluded from + * rightsizing recommendation candidates.

    + */ + inline void SetExcludeList(Aws::Vector&& value) { m_excludeListHasBeenSet = true; m_excludeList = std::move(value); } + + /** + *

    The list of preferred resources values that you want excluded from + * rightsizing recommendation candidates.

    + */ + inline EffectivePreferredResource& WithExcludeList(const Aws::Vector& value) { SetExcludeList(value); return *this;} + + /** + *

    The list of preferred resources values that you want excluded from + * rightsizing recommendation candidates.

    + */ + inline EffectivePreferredResource& WithExcludeList(Aws::Vector&& value) { SetExcludeList(std::move(value)); return *this;} + + /** + *

    The list of preferred resources values that you want excluded from + * rightsizing recommendation candidates.

    + */ + inline EffectivePreferredResource& AddExcludeList(const Aws::String& value) { m_excludeListHasBeenSet = true; m_excludeList.push_back(value); return *this; } + + /** + *

    The list of preferred resources values that you want excluded from + * rightsizing recommendation candidates.

    + */ + inline EffectivePreferredResource& AddExcludeList(Aws::String&& value) { m_excludeListHasBeenSet = true; m_excludeList.push_back(std::move(value)); return *this; } + + /** + *

    The list of preferred resources values that you want excluded from + * rightsizing recommendation candidates.

    + */ + inline EffectivePreferredResource& AddExcludeList(const char* value) { m_excludeListHasBeenSet = true; m_excludeList.push_back(value); return *this; } + + private: + + PreferredResourceName m_name; + bool m_nameHasBeenSet = false; + + Aws::Vector m_includeList; + bool m_includeListHasBeenSet = false; + + Aws::Vector m_effectiveIncludeList; + bool m_effectiveIncludeListHasBeenSet = false; + + Aws::Vector m_excludeList; + bool m_excludeListHasBeenSet = false; + }; + +} // namespace Model +} // namespace ComputeOptimizer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/EffectiveRecommendationPreferences.h b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/EffectiveRecommendationPreferences.h index 3a72e3104ad..8dd5b634511 100644 --- a/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/EffectiveRecommendationPreferences.h +++ b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/EffectiveRecommendationPreferences.h @@ -9,7 +9,11 @@ #include #include #include +#include +#include #include +#include +#include #include namespace Aws @@ -341,6 +345,194 @@ namespace Model */ inline EffectiveRecommendationPreferences& WithExternalMetricsPreference(ExternalMetricsPreference&& value) { SetExternalMetricsPreference(std::move(value)); return *this;} + + /** + *

    The number of days the utilization metrics of the Amazon Web Services + * resource are analyzed.

    + */ + inline const LookBackPeriodPreference& GetLookBackPeriod() const{ return m_lookBackPeriod; } + + /** + *

    The number of days the utilization metrics of the Amazon Web Services + * resource are analyzed.

    + */ + inline bool LookBackPeriodHasBeenSet() const { return m_lookBackPeriodHasBeenSet; } + + /** + *

    The number of days the utilization metrics of the Amazon Web Services + * resource are analyzed.

    + */ + inline void SetLookBackPeriod(const LookBackPeriodPreference& value) { m_lookBackPeriodHasBeenSet = true; m_lookBackPeriod = value; } + + /** + *

    The number of days the utilization metrics of the Amazon Web Services + * resource are analyzed.

    + */ + inline void SetLookBackPeriod(LookBackPeriodPreference&& value) { m_lookBackPeriodHasBeenSet = true; m_lookBackPeriod = std::move(value); } + + /** + *

    The number of days the utilization metrics of the Amazon Web Services + * resource are analyzed.

    + */ + inline EffectiveRecommendationPreferences& WithLookBackPeriod(const LookBackPeriodPreference& value) { SetLookBackPeriod(value); return *this;} + + /** + *

    The number of days the utilization metrics of the Amazon Web Services + * resource are analyzed.

    + */ + inline EffectiveRecommendationPreferences& WithLookBackPeriod(LookBackPeriodPreference&& value) { SetLookBackPeriod(std::move(value)); return *this;} + + + /** + *

    The resource’s CPU utilization threshold preferences, such as threshold and + * headroom, that are used to generate rightsizing recommendations.

    + *

    This preference is only available for the Amazon EC2 instance resource + * type.

    + */ + inline const Aws::Vector& GetUtilizationPreferences() const{ return m_utilizationPreferences; } + + /** + *

    The resource’s CPU utilization threshold preferences, such as threshold and + * headroom, that are used to generate rightsizing recommendations.

    + *

    This preference is only available for the Amazon EC2 instance resource + * type.

    + */ + inline bool UtilizationPreferencesHasBeenSet() const { return m_utilizationPreferencesHasBeenSet; } + + /** + *

    The resource’s CPU utilization threshold preferences, such as threshold and + * headroom, that are used to generate rightsizing recommendations.

    + *

    This preference is only available for the Amazon EC2 instance resource + * type.

    + */ + inline void SetUtilizationPreferences(const Aws::Vector& value) { m_utilizationPreferencesHasBeenSet = true; m_utilizationPreferences = value; } + + /** + *

    The resource’s CPU utilization threshold preferences, such as threshold and + * headroom, that are used to generate rightsizing recommendations.

    + *

    This preference is only available for the Amazon EC2 instance resource + * type.

    + */ + inline void SetUtilizationPreferences(Aws::Vector&& value) { m_utilizationPreferencesHasBeenSet = true; m_utilizationPreferences = std::move(value); } + + /** + *

    The resource’s CPU utilization threshold preferences, such as threshold and + * headroom, that are used to generate rightsizing recommendations.

    + *

    This preference is only available for the Amazon EC2 instance resource + * type.

    + */ + inline EffectiveRecommendationPreferences& WithUtilizationPreferences(const Aws::Vector& value) { SetUtilizationPreferences(value); return *this;} + + /** + *

    The resource’s CPU utilization threshold preferences, such as threshold and + * headroom, that are used to generate rightsizing recommendations.

    + *

    This preference is only available for the Amazon EC2 instance resource + * type.

    + */ + inline EffectiveRecommendationPreferences& WithUtilizationPreferences(Aws::Vector&& value) { SetUtilizationPreferences(std::move(value)); return *this;} + + /** + *

    The resource’s CPU utilization threshold preferences, such as threshold and + * headroom, that are used to generate rightsizing recommendations.

    + *

    This preference is only available for the Amazon EC2 instance resource + * type.

    + */ + inline EffectiveRecommendationPreferences& AddUtilizationPreferences(const UtilizationPreference& value) { m_utilizationPreferencesHasBeenSet = true; m_utilizationPreferences.push_back(value); return *this; } + + /** + *

    The resource’s CPU utilization threshold preferences, such as threshold and + * headroom, that are used to generate rightsizing recommendations.

    + *

    This preference is only available for the Amazon EC2 instance resource + * type.

    + */ + inline EffectiveRecommendationPreferences& AddUtilizationPreferences(UtilizationPreference&& value) { m_utilizationPreferencesHasBeenSet = true; m_utilizationPreferences.push_back(std::move(value)); return *this; } + + + /** + *

    The resource type values that are considered as candidates when generating + * rightsizing recommendations.

    + */ + inline const Aws::Vector& GetPreferredResources() const{ return m_preferredResources; } + + /** + *

    The resource type values that are considered as candidates when generating + * rightsizing recommendations.

    + */ + inline bool PreferredResourcesHasBeenSet() const { return m_preferredResourcesHasBeenSet; } + + /** + *

    The resource type values that are considered as candidates when generating + * rightsizing recommendations.

    + */ + inline void SetPreferredResources(const Aws::Vector& value) { m_preferredResourcesHasBeenSet = true; m_preferredResources = value; } + + /** + *

    The resource type values that are considered as candidates when generating + * rightsizing recommendations.

    + */ + inline void SetPreferredResources(Aws::Vector&& value) { m_preferredResourcesHasBeenSet = true; m_preferredResources = std::move(value); } + + /** + *

    The resource type values that are considered as candidates when generating + * rightsizing recommendations.

    + */ + inline EffectiveRecommendationPreferences& WithPreferredResources(const Aws::Vector& value) { SetPreferredResources(value); return *this;} + + /** + *

    The resource type values that are considered as candidates when generating + * rightsizing recommendations.

    + */ + inline EffectiveRecommendationPreferences& WithPreferredResources(Aws::Vector&& value) { SetPreferredResources(std::move(value)); return *this;} + + /** + *

    The resource type values that are considered as candidates when generating + * rightsizing recommendations.

    + */ + inline EffectiveRecommendationPreferences& AddPreferredResources(const EffectivePreferredResource& value) { m_preferredResourcesHasBeenSet = true; m_preferredResources.push_back(value); return *this; } + + /** + *

    The resource type values that are considered as candidates when generating + * rightsizing recommendations.

    + */ + inline EffectiveRecommendationPreferences& AddPreferredResources(EffectivePreferredResource&& value) { m_preferredResourcesHasBeenSet = true; m_preferredResources.push_back(std::move(value)); return *this; } + + + /** + *

    Describes the savings estimation mode applied for calculating savings + * opportunity for a resource.

    + */ + inline const InstanceSavingsEstimationMode& GetSavingsEstimationMode() const{ return m_savingsEstimationMode; } + + /** + *

    Describes the savings estimation mode applied for calculating savings + * opportunity for a resource.

    + */ + inline bool SavingsEstimationModeHasBeenSet() const { return m_savingsEstimationModeHasBeenSet; } + + /** + *

    Describes the savings estimation mode applied for calculating savings + * opportunity for a resource.

    + */ + inline void SetSavingsEstimationMode(const InstanceSavingsEstimationMode& value) { m_savingsEstimationModeHasBeenSet = true; m_savingsEstimationMode = value; } + + /** + *

    Describes the savings estimation mode applied for calculating savings + * opportunity for a resource.

    + */ + inline void SetSavingsEstimationMode(InstanceSavingsEstimationMode&& value) { m_savingsEstimationModeHasBeenSet = true; m_savingsEstimationMode = std::move(value); } + + /** + *

    Describes the savings estimation mode applied for calculating savings + * opportunity for a resource.

    + */ + inline EffectiveRecommendationPreferences& WithSavingsEstimationMode(const InstanceSavingsEstimationMode& value) { SetSavingsEstimationMode(value); return *this;} + + /** + *

    Describes the savings estimation mode applied for calculating savings + * opportunity for a resource.

    + */ + inline EffectiveRecommendationPreferences& WithSavingsEstimationMode(InstanceSavingsEstimationMode&& value) { SetSavingsEstimationMode(std::move(value)); return *this;} + private: Aws::Vector m_cpuVendorArchitectures; @@ -354,6 +546,18 @@ namespace Model ExternalMetricsPreference m_externalMetricsPreference; bool m_externalMetricsPreferenceHasBeenSet = false; + + LookBackPeriodPreference m_lookBackPeriod; + bool m_lookBackPeriodHasBeenSet = false; + + Aws::Vector m_utilizationPreferences; + bool m_utilizationPreferencesHasBeenSet = false; + + Aws::Vector m_preferredResources; + bool m_preferredResourcesHasBeenSet = false; + + InstanceSavingsEstimationMode m_savingsEstimationMode; + bool m_savingsEstimationModeHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/ExportableAutoScalingGroupField.h b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/ExportableAutoScalingGroupField.h index eb88ee6aecd..48453771afc 100644 --- a/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/ExportableAutoScalingGroupField.h +++ b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/ExportableAutoScalingGroupField.h @@ -75,7 +75,13 @@ namespace Model UtilizationMetricsGpuPercentageMaximum, UtilizationMetricsGpuMemoryPercentageMaximum, RecommendationOptionsProjectedUtilizationMetricsGpuPercentageMaximum, - RecommendationOptionsProjectedUtilizationMetricsGpuMemoryPercentageMaximum + RecommendationOptionsProjectedUtilizationMetricsGpuMemoryPercentageMaximum, + EffectiveRecommendationPreferencesSavingsEstimationMode, + RecommendationOptionsSavingsOpportunityAfterDiscountsPercentage, + RecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts, + RecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts, + EffectiveRecommendationPreferencesPreferredResources, + EffectiveRecommendationPreferencesLookBackPeriod }; namespace ExportableAutoScalingGroupFieldMapper diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/ExportableECSServiceField.h b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/ExportableECSServiceField.h index d5be15f7c9e..3220d80dfd5 100644 --- a/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/ExportableECSServiceField.h +++ b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/ExportableECSServiceField.h @@ -39,7 +39,11 @@ namespace Model RecommendationOptionsContainerRecommendations, RecommendationOptionsProjectedUtilizationMetricsCpuMaximum, RecommendationOptionsProjectedUtilizationMetricsMemoryMaximum, - Tags + Tags, + EffectiveRecommendationPreferencesSavingsEstimationMode, + RecommendationOptionsSavingsOpportunityAfterDiscountsPercentage, + RecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts, + RecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts }; namespace ExportableECSServiceFieldMapper diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/ExportableInstanceField.h b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/ExportableInstanceField.h index 58dd81b1fd1..c75b79d1c2f 100644 --- a/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/ExportableInstanceField.h +++ b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/ExportableInstanceField.h @@ -79,7 +79,14 @@ namespace Model UtilizationMetricsGpuMemoryPercentageMaximum, RecommendationOptionsProjectedUtilizationMetricsGpuPercentageMaximum, RecommendationOptionsProjectedUtilizationMetricsGpuMemoryPercentageMaximum, - Idle + Idle, + EffectiveRecommendationPreferencesPreferredResources, + EffectiveRecommendationPreferencesLookBackPeriod, + EffectiveRecommendationPreferencesUtilizationPreferences, + EffectiveRecommendationPreferencesSavingsEstimationMode, + RecommendationOptionsSavingsOpportunityAfterDiscountsPercentage, + RecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts, + RecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts }; namespace ExportableInstanceFieldMapper diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/ExportableLambdaFunctionField.h b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/ExportableLambdaFunctionField.h index 3347258232b..d9954382f35 100644 --- a/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/ExportableLambdaFunctionField.h +++ b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/ExportableLambdaFunctionField.h @@ -42,7 +42,11 @@ namespace Model RecommendationOptionsSavingsOpportunityPercentage, RecommendationOptionsEstimatedMonthlySavingsCurrency, RecommendationOptionsEstimatedMonthlySavingsValue, - Tags + Tags, + EffectiveRecommendationPreferencesSavingsEstimationMode, + RecommendationOptionsSavingsOpportunityAfterDiscountsPercentage, + RecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts, + RecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts }; namespace ExportableLambdaFunctionFieldMapper diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/ExportableVolumeField.h b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/ExportableVolumeField.h index c88840b95a9..6f665cbf96e 100644 --- a/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/ExportableVolumeField.h +++ b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/ExportableVolumeField.h @@ -46,7 +46,11 @@ namespace Model RecommendationOptionsEstimatedMonthlySavingsValue, RootVolume, Tags, - CurrentConfigurationRootVolume + CurrentConfigurationRootVolume, + EffectiveRecommendationPreferencesSavingsEstimationMode, + RecommendationOptionsSavingsOpportunityAfterDiscountsPercentage, + RecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts, + RecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts }; namespace ExportableVolumeFieldMapper diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/GetEffectiveRecommendationPreferencesResult.h b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/GetEffectiveRecommendationPreferencesResult.h index 2b665e53d98..51ea20c01bb 100644 --- a/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/GetEffectiveRecommendationPreferencesResult.h +++ b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/GetEffectiveRecommendationPreferencesResult.h @@ -7,7 +7,11 @@ #include #include #include +#include +#include #include +#include +#include #include namespace Aws @@ -201,6 +205,215 @@ namespace Model inline GetEffectiveRecommendationPreferencesResult& WithExternalMetricsPreference(ExternalMetricsPreference&& value) { SetExternalMetricsPreference(std::move(value)); return *this;} + /** + *

    The number of days the utilization metrics of the Amazon Web Services + * resource are analyzed.

    To validate that the preference is applied to + * your last generated set of recommendations, review the + * effectiveRecommendationPreferences value in the response of the + * GetAutoScalingGroupRecommendations or GetEC2InstanceRecommendations actions.

    + */ + inline const LookBackPeriodPreference& GetLookBackPeriod() const{ return m_lookBackPeriod; } + + /** + *

    The number of days the utilization metrics of the Amazon Web Services + * resource are analyzed.

    To validate that the preference is applied to + * your last generated set of recommendations, review the + * effectiveRecommendationPreferences value in the response of the + * GetAutoScalingGroupRecommendations or GetEC2InstanceRecommendations actions.

    + */ + inline void SetLookBackPeriod(const LookBackPeriodPreference& value) { m_lookBackPeriod = value; } + + /** + *

    The number of days the utilization metrics of the Amazon Web Services + * resource are analyzed.

    To validate that the preference is applied to + * your last generated set of recommendations, review the + * effectiveRecommendationPreferences value in the response of the + * GetAutoScalingGroupRecommendations or GetEC2InstanceRecommendations actions.

    + */ + inline void SetLookBackPeriod(LookBackPeriodPreference&& value) { m_lookBackPeriod = std::move(value); } + + /** + *

    The number of days the utilization metrics of the Amazon Web Services + * resource are analyzed.

    To validate that the preference is applied to + * your last generated set of recommendations, review the + * effectiveRecommendationPreferences value in the response of the + * GetAutoScalingGroupRecommendations or GetEC2InstanceRecommendations actions.

    + */ + inline GetEffectiveRecommendationPreferencesResult& WithLookBackPeriod(const LookBackPeriodPreference& value) { SetLookBackPeriod(value); return *this;} + + /** + *

    The number of days the utilization metrics of the Amazon Web Services + * resource are analyzed.

    To validate that the preference is applied to + * your last generated set of recommendations, review the + * effectiveRecommendationPreferences value in the response of the + * GetAutoScalingGroupRecommendations or GetEC2InstanceRecommendations actions.

    + */ + inline GetEffectiveRecommendationPreferencesResult& WithLookBackPeriod(LookBackPeriodPreference&& value) { SetLookBackPeriod(std::move(value)); return *this;} + + + /** + *

    The resource’s CPU utilization threshold preferences, such as threshold and + * headroom, that were used to generate rightsizing recommendations. It considers + * all applicable preferences that you set at the resource, account, and + * organization level.

    To validate that the preference is applied to your + * last generated set of recommendations, review the + * effectiveRecommendationPreferences value in the response of the + * GetAutoScalingGroupRecommendations or GetEC2InstanceRecommendations actions.

    + */ + inline const Aws::Vector& GetUtilizationPreferences() const{ return m_utilizationPreferences; } + + /** + *

    The resource’s CPU utilization threshold preferences, such as threshold and + * headroom, that were used to generate rightsizing recommendations. It considers + * all applicable preferences that you set at the resource, account, and + * organization level.

    To validate that the preference is applied to your + * last generated set of recommendations, review the + * effectiveRecommendationPreferences value in the response of the + * GetAutoScalingGroupRecommendations or GetEC2InstanceRecommendations actions.

    + */ + inline void SetUtilizationPreferences(const Aws::Vector& value) { m_utilizationPreferences = value; } + + /** + *

    The resource’s CPU utilization threshold preferences, such as threshold and + * headroom, that were used to generate rightsizing recommendations. It considers + * all applicable preferences that you set at the resource, account, and + * organization level.

    To validate that the preference is applied to your + * last generated set of recommendations, review the + * effectiveRecommendationPreferences value in the response of the + * GetAutoScalingGroupRecommendations or GetEC2InstanceRecommendations actions.

    + */ + inline void SetUtilizationPreferences(Aws::Vector&& value) { m_utilizationPreferences = std::move(value); } + + /** + *

    The resource’s CPU utilization threshold preferences, such as threshold and + * headroom, that were used to generate rightsizing recommendations. It considers + * all applicable preferences that you set at the resource, account, and + * organization level.

    To validate that the preference is applied to your + * last generated set of recommendations, review the + * effectiveRecommendationPreferences value in the response of the + * GetAutoScalingGroupRecommendations or GetEC2InstanceRecommendations actions.

    + */ + inline GetEffectiveRecommendationPreferencesResult& WithUtilizationPreferences(const Aws::Vector& value) { SetUtilizationPreferences(value); return *this;} + + /** + *

    The resource’s CPU utilization threshold preferences, such as threshold and + * headroom, that were used to generate rightsizing recommendations. It considers + * all applicable preferences that you set at the resource, account, and + * organization level.

    To validate that the preference is applied to your + * last generated set of recommendations, review the + * effectiveRecommendationPreferences value in the response of the + * GetAutoScalingGroupRecommendations or GetEC2InstanceRecommendations actions.

    + */ + inline GetEffectiveRecommendationPreferencesResult& WithUtilizationPreferences(Aws::Vector&& value) { SetUtilizationPreferences(std::move(value)); return *this;} + + /** + *

    The resource’s CPU utilization threshold preferences, such as threshold and + * headroom, that were used to generate rightsizing recommendations. It considers + * all applicable preferences that you set at the resource, account, and + * organization level.

    To validate that the preference is applied to your + * last generated set of recommendations, review the + * effectiveRecommendationPreferences value in the response of the + * GetAutoScalingGroupRecommendations or GetEC2InstanceRecommendations actions.

    + */ + inline GetEffectiveRecommendationPreferencesResult& AddUtilizationPreferences(const UtilizationPreference& value) { m_utilizationPreferences.push_back(value); return *this; } + + /** + *

    The resource’s CPU utilization threshold preferences, such as threshold and + * headroom, that were used to generate rightsizing recommendations. It considers + * all applicable preferences that you set at the resource, account, and + * organization level.

    To validate that the preference is applied to your + * last generated set of recommendations, review the + * effectiveRecommendationPreferences value in the response of the + * GetAutoScalingGroupRecommendations or GetEC2InstanceRecommendations actions.

    + */ + inline GetEffectiveRecommendationPreferencesResult& AddUtilizationPreferences(UtilizationPreference&& value) { m_utilizationPreferences.push_back(std::move(value)); return *this; } + + + /** + *

    The resource type values that are considered as candidates when generating + * rightsizing recommendations. This object resolves any wildcard expressions and + * returns the effective list of candidate resource type values. It also considers + * all applicable preferences that you set at the resource, account, and + * organization level.

    To validate that the preference is applied to your + * last generated set of recommendations, review the + * effectiveRecommendationPreferences value in the response of the + * GetAutoScalingGroupRecommendations or GetEC2InstanceRecommendations actions.

    + */ + inline const Aws::Vector& GetPreferredResources() const{ return m_preferredResources; } + + /** + *

    The resource type values that are considered as candidates when generating + * rightsizing recommendations. This object resolves any wildcard expressions and + * returns the effective list of candidate resource type values. It also considers + * all applicable preferences that you set at the resource, account, and + * organization level.

    To validate that the preference is applied to your + * last generated set of recommendations, review the + * effectiveRecommendationPreferences value in the response of the + * GetAutoScalingGroupRecommendations or GetEC2InstanceRecommendations actions.

    + */ + inline void SetPreferredResources(const Aws::Vector& value) { m_preferredResources = value; } + + /** + *

    The resource type values that are considered as candidates when generating + * rightsizing recommendations. This object resolves any wildcard expressions and + * returns the effective list of candidate resource type values. It also considers + * all applicable preferences that you set at the resource, account, and + * organization level.

    To validate that the preference is applied to your + * last generated set of recommendations, review the + * effectiveRecommendationPreferences value in the response of the + * GetAutoScalingGroupRecommendations or GetEC2InstanceRecommendations actions.

    + */ + inline void SetPreferredResources(Aws::Vector&& value) { m_preferredResources = std::move(value); } + + /** + *

    The resource type values that are considered as candidates when generating + * rightsizing recommendations. This object resolves any wildcard expressions and + * returns the effective list of candidate resource type values. It also considers + * all applicable preferences that you set at the resource, account, and + * organization level.

    To validate that the preference is applied to your + * last generated set of recommendations, review the + * effectiveRecommendationPreferences value in the response of the + * GetAutoScalingGroupRecommendations or GetEC2InstanceRecommendations actions.

    + */ + inline GetEffectiveRecommendationPreferencesResult& WithPreferredResources(const Aws::Vector& value) { SetPreferredResources(value); return *this;} + + /** + *

    The resource type values that are considered as candidates when generating + * rightsizing recommendations. This object resolves any wildcard expressions and + * returns the effective list of candidate resource type values. It also considers + * all applicable preferences that you set at the resource, account, and + * organization level.

    To validate that the preference is applied to your + * last generated set of recommendations, review the + * effectiveRecommendationPreferences value in the response of the + * GetAutoScalingGroupRecommendations or GetEC2InstanceRecommendations actions.

    + */ + inline GetEffectiveRecommendationPreferencesResult& WithPreferredResources(Aws::Vector&& value) { SetPreferredResources(std::move(value)); return *this;} + + /** + *

    The resource type values that are considered as candidates when generating + * rightsizing recommendations. This object resolves any wildcard expressions and + * returns the effective list of candidate resource type values. It also considers + * all applicable preferences that you set at the resource, account, and + * organization level.

    To validate that the preference is applied to your + * last generated set of recommendations, review the + * effectiveRecommendationPreferences value in the response of the + * GetAutoScalingGroupRecommendations or GetEC2InstanceRecommendations actions.

    + */ + inline GetEffectiveRecommendationPreferencesResult& AddPreferredResources(const EffectivePreferredResource& value) { m_preferredResources.push_back(value); return *this; } + + /** + *

    The resource type values that are considered as candidates when generating + * rightsizing recommendations. This object resolves any wildcard expressions and + * returns the effective list of candidate resource type values. It also considers + * all applicable preferences that you set at the resource, account, and + * organization level.

    To validate that the preference is applied to your + * last generated set of recommendations, review the + * effectiveRecommendationPreferences value in the response of the + * GetAutoScalingGroupRecommendations or GetEC2InstanceRecommendations actions.

    + */ + inline GetEffectiveRecommendationPreferencesResult& AddPreferredResources(EffectivePreferredResource&& value) { m_preferredResources.push_back(std::move(value)); return *this; } + + inline const Aws::String& GetRequestId() const{ return m_requestId; } @@ -228,6 +441,12 @@ namespace Model ExternalMetricsPreference m_externalMetricsPreference; + LookBackPeriodPreference m_lookBackPeriod; + + Aws::Vector m_utilizationPreferences; + + Aws::Vector m_preferredResources; + Aws::String m_requestId; }; diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/InstanceEstimatedMonthlySavings.h b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/InstanceEstimatedMonthlySavings.h new file mode 100644 index 00000000000..935da0c6ea9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/InstanceEstimatedMonthlySavings.h @@ -0,0 +1,105 @@ +/** + * 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 ComputeOptimizer +{ +namespace Model +{ + + /** + *

    An object that describes the estimated monthly savings possible by adopting + * Compute Optimizer’s Amazon EC2 instance recommendations. This is based on the + * Savings Plans and Reserved Instances pricing discounts.

    See + * Also:

    AWS + * API Reference

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

    The currency of the estimated monthly savings.

    + */ + inline const Currency& GetCurrency() const{ return m_currency; } + + /** + *

    The currency of the estimated monthly savings.

    + */ + inline bool CurrencyHasBeenSet() const { return m_currencyHasBeenSet; } + + /** + *

    The currency of the estimated monthly savings.

    + */ + inline void SetCurrency(const Currency& value) { m_currencyHasBeenSet = true; m_currency = value; } + + /** + *

    The currency of the estimated monthly savings.

    + */ + inline void SetCurrency(Currency&& value) { m_currencyHasBeenSet = true; m_currency = std::move(value); } + + /** + *

    The currency of the estimated monthly savings.

    + */ + inline InstanceEstimatedMonthlySavings& WithCurrency(const Currency& value) { SetCurrency(value); return *this;} + + /** + *

    The currency of the estimated monthly savings.

    + */ + inline InstanceEstimatedMonthlySavings& WithCurrency(Currency&& value) { SetCurrency(std::move(value)); return *this;} + + + /** + *

    The value of the estimated monthly savings.

    + */ + inline double GetValue() const{ return m_value; } + + /** + *

    The value of the estimated monthly savings.

    + */ + inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; } + + /** + *

    The value of the estimated monthly savings.

    + */ + inline void SetValue(double value) { m_valueHasBeenSet = true; m_value = value; } + + /** + *

    The value of the estimated monthly savings.

    + */ + inline InstanceEstimatedMonthlySavings& WithValue(double value) { SetValue(value); return *this;} + + private: + + Currency m_currency; + bool m_currencyHasBeenSet = false; + + double m_value; + bool m_valueHasBeenSet = false; + }; + +} // namespace Model +} // namespace ComputeOptimizer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/InstanceRecommendationOption.h b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/InstanceRecommendationOption.h index dae3f326e39..e6632be2f79 100644 --- a/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/InstanceRecommendationOption.h +++ b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/InstanceRecommendationOption.h @@ -10,6 +10,7 @@ #include #include #include +#include #include #include #include @@ -1165,6 +1166,55 @@ namespace Model */ inline InstanceRecommendationOption& WithInstanceGpuInfo(GpuInfo&& value) { SetInstanceGpuInfo(std::move(value)); return *this;} + + /** + *

    An object that describes the savings opportunity for the instance + * recommendation option that includes Savings Plans and Reserved Instances + * discounts. Savings opportunity includes the estimated monthly savings and + * percentage.

    + */ + inline const InstanceSavingsOpportunityAfterDiscounts& GetSavingsOpportunityAfterDiscounts() const{ return m_savingsOpportunityAfterDiscounts; } + + /** + *

    An object that describes the savings opportunity for the instance + * recommendation option that includes Savings Plans and Reserved Instances + * discounts. Savings opportunity includes the estimated monthly savings and + * percentage.

    + */ + inline bool SavingsOpportunityAfterDiscountsHasBeenSet() const { return m_savingsOpportunityAfterDiscountsHasBeenSet; } + + /** + *

    An object that describes the savings opportunity for the instance + * recommendation option that includes Savings Plans and Reserved Instances + * discounts. Savings opportunity includes the estimated monthly savings and + * percentage.

    + */ + inline void SetSavingsOpportunityAfterDiscounts(const InstanceSavingsOpportunityAfterDiscounts& value) { m_savingsOpportunityAfterDiscountsHasBeenSet = true; m_savingsOpportunityAfterDiscounts = value; } + + /** + *

    An object that describes the savings opportunity for the instance + * recommendation option that includes Savings Plans and Reserved Instances + * discounts. Savings opportunity includes the estimated monthly savings and + * percentage.

    + */ + inline void SetSavingsOpportunityAfterDiscounts(InstanceSavingsOpportunityAfterDiscounts&& value) { m_savingsOpportunityAfterDiscountsHasBeenSet = true; m_savingsOpportunityAfterDiscounts = std::move(value); } + + /** + *

    An object that describes the savings opportunity for the instance + * recommendation option that includes Savings Plans and Reserved Instances + * discounts. Savings opportunity includes the estimated monthly savings and + * percentage.

    + */ + inline InstanceRecommendationOption& WithSavingsOpportunityAfterDiscounts(const InstanceSavingsOpportunityAfterDiscounts& value) { SetSavingsOpportunityAfterDiscounts(value); return *this;} + + /** + *

    An object that describes the savings opportunity for the instance + * recommendation option that includes Savings Plans and Reserved Instances + * discounts. Savings opportunity includes the estimated monthly savings and + * percentage.

    + */ + inline InstanceRecommendationOption& WithSavingsOpportunityAfterDiscounts(InstanceSavingsOpportunityAfterDiscounts&& value) { SetSavingsOpportunityAfterDiscounts(std::move(value)); return *this;} + private: Aws::String m_instanceType; @@ -1190,6 +1240,9 @@ namespace Model GpuInfo m_instanceGpuInfo; bool m_instanceGpuInfoHasBeenSet = false; + + InstanceSavingsOpportunityAfterDiscounts m_savingsOpportunityAfterDiscounts; + bool m_savingsOpportunityAfterDiscountsHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/InstanceSavingsEstimationMode.h b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/InstanceSavingsEstimationMode.h new file mode 100644 index 00000000000..59606d4695a --- /dev/null +++ b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/InstanceSavingsEstimationMode.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 + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace ComputeOptimizer +{ +namespace Model +{ + + /** + *

    Describes the savings estimation mode used for calculating savings + * opportunity for Amazon EC2 instances.

    See Also:

    AWS + * API Reference

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

    Describes the source for calculating the savings opportunity for Amazon EC2 + * instances.

    + */ + inline const InstanceSavingsEstimationModeSource& GetSource() const{ return m_source; } + + /** + *

    Describes the source for calculating the savings opportunity for Amazon EC2 + * instances.

    + */ + inline bool SourceHasBeenSet() const { return m_sourceHasBeenSet; } + + /** + *

    Describes the source for calculating the savings opportunity for Amazon EC2 + * instances.

    + */ + inline void SetSource(const InstanceSavingsEstimationModeSource& value) { m_sourceHasBeenSet = true; m_source = value; } + + /** + *

    Describes the source for calculating the savings opportunity for Amazon EC2 + * instances.

    + */ + inline void SetSource(InstanceSavingsEstimationModeSource&& value) { m_sourceHasBeenSet = true; m_source = std::move(value); } + + /** + *

    Describes the source for calculating the savings opportunity for Amazon EC2 + * instances.

    + */ + inline InstanceSavingsEstimationMode& WithSource(const InstanceSavingsEstimationModeSource& value) { SetSource(value); return *this;} + + /** + *

    Describes the source for calculating the savings opportunity for Amazon EC2 + * instances.

    + */ + inline InstanceSavingsEstimationMode& WithSource(InstanceSavingsEstimationModeSource&& value) { SetSource(std::move(value)); return *this;} + + private: + + InstanceSavingsEstimationModeSource m_source; + bool m_sourceHasBeenSet = false; + }; + +} // namespace Model +} // namespace ComputeOptimizer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/InstanceSavingsEstimationModeSource.h b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/InstanceSavingsEstimationModeSource.h new file mode 100644 index 00000000000..22fef803ac3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/InstanceSavingsEstimationModeSource.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 ComputeOptimizer +{ +namespace Model +{ + enum class InstanceSavingsEstimationModeSource + { + NOT_SET, + PublicPricing, + CostExplorerRightsizing, + CostOptimizationHub + }; + +namespace InstanceSavingsEstimationModeSourceMapper +{ +AWS_COMPUTEOPTIMIZER_API InstanceSavingsEstimationModeSource GetInstanceSavingsEstimationModeSourceForName(const Aws::String& name); + +AWS_COMPUTEOPTIMIZER_API Aws::String GetNameForInstanceSavingsEstimationModeSource(InstanceSavingsEstimationModeSource value); +} // namespace InstanceSavingsEstimationModeSourceMapper +} // namespace Model +} // namespace ComputeOptimizer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/InstanceSavingsOpportunityAfterDiscounts.h b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/InstanceSavingsOpportunityAfterDiscounts.h new file mode 100644 index 00000000000..7bd719f95d3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/InstanceSavingsOpportunityAfterDiscounts.h @@ -0,0 +1,126 @@ +/** + * 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 ComputeOptimizer +{ +namespace Model +{ + + /** + *

    Describes the savings opportunity for instance recommendations after + * applying the Savings Plans and Reserved Instances discounts.

    Savings + * opportunity after discounts represents the estimated monthly savings you can + * achieve by implementing Compute Optimizer recommendations.

    See + * Also:

    AWS + * API Reference

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

    The estimated monthly savings possible as a percentage of monthly cost after + * applying the Savings Plans and Reserved Instances discounts. This saving can be + * achieved by adopting Compute Optimizer’s EC2 instance recommendations.

    + */ + inline double GetSavingsOpportunityPercentage() const{ return m_savingsOpportunityPercentage; } + + /** + *

    The estimated monthly savings possible as a percentage of monthly cost after + * applying the Savings Plans and Reserved Instances discounts. This saving can be + * achieved by adopting Compute Optimizer’s EC2 instance recommendations.

    + */ + inline bool SavingsOpportunityPercentageHasBeenSet() const { return m_savingsOpportunityPercentageHasBeenSet; } + + /** + *

    The estimated monthly savings possible as a percentage of monthly cost after + * applying the Savings Plans and Reserved Instances discounts. This saving can be + * achieved by adopting Compute Optimizer’s EC2 instance recommendations.

    + */ + inline void SetSavingsOpportunityPercentage(double value) { m_savingsOpportunityPercentageHasBeenSet = true; m_savingsOpportunityPercentage = value; } + + /** + *

    The estimated monthly savings possible as a percentage of monthly cost after + * applying the Savings Plans and Reserved Instances discounts. This saving can be + * achieved by adopting Compute Optimizer’s EC2 instance recommendations.

    + */ + inline InstanceSavingsOpportunityAfterDiscounts& WithSavingsOpportunityPercentage(double value) { SetSavingsOpportunityPercentage(value); return *this;} + + + /** + *

    An object that describes the estimated monthly savings possible by adopting + * Compute Optimizer’s Amazon EC2 instance recommendations. This is based on + * pricing after applying the Savings Plans and Reserved Instances discounts.

    + */ + inline const InstanceEstimatedMonthlySavings& GetEstimatedMonthlySavings() const{ return m_estimatedMonthlySavings; } + + /** + *

    An object that describes the estimated monthly savings possible by adopting + * Compute Optimizer’s Amazon EC2 instance recommendations. This is based on + * pricing after applying the Savings Plans and Reserved Instances discounts.

    + */ + inline bool EstimatedMonthlySavingsHasBeenSet() const { return m_estimatedMonthlySavingsHasBeenSet; } + + /** + *

    An object that describes the estimated monthly savings possible by adopting + * Compute Optimizer’s Amazon EC2 instance recommendations. This is based on + * pricing after applying the Savings Plans and Reserved Instances discounts.

    + */ + inline void SetEstimatedMonthlySavings(const InstanceEstimatedMonthlySavings& value) { m_estimatedMonthlySavingsHasBeenSet = true; m_estimatedMonthlySavings = value; } + + /** + *

    An object that describes the estimated monthly savings possible by adopting + * Compute Optimizer’s Amazon EC2 instance recommendations. This is based on + * pricing after applying the Savings Plans and Reserved Instances discounts.

    + */ + inline void SetEstimatedMonthlySavings(InstanceEstimatedMonthlySavings&& value) { m_estimatedMonthlySavingsHasBeenSet = true; m_estimatedMonthlySavings = std::move(value); } + + /** + *

    An object that describes the estimated monthly savings possible by adopting + * Compute Optimizer’s Amazon EC2 instance recommendations. This is based on + * pricing after applying the Savings Plans and Reserved Instances discounts.

    + */ + inline InstanceSavingsOpportunityAfterDiscounts& WithEstimatedMonthlySavings(const InstanceEstimatedMonthlySavings& value) { SetEstimatedMonthlySavings(value); return *this;} + + /** + *

    An object that describes the estimated monthly savings possible by adopting + * Compute Optimizer’s Amazon EC2 instance recommendations. This is based on + * pricing after applying the Savings Plans and Reserved Instances discounts.

    + */ + inline InstanceSavingsOpportunityAfterDiscounts& WithEstimatedMonthlySavings(InstanceEstimatedMonthlySavings&& value) { SetEstimatedMonthlySavings(std::move(value)); return *this;} + + private: + + double m_savingsOpportunityPercentage; + bool m_savingsOpportunityPercentageHasBeenSet = false; + + InstanceEstimatedMonthlySavings m_estimatedMonthlySavings; + bool m_estimatedMonthlySavingsHasBeenSet = false; + }; + +} // namespace Model +} // namespace ComputeOptimizer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/LambdaEffectiveRecommendationPreferences.h b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/LambdaEffectiveRecommendationPreferences.h new file mode 100644 index 00000000000..806037a4c99 --- /dev/null +++ b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/LambdaEffectiveRecommendationPreferences.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 + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace ComputeOptimizer +{ +namespace Model +{ + + /** + *

    Describes the effective recommendation preferences for Lambda functions. + *

    See Also:

    AWS + * API Reference

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

    Describes the savings estimation mode applied for calculating savings + * opportunity for Lambda functions.

    + */ + inline const LambdaSavingsEstimationMode& GetSavingsEstimationMode() const{ return m_savingsEstimationMode; } + + /** + *

    Describes the savings estimation mode applied for calculating savings + * opportunity for Lambda functions.

    + */ + inline bool SavingsEstimationModeHasBeenSet() const { return m_savingsEstimationModeHasBeenSet; } + + /** + *

    Describes the savings estimation mode applied for calculating savings + * opportunity for Lambda functions.

    + */ + inline void SetSavingsEstimationMode(const LambdaSavingsEstimationMode& value) { m_savingsEstimationModeHasBeenSet = true; m_savingsEstimationMode = value; } + + /** + *

    Describes the savings estimation mode applied for calculating savings + * opportunity for Lambda functions.

    + */ + inline void SetSavingsEstimationMode(LambdaSavingsEstimationMode&& value) { m_savingsEstimationModeHasBeenSet = true; m_savingsEstimationMode = std::move(value); } + + /** + *

    Describes the savings estimation mode applied for calculating savings + * opportunity for Lambda functions.

    + */ + inline LambdaEffectiveRecommendationPreferences& WithSavingsEstimationMode(const LambdaSavingsEstimationMode& value) { SetSavingsEstimationMode(value); return *this;} + + /** + *

    Describes the savings estimation mode applied for calculating savings + * opportunity for Lambda functions.

    + */ + inline LambdaEffectiveRecommendationPreferences& WithSavingsEstimationMode(LambdaSavingsEstimationMode&& value) { SetSavingsEstimationMode(std::move(value)); return *this;} + + private: + + LambdaSavingsEstimationMode m_savingsEstimationMode; + bool m_savingsEstimationModeHasBeenSet = false; + }; + +} // namespace Model +} // namespace ComputeOptimizer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/LambdaEstimatedMonthlySavings.h b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/LambdaEstimatedMonthlySavings.h new file mode 100644 index 00000000000..133983515be --- /dev/null +++ b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/LambdaEstimatedMonthlySavings.h @@ -0,0 +1,104 @@ +/** + * 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 ComputeOptimizer +{ +namespace Model +{ + + /** + *

    Describes the estimated monthly savings possible for Lambda functions by + * adopting Compute Optimizer recommendations. This is based on Lambda functions + * pricing after applying Savings Plans discounts.

    See Also:

    AWS + * API Reference

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

    The currency of the estimated monthly savings.

    + */ + inline const Currency& GetCurrency() const{ return m_currency; } + + /** + *

    The currency of the estimated monthly savings.

    + */ + inline bool CurrencyHasBeenSet() const { return m_currencyHasBeenSet; } + + /** + *

    The currency of the estimated monthly savings.

    + */ + inline void SetCurrency(const Currency& value) { m_currencyHasBeenSet = true; m_currency = value; } + + /** + *

    The currency of the estimated monthly savings.

    + */ + inline void SetCurrency(Currency&& value) { m_currencyHasBeenSet = true; m_currency = std::move(value); } + + /** + *

    The currency of the estimated monthly savings.

    + */ + inline LambdaEstimatedMonthlySavings& WithCurrency(const Currency& value) { SetCurrency(value); return *this;} + + /** + *

    The currency of the estimated monthly savings.

    + */ + inline LambdaEstimatedMonthlySavings& WithCurrency(Currency&& value) { SetCurrency(std::move(value)); return *this;} + + + /** + *

    The value of the estimated monthly savings.

    + */ + inline double GetValue() const{ return m_value; } + + /** + *

    The value of the estimated monthly savings.

    + */ + inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; } + + /** + *

    The value of the estimated monthly savings.

    + */ + inline void SetValue(double value) { m_valueHasBeenSet = true; m_value = value; } + + /** + *

    The value of the estimated monthly savings.

    + */ + inline LambdaEstimatedMonthlySavings& WithValue(double value) { SetValue(value); return *this;} + + private: + + Currency m_currency; + bool m_currencyHasBeenSet = false; + + double m_value; + bool m_valueHasBeenSet = false; + }; + +} // namespace Model +} // namespace ComputeOptimizer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/LambdaFunctionMemoryRecommendationOption.h b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/LambdaFunctionMemoryRecommendationOption.h index e82b5396cc1..dab5afe58be 100644 --- a/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/LambdaFunctionMemoryRecommendationOption.h +++ b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/LambdaFunctionMemoryRecommendationOption.h @@ -7,6 +7,7 @@ #include #include #include +#include #include #include @@ -177,6 +178,49 @@ namespace Model */ inline LambdaFunctionMemoryRecommendationOption& WithSavingsOpportunity(SavingsOpportunity&& value) { SetSavingsOpportunity(std::move(value)); return *this;} + + /** + *

    An object that describes the savings opportunity for the Lambda + * recommendation option which includes Saving Plans discounts. Savings opportunity + * includes the estimated monthly savings and percentage.

    + */ + inline const LambdaSavingsOpportunityAfterDiscounts& GetSavingsOpportunityAfterDiscounts() const{ return m_savingsOpportunityAfterDiscounts; } + + /** + *

    An object that describes the savings opportunity for the Lambda + * recommendation option which includes Saving Plans discounts. Savings opportunity + * includes the estimated monthly savings and percentage.

    + */ + inline bool SavingsOpportunityAfterDiscountsHasBeenSet() const { return m_savingsOpportunityAfterDiscountsHasBeenSet; } + + /** + *

    An object that describes the savings opportunity for the Lambda + * recommendation option which includes Saving Plans discounts. Savings opportunity + * includes the estimated monthly savings and percentage.

    + */ + inline void SetSavingsOpportunityAfterDiscounts(const LambdaSavingsOpportunityAfterDiscounts& value) { m_savingsOpportunityAfterDiscountsHasBeenSet = true; m_savingsOpportunityAfterDiscounts = value; } + + /** + *

    An object that describes the savings opportunity for the Lambda + * recommendation option which includes Saving Plans discounts. Savings opportunity + * includes the estimated monthly savings and percentage.

    + */ + inline void SetSavingsOpportunityAfterDiscounts(LambdaSavingsOpportunityAfterDiscounts&& value) { m_savingsOpportunityAfterDiscountsHasBeenSet = true; m_savingsOpportunityAfterDiscounts = std::move(value); } + + /** + *

    An object that describes the savings opportunity for the Lambda + * recommendation option which includes Saving Plans discounts. Savings opportunity + * includes the estimated monthly savings and percentage.

    + */ + inline LambdaFunctionMemoryRecommendationOption& WithSavingsOpportunityAfterDiscounts(const LambdaSavingsOpportunityAfterDiscounts& value) { SetSavingsOpportunityAfterDiscounts(value); return *this;} + + /** + *

    An object that describes the savings opportunity for the Lambda + * recommendation option which includes Saving Plans discounts. Savings opportunity + * includes the estimated monthly savings and percentage.

    + */ + inline LambdaFunctionMemoryRecommendationOption& WithSavingsOpportunityAfterDiscounts(LambdaSavingsOpportunityAfterDiscounts&& value) { SetSavingsOpportunityAfterDiscounts(std::move(value)); return *this;} + private: int m_rank; @@ -190,6 +234,9 @@ namespace Model SavingsOpportunity m_savingsOpportunity; bool m_savingsOpportunityHasBeenSet = false; + + LambdaSavingsOpportunityAfterDiscounts m_savingsOpportunityAfterDiscounts; + bool m_savingsOpportunityAfterDiscountsHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/LambdaFunctionRecommendation.h b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/LambdaFunctionRecommendation.h index c0d21bd311c..553bc7d2e0c 100644 --- a/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/LambdaFunctionRecommendation.h +++ b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/LambdaFunctionRecommendation.h @@ -10,6 +10,7 @@ #include #include #include +#include #include #include #include @@ -821,6 +822,43 @@ namespace Model */ inline LambdaFunctionRecommendation& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } + + /** + *

    Describes the effective recommendation preferences for Lambda functions. + *

    + */ + inline const LambdaEffectiveRecommendationPreferences& GetEffectiveRecommendationPreferences() const{ return m_effectiveRecommendationPreferences; } + + /** + *

    Describes the effective recommendation preferences for Lambda functions. + *

    + */ + inline bool EffectiveRecommendationPreferencesHasBeenSet() const { return m_effectiveRecommendationPreferencesHasBeenSet; } + + /** + *

    Describes the effective recommendation preferences for Lambda functions. + *

    + */ + inline void SetEffectiveRecommendationPreferences(const LambdaEffectiveRecommendationPreferences& value) { m_effectiveRecommendationPreferencesHasBeenSet = true; m_effectiveRecommendationPreferences = value; } + + /** + *

    Describes the effective recommendation preferences for Lambda functions. + *

    + */ + inline void SetEffectiveRecommendationPreferences(LambdaEffectiveRecommendationPreferences&& value) { m_effectiveRecommendationPreferencesHasBeenSet = true; m_effectiveRecommendationPreferences = std::move(value); } + + /** + *

    Describes the effective recommendation preferences for Lambda functions. + *

    + */ + inline LambdaFunctionRecommendation& WithEffectiveRecommendationPreferences(const LambdaEffectiveRecommendationPreferences& value) { SetEffectiveRecommendationPreferences(value); return *this;} + + /** + *

    Describes the effective recommendation preferences for Lambda functions. + *

    + */ + inline LambdaFunctionRecommendation& WithEffectiveRecommendationPreferences(LambdaEffectiveRecommendationPreferences&& value) { SetEffectiveRecommendationPreferences(std::move(value)); return *this;} + private: Aws::String m_functionArn; @@ -861,6 +899,9 @@ namespace Model Aws::Vector m_tags; bool m_tagsHasBeenSet = false; + + LambdaEffectiveRecommendationPreferences m_effectiveRecommendationPreferences; + bool m_effectiveRecommendationPreferencesHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/LambdaSavingsEstimationMode.h b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/LambdaSavingsEstimationMode.h new file mode 100644 index 00000000000..f9d2db6d3e1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/LambdaSavingsEstimationMode.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 + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace ComputeOptimizer +{ +namespace Model +{ + + /** + *

    Describes the savings estimation used for calculating savings opportunity + * for Lambda functions.

    See Also:

    AWS + * API Reference

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

    Describes the source for calculation of savings opportunity for Lambda + * functions.

    + */ + inline const LambdaSavingsEstimationModeSource& GetSource() const{ return m_source; } + + /** + *

    Describes the source for calculation of savings opportunity for Lambda + * functions.

    + */ + inline bool SourceHasBeenSet() const { return m_sourceHasBeenSet; } + + /** + *

    Describes the source for calculation of savings opportunity for Lambda + * functions.

    + */ + inline void SetSource(const LambdaSavingsEstimationModeSource& value) { m_sourceHasBeenSet = true; m_source = value; } + + /** + *

    Describes the source for calculation of savings opportunity for Lambda + * functions.

    + */ + inline void SetSource(LambdaSavingsEstimationModeSource&& value) { m_sourceHasBeenSet = true; m_source = std::move(value); } + + /** + *

    Describes the source for calculation of savings opportunity for Lambda + * functions.

    + */ + inline LambdaSavingsEstimationMode& WithSource(const LambdaSavingsEstimationModeSource& value) { SetSource(value); return *this;} + + /** + *

    Describes the source for calculation of savings opportunity for Lambda + * functions.

    + */ + inline LambdaSavingsEstimationMode& WithSource(LambdaSavingsEstimationModeSource&& value) { SetSource(std::move(value)); return *this;} + + private: + + LambdaSavingsEstimationModeSource m_source; + bool m_sourceHasBeenSet = false; + }; + +} // namespace Model +} // namespace ComputeOptimizer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/LambdaSavingsEstimationModeSource.h b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/LambdaSavingsEstimationModeSource.h new file mode 100644 index 00000000000..85ff65a8e96 --- /dev/null +++ b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/LambdaSavingsEstimationModeSource.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 ComputeOptimizer +{ +namespace Model +{ + enum class LambdaSavingsEstimationModeSource + { + NOT_SET, + PublicPricing, + CostExplorerRightsizing, + CostOptimizationHub + }; + +namespace LambdaSavingsEstimationModeSourceMapper +{ +AWS_COMPUTEOPTIMIZER_API LambdaSavingsEstimationModeSource GetLambdaSavingsEstimationModeSourceForName(const Aws::String& name); + +AWS_COMPUTEOPTIMIZER_API Aws::String GetNameForLambdaSavingsEstimationModeSource(LambdaSavingsEstimationModeSource value); +} // namespace LambdaSavingsEstimationModeSourceMapper +} // namespace Model +} // namespace ComputeOptimizer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/LambdaSavingsOpportunityAfterDiscounts.h b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/LambdaSavingsOpportunityAfterDiscounts.h new file mode 100644 index 00000000000..671845f6825 --- /dev/null +++ b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/LambdaSavingsOpportunityAfterDiscounts.h @@ -0,0 +1,126 @@ +/** + * 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 ComputeOptimizer +{ +namespace Model +{ + + /** + *

    Describes the savings opportunity for Lambda functions recommendations after + * applying Savings Plans discounts.

    Savings opportunity represents the + * estimated monthly savings after applying Savings Plans discounts. You can + * achieve this by implementing a given Compute Optimizer + * recommendation.

    See Also:

    AWS + * API Reference

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

    The estimated monthly savings possible as a percentage of monthly cost by + * adopting Compute Optimizer’s Lambda function recommendations. This includes any + * applicable Savings Plans discounts.

    + */ + inline double GetSavingsOpportunityPercentage() const{ return m_savingsOpportunityPercentage; } + + /** + *

    The estimated monthly savings possible as a percentage of monthly cost by + * adopting Compute Optimizer’s Lambda function recommendations. This includes any + * applicable Savings Plans discounts.

    + */ + inline bool SavingsOpportunityPercentageHasBeenSet() const { return m_savingsOpportunityPercentageHasBeenSet; } + + /** + *

    The estimated monthly savings possible as a percentage of monthly cost by + * adopting Compute Optimizer’s Lambda function recommendations. This includes any + * applicable Savings Plans discounts.

    + */ + inline void SetSavingsOpportunityPercentage(double value) { m_savingsOpportunityPercentageHasBeenSet = true; m_savingsOpportunityPercentage = value; } + + /** + *

    The estimated monthly savings possible as a percentage of monthly cost by + * adopting Compute Optimizer’s Lambda function recommendations. This includes any + * applicable Savings Plans discounts.

    + */ + inline LambdaSavingsOpportunityAfterDiscounts& WithSavingsOpportunityPercentage(double value) { SetSavingsOpportunityPercentage(value); return *this;} + + + /** + *

    The estimated monthly savings possible by adopting Compute Optimizer’s + * Lambda function recommendations. This includes any applicable Savings Plans + * discounts.

    + */ + inline const LambdaEstimatedMonthlySavings& GetEstimatedMonthlySavings() const{ return m_estimatedMonthlySavings; } + + /** + *

    The estimated monthly savings possible by adopting Compute Optimizer’s + * Lambda function recommendations. This includes any applicable Savings Plans + * discounts.

    + */ + inline bool EstimatedMonthlySavingsHasBeenSet() const { return m_estimatedMonthlySavingsHasBeenSet; } + + /** + *

    The estimated monthly savings possible by adopting Compute Optimizer’s + * Lambda function recommendations. This includes any applicable Savings Plans + * discounts.

    + */ + inline void SetEstimatedMonthlySavings(const LambdaEstimatedMonthlySavings& value) { m_estimatedMonthlySavingsHasBeenSet = true; m_estimatedMonthlySavings = value; } + + /** + *

    The estimated monthly savings possible by adopting Compute Optimizer’s + * Lambda function recommendations. This includes any applicable Savings Plans + * discounts.

    + */ + inline void SetEstimatedMonthlySavings(LambdaEstimatedMonthlySavings&& value) { m_estimatedMonthlySavingsHasBeenSet = true; m_estimatedMonthlySavings = std::move(value); } + + /** + *

    The estimated monthly savings possible by adopting Compute Optimizer’s + * Lambda function recommendations. This includes any applicable Savings Plans + * discounts.

    + */ + inline LambdaSavingsOpportunityAfterDiscounts& WithEstimatedMonthlySavings(const LambdaEstimatedMonthlySavings& value) { SetEstimatedMonthlySavings(value); return *this;} + + /** + *

    The estimated monthly savings possible by adopting Compute Optimizer’s + * Lambda function recommendations. This includes any applicable Savings Plans + * discounts.

    + */ + inline LambdaSavingsOpportunityAfterDiscounts& WithEstimatedMonthlySavings(LambdaEstimatedMonthlySavings&& value) { SetEstimatedMonthlySavings(std::move(value)); return *this;} + + private: + + double m_savingsOpportunityPercentage; + bool m_savingsOpportunityPercentageHasBeenSet = false; + + LambdaEstimatedMonthlySavings m_estimatedMonthlySavings; + bool m_estimatedMonthlySavingsHasBeenSet = false; + }; + +} // namespace Model +} // namespace ComputeOptimizer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/LookBackPeriodPreference.h b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/LookBackPeriodPreference.h new file mode 100644 index 00000000000..4b7087d5dba --- /dev/null +++ b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/LookBackPeriodPreference.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 ComputeOptimizer +{ +namespace Model +{ + enum class LookBackPeriodPreference + { + NOT_SET, + DAYS_14, + DAYS_32, + DAYS_93 + }; + +namespace LookBackPeriodPreferenceMapper +{ +AWS_COMPUTEOPTIMIZER_API LookBackPeriodPreference GetLookBackPeriodPreferenceForName(const Aws::String& name); + +AWS_COMPUTEOPTIMIZER_API Aws::String GetNameForLookBackPeriodPreference(LookBackPeriodPreference value); +} // namespace LookBackPeriodPreferenceMapper +} // namespace Model +} // namespace ComputeOptimizer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/PreferredResource.h b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/PreferredResource.h new file mode 100644 index 00000000000..087f0f07a99 --- /dev/null +++ b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/PreferredResource.h @@ -0,0 +1,254 @@ +/** + * 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 ComputeOptimizer +{ +namespace Model +{ + + /** + *

    The preference to control which resource type values are considered when + * generating rightsizing recommendations. You can specify this preference as a + * combination of include and exclude lists. You must specify either an + * includeList or excludeList. If the preference is an + * empty set of resource type values, an error occurs. For more information, see + * Rightsizing recommendation preferences in the Compute Optimizer User + * Guide.

    • This preference is only available for the + * Amazon EC2 instance and Auto Scaling group resource types.

    • + *

      Compute Optimizer only supports the customization of + * Ec2InstanceTypes.

    See Also:

    AWS + * API Reference

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

    The type of preferred resource to customize.

    Compute + * Optimizer only supports the customization of Ec2InstanceTypes.

    + * + */ + inline const PreferredResourceName& GetName() const{ return m_name; } + + /** + *

    The type of preferred resource to customize.

    Compute + * Optimizer only supports the customization of Ec2InstanceTypes.

    + * + */ + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + + /** + *

    The type of preferred resource to customize.

    Compute + * Optimizer only supports the customization of Ec2InstanceTypes.

    + * + */ + inline void SetName(const PreferredResourceName& value) { m_nameHasBeenSet = true; m_name = value; } + + /** + *

    The type of preferred resource to customize.

    Compute + * Optimizer only supports the customization of Ec2InstanceTypes.

    + * + */ + inline void SetName(PreferredResourceName&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + + /** + *

    The type of preferred resource to customize.

    Compute + * Optimizer only supports the customization of Ec2InstanceTypes.

    + * + */ + inline PreferredResource& WithName(const PreferredResourceName& value) { SetName(value); return *this;} + + /** + *

    The type of preferred resource to customize.

    Compute + * Optimizer only supports the customization of Ec2InstanceTypes.

    + * + */ + inline PreferredResource& WithName(PreferredResourceName&& value) { SetName(std::move(value)); return *this;} + + + /** + *

    The preferred resource type values to include in the recommendation + * candidates. You can specify the exact resource type value, such as m5.large, or + * use wild card expressions, such as m5. If this isn’t specified, all supported + * resources are included by default. You can specify up to 1000 values in this + * list.

    + */ + inline const Aws::Vector& GetIncludeList() const{ return m_includeList; } + + /** + *

    The preferred resource type values to include in the recommendation + * candidates. You can specify the exact resource type value, such as m5.large, or + * use wild card expressions, such as m5. If this isn’t specified, all supported + * resources are included by default. You can specify up to 1000 values in this + * list.

    + */ + inline bool IncludeListHasBeenSet() const { return m_includeListHasBeenSet; } + + /** + *

    The preferred resource type values to include in the recommendation + * candidates. You can specify the exact resource type value, such as m5.large, or + * use wild card expressions, such as m5. If this isn’t specified, all supported + * resources are included by default. You can specify up to 1000 values in this + * list.

    + */ + inline void SetIncludeList(const Aws::Vector& value) { m_includeListHasBeenSet = true; m_includeList = value; } + + /** + *

    The preferred resource type values to include in the recommendation + * candidates. You can specify the exact resource type value, such as m5.large, or + * use wild card expressions, such as m5. If this isn’t specified, all supported + * resources are included by default. You can specify up to 1000 values in this + * list.

    + */ + inline void SetIncludeList(Aws::Vector&& value) { m_includeListHasBeenSet = true; m_includeList = std::move(value); } + + /** + *

    The preferred resource type values to include in the recommendation + * candidates. You can specify the exact resource type value, such as m5.large, or + * use wild card expressions, such as m5. If this isn’t specified, all supported + * resources are included by default. You can specify up to 1000 values in this + * list.

    + */ + inline PreferredResource& WithIncludeList(const Aws::Vector& value) { SetIncludeList(value); return *this;} + + /** + *

    The preferred resource type values to include in the recommendation + * candidates. You can specify the exact resource type value, such as m5.large, or + * use wild card expressions, such as m5. If this isn’t specified, all supported + * resources are included by default. You can specify up to 1000 values in this + * list.

    + */ + inline PreferredResource& WithIncludeList(Aws::Vector&& value) { SetIncludeList(std::move(value)); return *this;} + + /** + *

    The preferred resource type values to include in the recommendation + * candidates. You can specify the exact resource type value, such as m5.large, or + * use wild card expressions, such as m5. If this isn’t specified, all supported + * resources are included by default. You can specify up to 1000 values in this + * list.

    + */ + inline PreferredResource& AddIncludeList(const Aws::String& value) { m_includeListHasBeenSet = true; m_includeList.push_back(value); return *this; } + + /** + *

    The preferred resource type values to include in the recommendation + * candidates. You can specify the exact resource type value, such as m5.large, or + * use wild card expressions, such as m5. If this isn’t specified, all supported + * resources are included by default. You can specify up to 1000 values in this + * list.

    + */ + inline PreferredResource& AddIncludeList(Aws::String&& value) { m_includeListHasBeenSet = true; m_includeList.push_back(std::move(value)); return *this; } + + /** + *

    The preferred resource type values to include in the recommendation + * candidates. You can specify the exact resource type value, such as m5.large, or + * use wild card expressions, such as m5. If this isn’t specified, all supported + * resources are included by default. You can specify up to 1000 values in this + * list.

    + */ + inline PreferredResource& AddIncludeList(const char* value) { m_includeListHasBeenSet = true; m_includeList.push_back(value); return *this; } + + + /** + *

    The preferred resource type values to exclude from the recommendation + * candidates. If this isn’t specified, all supported resources are included by + * default. You can specify up to 1000 values in this list.

    + */ + inline const Aws::Vector& GetExcludeList() const{ return m_excludeList; } + + /** + *

    The preferred resource type values to exclude from the recommendation + * candidates. If this isn’t specified, all supported resources are included by + * default. You can specify up to 1000 values in this list.

    + */ + inline bool ExcludeListHasBeenSet() const { return m_excludeListHasBeenSet; } + + /** + *

    The preferred resource type values to exclude from the recommendation + * candidates. If this isn’t specified, all supported resources are included by + * default. You can specify up to 1000 values in this list.

    + */ + inline void SetExcludeList(const Aws::Vector& value) { m_excludeListHasBeenSet = true; m_excludeList = value; } + + /** + *

    The preferred resource type values to exclude from the recommendation + * candidates. If this isn’t specified, all supported resources are included by + * default. You can specify up to 1000 values in this list.

    + */ + inline void SetExcludeList(Aws::Vector&& value) { m_excludeListHasBeenSet = true; m_excludeList = std::move(value); } + + /** + *

    The preferred resource type values to exclude from the recommendation + * candidates. If this isn’t specified, all supported resources are included by + * default. You can specify up to 1000 values in this list.

    + */ + inline PreferredResource& WithExcludeList(const Aws::Vector& value) { SetExcludeList(value); return *this;} + + /** + *

    The preferred resource type values to exclude from the recommendation + * candidates. If this isn’t specified, all supported resources are included by + * default. You can specify up to 1000 values in this list.

    + */ + inline PreferredResource& WithExcludeList(Aws::Vector&& value) { SetExcludeList(std::move(value)); return *this;} + + /** + *

    The preferred resource type values to exclude from the recommendation + * candidates. If this isn’t specified, all supported resources are included by + * default. You can specify up to 1000 values in this list.

    + */ + inline PreferredResource& AddExcludeList(const Aws::String& value) { m_excludeListHasBeenSet = true; m_excludeList.push_back(value); return *this; } + + /** + *

    The preferred resource type values to exclude from the recommendation + * candidates. If this isn’t specified, all supported resources are included by + * default. You can specify up to 1000 values in this list.

    + */ + inline PreferredResource& AddExcludeList(Aws::String&& value) { m_excludeListHasBeenSet = true; m_excludeList.push_back(std::move(value)); return *this; } + + /** + *

    The preferred resource type values to exclude from the recommendation + * candidates. If this isn’t specified, all supported resources are included by + * default. You can specify up to 1000 values in this list.

    + */ + inline PreferredResource& AddExcludeList(const char* value) { m_excludeListHasBeenSet = true; m_excludeList.push_back(value); return *this; } + + private: + + PreferredResourceName m_name; + bool m_nameHasBeenSet = false; + + Aws::Vector m_includeList; + bool m_includeListHasBeenSet = false; + + Aws::Vector m_excludeList; + bool m_excludeListHasBeenSet = false; + }; + +} // namespace Model +} // namespace ComputeOptimizer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/PreferredResourceName.h b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/PreferredResourceName.h new file mode 100644 index 00000000000..b71ae5bbfbc --- /dev/null +++ b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/PreferredResourceName.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 ComputeOptimizer +{ +namespace Model +{ + enum class PreferredResourceName + { + NOT_SET, + Ec2InstanceTypes + }; + +namespace PreferredResourceNameMapper +{ +AWS_COMPUTEOPTIMIZER_API PreferredResourceName GetPreferredResourceNameForName(const Aws::String& name); + +AWS_COMPUTEOPTIMIZER_API Aws::String GetNameForPreferredResourceName(PreferredResourceName value); +} // namespace PreferredResourceNameMapper +} // namespace Model +} // namespace ComputeOptimizer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/PutRecommendationPreferencesRequest.h b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/PutRecommendationPreferencesRequest.h index 718a7889611..7c1d3d56c71 100644 --- a/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/PutRecommendationPreferencesRequest.h +++ b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/PutRecommendationPreferencesRequest.h @@ -11,6 +11,11 @@ #include #include #include +#include +#include +#include +#include +#include #include namespace Aws @@ -414,6 +419,298 @@ namespace Model */ inline PutRecommendationPreferencesRequest& WithExternalMetricsPreference(ExternalMetricsPreference&& value) { SetExternalMetricsPreference(std::move(value)); return *this;} + + /** + *

    The preference to control the number of days the utilization metrics of the + * Amazon Web Services resource are analyzed. When this preference isn't specified, + * we use the default value DAYS_14.

    You can only set + * this preference for the Amazon EC2 instance and Auto Scaling group resource + * types.

    + */ + inline const LookBackPeriodPreference& GetLookBackPeriod() const{ return m_lookBackPeriod; } + + /** + *

    The preference to control the number of days the utilization metrics of the + * Amazon Web Services resource are analyzed. When this preference isn't specified, + * we use the default value DAYS_14.

    You can only set + * this preference for the Amazon EC2 instance and Auto Scaling group resource + * types.

    + */ + inline bool LookBackPeriodHasBeenSet() const { return m_lookBackPeriodHasBeenSet; } + + /** + *

    The preference to control the number of days the utilization metrics of the + * Amazon Web Services resource are analyzed. When this preference isn't specified, + * we use the default value DAYS_14.

    You can only set + * this preference for the Amazon EC2 instance and Auto Scaling group resource + * types.

    + */ + inline void SetLookBackPeriod(const LookBackPeriodPreference& value) { m_lookBackPeriodHasBeenSet = true; m_lookBackPeriod = value; } + + /** + *

    The preference to control the number of days the utilization metrics of the + * Amazon Web Services resource are analyzed. When this preference isn't specified, + * we use the default value DAYS_14.

    You can only set + * this preference for the Amazon EC2 instance and Auto Scaling group resource + * types.

    + */ + inline void SetLookBackPeriod(LookBackPeriodPreference&& value) { m_lookBackPeriodHasBeenSet = true; m_lookBackPeriod = std::move(value); } + + /** + *

    The preference to control the number of days the utilization metrics of the + * Amazon Web Services resource are analyzed. When this preference isn't specified, + * we use the default value DAYS_14.

    You can only set + * this preference for the Amazon EC2 instance and Auto Scaling group resource + * types.

    + */ + inline PutRecommendationPreferencesRequest& WithLookBackPeriod(const LookBackPeriodPreference& value) { SetLookBackPeriod(value); return *this;} + + /** + *

    The preference to control the number of days the utilization metrics of the + * Amazon Web Services resource are analyzed. When this preference isn't specified, + * we use the default value DAYS_14.

    You can only set + * this preference for the Amazon EC2 instance and Auto Scaling group resource + * types.

    + */ + inline PutRecommendationPreferencesRequest& WithLookBackPeriod(LookBackPeriodPreference&& value) { SetLookBackPeriod(std::move(value)); return *this;} + + + /** + *

    The preference to control the resource’s CPU utilization thresholds - + * threshold and headroom. When this preference isn't specified, we use the + * following default values:

    • P99_5 for + * threshold

    • PERCENT_17 for headroom

    • + *

    You can only set this preference for the Amazon EC2 instance + * resource type.

    + */ + inline const Aws::Vector& GetUtilizationPreferences() const{ return m_utilizationPreferences; } + + /** + *

    The preference to control the resource’s CPU utilization thresholds - + * threshold and headroom. When this preference isn't specified, we use the + * following default values:

    • P99_5 for + * threshold

    • PERCENT_17 for headroom

    • + *

    You can only set this preference for the Amazon EC2 instance + * resource type.

    + */ + inline bool UtilizationPreferencesHasBeenSet() const { return m_utilizationPreferencesHasBeenSet; } + + /** + *

    The preference to control the resource’s CPU utilization thresholds - + * threshold and headroom. When this preference isn't specified, we use the + * following default values:

    • P99_5 for + * threshold

    • PERCENT_17 for headroom

    • + *

    You can only set this preference for the Amazon EC2 instance + * resource type.

    + */ + inline void SetUtilizationPreferences(const Aws::Vector& value) { m_utilizationPreferencesHasBeenSet = true; m_utilizationPreferences = value; } + + /** + *

    The preference to control the resource’s CPU utilization thresholds - + * threshold and headroom. When this preference isn't specified, we use the + * following default values:

    • P99_5 for + * threshold

    • PERCENT_17 for headroom

    • + *

    You can only set this preference for the Amazon EC2 instance + * resource type.

    + */ + inline void SetUtilizationPreferences(Aws::Vector&& value) { m_utilizationPreferencesHasBeenSet = true; m_utilizationPreferences = std::move(value); } + + /** + *

    The preference to control the resource’s CPU utilization thresholds - + * threshold and headroom. When this preference isn't specified, we use the + * following default values:

    • P99_5 for + * threshold

    • PERCENT_17 for headroom

    • + *

    You can only set this preference for the Amazon EC2 instance + * resource type.

    + */ + inline PutRecommendationPreferencesRequest& WithUtilizationPreferences(const Aws::Vector& value) { SetUtilizationPreferences(value); return *this;} + + /** + *

    The preference to control the resource’s CPU utilization thresholds - + * threshold and headroom. When this preference isn't specified, we use the + * following default values:

    • P99_5 for + * threshold

    • PERCENT_17 for headroom

    • + *

    You can only set this preference for the Amazon EC2 instance + * resource type.

    + */ + inline PutRecommendationPreferencesRequest& WithUtilizationPreferences(Aws::Vector&& value) { SetUtilizationPreferences(std::move(value)); return *this;} + + /** + *

    The preference to control the resource’s CPU utilization thresholds - + * threshold and headroom. When this preference isn't specified, we use the + * following default values:

    • P99_5 for + * threshold

    • PERCENT_17 for headroom

    • + *

    You can only set this preference for the Amazon EC2 instance + * resource type.

    + */ + inline PutRecommendationPreferencesRequest& AddUtilizationPreferences(const UtilizationPreference& value) { m_utilizationPreferencesHasBeenSet = true; m_utilizationPreferences.push_back(value); return *this; } + + /** + *

    The preference to control the resource’s CPU utilization thresholds - + * threshold and headroom. When this preference isn't specified, we use the + * following default values:

    • P99_5 for + * threshold

    • PERCENT_17 for headroom

    • + *

    You can only set this preference for the Amazon EC2 instance + * resource type.

    + */ + inline PutRecommendationPreferencesRequest& AddUtilizationPreferences(UtilizationPreference&& value) { m_utilizationPreferencesHasBeenSet = true; m_utilizationPreferences.push_back(std::move(value)); return *this; } + + + /** + *

    The preference to control which resource type values are considered when + * generating rightsizing recommendations. You can specify this preference as a + * combination of include and exclude lists. You must specify either an + * includeList or excludeList. If the preference is an + * empty set of resource type values, an error occurs.

    You can only + * set this preference for the Amazon EC2 instance and Auto Scaling group resource + * types.

    + */ + inline const Aws::Vector& GetPreferredResources() const{ return m_preferredResources; } + + /** + *

    The preference to control which resource type values are considered when + * generating rightsizing recommendations. You can specify this preference as a + * combination of include and exclude lists. You must specify either an + * includeList or excludeList. If the preference is an + * empty set of resource type values, an error occurs.

    You can only + * set this preference for the Amazon EC2 instance and Auto Scaling group resource + * types.

    + */ + inline bool PreferredResourcesHasBeenSet() const { return m_preferredResourcesHasBeenSet; } + + /** + *

    The preference to control which resource type values are considered when + * generating rightsizing recommendations. You can specify this preference as a + * combination of include and exclude lists. You must specify either an + * includeList or excludeList. If the preference is an + * empty set of resource type values, an error occurs.

    You can only + * set this preference for the Amazon EC2 instance and Auto Scaling group resource + * types.

    + */ + inline void SetPreferredResources(const Aws::Vector& value) { m_preferredResourcesHasBeenSet = true; m_preferredResources = value; } + + /** + *

    The preference to control which resource type values are considered when + * generating rightsizing recommendations. You can specify this preference as a + * combination of include and exclude lists. You must specify either an + * includeList or excludeList. If the preference is an + * empty set of resource type values, an error occurs.

    You can only + * set this preference for the Amazon EC2 instance and Auto Scaling group resource + * types.

    + */ + inline void SetPreferredResources(Aws::Vector&& value) { m_preferredResourcesHasBeenSet = true; m_preferredResources = std::move(value); } + + /** + *

    The preference to control which resource type values are considered when + * generating rightsizing recommendations. You can specify this preference as a + * combination of include and exclude lists. You must specify either an + * includeList or excludeList. If the preference is an + * empty set of resource type values, an error occurs.

    You can only + * set this preference for the Amazon EC2 instance and Auto Scaling group resource + * types.

    + */ + inline PutRecommendationPreferencesRequest& WithPreferredResources(const Aws::Vector& value) { SetPreferredResources(value); return *this;} + + /** + *

    The preference to control which resource type values are considered when + * generating rightsizing recommendations. You can specify this preference as a + * combination of include and exclude lists. You must specify either an + * includeList or excludeList. If the preference is an + * empty set of resource type values, an error occurs.

    You can only + * set this preference for the Amazon EC2 instance and Auto Scaling group resource + * types.

    + */ + inline PutRecommendationPreferencesRequest& WithPreferredResources(Aws::Vector&& value) { SetPreferredResources(std::move(value)); return *this;} + + /** + *

    The preference to control which resource type values are considered when + * generating rightsizing recommendations. You can specify this preference as a + * combination of include and exclude lists. You must specify either an + * includeList or excludeList. If the preference is an + * empty set of resource type values, an error occurs.

    You can only + * set this preference for the Amazon EC2 instance and Auto Scaling group resource + * types.

    + */ + inline PutRecommendationPreferencesRequest& AddPreferredResources(const PreferredResource& value) { m_preferredResourcesHasBeenSet = true; m_preferredResources.push_back(value); return *this; } + + /** + *

    The preference to control which resource type values are considered when + * generating rightsizing recommendations. You can specify this preference as a + * combination of include and exclude lists. You must specify either an + * includeList or excludeList. If the preference is an + * empty set of resource type values, an error occurs.

    You can only + * set this preference for the Amazon EC2 instance and Auto Scaling group resource + * types.

    + */ + inline PutRecommendationPreferencesRequest& AddPreferredResources(PreferredResource&& value) { m_preferredResourcesHasBeenSet = true; m_preferredResources.push_back(std::move(value)); return *this; } + + + /** + *

    The status of the savings estimation mode preference to create or update. + *

    Specify the AfterDiscounts status to activate the + * preference, or specify BeforeDiscounts to deactivate the + * preference.

    Only the account manager or delegated administrator of your + * organization can activate this preference.

    For more information, see + * Savings estimation mode in the Compute Optimizer User Guide.

    + */ + inline const SavingsEstimationMode& GetSavingsEstimationMode() const{ return m_savingsEstimationMode; } + + /** + *

    The status of the savings estimation mode preference to create or update. + *

    Specify the AfterDiscounts status to activate the + * preference, or specify BeforeDiscounts to deactivate the + * preference.

    Only the account manager or delegated administrator of your + * organization can activate this preference.

    For more information, see + * Savings estimation mode in the Compute Optimizer User Guide.

    + */ + inline bool SavingsEstimationModeHasBeenSet() const { return m_savingsEstimationModeHasBeenSet; } + + /** + *

    The status of the savings estimation mode preference to create or update. + *

    Specify the AfterDiscounts status to activate the + * preference, or specify BeforeDiscounts to deactivate the + * preference.

    Only the account manager or delegated administrator of your + * organization can activate this preference.

    For more information, see + * Savings estimation mode in the Compute Optimizer User Guide.

    + */ + inline void SetSavingsEstimationMode(const SavingsEstimationMode& value) { m_savingsEstimationModeHasBeenSet = true; m_savingsEstimationMode = value; } + + /** + *

    The status of the savings estimation mode preference to create or update. + *

    Specify the AfterDiscounts status to activate the + * preference, or specify BeforeDiscounts to deactivate the + * preference.

    Only the account manager or delegated administrator of your + * organization can activate this preference.

    For more information, see + * Savings estimation mode in the Compute Optimizer User Guide.

    + */ + inline void SetSavingsEstimationMode(SavingsEstimationMode&& value) { m_savingsEstimationModeHasBeenSet = true; m_savingsEstimationMode = std::move(value); } + + /** + *

    The status of the savings estimation mode preference to create or update. + *

    Specify the AfterDiscounts status to activate the + * preference, or specify BeforeDiscounts to deactivate the + * preference.

    Only the account manager or delegated administrator of your + * organization can activate this preference.

    For more information, see + * Savings estimation mode in the Compute Optimizer User Guide.

    + */ + inline PutRecommendationPreferencesRequest& WithSavingsEstimationMode(const SavingsEstimationMode& value) { SetSavingsEstimationMode(value); return *this;} + + /** + *

    The status of the savings estimation mode preference to create or update. + *

    Specify the AfterDiscounts status to activate the + * preference, or specify BeforeDiscounts to deactivate the + * preference.

    Only the account manager or delegated administrator of your + * organization can activate this preference.

    For more information, see + * Savings estimation mode in the Compute Optimizer User Guide.

    + */ + inline PutRecommendationPreferencesRequest& WithSavingsEstimationMode(SavingsEstimationMode&& value) { SetSavingsEstimationMode(std::move(value)); return *this;} + private: ResourceType m_resourceType; @@ -430,6 +727,18 @@ namespace Model ExternalMetricsPreference m_externalMetricsPreference; bool m_externalMetricsPreferenceHasBeenSet = false; + + LookBackPeriodPreference m_lookBackPeriod; + bool m_lookBackPeriodHasBeenSet = false; + + Aws::Vector m_utilizationPreferences; + bool m_utilizationPreferencesHasBeenSet = false; + + Aws::Vector m_preferredResources; + bool m_preferredResourcesHasBeenSet = false; + + SavingsEstimationMode m_savingsEstimationMode; + bool m_savingsEstimationModeHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/RecommendationPreferenceName.h b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/RecommendationPreferenceName.h index 5aed9df27b7..9752602472d 100644 --- a/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/RecommendationPreferenceName.h +++ b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/RecommendationPreferenceName.h @@ -18,7 +18,10 @@ namespace Model NOT_SET, EnhancedInfrastructureMetrics, InferredWorkloadTypes, - ExternalMetricsPreference + ExternalMetricsPreference, + LookBackPeriodPreference, + PreferredResources, + UtilizationPreferences }; namespace RecommendationPreferenceNameMapper diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/RecommendationPreferencesDetail.h b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/RecommendationPreferencesDetail.h index 6bf48990389..9d33d9aef3b 100644 --- a/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/RecommendationPreferencesDetail.h +++ b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/RecommendationPreferencesDetail.h @@ -10,6 +10,11 @@ #include #include #include +#include +#include +#include +#include +#include #include namespace Aws @@ -345,6 +350,222 @@ namespace Model */ inline RecommendationPreferencesDetail& WithExternalMetricsPreference(ExternalMetricsPreference&& value) { SetExternalMetricsPreference(std::move(value)); return *this;} + + /** + *

    The preference to control the number of days the utilization metrics of the + * Amazon Web Services resource are analyzed. If the preference isn’t set, this + * object is null.

    + */ + inline const LookBackPeriodPreference& GetLookBackPeriod() const{ return m_lookBackPeriod; } + + /** + *

    The preference to control the number of days the utilization metrics of the + * Amazon Web Services resource are analyzed. If the preference isn’t set, this + * object is null.

    + */ + inline bool LookBackPeriodHasBeenSet() const { return m_lookBackPeriodHasBeenSet; } + + /** + *

    The preference to control the number of days the utilization metrics of the + * Amazon Web Services resource are analyzed. If the preference isn’t set, this + * object is null.

    + */ + inline void SetLookBackPeriod(const LookBackPeriodPreference& value) { m_lookBackPeriodHasBeenSet = true; m_lookBackPeriod = value; } + + /** + *

    The preference to control the number of days the utilization metrics of the + * Amazon Web Services resource are analyzed. If the preference isn’t set, this + * object is null.

    + */ + inline void SetLookBackPeriod(LookBackPeriodPreference&& value) { m_lookBackPeriodHasBeenSet = true; m_lookBackPeriod = std::move(value); } + + /** + *

    The preference to control the number of days the utilization metrics of the + * Amazon Web Services resource are analyzed. If the preference isn’t set, this + * object is null.

    + */ + inline RecommendationPreferencesDetail& WithLookBackPeriod(const LookBackPeriodPreference& value) { SetLookBackPeriod(value); return *this;} + + /** + *

    The preference to control the number of days the utilization metrics of the + * Amazon Web Services resource are analyzed. If the preference isn’t set, this + * object is null.

    + */ + inline RecommendationPreferencesDetail& WithLookBackPeriod(LookBackPeriodPreference&& value) { SetLookBackPeriod(std::move(value)); return *this;} + + + /** + *

    The preference to control the resource’s CPU utilization thresholds - + * threshold and headroom. If the preference isn’t set, this object is null.

    + *

    This preference is only available for the Amazon EC2 instance resource + * type.

    + */ + inline const Aws::Vector& GetUtilizationPreferences() const{ return m_utilizationPreferences; } + + /** + *

    The preference to control the resource’s CPU utilization thresholds - + * threshold and headroom. If the preference isn’t set, this object is null.

    + *

    This preference is only available for the Amazon EC2 instance resource + * type.

    + */ + inline bool UtilizationPreferencesHasBeenSet() const { return m_utilizationPreferencesHasBeenSet; } + + /** + *

    The preference to control the resource’s CPU utilization thresholds - + * threshold and headroom. If the preference isn’t set, this object is null.

    + *

    This preference is only available for the Amazon EC2 instance resource + * type.

    + */ + inline void SetUtilizationPreferences(const Aws::Vector& value) { m_utilizationPreferencesHasBeenSet = true; m_utilizationPreferences = value; } + + /** + *

    The preference to control the resource’s CPU utilization thresholds - + * threshold and headroom. If the preference isn’t set, this object is null.

    + *

    This preference is only available for the Amazon EC2 instance resource + * type.

    + */ + inline void SetUtilizationPreferences(Aws::Vector&& value) { m_utilizationPreferencesHasBeenSet = true; m_utilizationPreferences = std::move(value); } + + /** + *

    The preference to control the resource’s CPU utilization thresholds - + * threshold and headroom. If the preference isn’t set, this object is null.

    + *

    This preference is only available for the Amazon EC2 instance resource + * type.

    + */ + inline RecommendationPreferencesDetail& WithUtilizationPreferences(const Aws::Vector& value) { SetUtilizationPreferences(value); return *this;} + + /** + *

    The preference to control the resource’s CPU utilization thresholds - + * threshold and headroom. If the preference isn’t set, this object is null.

    + *

    This preference is only available for the Amazon EC2 instance resource + * type.

    + */ + inline RecommendationPreferencesDetail& WithUtilizationPreferences(Aws::Vector&& value) { SetUtilizationPreferences(std::move(value)); return *this;} + + /** + *

    The preference to control the resource’s CPU utilization thresholds - + * threshold and headroom. If the preference isn’t set, this object is null.

    + *

    This preference is only available for the Amazon EC2 instance resource + * type.

    + */ + inline RecommendationPreferencesDetail& AddUtilizationPreferences(const UtilizationPreference& value) { m_utilizationPreferencesHasBeenSet = true; m_utilizationPreferences.push_back(value); return *this; } + + /** + *

    The preference to control the resource’s CPU utilization thresholds - + * threshold and headroom. If the preference isn’t set, this object is null.

    + *

    This preference is only available for the Amazon EC2 instance resource + * type.

    + */ + inline RecommendationPreferencesDetail& AddUtilizationPreferences(UtilizationPreference&& value) { m_utilizationPreferencesHasBeenSet = true; m_utilizationPreferences.push_back(std::move(value)); return *this; } + + + /** + *

    The preference to control which resource type values are considered when + * generating rightsizing recommendations. This object resolves any wildcard + * expressions and returns the effective list of candidate resource type values. If + * the preference isn’t set, this object is null.

    + */ + inline const Aws::Vector& GetPreferredResources() const{ return m_preferredResources; } + + /** + *

    The preference to control which resource type values are considered when + * generating rightsizing recommendations. This object resolves any wildcard + * expressions and returns the effective list of candidate resource type values. If + * the preference isn’t set, this object is null.

    + */ + inline bool PreferredResourcesHasBeenSet() const { return m_preferredResourcesHasBeenSet; } + + /** + *

    The preference to control which resource type values are considered when + * generating rightsizing recommendations. This object resolves any wildcard + * expressions and returns the effective list of candidate resource type values. If + * the preference isn’t set, this object is null.

    + */ + inline void SetPreferredResources(const Aws::Vector& value) { m_preferredResourcesHasBeenSet = true; m_preferredResources = value; } + + /** + *

    The preference to control which resource type values are considered when + * generating rightsizing recommendations. This object resolves any wildcard + * expressions and returns the effective list of candidate resource type values. If + * the preference isn’t set, this object is null.

    + */ + inline void SetPreferredResources(Aws::Vector&& value) { m_preferredResourcesHasBeenSet = true; m_preferredResources = std::move(value); } + + /** + *

    The preference to control which resource type values are considered when + * generating rightsizing recommendations. This object resolves any wildcard + * expressions and returns the effective list of candidate resource type values. If + * the preference isn’t set, this object is null.

    + */ + inline RecommendationPreferencesDetail& WithPreferredResources(const Aws::Vector& value) { SetPreferredResources(value); return *this;} + + /** + *

    The preference to control which resource type values are considered when + * generating rightsizing recommendations. This object resolves any wildcard + * expressions and returns the effective list of candidate resource type values. If + * the preference isn’t set, this object is null.

    + */ + inline RecommendationPreferencesDetail& WithPreferredResources(Aws::Vector&& value) { SetPreferredResources(std::move(value)); return *this;} + + /** + *

    The preference to control which resource type values are considered when + * generating rightsizing recommendations. This object resolves any wildcard + * expressions and returns the effective list of candidate resource type values. If + * the preference isn’t set, this object is null.

    + */ + inline RecommendationPreferencesDetail& AddPreferredResources(const EffectivePreferredResource& value) { m_preferredResourcesHasBeenSet = true; m_preferredResources.push_back(value); return *this; } + + /** + *

    The preference to control which resource type values are considered when + * generating rightsizing recommendations. This object resolves any wildcard + * expressions and returns the effective list of candidate resource type values. If + * the preference isn’t set, this object is null.

    + */ + inline RecommendationPreferencesDetail& AddPreferredResources(EffectivePreferredResource&& value) { m_preferredResourcesHasBeenSet = true; m_preferredResources.push_back(std::move(value)); return *this; } + + + /** + *

    Describes the savings estimation mode used for calculating savings + * opportunity.

    Only the account manager or delegated administrator of your + * organization can activate this preference.

    + */ + inline const SavingsEstimationMode& GetSavingsEstimationMode() const{ return m_savingsEstimationMode; } + + /** + *

    Describes the savings estimation mode used for calculating savings + * opportunity.

    Only the account manager or delegated administrator of your + * organization can activate this preference.

    + */ + inline bool SavingsEstimationModeHasBeenSet() const { return m_savingsEstimationModeHasBeenSet; } + + /** + *

    Describes the savings estimation mode used for calculating savings + * opportunity.

    Only the account manager or delegated administrator of your + * organization can activate this preference.

    + */ + inline void SetSavingsEstimationMode(const SavingsEstimationMode& value) { m_savingsEstimationModeHasBeenSet = true; m_savingsEstimationMode = value; } + + /** + *

    Describes the savings estimation mode used for calculating savings + * opportunity.

    Only the account manager or delegated administrator of your + * organization can activate this preference.

    + */ + inline void SetSavingsEstimationMode(SavingsEstimationMode&& value) { m_savingsEstimationModeHasBeenSet = true; m_savingsEstimationMode = std::move(value); } + + /** + *

    Describes the savings estimation mode used for calculating savings + * opportunity.

    Only the account manager or delegated administrator of your + * organization can activate this preference.

    + */ + inline RecommendationPreferencesDetail& WithSavingsEstimationMode(const SavingsEstimationMode& value) { SetSavingsEstimationMode(value); return *this;} + + /** + *

    Describes the savings estimation mode used for calculating savings + * opportunity.

    Only the account manager or delegated administrator of your + * organization can activate this preference.

    + */ + inline RecommendationPreferencesDetail& WithSavingsEstimationMode(SavingsEstimationMode&& value) { SetSavingsEstimationMode(std::move(value)); return *this;} + private: Scope m_scope; @@ -361,6 +582,18 @@ namespace Model ExternalMetricsPreference m_externalMetricsPreference; bool m_externalMetricsPreferenceHasBeenSet = false; + + LookBackPeriodPreference m_lookBackPeriod; + bool m_lookBackPeriodHasBeenSet = false; + + Aws::Vector m_utilizationPreferences; + bool m_utilizationPreferencesHasBeenSet = false; + + Aws::Vector m_preferredResources; + bool m_preferredResourcesHasBeenSet = false; + + SavingsEstimationMode m_savingsEstimationMode; + bool m_savingsEstimationModeHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/SavingsEstimationMode.h b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/SavingsEstimationMode.h new file mode 100644 index 00000000000..255cc5a13dc --- /dev/null +++ b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/SavingsEstimationMode.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 ComputeOptimizer +{ +namespace Model +{ + enum class SavingsEstimationMode + { + NOT_SET, + AfterDiscounts, + BeforeDiscounts + }; + +namespace SavingsEstimationModeMapper +{ +AWS_COMPUTEOPTIMIZER_API SavingsEstimationMode GetSavingsEstimationModeForName(const Aws::String& name); + +AWS_COMPUTEOPTIMIZER_API Aws::String GetNameForSavingsEstimationMode(SavingsEstimationMode value); +} // namespace SavingsEstimationModeMapper +} // namespace Model +} // namespace ComputeOptimizer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/UtilizationPreference.h b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/UtilizationPreference.h new file mode 100644 index 00000000000..aa34e167895 --- /dev/null +++ b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/UtilizationPreference.h @@ -0,0 +1,127 @@ +/** + * 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 ComputeOptimizer +{ +namespace Model +{ + + /** + *

    The preference to control the resource’s CPU utilization thresholds - + * threshold and headroom.

    This preference is only available for the + * Amazon EC2 instance resource type.

    See Also:

    AWS + * API Reference

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

    The name of the resource utilization metric name to customize.

    + *

    Compute Optimizer only supports CpuUtilization.

    + */ + inline const CustomizableMetricName& GetMetricName() const{ return m_metricName; } + + /** + *

    The name of the resource utilization metric name to customize.

    + *

    Compute Optimizer only supports CpuUtilization.

    + */ + inline bool MetricNameHasBeenSet() const { return m_metricNameHasBeenSet; } + + /** + *

    The name of the resource utilization metric name to customize.

    + *

    Compute Optimizer only supports CpuUtilization.

    + */ + inline void SetMetricName(const CustomizableMetricName& value) { m_metricNameHasBeenSet = true; m_metricName = value; } + + /** + *

    The name of the resource utilization metric name to customize.

    + *

    Compute Optimizer only supports CpuUtilization.

    + */ + inline void SetMetricName(CustomizableMetricName&& value) { m_metricNameHasBeenSet = true; m_metricName = std::move(value); } + + /** + *

    The name of the resource utilization metric name to customize.

    + *

    Compute Optimizer only supports CpuUtilization.

    + */ + inline UtilizationPreference& WithMetricName(const CustomizableMetricName& value) { SetMetricName(value); return *this;} + + /** + *

    The name of the resource utilization metric name to customize.

    + *

    Compute Optimizer only supports CpuUtilization.

    + */ + inline UtilizationPreference& WithMetricName(CustomizableMetricName&& value) { SetMetricName(std::move(value)); return *this;} + + + /** + *

    The parameters to set when customizing the resource utilization thresholds. + *

    + */ + inline const CustomizableMetricParameters& GetMetricParameters() const{ return m_metricParameters; } + + /** + *

    The parameters to set when customizing the resource utilization thresholds. + *

    + */ + inline bool MetricParametersHasBeenSet() const { return m_metricParametersHasBeenSet; } + + /** + *

    The parameters to set when customizing the resource utilization thresholds. + *

    + */ + inline void SetMetricParameters(const CustomizableMetricParameters& value) { m_metricParametersHasBeenSet = true; m_metricParameters = value; } + + /** + *

    The parameters to set when customizing the resource utilization thresholds. + *

    + */ + inline void SetMetricParameters(CustomizableMetricParameters&& value) { m_metricParametersHasBeenSet = true; m_metricParameters = std::move(value); } + + /** + *

    The parameters to set when customizing the resource utilization thresholds. + *

    + */ + inline UtilizationPreference& WithMetricParameters(const CustomizableMetricParameters& value) { SetMetricParameters(value); return *this;} + + /** + *

    The parameters to set when customizing the resource utilization thresholds. + *

    + */ + inline UtilizationPreference& WithMetricParameters(CustomizableMetricParameters&& value) { SetMetricParameters(std::move(value)); return *this;} + + private: + + CustomizableMetricName m_metricName; + bool m_metricNameHasBeenSet = false; + + CustomizableMetricParameters m_metricParameters; + bool m_metricParametersHasBeenSet = false; + }; + +} // namespace Model +} // namespace ComputeOptimizer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/VolumeRecommendation.h b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/VolumeRecommendation.h index d0920af397b..290c9648da6 100644 --- a/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/VolumeRecommendation.h +++ b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/VolumeRecommendation.h @@ -11,6 +11,7 @@ #include #include #include +#include #include #include #include @@ -467,6 +468,43 @@ namespace Model */ inline VolumeRecommendation& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } + + /** + *

    Describes the effective recommendation preferences for Amazon EBS volume. + *

    + */ + inline const EBSEffectiveRecommendationPreferences& GetEffectiveRecommendationPreferences() const{ return m_effectiveRecommendationPreferences; } + + /** + *

    Describes the effective recommendation preferences for Amazon EBS volume. + *

    + */ + inline bool EffectiveRecommendationPreferencesHasBeenSet() const { return m_effectiveRecommendationPreferencesHasBeenSet; } + + /** + *

    Describes the effective recommendation preferences for Amazon EBS volume. + *

    + */ + inline void SetEffectiveRecommendationPreferences(const EBSEffectiveRecommendationPreferences& value) { m_effectiveRecommendationPreferencesHasBeenSet = true; m_effectiveRecommendationPreferences = value; } + + /** + *

    Describes the effective recommendation preferences for Amazon EBS volume. + *

    + */ + inline void SetEffectiveRecommendationPreferences(EBSEffectiveRecommendationPreferences&& value) { m_effectiveRecommendationPreferencesHasBeenSet = true; m_effectiveRecommendationPreferences = std::move(value); } + + /** + *

    Describes the effective recommendation preferences for Amazon EBS volume. + *

    + */ + inline VolumeRecommendation& WithEffectiveRecommendationPreferences(const EBSEffectiveRecommendationPreferences& value) { SetEffectiveRecommendationPreferences(value); return *this;} + + /** + *

    Describes the effective recommendation preferences for Amazon EBS volume. + *

    + */ + inline VolumeRecommendation& WithEffectiveRecommendationPreferences(EBSEffectiveRecommendationPreferences&& value) { SetEffectiveRecommendationPreferences(std::move(value)); return *this;} + private: Aws::String m_volumeArn; @@ -498,6 +536,9 @@ namespace Model Aws::Vector m_tags; bool m_tagsHasBeenSet = false; + + EBSEffectiveRecommendationPreferences m_effectiveRecommendationPreferences; + bool m_effectiveRecommendationPreferencesHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/VolumeRecommendationOption.h b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/VolumeRecommendationOption.h index 4e7970d0cbf..43fc69b1c39 100644 --- a/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/VolumeRecommendationOption.h +++ b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/model/VolumeRecommendationOption.h @@ -7,6 +7,7 @@ #include #include #include +#include #include namespace Aws @@ -186,6 +187,49 @@ namespace Model */ inline VolumeRecommendationOption& WithSavingsOpportunity(SavingsOpportunity&& value) { SetSavingsOpportunity(std::move(value)); return *this;} + + /** + *

    An object that describes the savings opportunity for the Amazon EBS volume + * recommendation option with specific discounts. Savings opportunity includes the + * estimated monthly savings and percentage.

    + */ + inline const EBSSavingsOpportunityAfterDiscounts& GetSavingsOpportunityAfterDiscounts() const{ return m_savingsOpportunityAfterDiscounts; } + + /** + *

    An object that describes the savings opportunity for the Amazon EBS volume + * recommendation option with specific discounts. Savings opportunity includes the + * estimated monthly savings and percentage.

    + */ + inline bool SavingsOpportunityAfterDiscountsHasBeenSet() const { return m_savingsOpportunityAfterDiscountsHasBeenSet; } + + /** + *

    An object that describes the savings opportunity for the Amazon EBS volume + * recommendation option with specific discounts. Savings opportunity includes the + * estimated monthly savings and percentage.

    + */ + inline void SetSavingsOpportunityAfterDiscounts(const EBSSavingsOpportunityAfterDiscounts& value) { m_savingsOpportunityAfterDiscountsHasBeenSet = true; m_savingsOpportunityAfterDiscounts = value; } + + /** + *

    An object that describes the savings opportunity for the Amazon EBS volume + * recommendation option with specific discounts. Savings opportunity includes the + * estimated monthly savings and percentage.

    + */ + inline void SetSavingsOpportunityAfterDiscounts(EBSSavingsOpportunityAfterDiscounts&& value) { m_savingsOpportunityAfterDiscountsHasBeenSet = true; m_savingsOpportunityAfterDiscounts = std::move(value); } + + /** + *

    An object that describes the savings opportunity for the Amazon EBS volume + * recommendation option with specific discounts. Savings opportunity includes the + * estimated monthly savings and percentage.

    + */ + inline VolumeRecommendationOption& WithSavingsOpportunityAfterDiscounts(const EBSSavingsOpportunityAfterDiscounts& value) { SetSavingsOpportunityAfterDiscounts(value); return *this;} + + /** + *

    An object that describes the savings opportunity for the Amazon EBS volume + * recommendation option with specific discounts. Savings opportunity includes the + * estimated monthly savings and percentage.

    + */ + inline VolumeRecommendationOption& WithSavingsOpportunityAfterDiscounts(EBSSavingsOpportunityAfterDiscounts&& value) { SetSavingsOpportunityAfterDiscounts(std::move(value)); return *this;} + private: VolumeConfiguration m_configuration; @@ -199,6 +243,9 @@ namespace Model SavingsOpportunity m_savingsOpportunity; bool m_savingsOpportunityHasBeenSet = false; + + EBSSavingsOpportunityAfterDiscounts m_savingsOpportunityAfterDiscounts; + bool m_savingsOpportunityAfterDiscountsHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/source/ComputeOptimizerEndpointRules.cpp b/generated/src/aws-cpp-sdk-compute-optimizer/source/ComputeOptimizerEndpointRules.cpp index ef337f6b78f..d935fdd9ef0 100644 --- a/generated/src/aws-cpp-sdk-compute-optimizer/source/ComputeOptimizerEndpointRules.cpp +++ b/generated/src/aws-cpp-sdk-compute-optimizer/source/ComputeOptimizerEndpointRules.cpp @@ -51,108 +51,108 @@ static constexpr RulesBlobT RulesBlob = {{ ',','"','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','"',':','[','{','"','f','n','"',':','"', 'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', -'d','p','o','i','n','t','"','}',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', -',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', -'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r', -'u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','C','o', -'n','f','i','g','u','r','a','t','i','o','n',':',' ','F','I','P','S',' ','a','n','d',' ','c','u','s', -'t','o','m',' ','e','n','d','p','o','i','n','t',' ','a','r','e',' ','n','o','t',' ','s','u','p','p', -'o','r','t','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e', +'d','p','o','i','n','t','"','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', +'s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':', +'"','I','n','v','a','l','i','d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','F', +'I','P','S',' ','a','n','d',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','a', +'r','e',' ','n','o','t',' ','s','u','p','p','o','r','t','e','d','"',',','"','t','y','p','e','"',':', +'"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"', +'}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i', +'d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','D','u','a','l','s','t','a','c', +'k',' ','a','n','d',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','a','r','e', +' ','n','o','t',' ','s','u','p','p','o','r','t','e','d','"',',','"','t','y','p','e','"',':','"','e', +'r','r','o','r','"','}',',','{','"','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','"',':','{', +'}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e', +'n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s', +'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i', +'o','n','"','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i', +'o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o', +'n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','P','a','r','t','i','t','i','o','n','R', +'e','s','u','l','t','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F', +'I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', 'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', '"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"', -'e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','C','o','n','f','i','g','u','r','a', -'t','i','o','n',':',' ','D','u','a','l','s','t','a','c','k',' ','a','n','d',' ','c','u','s','t','o', -'m',' ','e','n','d','p','o','i','n','t',' ','a','r','e',' ','n','o','t',' ','s','u','p','p','o','r', -'t','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o', +'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R', +'e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','F','I','P','S','"',']','}',']', +'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t', +'r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t', +'i','o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','D','u','a','l', +'S','t','a','c','k','"',']','}',']','}',']',',','"','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','"',':','{','}',',','"','h','e','a','d','e','r','s','"', -':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}', -',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s', -'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i', -'o','n','"','}',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u', -'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', -'"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g', -'n','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',']',',','"','t', -'y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o', -'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', -'s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o', -'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}', -']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o', -'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','t','r','u','e',',', -'{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',', -'"','s','u','p','p','o','r','t','s','F','I','P','S','"',']','}',']','}',',','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','t', -'r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l', -'t','"','}',',','"','s','u','p','p','o','r','t','s','D','u','a','l','S','t','a','c','k','"',']','}', -']','}',']',',','"','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','"',':','"','h','t','t','p','s',':','/','/','c','o','m','p', -'u','t','e','-','o','p','t','i','m','i','z','e','r','-','f','i','p','s','.','{','R','e','g','i','o', -'n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','u','a','l','S', -'t','a','c','k','D','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i', -'e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', -'e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t', -'i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','F','I','P','S',' ','a','n', -'d',' ','D','u','a','l','S','t','a','c','k',' ','a','r','e',' ','e','n','a','b','l','e','d',',',' ', -'b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ','n', -'o','t',' ','s','u','p','p','o','r','t',' ','o','n','e',' ','o','r',' ','b','o','t','h','"',',','"', -'t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',',','{','"','c','o','n','d','i','t', -'i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I', -'P','S','"','}',',','t','r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', -'"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i', -'o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','F','I','P','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','"',':','"','h','t','t','p','s',':','/','/','c','o', -'m','p','u','t','e','-','o','p','t','i','m','i','z','e','r','-','f','i','p','s','.','{','R','e','g', -'i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s', -'S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',', -'"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d', -'p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', -']',',','"','e','r','r','o','r','"',':','"','F','I','P','S',' ','i','s',' ','e','n','a','b','l','e', -'d',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s', -' ','n','o','t',' ','s','u','p','p','o','r','t',' ','F','I','P','S','"',',','"','t','y','p','e','"', -':','"','e','r','r','o','r','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', -':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a', -'c','k','"','}',',','t','r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', -'"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i', -'o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','D','u','a','l','S', -'t','a','c','k','"',']','}',']','}',']',',','"','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','"',':','"','h','t','t','p','s', -':','/','/','c','o','m','p','u','t','e','-','o','p','t','i','m','i','z','e','r','.','{','R','e','g', -'i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','u','a', -'l','S','t','a','c','k','D','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r', -'t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t', -'y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d', -'i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','D','u','a','l','S', -'t','a','c','k',' ','i','s',' ','e','n','a','b','l','e','d',' ','b','u','t',' ','t','h','i','s',' ', -'p','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r', -'t',' ','D','u','a','l','S','t','a','c','k','"',',','"','t','y','p','e','"',':','"','e','r','r','o', -'r','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e', -'n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/', -'c','o','m','p','u','t','e','-','o','p','t','i','m','i','z','e','r','.','{','R','e','g','i','o','n', -'}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f', -'f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e', -'a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i', -'n','t','"','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']', +'"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','c','o','m','p','u','t','e','-','o','p', +'t','i','m','i','z','e','r','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','P','a', +'r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','u','a','l','S','t','a','c','k','D','n', +'s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}', +',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n', +'d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',', +'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':', +'"','F','I','P','S',' ','a','n','d',' ','D','u','a','l','S','t','a','c','k',' ','a','r','e',' ','e', +'n','a','b','l','e','d',',',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o', +'n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','o','n','e',' ','o','r', +' ','b','o','t','h','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"', +'t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"', +'}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A', +'t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t', +'i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','F','I', +'P','S','"',']','}',',','t','r','u','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','"',':','"','h','t','t','p','s',':','/','/','c','o','m','p','u','t','e','-', +'o','p','t','i','m','i','z','e','r','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{', +'P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x', +'}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e', +'r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"', +'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','F','I','P','S',' ','i', +'s',' ','e','n','a','b','l','e','d',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t', +'i','o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','F','I','P','S', +'"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"', +':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"', +'}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','t','r','u','e',',','{','"','f','n','"',':', +'"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o', +'r','t','s','D','u','a','l','S','t','a','c','k','"',']','}',']','}',']',',','"','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','"',':','"','h','t','t','p','s',':','/','/','c','o','m', +'p','u','t','e','-','o','p','t','i','m','i','z','e','r','.','{','R','e','g','i','o','n','}','.','{', +'P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','u','a','l','S','t','a','c','k', +'D','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':', +'{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"', +'e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', +'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r', +'"',':','"','D','u','a','l','S','t','a','c','k',' ','i','s',' ','e','n','a','b','l','e','d',' ','b', +'u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ','n','o', +'t',' ','s','u','p','p','o','r','t',' ','D','u','a','l','S','t','a','c','k','"',',','"','t','y','p', +'e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', +'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p', +'o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','c','o','m', +'p','u','t','e','-','o','p','t','i','m','i','z','e','r','.','{','R','e','g','i','o','n','}','.','{', +'P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x', +'}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e', +'r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"', +'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e','"', +':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']', ',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','C','o','n','f','i','g','u', 'r','a','t','i','o','n',':',' ','M','i','s','s','i','n','g',' ','R','e','g','i','o','n','"',',','"', 't','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}','\0' diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/source/model/AutoScalingGroupEstimatedMonthlySavings.cpp b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/AutoScalingGroupEstimatedMonthlySavings.cpp new file mode 100644 index 00000000000..ac48cbe9b09 --- /dev/null +++ b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/AutoScalingGroupEstimatedMonthlySavings.cpp @@ -0,0 +1,77 @@ +/** + * 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 ComputeOptimizer +{ +namespace Model +{ + +AutoScalingGroupEstimatedMonthlySavings::AutoScalingGroupEstimatedMonthlySavings() : + m_currency(Currency::NOT_SET), + m_currencyHasBeenSet(false), + m_value(0.0), + m_valueHasBeenSet(false) +{ +} + +AutoScalingGroupEstimatedMonthlySavings::AutoScalingGroupEstimatedMonthlySavings(JsonView jsonValue) : + m_currency(Currency::NOT_SET), + m_currencyHasBeenSet(false), + m_value(0.0), + m_valueHasBeenSet(false) +{ + *this = jsonValue; +} + +AutoScalingGroupEstimatedMonthlySavings& AutoScalingGroupEstimatedMonthlySavings::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("currency")) + { + m_currency = CurrencyMapper::GetCurrencyForName(jsonValue.GetString("currency")); + + m_currencyHasBeenSet = true; + } + + if(jsonValue.ValueExists("value")) + { + m_value = jsonValue.GetDouble("value"); + + m_valueHasBeenSet = true; + } + + return *this; +} + +JsonValue AutoScalingGroupEstimatedMonthlySavings::Jsonize() const +{ + JsonValue payload; + + if(m_currencyHasBeenSet) + { + payload.WithString("currency", CurrencyMapper::GetNameForCurrency(m_currency)); + } + + if(m_valueHasBeenSet) + { + payload.WithDouble("value", m_value); + + } + + return payload; +} + +} // namespace Model +} // namespace ComputeOptimizer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/source/model/AutoScalingGroupRecommendationOption.cpp b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/AutoScalingGroupRecommendationOption.cpp index 95e6489df35..cb84d445bb0 100644 --- a/generated/src/aws-cpp-sdk-compute-optimizer/source/model/AutoScalingGroupRecommendationOption.cpp +++ b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/AutoScalingGroupRecommendationOption.cpp @@ -28,7 +28,8 @@ AutoScalingGroupRecommendationOption::AutoScalingGroupRecommendationOption() : m_savingsOpportunityHasBeenSet(false), m_migrationEffort(MigrationEffort::NOT_SET), m_migrationEffortHasBeenSet(false), - m_instanceGpuInfoHasBeenSet(false) + m_instanceGpuInfoHasBeenSet(false), + m_savingsOpportunityAfterDiscountsHasBeenSet(false) { } @@ -42,7 +43,8 @@ AutoScalingGroupRecommendationOption::AutoScalingGroupRecommendationOption(JsonV m_savingsOpportunityHasBeenSet(false), m_migrationEffort(MigrationEffort::NOT_SET), m_migrationEffortHasBeenSet(false), - m_instanceGpuInfoHasBeenSet(false) + m_instanceGpuInfoHasBeenSet(false), + m_savingsOpportunityAfterDiscountsHasBeenSet(false) { *this = jsonValue; } @@ -101,6 +103,13 @@ AutoScalingGroupRecommendationOption& AutoScalingGroupRecommendationOption::oper m_instanceGpuInfoHasBeenSet = true; } + if(jsonValue.ValueExists("savingsOpportunityAfterDiscounts")) + { + m_savingsOpportunityAfterDiscounts = jsonValue.GetObject("savingsOpportunityAfterDiscounts"); + + m_savingsOpportunityAfterDiscountsHasBeenSet = true; + } + return *this; } @@ -154,6 +163,12 @@ JsonValue AutoScalingGroupRecommendationOption::Jsonize() const } + if(m_savingsOpportunityAfterDiscountsHasBeenSet) + { + payload.WithObject("savingsOpportunityAfterDiscounts", m_savingsOpportunityAfterDiscounts.Jsonize()); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/source/model/AutoScalingGroupSavingsOpportunityAfterDiscounts.cpp b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/AutoScalingGroupSavingsOpportunityAfterDiscounts.cpp new file mode 100644 index 00000000000..65a3b43d1be --- /dev/null +++ b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/AutoScalingGroupSavingsOpportunityAfterDiscounts.cpp @@ -0,0 +1,76 @@ +/** + * 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 ComputeOptimizer +{ +namespace Model +{ + +AutoScalingGroupSavingsOpportunityAfterDiscounts::AutoScalingGroupSavingsOpportunityAfterDiscounts() : + m_savingsOpportunityPercentage(0.0), + m_savingsOpportunityPercentageHasBeenSet(false), + m_estimatedMonthlySavingsHasBeenSet(false) +{ +} + +AutoScalingGroupSavingsOpportunityAfterDiscounts::AutoScalingGroupSavingsOpportunityAfterDiscounts(JsonView jsonValue) : + m_savingsOpportunityPercentage(0.0), + m_savingsOpportunityPercentageHasBeenSet(false), + m_estimatedMonthlySavingsHasBeenSet(false) +{ + *this = jsonValue; +} + +AutoScalingGroupSavingsOpportunityAfterDiscounts& AutoScalingGroupSavingsOpportunityAfterDiscounts::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("savingsOpportunityPercentage")) + { + m_savingsOpportunityPercentage = jsonValue.GetDouble("savingsOpportunityPercentage"); + + m_savingsOpportunityPercentageHasBeenSet = true; + } + + if(jsonValue.ValueExists("estimatedMonthlySavings")) + { + m_estimatedMonthlySavings = jsonValue.GetObject("estimatedMonthlySavings"); + + m_estimatedMonthlySavingsHasBeenSet = true; + } + + return *this; +} + +JsonValue AutoScalingGroupSavingsOpportunityAfterDiscounts::Jsonize() const +{ + JsonValue payload; + + if(m_savingsOpportunityPercentageHasBeenSet) + { + payload.WithDouble("savingsOpportunityPercentage", m_savingsOpportunityPercentage); + + } + + if(m_estimatedMonthlySavingsHasBeenSet) + { + payload.WithObject("estimatedMonthlySavings", m_estimatedMonthlySavings.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace ComputeOptimizer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/source/model/CustomizableMetricHeadroom.cpp b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/CustomizableMetricHeadroom.cpp new file mode 100644 index 00000000000..fe0c08eacbf --- /dev/null +++ b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/CustomizableMetricHeadroom.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 ComputeOptimizer + { + namespace Model + { + namespace CustomizableMetricHeadroomMapper + { + + static const int PERCENT_30_HASH = HashingUtils::HashString("PERCENT_30"); + static const int PERCENT_20_HASH = HashingUtils::HashString("PERCENT_20"); + static const int PERCENT_0_HASH = HashingUtils::HashString("PERCENT_0"); + + + CustomizableMetricHeadroom GetCustomizableMetricHeadroomForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == PERCENT_30_HASH) + { + return CustomizableMetricHeadroom::PERCENT_30; + } + else if (hashCode == PERCENT_20_HASH) + { + return CustomizableMetricHeadroom::PERCENT_20; + } + else if (hashCode == PERCENT_0_HASH) + { + return CustomizableMetricHeadroom::PERCENT_0; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return CustomizableMetricHeadroom::NOT_SET; + } + + Aws::String GetNameForCustomizableMetricHeadroom(CustomizableMetricHeadroom enumValue) + { + switch(enumValue) + { + case CustomizableMetricHeadroom::NOT_SET: + return {}; + case CustomizableMetricHeadroom::PERCENT_30: + return "PERCENT_30"; + case CustomizableMetricHeadroom::PERCENT_20: + return "PERCENT_20"; + case CustomizableMetricHeadroom::PERCENT_0: + return "PERCENT_0"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace CustomizableMetricHeadroomMapper + } // namespace Model + } // namespace ComputeOptimizer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/source/model/CustomizableMetricName.cpp b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/CustomizableMetricName.cpp new file mode 100644 index 00000000000..3ed8dc36594 --- /dev/null +++ b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/CustomizableMetricName.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 ComputeOptimizer + { + namespace Model + { + namespace CustomizableMetricNameMapper + { + + static const int CpuUtilization_HASH = HashingUtils::HashString("CpuUtilization"); + + + CustomizableMetricName GetCustomizableMetricNameForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == CpuUtilization_HASH) + { + return CustomizableMetricName::CpuUtilization; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return CustomizableMetricName::NOT_SET; + } + + Aws::String GetNameForCustomizableMetricName(CustomizableMetricName enumValue) + { + switch(enumValue) + { + case CustomizableMetricName::NOT_SET: + return {}; + case CustomizableMetricName::CpuUtilization: + return "CpuUtilization"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace CustomizableMetricNameMapper + } // namespace Model + } // namespace ComputeOptimizer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/source/model/CustomizableMetricParameters.cpp b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/CustomizableMetricParameters.cpp new file mode 100644 index 00000000000..ef19e5a5bc4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/CustomizableMetricParameters.cpp @@ -0,0 +1,76 @@ +/** + * 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 ComputeOptimizer +{ +namespace Model +{ + +CustomizableMetricParameters::CustomizableMetricParameters() : + m_threshold(CustomizableMetricThreshold::NOT_SET), + m_thresholdHasBeenSet(false), + m_headroom(CustomizableMetricHeadroom::NOT_SET), + m_headroomHasBeenSet(false) +{ +} + +CustomizableMetricParameters::CustomizableMetricParameters(JsonView jsonValue) : + m_threshold(CustomizableMetricThreshold::NOT_SET), + m_thresholdHasBeenSet(false), + m_headroom(CustomizableMetricHeadroom::NOT_SET), + m_headroomHasBeenSet(false) +{ + *this = jsonValue; +} + +CustomizableMetricParameters& CustomizableMetricParameters::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("threshold")) + { + m_threshold = CustomizableMetricThresholdMapper::GetCustomizableMetricThresholdForName(jsonValue.GetString("threshold")); + + m_thresholdHasBeenSet = true; + } + + if(jsonValue.ValueExists("headroom")) + { + m_headroom = CustomizableMetricHeadroomMapper::GetCustomizableMetricHeadroomForName(jsonValue.GetString("headroom")); + + m_headroomHasBeenSet = true; + } + + return *this; +} + +JsonValue CustomizableMetricParameters::Jsonize() const +{ + JsonValue payload; + + if(m_thresholdHasBeenSet) + { + payload.WithString("threshold", CustomizableMetricThresholdMapper::GetNameForCustomizableMetricThreshold(m_threshold)); + } + + if(m_headroomHasBeenSet) + { + payload.WithString("headroom", CustomizableMetricHeadroomMapper::GetNameForCustomizableMetricHeadroom(m_headroom)); + } + + return payload; +} + +} // namespace Model +} // namespace ComputeOptimizer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/source/model/CustomizableMetricThreshold.cpp b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/CustomizableMetricThreshold.cpp new file mode 100644 index 00000000000..6af8231dc07 --- /dev/null +++ b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/CustomizableMetricThreshold.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 ComputeOptimizer + { + namespace Model + { + namespace CustomizableMetricThresholdMapper + { + + static const int P90_HASH = HashingUtils::HashString("P90"); + static const int P95_HASH = HashingUtils::HashString("P95"); + static const int P99_5_HASH = HashingUtils::HashString("P99_5"); + + + CustomizableMetricThreshold GetCustomizableMetricThresholdForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == P90_HASH) + { + return CustomizableMetricThreshold::P90; + } + else if (hashCode == P95_HASH) + { + return CustomizableMetricThreshold::P95; + } + else if (hashCode == P99_5_HASH) + { + return CustomizableMetricThreshold::P99_5; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return CustomizableMetricThreshold::NOT_SET; + } + + Aws::String GetNameForCustomizableMetricThreshold(CustomizableMetricThreshold enumValue) + { + switch(enumValue) + { + case CustomizableMetricThreshold::NOT_SET: + return {}; + case CustomizableMetricThreshold::P90: + return "P90"; + case CustomizableMetricThreshold::P95: + return "P95"; + case CustomizableMetricThreshold::P99_5: + return "P99_5"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace CustomizableMetricThresholdMapper + } // namespace Model + } // namespace ComputeOptimizer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/source/model/EBSEffectiveRecommendationPreferences.cpp b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/EBSEffectiveRecommendationPreferences.cpp new file mode 100644 index 00000000000..d81191876ab --- /dev/null +++ b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/EBSEffectiveRecommendationPreferences.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 ComputeOptimizer +{ +namespace Model +{ + +EBSEffectiveRecommendationPreferences::EBSEffectiveRecommendationPreferences() : + m_savingsEstimationModeHasBeenSet(false) +{ +} + +EBSEffectiveRecommendationPreferences::EBSEffectiveRecommendationPreferences(JsonView jsonValue) : + m_savingsEstimationModeHasBeenSet(false) +{ + *this = jsonValue; +} + +EBSEffectiveRecommendationPreferences& EBSEffectiveRecommendationPreferences::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("savingsEstimationMode")) + { + m_savingsEstimationMode = jsonValue.GetObject("savingsEstimationMode"); + + m_savingsEstimationModeHasBeenSet = true; + } + + return *this; +} + +JsonValue EBSEffectiveRecommendationPreferences::Jsonize() const +{ + JsonValue payload; + + if(m_savingsEstimationModeHasBeenSet) + { + payload.WithObject("savingsEstimationMode", m_savingsEstimationMode.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace ComputeOptimizer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/source/model/EBSEstimatedMonthlySavings.cpp b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/EBSEstimatedMonthlySavings.cpp new file mode 100644 index 00000000000..db5c06173ed --- /dev/null +++ b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/EBSEstimatedMonthlySavings.cpp @@ -0,0 +1,77 @@ +/** + * 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 ComputeOptimizer +{ +namespace Model +{ + +EBSEstimatedMonthlySavings::EBSEstimatedMonthlySavings() : + m_currency(Currency::NOT_SET), + m_currencyHasBeenSet(false), + m_value(0.0), + m_valueHasBeenSet(false) +{ +} + +EBSEstimatedMonthlySavings::EBSEstimatedMonthlySavings(JsonView jsonValue) : + m_currency(Currency::NOT_SET), + m_currencyHasBeenSet(false), + m_value(0.0), + m_valueHasBeenSet(false) +{ + *this = jsonValue; +} + +EBSEstimatedMonthlySavings& EBSEstimatedMonthlySavings::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("currency")) + { + m_currency = CurrencyMapper::GetCurrencyForName(jsonValue.GetString("currency")); + + m_currencyHasBeenSet = true; + } + + if(jsonValue.ValueExists("value")) + { + m_value = jsonValue.GetDouble("value"); + + m_valueHasBeenSet = true; + } + + return *this; +} + +JsonValue EBSEstimatedMonthlySavings::Jsonize() const +{ + JsonValue payload; + + if(m_currencyHasBeenSet) + { + payload.WithString("currency", CurrencyMapper::GetNameForCurrency(m_currency)); + } + + if(m_valueHasBeenSet) + { + payload.WithDouble("value", m_value); + + } + + return payload; +} + +} // namespace Model +} // namespace ComputeOptimizer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/source/model/EBSSavingsEstimationMode.cpp b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/EBSSavingsEstimationMode.cpp new file mode 100644 index 00000000000..c2541c50596 --- /dev/null +++ b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/EBSSavingsEstimationMode.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 ComputeOptimizer +{ +namespace Model +{ + +EBSSavingsEstimationMode::EBSSavingsEstimationMode() : + m_source(EBSSavingsEstimationModeSource::NOT_SET), + m_sourceHasBeenSet(false) +{ +} + +EBSSavingsEstimationMode::EBSSavingsEstimationMode(JsonView jsonValue) : + m_source(EBSSavingsEstimationModeSource::NOT_SET), + m_sourceHasBeenSet(false) +{ + *this = jsonValue; +} + +EBSSavingsEstimationMode& EBSSavingsEstimationMode::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("source")) + { + m_source = EBSSavingsEstimationModeSourceMapper::GetEBSSavingsEstimationModeSourceForName(jsonValue.GetString("source")); + + m_sourceHasBeenSet = true; + } + + return *this; +} + +JsonValue EBSSavingsEstimationMode::Jsonize() const +{ + JsonValue payload; + + if(m_sourceHasBeenSet) + { + payload.WithString("source", EBSSavingsEstimationModeSourceMapper::GetNameForEBSSavingsEstimationModeSource(m_source)); + } + + return payload; +} + +} // namespace Model +} // namespace ComputeOptimizer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/source/model/EBSSavingsEstimationModeSource.cpp b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/EBSSavingsEstimationModeSource.cpp new file mode 100644 index 00000000000..0092bd84589 --- /dev/null +++ b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/EBSSavingsEstimationModeSource.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 ComputeOptimizer + { + namespace Model + { + namespace EBSSavingsEstimationModeSourceMapper + { + + static const int PublicPricing_HASH = HashingUtils::HashString("PublicPricing"); + static const int CostExplorerRightsizing_HASH = HashingUtils::HashString("CostExplorerRightsizing"); + static const int CostOptimizationHub_HASH = HashingUtils::HashString("CostOptimizationHub"); + + + EBSSavingsEstimationModeSource GetEBSSavingsEstimationModeSourceForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == PublicPricing_HASH) + { + return EBSSavingsEstimationModeSource::PublicPricing; + } + else if (hashCode == CostExplorerRightsizing_HASH) + { + return EBSSavingsEstimationModeSource::CostExplorerRightsizing; + } + else if (hashCode == CostOptimizationHub_HASH) + { + return EBSSavingsEstimationModeSource::CostOptimizationHub; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return EBSSavingsEstimationModeSource::NOT_SET; + } + + Aws::String GetNameForEBSSavingsEstimationModeSource(EBSSavingsEstimationModeSource enumValue) + { + switch(enumValue) + { + case EBSSavingsEstimationModeSource::NOT_SET: + return {}; + case EBSSavingsEstimationModeSource::PublicPricing: + return "PublicPricing"; + case EBSSavingsEstimationModeSource::CostExplorerRightsizing: + return "CostExplorerRightsizing"; + case EBSSavingsEstimationModeSource::CostOptimizationHub: + return "CostOptimizationHub"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace EBSSavingsEstimationModeSourceMapper + } // namespace Model + } // namespace ComputeOptimizer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/source/model/EBSSavingsOpportunityAfterDiscounts.cpp b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/EBSSavingsOpportunityAfterDiscounts.cpp new file mode 100644 index 00000000000..8ff7a1f925f --- /dev/null +++ b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/EBSSavingsOpportunityAfterDiscounts.cpp @@ -0,0 +1,76 @@ +/** + * 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 ComputeOptimizer +{ +namespace Model +{ + +EBSSavingsOpportunityAfterDiscounts::EBSSavingsOpportunityAfterDiscounts() : + m_savingsOpportunityPercentage(0.0), + m_savingsOpportunityPercentageHasBeenSet(false), + m_estimatedMonthlySavingsHasBeenSet(false) +{ +} + +EBSSavingsOpportunityAfterDiscounts::EBSSavingsOpportunityAfterDiscounts(JsonView jsonValue) : + m_savingsOpportunityPercentage(0.0), + m_savingsOpportunityPercentageHasBeenSet(false), + m_estimatedMonthlySavingsHasBeenSet(false) +{ + *this = jsonValue; +} + +EBSSavingsOpportunityAfterDiscounts& EBSSavingsOpportunityAfterDiscounts::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("savingsOpportunityPercentage")) + { + m_savingsOpportunityPercentage = jsonValue.GetDouble("savingsOpportunityPercentage"); + + m_savingsOpportunityPercentageHasBeenSet = true; + } + + if(jsonValue.ValueExists("estimatedMonthlySavings")) + { + m_estimatedMonthlySavings = jsonValue.GetObject("estimatedMonthlySavings"); + + m_estimatedMonthlySavingsHasBeenSet = true; + } + + return *this; +} + +JsonValue EBSSavingsOpportunityAfterDiscounts::Jsonize() const +{ + JsonValue payload; + + if(m_savingsOpportunityPercentageHasBeenSet) + { + payload.WithDouble("savingsOpportunityPercentage", m_savingsOpportunityPercentage); + + } + + if(m_estimatedMonthlySavingsHasBeenSet) + { + payload.WithObject("estimatedMonthlySavings", m_estimatedMonthlySavings.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace ComputeOptimizer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/source/model/ECSEffectiveRecommendationPreferences.cpp b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/ECSEffectiveRecommendationPreferences.cpp new file mode 100644 index 00000000000..52e6a78cc23 --- /dev/null +++ b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/ECSEffectiveRecommendationPreferences.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 ComputeOptimizer +{ +namespace Model +{ + +ECSEffectiveRecommendationPreferences::ECSEffectiveRecommendationPreferences() : + m_savingsEstimationModeHasBeenSet(false) +{ +} + +ECSEffectiveRecommendationPreferences::ECSEffectiveRecommendationPreferences(JsonView jsonValue) : + m_savingsEstimationModeHasBeenSet(false) +{ + *this = jsonValue; +} + +ECSEffectiveRecommendationPreferences& ECSEffectiveRecommendationPreferences::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("savingsEstimationMode")) + { + m_savingsEstimationMode = jsonValue.GetObject("savingsEstimationMode"); + + m_savingsEstimationModeHasBeenSet = true; + } + + return *this; +} + +JsonValue ECSEffectiveRecommendationPreferences::Jsonize() const +{ + JsonValue payload; + + if(m_savingsEstimationModeHasBeenSet) + { + payload.WithObject("savingsEstimationMode", m_savingsEstimationMode.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace ComputeOptimizer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/source/model/ECSEstimatedMonthlySavings.cpp b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/ECSEstimatedMonthlySavings.cpp new file mode 100644 index 00000000000..c2c05e9ea3e --- /dev/null +++ b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/ECSEstimatedMonthlySavings.cpp @@ -0,0 +1,77 @@ +/** + * 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 ComputeOptimizer +{ +namespace Model +{ + +ECSEstimatedMonthlySavings::ECSEstimatedMonthlySavings() : + m_currency(Currency::NOT_SET), + m_currencyHasBeenSet(false), + m_value(0.0), + m_valueHasBeenSet(false) +{ +} + +ECSEstimatedMonthlySavings::ECSEstimatedMonthlySavings(JsonView jsonValue) : + m_currency(Currency::NOT_SET), + m_currencyHasBeenSet(false), + m_value(0.0), + m_valueHasBeenSet(false) +{ + *this = jsonValue; +} + +ECSEstimatedMonthlySavings& ECSEstimatedMonthlySavings::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("currency")) + { + m_currency = CurrencyMapper::GetCurrencyForName(jsonValue.GetString("currency")); + + m_currencyHasBeenSet = true; + } + + if(jsonValue.ValueExists("value")) + { + m_value = jsonValue.GetDouble("value"); + + m_valueHasBeenSet = true; + } + + return *this; +} + +JsonValue ECSEstimatedMonthlySavings::Jsonize() const +{ + JsonValue payload; + + if(m_currencyHasBeenSet) + { + payload.WithString("currency", CurrencyMapper::GetNameForCurrency(m_currency)); + } + + if(m_valueHasBeenSet) + { + payload.WithDouble("value", m_value); + + } + + return payload; +} + +} // namespace Model +} // namespace ComputeOptimizer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/source/model/ECSSavingsEstimationMode.cpp b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/ECSSavingsEstimationMode.cpp new file mode 100644 index 00000000000..66685eefe65 --- /dev/null +++ b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/ECSSavingsEstimationMode.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 ComputeOptimizer +{ +namespace Model +{ + +ECSSavingsEstimationMode::ECSSavingsEstimationMode() : + m_source(ECSSavingsEstimationModeSource::NOT_SET), + m_sourceHasBeenSet(false) +{ +} + +ECSSavingsEstimationMode::ECSSavingsEstimationMode(JsonView jsonValue) : + m_source(ECSSavingsEstimationModeSource::NOT_SET), + m_sourceHasBeenSet(false) +{ + *this = jsonValue; +} + +ECSSavingsEstimationMode& ECSSavingsEstimationMode::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("source")) + { + m_source = ECSSavingsEstimationModeSourceMapper::GetECSSavingsEstimationModeSourceForName(jsonValue.GetString("source")); + + m_sourceHasBeenSet = true; + } + + return *this; +} + +JsonValue ECSSavingsEstimationMode::Jsonize() const +{ + JsonValue payload; + + if(m_sourceHasBeenSet) + { + payload.WithString("source", ECSSavingsEstimationModeSourceMapper::GetNameForECSSavingsEstimationModeSource(m_source)); + } + + return payload; +} + +} // namespace Model +} // namespace ComputeOptimizer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/source/model/ECSSavingsEstimationModeSource.cpp b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/ECSSavingsEstimationModeSource.cpp new file mode 100644 index 00000000000..f0483895f59 --- /dev/null +++ b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/ECSSavingsEstimationModeSource.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 ComputeOptimizer + { + namespace Model + { + namespace ECSSavingsEstimationModeSourceMapper + { + + static const int PublicPricing_HASH = HashingUtils::HashString("PublicPricing"); + static const int CostExplorerRightsizing_HASH = HashingUtils::HashString("CostExplorerRightsizing"); + static const int CostOptimizationHub_HASH = HashingUtils::HashString("CostOptimizationHub"); + + + ECSSavingsEstimationModeSource GetECSSavingsEstimationModeSourceForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == PublicPricing_HASH) + { + return ECSSavingsEstimationModeSource::PublicPricing; + } + else if (hashCode == CostExplorerRightsizing_HASH) + { + return ECSSavingsEstimationModeSource::CostExplorerRightsizing; + } + else if (hashCode == CostOptimizationHub_HASH) + { + return ECSSavingsEstimationModeSource::CostOptimizationHub; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ECSSavingsEstimationModeSource::NOT_SET; + } + + Aws::String GetNameForECSSavingsEstimationModeSource(ECSSavingsEstimationModeSource enumValue) + { + switch(enumValue) + { + case ECSSavingsEstimationModeSource::NOT_SET: + return {}; + case ECSSavingsEstimationModeSource::PublicPricing: + return "PublicPricing"; + case ECSSavingsEstimationModeSource::CostExplorerRightsizing: + return "CostExplorerRightsizing"; + case ECSSavingsEstimationModeSource::CostOptimizationHub: + return "CostOptimizationHub"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ECSSavingsEstimationModeSourceMapper + } // namespace Model + } // namespace ComputeOptimizer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/source/model/ECSSavingsOpportunityAfterDiscounts.cpp b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/ECSSavingsOpportunityAfterDiscounts.cpp new file mode 100644 index 00000000000..90bf8b56dfa --- /dev/null +++ b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/ECSSavingsOpportunityAfterDiscounts.cpp @@ -0,0 +1,76 @@ +/** + * 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 ComputeOptimizer +{ +namespace Model +{ + +ECSSavingsOpportunityAfterDiscounts::ECSSavingsOpportunityAfterDiscounts() : + m_savingsOpportunityPercentage(0.0), + m_savingsOpportunityPercentageHasBeenSet(false), + m_estimatedMonthlySavingsHasBeenSet(false) +{ +} + +ECSSavingsOpportunityAfterDiscounts::ECSSavingsOpportunityAfterDiscounts(JsonView jsonValue) : + m_savingsOpportunityPercentage(0.0), + m_savingsOpportunityPercentageHasBeenSet(false), + m_estimatedMonthlySavingsHasBeenSet(false) +{ + *this = jsonValue; +} + +ECSSavingsOpportunityAfterDiscounts& ECSSavingsOpportunityAfterDiscounts::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("savingsOpportunityPercentage")) + { + m_savingsOpportunityPercentage = jsonValue.GetDouble("savingsOpportunityPercentage"); + + m_savingsOpportunityPercentageHasBeenSet = true; + } + + if(jsonValue.ValueExists("estimatedMonthlySavings")) + { + m_estimatedMonthlySavings = jsonValue.GetObject("estimatedMonthlySavings"); + + m_estimatedMonthlySavingsHasBeenSet = true; + } + + return *this; +} + +JsonValue ECSSavingsOpportunityAfterDiscounts::Jsonize() const +{ + JsonValue payload; + + if(m_savingsOpportunityPercentageHasBeenSet) + { + payload.WithDouble("savingsOpportunityPercentage", m_savingsOpportunityPercentage); + + } + + if(m_estimatedMonthlySavingsHasBeenSet) + { + payload.WithObject("estimatedMonthlySavings", m_estimatedMonthlySavings.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace ComputeOptimizer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/source/model/ECSServiceRecommendation.cpp b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/ECSServiceRecommendation.cpp index c4d30a9f490..2abd9fd8200 100644 --- a/generated/src/aws-cpp-sdk-compute-optimizer/source/model/ECSServiceRecommendation.cpp +++ b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/ECSServiceRecommendation.cpp @@ -34,7 +34,8 @@ ECSServiceRecommendation::ECSServiceRecommendation() : m_serviceRecommendationOptionsHasBeenSet(false), m_currentPerformanceRisk(CurrentPerformanceRisk::NOT_SET), m_currentPerformanceRiskHasBeenSet(false), - m_tagsHasBeenSet(false) + m_tagsHasBeenSet(false), + m_effectiveRecommendationPreferencesHasBeenSet(false) { } @@ -54,7 +55,8 @@ ECSServiceRecommendation::ECSServiceRecommendation(JsonView jsonValue) : m_serviceRecommendationOptionsHasBeenSet(false), m_currentPerformanceRisk(CurrentPerformanceRisk::NOT_SET), m_currentPerformanceRiskHasBeenSet(false), - m_tagsHasBeenSet(false) + m_tagsHasBeenSet(false), + m_effectiveRecommendationPreferencesHasBeenSet(false) { *this = jsonValue; } @@ -157,6 +159,13 @@ ECSServiceRecommendation& ECSServiceRecommendation::operator =(JsonView jsonValu m_tagsHasBeenSet = true; } + if(jsonValue.ValueExists("effectiveRecommendationPreferences")) + { + m_effectiveRecommendationPreferences = jsonValue.GetObject("effectiveRecommendationPreferences"); + + m_effectiveRecommendationPreferencesHasBeenSet = true; + } + return *this; } @@ -252,6 +261,12 @@ JsonValue ECSServiceRecommendation::Jsonize() const } + if(m_effectiveRecommendationPreferencesHasBeenSet) + { + payload.WithObject("effectiveRecommendationPreferences", m_effectiveRecommendationPreferences.Jsonize()); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/source/model/ECSServiceRecommendationOption.cpp b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/ECSServiceRecommendationOption.cpp index e5af2f8fb97..027e50e15af 100644 --- a/generated/src/aws-cpp-sdk-compute-optimizer/source/model/ECSServiceRecommendationOption.cpp +++ b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/ECSServiceRecommendationOption.cpp @@ -25,7 +25,8 @@ ECSServiceRecommendationOption::ECSServiceRecommendationOption() : m_cpuHasBeenSet(false), m_savingsOpportunityHasBeenSet(false), m_projectedUtilizationMetricsHasBeenSet(false), - m_containerRecommendationsHasBeenSet(false) + m_containerRecommendationsHasBeenSet(false), + m_savingsOpportunityAfterDiscountsHasBeenSet(false) { } @@ -36,7 +37,8 @@ ECSServiceRecommendationOption::ECSServiceRecommendationOption(JsonView jsonValu m_cpuHasBeenSet(false), m_savingsOpportunityHasBeenSet(false), m_projectedUtilizationMetricsHasBeenSet(false), - m_containerRecommendationsHasBeenSet(false) + m_containerRecommendationsHasBeenSet(false), + m_savingsOpportunityAfterDiscountsHasBeenSet(false) { *this = jsonValue; } @@ -84,6 +86,13 @@ ECSServiceRecommendationOption& ECSServiceRecommendationOption::operator =(JsonV m_containerRecommendationsHasBeenSet = true; } + if(jsonValue.ValueExists("savingsOpportunityAfterDiscounts")) + { + m_savingsOpportunityAfterDiscounts = jsonValue.GetObject("savingsOpportunityAfterDiscounts"); + + m_savingsOpportunityAfterDiscountsHasBeenSet = true; + } + return *this; } @@ -131,6 +140,12 @@ JsonValue ECSServiceRecommendationOption::Jsonize() const } + if(m_savingsOpportunityAfterDiscountsHasBeenSet) + { + payload.WithObject("savingsOpportunityAfterDiscounts", m_savingsOpportunityAfterDiscounts.Jsonize()); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/source/model/EffectivePreferredResource.cpp b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/EffectivePreferredResource.cpp new file mode 100644 index 00000000000..5c6f43ea1c8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/EffectivePreferredResource.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::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace ComputeOptimizer +{ +namespace Model +{ + +EffectivePreferredResource::EffectivePreferredResource() : + m_name(PreferredResourceName::NOT_SET), + m_nameHasBeenSet(false), + m_includeListHasBeenSet(false), + m_effectiveIncludeListHasBeenSet(false), + m_excludeListHasBeenSet(false) +{ +} + +EffectivePreferredResource::EffectivePreferredResource(JsonView jsonValue) : + m_name(PreferredResourceName::NOT_SET), + m_nameHasBeenSet(false), + m_includeListHasBeenSet(false), + m_effectiveIncludeListHasBeenSet(false), + m_excludeListHasBeenSet(false) +{ + *this = jsonValue; +} + +EffectivePreferredResource& EffectivePreferredResource::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("name")) + { + m_name = PreferredResourceNameMapper::GetPreferredResourceNameForName(jsonValue.GetString("name")); + + m_nameHasBeenSet = true; + } + + if(jsonValue.ValueExists("includeList")) + { + Aws::Utils::Array includeListJsonList = jsonValue.GetArray("includeList"); + for(unsigned includeListIndex = 0; includeListIndex < includeListJsonList.GetLength(); ++includeListIndex) + { + m_includeList.push_back(includeListJsonList[includeListIndex].AsString()); + } + m_includeListHasBeenSet = true; + } + + if(jsonValue.ValueExists("effectiveIncludeList")) + { + Aws::Utils::Array effectiveIncludeListJsonList = jsonValue.GetArray("effectiveIncludeList"); + for(unsigned effectiveIncludeListIndex = 0; effectiveIncludeListIndex < effectiveIncludeListJsonList.GetLength(); ++effectiveIncludeListIndex) + { + m_effectiveIncludeList.push_back(effectiveIncludeListJsonList[effectiveIncludeListIndex].AsString()); + } + m_effectiveIncludeListHasBeenSet = true; + } + + if(jsonValue.ValueExists("excludeList")) + { + Aws::Utils::Array excludeListJsonList = jsonValue.GetArray("excludeList"); + for(unsigned excludeListIndex = 0; excludeListIndex < excludeListJsonList.GetLength(); ++excludeListIndex) + { + m_excludeList.push_back(excludeListJsonList[excludeListIndex].AsString()); + } + m_excludeListHasBeenSet = true; + } + + return *this; +} + +JsonValue EffectivePreferredResource::Jsonize() const +{ + JsonValue payload; + + if(m_nameHasBeenSet) + { + payload.WithString("name", PreferredResourceNameMapper::GetNameForPreferredResourceName(m_name)); + } + + if(m_includeListHasBeenSet) + { + Aws::Utils::Array includeListJsonList(m_includeList.size()); + for(unsigned includeListIndex = 0; includeListIndex < includeListJsonList.GetLength(); ++includeListIndex) + { + includeListJsonList[includeListIndex].AsString(m_includeList[includeListIndex]); + } + payload.WithArray("includeList", std::move(includeListJsonList)); + + } + + if(m_effectiveIncludeListHasBeenSet) + { + Aws::Utils::Array effectiveIncludeListJsonList(m_effectiveIncludeList.size()); + for(unsigned effectiveIncludeListIndex = 0; effectiveIncludeListIndex < effectiveIncludeListJsonList.GetLength(); ++effectiveIncludeListIndex) + { + effectiveIncludeListJsonList[effectiveIncludeListIndex].AsString(m_effectiveIncludeList[effectiveIncludeListIndex]); + } + payload.WithArray("effectiveIncludeList", std::move(effectiveIncludeListJsonList)); + + } + + if(m_excludeListHasBeenSet) + { + Aws::Utils::Array excludeListJsonList(m_excludeList.size()); + for(unsigned excludeListIndex = 0; excludeListIndex < excludeListJsonList.GetLength(); ++excludeListIndex) + { + excludeListJsonList[excludeListIndex].AsString(m_excludeList[excludeListIndex]); + } + payload.WithArray("excludeList", std::move(excludeListJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace ComputeOptimizer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/source/model/EffectiveRecommendationPreferences.cpp b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/EffectiveRecommendationPreferences.cpp index 176cc5c16d9..c2172cdfb82 100644 --- a/generated/src/aws-cpp-sdk-compute-optimizer/source/model/EffectiveRecommendationPreferences.cpp +++ b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/EffectiveRecommendationPreferences.cpp @@ -24,7 +24,12 @@ EffectiveRecommendationPreferences::EffectiveRecommendationPreferences() : m_enhancedInfrastructureMetricsHasBeenSet(false), m_inferredWorkloadTypes(InferredWorkloadTypesPreference::NOT_SET), m_inferredWorkloadTypesHasBeenSet(false), - m_externalMetricsPreferenceHasBeenSet(false) + m_externalMetricsPreferenceHasBeenSet(false), + m_lookBackPeriod(LookBackPeriodPreference::NOT_SET), + m_lookBackPeriodHasBeenSet(false), + m_utilizationPreferencesHasBeenSet(false), + m_preferredResourcesHasBeenSet(false), + m_savingsEstimationModeHasBeenSet(false) { } @@ -34,7 +39,12 @@ EffectiveRecommendationPreferences::EffectiveRecommendationPreferences(JsonView m_enhancedInfrastructureMetricsHasBeenSet(false), m_inferredWorkloadTypes(InferredWorkloadTypesPreference::NOT_SET), m_inferredWorkloadTypesHasBeenSet(false), - m_externalMetricsPreferenceHasBeenSet(false) + m_externalMetricsPreferenceHasBeenSet(false), + m_lookBackPeriod(LookBackPeriodPreference::NOT_SET), + m_lookBackPeriodHasBeenSet(false), + m_utilizationPreferencesHasBeenSet(false), + m_preferredResourcesHasBeenSet(false), + m_savingsEstimationModeHasBeenSet(false) { *this = jsonValue; } @@ -72,6 +82,40 @@ EffectiveRecommendationPreferences& EffectiveRecommendationPreferences::operator m_externalMetricsPreferenceHasBeenSet = true; } + if(jsonValue.ValueExists("lookBackPeriod")) + { + m_lookBackPeriod = LookBackPeriodPreferenceMapper::GetLookBackPeriodPreferenceForName(jsonValue.GetString("lookBackPeriod")); + + m_lookBackPeriodHasBeenSet = true; + } + + if(jsonValue.ValueExists("utilizationPreferences")) + { + Aws::Utils::Array utilizationPreferencesJsonList = jsonValue.GetArray("utilizationPreferences"); + for(unsigned utilizationPreferencesIndex = 0; utilizationPreferencesIndex < utilizationPreferencesJsonList.GetLength(); ++utilizationPreferencesIndex) + { + m_utilizationPreferences.push_back(utilizationPreferencesJsonList[utilizationPreferencesIndex].AsObject()); + } + m_utilizationPreferencesHasBeenSet = true; + } + + if(jsonValue.ValueExists("preferredResources")) + { + Aws::Utils::Array preferredResourcesJsonList = jsonValue.GetArray("preferredResources"); + for(unsigned preferredResourcesIndex = 0; preferredResourcesIndex < preferredResourcesJsonList.GetLength(); ++preferredResourcesIndex) + { + m_preferredResources.push_back(preferredResourcesJsonList[preferredResourcesIndex].AsObject()); + } + m_preferredResourcesHasBeenSet = true; + } + + if(jsonValue.ValueExists("savingsEstimationMode")) + { + m_savingsEstimationMode = jsonValue.GetObject("savingsEstimationMode"); + + m_savingsEstimationModeHasBeenSet = true; + } + return *this; } @@ -106,6 +150,39 @@ JsonValue EffectiveRecommendationPreferences::Jsonize() const } + if(m_lookBackPeriodHasBeenSet) + { + payload.WithString("lookBackPeriod", LookBackPeriodPreferenceMapper::GetNameForLookBackPeriodPreference(m_lookBackPeriod)); + } + + if(m_utilizationPreferencesHasBeenSet) + { + Aws::Utils::Array utilizationPreferencesJsonList(m_utilizationPreferences.size()); + for(unsigned utilizationPreferencesIndex = 0; utilizationPreferencesIndex < utilizationPreferencesJsonList.GetLength(); ++utilizationPreferencesIndex) + { + utilizationPreferencesJsonList[utilizationPreferencesIndex].AsObject(m_utilizationPreferences[utilizationPreferencesIndex].Jsonize()); + } + payload.WithArray("utilizationPreferences", std::move(utilizationPreferencesJsonList)); + + } + + if(m_preferredResourcesHasBeenSet) + { + Aws::Utils::Array preferredResourcesJsonList(m_preferredResources.size()); + for(unsigned preferredResourcesIndex = 0; preferredResourcesIndex < preferredResourcesJsonList.GetLength(); ++preferredResourcesIndex) + { + preferredResourcesJsonList[preferredResourcesIndex].AsObject(m_preferredResources[preferredResourcesIndex].Jsonize()); + } + payload.WithArray("preferredResources", std::move(preferredResourcesJsonList)); + + } + + if(m_savingsEstimationModeHasBeenSet) + { + payload.WithObject("savingsEstimationMode", m_savingsEstimationMode.Jsonize()); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/source/model/ExportableAutoScalingGroupField.cpp b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/ExportableAutoScalingGroupField.cpp index bf98ce6f855..b619e8f51a6 100644 --- a/generated/src/aws-cpp-sdk-compute-optimizer/source/model/ExportableAutoScalingGroupField.cpp +++ b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/ExportableAutoScalingGroupField.cpp @@ -80,6 +80,12 @@ namespace Aws static const int UtilizationMetricsGpuMemoryPercentageMaximum_HASH = HashingUtils::HashString("UtilizationMetricsGpuMemoryPercentageMaximum"); static const int RecommendationOptionsProjectedUtilizationMetricsGpuPercentageMaximum_HASH = HashingUtils::HashString("RecommendationOptionsProjectedUtilizationMetricsGpuPercentageMaximum"); static const int RecommendationOptionsProjectedUtilizationMetricsGpuMemoryPercentageMaximum_HASH = HashingUtils::HashString("RecommendationOptionsProjectedUtilizationMetricsGpuMemoryPercentageMaximum"); + static const int EffectiveRecommendationPreferencesSavingsEstimationMode_HASH = HashingUtils::HashString("EffectiveRecommendationPreferencesSavingsEstimationMode"); + static const int RecommendationOptionsSavingsOpportunityAfterDiscountsPercentage_HASH = HashingUtils::HashString("RecommendationOptionsSavingsOpportunityAfterDiscountsPercentage"); + static const int RecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts_HASH = HashingUtils::HashString("RecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts"); + static const int RecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts_HASH = HashingUtils::HashString("RecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts"); + static const int EffectiveRecommendationPreferencesPreferredResources_HASH = HashingUtils::HashString("EffectiveRecommendationPreferencesPreferredResources"); + static const int EffectiveRecommendationPreferencesLookBackPeriod_HASH = HashingUtils::HashString("EffectiveRecommendationPreferencesLookBackPeriod"); ExportableAutoScalingGroupField GetExportableAutoScalingGroupFieldForName(const Aws::String& name) @@ -325,6 +331,30 @@ namespace Aws { return ExportableAutoScalingGroupField::RecommendationOptionsProjectedUtilizationMetricsGpuMemoryPercentageMaximum; } + else if (hashCode == EffectiveRecommendationPreferencesSavingsEstimationMode_HASH) + { + return ExportableAutoScalingGroupField::EffectiveRecommendationPreferencesSavingsEstimationMode; + } + else if (hashCode == RecommendationOptionsSavingsOpportunityAfterDiscountsPercentage_HASH) + { + return ExportableAutoScalingGroupField::RecommendationOptionsSavingsOpportunityAfterDiscountsPercentage; + } + else if (hashCode == RecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts_HASH) + { + return ExportableAutoScalingGroupField::RecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts; + } + else if (hashCode == RecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts_HASH) + { + return ExportableAutoScalingGroupField::RecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts; + } + else if (hashCode == EffectiveRecommendationPreferencesPreferredResources_HASH) + { + return ExportableAutoScalingGroupField::EffectiveRecommendationPreferencesPreferredResources; + } + else if (hashCode == EffectiveRecommendationPreferencesLookBackPeriod_HASH) + { + return ExportableAutoScalingGroupField::EffectiveRecommendationPreferencesLookBackPeriod; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -461,6 +491,18 @@ namespace Aws return "RecommendationOptionsProjectedUtilizationMetricsGpuPercentageMaximum"; case ExportableAutoScalingGroupField::RecommendationOptionsProjectedUtilizationMetricsGpuMemoryPercentageMaximum: return "RecommendationOptionsProjectedUtilizationMetricsGpuMemoryPercentageMaximum"; + case ExportableAutoScalingGroupField::EffectiveRecommendationPreferencesSavingsEstimationMode: + return "EffectiveRecommendationPreferencesSavingsEstimationMode"; + case ExportableAutoScalingGroupField::RecommendationOptionsSavingsOpportunityAfterDiscountsPercentage: + return "RecommendationOptionsSavingsOpportunityAfterDiscountsPercentage"; + case ExportableAutoScalingGroupField::RecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts: + return "RecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts"; + case ExportableAutoScalingGroupField::RecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts: + return "RecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts"; + case ExportableAutoScalingGroupField::EffectiveRecommendationPreferencesPreferredResources: + return "EffectiveRecommendationPreferencesPreferredResources"; + case ExportableAutoScalingGroupField::EffectiveRecommendationPreferencesLookBackPeriod: + return "EffectiveRecommendationPreferencesLookBackPeriod"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/source/model/ExportableECSServiceField.cpp b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/ExportableECSServiceField.cpp index 64f6041bb95..4e434600839 100644 --- a/generated/src/aws-cpp-sdk-compute-optimizer/source/model/ExportableECSServiceField.cpp +++ b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/ExportableECSServiceField.cpp @@ -44,6 +44,10 @@ namespace Aws static const int RecommendationOptionsProjectedUtilizationMetricsCpuMaximum_HASH = HashingUtils::HashString("RecommendationOptionsProjectedUtilizationMetricsCpuMaximum"); static const int RecommendationOptionsProjectedUtilizationMetricsMemoryMaximum_HASH = HashingUtils::HashString("RecommendationOptionsProjectedUtilizationMetricsMemoryMaximum"); static const int Tags_HASH = HashingUtils::HashString("Tags"); + static const int EffectiveRecommendationPreferencesSavingsEstimationMode_HASH = HashingUtils::HashString("EffectiveRecommendationPreferencesSavingsEstimationMode"); + static const int RecommendationOptionsSavingsOpportunityAfterDiscountsPercentage_HASH = HashingUtils::HashString("RecommendationOptionsSavingsOpportunityAfterDiscountsPercentage"); + static const int RecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts_HASH = HashingUtils::HashString("RecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts"); + static const int RecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts_HASH = HashingUtils::HashString("RecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts"); ExportableECSServiceField GetExportableECSServiceFieldForName(const Aws::String& name) @@ -145,6 +149,22 @@ namespace Aws { return ExportableECSServiceField::Tags; } + else if (hashCode == EffectiveRecommendationPreferencesSavingsEstimationMode_HASH) + { + return ExportableECSServiceField::EffectiveRecommendationPreferencesSavingsEstimationMode; + } + else if (hashCode == RecommendationOptionsSavingsOpportunityAfterDiscountsPercentage_HASH) + { + return ExportableECSServiceField::RecommendationOptionsSavingsOpportunityAfterDiscountsPercentage; + } + else if (hashCode == RecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts_HASH) + { + return ExportableECSServiceField::RecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts; + } + else if (hashCode == RecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts_HASH) + { + return ExportableECSServiceField::RecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -209,6 +229,14 @@ namespace Aws return "RecommendationOptionsProjectedUtilizationMetricsMemoryMaximum"; case ExportableECSServiceField::Tags: return "Tags"; + case ExportableECSServiceField::EffectiveRecommendationPreferencesSavingsEstimationMode: + return "EffectiveRecommendationPreferencesSavingsEstimationMode"; + case ExportableECSServiceField::RecommendationOptionsSavingsOpportunityAfterDiscountsPercentage: + return "RecommendationOptionsSavingsOpportunityAfterDiscountsPercentage"; + case ExportableECSServiceField::RecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts: + return "RecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts"; + case ExportableECSServiceField::RecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts: + return "RecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/source/model/ExportableInstanceField.cpp b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/ExportableInstanceField.cpp index 179bbee69e8..0d62759ba35 100644 --- a/generated/src/aws-cpp-sdk-compute-optimizer/source/model/ExportableInstanceField.cpp +++ b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/ExportableInstanceField.cpp @@ -84,6 +84,13 @@ namespace Aws static const int RecommendationOptionsProjectedUtilizationMetricsGpuPercentageMaximum_HASH = HashingUtils::HashString("RecommendationOptionsProjectedUtilizationMetricsGpuPercentageMaximum"); static const int RecommendationOptionsProjectedUtilizationMetricsGpuMemoryPercentageMaximum_HASH = HashingUtils::HashString("RecommendationOptionsProjectedUtilizationMetricsGpuMemoryPercentageMaximum"); static const int Idle_HASH = HashingUtils::HashString("Idle"); + static const int EffectiveRecommendationPreferencesPreferredResources_HASH = HashingUtils::HashString("EffectiveRecommendationPreferencesPreferredResources"); + static const int EffectiveRecommendationPreferencesLookBackPeriod_HASH = HashingUtils::HashString("EffectiveRecommendationPreferencesLookBackPeriod"); + static const int EffectiveRecommendationPreferencesUtilizationPreferences_HASH = HashingUtils::HashString("EffectiveRecommendationPreferencesUtilizationPreferences"); + static const int EffectiveRecommendationPreferencesSavingsEstimationMode_HASH = HashingUtils::HashString("EffectiveRecommendationPreferencesSavingsEstimationMode"); + static const int RecommendationOptionsSavingsOpportunityAfterDiscountsPercentage_HASH = HashingUtils::HashString("RecommendationOptionsSavingsOpportunityAfterDiscountsPercentage"); + static const int RecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts_HASH = HashingUtils::HashString("RecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts"); + static const int RecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts_HASH = HashingUtils::HashString("RecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts"); ExportableInstanceField GetExportableInstanceFieldForName(const Aws::String& name) @@ -345,6 +352,34 @@ namespace Aws { return ExportableInstanceField::Idle; } + else if (hashCode == EffectiveRecommendationPreferencesPreferredResources_HASH) + { + return ExportableInstanceField::EffectiveRecommendationPreferencesPreferredResources; + } + else if (hashCode == EffectiveRecommendationPreferencesLookBackPeriod_HASH) + { + return ExportableInstanceField::EffectiveRecommendationPreferencesLookBackPeriod; + } + else if (hashCode == EffectiveRecommendationPreferencesUtilizationPreferences_HASH) + { + return ExportableInstanceField::EffectiveRecommendationPreferencesUtilizationPreferences; + } + else if (hashCode == EffectiveRecommendationPreferencesSavingsEstimationMode_HASH) + { + return ExportableInstanceField::EffectiveRecommendationPreferencesSavingsEstimationMode; + } + else if (hashCode == RecommendationOptionsSavingsOpportunityAfterDiscountsPercentage_HASH) + { + return ExportableInstanceField::RecommendationOptionsSavingsOpportunityAfterDiscountsPercentage; + } + else if (hashCode == RecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts_HASH) + { + return ExportableInstanceField::RecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts; + } + else if (hashCode == RecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts_HASH) + { + return ExportableInstanceField::RecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -489,6 +524,20 @@ namespace Aws return "RecommendationOptionsProjectedUtilizationMetricsGpuMemoryPercentageMaximum"; case ExportableInstanceField::Idle: return "Idle"; + case ExportableInstanceField::EffectiveRecommendationPreferencesPreferredResources: + return "EffectiveRecommendationPreferencesPreferredResources"; + case ExportableInstanceField::EffectiveRecommendationPreferencesLookBackPeriod: + return "EffectiveRecommendationPreferencesLookBackPeriod"; + case ExportableInstanceField::EffectiveRecommendationPreferencesUtilizationPreferences: + return "EffectiveRecommendationPreferencesUtilizationPreferences"; + case ExportableInstanceField::EffectiveRecommendationPreferencesSavingsEstimationMode: + return "EffectiveRecommendationPreferencesSavingsEstimationMode"; + case ExportableInstanceField::RecommendationOptionsSavingsOpportunityAfterDiscountsPercentage: + return "RecommendationOptionsSavingsOpportunityAfterDiscountsPercentage"; + case ExportableInstanceField::RecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts: + return "RecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts"; + case ExportableInstanceField::RecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts: + return "RecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/source/model/ExportableLambdaFunctionField.cpp b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/ExportableLambdaFunctionField.cpp index 1d281ef6423..906c8de5619 100644 --- a/generated/src/aws-cpp-sdk-compute-optimizer/source/model/ExportableLambdaFunctionField.cpp +++ b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/ExportableLambdaFunctionField.cpp @@ -47,6 +47,10 @@ namespace Aws static const int RecommendationOptionsEstimatedMonthlySavingsCurrency_HASH = HashingUtils::HashString("RecommendationOptionsEstimatedMonthlySavingsCurrency"); static const int RecommendationOptionsEstimatedMonthlySavingsValue_HASH = HashingUtils::HashString("RecommendationOptionsEstimatedMonthlySavingsValue"); static const int Tags_HASH = HashingUtils::HashString("Tags"); + static const int EffectiveRecommendationPreferencesSavingsEstimationMode_HASH = HashingUtils::HashString("EffectiveRecommendationPreferencesSavingsEstimationMode"); + static const int RecommendationOptionsSavingsOpportunityAfterDiscountsPercentage_HASH = HashingUtils::HashString("RecommendationOptionsSavingsOpportunityAfterDiscountsPercentage"); + static const int RecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts_HASH = HashingUtils::HashString("RecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts"); + static const int RecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts_HASH = HashingUtils::HashString("RecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts"); ExportableLambdaFunctionField GetExportableLambdaFunctionFieldForName(const Aws::String& name) @@ -160,6 +164,22 @@ namespace Aws { return ExportableLambdaFunctionField::Tags; } + else if (hashCode == EffectiveRecommendationPreferencesSavingsEstimationMode_HASH) + { + return ExportableLambdaFunctionField::EffectiveRecommendationPreferencesSavingsEstimationMode; + } + else if (hashCode == RecommendationOptionsSavingsOpportunityAfterDiscountsPercentage_HASH) + { + return ExportableLambdaFunctionField::RecommendationOptionsSavingsOpportunityAfterDiscountsPercentage; + } + else if (hashCode == RecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts_HASH) + { + return ExportableLambdaFunctionField::RecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts; + } + else if (hashCode == RecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts_HASH) + { + return ExportableLambdaFunctionField::RecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -230,6 +250,14 @@ namespace Aws return "RecommendationOptionsEstimatedMonthlySavingsValue"; case ExportableLambdaFunctionField::Tags: return "Tags"; + case ExportableLambdaFunctionField::EffectiveRecommendationPreferencesSavingsEstimationMode: + return "EffectiveRecommendationPreferencesSavingsEstimationMode"; + case ExportableLambdaFunctionField::RecommendationOptionsSavingsOpportunityAfterDiscountsPercentage: + return "RecommendationOptionsSavingsOpportunityAfterDiscountsPercentage"; + case ExportableLambdaFunctionField::RecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts: + return "RecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts"; + case ExportableLambdaFunctionField::RecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts: + return "RecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/source/model/ExportableVolumeField.cpp b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/ExportableVolumeField.cpp index 2a366eace60..93709386a67 100644 --- a/generated/src/aws-cpp-sdk-compute-optimizer/source/model/ExportableVolumeField.cpp +++ b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/ExportableVolumeField.cpp @@ -51,6 +51,10 @@ namespace Aws static const int RootVolume_HASH = HashingUtils::HashString("RootVolume"); static const int Tags_HASH = HashingUtils::HashString("Tags"); static const int CurrentConfigurationRootVolume_HASH = HashingUtils::HashString("CurrentConfigurationRootVolume"); + static const int EffectiveRecommendationPreferencesSavingsEstimationMode_HASH = HashingUtils::HashString("EffectiveRecommendationPreferencesSavingsEstimationMode"); + static const int RecommendationOptionsSavingsOpportunityAfterDiscountsPercentage_HASH = HashingUtils::HashString("RecommendationOptionsSavingsOpportunityAfterDiscountsPercentage"); + static const int RecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts_HASH = HashingUtils::HashString("RecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts"); + static const int RecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts_HASH = HashingUtils::HashString("RecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts"); ExportableVolumeField GetExportableVolumeFieldForName(const Aws::String& name) @@ -180,6 +184,22 @@ namespace Aws { return ExportableVolumeField::CurrentConfigurationRootVolume; } + else if (hashCode == EffectiveRecommendationPreferencesSavingsEstimationMode_HASH) + { + return ExportableVolumeField::EffectiveRecommendationPreferencesSavingsEstimationMode; + } + else if (hashCode == RecommendationOptionsSavingsOpportunityAfterDiscountsPercentage_HASH) + { + return ExportableVolumeField::RecommendationOptionsSavingsOpportunityAfterDiscountsPercentage; + } + else if (hashCode == RecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts_HASH) + { + return ExportableVolumeField::RecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts; + } + else if (hashCode == RecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts_HASH) + { + return ExportableVolumeField::RecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -258,6 +278,14 @@ namespace Aws return "Tags"; case ExportableVolumeField::CurrentConfigurationRootVolume: return "CurrentConfigurationRootVolume"; + case ExportableVolumeField::EffectiveRecommendationPreferencesSavingsEstimationMode: + return "EffectiveRecommendationPreferencesSavingsEstimationMode"; + case ExportableVolumeField::RecommendationOptionsSavingsOpportunityAfterDiscountsPercentage: + return "RecommendationOptionsSavingsOpportunityAfterDiscountsPercentage"; + case ExportableVolumeField::RecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts: + return "RecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts"; + case ExportableVolumeField::RecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts: + return "RecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/source/model/GetEffectiveRecommendationPreferencesResult.cpp b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/GetEffectiveRecommendationPreferencesResult.cpp index 6662c72276b..bb3d1618a82 100644 --- a/generated/src/aws-cpp-sdk-compute-optimizer/source/model/GetEffectiveRecommendationPreferencesResult.cpp +++ b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/GetEffectiveRecommendationPreferencesResult.cpp @@ -18,12 +18,14 @@ using namespace Aws::Utils; using namespace Aws; GetEffectiveRecommendationPreferencesResult::GetEffectiveRecommendationPreferencesResult() : - m_enhancedInfrastructureMetrics(EnhancedInfrastructureMetrics::NOT_SET) + m_enhancedInfrastructureMetrics(EnhancedInfrastructureMetrics::NOT_SET), + m_lookBackPeriod(LookBackPeriodPreference::NOT_SET) { } GetEffectiveRecommendationPreferencesResult::GetEffectiveRecommendationPreferencesResult(const Aws::AmazonWebServiceResult& result) : - m_enhancedInfrastructureMetrics(EnhancedInfrastructureMetrics::NOT_SET) + m_enhancedInfrastructureMetrics(EnhancedInfrastructureMetrics::NOT_SET), + m_lookBackPeriod(LookBackPeriodPreference::NOT_SET) { *this = result; } @@ -43,6 +45,30 @@ GetEffectiveRecommendationPreferencesResult& GetEffectiveRecommendationPreferenc } + if(jsonValue.ValueExists("lookBackPeriod")) + { + m_lookBackPeriod = LookBackPeriodPreferenceMapper::GetLookBackPeriodPreferenceForName(jsonValue.GetString("lookBackPeriod")); + + } + + if(jsonValue.ValueExists("utilizationPreferences")) + { + Aws::Utils::Array utilizationPreferencesJsonList = jsonValue.GetArray("utilizationPreferences"); + for(unsigned utilizationPreferencesIndex = 0; utilizationPreferencesIndex < utilizationPreferencesJsonList.GetLength(); ++utilizationPreferencesIndex) + { + m_utilizationPreferences.push_back(utilizationPreferencesJsonList[utilizationPreferencesIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("preferredResources")) + { + Aws::Utils::Array preferredResourcesJsonList = jsonValue.GetArray("preferredResources"); + for(unsigned preferredResourcesIndex = 0; preferredResourcesIndex < preferredResourcesJsonList.GetLength(); ++preferredResourcesIndex) + { + m_preferredResources.push_back(preferredResourcesJsonList[preferredResourcesIndex].AsObject()); + } + } + const auto& headers = result.GetHeaderValueCollection(); const auto& requestIdIter = headers.find("x-amzn-requestid"); diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/source/model/InstanceEstimatedMonthlySavings.cpp b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/InstanceEstimatedMonthlySavings.cpp new file mode 100644 index 00000000000..92be8ea490d --- /dev/null +++ b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/InstanceEstimatedMonthlySavings.cpp @@ -0,0 +1,77 @@ +/** + * 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 ComputeOptimizer +{ +namespace Model +{ + +InstanceEstimatedMonthlySavings::InstanceEstimatedMonthlySavings() : + m_currency(Currency::NOT_SET), + m_currencyHasBeenSet(false), + m_value(0.0), + m_valueHasBeenSet(false) +{ +} + +InstanceEstimatedMonthlySavings::InstanceEstimatedMonthlySavings(JsonView jsonValue) : + m_currency(Currency::NOT_SET), + m_currencyHasBeenSet(false), + m_value(0.0), + m_valueHasBeenSet(false) +{ + *this = jsonValue; +} + +InstanceEstimatedMonthlySavings& InstanceEstimatedMonthlySavings::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("currency")) + { + m_currency = CurrencyMapper::GetCurrencyForName(jsonValue.GetString("currency")); + + m_currencyHasBeenSet = true; + } + + if(jsonValue.ValueExists("value")) + { + m_value = jsonValue.GetDouble("value"); + + m_valueHasBeenSet = true; + } + + return *this; +} + +JsonValue InstanceEstimatedMonthlySavings::Jsonize() const +{ + JsonValue payload; + + if(m_currencyHasBeenSet) + { + payload.WithString("currency", CurrencyMapper::GetNameForCurrency(m_currency)); + } + + if(m_valueHasBeenSet) + { + payload.WithDouble("value", m_value); + + } + + return payload; +} + +} // namespace Model +} // namespace ComputeOptimizer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/source/model/InstanceRecommendationOption.cpp b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/InstanceRecommendationOption.cpp index e1d7c67c3ab..0065fe1d39f 100644 --- a/generated/src/aws-cpp-sdk-compute-optimizer/source/model/InstanceRecommendationOption.cpp +++ b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/InstanceRecommendationOption.cpp @@ -29,7 +29,8 @@ InstanceRecommendationOption::InstanceRecommendationOption() : m_savingsOpportunityHasBeenSet(false), m_migrationEffort(MigrationEffort::NOT_SET), m_migrationEffortHasBeenSet(false), - m_instanceGpuInfoHasBeenSet(false) + m_instanceGpuInfoHasBeenSet(false), + m_savingsOpportunityAfterDiscountsHasBeenSet(false) { } @@ -44,7 +45,8 @@ InstanceRecommendationOption::InstanceRecommendationOption(JsonView jsonValue) : m_savingsOpportunityHasBeenSet(false), m_migrationEffort(MigrationEffort::NOT_SET), m_migrationEffortHasBeenSet(false), - m_instanceGpuInfoHasBeenSet(false) + m_instanceGpuInfoHasBeenSet(false), + m_savingsOpportunityAfterDiscountsHasBeenSet(false) { *this = jsonValue; } @@ -113,6 +115,13 @@ InstanceRecommendationOption& InstanceRecommendationOption::operator =(JsonView m_instanceGpuInfoHasBeenSet = true; } + if(jsonValue.ValueExists("savingsOpportunityAfterDiscounts")) + { + m_savingsOpportunityAfterDiscounts = jsonValue.GetObject("savingsOpportunityAfterDiscounts"); + + m_savingsOpportunityAfterDiscountsHasBeenSet = true; + } + return *this; } @@ -177,6 +186,12 @@ JsonValue InstanceRecommendationOption::Jsonize() const } + if(m_savingsOpportunityAfterDiscountsHasBeenSet) + { + payload.WithObject("savingsOpportunityAfterDiscounts", m_savingsOpportunityAfterDiscounts.Jsonize()); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/source/model/InstanceSavingsEstimationMode.cpp b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/InstanceSavingsEstimationMode.cpp new file mode 100644 index 00000000000..56877dc5d08 --- /dev/null +++ b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/InstanceSavingsEstimationMode.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 ComputeOptimizer +{ +namespace Model +{ + +InstanceSavingsEstimationMode::InstanceSavingsEstimationMode() : + m_source(InstanceSavingsEstimationModeSource::NOT_SET), + m_sourceHasBeenSet(false) +{ +} + +InstanceSavingsEstimationMode::InstanceSavingsEstimationMode(JsonView jsonValue) : + m_source(InstanceSavingsEstimationModeSource::NOT_SET), + m_sourceHasBeenSet(false) +{ + *this = jsonValue; +} + +InstanceSavingsEstimationMode& InstanceSavingsEstimationMode::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("source")) + { + m_source = InstanceSavingsEstimationModeSourceMapper::GetInstanceSavingsEstimationModeSourceForName(jsonValue.GetString("source")); + + m_sourceHasBeenSet = true; + } + + return *this; +} + +JsonValue InstanceSavingsEstimationMode::Jsonize() const +{ + JsonValue payload; + + if(m_sourceHasBeenSet) + { + payload.WithString("source", InstanceSavingsEstimationModeSourceMapper::GetNameForInstanceSavingsEstimationModeSource(m_source)); + } + + return payload; +} + +} // namespace Model +} // namespace ComputeOptimizer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/source/model/InstanceSavingsEstimationModeSource.cpp b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/InstanceSavingsEstimationModeSource.cpp new file mode 100644 index 00000000000..cfcce0448fe --- /dev/null +++ b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/InstanceSavingsEstimationModeSource.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 ComputeOptimizer + { + namespace Model + { + namespace InstanceSavingsEstimationModeSourceMapper + { + + static const int PublicPricing_HASH = HashingUtils::HashString("PublicPricing"); + static const int CostExplorerRightsizing_HASH = HashingUtils::HashString("CostExplorerRightsizing"); + static const int CostOptimizationHub_HASH = HashingUtils::HashString("CostOptimizationHub"); + + + InstanceSavingsEstimationModeSource GetInstanceSavingsEstimationModeSourceForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == PublicPricing_HASH) + { + return InstanceSavingsEstimationModeSource::PublicPricing; + } + else if (hashCode == CostExplorerRightsizing_HASH) + { + return InstanceSavingsEstimationModeSource::CostExplorerRightsizing; + } + else if (hashCode == CostOptimizationHub_HASH) + { + return InstanceSavingsEstimationModeSource::CostOptimizationHub; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return InstanceSavingsEstimationModeSource::NOT_SET; + } + + Aws::String GetNameForInstanceSavingsEstimationModeSource(InstanceSavingsEstimationModeSource enumValue) + { + switch(enumValue) + { + case InstanceSavingsEstimationModeSource::NOT_SET: + return {}; + case InstanceSavingsEstimationModeSource::PublicPricing: + return "PublicPricing"; + case InstanceSavingsEstimationModeSource::CostExplorerRightsizing: + return "CostExplorerRightsizing"; + case InstanceSavingsEstimationModeSource::CostOptimizationHub: + return "CostOptimizationHub"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace InstanceSavingsEstimationModeSourceMapper + } // namespace Model + } // namespace ComputeOptimizer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/source/model/InstanceSavingsOpportunityAfterDiscounts.cpp b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/InstanceSavingsOpportunityAfterDiscounts.cpp new file mode 100644 index 00000000000..f6055c5f7ce --- /dev/null +++ b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/InstanceSavingsOpportunityAfterDiscounts.cpp @@ -0,0 +1,76 @@ +/** + * 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 ComputeOptimizer +{ +namespace Model +{ + +InstanceSavingsOpportunityAfterDiscounts::InstanceSavingsOpportunityAfterDiscounts() : + m_savingsOpportunityPercentage(0.0), + m_savingsOpportunityPercentageHasBeenSet(false), + m_estimatedMonthlySavingsHasBeenSet(false) +{ +} + +InstanceSavingsOpportunityAfterDiscounts::InstanceSavingsOpportunityAfterDiscounts(JsonView jsonValue) : + m_savingsOpportunityPercentage(0.0), + m_savingsOpportunityPercentageHasBeenSet(false), + m_estimatedMonthlySavingsHasBeenSet(false) +{ + *this = jsonValue; +} + +InstanceSavingsOpportunityAfterDiscounts& InstanceSavingsOpportunityAfterDiscounts::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("savingsOpportunityPercentage")) + { + m_savingsOpportunityPercentage = jsonValue.GetDouble("savingsOpportunityPercentage"); + + m_savingsOpportunityPercentageHasBeenSet = true; + } + + if(jsonValue.ValueExists("estimatedMonthlySavings")) + { + m_estimatedMonthlySavings = jsonValue.GetObject("estimatedMonthlySavings"); + + m_estimatedMonthlySavingsHasBeenSet = true; + } + + return *this; +} + +JsonValue InstanceSavingsOpportunityAfterDiscounts::Jsonize() const +{ + JsonValue payload; + + if(m_savingsOpportunityPercentageHasBeenSet) + { + payload.WithDouble("savingsOpportunityPercentage", m_savingsOpportunityPercentage); + + } + + if(m_estimatedMonthlySavingsHasBeenSet) + { + payload.WithObject("estimatedMonthlySavings", m_estimatedMonthlySavings.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace ComputeOptimizer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/source/model/LambdaEffectiveRecommendationPreferences.cpp b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/LambdaEffectiveRecommendationPreferences.cpp new file mode 100644 index 00000000000..893c5cf1fb3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/LambdaEffectiveRecommendationPreferences.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 ComputeOptimizer +{ +namespace Model +{ + +LambdaEffectiveRecommendationPreferences::LambdaEffectiveRecommendationPreferences() : + m_savingsEstimationModeHasBeenSet(false) +{ +} + +LambdaEffectiveRecommendationPreferences::LambdaEffectiveRecommendationPreferences(JsonView jsonValue) : + m_savingsEstimationModeHasBeenSet(false) +{ + *this = jsonValue; +} + +LambdaEffectiveRecommendationPreferences& LambdaEffectiveRecommendationPreferences::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("savingsEstimationMode")) + { + m_savingsEstimationMode = jsonValue.GetObject("savingsEstimationMode"); + + m_savingsEstimationModeHasBeenSet = true; + } + + return *this; +} + +JsonValue LambdaEffectiveRecommendationPreferences::Jsonize() const +{ + JsonValue payload; + + if(m_savingsEstimationModeHasBeenSet) + { + payload.WithObject("savingsEstimationMode", m_savingsEstimationMode.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace ComputeOptimizer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/source/model/LambdaEstimatedMonthlySavings.cpp b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/LambdaEstimatedMonthlySavings.cpp new file mode 100644 index 00000000000..e198f055890 --- /dev/null +++ b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/LambdaEstimatedMonthlySavings.cpp @@ -0,0 +1,77 @@ +/** + * 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 ComputeOptimizer +{ +namespace Model +{ + +LambdaEstimatedMonthlySavings::LambdaEstimatedMonthlySavings() : + m_currency(Currency::NOT_SET), + m_currencyHasBeenSet(false), + m_value(0.0), + m_valueHasBeenSet(false) +{ +} + +LambdaEstimatedMonthlySavings::LambdaEstimatedMonthlySavings(JsonView jsonValue) : + m_currency(Currency::NOT_SET), + m_currencyHasBeenSet(false), + m_value(0.0), + m_valueHasBeenSet(false) +{ + *this = jsonValue; +} + +LambdaEstimatedMonthlySavings& LambdaEstimatedMonthlySavings::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("currency")) + { + m_currency = CurrencyMapper::GetCurrencyForName(jsonValue.GetString("currency")); + + m_currencyHasBeenSet = true; + } + + if(jsonValue.ValueExists("value")) + { + m_value = jsonValue.GetDouble("value"); + + m_valueHasBeenSet = true; + } + + return *this; +} + +JsonValue LambdaEstimatedMonthlySavings::Jsonize() const +{ + JsonValue payload; + + if(m_currencyHasBeenSet) + { + payload.WithString("currency", CurrencyMapper::GetNameForCurrency(m_currency)); + } + + if(m_valueHasBeenSet) + { + payload.WithDouble("value", m_value); + + } + + return payload; +} + +} // namespace Model +} // namespace ComputeOptimizer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/source/model/LambdaFunctionMemoryRecommendationOption.cpp b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/LambdaFunctionMemoryRecommendationOption.cpp index f01f1a87310..39d0ae537f2 100644 --- a/generated/src/aws-cpp-sdk-compute-optimizer/source/model/LambdaFunctionMemoryRecommendationOption.cpp +++ b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/LambdaFunctionMemoryRecommendationOption.cpp @@ -24,7 +24,8 @@ LambdaFunctionMemoryRecommendationOption::LambdaFunctionMemoryRecommendationOpti m_memorySize(0), m_memorySizeHasBeenSet(false), m_projectedUtilizationMetricsHasBeenSet(false), - m_savingsOpportunityHasBeenSet(false) + m_savingsOpportunityHasBeenSet(false), + m_savingsOpportunityAfterDiscountsHasBeenSet(false) { } @@ -34,7 +35,8 @@ LambdaFunctionMemoryRecommendationOption::LambdaFunctionMemoryRecommendationOpti m_memorySize(0), m_memorySizeHasBeenSet(false), m_projectedUtilizationMetricsHasBeenSet(false), - m_savingsOpportunityHasBeenSet(false) + m_savingsOpportunityHasBeenSet(false), + m_savingsOpportunityAfterDiscountsHasBeenSet(false) { *this = jsonValue; } @@ -72,6 +74,13 @@ LambdaFunctionMemoryRecommendationOption& LambdaFunctionMemoryRecommendationOpti m_savingsOpportunityHasBeenSet = true; } + if(jsonValue.ValueExists("savingsOpportunityAfterDiscounts")) + { + m_savingsOpportunityAfterDiscounts = jsonValue.GetObject("savingsOpportunityAfterDiscounts"); + + m_savingsOpportunityAfterDiscountsHasBeenSet = true; + } + return *this; } @@ -108,6 +117,12 @@ JsonValue LambdaFunctionMemoryRecommendationOption::Jsonize() const } + if(m_savingsOpportunityAfterDiscountsHasBeenSet) + { + payload.WithObject("savingsOpportunityAfterDiscounts", m_savingsOpportunityAfterDiscounts.Jsonize()); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/source/model/LambdaFunctionRecommendation.cpp b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/LambdaFunctionRecommendation.cpp index a1590acf80b..3949f23b056 100644 --- a/generated/src/aws-cpp-sdk-compute-optimizer/source/model/LambdaFunctionRecommendation.cpp +++ b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/LambdaFunctionRecommendation.cpp @@ -36,7 +36,8 @@ LambdaFunctionRecommendation::LambdaFunctionRecommendation() : m_memorySizeRecommendationOptionsHasBeenSet(false), m_currentPerformanceRisk(CurrentPerformanceRisk::NOT_SET), m_currentPerformanceRiskHasBeenSet(false), - m_tagsHasBeenSet(false) + m_tagsHasBeenSet(false), + m_effectiveRecommendationPreferencesHasBeenSet(false) { } @@ -58,7 +59,8 @@ LambdaFunctionRecommendation::LambdaFunctionRecommendation(JsonView jsonValue) : m_memorySizeRecommendationOptionsHasBeenSet(false), m_currentPerformanceRisk(CurrentPerformanceRisk::NOT_SET), m_currentPerformanceRiskHasBeenSet(false), - m_tagsHasBeenSet(false) + m_tagsHasBeenSet(false), + m_effectiveRecommendationPreferencesHasBeenSet(false) { *this = jsonValue; } @@ -168,6 +170,13 @@ LambdaFunctionRecommendation& LambdaFunctionRecommendation::operator =(JsonView m_tagsHasBeenSet = true; } + if(jsonValue.ValueExists("effectiveRecommendationPreferences")) + { + m_effectiveRecommendationPreferences = jsonValue.GetObject("effectiveRecommendationPreferences"); + + m_effectiveRecommendationPreferencesHasBeenSet = true; + } + return *this; } @@ -270,6 +279,12 @@ JsonValue LambdaFunctionRecommendation::Jsonize() const } + if(m_effectiveRecommendationPreferencesHasBeenSet) + { + payload.WithObject("effectiveRecommendationPreferences", m_effectiveRecommendationPreferences.Jsonize()); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/source/model/LambdaSavingsEstimationMode.cpp b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/LambdaSavingsEstimationMode.cpp new file mode 100644 index 00000000000..64e82c39cae --- /dev/null +++ b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/LambdaSavingsEstimationMode.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 ComputeOptimizer +{ +namespace Model +{ + +LambdaSavingsEstimationMode::LambdaSavingsEstimationMode() : + m_source(LambdaSavingsEstimationModeSource::NOT_SET), + m_sourceHasBeenSet(false) +{ +} + +LambdaSavingsEstimationMode::LambdaSavingsEstimationMode(JsonView jsonValue) : + m_source(LambdaSavingsEstimationModeSource::NOT_SET), + m_sourceHasBeenSet(false) +{ + *this = jsonValue; +} + +LambdaSavingsEstimationMode& LambdaSavingsEstimationMode::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("source")) + { + m_source = LambdaSavingsEstimationModeSourceMapper::GetLambdaSavingsEstimationModeSourceForName(jsonValue.GetString("source")); + + m_sourceHasBeenSet = true; + } + + return *this; +} + +JsonValue LambdaSavingsEstimationMode::Jsonize() const +{ + JsonValue payload; + + if(m_sourceHasBeenSet) + { + payload.WithString("source", LambdaSavingsEstimationModeSourceMapper::GetNameForLambdaSavingsEstimationModeSource(m_source)); + } + + return payload; +} + +} // namespace Model +} // namespace ComputeOptimizer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/source/model/LambdaSavingsEstimationModeSource.cpp b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/LambdaSavingsEstimationModeSource.cpp new file mode 100644 index 00000000000..2a46558fd96 --- /dev/null +++ b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/LambdaSavingsEstimationModeSource.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 ComputeOptimizer + { + namespace Model + { + namespace LambdaSavingsEstimationModeSourceMapper + { + + static const int PublicPricing_HASH = HashingUtils::HashString("PublicPricing"); + static const int CostExplorerRightsizing_HASH = HashingUtils::HashString("CostExplorerRightsizing"); + static const int CostOptimizationHub_HASH = HashingUtils::HashString("CostOptimizationHub"); + + + LambdaSavingsEstimationModeSource GetLambdaSavingsEstimationModeSourceForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == PublicPricing_HASH) + { + return LambdaSavingsEstimationModeSource::PublicPricing; + } + else if (hashCode == CostExplorerRightsizing_HASH) + { + return LambdaSavingsEstimationModeSource::CostExplorerRightsizing; + } + else if (hashCode == CostOptimizationHub_HASH) + { + return LambdaSavingsEstimationModeSource::CostOptimizationHub; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return LambdaSavingsEstimationModeSource::NOT_SET; + } + + Aws::String GetNameForLambdaSavingsEstimationModeSource(LambdaSavingsEstimationModeSource enumValue) + { + switch(enumValue) + { + case LambdaSavingsEstimationModeSource::NOT_SET: + return {}; + case LambdaSavingsEstimationModeSource::PublicPricing: + return "PublicPricing"; + case LambdaSavingsEstimationModeSource::CostExplorerRightsizing: + return "CostExplorerRightsizing"; + case LambdaSavingsEstimationModeSource::CostOptimizationHub: + return "CostOptimizationHub"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace LambdaSavingsEstimationModeSourceMapper + } // namespace Model + } // namespace ComputeOptimizer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/source/model/LambdaSavingsOpportunityAfterDiscounts.cpp b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/LambdaSavingsOpportunityAfterDiscounts.cpp new file mode 100644 index 00000000000..a076e8d840d --- /dev/null +++ b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/LambdaSavingsOpportunityAfterDiscounts.cpp @@ -0,0 +1,76 @@ +/** + * 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 ComputeOptimizer +{ +namespace Model +{ + +LambdaSavingsOpportunityAfterDiscounts::LambdaSavingsOpportunityAfterDiscounts() : + m_savingsOpportunityPercentage(0.0), + m_savingsOpportunityPercentageHasBeenSet(false), + m_estimatedMonthlySavingsHasBeenSet(false) +{ +} + +LambdaSavingsOpportunityAfterDiscounts::LambdaSavingsOpportunityAfterDiscounts(JsonView jsonValue) : + m_savingsOpportunityPercentage(0.0), + m_savingsOpportunityPercentageHasBeenSet(false), + m_estimatedMonthlySavingsHasBeenSet(false) +{ + *this = jsonValue; +} + +LambdaSavingsOpportunityAfterDiscounts& LambdaSavingsOpportunityAfterDiscounts::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("savingsOpportunityPercentage")) + { + m_savingsOpportunityPercentage = jsonValue.GetDouble("savingsOpportunityPercentage"); + + m_savingsOpportunityPercentageHasBeenSet = true; + } + + if(jsonValue.ValueExists("estimatedMonthlySavings")) + { + m_estimatedMonthlySavings = jsonValue.GetObject("estimatedMonthlySavings"); + + m_estimatedMonthlySavingsHasBeenSet = true; + } + + return *this; +} + +JsonValue LambdaSavingsOpportunityAfterDiscounts::Jsonize() const +{ + JsonValue payload; + + if(m_savingsOpportunityPercentageHasBeenSet) + { + payload.WithDouble("savingsOpportunityPercentage", m_savingsOpportunityPercentage); + + } + + if(m_estimatedMonthlySavingsHasBeenSet) + { + payload.WithObject("estimatedMonthlySavings", m_estimatedMonthlySavings.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace ComputeOptimizer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/source/model/LookBackPeriodPreference.cpp b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/LookBackPeriodPreference.cpp new file mode 100644 index 00000000000..8c6a9b71ded --- /dev/null +++ b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/LookBackPeriodPreference.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 ComputeOptimizer + { + namespace Model + { + namespace LookBackPeriodPreferenceMapper + { + + static const int DAYS_14_HASH = HashingUtils::HashString("DAYS_14"); + static const int DAYS_32_HASH = HashingUtils::HashString("DAYS_32"); + static const int DAYS_93_HASH = HashingUtils::HashString("DAYS_93"); + + + LookBackPeriodPreference GetLookBackPeriodPreferenceForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == DAYS_14_HASH) + { + return LookBackPeriodPreference::DAYS_14; + } + else if (hashCode == DAYS_32_HASH) + { + return LookBackPeriodPreference::DAYS_32; + } + else if (hashCode == DAYS_93_HASH) + { + return LookBackPeriodPreference::DAYS_93; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return LookBackPeriodPreference::NOT_SET; + } + + Aws::String GetNameForLookBackPeriodPreference(LookBackPeriodPreference enumValue) + { + switch(enumValue) + { + case LookBackPeriodPreference::NOT_SET: + return {}; + case LookBackPeriodPreference::DAYS_14: + return "DAYS_14"; + case LookBackPeriodPreference::DAYS_32: + return "DAYS_32"; + case LookBackPeriodPreference::DAYS_93: + return "DAYS_93"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace LookBackPeriodPreferenceMapper + } // namespace Model + } // namespace ComputeOptimizer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/source/model/PreferredResource.cpp b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/PreferredResource.cpp new file mode 100644 index 00000000000..591b05c20c9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/PreferredResource.cpp @@ -0,0 +1,106 @@ +/** + * 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 ComputeOptimizer +{ +namespace Model +{ + +PreferredResource::PreferredResource() : + m_name(PreferredResourceName::NOT_SET), + m_nameHasBeenSet(false), + m_includeListHasBeenSet(false), + m_excludeListHasBeenSet(false) +{ +} + +PreferredResource::PreferredResource(JsonView jsonValue) : + m_name(PreferredResourceName::NOT_SET), + m_nameHasBeenSet(false), + m_includeListHasBeenSet(false), + m_excludeListHasBeenSet(false) +{ + *this = jsonValue; +} + +PreferredResource& PreferredResource::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("name")) + { + m_name = PreferredResourceNameMapper::GetPreferredResourceNameForName(jsonValue.GetString("name")); + + m_nameHasBeenSet = true; + } + + if(jsonValue.ValueExists("includeList")) + { + Aws::Utils::Array includeListJsonList = jsonValue.GetArray("includeList"); + for(unsigned includeListIndex = 0; includeListIndex < includeListJsonList.GetLength(); ++includeListIndex) + { + m_includeList.push_back(includeListJsonList[includeListIndex].AsString()); + } + m_includeListHasBeenSet = true; + } + + if(jsonValue.ValueExists("excludeList")) + { + Aws::Utils::Array excludeListJsonList = jsonValue.GetArray("excludeList"); + for(unsigned excludeListIndex = 0; excludeListIndex < excludeListJsonList.GetLength(); ++excludeListIndex) + { + m_excludeList.push_back(excludeListJsonList[excludeListIndex].AsString()); + } + m_excludeListHasBeenSet = true; + } + + return *this; +} + +JsonValue PreferredResource::Jsonize() const +{ + JsonValue payload; + + if(m_nameHasBeenSet) + { + payload.WithString("name", PreferredResourceNameMapper::GetNameForPreferredResourceName(m_name)); + } + + if(m_includeListHasBeenSet) + { + Aws::Utils::Array includeListJsonList(m_includeList.size()); + for(unsigned includeListIndex = 0; includeListIndex < includeListJsonList.GetLength(); ++includeListIndex) + { + includeListJsonList[includeListIndex].AsString(m_includeList[includeListIndex]); + } + payload.WithArray("includeList", std::move(includeListJsonList)); + + } + + if(m_excludeListHasBeenSet) + { + Aws::Utils::Array excludeListJsonList(m_excludeList.size()); + for(unsigned excludeListIndex = 0; excludeListIndex < excludeListJsonList.GetLength(); ++excludeListIndex) + { + excludeListJsonList[excludeListIndex].AsString(m_excludeList[excludeListIndex]); + } + payload.WithArray("excludeList", std::move(excludeListJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace ComputeOptimizer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/source/model/PreferredResourceName.cpp b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/PreferredResourceName.cpp new file mode 100644 index 00000000000..8a45a2f9271 --- /dev/null +++ b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/PreferredResourceName.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 ComputeOptimizer + { + namespace Model + { + namespace PreferredResourceNameMapper + { + + static const int Ec2InstanceTypes_HASH = HashingUtils::HashString("Ec2InstanceTypes"); + + + PreferredResourceName GetPreferredResourceNameForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Ec2InstanceTypes_HASH) + { + return PreferredResourceName::Ec2InstanceTypes; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return PreferredResourceName::NOT_SET; + } + + Aws::String GetNameForPreferredResourceName(PreferredResourceName enumValue) + { + switch(enumValue) + { + case PreferredResourceName::NOT_SET: + return {}; + case PreferredResourceName::Ec2InstanceTypes: + return "Ec2InstanceTypes"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace PreferredResourceNameMapper + } // namespace Model + } // namespace ComputeOptimizer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/source/model/PutRecommendationPreferencesRequest.cpp b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/PutRecommendationPreferencesRequest.cpp index 5ba94af2008..62000b9b671 100644 --- a/generated/src/aws-cpp-sdk-compute-optimizer/source/model/PutRecommendationPreferencesRequest.cpp +++ b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/PutRecommendationPreferencesRequest.cpp @@ -20,7 +20,13 @@ PutRecommendationPreferencesRequest::PutRecommendationPreferencesRequest() : m_enhancedInfrastructureMetricsHasBeenSet(false), m_inferredWorkloadTypes(InferredWorkloadTypesPreference::NOT_SET), m_inferredWorkloadTypesHasBeenSet(false), - m_externalMetricsPreferenceHasBeenSet(false) + m_externalMetricsPreferenceHasBeenSet(false), + m_lookBackPeriod(LookBackPeriodPreference::NOT_SET), + m_lookBackPeriodHasBeenSet(false), + m_utilizationPreferencesHasBeenSet(false), + m_preferredResourcesHasBeenSet(false), + m_savingsEstimationMode(SavingsEstimationMode::NOT_SET), + m_savingsEstimationModeHasBeenSet(false) { } @@ -55,6 +61,38 @@ Aws::String PutRecommendationPreferencesRequest::SerializePayload() const } + if(m_lookBackPeriodHasBeenSet) + { + payload.WithString("lookBackPeriod", LookBackPeriodPreferenceMapper::GetNameForLookBackPeriodPreference(m_lookBackPeriod)); + } + + if(m_utilizationPreferencesHasBeenSet) + { + Aws::Utils::Array utilizationPreferencesJsonList(m_utilizationPreferences.size()); + for(unsigned utilizationPreferencesIndex = 0; utilizationPreferencesIndex < utilizationPreferencesJsonList.GetLength(); ++utilizationPreferencesIndex) + { + utilizationPreferencesJsonList[utilizationPreferencesIndex].AsObject(m_utilizationPreferences[utilizationPreferencesIndex].Jsonize()); + } + payload.WithArray("utilizationPreferences", std::move(utilizationPreferencesJsonList)); + + } + + if(m_preferredResourcesHasBeenSet) + { + Aws::Utils::Array preferredResourcesJsonList(m_preferredResources.size()); + for(unsigned preferredResourcesIndex = 0; preferredResourcesIndex < preferredResourcesJsonList.GetLength(); ++preferredResourcesIndex) + { + preferredResourcesJsonList[preferredResourcesIndex].AsObject(m_preferredResources[preferredResourcesIndex].Jsonize()); + } + payload.WithArray("preferredResources", std::move(preferredResourcesJsonList)); + + } + + if(m_savingsEstimationModeHasBeenSet) + { + payload.WithString("savingsEstimationMode", SavingsEstimationModeMapper::GetNameForSavingsEstimationMode(m_savingsEstimationMode)); + } + return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/source/model/RecommendationPreferenceName.cpp b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/RecommendationPreferenceName.cpp index 20f9d6b7fbe..b0441881af5 100644 --- a/generated/src/aws-cpp-sdk-compute-optimizer/source/model/RecommendationPreferenceName.cpp +++ b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/RecommendationPreferenceName.cpp @@ -23,6 +23,9 @@ namespace Aws static const int EnhancedInfrastructureMetrics_HASH = HashingUtils::HashString("EnhancedInfrastructureMetrics"); static const int InferredWorkloadTypes_HASH = HashingUtils::HashString("InferredWorkloadTypes"); static const int ExternalMetricsPreference_HASH = HashingUtils::HashString("ExternalMetricsPreference"); + static const int LookBackPeriodPreference_HASH = HashingUtils::HashString("LookBackPeriodPreference"); + static const int PreferredResources_HASH = HashingUtils::HashString("PreferredResources"); + static const int UtilizationPreferences_HASH = HashingUtils::HashString("UtilizationPreferences"); RecommendationPreferenceName GetRecommendationPreferenceNameForName(const Aws::String& name) @@ -40,6 +43,18 @@ namespace Aws { return RecommendationPreferenceName::ExternalMetricsPreference; } + else if (hashCode == LookBackPeriodPreference_HASH) + { + return RecommendationPreferenceName::LookBackPeriodPreference; + } + else if (hashCode == PreferredResources_HASH) + { + return RecommendationPreferenceName::PreferredResources; + } + else if (hashCode == UtilizationPreferences_HASH) + { + return RecommendationPreferenceName::UtilizationPreferences; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -62,6 +77,12 @@ namespace Aws return "InferredWorkloadTypes"; case RecommendationPreferenceName::ExternalMetricsPreference: return "ExternalMetricsPreference"; + case RecommendationPreferenceName::LookBackPeriodPreference: + return "LookBackPeriodPreference"; + case RecommendationPreferenceName::PreferredResources: + return "PreferredResources"; + case RecommendationPreferenceName::UtilizationPreferences: + return "UtilizationPreferences"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/source/model/RecommendationPreferencesDetail.cpp b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/RecommendationPreferencesDetail.cpp index feddbbdac1d..2bb84d8d377 100644 --- a/generated/src/aws-cpp-sdk-compute-optimizer/source/model/RecommendationPreferencesDetail.cpp +++ b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/RecommendationPreferencesDetail.cpp @@ -26,7 +26,13 @@ RecommendationPreferencesDetail::RecommendationPreferencesDetail() : m_enhancedInfrastructureMetricsHasBeenSet(false), m_inferredWorkloadTypes(InferredWorkloadTypesPreference::NOT_SET), m_inferredWorkloadTypesHasBeenSet(false), - m_externalMetricsPreferenceHasBeenSet(false) + m_externalMetricsPreferenceHasBeenSet(false), + m_lookBackPeriod(LookBackPeriodPreference::NOT_SET), + m_lookBackPeriodHasBeenSet(false), + m_utilizationPreferencesHasBeenSet(false), + m_preferredResourcesHasBeenSet(false), + m_savingsEstimationMode(SavingsEstimationMode::NOT_SET), + m_savingsEstimationModeHasBeenSet(false) { } @@ -38,7 +44,13 @@ RecommendationPreferencesDetail::RecommendationPreferencesDetail(JsonView jsonVa m_enhancedInfrastructureMetricsHasBeenSet(false), m_inferredWorkloadTypes(InferredWorkloadTypesPreference::NOT_SET), m_inferredWorkloadTypesHasBeenSet(false), - m_externalMetricsPreferenceHasBeenSet(false) + m_externalMetricsPreferenceHasBeenSet(false), + m_lookBackPeriod(LookBackPeriodPreference::NOT_SET), + m_lookBackPeriodHasBeenSet(false), + m_utilizationPreferencesHasBeenSet(false), + m_preferredResourcesHasBeenSet(false), + m_savingsEstimationMode(SavingsEstimationMode::NOT_SET), + m_savingsEstimationModeHasBeenSet(false) { *this = jsonValue; } @@ -80,6 +92,40 @@ RecommendationPreferencesDetail& RecommendationPreferencesDetail::operator =(Jso m_externalMetricsPreferenceHasBeenSet = true; } + if(jsonValue.ValueExists("lookBackPeriod")) + { + m_lookBackPeriod = LookBackPeriodPreferenceMapper::GetLookBackPeriodPreferenceForName(jsonValue.GetString("lookBackPeriod")); + + m_lookBackPeriodHasBeenSet = true; + } + + if(jsonValue.ValueExists("utilizationPreferences")) + { + Aws::Utils::Array utilizationPreferencesJsonList = jsonValue.GetArray("utilizationPreferences"); + for(unsigned utilizationPreferencesIndex = 0; utilizationPreferencesIndex < utilizationPreferencesJsonList.GetLength(); ++utilizationPreferencesIndex) + { + m_utilizationPreferences.push_back(utilizationPreferencesJsonList[utilizationPreferencesIndex].AsObject()); + } + m_utilizationPreferencesHasBeenSet = true; + } + + if(jsonValue.ValueExists("preferredResources")) + { + Aws::Utils::Array preferredResourcesJsonList = jsonValue.GetArray("preferredResources"); + for(unsigned preferredResourcesIndex = 0; preferredResourcesIndex < preferredResourcesJsonList.GetLength(); ++preferredResourcesIndex) + { + m_preferredResources.push_back(preferredResourcesJsonList[preferredResourcesIndex].AsObject()); + } + m_preferredResourcesHasBeenSet = true; + } + + if(jsonValue.ValueExists("savingsEstimationMode")) + { + m_savingsEstimationMode = SavingsEstimationModeMapper::GetSavingsEstimationModeForName(jsonValue.GetString("savingsEstimationMode")); + + m_savingsEstimationModeHasBeenSet = true; + } + return *this; } @@ -114,6 +160,38 @@ JsonValue RecommendationPreferencesDetail::Jsonize() const } + if(m_lookBackPeriodHasBeenSet) + { + payload.WithString("lookBackPeriod", LookBackPeriodPreferenceMapper::GetNameForLookBackPeriodPreference(m_lookBackPeriod)); + } + + if(m_utilizationPreferencesHasBeenSet) + { + Aws::Utils::Array utilizationPreferencesJsonList(m_utilizationPreferences.size()); + for(unsigned utilizationPreferencesIndex = 0; utilizationPreferencesIndex < utilizationPreferencesJsonList.GetLength(); ++utilizationPreferencesIndex) + { + utilizationPreferencesJsonList[utilizationPreferencesIndex].AsObject(m_utilizationPreferences[utilizationPreferencesIndex].Jsonize()); + } + payload.WithArray("utilizationPreferences", std::move(utilizationPreferencesJsonList)); + + } + + if(m_preferredResourcesHasBeenSet) + { + Aws::Utils::Array preferredResourcesJsonList(m_preferredResources.size()); + for(unsigned preferredResourcesIndex = 0; preferredResourcesIndex < preferredResourcesJsonList.GetLength(); ++preferredResourcesIndex) + { + preferredResourcesJsonList[preferredResourcesIndex].AsObject(m_preferredResources[preferredResourcesIndex].Jsonize()); + } + payload.WithArray("preferredResources", std::move(preferredResourcesJsonList)); + + } + + if(m_savingsEstimationModeHasBeenSet) + { + payload.WithString("savingsEstimationMode", SavingsEstimationModeMapper::GetNameForSavingsEstimationMode(m_savingsEstimationMode)); + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/source/model/SavingsEstimationMode.cpp b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/SavingsEstimationMode.cpp new file mode 100644 index 00000000000..243c5c9a7a7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/SavingsEstimationMode.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 ComputeOptimizer + { + namespace Model + { + namespace SavingsEstimationModeMapper + { + + static const int AfterDiscounts_HASH = HashingUtils::HashString("AfterDiscounts"); + static const int BeforeDiscounts_HASH = HashingUtils::HashString("BeforeDiscounts"); + + + SavingsEstimationMode GetSavingsEstimationModeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == AfterDiscounts_HASH) + { + return SavingsEstimationMode::AfterDiscounts; + } + else if (hashCode == BeforeDiscounts_HASH) + { + return SavingsEstimationMode::BeforeDiscounts; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return SavingsEstimationMode::NOT_SET; + } + + Aws::String GetNameForSavingsEstimationMode(SavingsEstimationMode enumValue) + { + switch(enumValue) + { + case SavingsEstimationMode::NOT_SET: + return {}; + case SavingsEstimationMode::AfterDiscounts: + return "AfterDiscounts"; + case SavingsEstimationMode::BeforeDiscounts: + return "BeforeDiscounts"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace SavingsEstimationModeMapper + } // namespace Model + } // namespace ComputeOptimizer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/source/model/UtilizationPreference.cpp b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/UtilizationPreference.cpp new file mode 100644 index 00000000000..ac01b6959dd --- /dev/null +++ b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/UtilizationPreference.cpp @@ -0,0 +1,75 @@ +/** + * 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 ComputeOptimizer +{ +namespace Model +{ + +UtilizationPreference::UtilizationPreference() : + m_metricName(CustomizableMetricName::NOT_SET), + m_metricNameHasBeenSet(false), + m_metricParametersHasBeenSet(false) +{ +} + +UtilizationPreference::UtilizationPreference(JsonView jsonValue) : + m_metricName(CustomizableMetricName::NOT_SET), + m_metricNameHasBeenSet(false), + m_metricParametersHasBeenSet(false) +{ + *this = jsonValue; +} + +UtilizationPreference& UtilizationPreference::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("metricName")) + { + m_metricName = CustomizableMetricNameMapper::GetCustomizableMetricNameForName(jsonValue.GetString("metricName")); + + m_metricNameHasBeenSet = true; + } + + if(jsonValue.ValueExists("metricParameters")) + { + m_metricParameters = jsonValue.GetObject("metricParameters"); + + m_metricParametersHasBeenSet = true; + } + + return *this; +} + +JsonValue UtilizationPreference::Jsonize() const +{ + JsonValue payload; + + if(m_metricNameHasBeenSet) + { + payload.WithString("metricName", CustomizableMetricNameMapper::GetNameForCustomizableMetricName(m_metricName)); + } + + if(m_metricParametersHasBeenSet) + { + payload.WithObject("metricParameters", m_metricParameters.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace ComputeOptimizer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/source/model/VolumeRecommendation.cpp b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/VolumeRecommendation.cpp index 8c1e39ab15b..e200b82956e 100644 --- a/generated/src/aws-cpp-sdk-compute-optimizer/source/model/VolumeRecommendation.cpp +++ b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/VolumeRecommendation.cpp @@ -31,7 +31,8 @@ VolumeRecommendation::VolumeRecommendation() : m_lastRefreshTimestampHasBeenSet(false), m_currentPerformanceRisk(CurrentPerformanceRisk::NOT_SET), m_currentPerformanceRiskHasBeenSet(false), - m_tagsHasBeenSet(false) + m_tagsHasBeenSet(false), + m_effectiveRecommendationPreferencesHasBeenSet(false) { } @@ -48,7 +49,8 @@ VolumeRecommendation::VolumeRecommendation(JsonView jsonValue) : m_lastRefreshTimestampHasBeenSet(false), m_currentPerformanceRisk(CurrentPerformanceRisk::NOT_SET), m_currentPerformanceRiskHasBeenSet(false), - m_tagsHasBeenSet(false) + m_tagsHasBeenSet(false), + m_effectiveRecommendationPreferencesHasBeenSet(false) { *this = jsonValue; } @@ -134,6 +136,13 @@ VolumeRecommendation& VolumeRecommendation::operator =(JsonView jsonValue) m_tagsHasBeenSet = true; } + if(jsonValue.ValueExists("effectiveRecommendationPreferences")) + { + m_effectiveRecommendationPreferences = jsonValue.GetObject("effectiveRecommendationPreferences"); + + m_effectiveRecommendationPreferencesHasBeenSet = true; + } + return *this; } @@ -213,6 +222,12 @@ JsonValue VolumeRecommendation::Jsonize() const } + if(m_effectiveRecommendationPreferencesHasBeenSet) + { + payload.WithObject("effectiveRecommendationPreferences", m_effectiveRecommendationPreferences.Jsonize()); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/source/model/VolumeRecommendationOption.cpp b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/VolumeRecommendationOption.cpp index 6fb3c5e9f5e..e5623e206fd 100644 --- a/generated/src/aws-cpp-sdk-compute-optimizer/source/model/VolumeRecommendationOption.cpp +++ b/generated/src/aws-cpp-sdk-compute-optimizer/source/model/VolumeRecommendationOption.cpp @@ -24,7 +24,8 @@ VolumeRecommendationOption::VolumeRecommendationOption() : m_performanceRiskHasBeenSet(false), m_rank(0), m_rankHasBeenSet(false), - m_savingsOpportunityHasBeenSet(false) + m_savingsOpportunityHasBeenSet(false), + m_savingsOpportunityAfterDiscountsHasBeenSet(false) { } @@ -34,7 +35,8 @@ VolumeRecommendationOption::VolumeRecommendationOption(JsonView jsonValue) : m_performanceRiskHasBeenSet(false), m_rank(0), m_rankHasBeenSet(false), - m_savingsOpportunityHasBeenSet(false) + m_savingsOpportunityHasBeenSet(false), + m_savingsOpportunityAfterDiscountsHasBeenSet(false) { *this = jsonValue; } @@ -69,6 +71,13 @@ VolumeRecommendationOption& VolumeRecommendationOption::operator =(JsonView json m_savingsOpportunityHasBeenSet = true; } + if(jsonValue.ValueExists("savingsOpportunityAfterDiscounts")) + { + m_savingsOpportunityAfterDiscounts = jsonValue.GetObject("savingsOpportunityAfterDiscounts"); + + m_savingsOpportunityAfterDiscountsHasBeenSet = true; + } + return *this; } @@ -100,6 +109,12 @@ JsonValue VolumeRecommendationOption::Jsonize() const } + if(m_savingsOpportunityAfterDiscountsHasBeenSet) + { + payload.WithObject("savingsOpportunityAfterDiscounts", m_savingsOpportunityAfterDiscounts.Jsonize()); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-config/include/aws/config/model/BaseConfigurationItem.h b/generated/src/aws-cpp-sdk-config/include/aws/config/model/BaseConfigurationItem.h index b2eddd735f2..7439922ee5c 100644 --- a/generated/src/aws-cpp-sdk-config/include/aws/config/model/BaseConfigurationItem.h +++ b/generated/src/aws-cpp-sdk-config/include/aws/config/model/BaseConfigurationItem.h @@ -10,6 +10,7 @@ #include #include #include +#include #include namespace Aws @@ -28,7 +29,7 @@ namespace Model { /** - *

    The detailed configuration of a specified resource.

    See Also:

    + *

    The detailed configurations of a specified resource.

    See Also:

    * AWS * API Reference

    @@ -125,111 +126,117 @@ namespace Model /** - *

    The time when the configuration recording was initiated.

    + *

    The time when the recording of configuration changes was initiated for the + * resource.

    */ inline const Aws::Utils::DateTime& GetConfigurationItemCaptureTime() const{ return m_configurationItemCaptureTime; } /** - *

    The time when the configuration recording was initiated.

    + *

    The time when the recording of configuration changes was initiated for the + * resource.

    */ inline bool ConfigurationItemCaptureTimeHasBeenSet() const { return m_configurationItemCaptureTimeHasBeenSet; } /** - *

    The time when the configuration recording was initiated.

    + *

    The time when the recording of configuration changes was initiated for the + * resource.

    */ inline void SetConfigurationItemCaptureTime(const Aws::Utils::DateTime& value) { m_configurationItemCaptureTimeHasBeenSet = true; m_configurationItemCaptureTime = value; } /** - *

    The time when the configuration recording was initiated.

    + *

    The time when the recording of configuration changes was initiated for the + * resource.

    */ inline void SetConfigurationItemCaptureTime(Aws::Utils::DateTime&& value) { m_configurationItemCaptureTimeHasBeenSet = true; m_configurationItemCaptureTime = std::move(value); } /** - *

    The time when the configuration recording was initiated.

    + *

    The time when the recording of configuration changes was initiated for the + * resource.

    */ inline BaseConfigurationItem& WithConfigurationItemCaptureTime(const Aws::Utils::DateTime& value) { SetConfigurationItemCaptureTime(value); return *this;} /** - *

    The time when the configuration recording was initiated.

    + *

    The time when the recording of configuration changes was initiated for the + * resource.

    */ inline BaseConfigurationItem& WithConfigurationItemCaptureTime(Aws::Utils::DateTime&& value) { SetConfigurationItemCaptureTime(std::move(value)); return *this;} /** - *

    The configuration item status. The valid values are:

    • OK – - * The resource configuration has been updated

    • ResourceDiscovered - * – The resource was newly discovered

    • ResourceNotRecorded – The - * resource was discovered but its configuration was not recorded since the - * recorder excludes the recording of resources of this type

    • - *

      ResourceDeleted – The resource was deleted

    • - *

      ResourceDeletedNotRecorded – The resource was deleted but its configuration - * was not recorded since the recorder excludes the recording of resources of this - * type

    + *

    The configuration item status. Valid values include:

    • OK – + * The resource configuration has been updated.

    • + *

      ResourceDiscovered – The resource was newly discovered.

    • + *

      ResourceNotRecorded – The resource was discovered, but its configuration was + * not recorded since the recorder doesn't record resources of this type.

    • + *
    • ResourceDeleted – The resource was deleted

    • + *

      ResourceDeletedNotRecorded – The resource was deleted, but its configuration + * was not recorded since the recorder doesn't record resources of this type.

      + *
    */ inline const ConfigurationItemStatus& GetConfigurationItemStatus() const{ return m_configurationItemStatus; } /** - *

    The configuration item status. The valid values are:

    • OK – - * The resource configuration has been updated

    • ResourceDiscovered - * – The resource was newly discovered

    • ResourceNotRecorded – The - * resource was discovered but its configuration was not recorded since the - * recorder excludes the recording of resources of this type

    • - *

      ResourceDeleted – The resource was deleted

    • - *

      ResourceDeletedNotRecorded – The resource was deleted but its configuration - * was not recorded since the recorder excludes the recording of resources of this - * type

    + *

    The configuration item status. Valid values include:

    • OK – + * The resource configuration has been updated.

    • + *

      ResourceDiscovered – The resource was newly discovered.

    • + *

      ResourceNotRecorded – The resource was discovered, but its configuration was + * not recorded since the recorder doesn't record resources of this type.

    • + *
    • ResourceDeleted – The resource was deleted

    • + *

      ResourceDeletedNotRecorded – The resource was deleted, but its configuration + * was not recorded since the recorder doesn't record resources of this type.

      + *
    */ inline bool ConfigurationItemStatusHasBeenSet() const { return m_configurationItemStatusHasBeenSet; } /** - *

    The configuration item status. The valid values are:

    • OK – - * The resource configuration has been updated

    • ResourceDiscovered - * – The resource was newly discovered

    • ResourceNotRecorded – The - * resource was discovered but its configuration was not recorded since the - * recorder excludes the recording of resources of this type

    • - *

      ResourceDeleted – The resource was deleted

    • - *

      ResourceDeletedNotRecorded – The resource was deleted but its configuration - * was not recorded since the recorder excludes the recording of resources of this - * type

    + *

    The configuration item status. Valid values include:

    • OK – + * The resource configuration has been updated.

    • + *

      ResourceDiscovered – The resource was newly discovered.

    • + *

      ResourceNotRecorded – The resource was discovered, but its configuration was + * not recorded since the recorder doesn't record resources of this type.

    • + *
    • ResourceDeleted – The resource was deleted

    • + *

      ResourceDeletedNotRecorded – The resource was deleted, but its configuration + * was not recorded since the recorder doesn't record resources of this type.

      + *
    */ inline void SetConfigurationItemStatus(const ConfigurationItemStatus& value) { m_configurationItemStatusHasBeenSet = true; m_configurationItemStatus = value; } /** - *

    The configuration item status. The valid values are:

    • OK – - * The resource configuration has been updated

    • ResourceDiscovered - * – The resource was newly discovered

    • ResourceNotRecorded – The - * resource was discovered but its configuration was not recorded since the - * recorder excludes the recording of resources of this type

    • - *

      ResourceDeleted – The resource was deleted

    • - *

      ResourceDeletedNotRecorded – The resource was deleted but its configuration - * was not recorded since the recorder excludes the recording of resources of this - * type

    + *

    The configuration item status. Valid values include:

    • OK – + * The resource configuration has been updated.

    • + *

      ResourceDiscovered – The resource was newly discovered.

    • + *

      ResourceNotRecorded – The resource was discovered, but its configuration was + * not recorded since the recorder doesn't record resources of this type.

    • + *
    • ResourceDeleted – The resource was deleted

    • + *

      ResourceDeletedNotRecorded – The resource was deleted, but its configuration + * was not recorded since the recorder doesn't record resources of this type.

      + *
    */ inline void SetConfigurationItemStatus(ConfigurationItemStatus&& value) { m_configurationItemStatusHasBeenSet = true; m_configurationItemStatus = std::move(value); } /** - *

    The configuration item status. The valid values are:

    • OK – - * The resource configuration has been updated

    • ResourceDiscovered - * – The resource was newly discovered

    • ResourceNotRecorded – The - * resource was discovered but its configuration was not recorded since the - * recorder excludes the recording of resources of this type

    • - *

      ResourceDeleted – The resource was deleted

    • - *

      ResourceDeletedNotRecorded – The resource was deleted but its configuration - * was not recorded since the recorder excludes the recording of resources of this - * type

    + *

    The configuration item status. Valid values include:

    • OK – + * The resource configuration has been updated.

    • + *

      ResourceDiscovered – The resource was newly discovered.

    • + *

      ResourceNotRecorded – The resource was discovered, but its configuration was + * not recorded since the recorder doesn't record resources of this type.

    • + *
    • ResourceDeleted – The resource was deleted

    • + *

      ResourceDeletedNotRecorded – The resource was deleted, but its configuration + * was not recorded since the recorder doesn't record resources of this type.

      + *
    */ inline BaseConfigurationItem& WithConfigurationItemStatus(const ConfigurationItemStatus& value) { SetConfigurationItemStatus(value); return *this;} /** - *

    The configuration item status. The valid values are:

    • OK – - * The resource configuration has been updated

    • ResourceDiscovered - * – The resource was newly discovered

    • ResourceNotRecorded – The - * resource was discovered but its configuration was not recorded since the - * recorder excludes the recording of resources of this type

    • - *

      ResourceDeleted – The resource was deleted

    • - *

      ResourceDeletedNotRecorded – The resource was deleted but its configuration - * was not recorded since the recorder excludes the recording of resources of this - * type

    + *

    The configuration item status. Valid values include:

    • OK – + * The resource configuration has been updated.

    • + *

      ResourceDiscovered – The resource was newly discovered.

    • + *

      ResourceNotRecorded – The resource was discovered, but its configuration was + * not recorded since the recorder doesn't record resources of this type.

    • + *
    • ResourceDeleted – The resource was deleted

    • + *

      ResourceDeletedNotRecorded – The resource was deleted, but its configuration + * was not recorded since the recorder doesn't record resources of this type.

      + *
    */ inline BaseConfigurationItem& WithConfigurationItemStatus(ConfigurationItemStatus&& value) { SetConfigurationItemStatus(std::move(value)); return *this;} @@ -669,6 +676,74 @@ namespace Model */ inline BaseConfigurationItem& AddSupplementaryConfiguration(const char* key, const char* value) { m_supplementaryConfigurationHasBeenSet = true; m_supplementaryConfiguration.emplace(key, value); return *this; } + + /** + *

    The recording frequency that Config uses to record configuration changes for + * the resource.

    + */ + inline const RecordingFrequency& GetRecordingFrequency() const{ return m_recordingFrequency; } + + /** + *

    The recording frequency that Config uses to record configuration changes for + * the resource.

    + */ + inline bool RecordingFrequencyHasBeenSet() const { return m_recordingFrequencyHasBeenSet; } + + /** + *

    The recording frequency that Config uses to record configuration changes for + * the resource.

    + */ + inline void SetRecordingFrequency(const RecordingFrequency& value) { m_recordingFrequencyHasBeenSet = true; m_recordingFrequency = value; } + + /** + *

    The recording frequency that Config uses to record configuration changes for + * the resource.

    + */ + inline void SetRecordingFrequency(RecordingFrequency&& value) { m_recordingFrequencyHasBeenSet = true; m_recordingFrequency = std::move(value); } + + /** + *

    The recording frequency that Config uses to record configuration changes for + * the resource.

    + */ + inline BaseConfigurationItem& WithRecordingFrequency(const RecordingFrequency& value) { SetRecordingFrequency(value); return *this;} + + /** + *

    The recording frequency that Config uses to record configuration changes for + * the resource.

    + */ + inline BaseConfigurationItem& WithRecordingFrequency(RecordingFrequency&& value) { SetRecordingFrequency(std::move(value)); return *this;} + + + /** + *

    The time when configuration changes for the resource were delivered.

    + */ + inline const Aws::Utils::DateTime& GetConfigurationItemDeliveryTime() const{ return m_configurationItemDeliveryTime; } + + /** + *

    The time when configuration changes for the resource were delivered.

    + */ + inline bool ConfigurationItemDeliveryTimeHasBeenSet() const { return m_configurationItemDeliveryTimeHasBeenSet; } + + /** + *

    The time when configuration changes for the resource were delivered.

    + */ + inline void SetConfigurationItemDeliveryTime(const Aws::Utils::DateTime& value) { m_configurationItemDeliveryTimeHasBeenSet = true; m_configurationItemDeliveryTime = value; } + + /** + *

    The time when configuration changes for the resource were delivered.

    + */ + inline void SetConfigurationItemDeliveryTime(Aws::Utils::DateTime&& value) { m_configurationItemDeliveryTimeHasBeenSet = true; m_configurationItemDeliveryTime = std::move(value); } + + /** + *

    The time when configuration changes for the resource were delivered.

    + */ + inline BaseConfigurationItem& WithConfigurationItemDeliveryTime(const Aws::Utils::DateTime& value) { SetConfigurationItemDeliveryTime(value); return *this;} + + /** + *

    The time when configuration changes for the resource were delivered.

    + */ + inline BaseConfigurationItem& WithConfigurationItemDeliveryTime(Aws::Utils::DateTime&& value) { SetConfigurationItemDeliveryTime(std::move(value)); return *this;} + private: Aws::String m_version; @@ -712,6 +787,12 @@ namespace Model Aws::Map m_supplementaryConfiguration; bool m_supplementaryConfigurationHasBeenSet = false; + + RecordingFrequency m_recordingFrequency; + bool m_recordingFrequencyHasBeenSet = false; + + Aws::Utils::DateTime m_configurationItemDeliveryTime; + bool m_configurationItemDeliveryTimeHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-config/include/aws/config/model/ConfigurationItem.h b/generated/src/aws-cpp-sdk-config/include/aws/config/model/ConfigurationItem.h index d1c7c823532..7e401743a3f 100644 --- a/generated/src/aws-cpp-sdk-config/include/aws/config/model/ConfigurationItem.h +++ b/generated/src/aws-cpp-sdk-config/include/aws/config/model/ConfigurationItem.h @@ -11,6 +11,7 @@ #include #include #include +#include #include #include @@ -127,111 +128,111 @@ namespace Model /** - *

    The time when the configuration recording was initiated.

    + *

    The time when the recording of configuration changes was initiated for the + * resource.

    */ inline const Aws::Utils::DateTime& GetConfigurationItemCaptureTime() const{ return m_configurationItemCaptureTime; } /** - *

    The time when the configuration recording was initiated.

    + *

    The time when the recording of configuration changes was initiated for the + * resource.

    */ inline bool ConfigurationItemCaptureTimeHasBeenSet() const { return m_configurationItemCaptureTimeHasBeenSet; } /** - *

    The time when the configuration recording was initiated.

    + *

    The time when the recording of configuration changes was initiated for the + * resource.

    */ inline void SetConfigurationItemCaptureTime(const Aws::Utils::DateTime& value) { m_configurationItemCaptureTimeHasBeenSet = true; m_configurationItemCaptureTime = value; } /** - *

    The time when the configuration recording was initiated.

    + *

    The time when the recording of configuration changes was initiated for the + * resource.

    */ inline void SetConfigurationItemCaptureTime(Aws::Utils::DateTime&& value) { m_configurationItemCaptureTimeHasBeenSet = true; m_configurationItemCaptureTime = std::move(value); } /** - *

    The time when the configuration recording was initiated.

    + *

    The time when the recording of configuration changes was initiated for the + * resource.

    */ inline ConfigurationItem& WithConfigurationItemCaptureTime(const Aws::Utils::DateTime& value) { SetConfigurationItemCaptureTime(value); return *this;} /** - *

    The time when the configuration recording was initiated.

    + *

    The time when the recording of configuration changes was initiated for the + * resource.

    */ inline ConfigurationItem& WithConfigurationItemCaptureTime(Aws::Utils::DateTime&& value) { SetConfigurationItemCaptureTime(std::move(value)); return *this;} /** - *

    The configuration item status. The valid values are:

    • OK – + *

      The configuration item status. Valid values include:

      • OK – * The resource configuration has been updated

      • ResourceDiscovered * – The resource was newly discovered

      • ResourceNotRecorded – The * resource was discovered but its configuration was not recorded since the - * recorder excludes the recording of resources of this type

      • - *

        ResourceDeleted – The resource was deleted

      • - *

        ResourceDeletedNotRecorded – The resource was deleted but its configuration - * was not recorded since the recorder excludes the recording of resources of this - * type

      + * recorder doesn't record resources of this type

    • ResourceDeleted + * – The resource was deleted

    • ResourceDeletedNotRecorded – The + * resource was deleted but its configuration was not recorded since the recorder + * doesn't record resources of this type

    */ inline const ConfigurationItemStatus& GetConfigurationItemStatus() const{ return m_configurationItemStatus; } /** - *

    The configuration item status. The valid values are:

    • OK – + *

      The configuration item status. Valid values include:

      • OK – * The resource configuration has been updated

      • ResourceDiscovered * – The resource was newly discovered

      • ResourceNotRecorded – The * resource was discovered but its configuration was not recorded since the - * recorder excludes the recording of resources of this type

      • - *

        ResourceDeleted – The resource was deleted

      • - *

        ResourceDeletedNotRecorded – The resource was deleted but its configuration - * was not recorded since the recorder excludes the recording of resources of this - * type

      + * recorder doesn't record resources of this type

    • ResourceDeleted + * – The resource was deleted

    • ResourceDeletedNotRecorded – The + * resource was deleted but its configuration was not recorded since the recorder + * doesn't record resources of this type

    */ inline bool ConfigurationItemStatusHasBeenSet() const { return m_configurationItemStatusHasBeenSet; } /** - *

    The configuration item status. The valid values are:

    • OK – + *

      The configuration item status. Valid values include:

      • OK – * The resource configuration has been updated

      • ResourceDiscovered * – The resource was newly discovered

      • ResourceNotRecorded – The * resource was discovered but its configuration was not recorded since the - * recorder excludes the recording of resources of this type

      • - *

        ResourceDeleted – The resource was deleted

      • - *

        ResourceDeletedNotRecorded – The resource was deleted but its configuration - * was not recorded since the recorder excludes the recording of resources of this - * type

      + * recorder doesn't record resources of this type

    • ResourceDeleted + * – The resource was deleted

    • ResourceDeletedNotRecorded – The + * resource was deleted but its configuration was not recorded since the recorder + * doesn't record resources of this type

    */ inline void SetConfigurationItemStatus(const ConfigurationItemStatus& value) { m_configurationItemStatusHasBeenSet = true; m_configurationItemStatus = value; } /** - *

    The configuration item status. The valid values are:

    • OK – + *

      The configuration item status. Valid values include:

      • OK – * The resource configuration has been updated

      • ResourceDiscovered * – The resource was newly discovered

      • ResourceNotRecorded – The * resource was discovered but its configuration was not recorded since the - * recorder excludes the recording of resources of this type

      • - *

        ResourceDeleted – The resource was deleted

      • - *

        ResourceDeletedNotRecorded – The resource was deleted but its configuration - * was not recorded since the recorder excludes the recording of resources of this - * type

      + * recorder doesn't record resources of this type

    • ResourceDeleted + * – The resource was deleted

    • ResourceDeletedNotRecorded – The + * resource was deleted but its configuration was not recorded since the recorder + * doesn't record resources of this type

    */ inline void SetConfigurationItemStatus(ConfigurationItemStatus&& value) { m_configurationItemStatusHasBeenSet = true; m_configurationItemStatus = std::move(value); } /** - *

    The configuration item status. The valid values are:

    • OK – + *

      The configuration item status. Valid values include:

      • OK – * The resource configuration has been updated

      • ResourceDiscovered * – The resource was newly discovered

      • ResourceNotRecorded – The * resource was discovered but its configuration was not recorded since the - * recorder excludes the recording of resources of this type

      • - *

        ResourceDeleted – The resource was deleted

      • - *

        ResourceDeletedNotRecorded – The resource was deleted but its configuration - * was not recorded since the recorder excludes the recording of resources of this - * type

      + * recorder doesn't record resources of this type

    • ResourceDeleted + * – The resource was deleted

    • ResourceDeletedNotRecorded – The + * resource was deleted but its configuration was not recorded since the recorder + * doesn't record resources of this type

    */ inline ConfigurationItem& WithConfigurationItemStatus(const ConfigurationItemStatus& value) { SetConfigurationItemStatus(value); return *this;} /** - *

    The configuration item status. The valid values are:

    • OK – + *

      The configuration item status. Valid values include:

      • OK – * The resource configuration has been updated

      • ResourceDiscovered * – The resource was newly discovered

      • ResourceNotRecorded – The * resource was discovered but its configuration was not recorded since the - * recorder excludes the recording of resources of this type

      • - *

        ResourceDeleted – The resource was deleted

      • - *

        ResourceDeletedNotRecorded – The resource was deleted but its configuration - * was not recorded since the recorder excludes the recording of resources of this - * type

      + * recorder doesn't record resources of this type

    • ResourceDeleted + * – The resource was deleted

    • ResourceDeletedNotRecorded – The + * resource was deleted but its configuration was not recorded since the recorder + * doesn't record resources of this type

    */ inline ConfigurationItem& WithConfigurationItemStatus(ConfigurationItemStatus&& value) { SetConfigurationItemStatus(std::move(value)); return *this;} @@ -975,6 +976,74 @@ namespace Model */ inline ConfigurationItem& AddSupplementaryConfiguration(const char* key, const char* value) { m_supplementaryConfigurationHasBeenSet = true; m_supplementaryConfiguration.emplace(key, value); return *this; } + + /** + *

    The recording frequency that Config uses to record configuration changes for + * the resource.

    + */ + inline const RecordingFrequency& GetRecordingFrequency() const{ return m_recordingFrequency; } + + /** + *

    The recording frequency that Config uses to record configuration changes for + * the resource.

    + */ + inline bool RecordingFrequencyHasBeenSet() const { return m_recordingFrequencyHasBeenSet; } + + /** + *

    The recording frequency that Config uses to record configuration changes for + * the resource.

    + */ + inline void SetRecordingFrequency(const RecordingFrequency& value) { m_recordingFrequencyHasBeenSet = true; m_recordingFrequency = value; } + + /** + *

    The recording frequency that Config uses to record configuration changes for + * the resource.

    + */ + inline void SetRecordingFrequency(RecordingFrequency&& value) { m_recordingFrequencyHasBeenSet = true; m_recordingFrequency = std::move(value); } + + /** + *

    The recording frequency that Config uses to record configuration changes for + * the resource.

    + */ + inline ConfigurationItem& WithRecordingFrequency(const RecordingFrequency& value) { SetRecordingFrequency(value); return *this;} + + /** + *

    The recording frequency that Config uses to record configuration changes for + * the resource.

    + */ + inline ConfigurationItem& WithRecordingFrequency(RecordingFrequency&& value) { SetRecordingFrequency(std::move(value)); return *this;} + + + /** + *

    The time when configuration changes for the resource were delivered.

    + */ + inline const Aws::Utils::DateTime& GetConfigurationItemDeliveryTime() const{ return m_configurationItemDeliveryTime; } + + /** + *

    The time when configuration changes for the resource were delivered.

    + */ + inline bool ConfigurationItemDeliveryTimeHasBeenSet() const { return m_configurationItemDeliveryTimeHasBeenSet; } + + /** + *

    The time when configuration changes for the resource were delivered.

    + */ + inline void SetConfigurationItemDeliveryTime(const Aws::Utils::DateTime& value) { m_configurationItemDeliveryTimeHasBeenSet = true; m_configurationItemDeliveryTime = value; } + + /** + *

    The time when configuration changes for the resource were delivered.

    + */ + inline void SetConfigurationItemDeliveryTime(Aws::Utils::DateTime&& value) { m_configurationItemDeliveryTimeHasBeenSet = true; m_configurationItemDeliveryTime = std::move(value); } + + /** + *

    The time when configuration changes for the resource were delivered.

    + */ + inline ConfigurationItem& WithConfigurationItemDeliveryTime(const Aws::Utils::DateTime& value) { SetConfigurationItemDeliveryTime(value); return *this;} + + /** + *

    The time when configuration changes for the resource were delivered.

    + */ + inline ConfigurationItem& WithConfigurationItemDeliveryTime(Aws::Utils::DateTime&& value) { SetConfigurationItemDeliveryTime(std::move(value)); return *this;} + private: Aws::String m_version; @@ -1030,6 +1099,12 @@ namespace Model Aws::Map m_supplementaryConfiguration; bool m_supplementaryConfigurationHasBeenSet = false; + + RecordingFrequency m_recordingFrequency; + bool m_recordingFrequencyHasBeenSet = false; + + Aws::Utils::DateTime m_configurationItemDeliveryTime; + bool m_configurationItemDeliveryTimeHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-config/include/aws/config/model/ConfigurationRecorder.h b/generated/src/aws-cpp-sdk-config/include/aws/config/model/ConfigurationRecorder.h index 73f3f76136b..66e2dd558fe 100644 --- a/generated/src/aws-cpp-sdk-config/include/aws/config/model/ConfigurationRecorder.h +++ b/generated/src/aws-cpp-sdk-config/include/aws/config/model/ConfigurationRecorder.h @@ -7,6 +7,7 @@ #include #include #include +#include #include namespace Aws @@ -25,7 +26,7 @@ namespace Model { /** - *

    Records configuration changes to specified resource types. For more + *

    Records configuration changes to your specified resource types. For more * information about the configuration recorder, see * Managing the Configuration Recorder in the Config Developer @@ -44,73 +45,73 @@ namespace Model /** *

    The name of the configuration recorder. Config automatically assigns the name - * of "default" when creating the configuration recorder.

    You cannot change - * the name of the configuration recorder after it has been created. To change the - * configuration recorder name, you must delete it and create a new configuration - * recorder with a new name.

    + * of "default" when creating the configuration recorder.

    You cannot + * change the name of the configuration recorder after it has been created. To + * change the configuration recorder name, you must delete it and create a new + * configuration recorder with a new name.

    */ inline const Aws::String& GetName() const{ return m_name; } /** *

    The name of the configuration recorder. Config automatically assigns the name - * of "default" when creating the configuration recorder.

    You cannot change - * the name of the configuration recorder after it has been created. To change the - * configuration recorder name, you must delete it and create a new configuration - * recorder with a new name.

    + * of "default" when creating the configuration recorder.

    You cannot + * change the name of the configuration recorder after it has been created. To + * change the configuration recorder name, you must delete it and create a new + * configuration recorder with a new name.

    */ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

    The name of the configuration recorder. Config automatically assigns the name - * of "default" when creating the configuration recorder.

    You cannot change - * the name of the configuration recorder after it has been created. To change the - * configuration recorder name, you must delete it and create a new configuration - * recorder with a new name.

    + * of "default" when creating the configuration recorder.

    You cannot + * change the name of the configuration recorder after it has been created. To + * change the configuration recorder name, you must delete it and create a new + * configuration recorder with a new name.

    */ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

    The name of the configuration recorder. Config automatically assigns the name - * of "default" when creating the configuration recorder.

    You cannot change - * the name of the configuration recorder after it has been created. To change the - * configuration recorder name, you must delete it and create a new configuration - * recorder with a new name.

    + * of "default" when creating the configuration recorder.

    You cannot + * change the name of the configuration recorder after it has been created. To + * change the configuration recorder name, you must delete it and create a new + * configuration recorder with a new name.

    */ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

    The name of the configuration recorder. Config automatically assigns the name - * of "default" when creating the configuration recorder.

    You cannot change - * the name of the configuration recorder after it has been created. To change the - * configuration recorder name, you must delete it and create a new configuration - * recorder with a new name.

    + * of "default" when creating the configuration recorder.

    You cannot + * change the name of the configuration recorder after it has been created. To + * change the configuration recorder name, you must delete it and create a new + * configuration recorder with a new name.

    */ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

    The name of the configuration recorder. Config automatically assigns the name - * of "default" when creating the configuration recorder.

    You cannot change - * the name of the configuration recorder after it has been created. To change the - * configuration recorder name, you must delete it and create a new configuration - * recorder with a new name.

    + * of "default" when creating the configuration recorder.

    You cannot + * change the name of the configuration recorder after it has been created. To + * change the configuration recorder name, you must delete it and create a new + * configuration recorder with a new name.

    */ inline ConfigurationRecorder& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

    The name of the configuration recorder. Config automatically assigns the name - * of "default" when creating the configuration recorder.

    You cannot change - * the name of the configuration recorder after it has been created. To change the - * configuration recorder name, you must delete it and create a new configuration - * recorder with a new name.

    + * of "default" when creating the configuration recorder.

    You cannot + * change the name of the configuration recorder after it has been created. To + * change the configuration recorder name, you must delete it and create a new + * configuration recorder with a new name.

    */ inline ConfigurationRecorder& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

    The name of the configuration recorder. Config automatically assigns the name - * of "default" when creating the configuration recorder.

    You cannot change - * the name of the configuration recorder after it has been created. To change the - * configuration recorder name, you must delete it and create a new configuration - * recorder with a new name.

    + * of "default" when creating the configuration recorder.

    You cannot + * change the name of the configuration recorder after it has been created. To + * change the configuration recorder name, you must delete it and create a new + * configuration recorder with a new name.

    */ inline ConfigurationRecorder& WithName(const char* value) { SetName(value); return *this;} @@ -392,6 +393,91 @@ namespace Model */ inline ConfigurationRecorder& WithRecordingGroup(RecordingGroup&& value) { SetRecordingGroup(std::move(value)); return *this;} + + /** + *

    Specifies the default recording frequency that Config uses to record + * configuration changes. Config supports Continuous recording and Daily + * recording.

    • Continuous recording allows you to record + * configuration changes continuously whenever a change occurs.

    • + *

      Daily recording allows you record configuration data once every 24 hours, + * only if a change has occurred.

    Firewall Manager + * depends on continuous recording to monitor your resources. If you are using + * Firewall Manager, it is recommended that you set the recording frequency to + * Continuous.

    You can also override the recording frequency for + * specific resource types.

    + */ + inline const RecordingMode& GetRecordingMode() const{ return m_recordingMode; } + + /** + *

    Specifies the default recording frequency that Config uses to record + * configuration changes. Config supports Continuous recording and Daily + * recording.

    • Continuous recording allows you to record + * configuration changes continuously whenever a change occurs.

    • + *

      Daily recording allows you record configuration data once every 24 hours, + * only if a change has occurred.

    Firewall Manager + * depends on continuous recording to monitor your resources. If you are using + * Firewall Manager, it is recommended that you set the recording frequency to + * Continuous.

    You can also override the recording frequency for + * specific resource types.

    + */ + inline bool RecordingModeHasBeenSet() const { return m_recordingModeHasBeenSet; } + + /** + *

    Specifies the default recording frequency that Config uses to record + * configuration changes. Config supports Continuous recording and Daily + * recording.

    • Continuous recording allows you to record + * configuration changes continuously whenever a change occurs.

    • + *

      Daily recording allows you record configuration data once every 24 hours, + * only if a change has occurred.

    Firewall Manager + * depends on continuous recording to monitor your resources. If you are using + * Firewall Manager, it is recommended that you set the recording frequency to + * Continuous.

    You can also override the recording frequency for + * specific resource types.

    + */ + inline void SetRecordingMode(const RecordingMode& value) { m_recordingModeHasBeenSet = true; m_recordingMode = value; } + + /** + *

    Specifies the default recording frequency that Config uses to record + * configuration changes. Config supports Continuous recording and Daily + * recording.

    • Continuous recording allows you to record + * configuration changes continuously whenever a change occurs.

    • + *

      Daily recording allows you record configuration data once every 24 hours, + * only if a change has occurred.

    Firewall Manager + * depends on continuous recording to monitor your resources. If you are using + * Firewall Manager, it is recommended that you set the recording frequency to + * Continuous.

    You can also override the recording frequency for + * specific resource types.

    + */ + inline void SetRecordingMode(RecordingMode&& value) { m_recordingModeHasBeenSet = true; m_recordingMode = std::move(value); } + + /** + *

    Specifies the default recording frequency that Config uses to record + * configuration changes. Config supports Continuous recording and Daily + * recording.

    • Continuous recording allows you to record + * configuration changes continuously whenever a change occurs.

    • + *

      Daily recording allows you record configuration data once every 24 hours, + * only if a change has occurred.

    Firewall Manager + * depends on continuous recording to monitor your resources. If you are using + * Firewall Manager, it is recommended that you set the recording frequency to + * Continuous.

    You can also override the recording frequency for + * specific resource types.

    + */ + inline ConfigurationRecorder& WithRecordingMode(const RecordingMode& value) { SetRecordingMode(value); return *this;} + + /** + *

    Specifies the default recording frequency that Config uses to record + * configuration changes. Config supports Continuous recording and Daily + * recording.

    • Continuous recording allows you to record + * configuration changes continuously whenever a change occurs.

    • + *

      Daily recording allows you record configuration data once every 24 hours, + * only if a change has occurred.

    Firewall Manager + * depends on continuous recording to monitor your resources. If you are using + * Firewall Manager, it is recommended that you set the recording frequency to + * Continuous.

    You can also override the recording frequency for + * specific resource types.

    + */ + inline ConfigurationRecorder& WithRecordingMode(RecordingMode&& value) { SetRecordingMode(std::move(value)); return *this;} + private: Aws::String m_name; @@ -402,6 +488,9 @@ namespace Model RecordingGroup m_recordingGroup; bool m_recordingGroupHasBeenSet = false; + + RecordingMode m_recordingMode; + bool m_recordingModeHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-config/include/aws/config/model/ExclusionByResourceTypes.h b/generated/src/aws-cpp-sdk-config/include/aws/config/model/ExclusionByResourceTypes.h index 635e9ab449f..06979480b10 100644 --- a/generated/src/aws-cpp-sdk-config/include/aws/config/model/ExclusionByResourceTypes.h +++ b/generated/src/aws-cpp-sdk-config/include/aws/config/model/ExclusionByResourceTypes.h @@ -31,18 +31,21 @@ namespace Model *

    By default, when Config adds support for a new resource type in the Region * where you set up the configuration recorder, including global resource types, * Config starts recording resources of that type automatically.

    - * How to use

    To use this option, you must set the - * useOnly field of How to use the exclusion recording strategy

    To use this option, + * you must set the useOnly field of RecordingStrategy * to EXCLUSION_BY_RESOURCE_TYPES.

    Config will then record * configuration changes for all supported resource types, except the resource - * types that you specify to exclude from being recorded.

    Globally - * recorded resources

    Unless specifically listed as exclusions, - * AWS::RDS::GlobalCluster will be recorded automatically in all - * supported Config Regions were the configuration recorder is enabled. IAM users, - * groups, roles, and customer managed policies will be recorded automatically in - * all enabled Config Regions where Config was available before February 2022. This - * list does not include the following Regions:

    • Asia Pacific + * types that you specify to exclude from being recorded.

      Global + * resource types and the exclusion recording strategy

      Unless + * specifically listed as exclusions, AWS::RDS::GlobalCluster will be + * recorded automatically in all supported Config Regions were the configuration + * recorder is enabled.

      IAM users, groups, roles, and customer managed + * policies will be recorded in the Region where you set up the configuration + * recorder if that is a Region where Config was available before February 2022. + * You cannot be record the global IAM resouce types in Regions supported by Config + * after February 2022. This list where you cannot record the global IAM resource + * types includes the following Regions:

      • Asia Pacific * (Hyderabad)

      • Asia Pacific (Melbourne)

      • Europe * (Spain)

      • Europe (Zurich)

      • Israel (Tel * Aviv)

      • Middle East (UAE)

      See diff --git a/generated/src/aws-cpp-sdk-config/include/aws/config/model/RecordingFrequency.h b/generated/src/aws-cpp-sdk-config/include/aws/config/model/RecordingFrequency.h new file mode 100644 index 00000000000..e4dd511cca1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-config/include/aws/config/model/RecordingFrequency.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 ConfigService +{ +namespace Model +{ + enum class RecordingFrequency + { + NOT_SET, + CONTINUOUS, + DAILY + }; + +namespace RecordingFrequencyMapper +{ +AWS_CONFIGSERVICE_API RecordingFrequency GetRecordingFrequencyForName(const Aws::String& name); + +AWS_CONFIGSERVICE_API Aws::String GetNameForRecordingFrequency(RecordingFrequency value); +} // namespace RecordingFrequencyMapper +} // namespace Model +} // namespace ConfigService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-config/include/aws/config/model/RecordingGroup.h b/generated/src/aws-cpp-sdk-config/include/aws/config/model/RecordingGroup.h index c2baef29ab6..3a65e6f68eb 100644 --- a/generated/src/aws-cpp-sdk-config/include/aws/config/model/RecordingGroup.h +++ b/generated/src/aws-cpp-sdk-config/include/aws/config/model/RecordingGroup.h @@ -30,22 +30,26 @@ namespace Model *

      Specifies which resource types Config records for configuration changes. By * default, Config records configuration changes for all current and future * supported resource types in the Amazon Web Services Region where you have - * enabled Config (excluding the globally recorded IAM resource types: IAM users, - * groups, roles, and customer managed policies).

      In the recording group, - * you specify whether you want to record all supported current and future - * supported resource types or to include or exclude specific resources types. For - * a list of supported resource types, see

      In the recording group, you specify + * whether you want to record all supported current and future supported resource + * types or to include or exclude specific resources types. For a list of supported + * resource types, see Supported * Resource Types in the Config developer guide.

      If you don't - * want Config to record all current and future supported resource types, use one - * of the following recording strategies:

      1. Record all current - * and future resource types with exclusions - * (EXCLUSION_BY_RESOURCE_TYPES), or

      2. Record - * specific resource types (INCLUSION_BY_RESOURCE_TYPES).

        - *

      Aurora global clusters are automatically globally - * recorded

      The AWS::RDS::GlobalCluster resource type will - * be recorded in all supported Config Regions where the configuration recorder is - * enabled.

      If you do not want to record + * want Config to record all current and future supported resource types (excluding + * the global IAM resource types), use one of the following recording + * strategies:

      1. Record all current and future resource types + * with exclusions (EXCLUSION_BY_RESOURCE_TYPES), or

      2. + *
      3. Record specific resource types + * (INCLUSION_BY_RESOURCE_TYPES).

      If you use the + * recording strategy to Record all current and future resource types + * (ALL_SUPPORTED_RESOURCE_TYPES), you can use the flag + * includeGlobalResourceTypes to include the global IAM resource types + * in your recording.

      Aurora global clusters are recorded in + * all enabled Regions

      The AWS::RDS::GlobalCluster + * resource type will be recorded in all supported Config Regions where the + * configuration recorder is enabled.

      If you do not want to record * AWS::RDS::GlobalCluster in all enabled Regions, use the * EXCLUSION_BY_RESOURCE_TYPES or * INCLUSION_BY_RESOURCE_TYPES recording strategy.

      @@ -64,15 +68,15 @@ namespace Model /** *

      Specifies whether Config records configuration changes for all supported - * regionally recorded resource types.

      If you set this field to - * true, when Config adds support for a new regionally recorded - * resource type, Config starts recording resources of that type automatically.

      - *

      If you set this field to true, you cannot enumerate specific - * resource types to record in the resourceTypes field of

      If you set this + * field to true, when Config adds support for a new resource type, + * Config starts recording resources of that type automatically.

      If you set + * this field to true, you cannot enumerate specific resource types to + * record in the resourceTypes field of RecordingGroup, * or to exclude in the resourceTypes field of ExclusionByResourceTypes.

      - *

      Region Availability

      Check Region availability

      Check Resource * Coverage by Region Availability to see if a resource type is supported in * the Amazon Web Services Region where you set up Config.

      @@ -81,15 +85,15 @@ namespace Model /** *

      Specifies whether Config records configuration changes for all supported - * regionally recorded resource types.

      If you set this field to - * true, when Config adds support for a new regionally recorded - * resource type, Config starts recording resources of that type automatically.

      - *

      If you set this field to true, you cannot enumerate specific - * resource types to record in the resourceTypes field of

      If you set this + * field to true, when Config adds support for a new resource type, + * Config starts recording resources of that type automatically.

      If you set + * this field to true, you cannot enumerate specific resource types to + * record in the resourceTypes field of RecordingGroup, * or to exclude in the resourceTypes field of ExclusionByResourceTypes.

      - *

      Region Availability

      Check Region availability

      Check Resource * Coverage by Region Availability to see if a resource type is supported in * the Amazon Web Services Region where you set up Config.

      @@ -98,15 +102,15 @@ namespace Model /** *

      Specifies whether Config records configuration changes for all supported - * regionally recorded resource types.

      If you set this field to - * true, when Config adds support for a new regionally recorded - * resource type, Config starts recording resources of that type automatically.

      - *

      If you set this field to true, you cannot enumerate specific - * resource types to record in the resourceTypes field of

      If you set this + * field to true, when Config adds support for a new resource type, + * Config starts recording resources of that type automatically.

      If you set + * this field to true, you cannot enumerate specific resource types to + * record in the resourceTypes field of RecordingGroup, * or to exclude in the resourceTypes field of ExclusionByResourceTypes.

      - *

      Region Availability

      Check Region availability

      Check Resource * Coverage by Region Availability to see if a resource type is supported in * the Amazon Web Services Region where you set up Config.

      @@ -115,15 +119,15 @@ namespace Model /** *

      Specifies whether Config records configuration changes for all supported - * regionally recorded resource types.

      If you set this field to - * true, when Config adds support for a new regionally recorded - * resource type, Config starts recording resources of that type automatically.

      - *

      If you set this field to true, you cannot enumerate specific - * resource types to record in the resourceTypes field of

      If you set this + * field to true, when Config adds support for a new resource type, + * Config starts recording resources of that type automatically.

      If you set + * this field to true, you cannot enumerate specific resource types to + * record in the resourceTypes field of RecordingGroup, * or to exclude in the resourceTypes field of ExclusionByResourceTypes.

      - *

      Region Availability

      Check Region availability

      Check Resource * Coverage by Region Availability to see if a resource type is supported in * the Amazon Web Services Region where you set up Config.

      @@ -132,19 +136,21 @@ namespace Model /** - *

      A legacy field which only applies to the globally recorded IAM resource - * types: IAM users, groups, roles, and customer managed policies. If you - * select this option, these resource types will be recorded in all enabled Config - * regions where Config was available before February 2022. This list does not - * include the following Regions:

      • Asia Pacific (Hyderabad)

        - *
      • Asia Pacific (Melbourne)

      • Europe (Spain)

        - *
      • Europe (Zurich)

      • Israel (Tel Aviv)

      • - *

        Middle East (UAE)

      Aurora global clusters - * are automatically globally recorded

      The - * AWS::RDS::GlobalCluster resource type will be recorded in all - * supported Config Regions where the configuration recorder is enabled, even if - * includeGlobalResourceTypes is not set to true. - * includeGlobalResourceTypes is a legacy field which only applies to + *

      This option is a bundle which only applies to the global IAM resource types: + * IAM users, groups, roles, and customer managed policies. These global IAM + * resource types can only be recorded by Config in Regions where Config was + * available before February 2022. You cannot be record the global IAM resouce + * types in Regions supported by Config after February 2022. This list where you + * cannot record the global IAM resource types includes the following Regions:

      + *
      • Asia Pacific (Hyderabad)

      • Asia Pacific + * (Melbourne)

      • Europe (Spain)

      • Europe + * (Zurich)

      • Israel (Tel Aviv)

      • Middle East + * (UAE)

      Aurora global clusters are recorded in + * all enabled Regions

      The AWS::RDS::GlobalCluster + * resource type will be recorded in all supported Config Regions where the + * configuration recorder is enabled, even if + * includeGlobalResourceTypes is not set to true. The + * includeGlobalResourceTypes option is a bundle which only applies to * IAM users, groups, roles, and customer managed policies.

      If you do not * want to record AWS::RDS::GlobalCluster in all enabled Regions, use * one of the following recording strategies:

      1. Record all @@ -154,42 +160,42 @@ namespace Model *

      For more information, see Selecting * Which Resources are Recorded in the Config developer guide.

      - *

      Required and optional fields

      Before you - * set this field to true, set the allSupported field of - * Before you set this field to true, set the + * allSupported field of RecordingGroup * to true. Optionally, you can set the useOnly field of * RecordingStrategy * to ALL_SUPPORTED_RESOURCE_TYPES.

      * Overriding fields

      If you set this field to false but - * list globally recorded IAM resource types in the resourceTypes - * field of resourceTypes field of RecordingGroup, * Config will still record configuration changes for those specified resource * types regardless of if you set the * includeGlobalResourceTypes field to false.

      If you do not - * want to record configuration changes to the globally recorded IAM resource types - * (IAM users, groups, roles, and customer managed policies), make sure to not list - * them in the resourceTypes field in addition to setting the + * want to record configuration changes to the global IAM resource types (IAM + * users, groups, roles, and customer managed policies), make sure to not list them + * in the resourceTypes field in addition to setting the * includeGlobalResourceTypes field to false.

      */ inline bool GetIncludeGlobalResourceTypes() const{ return m_includeGlobalResourceTypes; } /** - *

      A legacy field which only applies to the globally recorded IAM resource - * types: IAM users, groups, roles, and customer managed policies. If you - * select this option, these resource types will be recorded in all enabled Config - * regions where Config was available before February 2022. This list does not - * include the following Regions:

      • Asia Pacific (Hyderabad)

        - *
      • Asia Pacific (Melbourne)

      • Europe (Spain)

        - *
      • Europe (Zurich)

      • Israel (Tel Aviv)

      • - *

        Middle East (UAE)

      Aurora global clusters - * are automatically globally recorded

      The - * AWS::RDS::GlobalCluster resource type will be recorded in all - * supported Config Regions where the configuration recorder is enabled, even if - * includeGlobalResourceTypes is not set to true. - * includeGlobalResourceTypes is a legacy field which only applies to + *

      This option is a bundle which only applies to the global IAM resource types: + * IAM users, groups, roles, and customer managed policies. These global IAM + * resource types can only be recorded by Config in Regions where Config was + * available before February 2022. You cannot be record the global IAM resouce + * types in Regions supported by Config after February 2022. This list where you + * cannot record the global IAM resource types includes the following Regions:

      + *
      • Asia Pacific (Hyderabad)

      • Asia Pacific + * (Melbourne)

      • Europe (Spain)

      • Europe + * (Zurich)

      • Israel (Tel Aviv)

      • Middle East + * (UAE)

      Aurora global clusters are recorded in + * all enabled Regions

      The AWS::RDS::GlobalCluster + * resource type will be recorded in all supported Config Regions where the + * configuration recorder is enabled, even if + * includeGlobalResourceTypes is not set to true. The + * includeGlobalResourceTypes option is a bundle which only applies to * IAM users, groups, roles, and customer managed policies.

      If you do not * want to record AWS::RDS::GlobalCluster in all enabled Regions, use * one of the following recording strategies:

      1. Record all @@ -199,42 +205,42 @@ namespace Model *

      For more information, see Selecting * Which Resources are Recorded in the Config developer guide.

      - *

      Required and optional fields

      Before you - * set this field to true, set the allSupported field of - * Before you set this field to true, set the + * allSupported field of RecordingGroup * to true. Optionally, you can set the useOnly field of * RecordingStrategy * to ALL_SUPPORTED_RESOURCE_TYPES.

      * Overriding fields

      If you set this field to false but - * list globally recorded IAM resource types in the resourceTypes - * field of resourceTypes field of RecordingGroup, * Config will still record configuration changes for those specified resource * types regardless of if you set the * includeGlobalResourceTypes field to false.

      If you do not - * want to record configuration changes to the globally recorded IAM resource types - * (IAM users, groups, roles, and customer managed policies), make sure to not list - * them in the resourceTypes field in addition to setting the + * want to record configuration changes to the global IAM resource types (IAM + * users, groups, roles, and customer managed policies), make sure to not list them + * in the resourceTypes field in addition to setting the * includeGlobalResourceTypes field to false.

      */ inline bool IncludeGlobalResourceTypesHasBeenSet() const { return m_includeGlobalResourceTypesHasBeenSet; } /** - *

      A legacy field which only applies to the globally recorded IAM resource - * types: IAM users, groups, roles, and customer managed policies. If you - * select this option, these resource types will be recorded in all enabled Config - * regions where Config was available before February 2022. This list does not - * include the following Regions:

      • Asia Pacific (Hyderabad)

        - *
      • Asia Pacific (Melbourne)

      • Europe (Spain)

        - *
      • Europe (Zurich)

      • Israel (Tel Aviv)

      • - *

        Middle East (UAE)

      Aurora global clusters - * are automatically globally recorded

      The - * AWS::RDS::GlobalCluster resource type will be recorded in all - * supported Config Regions where the configuration recorder is enabled, even if - * includeGlobalResourceTypes is not set to true. - * includeGlobalResourceTypes is a legacy field which only applies to + *

      This option is a bundle which only applies to the global IAM resource types: + * IAM users, groups, roles, and customer managed policies. These global IAM + * resource types can only be recorded by Config in Regions where Config was + * available before February 2022. You cannot be record the global IAM resouce + * types in Regions supported by Config after February 2022. This list where you + * cannot record the global IAM resource types includes the following Regions:

      + *
      • Asia Pacific (Hyderabad)

      • Asia Pacific + * (Melbourne)

      • Europe (Spain)

      • Europe + * (Zurich)

      • Israel (Tel Aviv)

      • Middle East + * (UAE)

      Aurora global clusters are recorded in + * all enabled Regions

      The AWS::RDS::GlobalCluster + * resource type will be recorded in all supported Config Regions where the + * configuration recorder is enabled, even if + * includeGlobalResourceTypes is not set to true. The + * includeGlobalResourceTypes option is a bundle which only applies to * IAM users, groups, roles, and customer managed policies.

      If you do not * want to record AWS::RDS::GlobalCluster in all enabled Regions, use * one of the following recording strategies:

      1. Record all @@ -244,42 +250,42 @@ namespace Model *

      For more information, see Selecting * Which Resources are Recorded in the Config developer guide.

      - *

      Required and optional fields

      Before you - * set this field to true, set the allSupported field of - * Before you set this field to true, set the + * allSupported field of RecordingGroup * to true. Optionally, you can set the useOnly field of * RecordingStrategy * to ALL_SUPPORTED_RESOURCE_TYPES.

      * Overriding fields

      If you set this field to false but - * list globally recorded IAM resource types in the resourceTypes - * field of resourceTypes field of RecordingGroup, * Config will still record configuration changes for those specified resource * types regardless of if you set the * includeGlobalResourceTypes field to false.

      If you do not - * want to record configuration changes to the globally recorded IAM resource types - * (IAM users, groups, roles, and customer managed policies), make sure to not list - * them in the resourceTypes field in addition to setting the + * want to record configuration changes to the global IAM resource types (IAM + * users, groups, roles, and customer managed policies), make sure to not list them + * in the resourceTypes field in addition to setting the * includeGlobalResourceTypes field to false.

      */ inline void SetIncludeGlobalResourceTypes(bool value) { m_includeGlobalResourceTypesHasBeenSet = true; m_includeGlobalResourceTypes = value; } /** - *

      A legacy field which only applies to the globally recorded IAM resource - * types: IAM users, groups, roles, and customer managed policies. If you - * select this option, these resource types will be recorded in all enabled Config - * regions where Config was available before February 2022. This list does not - * include the following Regions:

      • Asia Pacific (Hyderabad)

        - *
      • Asia Pacific (Melbourne)

      • Europe (Spain)

        - *
      • Europe (Zurich)

      • Israel (Tel Aviv)

      • - *

        Middle East (UAE)

      Aurora global clusters - * are automatically globally recorded

      The - * AWS::RDS::GlobalCluster resource type will be recorded in all - * supported Config Regions where the configuration recorder is enabled, even if - * includeGlobalResourceTypes is not set to true. - * includeGlobalResourceTypes is a legacy field which only applies to + *

      This option is a bundle which only applies to the global IAM resource types: + * IAM users, groups, roles, and customer managed policies. These global IAM + * resource types can only be recorded by Config in Regions where Config was + * available before February 2022. You cannot be record the global IAM resouce + * types in Regions supported by Config after February 2022. This list where you + * cannot record the global IAM resource types includes the following Regions:

      + *
      • Asia Pacific (Hyderabad)

      • Asia Pacific + * (Melbourne)

      • Europe (Spain)

      • Europe + * (Zurich)

      • Israel (Tel Aviv)

      • Middle East + * (UAE)

      Aurora global clusters are recorded in + * all enabled Regions

      The AWS::RDS::GlobalCluster + * resource type will be recorded in all supported Config Regions where the + * configuration recorder is enabled, even if + * includeGlobalResourceTypes is not set to true. The + * includeGlobalResourceTypes option is a bundle which only applies to * IAM users, groups, roles, and customer managed policies.

      If you do not * want to record AWS::RDS::GlobalCluster in all enabled Regions, use * one of the following recording strategies:

      1. Record all @@ -289,24 +295,22 @@ namespace Model *

      For more information, see Selecting * Which Resources are Recorded in the Config developer guide.

      - *

      Required and optional fields

      Before you - * set this field to true, set the allSupported field of - * Before you set this field to true, set the + * allSupported field of RecordingGroup * to true. Optionally, you can set the useOnly field of * RecordingStrategy * to ALL_SUPPORTED_RESOURCE_TYPES.

      * Overriding fields

      If you set this field to false but - * list globally recorded IAM resource types in the resourceTypes - * field of resourceTypes field of RecordingGroup, * Config will still record configuration changes for those specified resource * types regardless of if you set the * includeGlobalResourceTypes field to false.

      If you do not - * want to record configuration changes to the globally recorded IAM resource types - * (IAM users, groups, roles, and customer managed policies), make sure to not list - * them in the resourceTypes field in addition to setting the + * want to record configuration changes to the global IAM resource types (IAM + * users, groups, roles, and customer managed policies), make sure to not list them + * in the resourceTypes field in addition to setting the * includeGlobalResourceTypes field to false.

      */ inline RecordingGroup& WithIncludeGlobalResourceTypes(bool value) { SetIncludeGlobalResourceTypes(value); return *this;} @@ -314,7 +318,12 @@ namespace Model /** *

      A comma-separated list that specifies which resource types Config - * records.

      Optionally, you can set the useOnly field of

      For a list of valid resourceTypes values, see the + * Resource Type Value column in Supported + * Amazon Web Services resource Types in the Config developer guide.

      + *

      Required and optional fields

      Optionally, you can set + * the useOnly field of RecordingStrategy * to INCLUSION_BY_RESOURCE_TYPES.

      To record all configuration * changes, set the allSupported field of allSupported field to * false and specify values for resourceTypes, when * Config adds support for a new type of resource, it will not record resources of - * that type unless you manually add that type to your recording group.

      For - * a list of valid resourceTypes values, see the Resource Type - * Value column in Supported - * Amazon Web Services resource Types in the Config developer guide.

      - *

      Region Availability

      Before specifying a resource type + * that type unless you manually add that type to your recording group.

      + *

      Region availability

      Before specifying a resource type * for Config to track, check Resource * Coverage by Region Availability to see if the resource type is supported in @@ -342,7 +347,12 @@ namespace Model /** *

      A comma-separated list that specifies which resource types Config - * records.

      Optionally, you can set the useOnly field of

      For a list of valid resourceTypes values, see the + * Resource Type Value column in Supported + * Amazon Web Services resource Types in the Config developer guide.

      + *

      Required and optional fields

      Optionally, you can set + * the useOnly field of RecordingStrategy * to INCLUSION_BY_RESOURCE_TYPES.

      To record all configuration * changes, set the allSupported field of allSupported field to * false and specify values for resourceTypes, when * Config adds support for a new type of resource, it will not record resources of - * that type unless you manually add that type to your recording group.

      For - * a list of valid resourceTypes values, see the Resource Type - * Value column in Supported - * Amazon Web Services resource Types in the Config developer guide.

      - *

      Region Availability

      Before specifying a resource type + * that type unless you manually add that type to your recording group.

      + *

      Region availability

      Before specifying a resource type * for Config to track, check Resource * Coverage by Region Availability to see if the resource type is supported in @@ -370,7 +376,12 @@ namespace Model /** *

      A comma-separated list that specifies which resource types Config - * records.

      Optionally, you can set the useOnly field of

      For a list of valid resourceTypes values, see the + * Resource Type Value column in Supported + * Amazon Web Services resource Types in the Config developer guide.

      + *

      Required and optional fields

      Optionally, you can set + * the useOnly field of RecordingStrategy * to INCLUSION_BY_RESOURCE_TYPES.

      To record all configuration * changes, set the allSupported field of allSupported field to * false and specify values for resourceTypes, when * Config adds support for a new type of resource, it will not record resources of - * that type unless you manually add that type to your recording group.

      For - * a list of valid resourceTypes values, see the Resource Type - * Value column in Supported - * Amazon Web Services resource Types in the Config developer guide.

      - *

      Region Availability

      Before specifying a resource type + * that type unless you manually add that type to your recording group.

      + *

      Region availability

      Before specifying a resource type * for Config to track, check Resource * Coverage by Region Availability to see if the resource type is supported in @@ -398,7 +405,12 @@ namespace Model /** *

      A comma-separated list that specifies which resource types Config - * records.

      Optionally, you can set the useOnly field of

      For a list of valid resourceTypes values, see the + * Resource Type Value column in Supported + * Amazon Web Services resource Types in the Config developer guide.

      + *

      Required and optional fields

      Optionally, you can set + * the useOnly field of RecordingStrategy * to INCLUSION_BY_RESOURCE_TYPES.

      To record all configuration * changes, set the allSupported field of allSupported field to * false and specify values for resourceTypes, when * Config adds support for a new type of resource, it will not record resources of - * that type unless you manually add that type to your recording group.

      For - * a list of valid resourceTypes values, see the Resource Type - * Value column in Supported - * Amazon Web Services resource Types in the Config developer guide.

      - *

      Region Availability

      Before specifying a resource type + * that type unless you manually add that type to your recording group.

      + *

      Region availability

      Before specifying a resource type * for Config to track, check Resource * Coverage by Region Availability to see if the resource type is supported in @@ -426,7 +434,12 @@ namespace Model /** *

      A comma-separated list that specifies which resource types Config - * records.

      Optionally, you can set the useOnly field of

      For a list of valid resourceTypes values, see the + * Resource Type Value column in Supported + * Amazon Web Services resource Types in the Config developer guide.

      + *

      Required and optional fields

      Optionally, you can set + * the useOnly field of RecordingStrategy * to INCLUSION_BY_RESOURCE_TYPES.

      To record all configuration * changes, set the allSupported field of allSupported field to * false and specify values for resourceTypes, when * Config adds support for a new type of resource, it will not record resources of - * that type unless you manually add that type to your recording group.

      For - * a list of valid resourceTypes values, see the Resource Type - * Value column in Supported - * Amazon Web Services resource Types in the Config developer guide.

      - *

      Region Availability

      Before specifying a resource type + * that type unless you manually add that type to your recording group.

      + *

      Region availability

      Before specifying a resource type * for Config to track, check Resource * Coverage by Region Availability to see if the resource type is supported in @@ -454,7 +463,12 @@ namespace Model /** *

      A comma-separated list that specifies which resource types Config - * records.

      Optionally, you can set the useOnly field of

      For a list of valid resourceTypes values, see the + * Resource Type Value column in Supported + * Amazon Web Services resource Types in the Config developer guide.

      + *

      Required and optional fields

      Optionally, you can set + * the useOnly field of RecordingStrategy * to INCLUSION_BY_RESOURCE_TYPES.

      To record all configuration * changes, set the allSupported field of allSupported field to * false and specify values for resourceTypes, when * Config adds support for a new type of resource, it will not record resources of - * that type unless you manually add that type to your recording group.

      For - * a list of valid resourceTypes values, see the Resource Type - * Value column in Supported - * Amazon Web Services resource Types in the Config developer guide.

      - *

      Region Availability

      Before specifying a resource type + * that type unless you manually add that type to your recording group.

      + *

      Region availability

      Before specifying a resource type * for Config to track, check Resource * Coverage by Region Availability to see if the resource type is supported in @@ -482,7 +492,12 @@ namespace Model /** *

      A comma-separated list that specifies which resource types Config - * records.

      Optionally, you can set the useOnly field of

      For a list of valid resourceTypes values, see the + * Resource Type Value column in Supported + * Amazon Web Services resource Types in the Config developer guide.

      + *

      Required and optional fields

      Optionally, you can set + * the useOnly field of RecordingStrategy * to INCLUSION_BY_RESOURCE_TYPES.

      To record all configuration * changes, set the allSupported field of allSupported field to * false and specify values for resourceTypes, when * Config adds support for a new type of resource, it will not record resources of - * that type unless you manually add that type to your recording group.

      For - * a list of valid resourceTypes values, see the Resource Type - * Value column in Supported - * Amazon Web Services resource Types in the Config developer guide.

      - *

      Region Availability

      Before specifying a resource type + * that type unless you manually add that type to your recording group.

      + *

      Region availability

      Before specifying a resource type * for Config to track, check Resource * Coverage by Region Availability to see if the resource type is supported in @@ -510,7 +521,12 @@ namespace Model /** *

      A comma-separated list that specifies which resource types Config - * records.

      Optionally, you can set the useOnly field of

      For a list of valid resourceTypes values, see the + * Resource Type Value column in Supported + * Amazon Web Services resource Types in the Config developer guide.

      + *

      Required and optional fields

      Optionally, you can set + * the useOnly field of RecordingStrategy * to INCLUSION_BY_RESOURCE_TYPES.

      To record all configuration * changes, set the allSupported field of allSupported field to * false and specify values for resourceTypes, when * Config adds support for a new type of resource, it will not record resources of - * that type unless you manually add that type to your recording group.

      For - * a list of valid resourceTypes values, see the Resource Type - * Value column in Supported - * Amazon Web Services resource Types in the Config developer guide.

      - *

      Region Availability

      Before specifying a resource type + * that type unless you manually add that type to your recording group.

      + *

      Region availability

      Before specifying a resource type * for Config to track, check Resource * Coverage by Region Availability to see if the resource type is supported in @@ -539,55 +551,55 @@ namespace Model /** *

      An object that specifies how Config excludes resource types from being - * recorded by the configuration recorder.

      To use this option, you must set - * the useOnly field of

      Required fields + *

      To use this option, you must set the useOnly field of RecordingStrategy - * to EXCLUSION_BY_RESOURCE_TYPES.

      + * to EXCLUSION_BY_RESOURCE_TYPES.

      */ inline const ExclusionByResourceTypes& GetExclusionByResourceTypes() const{ return m_exclusionByResourceTypes; } /** *

      An object that specifies how Config excludes resource types from being - * recorded by the configuration recorder.

      To use this option, you must set - * the useOnly field of

      Required fields + *

      To use this option, you must set the useOnly field of RecordingStrategy - * to EXCLUSION_BY_RESOURCE_TYPES.

      + * to EXCLUSION_BY_RESOURCE_TYPES.

      */ inline bool ExclusionByResourceTypesHasBeenSet() const { return m_exclusionByResourceTypesHasBeenSet; } /** *

      An object that specifies how Config excludes resource types from being - * recorded by the configuration recorder.

      To use this option, you must set - * the useOnly field of

      Required fields + *

      To use this option, you must set the useOnly field of RecordingStrategy - * to EXCLUSION_BY_RESOURCE_TYPES.

      + * to EXCLUSION_BY_RESOURCE_TYPES.

      */ inline void SetExclusionByResourceTypes(const ExclusionByResourceTypes& value) { m_exclusionByResourceTypesHasBeenSet = true; m_exclusionByResourceTypes = value; } /** *

      An object that specifies how Config excludes resource types from being - * recorded by the configuration recorder.

      To use this option, you must set - * the useOnly field of

      Required fields + *

      To use this option, you must set the useOnly field of RecordingStrategy - * to EXCLUSION_BY_RESOURCE_TYPES.

      + * to EXCLUSION_BY_RESOURCE_TYPES.

      */ inline void SetExclusionByResourceTypes(ExclusionByResourceTypes&& value) { m_exclusionByResourceTypesHasBeenSet = true; m_exclusionByResourceTypes = std::move(value); } /** *

      An object that specifies how Config excludes resource types from being - * recorded by the configuration recorder.

      To use this option, you must set - * the useOnly field of

      Required fields + *

      To use this option, you must set the useOnly field of RecordingStrategy - * to EXCLUSION_BY_RESOURCE_TYPES.

      + * to EXCLUSION_BY_RESOURCE_TYPES.

      */ inline RecordingGroup& WithExclusionByResourceTypes(const ExclusionByResourceTypes& value) { SetExclusionByResourceTypes(value); return *this;} /** *

      An object that specifies how Config excludes resource types from being - * recorded by the configuration recorder.

      To use this option, you must set - * the useOnly field of

      Required fields + *

      To use this option, you must set the useOnly field of RecordingStrategy - * to EXCLUSION_BY_RESOURCE_TYPES.

      + * to EXCLUSION_BY_RESOURCE_TYPES.

      */ inline RecordingGroup& WithExclusionByResourceTypes(ExclusionByResourceTypes&& value) { SetExclusionByResourceTypes(std::move(value)); return *this;} @@ -597,12 +609,12 @@ namespace Model * recorder.

      • If you set the useOnly field of RecordingStrategy * to ALL_SUPPORTED_RESOURCE_TYPES, Config records configuration - * changes for all supported regionally recorded resource types. You also must set - * the allSupported field of allSupported field of RecordingGroup - * to true. When Config adds support for a new regionally recorded - * resource type, Config automatically starts recording resources of that type.

        - *
      • If you set the useOnly field of true. When Config adds support for a new resource type, Config + * automatically starts recording resources of that type.

      • If you + * set the useOnly field of RecordingStrategy * to INCLUSION_BY_RESOURCE_TYPES, Config records configuration * changes for only the resource types you specify in the @@ -630,24 +642,26 @@ namespace Model * EXCLUSION_BY_RESOURCE_TYPES for the recording strategy, the * exclusionByResourceTypes field will override other properties in * the request.

        For example, even if you set - * includeGlobalResourceTypes to false, globally recorded IAM resource - * types will still be automatically recorded in this option unless those resource - * types are specifically listed as exclusions in the resourceTypes - * field of exclusionByResourceTypes.

        Global + * includeGlobalResourceTypes to false, global IAM resource types will + * still be automatically recorded in this option unless those resource types are + * specifically listed as exclusions in the resourceTypes field of + * exclusionByResourceTypes.

        Global * resources types and the resource exclusion recording strategy

        By * default, if you choose the EXCLUSION_BY_RESOURCE_TYPES recording * strategy, when Config adds support for a new resource type in the Region where * you set up the configuration recorder, including global resource types, Config - * starts recording resources of that type automatically.

        In addition, - * unless specifically listed as exclusions, AWS::RDS::GlobalCluster - * will be recorded automatically in all supported Config Regions were the - * configuration recorder is enabled. IAM users, groups, roles, and customer - * managed policies will be recorded automatically in all enabled Config Regions - * where Config was available before February 2022. This list does not include the - * following Regions:

        • Asia Pacific (Hyderabad)

        • - *

          Asia Pacific (Melbourne)

        • Europe (Spain)

        • - *

          Europe (Zurich)

        • Israel (Tel Aviv)

        • Middle - * East (UAE)

        + * starts recording resources of that type automatically.

        Unless + * specifically listed as exclusions, AWS::RDS::GlobalCluster will be + * recorded automatically in all supported Config Regions were the configuration + * recorder is enabled.

        IAM users, groups, roles, and customer managed + * policies will be recorded in the Region where you set up the configuration + * recorder if that is a Region where Config was available before February 2022. + * You cannot be record the global IAM resouce types in Regions supported by Config + * after February 2022. This list where you cannot record the global IAM resource + * types includes the following Regions:

        • Asia Pacific + * (Hyderabad)

        • Asia Pacific (Melbourne)

        • Europe + * (Spain)

        • Europe (Zurich)

        • Israel (Tel + * Aviv)

        • Middle East (UAE)

        */ inline const RecordingStrategy& GetRecordingStrategy() const{ return m_recordingStrategy; } @@ -656,12 +670,12 @@ namespace Model * recorder.

        • If you set the useOnly field of RecordingStrategy * to ALL_SUPPORTED_RESOURCE_TYPES, Config records configuration - * changes for all supported regionally recorded resource types. You also must set - * the allSupported field of allSupported field of RecordingGroup - * to true. When Config adds support for a new regionally recorded - * resource type, Config automatically starts recording resources of that type.

          - *
        • If you set the useOnly field of true. When Config adds support for a new resource type, Config + * automatically starts recording resources of that type.

        • If you + * set the useOnly field of RecordingStrategy * to INCLUSION_BY_RESOURCE_TYPES, Config records configuration * changes for only the resource types you specify in the @@ -689,24 +703,26 @@ namespace Model * EXCLUSION_BY_RESOURCE_TYPES for the recording strategy, the * exclusionByResourceTypes field will override other properties in * the request.

          For example, even if you set - * includeGlobalResourceTypes to false, globally recorded IAM resource - * types will still be automatically recorded in this option unless those resource - * types are specifically listed as exclusions in the resourceTypes - * field of exclusionByResourceTypes.

          Global + * includeGlobalResourceTypes to false, global IAM resource types will + * still be automatically recorded in this option unless those resource types are + * specifically listed as exclusions in the resourceTypes field of + * exclusionByResourceTypes.

          Global * resources types and the resource exclusion recording strategy

          By * default, if you choose the EXCLUSION_BY_RESOURCE_TYPES recording * strategy, when Config adds support for a new resource type in the Region where * you set up the configuration recorder, including global resource types, Config - * starts recording resources of that type automatically.

          In addition, - * unless specifically listed as exclusions, AWS::RDS::GlobalCluster - * will be recorded automatically in all supported Config Regions were the - * configuration recorder is enabled. IAM users, groups, roles, and customer - * managed policies will be recorded automatically in all enabled Config Regions - * where Config was available before February 2022. This list does not include the - * following Regions:

          • Asia Pacific (Hyderabad)

          • - *

            Asia Pacific (Melbourne)

          • Europe (Spain)

          • - *

            Europe (Zurich)

          • Israel (Tel Aviv)

          • Middle - * East (UAE)

          + * starts recording resources of that type automatically.

          Unless + * specifically listed as exclusions, AWS::RDS::GlobalCluster will be + * recorded automatically in all supported Config Regions were the configuration + * recorder is enabled.

          IAM users, groups, roles, and customer managed + * policies will be recorded in the Region where you set up the configuration + * recorder if that is a Region where Config was available before February 2022. + * You cannot be record the global IAM resouce types in Regions supported by Config + * after February 2022. This list where you cannot record the global IAM resource + * types includes the following Regions:

          • Asia Pacific + * (Hyderabad)

          • Asia Pacific (Melbourne)

          • Europe + * (Spain)

          • Europe (Zurich)

          • Israel (Tel + * Aviv)

          • Middle East (UAE)

          */ inline bool RecordingStrategyHasBeenSet() const { return m_recordingStrategyHasBeenSet; } @@ -715,12 +731,12 @@ namespace Model * recorder.

          • If you set the useOnly field of RecordingStrategy * to ALL_SUPPORTED_RESOURCE_TYPES, Config records configuration - * changes for all supported regionally recorded resource types. You also must set - * the allSupported field of allSupported field of RecordingGroup - * to true. When Config adds support for a new regionally recorded - * resource type, Config automatically starts recording resources of that type.

            - *
          • If you set the useOnly field of true. When Config adds support for a new resource type, Config + * automatically starts recording resources of that type.

          • If you + * set the useOnly field of RecordingStrategy * to INCLUSION_BY_RESOURCE_TYPES, Config records configuration * changes for only the resource types you specify in the @@ -748,24 +764,26 @@ namespace Model * EXCLUSION_BY_RESOURCE_TYPES for the recording strategy, the * exclusionByResourceTypes field will override other properties in * the request.

            For example, even if you set - * includeGlobalResourceTypes to false, globally recorded IAM resource - * types will still be automatically recorded in this option unless those resource - * types are specifically listed as exclusions in the resourceTypes - * field of exclusionByResourceTypes.

            Global + * includeGlobalResourceTypes to false, global IAM resource types will + * still be automatically recorded in this option unless those resource types are + * specifically listed as exclusions in the resourceTypes field of + * exclusionByResourceTypes.

            Global * resources types and the resource exclusion recording strategy

            By * default, if you choose the EXCLUSION_BY_RESOURCE_TYPES recording * strategy, when Config adds support for a new resource type in the Region where * you set up the configuration recorder, including global resource types, Config - * starts recording resources of that type automatically.

            In addition, - * unless specifically listed as exclusions, AWS::RDS::GlobalCluster - * will be recorded automatically in all supported Config Regions were the - * configuration recorder is enabled. IAM users, groups, roles, and customer - * managed policies will be recorded automatically in all enabled Config Regions - * where Config was available before February 2022. This list does not include the - * following Regions:

            • Asia Pacific (Hyderabad)

            • - *

              Asia Pacific (Melbourne)

            • Europe (Spain)

            • - *

              Europe (Zurich)

            • Israel (Tel Aviv)

            • Middle - * East (UAE)

            + * starts recording resources of that type automatically.

            Unless + * specifically listed as exclusions, AWS::RDS::GlobalCluster will be + * recorded automatically in all supported Config Regions were the configuration + * recorder is enabled.

            IAM users, groups, roles, and customer managed + * policies will be recorded in the Region where you set up the configuration + * recorder if that is a Region where Config was available before February 2022. + * You cannot be record the global IAM resouce types in Regions supported by Config + * after February 2022. This list where you cannot record the global IAM resource + * types includes the following Regions:

            • Asia Pacific + * (Hyderabad)

            • Asia Pacific (Melbourne)

            • Europe + * (Spain)

            • Europe (Zurich)

            • Israel (Tel + * Aviv)

            • Middle East (UAE)

            */ inline void SetRecordingStrategy(const RecordingStrategy& value) { m_recordingStrategyHasBeenSet = true; m_recordingStrategy = value; } @@ -774,12 +792,12 @@ namespace Model * recorder.

            • If you set the useOnly field of RecordingStrategy * to ALL_SUPPORTED_RESOURCE_TYPES, Config records configuration - * changes for all supported regionally recorded resource types. You also must set - * the allSupported field of allSupported field of RecordingGroup - * to true. When Config adds support for a new regionally recorded - * resource type, Config automatically starts recording resources of that type.

              - *
            • If you set the useOnly field of true. When Config adds support for a new resource type, Config + * automatically starts recording resources of that type.

            • If you + * set the useOnly field of RecordingStrategy * to INCLUSION_BY_RESOURCE_TYPES, Config records configuration * changes for only the resource types you specify in the @@ -807,24 +825,26 @@ namespace Model * EXCLUSION_BY_RESOURCE_TYPES for the recording strategy, the * exclusionByResourceTypes field will override other properties in * the request.

              For example, even if you set - * includeGlobalResourceTypes to false, globally recorded IAM resource - * types will still be automatically recorded in this option unless those resource - * types are specifically listed as exclusions in the resourceTypes - * field of exclusionByResourceTypes.

              Global + * includeGlobalResourceTypes to false, global IAM resource types will + * still be automatically recorded in this option unless those resource types are + * specifically listed as exclusions in the resourceTypes field of + * exclusionByResourceTypes.

              Global * resources types and the resource exclusion recording strategy

              By * default, if you choose the EXCLUSION_BY_RESOURCE_TYPES recording * strategy, when Config adds support for a new resource type in the Region where * you set up the configuration recorder, including global resource types, Config - * starts recording resources of that type automatically.

              In addition, - * unless specifically listed as exclusions, AWS::RDS::GlobalCluster - * will be recorded automatically in all supported Config Regions were the - * configuration recorder is enabled. IAM users, groups, roles, and customer - * managed policies will be recorded automatically in all enabled Config Regions - * where Config was available before February 2022. This list does not include the - * following Regions:

              • Asia Pacific (Hyderabad)

              • - *

                Asia Pacific (Melbourne)

              • Europe (Spain)

              • - *

                Europe (Zurich)

              • Israel (Tel Aviv)

              • Middle - * East (UAE)

              + * starts recording resources of that type automatically.

              Unless + * specifically listed as exclusions, AWS::RDS::GlobalCluster will be + * recorded automatically in all supported Config Regions were the configuration + * recorder is enabled.

              IAM users, groups, roles, and customer managed + * policies will be recorded in the Region where you set up the configuration + * recorder if that is a Region where Config was available before February 2022. + * You cannot be record the global IAM resouce types in Regions supported by Config + * after February 2022. This list where you cannot record the global IAM resource + * types includes the following Regions:

              • Asia Pacific + * (Hyderabad)

              • Asia Pacific (Melbourne)

              • Europe + * (Spain)

              • Europe (Zurich)

              • Israel (Tel + * Aviv)

              • Middle East (UAE)

              */ inline void SetRecordingStrategy(RecordingStrategy&& value) { m_recordingStrategyHasBeenSet = true; m_recordingStrategy = std::move(value); } @@ -833,12 +853,12 @@ namespace Model * recorder.

              • If you set the useOnly field of RecordingStrategy * to ALL_SUPPORTED_RESOURCE_TYPES, Config records configuration - * changes for all supported regionally recorded resource types. You also must set - * the allSupported field of allSupported field of RecordingGroup - * to true. When Config adds support for a new regionally recorded - * resource type, Config automatically starts recording resources of that type.

                - *
              • If you set the useOnly field of true. When Config adds support for a new resource type, Config + * automatically starts recording resources of that type.

              • If you + * set the useOnly field of RecordingStrategy * to INCLUSION_BY_RESOURCE_TYPES, Config records configuration * changes for only the resource types you specify in the @@ -866,24 +886,26 @@ namespace Model * EXCLUSION_BY_RESOURCE_TYPES for the recording strategy, the * exclusionByResourceTypes field will override other properties in * the request.

                For example, even if you set - * includeGlobalResourceTypes to false, globally recorded IAM resource - * types will still be automatically recorded in this option unless those resource - * types are specifically listed as exclusions in the resourceTypes - * field of exclusionByResourceTypes.

                Global + * includeGlobalResourceTypes to false, global IAM resource types will + * still be automatically recorded in this option unless those resource types are + * specifically listed as exclusions in the resourceTypes field of + * exclusionByResourceTypes.

                Global * resources types and the resource exclusion recording strategy

                By * default, if you choose the EXCLUSION_BY_RESOURCE_TYPES recording * strategy, when Config adds support for a new resource type in the Region where * you set up the configuration recorder, including global resource types, Config - * starts recording resources of that type automatically.

                In addition, - * unless specifically listed as exclusions, AWS::RDS::GlobalCluster - * will be recorded automatically in all supported Config Regions were the - * configuration recorder is enabled. IAM users, groups, roles, and customer - * managed policies will be recorded automatically in all enabled Config Regions - * where Config was available before February 2022. This list does not include the - * following Regions:

                • Asia Pacific (Hyderabad)

                • - *

                  Asia Pacific (Melbourne)

                • Europe (Spain)

                • - *

                  Europe (Zurich)

                • Israel (Tel Aviv)

                • Middle - * East (UAE)

                + * starts recording resources of that type automatically.

                Unless + * specifically listed as exclusions, AWS::RDS::GlobalCluster will be + * recorded automatically in all supported Config Regions were the configuration + * recorder is enabled.

                IAM users, groups, roles, and customer managed + * policies will be recorded in the Region where you set up the configuration + * recorder if that is a Region where Config was available before February 2022. + * You cannot be record the global IAM resouce types in Regions supported by Config + * after February 2022. This list where you cannot record the global IAM resource + * types includes the following Regions:

                • Asia Pacific + * (Hyderabad)

                • Asia Pacific (Melbourne)

                • Europe + * (Spain)

                • Europe (Zurich)

                • Israel (Tel + * Aviv)

                • Middle East (UAE)

                */ inline RecordingGroup& WithRecordingStrategy(const RecordingStrategy& value) { SetRecordingStrategy(value); return *this;} @@ -892,12 +914,12 @@ namespace Model * recorder.

                • If you set the useOnly field of RecordingStrategy * to ALL_SUPPORTED_RESOURCE_TYPES, Config records configuration - * changes for all supported regionally recorded resource types. You also must set - * the allSupported field of allSupported field of RecordingGroup - * to true. When Config adds support for a new regionally recorded - * resource type, Config automatically starts recording resources of that type.

                  - *
                • If you set the useOnly field of true. When Config adds support for a new resource type, Config + * automatically starts recording resources of that type.

                • If you + * set the useOnly field of RecordingStrategy * to INCLUSION_BY_RESOURCE_TYPES, Config records configuration * changes for only the resource types you specify in the @@ -925,24 +947,26 @@ namespace Model * EXCLUSION_BY_RESOURCE_TYPES for the recording strategy, the * exclusionByResourceTypes field will override other properties in * the request.

                  For example, even if you set - * includeGlobalResourceTypes to false, globally recorded IAM resource - * types will still be automatically recorded in this option unless those resource - * types are specifically listed as exclusions in the resourceTypes - * field of exclusionByResourceTypes.

                  Global + * includeGlobalResourceTypes to false, global IAM resource types will + * still be automatically recorded in this option unless those resource types are + * specifically listed as exclusions in the resourceTypes field of + * exclusionByResourceTypes.

                  Global * resources types and the resource exclusion recording strategy

                  By * default, if you choose the EXCLUSION_BY_RESOURCE_TYPES recording * strategy, when Config adds support for a new resource type in the Region where * you set up the configuration recorder, including global resource types, Config - * starts recording resources of that type automatically.

                  In addition, - * unless specifically listed as exclusions, AWS::RDS::GlobalCluster - * will be recorded automatically in all supported Config Regions were the - * configuration recorder is enabled. IAM users, groups, roles, and customer - * managed policies will be recorded automatically in all enabled Config Regions - * where Config was available before February 2022. This list does not include the - * following Regions:

                  • Asia Pacific (Hyderabad)

                  • - *

                    Asia Pacific (Melbourne)

                  • Europe (Spain)

                  • - *

                    Europe (Zurich)

                  • Israel (Tel Aviv)

                  • Middle - * East (UAE)

                  + * starts recording resources of that type automatically.

                  Unless + * specifically listed as exclusions, AWS::RDS::GlobalCluster will be + * recorded automatically in all supported Config Regions were the configuration + * recorder is enabled.

                  IAM users, groups, roles, and customer managed + * policies will be recorded in the Region where you set up the configuration + * recorder if that is a Region where Config was available before February 2022. + * You cannot be record the global IAM resouce types in Regions supported by Config + * after February 2022. This list where you cannot record the global IAM resource + * types includes the following Regions:

                  • Asia Pacific + * (Hyderabad)

                  • Asia Pacific (Melbourne)

                  • Europe + * (Spain)

                  • Europe (Zurich)

                  • Israel (Tel + * Aviv)

                  • Middle East (UAE)

                  */ inline RecordingGroup& WithRecordingStrategy(RecordingStrategy&& value) { SetRecordingStrategy(std::move(value)); return *this;} diff --git a/generated/src/aws-cpp-sdk-config/include/aws/config/model/RecordingMode.h b/generated/src/aws-cpp-sdk-config/include/aws/config/model/RecordingMode.h new file mode 100644 index 00000000000..9dc064cf86e --- /dev/null +++ b/generated/src/aws-cpp-sdk-config/include/aws/config/model/RecordingMode.h @@ -0,0 +1,207 @@ +/** + * 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 ConfigService +{ +namespace Model +{ + + /** + *

                  Specifies the default recording frequency that Config uses to record + * configuration changes. Config supports Continuous recording and Daily + * recording.

                  • Continuous recording allows you to record + * configuration changes continuously whenever a change occurs.

                  • + *

                    Daily recording allows you record configuration data once every 24 hours, + * only if a change has occurred.

                  Firewall Manager + * depends on continuous recording to monitor your resources. If you are using + * Firewall Manager, it is recommended that you set the recording frequency to + * Continuous.

                  You can also override the recording frequency for + * specific resource types.

                  See Also:

                  AWS + * API Reference

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

                  The default recording frequency that Config uses to record configuration + * changes.

                  Daily recording is not supported for the following + * resource types:

                  • AWS::Config::ResourceCompliance + *

                  • AWS::Config::ConformancePackCompliance

                    + *
                  • AWS::Config::ConfigurationRecorder

                  + *

                  For the allSupported (ALL_SUPPORTED_RESOURCE_TYPES) + * recording strategy, these resource types will be set to Continuous + * recording.

                  + */ + inline const RecordingFrequency& GetRecordingFrequency() const{ return m_recordingFrequency; } + + /** + *

                  The default recording frequency that Config uses to record configuration + * changes.

                  Daily recording is not supported for the following + * resource types:

                  • AWS::Config::ResourceCompliance + *

                  • AWS::Config::ConformancePackCompliance

                    + *
                  • AWS::Config::ConfigurationRecorder

                  + *

                  For the allSupported (ALL_SUPPORTED_RESOURCE_TYPES) + * recording strategy, these resource types will be set to Continuous + * recording.

                  + */ + inline bool RecordingFrequencyHasBeenSet() const { return m_recordingFrequencyHasBeenSet; } + + /** + *

                  The default recording frequency that Config uses to record configuration + * changes.

                  Daily recording is not supported for the following + * resource types:

                  • AWS::Config::ResourceCompliance + *

                  • AWS::Config::ConformancePackCompliance

                    + *
                  • AWS::Config::ConfigurationRecorder

                  + *

                  For the allSupported (ALL_SUPPORTED_RESOURCE_TYPES) + * recording strategy, these resource types will be set to Continuous + * recording.

                  + */ + inline void SetRecordingFrequency(const RecordingFrequency& value) { m_recordingFrequencyHasBeenSet = true; m_recordingFrequency = value; } + + /** + *

                  The default recording frequency that Config uses to record configuration + * changes.

                  Daily recording is not supported for the following + * resource types:

                  • AWS::Config::ResourceCompliance + *

                  • AWS::Config::ConformancePackCompliance

                    + *
                  • AWS::Config::ConfigurationRecorder

                  + *

                  For the allSupported (ALL_SUPPORTED_RESOURCE_TYPES) + * recording strategy, these resource types will be set to Continuous + * recording.

                  + */ + inline void SetRecordingFrequency(RecordingFrequency&& value) { m_recordingFrequencyHasBeenSet = true; m_recordingFrequency = std::move(value); } + + /** + *

                  The default recording frequency that Config uses to record configuration + * changes.

                  Daily recording is not supported for the following + * resource types:

                  • AWS::Config::ResourceCompliance + *

                  • AWS::Config::ConformancePackCompliance

                    + *
                  • AWS::Config::ConfigurationRecorder

                  + *

                  For the allSupported (ALL_SUPPORTED_RESOURCE_TYPES) + * recording strategy, these resource types will be set to Continuous + * recording.

                  + */ + inline RecordingMode& WithRecordingFrequency(const RecordingFrequency& value) { SetRecordingFrequency(value); return *this;} + + /** + *

                  The default recording frequency that Config uses to record configuration + * changes.

                  Daily recording is not supported for the following + * resource types:

                  • AWS::Config::ResourceCompliance + *

                  • AWS::Config::ConformancePackCompliance

                    + *
                  • AWS::Config::ConfigurationRecorder

                  + *

                  For the allSupported (ALL_SUPPORTED_RESOURCE_TYPES) + * recording strategy, these resource types will be set to Continuous + * recording.

                  + */ + inline RecordingMode& WithRecordingFrequency(RecordingFrequency&& value) { SetRecordingFrequency(std::move(value)); return *this;} + + + /** + *

                  An array of recordingModeOverride objects for you to specify + * your overrides for the recording mode. The recordingModeOverride + * object in the recordingModeOverrides array consists of three + * fields: a description, the new recordingFrequency, and + * an array of resourceTypes to override.

                  + */ + inline const Aws::Vector& GetRecordingModeOverrides() const{ return m_recordingModeOverrides; } + + /** + *

                  An array of recordingModeOverride objects for you to specify + * your overrides for the recording mode. The recordingModeOverride + * object in the recordingModeOverrides array consists of three + * fields: a description, the new recordingFrequency, and + * an array of resourceTypes to override.

                  + */ + inline bool RecordingModeOverridesHasBeenSet() const { return m_recordingModeOverridesHasBeenSet; } + + /** + *

                  An array of recordingModeOverride objects for you to specify + * your overrides for the recording mode. The recordingModeOverride + * object in the recordingModeOverrides array consists of three + * fields: a description, the new recordingFrequency, and + * an array of resourceTypes to override.

                  + */ + inline void SetRecordingModeOverrides(const Aws::Vector& value) { m_recordingModeOverridesHasBeenSet = true; m_recordingModeOverrides = value; } + + /** + *

                  An array of recordingModeOverride objects for you to specify + * your overrides for the recording mode. The recordingModeOverride + * object in the recordingModeOverrides array consists of three + * fields: a description, the new recordingFrequency, and + * an array of resourceTypes to override.

                  + */ + inline void SetRecordingModeOverrides(Aws::Vector&& value) { m_recordingModeOverridesHasBeenSet = true; m_recordingModeOverrides = std::move(value); } + + /** + *

                  An array of recordingModeOverride objects for you to specify + * your overrides for the recording mode. The recordingModeOverride + * object in the recordingModeOverrides array consists of three + * fields: a description, the new recordingFrequency, and + * an array of resourceTypes to override.

                  + */ + inline RecordingMode& WithRecordingModeOverrides(const Aws::Vector& value) { SetRecordingModeOverrides(value); return *this;} + + /** + *

                  An array of recordingModeOverride objects for you to specify + * your overrides for the recording mode. The recordingModeOverride + * object in the recordingModeOverrides array consists of three + * fields: a description, the new recordingFrequency, and + * an array of resourceTypes to override.

                  + */ + inline RecordingMode& WithRecordingModeOverrides(Aws::Vector&& value) { SetRecordingModeOverrides(std::move(value)); return *this;} + + /** + *

                  An array of recordingModeOverride objects for you to specify + * your overrides for the recording mode. The recordingModeOverride + * object in the recordingModeOverrides array consists of three + * fields: a description, the new recordingFrequency, and + * an array of resourceTypes to override.

                  + */ + inline RecordingMode& AddRecordingModeOverrides(const RecordingModeOverride& value) { m_recordingModeOverridesHasBeenSet = true; m_recordingModeOverrides.push_back(value); return *this; } + + /** + *

                  An array of recordingModeOverride objects for you to specify + * your overrides for the recording mode. The recordingModeOverride + * object in the recordingModeOverrides array consists of three + * fields: a description, the new recordingFrequency, and + * an array of resourceTypes to override.

                  + */ + inline RecordingMode& AddRecordingModeOverrides(RecordingModeOverride&& value) { m_recordingModeOverridesHasBeenSet = true; m_recordingModeOverrides.push_back(std::move(value)); return *this; } + + private: + + RecordingFrequency m_recordingFrequency; + bool m_recordingFrequencyHasBeenSet = false; + + Aws::Vector m_recordingModeOverrides; + bool m_recordingModeOverridesHasBeenSet = false; + }; + +} // namespace Model +} // namespace ConfigService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-config/include/aws/config/model/RecordingModeOverride.h b/generated/src/aws-cpp-sdk-config/include/aws/config/model/RecordingModeOverride.h new file mode 100644 index 00000000000..f6c88e08da7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-config/include/aws/config/model/RecordingModeOverride.h @@ -0,0 +1,252 @@ +/** + * 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 ConfigService +{ +namespace Model +{ + + /** + *

                  An object for you to specify your overrides for the recording + * mode.

                  See Also:

                  AWS + * API Reference

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

                  A description that you provide for the override.

                  + */ + inline const Aws::String& GetDescription() const{ return m_description; } + + /** + *

                  A description that you provide for the override.

                  + */ + inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } + + /** + *

                  A description that you provide for the override.

                  + */ + inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } + + /** + *

                  A description that you provide for the override.

                  + */ + inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } + + /** + *

                  A description that you provide for the override.

                  + */ + inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } + + /** + *

                  A description that you provide for the override.

                  + */ + inline RecordingModeOverride& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} + + /** + *

                  A description that you provide for the override.

                  + */ + inline RecordingModeOverride& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} + + /** + *

                  A description that you provide for the override.

                  + */ + inline RecordingModeOverride& WithDescription(const char* value) { SetDescription(value); return *this;} + + + /** + *

                  A comma-separated list that specifies which resource types Config includes in + * the override.

                  Daily recording is not supported for the + * following resource types:

                  • + * AWS::Config::ResourceCompliance

                  • + * AWS::Config::ConformancePackCompliance

                  • + * AWS::Config::ConfigurationRecorder

                  + */ + inline const Aws::Vector& GetResourceTypes() const{ return m_resourceTypes; } + + /** + *

                  A comma-separated list that specifies which resource types Config includes in + * the override.

                  Daily recording is not supported for the + * following resource types:

                  • + * AWS::Config::ResourceCompliance

                  • + * AWS::Config::ConformancePackCompliance

                  • + * AWS::Config::ConfigurationRecorder

                  + */ + inline bool ResourceTypesHasBeenSet() const { return m_resourceTypesHasBeenSet; } + + /** + *

                  A comma-separated list that specifies which resource types Config includes in + * the override.

                  Daily recording is not supported for the + * following resource types:

                  • + * AWS::Config::ResourceCompliance

                  • + * AWS::Config::ConformancePackCompliance

                  • + * AWS::Config::ConfigurationRecorder

                  + */ + inline void SetResourceTypes(const Aws::Vector& value) { m_resourceTypesHasBeenSet = true; m_resourceTypes = value; } + + /** + *

                  A comma-separated list that specifies which resource types Config includes in + * the override.

                  Daily recording is not supported for the + * following resource types:

                  • + * AWS::Config::ResourceCompliance

                  • + * AWS::Config::ConformancePackCompliance

                  • + * AWS::Config::ConfigurationRecorder

                  + */ + inline void SetResourceTypes(Aws::Vector&& value) { m_resourceTypesHasBeenSet = true; m_resourceTypes = std::move(value); } + + /** + *

                  A comma-separated list that specifies which resource types Config includes in + * the override.

                  Daily recording is not supported for the + * following resource types:

                  • + * AWS::Config::ResourceCompliance

                  • + * AWS::Config::ConformancePackCompliance

                  • + * AWS::Config::ConfigurationRecorder

                  + */ + inline RecordingModeOverride& WithResourceTypes(const Aws::Vector& value) { SetResourceTypes(value); return *this;} + + /** + *

                  A comma-separated list that specifies which resource types Config includes in + * the override.

                  Daily recording is not supported for the + * following resource types:

                  • + * AWS::Config::ResourceCompliance

                  • + * AWS::Config::ConformancePackCompliance

                  • + * AWS::Config::ConfigurationRecorder

                  + */ + inline RecordingModeOverride& WithResourceTypes(Aws::Vector&& value) { SetResourceTypes(std::move(value)); return *this;} + + /** + *

                  A comma-separated list that specifies which resource types Config includes in + * the override.

                  Daily recording is not supported for the + * following resource types:

                  • + * AWS::Config::ResourceCompliance

                  • + * AWS::Config::ConformancePackCompliance

                  • + * AWS::Config::ConfigurationRecorder

                  + */ + inline RecordingModeOverride& AddResourceTypes(const ResourceType& value) { m_resourceTypesHasBeenSet = true; m_resourceTypes.push_back(value); return *this; } + + /** + *

                  A comma-separated list that specifies which resource types Config includes in + * the override.

                  Daily recording is not supported for the + * following resource types:

                  • + * AWS::Config::ResourceCompliance

                  • + * AWS::Config::ConformancePackCompliance

                  • + * AWS::Config::ConfigurationRecorder

                  + */ + inline RecordingModeOverride& AddResourceTypes(ResourceType&& value) { m_resourceTypesHasBeenSet = true; m_resourceTypes.push_back(std::move(value)); return *this; } + + + /** + *

                  The recording frequency that will be applied to all the resource types + * specified in the override.

                  • Continuous recording allows you to + * record configuration changes continuously whenever a change occurs.

                  • + *
                  • Daily recording allows you record configuration data once every 24 + * hours, only if a change has occurred.

                  Firewall Manager + * depends on continuous recording to monitor your resources. If you are using + * Firewall Manager, it is recommended that you set the recording frequency to + * Continuous.

                  + */ + inline const RecordingFrequency& GetRecordingFrequency() const{ return m_recordingFrequency; } + + /** + *

                  The recording frequency that will be applied to all the resource types + * specified in the override.

                  • Continuous recording allows you to + * record configuration changes continuously whenever a change occurs.

                  • + *
                  • Daily recording allows you record configuration data once every 24 + * hours, only if a change has occurred.

                  Firewall Manager + * depends on continuous recording to monitor your resources. If you are using + * Firewall Manager, it is recommended that you set the recording frequency to + * Continuous.

                  + */ + inline bool RecordingFrequencyHasBeenSet() const { return m_recordingFrequencyHasBeenSet; } + + /** + *

                  The recording frequency that will be applied to all the resource types + * specified in the override.

                  • Continuous recording allows you to + * record configuration changes continuously whenever a change occurs.

                  • + *
                  • Daily recording allows you record configuration data once every 24 + * hours, only if a change has occurred.

                  Firewall Manager + * depends on continuous recording to monitor your resources. If you are using + * Firewall Manager, it is recommended that you set the recording frequency to + * Continuous.

                  + */ + inline void SetRecordingFrequency(const RecordingFrequency& value) { m_recordingFrequencyHasBeenSet = true; m_recordingFrequency = value; } + + /** + *

                  The recording frequency that will be applied to all the resource types + * specified in the override.

                  • Continuous recording allows you to + * record configuration changes continuously whenever a change occurs.

                  • + *
                  • Daily recording allows you record configuration data once every 24 + * hours, only if a change has occurred.

                  Firewall Manager + * depends on continuous recording to monitor your resources. If you are using + * Firewall Manager, it is recommended that you set the recording frequency to + * Continuous.

                  + */ + inline void SetRecordingFrequency(RecordingFrequency&& value) { m_recordingFrequencyHasBeenSet = true; m_recordingFrequency = std::move(value); } + + /** + *

                  The recording frequency that will be applied to all the resource types + * specified in the override.

                  • Continuous recording allows you to + * record configuration changes continuously whenever a change occurs.

                  • + *
                  • Daily recording allows you record configuration data once every 24 + * hours, only if a change has occurred.

                  Firewall Manager + * depends on continuous recording to monitor your resources. If you are using + * Firewall Manager, it is recommended that you set the recording frequency to + * Continuous.

                  + */ + inline RecordingModeOverride& WithRecordingFrequency(const RecordingFrequency& value) { SetRecordingFrequency(value); return *this;} + + /** + *

                  The recording frequency that will be applied to all the resource types + * specified in the override.

                  • Continuous recording allows you to + * record configuration changes continuously whenever a change occurs.

                  • + *
                  • Daily recording allows you record configuration data once every 24 + * hours, only if a change has occurred.

                  Firewall Manager + * depends on continuous recording to monitor your resources. If you are using + * Firewall Manager, it is recommended that you set the recording frequency to + * Continuous.

                  + */ + inline RecordingModeOverride& WithRecordingFrequency(RecordingFrequency&& value) { SetRecordingFrequency(std::move(value)); return *this;} + + private: + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + Aws::Vector m_resourceTypes; + bool m_resourceTypesHasBeenSet = false; + + RecordingFrequency m_recordingFrequency; + bool m_recordingFrequencyHasBeenSet = false; + }; + +} // namespace Model +} // namespace ConfigService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-config/include/aws/config/model/RecordingStrategy.h b/generated/src/aws-cpp-sdk-config/include/aws/config/model/RecordingStrategy.h index 477f469e7d5..d70609559d0 100644 --- a/generated/src/aws-cpp-sdk-config/include/aws/config/model/RecordingStrategy.h +++ b/generated/src/aws-cpp-sdk-config/include/aws/config/model/RecordingStrategy.h @@ -41,12 +41,12 @@ namespace Model /** *

                  The recording strategy for the configuration recorder.

                  */ inline DriftStatusSummary& WithDriftStatus(const DriftStatus& value) { SetDriftStatus(value); return *this;} /** *

                  The drift status of the enabled control.

                  Valid values:

                  • *

                    DRIFTED: The enabledControl deployed in this - * configuration doesn’t match the configuration that AWS Control Tower expected. - *

                  • IN_SYNC: The enabledControl - * deployed in this configuration matches the configuration that AWS Control Tower - * expected.

                  • NOT_CHECKING: AWS Control Tower does - * not check drift for this enabled control. Drift is not supported for the control - * type.

                  • UNKNOWN: AWS Control Tower is not able to - * check the drift status for the enabled control.

                  + * configuration doesn’t match the configuration that Amazon Web Services Control + * Tower expected.

                  • If * you set this option to ALL_SUPPORTED_RESOURCE_TYPES, Config records - * configuration changes for all supported regionally recorded resource types. You - * also must set the allSupported field of allSupported field of RecordingGroup - * to true. When Config adds support for a new regionally recorded - * resource type, Config automatically starts recording resources of that type. For - * a list of supported resource types, see true. When Config adds support for a new resource type, Config + * automatically starts recording resources of that type. For a list of supported + * resource types, see Supported * Resource Types in the Config developer guide.

                  • If * you set this option to INCLUSION_BY_RESOURCE_TYPES, Config records @@ -73,35 +73,38 @@ namespace Model * EXCLUSION_BY_RESOURCE_TYPES for the recording strategy, the * exclusionByResourceTypes field will override other properties in * the request.

                    For example, even if you set - * includeGlobalResourceTypes to false, globally recorded IAM resource - * types will still be automatically recorded in this option unless those resource - * types are specifically listed as exclusions in the resourceTypes - * field of exclusionByResourceTypes.

                    Global - * resource types and the exclusion recording strategy

                    By default, if - * you choose the EXCLUSION_BY_RESOURCE_TYPES recording strategy, when - * Config adds support for a new resource type in the Region where you set up the + * includeGlobalResourceTypes to false, global IAM resource types will + * still be automatically recorded in this option unless those resource types are + * specifically listed as exclusions in the resourceTypes field of + * exclusionByResourceTypes.

                    Global resource + * types and the exclusion recording strategy

                    By default, if you choose + * the EXCLUSION_BY_RESOURCE_TYPES recording strategy, when Config + * adds support for a new resource type in the Region where you set up the * configuration recorder, including global resource types, Config starts recording - * resources of that type automatically.

                    In addition, unless specifically - * listed as exclusions, AWS::RDS::GlobalCluster will be recorded - * automatically in all supported Config Regions were the configuration recorder is - * enabled. IAM users, groups, roles, and customer managed policies will be - * recorded automatically in all enabled Config Regions where Config was available - * before February 2022. This list does not include the following Regions:

                      - *
                    • Asia Pacific (Hyderabad)

                    • Asia Pacific (Melbourne)

                      - *
                    • Europe (Spain)

                    • Europe (Zurich)

                    • - *

                      Israel (Tel Aviv)

                    • Middle East (UAE)

                    + * resources of that type automatically.

                    Unless specifically listed as + * exclusions, AWS::RDS::GlobalCluster will be recorded automatically + * in all supported Config Regions were the configuration recorder is enabled.

                    + *

                    IAM users, groups, roles, and customer managed policies will be recorded in + * the Region where you set up the configuration recorder if that is a Region where + * Config was available before February 2022. You cannot be record the global IAM + * resouce types in Regions supported by Config after February 2022. This list + * where you cannot record the global IAM resource types includes the following + * Regions:

                    • Asia Pacific (Hyderabad)

                    • Asia + * Pacific (Melbourne)

                    • Europe (Spain)

                    • Europe + * (Zurich)

                    • Israel (Tel Aviv)

                    • Middle East + * (UAE)

                    */ inline const RecordingStrategyType& GetUseOnly() const{ return m_useOnly; } /** *

                    The recording strategy for the configuration recorder.

                    • If * you set this option to ALL_SUPPORTED_RESOURCE_TYPES, Config records - * configuration changes for all supported regionally recorded resource types. You - * also must set the allSupported field of allSupported field of RecordingGroup - * to true. When Config adds support for a new regionally recorded - * resource type, Config automatically starts recording resources of that type. For - * a list of supported resource types, see true. When Config adds support for a new resource type, Config + * automatically starts recording resources of that type. For a list of supported + * resource types, see Supported * Resource Types in the Config developer guide.

                    • If * you set this option to INCLUSION_BY_RESOURCE_TYPES, Config records @@ -128,35 +131,38 @@ namespace Model * EXCLUSION_BY_RESOURCE_TYPES for the recording strategy, the * exclusionByResourceTypes field will override other properties in * the request.

                      For example, even if you set - * includeGlobalResourceTypes to false, globally recorded IAM resource - * types will still be automatically recorded in this option unless those resource - * types are specifically listed as exclusions in the resourceTypes - * field of exclusionByResourceTypes.

                      Global - * resource types and the exclusion recording strategy

                      By default, if - * you choose the EXCLUSION_BY_RESOURCE_TYPES recording strategy, when - * Config adds support for a new resource type in the Region where you set up the + * includeGlobalResourceTypes to false, global IAM resource types will + * still be automatically recorded in this option unless those resource types are + * specifically listed as exclusions in the resourceTypes field of + * exclusionByResourceTypes.

                      Global resource + * types and the exclusion recording strategy

                      By default, if you choose + * the EXCLUSION_BY_RESOURCE_TYPES recording strategy, when Config + * adds support for a new resource type in the Region where you set up the * configuration recorder, including global resource types, Config starts recording - * resources of that type automatically.

                      In addition, unless specifically - * listed as exclusions, AWS::RDS::GlobalCluster will be recorded - * automatically in all supported Config Regions were the configuration recorder is - * enabled. IAM users, groups, roles, and customer managed policies will be - * recorded automatically in all enabled Config Regions where Config was available - * before February 2022. This list does not include the following Regions:

                        - *
                      • Asia Pacific (Hyderabad)

                      • Asia Pacific (Melbourne)

                        - *
                      • Europe (Spain)

                      • Europe (Zurich)

                      • - *

                        Israel (Tel Aviv)

                      • Middle East (UAE)

                      + * resources of that type automatically.

                      Unless specifically listed as + * exclusions, AWS::RDS::GlobalCluster will be recorded automatically + * in all supported Config Regions were the configuration recorder is enabled.

                      + *

                      IAM users, groups, roles, and customer managed policies will be recorded in + * the Region where you set up the configuration recorder if that is a Region where + * Config was available before February 2022. You cannot be record the global IAM + * resouce types in Regions supported by Config after February 2022. This list + * where you cannot record the global IAM resource types includes the following + * Regions:

                      • Asia Pacific (Hyderabad)

                      • Asia + * Pacific (Melbourne)

                      • Europe (Spain)

                      • Europe + * (Zurich)

                      • Israel (Tel Aviv)

                      • Middle East + * (UAE)

                      */ inline bool UseOnlyHasBeenSet() const { return m_useOnlyHasBeenSet; } /** *

                      The recording strategy for the configuration recorder.

                      • If * you set this option to ALL_SUPPORTED_RESOURCE_TYPES, Config records - * configuration changes for all supported regionally recorded resource types. You - * also must set the allSupported field of allSupported field of RecordingGroup - * to true. When Config adds support for a new regionally recorded - * resource type, Config automatically starts recording resources of that type. For - * a list of supported resource types, see true. When Config adds support for a new resource type, Config + * automatically starts recording resources of that type. For a list of supported + * resource types, see Supported * Resource Types in the Config developer guide.

                      • If * you set this option to INCLUSION_BY_RESOURCE_TYPES, Config records @@ -183,35 +189,38 @@ namespace Model * EXCLUSION_BY_RESOURCE_TYPES for the recording strategy, the * exclusionByResourceTypes field will override other properties in * the request.

                        For example, even if you set - * includeGlobalResourceTypes to false, globally recorded IAM resource - * types will still be automatically recorded in this option unless those resource - * types are specifically listed as exclusions in the resourceTypes - * field of exclusionByResourceTypes.

                        Global - * resource types and the exclusion recording strategy

                        By default, if - * you choose the EXCLUSION_BY_RESOURCE_TYPES recording strategy, when - * Config adds support for a new resource type in the Region where you set up the + * includeGlobalResourceTypes to false, global IAM resource types will + * still be automatically recorded in this option unless those resource types are + * specifically listed as exclusions in the resourceTypes field of + * exclusionByResourceTypes.

                        Global resource + * types and the exclusion recording strategy

                        By default, if you choose + * the EXCLUSION_BY_RESOURCE_TYPES recording strategy, when Config + * adds support for a new resource type in the Region where you set up the * configuration recorder, including global resource types, Config starts recording - * resources of that type automatically.

                        In addition, unless specifically - * listed as exclusions, AWS::RDS::GlobalCluster will be recorded - * automatically in all supported Config Regions were the configuration recorder is - * enabled. IAM users, groups, roles, and customer managed policies will be - * recorded automatically in all enabled Config Regions where Config was available - * before February 2022. This list does not include the following Regions:

                          - *
                        • Asia Pacific (Hyderabad)

                        • Asia Pacific (Melbourne)

                          - *
                        • Europe (Spain)

                        • Europe (Zurich)

                        • - *

                          Israel (Tel Aviv)

                        • Middle East (UAE)

                        + * resources of that type automatically.

                        Unless specifically listed as + * exclusions, AWS::RDS::GlobalCluster will be recorded automatically + * in all supported Config Regions were the configuration recorder is enabled.

                        + *

                        IAM users, groups, roles, and customer managed policies will be recorded in + * the Region where you set up the configuration recorder if that is a Region where + * Config was available before February 2022. You cannot be record the global IAM + * resouce types in Regions supported by Config after February 2022. This list + * where you cannot record the global IAM resource types includes the following + * Regions:

                        • Asia Pacific (Hyderabad)

                        • Asia + * Pacific (Melbourne)

                        • Europe (Spain)

                        • Europe + * (Zurich)

                        • Israel (Tel Aviv)

                        • Middle East + * (UAE)

                        */ inline void SetUseOnly(const RecordingStrategyType& value) { m_useOnlyHasBeenSet = true; m_useOnly = value; } /** *

                        The recording strategy for the configuration recorder.

                        • If * you set this option to ALL_SUPPORTED_RESOURCE_TYPES, Config records - * configuration changes for all supported regionally recorded resource types. You - * also must set the allSupported field of allSupported field of RecordingGroup - * to true. When Config adds support for a new regionally recorded - * resource type, Config automatically starts recording resources of that type. For - * a list of supported resource types, see true. When Config adds support for a new resource type, Config + * automatically starts recording resources of that type. For a list of supported + * resource types, see Supported * Resource Types in the Config developer guide.

                        • If * you set this option to INCLUSION_BY_RESOURCE_TYPES, Config records @@ -238,35 +247,38 @@ namespace Model * EXCLUSION_BY_RESOURCE_TYPES for the recording strategy, the * exclusionByResourceTypes field will override other properties in * the request.

                          For example, even if you set - * includeGlobalResourceTypes to false, globally recorded IAM resource - * types will still be automatically recorded in this option unless those resource - * types are specifically listed as exclusions in the resourceTypes - * field of exclusionByResourceTypes.

                          Global - * resource types and the exclusion recording strategy

                          By default, if - * you choose the EXCLUSION_BY_RESOURCE_TYPES recording strategy, when - * Config adds support for a new resource type in the Region where you set up the + * includeGlobalResourceTypes to false, global IAM resource types will + * still be automatically recorded in this option unless those resource types are + * specifically listed as exclusions in the resourceTypes field of + * exclusionByResourceTypes.

                          Global resource + * types and the exclusion recording strategy

                          By default, if you choose + * the EXCLUSION_BY_RESOURCE_TYPES recording strategy, when Config + * adds support for a new resource type in the Region where you set up the * configuration recorder, including global resource types, Config starts recording - * resources of that type automatically.

                          In addition, unless specifically - * listed as exclusions, AWS::RDS::GlobalCluster will be recorded - * automatically in all supported Config Regions were the configuration recorder is - * enabled. IAM users, groups, roles, and customer managed policies will be - * recorded automatically in all enabled Config Regions where Config was available - * before February 2022. This list does not include the following Regions:

                            - *
                          • Asia Pacific (Hyderabad)

                          • Asia Pacific (Melbourne)

                            - *
                          • Europe (Spain)

                          • Europe (Zurich)

                          • - *

                            Israel (Tel Aviv)

                          • Middle East (UAE)

                          + * resources of that type automatically.

                          Unless specifically listed as + * exclusions, AWS::RDS::GlobalCluster will be recorded automatically + * in all supported Config Regions were the configuration recorder is enabled.

                          + *

                          IAM users, groups, roles, and customer managed policies will be recorded in + * the Region where you set up the configuration recorder if that is a Region where + * Config was available before February 2022. You cannot be record the global IAM + * resouce types in Regions supported by Config after February 2022. This list + * where you cannot record the global IAM resource types includes the following + * Regions:

                          • Asia Pacific (Hyderabad)

                          • Asia + * Pacific (Melbourne)

                          • Europe (Spain)

                          • Europe + * (Zurich)

                          • Israel (Tel Aviv)

                          • Middle East + * (UAE)

                          */ inline void SetUseOnly(RecordingStrategyType&& value) { m_useOnlyHasBeenSet = true; m_useOnly = std::move(value); } /** *

                          The recording strategy for the configuration recorder.

                          • If * you set this option to ALL_SUPPORTED_RESOURCE_TYPES, Config records - * configuration changes for all supported regionally recorded resource types. You - * also must set the allSupported field of allSupported field of RecordingGroup - * to true. When Config adds support for a new regionally recorded - * resource type, Config automatically starts recording resources of that type. For - * a list of supported resource types, see true. When Config adds support for a new resource type, Config + * automatically starts recording resources of that type. For a list of supported + * resource types, see Supported * Resource Types in the Config developer guide.

                          • If * you set this option to INCLUSION_BY_RESOURCE_TYPES, Config records @@ -293,35 +305,38 @@ namespace Model * EXCLUSION_BY_RESOURCE_TYPES for the recording strategy, the * exclusionByResourceTypes field will override other properties in * the request.

                            For example, even if you set - * includeGlobalResourceTypes to false, globally recorded IAM resource - * types will still be automatically recorded in this option unless those resource - * types are specifically listed as exclusions in the resourceTypes - * field of exclusionByResourceTypes.

                            Global - * resource types and the exclusion recording strategy

                            By default, if - * you choose the EXCLUSION_BY_RESOURCE_TYPES recording strategy, when - * Config adds support for a new resource type in the Region where you set up the + * includeGlobalResourceTypes to false, global IAM resource types will + * still be automatically recorded in this option unless those resource types are + * specifically listed as exclusions in the resourceTypes field of + * exclusionByResourceTypes.

                            Global resource + * types and the exclusion recording strategy

                            By default, if you choose + * the EXCLUSION_BY_RESOURCE_TYPES recording strategy, when Config + * adds support for a new resource type in the Region where you set up the * configuration recorder, including global resource types, Config starts recording - * resources of that type automatically.

                            In addition, unless specifically - * listed as exclusions, AWS::RDS::GlobalCluster will be recorded - * automatically in all supported Config Regions were the configuration recorder is - * enabled. IAM users, groups, roles, and customer managed policies will be - * recorded automatically in all enabled Config Regions where Config was available - * before February 2022. This list does not include the following Regions:

                              - *
                            • Asia Pacific (Hyderabad)

                            • Asia Pacific (Melbourne)

                              - *
                            • Europe (Spain)

                            • Europe (Zurich)

                            • - *

                              Israel (Tel Aviv)

                            • Middle East (UAE)

                            + * resources of that type automatically.

                            Unless specifically listed as + * exclusions, AWS::RDS::GlobalCluster will be recorded automatically + * in all supported Config Regions were the configuration recorder is enabled.

                            + *

                            IAM users, groups, roles, and customer managed policies will be recorded in + * the Region where you set up the configuration recorder if that is a Region where + * Config was available before February 2022. You cannot be record the global IAM + * resouce types in Regions supported by Config after February 2022. This list + * where you cannot record the global IAM resource types includes the following + * Regions:

                            • Asia Pacific (Hyderabad)

                            • Asia + * Pacific (Melbourne)

                            • Europe (Spain)

                            • Europe + * (Zurich)

                            • Israel (Tel Aviv)

                            • Middle East + * (UAE)

                            */ inline RecordingStrategy& WithUseOnly(const RecordingStrategyType& value) { SetUseOnly(value); return *this;} /** *

                            The recording strategy for the configuration recorder.

                            • If * you set this option to ALL_SUPPORTED_RESOURCE_TYPES, Config records - * configuration changes for all supported regionally recorded resource types. You - * also must set the allSupported field of allSupported field of RecordingGroup - * to true. When Config adds support for a new regionally recorded - * resource type, Config automatically starts recording resources of that type. For - * a list of supported resource types, see true. When Config adds support for a new resource type, Config + * automatically starts recording resources of that type. For a list of supported + * resource types, see Supported * Resource Types in the Config developer guide.

                            • If * you set this option to INCLUSION_BY_RESOURCE_TYPES, Config records @@ -348,23 +363,26 @@ namespace Model * EXCLUSION_BY_RESOURCE_TYPES for the recording strategy, the * exclusionByResourceTypes field will override other properties in * the request.

                              For example, even if you set - * includeGlobalResourceTypes to false, globally recorded IAM resource - * types will still be automatically recorded in this option unless those resource - * types are specifically listed as exclusions in the resourceTypes - * field of exclusionByResourceTypes.

                              Global - * resource types and the exclusion recording strategy

                              By default, if - * you choose the EXCLUSION_BY_RESOURCE_TYPES recording strategy, when - * Config adds support for a new resource type in the Region where you set up the + * includeGlobalResourceTypes to false, global IAM resource types will + * still be automatically recorded in this option unless those resource types are + * specifically listed as exclusions in the resourceTypes field of + * exclusionByResourceTypes.

                              Global resource + * types and the exclusion recording strategy

                              By default, if you choose + * the EXCLUSION_BY_RESOURCE_TYPES recording strategy, when Config + * adds support for a new resource type in the Region where you set up the * configuration recorder, including global resource types, Config starts recording - * resources of that type automatically.

                              In addition, unless specifically - * listed as exclusions, AWS::RDS::GlobalCluster will be recorded - * automatically in all supported Config Regions were the configuration recorder is - * enabled. IAM users, groups, roles, and customer managed policies will be - * recorded automatically in all enabled Config Regions where Config was available - * before February 2022. This list does not include the following Regions:

                                - *
                              • Asia Pacific (Hyderabad)

                              • Asia Pacific (Melbourne)

                                - *
                              • Europe (Spain)

                              • Europe (Zurich)

                              • - *

                                Israel (Tel Aviv)

                              • Middle East (UAE)

                              + * resources of that type automatically.

                              Unless specifically listed as + * exclusions, AWS::RDS::GlobalCluster will be recorded automatically + * in all supported Config Regions were the configuration recorder is enabled.

                              + *

                              IAM users, groups, roles, and customer managed policies will be recorded in + * the Region where you set up the configuration recorder if that is a Region where + * Config was available before February 2022. You cannot be record the global IAM + * resouce types in Regions supported by Config after February 2022. This list + * where you cannot record the global IAM resource types includes the following + * Regions:

                              • Asia Pacific (Hyderabad)

                              • Asia + * Pacific (Melbourne)

                              • Europe (Spain)

                              • Europe + * (Zurich)

                              • Israel (Tel Aviv)

                              • Middle East + * (UAE)

                              */ inline RecordingStrategy& WithUseOnly(RecordingStrategyType&& value) { SetUseOnly(std::move(value)); return *this;} diff --git a/generated/src/aws-cpp-sdk-config/source/model/BaseConfigurationItem.cpp b/generated/src/aws-cpp-sdk-config/source/model/BaseConfigurationItem.cpp index c0752aafb89..326111d27a6 100644 --- a/generated/src/aws-cpp-sdk-config/source/model/BaseConfigurationItem.cpp +++ b/generated/src/aws-cpp-sdk-config/source/model/BaseConfigurationItem.cpp @@ -34,7 +34,10 @@ BaseConfigurationItem::BaseConfigurationItem() : m_availabilityZoneHasBeenSet(false), m_resourceCreationTimeHasBeenSet(false), m_configurationHasBeenSet(false), - m_supplementaryConfigurationHasBeenSet(false) + m_supplementaryConfigurationHasBeenSet(false), + m_recordingFrequency(RecordingFrequency::NOT_SET), + m_recordingFrequencyHasBeenSet(false), + m_configurationItemDeliveryTimeHasBeenSet(false) { } @@ -54,7 +57,10 @@ BaseConfigurationItem::BaseConfigurationItem(JsonView jsonValue) : m_availabilityZoneHasBeenSet(false), m_resourceCreationTimeHasBeenSet(false), m_configurationHasBeenSet(false), - m_supplementaryConfigurationHasBeenSet(false) + m_supplementaryConfigurationHasBeenSet(false), + m_recordingFrequency(RecordingFrequency::NOT_SET), + m_recordingFrequencyHasBeenSet(false), + m_configurationItemDeliveryTimeHasBeenSet(false) { *this = jsonValue; } @@ -162,6 +168,20 @@ BaseConfigurationItem& BaseConfigurationItem::operator =(JsonView jsonValue) m_supplementaryConfigurationHasBeenSet = true; } + if(jsonValue.ValueExists("recordingFrequency")) + { + m_recordingFrequency = RecordingFrequencyMapper::GetRecordingFrequencyForName(jsonValue.GetString("recordingFrequency")); + + m_recordingFrequencyHasBeenSet = true; + } + + if(jsonValue.ValueExists("configurationItemDeliveryTime")) + { + m_configurationItemDeliveryTime = jsonValue.GetDouble("configurationItemDeliveryTime"); + + m_configurationItemDeliveryTimeHasBeenSet = true; + } + return *this; } @@ -254,6 +274,16 @@ JsonValue BaseConfigurationItem::Jsonize() const } + if(m_recordingFrequencyHasBeenSet) + { + payload.WithString("recordingFrequency", RecordingFrequencyMapper::GetNameForRecordingFrequency(m_recordingFrequency)); + } + + if(m_configurationItemDeliveryTimeHasBeenSet) + { + payload.WithDouble("configurationItemDeliveryTime", m_configurationItemDeliveryTime.SecondsWithMSPrecision()); + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-config/source/model/ConfigurationItem.cpp b/generated/src/aws-cpp-sdk-config/source/model/ConfigurationItem.cpp index 5a667c35256..136505ee963 100644 --- a/generated/src/aws-cpp-sdk-config/source/model/ConfigurationItem.cpp +++ b/generated/src/aws-cpp-sdk-config/source/model/ConfigurationItem.cpp @@ -38,7 +38,10 @@ ConfigurationItem::ConfigurationItem() : m_relatedEventsHasBeenSet(false), m_relationshipsHasBeenSet(false), m_configurationHasBeenSet(false), - m_supplementaryConfigurationHasBeenSet(false) + m_supplementaryConfigurationHasBeenSet(false), + m_recordingFrequency(RecordingFrequency::NOT_SET), + m_recordingFrequencyHasBeenSet(false), + m_configurationItemDeliveryTimeHasBeenSet(false) { } @@ -62,7 +65,10 @@ ConfigurationItem::ConfigurationItem(JsonView jsonValue) : m_relatedEventsHasBeenSet(false), m_relationshipsHasBeenSet(false), m_configurationHasBeenSet(false), - m_supplementaryConfigurationHasBeenSet(false) + m_supplementaryConfigurationHasBeenSet(false), + m_recordingFrequency(RecordingFrequency::NOT_SET), + m_recordingFrequencyHasBeenSet(false), + m_configurationItemDeliveryTimeHasBeenSet(false) { *this = jsonValue; } @@ -207,6 +213,20 @@ ConfigurationItem& ConfigurationItem::operator =(JsonView jsonValue) m_supplementaryConfigurationHasBeenSet = true; } + if(jsonValue.ValueExists("recordingFrequency")) + { + m_recordingFrequency = RecordingFrequencyMapper::GetRecordingFrequencyForName(jsonValue.GetString("recordingFrequency")); + + m_recordingFrequencyHasBeenSet = true; + } + + if(jsonValue.ValueExists("configurationItemDeliveryTime")) + { + m_configurationItemDeliveryTime = jsonValue.GetDouble("configurationItemDeliveryTime"); + + m_configurationItemDeliveryTimeHasBeenSet = true; + } + return *this; } @@ -338,6 +358,16 @@ JsonValue ConfigurationItem::Jsonize() const } + if(m_recordingFrequencyHasBeenSet) + { + payload.WithString("recordingFrequency", RecordingFrequencyMapper::GetNameForRecordingFrequency(m_recordingFrequency)); + } + + if(m_configurationItemDeliveryTimeHasBeenSet) + { + payload.WithDouble("configurationItemDeliveryTime", m_configurationItemDeliveryTime.SecondsWithMSPrecision()); + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-config/source/model/ConfigurationRecorder.cpp b/generated/src/aws-cpp-sdk-config/source/model/ConfigurationRecorder.cpp index c0e95f4f0fe..e168d2be21f 100644 --- a/generated/src/aws-cpp-sdk-config/source/model/ConfigurationRecorder.cpp +++ b/generated/src/aws-cpp-sdk-config/source/model/ConfigurationRecorder.cpp @@ -21,14 +21,16 @@ namespace Model ConfigurationRecorder::ConfigurationRecorder() : m_nameHasBeenSet(false), m_roleARNHasBeenSet(false), - m_recordingGroupHasBeenSet(false) + m_recordingGroupHasBeenSet(false), + m_recordingModeHasBeenSet(false) { } ConfigurationRecorder::ConfigurationRecorder(JsonView jsonValue) : m_nameHasBeenSet(false), m_roleARNHasBeenSet(false), - m_recordingGroupHasBeenSet(false) + m_recordingGroupHasBeenSet(false), + m_recordingModeHasBeenSet(false) { *this = jsonValue; } @@ -56,6 +58,13 @@ ConfigurationRecorder& ConfigurationRecorder::operator =(JsonView jsonValue) m_recordingGroupHasBeenSet = true; } + if(jsonValue.ValueExists("recordingMode")) + { + m_recordingMode = jsonValue.GetObject("recordingMode"); + + m_recordingModeHasBeenSet = true; + } + return *this; } @@ -81,6 +90,12 @@ JsonValue ConfigurationRecorder::Jsonize() const } + if(m_recordingModeHasBeenSet) + { + payload.WithObject("recordingMode", m_recordingMode.Jsonize()); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-config/source/model/RecordingFrequency.cpp b/generated/src/aws-cpp-sdk-config/source/model/RecordingFrequency.cpp new file mode 100644 index 00000000000..17d25059335 --- /dev/null +++ b/generated/src/aws-cpp-sdk-config/source/model/RecordingFrequency.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 ConfigService + { + namespace Model + { + namespace RecordingFrequencyMapper + { + + static const int CONTINUOUS_HASH = HashingUtils::HashString("CONTINUOUS"); + static const int DAILY_HASH = HashingUtils::HashString("DAILY"); + + + RecordingFrequency GetRecordingFrequencyForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == CONTINUOUS_HASH) + { + return RecordingFrequency::CONTINUOUS; + } + else if (hashCode == DAILY_HASH) + { + return RecordingFrequency::DAILY; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return RecordingFrequency::NOT_SET; + } + + Aws::String GetNameForRecordingFrequency(RecordingFrequency enumValue) + { + switch(enumValue) + { + case RecordingFrequency::NOT_SET: + return {}; + case RecordingFrequency::CONTINUOUS: + return "CONTINUOUS"; + case RecordingFrequency::DAILY: + return "DAILY"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace RecordingFrequencyMapper + } // namespace Model + } // namespace ConfigService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-config/source/model/RecordingMode.cpp b/generated/src/aws-cpp-sdk-config/source/model/RecordingMode.cpp new file mode 100644 index 00000000000..873969cae17 --- /dev/null +++ b/generated/src/aws-cpp-sdk-config/source/model/RecordingMode.cpp @@ -0,0 +1,83 @@ +/** + * 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 ConfigService +{ +namespace Model +{ + +RecordingMode::RecordingMode() : + m_recordingFrequency(RecordingFrequency::NOT_SET), + m_recordingFrequencyHasBeenSet(false), + m_recordingModeOverridesHasBeenSet(false) +{ +} + +RecordingMode::RecordingMode(JsonView jsonValue) : + m_recordingFrequency(RecordingFrequency::NOT_SET), + m_recordingFrequencyHasBeenSet(false), + m_recordingModeOverridesHasBeenSet(false) +{ + *this = jsonValue; +} + +RecordingMode& RecordingMode::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("recordingFrequency")) + { + m_recordingFrequency = RecordingFrequencyMapper::GetRecordingFrequencyForName(jsonValue.GetString("recordingFrequency")); + + m_recordingFrequencyHasBeenSet = true; + } + + if(jsonValue.ValueExists("recordingModeOverrides")) + { + Aws::Utils::Array recordingModeOverridesJsonList = jsonValue.GetArray("recordingModeOverrides"); + for(unsigned recordingModeOverridesIndex = 0; recordingModeOverridesIndex < recordingModeOverridesJsonList.GetLength(); ++recordingModeOverridesIndex) + { + m_recordingModeOverrides.push_back(recordingModeOverridesJsonList[recordingModeOverridesIndex].AsObject()); + } + m_recordingModeOverridesHasBeenSet = true; + } + + return *this; +} + +JsonValue RecordingMode::Jsonize() const +{ + JsonValue payload; + + if(m_recordingFrequencyHasBeenSet) + { + payload.WithString("recordingFrequency", RecordingFrequencyMapper::GetNameForRecordingFrequency(m_recordingFrequency)); + } + + if(m_recordingModeOverridesHasBeenSet) + { + Aws::Utils::Array recordingModeOverridesJsonList(m_recordingModeOverrides.size()); + for(unsigned recordingModeOverridesIndex = 0; recordingModeOverridesIndex < recordingModeOverridesJsonList.GetLength(); ++recordingModeOverridesIndex) + { + recordingModeOverridesJsonList[recordingModeOverridesIndex].AsObject(m_recordingModeOverrides[recordingModeOverridesIndex].Jsonize()); + } + payload.WithArray("recordingModeOverrides", std::move(recordingModeOverridesJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace ConfigService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-config/source/model/RecordingModeOverride.cpp b/generated/src/aws-cpp-sdk-config/source/model/RecordingModeOverride.cpp new file mode 100644 index 00000000000..1e0074e76ce --- /dev/null +++ b/generated/src/aws-cpp-sdk-config/source/model/RecordingModeOverride.cpp @@ -0,0 +1,98 @@ +/** + * 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 ConfigService +{ +namespace Model +{ + +RecordingModeOverride::RecordingModeOverride() : + m_descriptionHasBeenSet(false), + m_resourceTypesHasBeenSet(false), + m_recordingFrequency(RecordingFrequency::NOT_SET), + m_recordingFrequencyHasBeenSet(false) +{ +} + +RecordingModeOverride::RecordingModeOverride(JsonView jsonValue) : + m_descriptionHasBeenSet(false), + m_resourceTypesHasBeenSet(false), + m_recordingFrequency(RecordingFrequency::NOT_SET), + m_recordingFrequencyHasBeenSet(false) +{ + *this = jsonValue; +} + +RecordingModeOverride& RecordingModeOverride::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("description")) + { + m_description = jsonValue.GetString("description"); + + m_descriptionHasBeenSet = true; + } + + if(jsonValue.ValueExists("resourceTypes")) + { + Aws::Utils::Array resourceTypesJsonList = jsonValue.GetArray("resourceTypes"); + for(unsigned resourceTypesIndex = 0; resourceTypesIndex < resourceTypesJsonList.GetLength(); ++resourceTypesIndex) + { + m_resourceTypes.push_back(ResourceTypeMapper::GetResourceTypeForName(resourceTypesJsonList[resourceTypesIndex].AsString())); + } + m_resourceTypesHasBeenSet = true; + } + + if(jsonValue.ValueExists("recordingFrequency")) + { + m_recordingFrequency = RecordingFrequencyMapper::GetRecordingFrequencyForName(jsonValue.GetString("recordingFrequency")); + + m_recordingFrequencyHasBeenSet = true; + } + + return *this; +} + +JsonValue RecordingModeOverride::Jsonize() const +{ + JsonValue payload; + + if(m_descriptionHasBeenSet) + { + payload.WithString("description", m_description); + + } + + if(m_resourceTypesHasBeenSet) + { + Aws::Utils::Array resourceTypesJsonList(m_resourceTypes.size()); + for(unsigned resourceTypesIndex = 0; resourceTypesIndex < resourceTypesJsonList.GetLength(); ++resourceTypesIndex) + { + resourceTypesJsonList[resourceTypesIndex].AsString(ResourceTypeMapper::GetNameForResourceType(m_resourceTypes[resourceTypesIndex])); + } + payload.WithArray("resourceTypes", std::move(resourceTypesJsonList)); + + } + + if(m_recordingFrequencyHasBeenSet) + { + payload.WithString("recordingFrequency", RecordingFrequencyMapper::GetNameForRecordingFrequency(m_recordingFrequency)); + } + + return payload; +} + +} // namespace Model +} // namespace ConfigService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/ControlTowerClient.h b/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/ControlTowerClient.h index c0ce520b019..a1f1ff5d510 100644 --- a/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/ControlTowerClient.h +++ b/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/ControlTowerClient.h @@ -16,38 +16,40 @@ namespace Aws namespace ControlTower { /** - *

                              These interfaces allow you to apply the AWS library of pre-defined - * controls to your organizational units, programmatically. In AWS Control - * Tower, the terms "control" and "guardrail" are synonyms.

                              To call these - * APIs, you'll need to know:

                              • the controlIdentifier - * for the control--or guardrail--you are targeting.

                              • the ARN - * associated with the target organizational unit (OU), which we call the - * targetIdentifier.

                              • the ARN associated with a - * resource that you wish to tag or untag.

                              To get the - * controlIdentifier for your AWS Control Tower control:

                              - *

                              The controlIdentifier is an ARN that is specified for each - * control. You can view the controlIdentifier in the console on the - * Control details page, as well as in the documentation.

                              The - * controlIdentifier is unique in each AWS Region for each control. - * You can find the controlIdentifier for each Region and control in - * the These interfaces allow you to apply the Amazon Web Services library of + * pre-defined controls to your organizational units, programmatically. In + * Amazon Web Services Control Tower, the terms "control" and "guardrail" are + * synonyms.

                              To call these APIs, you'll need to know:

                              • the + * controlIdentifier for the control--or guardrail--you are + * targeting.

                              • the ARN associated with the target organizational + * unit (OU), which we call the targetIdentifier.

                              • + *

                                the ARN associated with a resource that you wish to tag or untag.

                              • + *

                              To get the controlIdentifier for your AWS Control + * Tower control:

                              The controlIdentifier is an ARN that is + * specified for each control. You can view the controlIdentifier in + * the console on the Control details page, as well as in the + * documentation.

                              The controlIdentifier is unique in each + * Amazon Web Services Region for each control. You can find the + * controlIdentifier for each Region and control in the Tables - * of control metadata in the AWS Control Tower User Guide.

                              A - * quick-reference list of control identifers for the AWS Control Tower legacy - * Strongly recommended and Elective controls is given in in the Amazon Web Services Control Tower User + * Guide.

                              A quick-reference list of control identifers for the Amazon + * Web Services Control Tower legacy Strongly recommended and + * Elective controls is given in Resource * identifiers for APIs and controls in the Controls - * reference guide section of the AWS Control Tower User Guide. Remember - * that Mandatory controls cannot be added or removed.

                              ARN - * format: arn:aws:controltower:{REGION}::control/{CONTROL_NAME} - *

                              Example:

                              + * reference guide section of the Amazon Web Services Control Tower User + * Guide. Remember that Mandatory controls cannot be added or + * removed.

                              ARN format: + * arn:aws:controltower:{REGION}::control/{CONTROL_NAME}

                              + * Example:

                              * arn:aws:controltower:us-west-2::control/AWS-GR_AUTOSCALING_LAUNCH_CONFIG_PUBLIC_IP_DISABLED *

                              To get the targetIdentifier:

                              The - * targetIdentifier is the ARN for an OU.

                              In the AWS - * Organizations console, you can find the ARN for the OU on the Organizational - * unit details page associated with that OU.

                              OU ARN - * format:

                              + * targetIdentifier is the ARN for an OU.

                              In the Amazon Web + * Services Organizations console, you can find the ARN for the OU on the + * Organizational unit details page associated with that OU.

                              + * OU ARN format:

                              * arn:${Partition}:organizations::${MasterAccountId}:ou/o-${OrganizationId}/ou-${OrganizationalUnitId} *

                              Details and examples

                              To - * view the open source resource repository on GitHub, see

                            To view the open source resource + * repository on GitHub, see aws-cloudformation/aws-cloudformation-resource-providers-controltower - *

                            Recording API Requests

                            AWS Control Tower supports AWS - * CloudTrail, a service that records AWS API calls for your AWS account and - * delivers log files to an Amazon S3 bucket. By using information collected by - * CloudTrail, you can determine which requests the AWS Control Tower service - * received, who made the request and when, and so on. For more about AWS Control - * Tower and its support for CloudTrail, see

                            Recording API Requests

                            Amazon Web Services Control Tower + * supports Amazon Web Services CloudTrail, a service that records Amazon Web + * Services API calls for your Amazon Web Services account and delivers log files + * to an Amazon S3 bucket. By using information collected by CloudTrail, you can + * determine which requests the Amazon Web Services Control Tower service received, + * who made the request and when, and so on. For more about Amazon Web Services + * Control Tower and its support for CloudTrail, see Logging - * AWS Control Tower Actions with AWS CloudTrail in the AWS Control Tower User - * Guide. To learn more about CloudTrail, including how to turn it on and find your - * log files, see the AWS CloudTrail User Guide.

                            + * Amazon Web Services Control Tower Actions with Amazon Web Services + * CloudTrail in the Amazon Web Services Control Tower User Guide. To learn + * more about CloudTrail, including how to turn it on and find your log files, see + * the Amazon Web Services CloudTrail User Guide.

                            */ class AWS_CONTROLTOWER_API ControlTowerClient : public Aws::Client::AWSJsonClient, public Aws::Client::ClientWithAsyncTemplateMethods { @@ -135,13 +140,68 @@ namespace ControlTower /* End of legacy constructors due deprecation */ virtual ~ControlTowerClient(); + /** + *

                            Creates a new landing zone. This starts an asynchronous operation that + * creates and configures a landing zone based on the parameters specified in the + * manifest JSON file.

                            See Also:

                            AWS + * API Reference

                            + */ + virtual Model::CreateLandingZoneOutcome CreateLandingZone(const Model::CreateLandingZoneRequest& request) const; + + /** + * A Callable wrapper for CreateLandingZone that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::CreateLandingZoneOutcomeCallable CreateLandingZoneCallable(const CreateLandingZoneRequestT& request) const + { + return SubmitCallable(&ControlTowerClient::CreateLandingZone, request); + } + + /** + * An Async wrapper for CreateLandingZone that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void CreateLandingZoneAsync(const CreateLandingZoneRequestT& request, const CreateLandingZoneResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&ControlTowerClient::CreateLandingZone, request, handler, context); + } + + /** + *

                            This decommissions a landing zone. This starts an asynchronous operation that + * deletes Amazon Web Services Control Tower resources deployed in Amazon Web + * Services Control Tower managed accounts.

                            See Also:

                            AWS + * API Reference

                            + */ + virtual Model::DeleteLandingZoneOutcome DeleteLandingZone(const Model::DeleteLandingZoneRequest& request) const; + + /** + * A Callable wrapper for DeleteLandingZone that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DeleteLandingZoneOutcomeCallable DeleteLandingZoneCallable(const DeleteLandingZoneRequestT& request) const + { + return SubmitCallable(&ControlTowerClient::DeleteLandingZone, request); + } + + /** + * An Async wrapper for DeleteLandingZone that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DeleteLandingZoneAsync(const DeleteLandingZoneRequestT& request, const DeleteLandingZoneResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&ControlTowerClient::DeleteLandingZone, request, handler, context); + } + /** *

                            This API call turns off a control. It starts an asynchronous operation that - * deletes AWS resources on the specified organizational unit and the accounts it - * contains. The resources will vary according to the control that you specify. For - * usage examples, see - * the AWS Control Tower User Guide .

                            See Also:

                            the Amazon Web Services Control Tower User Guide .

                            See + * Also:

                            AWS * API Reference

                            */ @@ -167,11 +227,12 @@ namespace ControlTower /** *

                            This API call activates a control. It starts an asynchronous operation that - * creates AWS resources on the specified organizational unit and the accounts it - * contains. The resources created will vary according to the control that you - * specify. For usage examples, see - * the AWS Control Tower User Guide .

                            See Also:

                            the Amazon Web Services Control Tower User Guide .

                            See + * Also:

                            AWS * API Reference

                            */ @@ -200,7 +261,8 @@ namespace ControlTower * DisableControl operation. Displays a message in case of error. * Details for an operation are available for 90 days. For usage examples, see - * the AWS Control Tower User Guide .

                            See Also:

                            the Amazon Web Services Control Tower User Guide .

                            See + * Also:

                            AWS * API Reference

                            */ @@ -227,7 +289,8 @@ namespace ControlTower /** *

                            Retrieves details about an enabled control. For usage examples, see - * the AWS Control Tower User Guide .

                            See Also:

                            the Amazon Web Services Control Tower User Guide
                            .

                            See + * Also:

                            AWS * API Reference

                            */ @@ -252,10 +315,64 @@ namespace ControlTower } /** - *

                            Lists the controls enabled by AWS Control Tower on the specified - * organizational unit and the accounts it contains. For usage examples, see Returns details about the landing zone. Displays a message in case of error. + *

                            See Also:

                            AWS + * API Reference

                            + */ + virtual Model::GetLandingZoneOutcome GetLandingZone(const Model::GetLandingZoneRequest& request) const; + + /** + * A Callable wrapper for GetLandingZone that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetLandingZoneOutcomeCallable GetLandingZoneCallable(const GetLandingZoneRequestT& request) const + { + return SubmitCallable(&ControlTowerClient::GetLandingZone, request); + } + + /** + * An Async wrapper for GetLandingZone that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetLandingZoneAsync(const GetLandingZoneRequestT& request, const GetLandingZoneResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&ControlTowerClient::GetLandingZone, request, handler, context); + } + + /** + *

                            Returns the status of the specified landing zone operation. Details for an + * operation are available for X days.

                            See Also:

                            AWS + * API Reference

                            + */ + virtual Model::GetLandingZoneOperationOutcome GetLandingZoneOperation(const Model::GetLandingZoneOperationRequest& request) const; + + /** + * A Callable wrapper for GetLandingZoneOperation that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetLandingZoneOperationOutcomeCallable GetLandingZoneOperationCallable(const GetLandingZoneOperationRequestT& request) const + { + return SubmitCallable(&ControlTowerClient::GetLandingZoneOperation, request); + } + + /** + * An Async wrapper for GetLandingZoneOperation that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetLandingZoneOperationAsync(const GetLandingZoneOperationRequestT& request, const GetLandingZoneOperationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&ControlTowerClient::GetLandingZoneOperation, request, handler, context); + } + + /** + *

                            Lists the controls enabled by Amazon Web Services Control Tower on the + * specified organizational unit and the accounts it contains. For usage examples, + * see - * the AWS Control Tower User Guide .

                            See Also:

                            the Amazon Web Services Control Tower User Guide
                            .

                            See + * Also:

                            AWS * API Reference

                            */ @@ -279,11 +396,40 @@ namespace ControlTower return SubmitAsync(&ControlTowerClient::ListEnabledControls, request, handler, context); } + /** + *

                            Returns the landing zone ARN for the landing zone deployed in your managed + * account. This API also creates an ARN for existing accounts that do not yet have + * a landing zone ARN.

                            The return limit is one landing zone ARN. + *

                            See Also:

                            AWS + * API Reference

                            + */ + virtual Model::ListLandingZonesOutcome ListLandingZones(const Model::ListLandingZonesRequest& request) const; + + /** + * A Callable wrapper for ListLandingZones that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListLandingZonesOutcomeCallable ListLandingZonesCallable(const ListLandingZonesRequestT& request) const + { + return SubmitCallable(&ControlTowerClient::ListLandingZones, request); + } + + /** + * An Async wrapper for ListLandingZones that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListLandingZonesAsync(const ListLandingZonesRequestT& request, const ListLandingZonesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&ControlTowerClient::ListLandingZones, request, handler, context); + } + /** *

                            Returns a list of tags associated with the resource. For usage examples, see * - * the AWS Control Tower User Guide .

                            See Also:

                            the Amazon Web Services Control Tower User Guide .

                            See + * Also:

                            AWS * API Reference

                            */ @@ -307,10 +453,38 @@ namespace ControlTower return SubmitAsync(&ControlTowerClient::ListTagsForResource, request, handler, context); } + /** + *

                            This API call resets a landing zone. It starts an asynchronous operation that + * resets the landing zone to the parameters specified in its original + * configuration.

                            See Also:

                            AWS + * API Reference

                            + */ + virtual Model::ResetLandingZoneOutcome ResetLandingZone(const Model::ResetLandingZoneRequest& request) const; + + /** + * A Callable wrapper for ResetLandingZone that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ResetLandingZoneOutcomeCallable ResetLandingZoneCallable(const ResetLandingZoneRequestT& request) const + { + return SubmitCallable(&ControlTowerClient::ResetLandingZone, request); + } + + /** + * An Async wrapper for ResetLandingZone that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ResetLandingZoneAsync(const ResetLandingZoneRequestT& request, const ResetLandingZoneResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&ControlTowerClient::ResetLandingZone, request, handler, context); + } + /** *

                            Applies tags to a resource. For usage examples, see - * the AWS Control Tower User Guide .

                            See Also:

                            the Amazon Web Services Control Tower User Guide .

                            See + * Also:

                            AWS * API Reference

                            */ @@ -337,7 +511,8 @@ namespace ControlTower /** *

                            Removes tags from a resource. For usage examples, see - * the AWS Control Tower User Guide .

                            See Also:

                            the Amazon Web Services Control Tower User Guide .

                            See + * Also:

                            AWS * API Reference

                            */ @@ -361,6 +536,34 @@ namespace ControlTower return SubmitAsync(&ControlTowerClient::UntagResource, request, handler, context); } + /** + *

                            This API call updates the landing zone. It starts an asynchronous operation + * that updates the landing zone based on the new landing zone version or the + * updated parameters specified in the updated manifest file.

                            See + * Also:

                            AWS + * API Reference

                            + */ + virtual Model::UpdateLandingZoneOutcome UpdateLandingZone(const Model::UpdateLandingZoneRequest& request) const; + + /** + * A Callable wrapper for UpdateLandingZone that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::UpdateLandingZoneOutcomeCallable UpdateLandingZoneCallable(const UpdateLandingZoneRequestT& request) const + { + return SubmitCallable(&ControlTowerClient::UpdateLandingZone, request); + } + + /** + * An Async wrapper for UpdateLandingZone that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void UpdateLandingZoneAsync(const UpdateLandingZoneRequestT& request, const UpdateLandingZoneResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&ControlTowerClient::UpdateLandingZone, request, handler, context); + } + void OverrideEndpoint(const Aws::String& endpoint); std::shared_ptr& accessEndpointProvider(); diff --git a/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/ControlTowerServiceClientModel.h b/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/ControlTowerServiceClientModel.h index 882d73a05cd..6abe932523c 100644 --- a/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/ControlTowerServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/ControlTowerServiceClientModel.h @@ -18,14 +18,21 @@ /* End of generic header includes */ /* Service model headers required in ControlTowerClient header */ +#include +#include #include #include #include #include +#include +#include #include +#include #include +#include #include #include +#include /* End of service model headers required in ControlTowerClient header */ namespace Aws @@ -66,50 +73,78 @@ namespace Aws namespace Model { /* Service model forward declarations required in ControlTowerClient header */ + class CreateLandingZoneRequest; + class DeleteLandingZoneRequest; class DisableControlRequest; class EnableControlRequest; class GetControlOperationRequest; class GetEnabledControlRequest; + class GetLandingZoneRequest; + class GetLandingZoneOperationRequest; class ListEnabledControlsRequest; + class ListLandingZonesRequest; class ListTagsForResourceRequest; + class ResetLandingZoneRequest; class TagResourceRequest; class UntagResourceRequest; + class UpdateLandingZoneRequest; /* End of service model forward declarations required in ControlTowerClient header */ /* Service model Outcome class definitions */ + typedef Aws::Utils::Outcome CreateLandingZoneOutcome; + typedef Aws::Utils::Outcome DeleteLandingZoneOutcome; typedef Aws::Utils::Outcome DisableControlOutcome; typedef Aws::Utils::Outcome EnableControlOutcome; typedef Aws::Utils::Outcome GetControlOperationOutcome; typedef Aws::Utils::Outcome GetEnabledControlOutcome; + typedef Aws::Utils::Outcome GetLandingZoneOutcome; + typedef Aws::Utils::Outcome GetLandingZoneOperationOutcome; typedef Aws::Utils::Outcome ListEnabledControlsOutcome; + typedef Aws::Utils::Outcome ListLandingZonesOutcome; typedef Aws::Utils::Outcome ListTagsForResourceOutcome; + typedef Aws::Utils::Outcome ResetLandingZoneOutcome; typedef Aws::Utils::Outcome TagResourceOutcome; typedef Aws::Utils::Outcome UntagResourceOutcome; + typedef Aws::Utils::Outcome UpdateLandingZoneOutcome; /* End of service model Outcome class definitions */ /* Service model Outcome callable definitions */ + typedef std::future CreateLandingZoneOutcomeCallable; + typedef std::future DeleteLandingZoneOutcomeCallable; typedef std::future DisableControlOutcomeCallable; typedef std::future EnableControlOutcomeCallable; typedef std::future GetControlOperationOutcomeCallable; typedef std::future GetEnabledControlOutcomeCallable; + typedef std::future GetLandingZoneOutcomeCallable; + typedef std::future GetLandingZoneOperationOutcomeCallable; typedef std::future ListEnabledControlsOutcomeCallable; + typedef std::future ListLandingZonesOutcomeCallable; typedef std::future ListTagsForResourceOutcomeCallable; + typedef std::future ResetLandingZoneOutcomeCallable; typedef std::future TagResourceOutcomeCallable; typedef std::future UntagResourceOutcomeCallable; + typedef std::future UpdateLandingZoneOutcomeCallable; /* End of service model Outcome callable definitions */ } // namespace Model class ControlTowerClient; /* Service model async handlers definitions */ + typedef std::function&) > CreateLandingZoneResponseReceivedHandler; + typedef std::function&) > DeleteLandingZoneResponseReceivedHandler; typedef std::function&) > DisableControlResponseReceivedHandler; typedef std::function&) > EnableControlResponseReceivedHandler; typedef std::function&) > GetControlOperationResponseReceivedHandler; typedef std::function&) > GetEnabledControlResponseReceivedHandler; + typedef std::function&) > GetLandingZoneResponseReceivedHandler; + typedef std::function&) > GetLandingZoneOperationResponseReceivedHandler; typedef std::function&) > ListEnabledControlsResponseReceivedHandler; + typedef std::function&) > ListLandingZonesResponseReceivedHandler; typedef std::function&) > ListTagsForResourceResponseReceivedHandler; + typedef std::function&) > ResetLandingZoneResponseReceivedHandler; typedef std::function&) > TagResourceResponseReceivedHandler; typedef std::function&) > UntagResourceResponseReceivedHandler; + typedef std::function&) > UpdateLandingZoneResponseReceivedHandler; /* End of service model async handlers definitions */ } // namespace ControlTower } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/CreateLandingZoneRequest.h b/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/CreateLandingZoneRequest.h new file mode 100644 index 00000000000..7a5657f2a82 --- /dev/null +++ b/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/CreateLandingZoneRequest.h @@ -0,0 +1,206 @@ +/** + * 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 ControlTower +{ +namespace Model +{ + + /** + */ + class CreateLandingZoneRequest : public ControlTowerRequest + { + public: + AWS_CONTROLTOWER_API CreateLandingZoneRequest(); + + // 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 "CreateLandingZone"; } + + AWS_CONTROLTOWER_API Aws::String SerializePayload() const override; + + + /** + *

                            The manifest.yaml file is a text file that describes your Amazon Web Services + * resources. For examples, review The + * manifest file.

                            + */ + inline Aws::Utils::DocumentView GetManifest() const{ return m_manifest; } + + /** + *

                            The manifest.yaml file is a text file that describes your Amazon Web Services + * resources. For examples, review The + * manifest file.

                            + */ + inline bool ManifestHasBeenSet() const { return m_manifestHasBeenSet; } + + /** + *

                            The manifest.yaml file is a text file that describes your Amazon Web Services + * resources. For examples, review The + * manifest file.

                            + */ + inline void SetManifest(const Aws::Utils::Document& value) { m_manifestHasBeenSet = true; m_manifest = value; } + + /** + *

                            The manifest.yaml file is a text file that describes your Amazon Web Services + * resources. For examples, review The + * manifest file.

                            + */ + inline void SetManifest(Aws::Utils::Document&& value) { m_manifestHasBeenSet = true; m_manifest = std::move(value); } + + /** + *

                            The manifest.yaml file is a text file that describes your Amazon Web Services + * resources. For examples, review The + * manifest file.

                            + */ + inline CreateLandingZoneRequest& WithManifest(const Aws::Utils::Document& value) { SetManifest(value); return *this;} + + /** + *

                            The manifest.yaml file is a text file that describes your Amazon Web Services + * resources. For examples, review The + * manifest file.

                            + */ + inline CreateLandingZoneRequest& WithManifest(Aws::Utils::Document&& value) { SetManifest(std::move(value)); return *this;} + + + /** + *

                            Tags to be applied to the landing zone.

                            + */ + inline const Aws::Map& GetTags() const{ return m_tags; } + + /** + *

                            Tags to be applied to the landing zone.

                            + */ + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + + /** + *

                            Tags to be applied to the landing zone.

                            + */ + inline void SetTags(const Aws::Map& value) { m_tagsHasBeenSet = true; m_tags = value; } + + /** + *

                            Tags to be applied to the landing zone.

                            + */ + inline void SetTags(Aws::Map&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } + + /** + *

                            Tags to be applied to the landing zone.

                            + */ + inline CreateLandingZoneRequest& WithTags(const Aws::Map& value) { SetTags(value); return *this;} + + /** + *

                            Tags to be applied to the landing zone.

                            + */ + inline CreateLandingZoneRequest& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} + + /** + *

                            Tags to be applied to the landing zone.

                            + */ + inline CreateLandingZoneRequest& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } + + /** + *

                            Tags to be applied to the landing zone.

                            + */ + inline CreateLandingZoneRequest& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } + + /** + *

                            Tags to be applied to the landing zone.

                            + */ + inline CreateLandingZoneRequest& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } + + /** + *

                            Tags to be applied to the landing zone.

                            + */ + inline CreateLandingZoneRequest& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } + + /** + *

                            Tags to be applied to the landing zone.

                            + */ + inline CreateLandingZoneRequest& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } + + /** + *

                            Tags to be applied to the landing zone.

                            + */ + inline CreateLandingZoneRequest& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } + + /** + *

                            Tags to be applied to the landing zone.

                            + */ + inline CreateLandingZoneRequest& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } + + + /** + *

                            The landing zone version.

                            + */ + inline const Aws::String& GetVersion() const{ return m_version; } + + /** + *

                            The landing zone version.

                            + */ + inline bool VersionHasBeenSet() const { return m_versionHasBeenSet; } + + /** + *

                            The landing zone version.

                            + */ + inline void SetVersion(const Aws::String& value) { m_versionHasBeenSet = true; m_version = value; } + + /** + *

                            The landing zone version.

                            + */ + inline void SetVersion(Aws::String&& value) { m_versionHasBeenSet = true; m_version = std::move(value); } + + /** + *

                            The landing zone version.

                            + */ + inline void SetVersion(const char* value) { m_versionHasBeenSet = true; m_version.assign(value); } + + /** + *

                            The landing zone version.

                            + */ + inline CreateLandingZoneRequest& WithVersion(const Aws::String& value) { SetVersion(value); return *this;} + + /** + *

                            The landing zone version.

                            + */ + inline CreateLandingZoneRequest& WithVersion(Aws::String&& value) { SetVersion(std::move(value)); return *this;} + + /** + *

                            The landing zone version.

                            + */ + inline CreateLandingZoneRequest& WithVersion(const char* value) { SetVersion(value); return *this;} + + private: + + Aws::Utils::Document m_manifest; + bool m_manifestHasBeenSet = false; + + Aws::Map m_tags; + bool m_tagsHasBeenSet = false; + + Aws::String m_version; + bool m_versionHasBeenSet = false; + }; + +} // namespace Model +} // namespace ControlTower +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/CreateLandingZoneResult.h b/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/CreateLandingZoneResult.h new file mode 100644 index 00000000000..26077170af7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/CreateLandingZoneResult.h @@ -0,0 +1,153 @@ +/** + * 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 ControlTower +{ +namespace Model +{ + class CreateLandingZoneResult + { + public: + AWS_CONTROLTOWER_API CreateLandingZoneResult(); + AWS_CONTROLTOWER_API CreateLandingZoneResult(const Aws::AmazonWebServiceResult& result); + AWS_CONTROLTOWER_API CreateLandingZoneResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

                            The ARN of the landing zone.

                            + */ + inline const Aws::String& GetArn() const{ return m_arn; } + + /** + *

                            The ARN of the landing zone.

                            + */ + inline void SetArn(const Aws::String& value) { m_arn = value; } + + /** + *

                            The ARN of the landing zone.

                            + */ + inline void SetArn(Aws::String&& value) { m_arn = std::move(value); } + + /** + *

                            The ARN of the landing zone.

                            + */ + inline void SetArn(const char* value) { m_arn.assign(value); } + + /** + *

                            The ARN of the landing zone.

                            + */ + inline CreateLandingZoneResult& WithArn(const Aws::String& value) { SetArn(value); return *this;} + + /** + *

                            The ARN of the landing zone.

                            + */ + inline CreateLandingZoneResult& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} + + /** + *

                            The ARN of the landing zone.

                            + */ + inline CreateLandingZoneResult& WithArn(const char* value) { SetArn(value); return *this;} + + + /** + *

                            A unique identifier assigned to a CreateLandingZone operation. + * You can use this identifier as an input of GetLandingZoneOperation + * to check the operation's status.

                            + */ + inline const Aws::String& GetOperationIdentifier() const{ return m_operationIdentifier; } + + /** + *

                            A unique identifier assigned to a CreateLandingZone operation. + * You can use this identifier as an input of GetLandingZoneOperation + * to check the operation's status.

                            + */ + inline void SetOperationIdentifier(const Aws::String& value) { m_operationIdentifier = value; } + + /** + *

                            A unique identifier assigned to a CreateLandingZone operation. + * You can use this identifier as an input of GetLandingZoneOperation + * to check the operation's status.

                            + */ + inline void SetOperationIdentifier(Aws::String&& value) { m_operationIdentifier = std::move(value); } + + /** + *

                            A unique identifier assigned to a CreateLandingZone operation. + * You can use this identifier as an input of GetLandingZoneOperation + * to check the operation's status.

                            + */ + inline void SetOperationIdentifier(const char* value) { m_operationIdentifier.assign(value); } + + /** + *

                            A unique identifier assigned to a CreateLandingZone operation. + * You can use this identifier as an input of GetLandingZoneOperation + * to check the operation's status.

                            + */ + inline CreateLandingZoneResult& WithOperationIdentifier(const Aws::String& value) { SetOperationIdentifier(value); return *this;} + + /** + *

                            A unique identifier assigned to a CreateLandingZone operation. + * You can use this identifier as an input of GetLandingZoneOperation + * to check the operation's status.

                            + */ + inline CreateLandingZoneResult& WithOperationIdentifier(Aws::String&& value) { SetOperationIdentifier(std::move(value)); return *this;} + + /** + *

                            A unique identifier assigned to a CreateLandingZone operation. + * You can use this identifier as an input of GetLandingZoneOperation + * to check the operation's status.

                            + */ + inline CreateLandingZoneResult& WithOperationIdentifier(const char* value) { SetOperationIdentifier(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 CreateLandingZoneResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline CreateLandingZoneResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline CreateLandingZoneResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::String m_arn; + + Aws::String m_operationIdentifier; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace ControlTower +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/DeleteLandingZoneRequest.h b/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/DeleteLandingZoneRequest.h new file mode 100644 index 00000000000..f7c48cb3ab5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/DeleteLandingZoneRequest.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 +#include + +namespace Aws +{ +namespace ControlTower +{ +namespace Model +{ + + /** + */ + class DeleteLandingZoneRequest : public ControlTowerRequest + { + public: + AWS_CONTROLTOWER_API DeleteLandingZoneRequest(); + + // 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 "DeleteLandingZone"; } + + AWS_CONTROLTOWER_API Aws::String SerializePayload() const override; + + + /** + *

                            The unique identifier of the landing zone.

                            + */ + inline const Aws::String& GetLandingZoneIdentifier() const{ return m_landingZoneIdentifier; } + + /** + *

                            The unique identifier of the landing zone.

                            + */ + inline bool LandingZoneIdentifierHasBeenSet() const { return m_landingZoneIdentifierHasBeenSet; } + + /** + *

                            The unique identifier of the landing zone.

                            + */ + inline void SetLandingZoneIdentifier(const Aws::String& value) { m_landingZoneIdentifierHasBeenSet = true; m_landingZoneIdentifier = value; } + + /** + *

                            The unique identifier of the landing zone.

                            + */ + inline void SetLandingZoneIdentifier(Aws::String&& value) { m_landingZoneIdentifierHasBeenSet = true; m_landingZoneIdentifier = std::move(value); } + + /** + *

                            The unique identifier of the landing zone.

                            + */ + inline void SetLandingZoneIdentifier(const char* value) { m_landingZoneIdentifierHasBeenSet = true; m_landingZoneIdentifier.assign(value); } + + /** + *

                            The unique identifier of the landing zone.

                            + */ + inline DeleteLandingZoneRequest& WithLandingZoneIdentifier(const Aws::String& value) { SetLandingZoneIdentifier(value); return *this;} + + /** + *

                            The unique identifier of the landing zone.

                            + */ + inline DeleteLandingZoneRequest& WithLandingZoneIdentifier(Aws::String&& value) { SetLandingZoneIdentifier(std::move(value)); return *this;} + + /** + *

                            The unique identifier of the landing zone.

                            + */ + inline DeleteLandingZoneRequest& WithLandingZoneIdentifier(const char* value) { SetLandingZoneIdentifier(value); return *this;} + + private: + + Aws::String m_landingZoneIdentifier; + bool m_landingZoneIdentifierHasBeenSet = false; + }; + +} // namespace Model +} // namespace ControlTower +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/DeleteLandingZoneResult.h b/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/DeleteLandingZoneResult.h new file mode 100644 index 00000000000..3ff253ca84b --- /dev/null +++ b/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/DeleteLandingZoneResult.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 + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace ControlTower +{ +namespace Model +{ + class DeleteLandingZoneResult + { + public: + AWS_CONTROLTOWER_API DeleteLandingZoneResult(); + AWS_CONTROLTOWER_API DeleteLandingZoneResult(const Aws::AmazonWebServiceResult& result); + AWS_CONTROLTOWER_API DeleteLandingZoneResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

                            A unique identifier assigned to a DeleteLandingZone operation. + * You can use this identifier as an input of GetLandingZoneOperation + * to check the operation's status.

                            + */ + inline const Aws::String& GetOperationIdentifier() const{ return m_operationIdentifier; } + + /** + *

                            A unique identifier assigned to a DeleteLandingZone operation. + * You can use this identifier as an input of GetLandingZoneOperation + * to check the operation's status.

                            + */ + inline void SetOperationIdentifier(const Aws::String& value) { m_operationIdentifier = value; } + + /** + *

                            A unique identifier assigned to a DeleteLandingZone operation. + * You can use this identifier as an input of GetLandingZoneOperation + * to check the operation's status.

                            + */ + inline void SetOperationIdentifier(Aws::String&& value) { m_operationIdentifier = std::move(value); } + + /** + *

                            A unique identifier assigned to a DeleteLandingZone operation. + * You can use this identifier as an input of GetLandingZoneOperation + * to check the operation's status.

                            + */ + inline void SetOperationIdentifier(const char* value) { m_operationIdentifier.assign(value); } + + /** + *

                            A unique identifier assigned to a DeleteLandingZone operation. + * You can use this identifier as an input of GetLandingZoneOperation + * to check the operation's status.

                            + */ + inline DeleteLandingZoneResult& WithOperationIdentifier(const Aws::String& value) { SetOperationIdentifier(value); return *this;} + + /** + *

                            A unique identifier assigned to a DeleteLandingZone operation. + * You can use this identifier as an input of GetLandingZoneOperation + * to check the operation's status.

                            + */ + inline DeleteLandingZoneResult& WithOperationIdentifier(Aws::String&& value) { SetOperationIdentifier(std::move(value)); return *this;} + + /** + *

                            A unique identifier assigned to a DeleteLandingZone operation. + * You can use this identifier as an input of GetLandingZoneOperation + * to check the operation's status.

                            + */ + inline DeleteLandingZoneResult& WithOperationIdentifier(const char* value) { SetOperationIdentifier(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 DeleteLandingZoneResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline DeleteLandingZoneResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline DeleteLandingZoneResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::String m_operationIdentifier; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace ControlTower +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/DriftStatusSummary.h b/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/DriftStatusSummary.h index c257994aa8e..aab35586525 100644 --- a/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/DriftStatusSummary.h +++ b/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/DriftStatusSummary.h @@ -24,11 +24,11 @@ namespace Model { /** - *

                            The drift summary of the enabled control.

                            AWS Control Tower expects - * the enabled control configuration to include all supported and governed Regions. - * If the enabled control differs from the expected configuration, it is defined to - * be in a state of drift. You can repair this drift by resetting the enabled - * control.

                            See Also:

                            The drift summary of the enabled control.

                            Amazon Web Services Control + * Tower expects the enabled control configuration to include all supported and + * governed Regions. If the enabled control differs from the expected + * configuration, it is defined to be in a state of drift. You can repair this + * drift by resetting the enabled control.

                            See Also:

                            AWS * API Reference

                            */ @@ -44,78 +44,84 @@ namespace Model /** *

                            The drift status of the enabled control.

                            Valid values:

                            • *

                              DRIFTED: The enabledControl deployed in this - * configuration doesn’t match the configuration that AWS Control Tower expected. - *

                            • IN_SYNC: The enabledControl - * deployed in this configuration matches the configuration that AWS Control Tower - * expected.

                            • NOT_CHECKING: AWS Control Tower does - * not check drift for this enabled control. Drift is not supported for the control - * type.

                            • UNKNOWN: AWS Control Tower is not able to - * check the drift status for the enabled control.

                            + * configuration doesn’t match the configuration that Amazon Web Services Control + * Tower expected.

                          • IN_SYNC: The + * enabledControl deployed in this configuration matches the + * configuration that Amazon Web Services Control Tower expected.

                          • + *

                            NOT_CHECKING: Amazon Web Services Control Tower does not check + * drift for this enabled control. Drift is not supported for the control type.

                            + *
                          • UNKNOWN: Amazon Web Services Control Tower is not + * able to check the drift status for the enabled control.

                          */ inline const DriftStatus& GetDriftStatus() const{ return m_driftStatus; } /** *

                          The drift status of the enabled control.

                          Valid values:

                          • *

                            DRIFTED: The enabledControl deployed in this - * configuration doesn’t match the configuration that AWS Control Tower expected. - *

                          • IN_SYNC: The enabledControl - * deployed in this configuration matches the configuration that AWS Control Tower - * expected.

                          • NOT_CHECKING: AWS Control Tower does - * not check drift for this enabled control. Drift is not supported for the control - * type.

                          • UNKNOWN: AWS Control Tower is not able to - * check the drift status for the enabled control.

                          + * configuration doesn’t match the configuration that Amazon Web Services Control + * Tower expected.

                        • IN_SYNC: The + * enabledControl deployed in this configuration matches the + * configuration that Amazon Web Services Control Tower expected.

                        • + *

                          NOT_CHECKING: Amazon Web Services Control Tower does not check + * drift for this enabled control. Drift is not supported for the control type.

                          + *
                        • UNKNOWN: Amazon Web Services Control Tower is not + * able to check the drift status for the enabled control.

                        */ inline bool DriftStatusHasBeenSet() const { return m_driftStatusHasBeenSet; } /** *

                        The drift status of the enabled control.

                        Valid values:

                        • *

                          DRIFTED: The enabledControl deployed in this - * configuration doesn’t match the configuration that AWS Control Tower expected. - *

                        • IN_SYNC: The enabledControl - * deployed in this configuration matches the configuration that AWS Control Tower - * expected.

                        • NOT_CHECKING: AWS Control Tower does - * not check drift for this enabled control. Drift is not supported for the control - * type.

                        • UNKNOWN: AWS Control Tower is not able to - * check the drift status for the enabled control.

                        + * configuration doesn’t match the configuration that Amazon Web Services Control + * Tower expected.

                      • IN_SYNC: The + * enabledControl deployed in this configuration matches the + * configuration that Amazon Web Services Control Tower expected.

                      • + *

                        NOT_CHECKING: Amazon Web Services Control Tower does not check + * drift for this enabled control. Drift is not supported for the control type.

                        + *
                      • UNKNOWN: Amazon Web Services Control Tower is not + * able to check the drift status for the enabled control.

                      */ inline void SetDriftStatus(const DriftStatus& value) { m_driftStatusHasBeenSet = true; m_driftStatus = value; } /** *

                      The drift status of the enabled control.

                      Valid values:

                      • *

                        DRIFTED: The enabledControl deployed in this - * configuration doesn’t match the configuration that AWS Control Tower expected. - *

                      • IN_SYNC: The enabledControl - * deployed in this configuration matches the configuration that AWS Control Tower - * expected.

                      • NOT_CHECKING: AWS Control Tower does - * not check drift for this enabled control. Drift is not supported for the control - * type.

                      • UNKNOWN: AWS Control Tower is not able to - * check the drift status for the enabled control.

                      + * configuration doesn’t match the configuration that Amazon Web Services Control + * Tower expected.

                    • IN_SYNC: The + * enabledControl deployed in this configuration matches the + * configuration that Amazon Web Services Control Tower expected.

                    • + *

                      NOT_CHECKING: Amazon Web Services Control Tower does not check + * drift for this enabled control. Drift is not supported for the control type.

                      + *
                    • UNKNOWN: Amazon Web Services Control Tower is not + * able to check the drift status for the enabled control.

                    */ inline void SetDriftStatus(DriftStatus&& value) { m_driftStatusHasBeenSet = true; m_driftStatus = std::move(value); } /** *

                    The drift status of the enabled control.

                    Valid values:

                    • *

                      DRIFTED: The enabledControl deployed in this - * configuration doesn’t match the configuration that AWS Control Tower expected. - *

                    • IN_SYNC: The enabledControl - * deployed in this configuration matches the configuration that AWS Control Tower - * expected.

                    • NOT_CHECKING: AWS Control Tower does - * not check drift for this enabled control. Drift is not supported for the control - * type.

                    • UNKNOWN: AWS Control Tower is not able to - * check the drift status for the enabled control.

                    + * configuration doesn’t match the configuration that Amazon Web Services Control + * Tower expected.

                  • IN_SYNC: The + * enabledControl deployed in this configuration matches the + * configuration that Amazon Web Services Control Tower expected.

                  • + *

                    NOT_CHECKING: Amazon Web Services Control Tower does not check + * drift for this enabled control. Drift is not supported for the control type.

                    + *
                  • UNKNOWN: Amazon Web Services Control Tower is not + * able to check the drift status for the enabled control.

                • IN_SYNC: The + * enabledControl deployed in this configuration matches the + * configuration that Amazon Web Services Control Tower expected.

                • + *

                  NOT_CHECKING: Amazon Web Services Control Tower does not check + * drift for this enabled control. Drift is not supported for the control type.

                  + *
                • UNKNOWN: Amazon Web Services Control Tower is not + * able to check the drift status for the enabled control.

                */ inline DriftStatusSummary& WithDriftStatus(DriftStatus&& value) { SetDriftStatus(std::move(value)); return *this;} diff --git a/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/EnabledControlDetails.h b/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/EnabledControlDetails.h index 7e00d87bd5c..710564a0e1d 100644 --- a/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/EnabledControlDetails.h +++ b/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/EnabledControlDetails.h @@ -275,42 +275,42 @@ namespace Model /** - *

                Target AWS Regions for the enabled control.

                + *

                Target Amazon Web Services Regions for the enabled control.

                */ inline const Aws::Vector& GetTargetRegions() const{ return m_targetRegions; } /** - *

                Target AWS Regions for the enabled control.

                + *

                Target Amazon Web Services Regions for the enabled control.

                */ inline bool TargetRegionsHasBeenSet() const { return m_targetRegionsHasBeenSet; } /** - *

                Target AWS Regions for the enabled control.

                + *

                Target Amazon Web Services Regions for the enabled control.

                */ inline void SetTargetRegions(const Aws::Vector& value) { m_targetRegionsHasBeenSet = true; m_targetRegions = value; } /** - *

                Target AWS Regions for the enabled control.

                + *

                Target Amazon Web Services Regions for the enabled control.

                */ inline void SetTargetRegions(Aws::Vector&& value) { m_targetRegionsHasBeenSet = true; m_targetRegions = std::move(value); } /** - *

                Target AWS Regions for the enabled control.

                + *

                Target Amazon Web Services Regions for the enabled control.

                */ inline EnabledControlDetails& WithTargetRegions(const Aws::Vector& value) { SetTargetRegions(value); return *this;} /** - *

                Target AWS Regions for the enabled control.

                + *

                Target Amazon Web Services Regions for the enabled control.

                */ inline EnabledControlDetails& WithTargetRegions(Aws::Vector&& value) { SetTargetRegions(std::move(value)); return *this;} /** - *

                Target AWS Regions for the enabled control.

                + *

                Target Amazon Web Services Regions for the enabled control.

                */ inline EnabledControlDetails& AddTargetRegions(const Region& value) { m_targetRegionsHasBeenSet = true; m_targetRegions.push_back(value); return *this; } /** - *

                Target AWS Regions for the enabled control.

                + *

                Target Amazon Web Services Regions for the enabled control.

                */ inline EnabledControlDetails& AddTargetRegions(Region&& value) { m_targetRegionsHasBeenSet = true; m_targetRegions.push_back(std::move(value)); return *this; } diff --git a/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/GetLandingZoneOperationRequest.h b/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/GetLandingZoneOperationRequest.h new file mode 100644 index 00000000000..b617aec6361 --- /dev/null +++ b/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/GetLandingZoneOperationRequest.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 +#include + +namespace Aws +{ +namespace ControlTower +{ +namespace Model +{ + + /** + */ + class GetLandingZoneOperationRequest : public ControlTowerRequest + { + public: + AWS_CONTROLTOWER_API GetLandingZoneOperationRequest(); + + // 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 "GetLandingZoneOperation"; } + + AWS_CONTROLTOWER_API Aws::String SerializePayload() const override; + + + /** + *

                A unique identifier assigned to a landing zone operation.

                + */ + inline const Aws::String& GetOperationIdentifier() const{ return m_operationIdentifier; } + + /** + *

                A unique identifier assigned to a landing zone operation.

                + */ + inline bool OperationIdentifierHasBeenSet() const { return m_operationIdentifierHasBeenSet; } + + /** + *

                A unique identifier assigned to a landing zone operation.

                + */ + inline void SetOperationIdentifier(const Aws::String& value) { m_operationIdentifierHasBeenSet = true; m_operationIdentifier = value; } + + /** + *

                A unique identifier assigned to a landing zone operation.

                + */ + inline void SetOperationIdentifier(Aws::String&& value) { m_operationIdentifierHasBeenSet = true; m_operationIdentifier = std::move(value); } + + /** + *

                A unique identifier assigned to a landing zone operation.

                + */ + inline void SetOperationIdentifier(const char* value) { m_operationIdentifierHasBeenSet = true; m_operationIdentifier.assign(value); } + + /** + *

                A unique identifier assigned to a landing zone operation.

                + */ + inline GetLandingZoneOperationRequest& WithOperationIdentifier(const Aws::String& value) { SetOperationIdentifier(value); return *this;} + + /** + *

                A unique identifier assigned to a landing zone operation.

                + */ + inline GetLandingZoneOperationRequest& WithOperationIdentifier(Aws::String&& value) { SetOperationIdentifier(std::move(value)); return *this;} + + /** + *

                A unique identifier assigned to a landing zone operation.

                + */ + inline GetLandingZoneOperationRequest& WithOperationIdentifier(const char* value) { SetOperationIdentifier(value); return *this;} + + private: + + Aws::String m_operationIdentifier; + bool m_operationIdentifierHasBeenSet = false; + }; + +} // namespace Model +} // namespace ControlTower +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/GetLandingZoneOperationResult.h b/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/GetLandingZoneOperationResult.h new file mode 100644 index 00000000000..7e8689448c4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/GetLandingZoneOperationResult.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 + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace ControlTower +{ +namespace Model +{ + class GetLandingZoneOperationResult + { + public: + AWS_CONTROLTOWER_API GetLandingZoneOperationResult(); + AWS_CONTROLTOWER_API GetLandingZoneOperationResult(const Aws::AmazonWebServiceResult& result); + AWS_CONTROLTOWER_API GetLandingZoneOperationResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

                The landing zone operation details.

                + */ + inline const LandingZoneOperationDetail& GetOperationDetails() const{ return m_operationDetails; } + + /** + *

                The landing zone operation details.

                + */ + inline void SetOperationDetails(const LandingZoneOperationDetail& value) { m_operationDetails = value; } + + /** + *

                The landing zone operation details.

                + */ + inline void SetOperationDetails(LandingZoneOperationDetail&& value) { m_operationDetails = std::move(value); } + + /** + *

                The landing zone operation details.

                + */ + inline GetLandingZoneOperationResult& WithOperationDetails(const LandingZoneOperationDetail& value) { SetOperationDetails(value); return *this;} + + /** + *

                The landing zone operation details.

                + */ + inline GetLandingZoneOperationResult& WithOperationDetails(LandingZoneOperationDetail&& value) { SetOperationDetails(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 GetLandingZoneOperationResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline GetLandingZoneOperationResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline GetLandingZoneOperationResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + LandingZoneOperationDetail m_operationDetails; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace ControlTower +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/GetLandingZoneRequest.h b/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/GetLandingZoneRequest.h new file mode 100644 index 00000000000..e31d8ebe94c --- /dev/null +++ b/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/GetLandingZoneRequest.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 +#include + +namespace Aws +{ +namespace ControlTower +{ +namespace Model +{ + + /** + */ + class GetLandingZoneRequest : public ControlTowerRequest + { + public: + AWS_CONTROLTOWER_API GetLandingZoneRequest(); + + // 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 "GetLandingZone"; } + + AWS_CONTROLTOWER_API Aws::String SerializePayload() const override; + + + /** + *

                The unique identifier of the landing zone.

                + */ + inline const Aws::String& GetLandingZoneIdentifier() const{ return m_landingZoneIdentifier; } + + /** + *

                The unique identifier of the landing zone.

                + */ + inline bool LandingZoneIdentifierHasBeenSet() const { return m_landingZoneIdentifierHasBeenSet; } + + /** + *

                The unique identifier of the landing zone.

                + */ + inline void SetLandingZoneIdentifier(const Aws::String& value) { m_landingZoneIdentifierHasBeenSet = true; m_landingZoneIdentifier = value; } + + /** + *

                The unique identifier of the landing zone.

                + */ + inline void SetLandingZoneIdentifier(Aws::String&& value) { m_landingZoneIdentifierHasBeenSet = true; m_landingZoneIdentifier = std::move(value); } + + /** + *

                The unique identifier of the landing zone.

                + */ + inline void SetLandingZoneIdentifier(const char* value) { m_landingZoneIdentifierHasBeenSet = true; m_landingZoneIdentifier.assign(value); } + + /** + *

                The unique identifier of the landing zone.

                + */ + inline GetLandingZoneRequest& WithLandingZoneIdentifier(const Aws::String& value) { SetLandingZoneIdentifier(value); return *this;} + + /** + *

                The unique identifier of the landing zone.

                + */ + inline GetLandingZoneRequest& WithLandingZoneIdentifier(Aws::String&& value) { SetLandingZoneIdentifier(std::move(value)); return *this;} + + /** + *

                The unique identifier of the landing zone.

                + */ + inline GetLandingZoneRequest& WithLandingZoneIdentifier(const char* value) { SetLandingZoneIdentifier(value); return *this;} + + private: + + Aws::String m_landingZoneIdentifier; + bool m_landingZoneIdentifierHasBeenSet = false; + }; + +} // namespace Model +} // namespace ControlTower +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/GetLandingZoneResult.h b/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/GetLandingZoneResult.h new file mode 100644 index 00000000000..9f7d725b255 --- /dev/null +++ b/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/GetLandingZoneResult.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 + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace ControlTower +{ +namespace Model +{ + class GetLandingZoneResult + { + public: + AWS_CONTROLTOWER_API GetLandingZoneResult(); + AWS_CONTROLTOWER_API GetLandingZoneResult(const Aws::AmazonWebServiceResult& result); + AWS_CONTROLTOWER_API GetLandingZoneResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

                Information about the landing zone.

                + */ + inline const LandingZoneDetail& GetLandingZone() const{ return m_landingZone; } + + /** + *

                Information about the landing zone.

                + */ + inline void SetLandingZone(const LandingZoneDetail& value) { m_landingZone = value; } + + /** + *

                Information about the landing zone.

                + */ + inline void SetLandingZone(LandingZoneDetail&& value) { m_landingZone = std::move(value); } + + /** + *

                Information about the landing zone.

                + */ + inline GetLandingZoneResult& WithLandingZone(const LandingZoneDetail& value) { SetLandingZone(value); return *this;} + + /** + *

                Information about the landing zone.

                + */ + inline GetLandingZoneResult& WithLandingZone(LandingZoneDetail&& value) { SetLandingZone(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 GetLandingZoneResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline GetLandingZoneResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline GetLandingZoneResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + LandingZoneDetail m_landingZone; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace ControlTower +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/LandingZoneDetail.h b/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/LandingZoneDetail.h new file mode 100644 index 00000000000..06cb75844c4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/LandingZoneDetail.h @@ -0,0 +1,311 @@ +/** + * 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 ControlTower +{ +namespace Model +{ + + /** + *

                Information about the landing zone.

                See Also:

                AWS + * API Reference

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

                The ARN of the landing zone.

                + */ + inline const Aws::String& GetArn() const{ return m_arn; } + + /** + *

                The ARN of the landing zone.

                + */ + inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } + + /** + *

                The ARN of the landing zone.

                + */ + inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } + + /** + *

                The ARN of the landing zone.

                + */ + inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } + + /** + *

                The ARN of the landing zone.

                + */ + inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } + + /** + *

                The ARN of the landing zone.

                + */ + inline LandingZoneDetail& WithArn(const Aws::String& value) { SetArn(value); return *this;} + + /** + *

                The ARN of the landing zone.

                + */ + inline LandingZoneDetail& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} + + /** + *

                The ARN of the landing zone.

                + */ + inline LandingZoneDetail& WithArn(const char* value) { SetArn(value); return *this;} + + + /** + *

                The drift status of the landing zone.

                + */ + inline const LandingZoneDriftStatusSummary& GetDriftStatus() const{ return m_driftStatus; } + + /** + *

                The drift status of the landing zone.

                + */ + inline bool DriftStatusHasBeenSet() const { return m_driftStatusHasBeenSet; } + + /** + *

                The drift status of the landing zone.

                + */ + inline void SetDriftStatus(const LandingZoneDriftStatusSummary& value) { m_driftStatusHasBeenSet = true; m_driftStatus = value; } + + /** + *

                The drift status of the landing zone.

                + */ + inline void SetDriftStatus(LandingZoneDriftStatusSummary&& value) { m_driftStatusHasBeenSet = true; m_driftStatus = std::move(value); } + + /** + *

                The drift status of the landing zone.

                + */ + inline LandingZoneDetail& WithDriftStatus(const LandingZoneDriftStatusSummary& value) { SetDriftStatus(value); return *this;} + + /** + *

                The drift status of the landing zone.

                + */ + inline LandingZoneDetail& WithDriftStatus(LandingZoneDriftStatusSummary&& value) { SetDriftStatus(std::move(value)); return *this;} + + + /** + *

                The latest available version of the landing zone.

                + */ + inline const Aws::String& GetLatestAvailableVersion() const{ return m_latestAvailableVersion; } + + /** + *

                The latest available version of the landing zone.

                + */ + inline bool LatestAvailableVersionHasBeenSet() const { return m_latestAvailableVersionHasBeenSet; } + + /** + *

                The latest available version of the landing zone.

                + */ + inline void SetLatestAvailableVersion(const Aws::String& value) { m_latestAvailableVersionHasBeenSet = true; m_latestAvailableVersion = value; } + + /** + *

                The latest available version of the landing zone.

                + */ + inline void SetLatestAvailableVersion(Aws::String&& value) { m_latestAvailableVersionHasBeenSet = true; m_latestAvailableVersion = std::move(value); } + + /** + *

                The latest available version of the landing zone.

                + */ + inline void SetLatestAvailableVersion(const char* value) { m_latestAvailableVersionHasBeenSet = true; m_latestAvailableVersion.assign(value); } + + /** + *

                The latest available version of the landing zone.

                + */ + inline LandingZoneDetail& WithLatestAvailableVersion(const Aws::String& value) { SetLatestAvailableVersion(value); return *this;} + + /** + *

                The latest available version of the landing zone.

                + */ + inline LandingZoneDetail& WithLatestAvailableVersion(Aws::String&& value) { SetLatestAvailableVersion(std::move(value)); return *this;} + + /** + *

                The latest available version of the landing zone.

                + */ + inline LandingZoneDetail& WithLatestAvailableVersion(const char* value) { SetLatestAvailableVersion(value); return *this;} + + + /** + *

                The landing zone manifest.yaml text file that specifies the landing zone + * configurations.

                + */ + inline Aws::Utils::DocumentView GetManifest() const{ return m_manifest; } + + /** + *

                The landing zone manifest.yaml text file that specifies the landing zone + * configurations.

                + */ + inline bool ManifestHasBeenSet() const { return m_manifestHasBeenSet; } + + /** + *

                The landing zone manifest.yaml text file that specifies the landing zone + * configurations.

                + */ + inline void SetManifest(const Aws::Utils::Document& value) { m_manifestHasBeenSet = true; m_manifest = value; } + + /** + *

                The landing zone manifest.yaml text file that specifies the landing zone + * configurations.

                + */ + inline void SetManifest(Aws::Utils::Document&& value) { m_manifestHasBeenSet = true; m_manifest = std::move(value); } + + /** + *

                The landing zone manifest.yaml text file that specifies the landing zone + * configurations.

                + */ + inline LandingZoneDetail& WithManifest(const Aws::Utils::Document& value) { SetManifest(value); return *this;} + + /** + *

                The landing zone manifest.yaml text file that specifies the landing zone + * configurations.

                + */ + inline LandingZoneDetail& WithManifest(Aws::Utils::Document&& value) { SetManifest(std::move(value)); return *this;} + + + /** + *

                The landing zone deployment status.

                Valid values:

                • + * ACTIVE: The landing zone is actively deployed.

                • + * PROCESSING: The landing zone is processing deployment.

                • + *
                • FAILED: The landing zone failed deployment.

                • + *
                + */ + inline const LandingZoneStatus& GetStatus() const{ return m_status; } + + /** + *

                The landing zone deployment status.

                Valid values:

                • + * ACTIVE: The landing zone is actively deployed.

                • + * PROCESSING: The landing zone is processing deployment.

                • + *
                • FAILED: The landing zone failed deployment.

                • + *
                + */ + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + + /** + *

                The landing zone deployment status.

                Valid values:

                • + * ACTIVE: The landing zone is actively deployed.

                • + * PROCESSING: The landing zone is processing deployment.

                • + *
                • FAILED: The landing zone failed deployment.

                • + *
                + */ + inline void SetStatus(const LandingZoneStatus& value) { m_statusHasBeenSet = true; m_status = value; } + + /** + *

                The landing zone deployment status.

                Valid values:

                • + * ACTIVE: The landing zone is actively deployed.

                • + * PROCESSING: The landing zone is processing deployment.

                • + *
                • FAILED: The landing zone failed deployment.

                • + *
                + */ + inline void SetStatus(LandingZoneStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } + + /** + *

                The landing zone deployment status.

                Valid values:

                • + * ACTIVE: The landing zone is actively deployed.

                • + * PROCESSING: The landing zone is processing deployment.

                • + *
                • FAILED: The landing zone failed deployment.

                • + *
                + */ + inline LandingZoneDetail& WithStatus(const LandingZoneStatus& value) { SetStatus(value); return *this;} + + /** + *

                The landing zone deployment status.

                Valid values:

                • + * ACTIVE: The landing zone is actively deployed.

                • + * PROCESSING: The landing zone is processing deployment.

                • + *
                • FAILED: The landing zone failed deployment.

                • + *
                + */ + inline LandingZoneDetail& WithStatus(LandingZoneStatus&& value) { SetStatus(std::move(value)); return *this;} + + + /** + *

                The landing zone's current deployed version.

                + */ + inline const Aws::String& GetVersion() const{ return m_version; } + + /** + *

                The landing zone's current deployed version.

                + */ + inline bool VersionHasBeenSet() const { return m_versionHasBeenSet; } + + /** + *

                The landing zone's current deployed version.

                + */ + inline void SetVersion(const Aws::String& value) { m_versionHasBeenSet = true; m_version = value; } + + /** + *

                The landing zone's current deployed version.

                + */ + inline void SetVersion(Aws::String&& value) { m_versionHasBeenSet = true; m_version = std::move(value); } + + /** + *

                The landing zone's current deployed version.

                + */ + inline void SetVersion(const char* value) { m_versionHasBeenSet = true; m_version.assign(value); } + + /** + *

                The landing zone's current deployed version.

                + */ + inline LandingZoneDetail& WithVersion(const Aws::String& value) { SetVersion(value); return *this;} + + /** + *

                The landing zone's current deployed version.

                + */ + inline LandingZoneDetail& WithVersion(Aws::String&& value) { SetVersion(std::move(value)); return *this;} + + /** + *

                The landing zone's current deployed version.

                + */ + inline LandingZoneDetail& WithVersion(const char* value) { SetVersion(value); return *this;} + + private: + + Aws::String m_arn; + bool m_arnHasBeenSet = false; + + LandingZoneDriftStatusSummary m_driftStatus; + bool m_driftStatusHasBeenSet = false; + + Aws::String m_latestAvailableVersion; + bool m_latestAvailableVersionHasBeenSet = false; + + Aws::Utils::Document m_manifest; + bool m_manifestHasBeenSet = false; + + LandingZoneStatus m_status; + bool m_statusHasBeenSet = false; + + Aws::String m_version; + bool m_versionHasBeenSet = false; + }; + +} // namespace Model +} // namespace ControlTower +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/LandingZoneDriftStatus.h b/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/LandingZoneDriftStatus.h new file mode 100644 index 00000000000..749aae446b6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/LandingZoneDriftStatus.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 ControlTower +{ +namespace Model +{ + enum class LandingZoneDriftStatus + { + NOT_SET, + DRIFTED, + IN_SYNC + }; + +namespace LandingZoneDriftStatusMapper +{ +AWS_CONTROLTOWER_API LandingZoneDriftStatus GetLandingZoneDriftStatusForName(const Aws::String& name); + +AWS_CONTROLTOWER_API Aws::String GetNameForLandingZoneDriftStatus(LandingZoneDriftStatus value); +} // namespace LandingZoneDriftStatusMapper +} // namespace Model +} // namespace ControlTower +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/LandingZoneDriftStatusSummary.h b/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/LandingZoneDriftStatusSummary.h new file mode 100644 index 00000000000..6e2a023df72 --- /dev/null +++ b/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/LandingZoneDriftStatusSummary.h @@ -0,0 +1,111 @@ +/** + * 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 ControlTower +{ +namespace Model +{ + + /** + *

                The drift status summary of the landing zone.

                If the landing zone + * differs from the expected configuration, it is defined to be in a state of + * drift. You can repair this drift by resetting the landing zone.

                See + * Also:

                AWS + * API Reference

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

                The drift status of the landing zone.

                Valid values:

                • + * DRIFTED: The landing zone deployed in this configuration does not + * match the configuration that Amazon Web Services Control Tower expected.

                  + *
                • IN_SYNC: The landing zone deployed in this + * configuration matches the configuration that Amazon Web Services Control Tower + * expected.

                + */ + inline const LandingZoneDriftStatus& GetStatus() const{ return m_status; } + + /** + *

                The drift status of the landing zone.

                Valid values:

                • + * DRIFTED: The landing zone deployed in this configuration does not + * match the configuration that Amazon Web Services Control Tower expected.

                  + *
                • IN_SYNC: The landing zone deployed in this + * configuration matches the configuration that Amazon Web Services Control Tower + * expected.

                + */ + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + + /** + *

                The drift status of the landing zone.

                Valid values:

                • + * DRIFTED: The landing zone deployed in this configuration does not + * match the configuration that Amazon Web Services Control Tower expected.

                  + *
                • IN_SYNC: The landing zone deployed in this + * configuration matches the configuration that Amazon Web Services Control Tower + * expected.

                + */ + inline void SetStatus(const LandingZoneDriftStatus& value) { m_statusHasBeenSet = true; m_status = value; } + + /** + *

                The drift status of the landing zone.

                Valid values:

                • + * DRIFTED: The landing zone deployed in this configuration does not + * match the configuration that Amazon Web Services Control Tower expected.

                  + *
                • IN_SYNC: The landing zone deployed in this + * configuration matches the configuration that Amazon Web Services Control Tower + * expected.

                + */ + inline void SetStatus(LandingZoneDriftStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } + + /** + *

                The drift status of the landing zone.

                Valid values:

                • + * DRIFTED: The landing zone deployed in this configuration does not + * match the configuration that Amazon Web Services Control Tower expected.

                  + *
                • IN_SYNC: The landing zone deployed in this + * configuration matches the configuration that Amazon Web Services Control Tower + * expected.

                + */ + inline LandingZoneDriftStatusSummary& WithStatus(const LandingZoneDriftStatus& value) { SetStatus(value); return *this;} + + /** + *

                The drift status of the landing zone.

                Valid values:

                • + * DRIFTED: The landing zone deployed in this configuration does not + * match the configuration that Amazon Web Services Control Tower expected.

                  + *
                • IN_SYNC: The landing zone deployed in this + * configuration matches the configuration that Amazon Web Services Control Tower + * expected.

                + */ + inline LandingZoneDriftStatusSummary& WithStatus(LandingZoneDriftStatus&& value) { SetStatus(std::move(value)); return *this;} + + private: + + LandingZoneDriftStatus m_status; + bool m_statusHasBeenSet = false; + }; + +} // namespace Model +} // namespace ControlTower +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/LandingZoneOperationDetail.h b/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/LandingZoneOperationDetail.h new file mode 100644 index 00000000000..8964a3f8889 --- /dev/null +++ b/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/LandingZoneOperationDetail.h @@ -0,0 +1,289 @@ +/** + * 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 ControlTower +{ +namespace Model +{ + + /** + *

                Information about a landing zone operation.

                See Also:

                AWS + * API Reference

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

                The landing zone operation end time.

                + */ + inline const Aws::Utils::DateTime& GetEndTime() const{ return m_endTime; } + + /** + *

                The landing zone operation end time.

                + */ + inline bool EndTimeHasBeenSet() const { return m_endTimeHasBeenSet; } + + /** + *

                The landing zone operation end time.

                + */ + inline void SetEndTime(const Aws::Utils::DateTime& value) { m_endTimeHasBeenSet = true; m_endTime = value; } + + /** + *

                The landing zone operation end time.

                + */ + inline void SetEndTime(Aws::Utils::DateTime&& value) { m_endTimeHasBeenSet = true; m_endTime = std::move(value); } + + /** + *

                The landing zone operation end time.

                + */ + inline LandingZoneOperationDetail& WithEndTime(const Aws::Utils::DateTime& value) { SetEndTime(value); return *this;} + + /** + *

                The landing zone operation end time.

                + */ + inline LandingZoneOperationDetail& WithEndTime(Aws::Utils::DateTime&& value) { SetEndTime(std::move(value)); return *this;} + + + /** + *

                The landing zone operation type.

                Valid values:

                • + * DELETE: The DeleteLandingZone operation.

                • + *
                • CREATE: The CreateLandingZone operation.

                  + *
                • UPDATE: The UpdateLandingZone + * operation.

                • RESET: The + * ResetLandingZone operation.

                + */ + inline const LandingZoneOperationType& GetOperationType() const{ return m_operationType; } + + /** + *

                The landing zone operation type.

                Valid values:

                • + * DELETE: The DeleteLandingZone operation.

                • + *
                • CREATE: The CreateLandingZone operation.

                  + *
                • UPDATE: The UpdateLandingZone + * operation.

                • RESET: The + * ResetLandingZone operation.

                + */ + inline bool OperationTypeHasBeenSet() const { return m_operationTypeHasBeenSet; } + + /** + *

                The landing zone operation type.

                Valid values:

                • + * DELETE: The DeleteLandingZone operation.

                • + *
                • CREATE: The CreateLandingZone operation.

                  + *
                • UPDATE: The UpdateLandingZone + * operation.

                • RESET: The + * ResetLandingZone operation.

                + */ + inline void SetOperationType(const LandingZoneOperationType& value) { m_operationTypeHasBeenSet = true; m_operationType = value; } + + /** + *

                The landing zone operation type.

                Valid values:

                • + * DELETE: The DeleteLandingZone operation.

                • + *
                • CREATE: The CreateLandingZone operation.

                  + *
                • UPDATE: The UpdateLandingZone + * operation.

                • RESET: The + * ResetLandingZone operation.

                + */ + inline void SetOperationType(LandingZoneOperationType&& value) { m_operationTypeHasBeenSet = true; m_operationType = std::move(value); } + + /** + *

                The landing zone operation type.

                Valid values:

                • + * DELETE: The DeleteLandingZone operation.

                • + *
                • CREATE: The CreateLandingZone operation.

                  + *
                • UPDATE: The UpdateLandingZone + * operation.

                • RESET: The + * ResetLandingZone operation.

                + */ + inline LandingZoneOperationDetail& WithOperationType(const LandingZoneOperationType& value) { SetOperationType(value); return *this;} + + /** + *

                The landing zone operation type.

                Valid values:

                • + * DELETE: The DeleteLandingZone operation.

                • + *
                • CREATE: The CreateLandingZone operation.

                  + *
                • UPDATE: The UpdateLandingZone + * operation.

                • RESET: The + * ResetLandingZone operation.

                + */ + inline LandingZoneOperationDetail& WithOperationType(LandingZoneOperationType&& value) { SetOperationType(std::move(value)); return *this;} + + + /** + *

                The landing zone operation start time.

                + */ + inline const Aws::Utils::DateTime& GetStartTime() const{ return m_startTime; } + + /** + *

                The landing zone operation start time.

                + */ + inline bool StartTimeHasBeenSet() const { return m_startTimeHasBeenSet; } + + /** + *

                The landing zone operation start time.

                + */ + inline void SetStartTime(const Aws::Utils::DateTime& value) { m_startTimeHasBeenSet = true; m_startTime = value; } + + /** + *

                The landing zone operation start time.

                + */ + inline void SetStartTime(Aws::Utils::DateTime&& value) { m_startTimeHasBeenSet = true; m_startTime = std::move(value); } + + /** + *

                The landing zone operation start time.

                + */ + inline LandingZoneOperationDetail& WithStartTime(const Aws::Utils::DateTime& value) { SetStartTime(value); return *this;} + + /** + *

                The landing zone operation start time.

                + */ + inline LandingZoneOperationDetail& WithStartTime(Aws::Utils::DateTime&& value) { SetStartTime(std::move(value)); return *this;} + + + /** + *

                The landing zone operation status.

                Valid values:

                • + * SUCCEEDED: The landing zone operation succeeded.

                • + *

                  IN_PROGRESS: The landing zone operation is in progress.

                  + *
                • FAILED: The landing zone operation failed.

                  + *
                + */ + inline const LandingZoneOperationStatus& GetStatus() const{ return m_status; } + + /** + *

                The landing zone operation status.

                Valid values:

                • + * SUCCEEDED: The landing zone operation succeeded.

                • + *

                  IN_PROGRESS: The landing zone operation is in progress.

                  + *
                • FAILED: The landing zone operation failed.

                  + *
                + */ + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + + /** + *

                The landing zone operation status.

                Valid values:

                • + * SUCCEEDED: The landing zone operation succeeded.

                • + *

                  IN_PROGRESS: The landing zone operation is in progress.

                  + *
                • FAILED: The landing zone operation failed.

                  + *
                + */ + inline void SetStatus(const LandingZoneOperationStatus& value) { m_statusHasBeenSet = true; m_status = value; } + + /** + *

                The landing zone operation status.

                Valid values:

                • + * SUCCEEDED: The landing zone operation succeeded.

                • + *

                  IN_PROGRESS: The landing zone operation is in progress.

                  + *
                • FAILED: The landing zone operation failed.

                  + *
                + */ + inline void SetStatus(LandingZoneOperationStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } + + /** + *

                The landing zone operation status.

                Valid values:

                • + * SUCCEEDED: The landing zone operation succeeded.

                • + *

                  IN_PROGRESS: The landing zone operation is in progress.

                  + *
                • FAILED: The landing zone operation failed.

                  + *
                + */ + inline LandingZoneOperationDetail& WithStatus(const LandingZoneOperationStatus& value) { SetStatus(value); return *this;} + + /** + *

                The landing zone operation status.

                Valid values:

                • + * SUCCEEDED: The landing zone operation succeeded.

                • + *

                  IN_PROGRESS: The landing zone operation is in progress.

                  + *
                • FAILED: The landing zone operation failed.

                  + *
                + */ + inline LandingZoneOperationDetail& WithStatus(LandingZoneOperationStatus&& value) { SetStatus(std::move(value)); return *this;} + + + /** + *

                If the operation result is FAILED, this string contains a message explaining + * why the operation failed.

                + */ + inline const Aws::String& GetStatusMessage() const{ return m_statusMessage; } + + /** + *

                If the operation result is FAILED, this string contains a message explaining + * why the operation failed.

                + */ + inline bool StatusMessageHasBeenSet() const { return m_statusMessageHasBeenSet; } + + /** + *

                If the operation result is FAILED, this string contains a message explaining + * why the operation failed.

                + */ + inline void SetStatusMessage(const Aws::String& value) { m_statusMessageHasBeenSet = true; m_statusMessage = value; } + + /** + *

                If the operation result is FAILED, this string contains a message explaining + * why the operation failed.

                + */ + inline void SetStatusMessage(Aws::String&& value) { m_statusMessageHasBeenSet = true; m_statusMessage = std::move(value); } + + /** + *

                If the operation result is FAILED, this string contains a message explaining + * why the operation failed.

                + */ + inline void SetStatusMessage(const char* value) { m_statusMessageHasBeenSet = true; m_statusMessage.assign(value); } + + /** + *

                If the operation result is FAILED, this string contains a message explaining + * why the operation failed.

                + */ + inline LandingZoneOperationDetail& WithStatusMessage(const Aws::String& value) { SetStatusMessage(value); return *this;} + + /** + *

                If the operation result is FAILED, this string contains a message explaining + * why the operation failed.

                + */ + inline LandingZoneOperationDetail& WithStatusMessage(Aws::String&& value) { SetStatusMessage(std::move(value)); return *this;} + + /** + *

                If the operation result is FAILED, this string contains a message explaining + * why the operation failed.

                + */ + inline LandingZoneOperationDetail& WithStatusMessage(const char* value) { SetStatusMessage(value); return *this;} + + private: + + Aws::Utils::DateTime m_endTime; + bool m_endTimeHasBeenSet = false; + + LandingZoneOperationType m_operationType; + bool m_operationTypeHasBeenSet = false; + + Aws::Utils::DateTime m_startTime; + bool m_startTimeHasBeenSet = false; + + LandingZoneOperationStatus m_status; + bool m_statusHasBeenSet = false; + + Aws::String m_statusMessage; + bool m_statusMessageHasBeenSet = false; + }; + +} // namespace Model +} // namespace ControlTower +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/LandingZoneOperationStatus.h b/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/LandingZoneOperationStatus.h new file mode 100644 index 00000000000..63e8dbb7084 --- /dev/null +++ b/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/LandingZoneOperationStatus.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 ControlTower +{ +namespace Model +{ + enum class LandingZoneOperationStatus + { + NOT_SET, + SUCCEEDED, + FAILED, + IN_PROGRESS + }; + +namespace LandingZoneOperationStatusMapper +{ +AWS_CONTROLTOWER_API LandingZoneOperationStatus GetLandingZoneOperationStatusForName(const Aws::String& name); + +AWS_CONTROLTOWER_API Aws::String GetNameForLandingZoneOperationStatus(LandingZoneOperationStatus value); +} // namespace LandingZoneOperationStatusMapper +} // namespace Model +} // namespace ControlTower +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/LandingZoneOperationType.h b/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/LandingZoneOperationType.h new file mode 100644 index 00000000000..db931ec58ef --- /dev/null +++ b/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/LandingZoneOperationType.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 ControlTower +{ +namespace Model +{ + enum class LandingZoneOperationType + { + NOT_SET, + DELETE_, + CREATE, + UPDATE, + RESET + }; + +namespace LandingZoneOperationTypeMapper +{ +AWS_CONTROLTOWER_API LandingZoneOperationType GetLandingZoneOperationTypeForName(const Aws::String& name); + +AWS_CONTROLTOWER_API Aws::String GetNameForLandingZoneOperationType(LandingZoneOperationType value); +} // namespace LandingZoneOperationTypeMapper +} // namespace Model +} // namespace ControlTower +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/LandingZoneStatus.h b/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/LandingZoneStatus.h new file mode 100644 index 00000000000..3785d9cc894 --- /dev/null +++ b/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/LandingZoneStatus.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 ControlTower +{ +namespace Model +{ + enum class LandingZoneStatus + { + NOT_SET, + ACTIVE, + PROCESSING, + FAILED + }; + +namespace LandingZoneStatusMapper +{ +AWS_CONTROLTOWER_API LandingZoneStatus GetLandingZoneStatusForName(const Aws::String& name); + +AWS_CONTROLTOWER_API Aws::String GetNameForLandingZoneStatus(LandingZoneStatus value); +} // namespace LandingZoneStatusMapper +} // namespace Model +} // namespace ControlTower +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/LandingZoneSummary.h b/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/LandingZoneSummary.h new file mode 100644 index 00000000000..d2b4038e7c5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/LandingZoneSummary.h @@ -0,0 +1,89 @@ +/** + * 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 ControlTower +{ +namespace Model +{ + + /** + *

                Returns a summary of information about a landing zone.

                See + * Also:

                AWS + * API Reference

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

                The ARN of the landing zone.

                + */ + inline const Aws::String& GetArn() const{ return m_arn; } + + /** + *

                The ARN of the landing zone.

                + */ + inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } + + /** + *

                The ARN of the landing zone.

                + */ + inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } + + /** + *

                The ARN of the landing zone.

                + */ + inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } + + /** + *

                The ARN of the landing zone.

                + */ + inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } + + /** + *

                The ARN of the landing zone.

                + */ + inline LandingZoneSummary& WithArn(const Aws::String& value) { SetArn(value); return *this;} + + /** + *

                The ARN of the landing zone.

                + */ + inline LandingZoneSummary& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} + + /** + *

                The ARN of the landing zone.

                + */ + inline LandingZoneSummary& WithArn(const char* value) { SetArn(value); return *this;} + + private: + + Aws::String m_arn; + bool m_arnHasBeenSet = false; + }; + +} // namespace Model +} // namespace ControlTower +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/ListEnabledControlsResult.h b/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/ListEnabledControlsResult.h index df160184474..b70262919f8 100644 --- a/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/ListEnabledControlsResult.h +++ b/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/ListEnabledControlsResult.h @@ -35,44 +35,44 @@ namespace Model /** - *

                Lists the controls enabled by AWS Control Tower on the specified - * organizational unit and the accounts it contains.

                + *

                Lists the controls enabled by Amazon Web Services Control Tower on the + * specified organizational unit and the accounts it contains.

                */ inline const Aws::Vector& GetEnabledControls() const{ return m_enabledControls; } /** - *

                Lists the controls enabled by AWS Control Tower on the specified - * organizational unit and the accounts it contains.

                + *

                Lists the controls enabled by Amazon Web Services Control Tower on the + * specified organizational unit and the accounts it contains.

                */ inline void SetEnabledControls(const Aws::Vector& value) { m_enabledControls = value; } /** - *

                Lists the controls enabled by AWS Control Tower on the specified - * organizational unit and the accounts it contains.

                + *

                Lists the controls enabled by Amazon Web Services Control Tower on the + * specified organizational unit and the accounts it contains.

                */ inline void SetEnabledControls(Aws::Vector&& value) { m_enabledControls = std::move(value); } /** - *

                Lists the controls enabled by AWS Control Tower on the specified - * organizational unit and the accounts it contains.

                + *

                Lists the controls enabled by Amazon Web Services Control Tower on the + * specified organizational unit and the accounts it contains.

                */ inline ListEnabledControlsResult& WithEnabledControls(const Aws::Vector& value) { SetEnabledControls(value); return *this;} /** - *

                Lists the controls enabled by AWS Control Tower on the specified - * organizational unit and the accounts it contains.

                + *

                Lists the controls enabled by Amazon Web Services Control Tower on the + * specified organizational unit and the accounts it contains.

                */ inline ListEnabledControlsResult& WithEnabledControls(Aws::Vector&& value) { SetEnabledControls(std::move(value)); return *this;} /** - *

                Lists the controls enabled by AWS Control Tower on the specified - * organizational unit and the accounts it contains.

                + *

                Lists the controls enabled by Amazon Web Services Control Tower on the + * specified organizational unit and the accounts it contains.

                */ inline ListEnabledControlsResult& AddEnabledControls(const EnabledControlSummary& value) { m_enabledControls.push_back(value); return *this; } /** - *

                Lists the controls enabled by AWS Control Tower on the specified - * organizational unit and the accounts it contains.

                + *

                Lists the controls enabled by Amazon Web Services Control Tower on the + * specified organizational unit and the accounts it contains.

                */ inline ListEnabledControlsResult& AddEnabledControls(EnabledControlSummary&& value) { m_enabledControls.push_back(std::move(value)); return *this; } diff --git a/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/ListLandingZonesRequest.h b/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/ListLandingZonesRequest.h new file mode 100644 index 00000000000..2b18e8e7320 --- /dev/null +++ b/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/ListLandingZonesRequest.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 ControlTower +{ +namespace Model +{ + + /** + */ + class ListLandingZonesRequest : public ControlTowerRequest + { + public: + AWS_CONTROLTOWER_API ListLandingZonesRequest(); + + // 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 "ListLandingZones"; } + + AWS_CONTROLTOWER_API Aws::String SerializePayload() const override; + + + /** + *

                The maximum number of returned landing zone ARNs.

                + */ + inline int GetMaxResults() const{ return m_maxResults; } + + /** + *

                The maximum number of returned landing zone ARNs.

                + */ + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + + /** + *

                The maximum number of returned landing zone ARNs.

                + */ + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + + /** + *

                The maximum number of returned landing zone ARNs.

                + */ + inline ListLandingZonesRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + + + /** + *

                The token to continue the list from a previous API call with the same + * parameters.

                + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + + /** + *

                The token to continue the list from a previous API call with the same + * parameters.

                + */ + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + + /** + *

                The token to continue the list from a previous API call with the same + * parameters.

                + */ + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + + /** + *

                The token to continue the list from a previous API call with the same + * parameters.

                + */ + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + + /** + *

                The token to continue the list from a previous API call with the same + * parameters.

                + */ + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + + /** + *

                The token to continue the list from a previous API call with the same + * parameters.

                + */ + inline ListLandingZonesRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + + /** + *

                The token to continue the list from a previous API call with the same + * parameters.

                + */ + inline ListLandingZonesRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + + /** + *

                The token to continue the list from a previous API call with the same + * parameters.

                + */ + inline ListLandingZonesRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + + private: + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + }; + +} // namespace Model +} // namespace ControlTower +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/ListLandingZonesResult.h b/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/ListLandingZonesResult.h new file mode 100644 index 00000000000..fe3b7b0f4a5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/ListLandingZonesResult.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 +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace ControlTower +{ +namespace Model +{ + class ListLandingZonesResult + { + public: + AWS_CONTROLTOWER_API ListLandingZonesResult(); + AWS_CONTROLTOWER_API ListLandingZonesResult(const Aws::AmazonWebServiceResult& result); + AWS_CONTROLTOWER_API ListLandingZonesResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

                The ARN of the landing zone.

                + */ + inline const Aws::Vector& GetLandingZones() const{ return m_landingZones; } + + /** + *

                The ARN of the landing zone.

                + */ + inline void SetLandingZones(const Aws::Vector& value) { m_landingZones = value; } + + /** + *

                The ARN of the landing zone.

                + */ + inline void SetLandingZones(Aws::Vector&& value) { m_landingZones = std::move(value); } + + /** + *

                The ARN of the landing zone.

                + */ + inline ListLandingZonesResult& WithLandingZones(const Aws::Vector& value) { SetLandingZones(value); return *this;} + + /** + *

                The ARN of the landing zone.

                + */ + inline ListLandingZonesResult& WithLandingZones(Aws::Vector&& value) { SetLandingZones(std::move(value)); return *this;} + + /** + *

                The ARN of the landing zone.

                + */ + inline ListLandingZonesResult& AddLandingZones(const LandingZoneSummary& value) { m_landingZones.push_back(value); return *this; } + + /** + *

                The ARN of the landing zone.

                + */ + inline ListLandingZonesResult& AddLandingZones(LandingZoneSummary&& value) { m_landingZones.push_back(std::move(value)); return *this; } + + + /** + *

                Retrieves the next page of results. If the string is empty, the current + * response is the end of the results.

                + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + + /** + *

                Retrieves the next page of results. If the string is empty, the current + * response is the end of the results.

                + */ + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + + /** + *

                Retrieves the next page of results. If the string is empty, the current + * response is the end of the results.

                + */ + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + + /** + *

                Retrieves the next page of results. If the string is empty, the current + * response is the end of the results.

                + */ + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + + /** + *

                Retrieves the next page of results. If the string is empty, the current + * response is the end of the results.

                + */ + inline ListLandingZonesResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + + /** + *

                Retrieves the next page of results. If the string is empty, the current + * response is the end of the results.

                + */ + inline ListLandingZonesResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + + /** + *

                Retrieves the next page of results. If the string is empty, the current + * response is the end of the results.

                + */ + inline ListLandingZonesResult& 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 ListLandingZonesResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline ListLandingZonesResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline ListLandingZonesResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::Vector m_landingZones; + + Aws::String m_nextToken; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace ControlTower +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/Region.h b/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/Region.h index fede02803a2..d524adf1fe2 100644 --- a/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/Region.h +++ b/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/Region.h @@ -24,10 +24,10 @@ namespace Model { /** - *

                An AWS Region in which AWS Control Tower expects to find the control - * deployed.

                The expected Regions are based on the Regions that are - * governed by the landing zone. In certain cases, a control is not actually - * enabled in the Region as expected, such as during drift, or An Amazon Web Services Region in which Amazon Web Services Control Tower + * expects to find the control deployed.

                The expected Regions are based on + * the Regions that are governed by the landing zone. In certain cases, a control + * is not actually enabled in the Region as expected, such as during drift, or mixed * governance.

                See Also:

                AWS @@ -43,42 +43,42 @@ namespace Model /** - *

                The AWS Region name.

                + *

                The Amazon Web Services Region name.

                */ inline const Aws::String& GetName() const{ return m_name; } /** - *

                The AWS Region name.

                + *

                The Amazon Web Services Region name.

                */ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** - *

                The AWS Region name.

                + *

                The Amazon Web Services Region name.

                */ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** - *

                The AWS Region name.

                + *

                The Amazon Web Services Region name.

                */ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** - *

                The AWS Region name.

                + *

                The Amazon Web Services Region name.

                */ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** - *

                The AWS Region name.

                + *

                The Amazon Web Services Region name.

                */ inline Region& WithName(const Aws::String& value) { SetName(value); return *this;} /** - *

                The AWS Region name.

                + *

                The Amazon Web Services Region name.

                */ inline Region& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** - *

                The AWS Region name.

                + *

                The Amazon Web Services Region name.

                */ inline Region& WithName(const char* value) { SetName(value); return *this;} diff --git a/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/ResetLandingZoneRequest.h b/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/ResetLandingZoneRequest.h new file mode 100644 index 00000000000..3726711683c --- /dev/null +++ b/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/ResetLandingZoneRequest.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 +#include + +namespace Aws +{ +namespace ControlTower +{ +namespace Model +{ + + /** + */ + class ResetLandingZoneRequest : public ControlTowerRequest + { + public: + AWS_CONTROLTOWER_API ResetLandingZoneRequest(); + + // 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 "ResetLandingZone"; } + + AWS_CONTROLTOWER_API Aws::String SerializePayload() const override; + + + /** + *

                The unique identifier of the landing zone.

                + */ + inline const Aws::String& GetLandingZoneIdentifier() const{ return m_landingZoneIdentifier; } + + /** + *

                The unique identifier of the landing zone.

                + */ + inline bool LandingZoneIdentifierHasBeenSet() const { return m_landingZoneIdentifierHasBeenSet; } + + /** + *

                The unique identifier of the landing zone.

                + */ + inline void SetLandingZoneIdentifier(const Aws::String& value) { m_landingZoneIdentifierHasBeenSet = true; m_landingZoneIdentifier = value; } + + /** + *

                The unique identifier of the landing zone.

                + */ + inline void SetLandingZoneIdentifier(Aws::String&& value) { m_landingZoneIdentifierHasBeenSet = true; m_landingZoneIdentifier = std::move(value); } + + /** + *

                The unique identifier of the landing zone.

                + */ + inline void SetLandingZoneIdentifier(const char* value) { m_landingZoneIdentifierHasBeenSet = true; m_landingZoneIdentifier.assign(value); } + + /** + *

                The unique identifier of the landing zone.

                + */ + inline ResetLandingZoneRequest& WithLandingZoneIdentifier(const Aws::String& value) { SetLandingZoneIdentifier(value); return *this;} + + /** + *

                The unique identifier of the landing zone.

                + */ + inline ResetLandingZoneRequest& WithLandingZoneIdentifier(Aws::String&& value) { SetLandingZoneIdentifier(std::move(value)); return *this;} + + /** + *

                The unique identifier of the landing zone.

                + */ + inline ResetLandingZoneRequest& WithLandingZoneIdentifier(const char* value) { SetLandingZoneIdentifier(value); return *this;} + + private: + + Aws::String m_landingZoneIdentifier; + bool m_landingZoneIdentifierHasBeenSet = false; + }; + +} // namespace Model +} // namespace ControlTower +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/ResetLandingZoneResult.h b/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/ResetLandingZoneResult.h new file mode 100644 index 00000000000..86aff65d17b --- /dev/null +++ b/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/ResetLandingZoneResult.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 + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace ControlTower +{ +namespace Model +{ + class ResetLandingZoneResult + { + public: + AWS_CONTROLTOWER_API ResetLandingZoneResult(); + AWS_CONTROLTOWER_API ResetLandingZoneResult(const Aws::AmazonWebServiceResult& result); + AWS_CONTROLTOWER_API ResetLandingZoneResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

                A unique identifier assigned to a ResetLandingZone operation. + * You can use this identifier as an input of GetLandingZoneOperation + * to check the operation's status.

                + */ + inline const Aws::String& GetOperationIdentifier() const{ return m_operationIdentifier; } + + /** + *

                A unique identifier assigned to a ResetLandingZone operation. + * You can use this identifier as an input of GetLandingZoneOperation + * to check the operation's status.

                + */ + inline void SetOperationIdentifier(const Aws::String& value) { m_operationIdentifier = value; } + + /** + *

                A unique identifier assigned to a ResetLandingZone operation. + * You can use this identifier as an input of GetLandingZoneOperation + * to check the operation's status.

                + */ + inline void SetOperationIdentifier(Aws::String&& value) { m_operationIdentifier = std::move(value); } + + /** + *

                A unique identifier assigned to a ResetLandingZone operation. + * You can use this identifier as an input of GetLandingZoneOperation + * to check the operation's status.

                + */ + inline void SetOperationIdentifier(const char* value) { m_operationIdentifier.assign(value); } + + /** + *

                A unique identifier assigned to a ResetLandingZone operation. + * You can use this identifier as an input of GetLandingZoneOperation + * to check the operation's status.

                + */ + inline ResetLandingZoneResult& WithOperationIdentifier(const Aws::String& value) { SetOperationIdentifier(value); return *this;} + + /** + *

                A unique identifier assigned to a ResetLandingZone operation. + * You can use this identifier as an input of GetLandingZoneOperation + * to check the operation's status.

                + */ + inline ResetLandingZoneResult& WithOperationIdentifier(Aws::String&& value) { SetOperationIdentifier(std::move(value)); return *this;} + + /** + *

                A unique identifier assigned to a ResetLandingZone operation. + * You can use this identifier as an input of GetLandingZoneOperation + * to check the operation's status.

                + */ + inline ResetLandingZoneResult& WithOperationIdentifier(const char* value) { SetOperationIdentifier(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 ResetLandingZoneResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline ResetLandingZoneResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline ResetLandingZoneResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::String m_operationIdentifier; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace ControlTower +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/ThrottlingException.h b/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/ThrottlingException.h index 9f87d6a4bbd..036ec540477 100644 --- a/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/ThrottlingException.h +++ b/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/ThrottlingException.h @@ -24,7 +24,7 @@ namespace Model { /** - *

                Request was denied due to request throttling.

                See Also:

                Request was denied due to request throttling.

                See Also:

                AWS * API Reference

                */ diff --git a/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/UpdateLandingZoneRequest.h b/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/UpdateLandingZoneRequest.h new file mode 100644 index 00000000000..e3408f266c3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/UpdateLandingZoneRequest.h @@ -0,0 +1,180 @@ +/** + * 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 ControlTower +{ +namespace Model +{ + + /** + */ + class UpdateLandingZoneRequest : public ControlTowerRequest + { + public: + AWS_CONTROLTOWER_API UpdateLandingZoneRequest(); + + // 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 "UpdateLandingZone"; } + + AWS_CONTROLTOWER_API Aws::String SerializePayload() const override; + + + /** + *

                The unique identifier of the landing zone.

                + */ + inline const Aws::String& GetLandingZoneIdentifier() const{ return m_landingZoneIdentifier; } + + /** + *

                The unique identifier of the landing zone.

                + */ + inline bool LandingZoneIdentifierHasBeenSet() const { return m_landingZoneIdentifierHasBeenSet; } + + /** + *

                The unique identifier of the landing zone.

                + */ + inline void SetLandingZoneIdentifier(const Aws::String& value) { m_landingZoneIdentifierHasBeenSet = true; m_landingZoneIdentifier = value; } + + /** + *

                The unique identifier of the landing zone.

                + */ + inline void SetLandingZoneIdentifier(Aws::String&& value) { m_landingZoneIdentifierHasBeenSet = true; m_landingZoneIdentifier = std::move(value); } + + /** + *

                The unique identifier of the landing zone.

                + */ + inline void SetLandingZoneIdentifier(const char* value) { m_landingZoneIdentifierHasBeenSet = true; m_landingZoneIdentifier.assign(value); } + + /** + *

                The unique identifier of the landing zone.

                + */ + inline UpdateLandingZoneRequest& WithLandingZoneIdentifier(const Aws::String& value) { SetLandingZoneIdentifier(value); return *this;} + + /** + *

                The unique identifier of the landing zone.

                + */ + inline UpdateLandingZoneRequest& WithLandingZoneIdentifier(Aws::String&& value) { SetLandingZoneIdentifier(std::move(value)); return *this;} + + /** + *

                The unique identifier of the landing zone.

                + */ + inline UpdateLandingZoneRequest& WithLandingZoneIdentifier(const char* value) { SetLandingZoneIdentifier(value); return *this;} + + + /** + *

                The manifest.yaml file is a text file that describes your Amazon Web Services + * resources. For examples, review The + * manifest file

                + */ + inline Aws::Utils::DocumentView GetManifest() const{ return m_manifest; } + + /** + *

                The manifest.yaml file is a text file that describes your Amazon Web Services + * resources. For examples, review The + * manifest file

                + */ + inline bool ManifestHasBeenSet() const { return m_manifestHasBeenSet; } + + /** + *

                The manifest.yaml file is a text file that describes your Amazon Web Services + * resources. For examples, review The + * manifest file

                + */ + inline void SetManifest(const Aws::Utils::Document& value) { m_manifestHasBeenSet = true; m_manifest = value; } + + /** + *

                The manifest.yaml file is a text file that describes your Amazon Web Services + * resources. For examples, review The + * manifest file

                + */ + inline void SetManifest(Aws::Utils::Document&& value) { m_manifestHasBeenSet = true; m_manifest = std::move(value); } + + /** + *

                The manifest.yaml file is a text file that describes your Amazon Web Services + * resources. For examples, review The + * manifest file

                + */ + inline UpdateLandingZoneRequest& WithManifest(const Aws::Utils::Document& value) { SetManifest(value); return *this;} + + /** + *

                The manifest.yaml file is a text file that describes your Amazon Web Services + * resources. For examples, review The + * manifest file

                + */ + inline UpdateLandingZoneRequest& WithManifest(Aws::Utils::Document&& value) { SetManifest(std::move(value)); return *this;} + + + /** + *

                The landing zone version.

                + */ + inline const Aws::String& GetVersion() const{ return m_version; } + + /** + *

                The landing zone version.

                + */ + inline bool VersionHasBeenSet() const { return m_versionHasBeenSet; } + + /** + *

                The landing zone version.

                + */ + inline void SetVersion(const Aws::String& value) { m_versionHasBeenSet = true; m_version = value; } + + /** + *

                The landing zone version.

                + */ + inline void SetVersion(Aws::String&& value) { m_versionHasBeenSet = true; m_version = std::move(value); } + + /** + *

                The landing zone version.

                + */ + inline void SetVersion(const char* value) { m_versionHasBeenSet = true; m_version.assign(value); } + + /** + *

                The landing zone version.

                + */ + inline UpdateLandingZoneRequest& WithVersion(const Aws::String& value) { SetVersion(value); return *this;} + + /** + *

                The landing zone version.

                + */ + inline UpdateLandingZoneRequest& WithVersion(Aws::String&& value) { SetVersion(std::move(value)); return *this;} + + /** + *

                The landing zone version.

                + */ + inline UpdateLandingZoneRequest& WithVersion(const char* value) { SetVersion(value); return *this;} + + private: + + Aws::String m_landingZoneIdentifier; + bool m_landingZoneIdentifierHasBeenSet = false; + + Aws::Utils::Document m_manifest; + bool m_manifestHasBeenSet = false; + + Aws::String m_version; + bool m_versionHasBeenSet = false; + }; + +} // namespace Model +} // namespace ControlTower +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/UpdateLandingZoneResult.h b/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/UpdateLandingZoneResult.h new file mode 100644 index 00000000000..f5e97b7adec --- /dev/null +++ b/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/model/UpdateLandingZoneResult.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 + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace ControlTower +{ +namespace Model +{ + class UpdateLandingZoneResult + { + public: + AWS_CONTROLTOWER_API UpdateLandingZoneResult(); + AWS_CONTROLTOWER_API UpdateLandingZoneResult(const Aws::AmazonWebServiceResult& result); + AWS_CONTROLTOWER_API UpdateLandingZoneResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

                A unique identifier assigned to a UpdateLandingZone operation. + * You can use this identifier as an input of GetLandingZoneOperation + * to check the operation's status.

                + */ + inline const Aws::String& GetOperationIdentifier() const{ return m_operationIdentifier; } + + /** + *

                A unique identifier assigned to a UpdateLandingZone operation. + * You can use this identifier as an input of GetLandingZoneOperation + * to check the operation's status.

                + */ + inline void SetOperationIdentifier(const Aws::String& value) { m_operationIdentifier = value; } + + /** + *

                A unique identifier assigned to a UpdateLandingZone operation. + * You can use this identifier as an input of GetLandingZoneOperation + * to check the operation's status.

                + */ + inline void SetOperationIdentifier(Aws::String&& value) { m_operationIdentifier = std::move(value); } + + /** + *

                A unique identifier assigned to a UpdateLandingZone operation. + * You can use this identifier as an input of GetLandingZoneOperation + * to check the operation's status.

                + */ + inline void SetOperationIdentifier(const char* value) { m_operationIdentifier.assign(value); } + + /** + *

                A unique identifier assigned to a UpdateLandingZone operation. + * You can use this identifier as an input of GetLandingZoneOperation + * to check the operation's status.

                + */ + inline UpdateLandingZoneResult& WithOperationIdentifier(const Aws::String& value) { SetOperationIdentifier(value); return *this;} + + /** + *

                A unique identifier assigned to a UpdateLandingZone operation. + * You can use this identifier as an input of GetLandingZoneOperation + * to check the operation's status.

                + */ + inline UpdateLandingZoneResult& WithOperationIdentifier(Aws::String&& value) { SetOperationIdentifier(std::move(value)); return *this;} + + /** + *

                A unique identifier assigned to a UpdateLandingZone operation. + * You can use this identifier as an input of GetLandingZoneOperation + * to check the operation's status.

                + */ + inline UpdateLandingZoneResult& WithOperationIdentifier(const char* value) { SetOperationIdentifier(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 UpdateLandingZoneResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline UpdateLandingZoneResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline UpdateLandingZoneResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::String m_operationIdentifier; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace ControlTower +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-controltower/source/ControlTowerClient.cpp b/generated/src/aws-cpp-sdk-controltower/source/ControlTowerClient.cpp index 449f63adb48..326eaee1146 100644 --- a/generated/src/aws-cpp-sdk-controltower/source/ControlTowerClient.cpp +++ b/generated/src/aws-cpp-sdk-controltower/source/ControlTowerClient.cpp @@ -21,14 +21,21 @@ #include #include #include +#include +#include #include #include #include #include +#include +#include #include +#include #include +#include #include #include +#include #include @@ -162,6 +169,60 @@ void ControlTowerClient::OverrideEndpoint(const Aws::String& endpoint) m_endpointProvider->OverrideEndpoint(endpoint); } +CreateLandingZoneOutcome ControlTowerClient::CreateLandingZone(const CreateLandingZoneRequest& request) const +{ + AWS_OPERATION_GUARD(CreateLandingZone); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CreateLandingZone, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, CreateLandingZone, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CreateLandingZone, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".CreateLandingZone", + {{ 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( + [&]()-> CreateLandingZoneOutcome { + 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, CreateLandingZone, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/create-landingzone"); + return CreateLandingZoneOutcome(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()}}); +} + +DeleteLandingZoneOutcome ControlTowerClient::DeleteLandingZone(const DeleteLandingZoneRequest& request) const +{ + AWS_OPERATION_GUARD(DeleteLandingZone); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteLandingZone, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DeleteLandingZone, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DeleteLandingZone, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DeleteLandingZone", + {{ 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( + [&]()-> DeleteLandingZoneOutcome { + 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, DeleteLandingZone, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/delete-landingzone"); + return DeleteLandingZoneOutcome(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()}}); +} + DisableControlOutcome ControlTowerClient::DisableControl(const DisableControlRequest& request) const { AWS_OPERATION_GUARD(DisableControl); @@ -270,6 +331,60 @@ GetEnabledControlOutcome ControlTowerClient::GetEnabledControl(const GetEnabledC {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +GetLandingZoneOutcome ControlTowerClient::GetLandingZone(const GetLandingZoneRequest& request) const +{ + AWS_OPERATION_GUARD(GetLandingZone); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetLandingZone, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetLandingZone, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetLandingZone, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetLandingZone", + {{ 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( + [&]()-> GetLandingZoneOutcome { + 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, GetLandingZone, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/get-landingzone"); + return GetLandingZoneOutcome(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()}}); +} + +GetLandingZoneOperationOutcome ControlTowerClient::GetLandingZoneOperation(const GetLandingZoneOperationRequest& request) const +{ + AWS_OPERATION_GUARD(GetLandingZoneOperation); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetLandingZoneOperation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetLandingZoneOperation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetLandingZoneOperation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetLandingZoneOperation", + {{ 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( + [&]()-> GetLandingZoneOperationOutcome { + 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, GetLandingZoneOperation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/get-landingzone-operation"); + return GetLandingZoneOperationOutcome(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()}}); +} + ListEnabledControlsOutcome ControlTowerClient::ListEnabledControls(const ListEnabledControlsRequest& request) const { AWS_OPERATION_GUARD(ListEnabledControls); @@ -297,6 +412,33 @@ ListEnabledControlsOutcome ControlTowerClient::ListEnabledControls(const ListEna {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +ListLandingZonesOutcome ControlTowerClient::ListLandingZones(const ListLandingZonesRequest& request) const +{ + AWS_OPERATION_GUARD(ListLandingZones); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListLandingZones, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListLandingZones, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListLandingZones, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListLandingZones", + {{ 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( + [&]()-> ListLandingZonesOutcome { + 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, ListLandingZones, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/list-landingzones"); + return ListLandingZonesOutcome(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()}}); +} + ListTagsForResourceOutcome ControlTowerClient::ListTagsForResource(const ListTagsForResourceRequest& request) const { AWS_OPERATION_GUARD(ListTagsForResource); @@ -330,6 +472,33 @@ ListTagsForResourceOutcome ControlTowerClient::ListTagsForResource(const ListTag {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +ResetLandingZoneOutcome ControlTowerClient::ResetLandingZone(const ResetLandingZoneRequest& request) const +{ + AWS_OPERATION_GUARD(ResetLandingZone); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ResetLandingZone, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ResetLandingZone, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ResetLandingZone, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ResetLandingZone", + {{ 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( + [&]()-> ResetLandingZoneOutcome { + 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, ResetLandingZone, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/reset-landingzone"); + return ResetLandingZoneOutcome(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()}}); +} + TagResourceOutcome ControlTowerClient::TagResource(const TagResourceRequest& request) const { AWS_OPERATION_GUARD(TagResource); @@ -401,3 +570,30 @@ UntagResourceOutcome ControlTowerClient::UntagResource(const UntagResourceReques {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +UpdateLandingZoneOutcome ControlTowerClient::UpdateLandingZone(const UpdateLandingZoneRequest& request) const +{ + AWS_OPERATION_GUARD(UpdateLandingZone); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UpdateLandingZone, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, UpdateLandingZone, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, UpdateLandingZone, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".UpdateLandingZone", + {{ 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( + [&]()-> UpdateLandingZoneOutcome { + 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, UpdateLandingZone, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/update-landingzone"); + return UpdateLandingZoneOutcome(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()}}); +} + diff --git a/generated/src/aws-cpp-sdk-controltower/source/model/CreateLandingZoneRequest.cpp b/generated/src/aws-cpp-sdk-controltower/source/model/CreateLandingZoneRequest.cpp new file mode 100644 index 00000000000..4720d537946 --- /dev/null +++ b/generated/src/aws-cpp-sdk-controltower/source/model/CreateLandingZoneRequest.cpp @@ -0,0 +1,56 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::ControlTower::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +CreateLandingZoneRequest::CreateLandingZoneRequest() : + m_manifestHasBeenSet(false), + m_tagsHasBeenSet(false), + m_versionHasBeenSet(false) +{ +} + +Aws::String CreateLandingZoneRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_manifestHasBeenSet) + { + if(!m_manifest.View().IsNull()) + { + payload.WithObject("manifest", JsonValue(m_manifest.View())); + } + } + + if(m_tagsHasBeenSet) + { + JsonValue tagsJsonMap; + for(auto& tagsItem : m_tags) + { + tagsJsonMap.WithString(tagsItem.first, tagsItem.second); + } + payload.WithObject("tags", std::move(tagsJsonMap)); + + } + + if(m_versionHasBeenSet) + { + payload.WithString("version", m_version); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-controltower/source/model/CreateLandingZoneResult.cpp b/generated/src/aws-cpp-sdk-controltower/source/model/CreateLandingZoneResult.cpp new file mode 100644 index 00000000000..0350cd84959 --- /dev/null +++ b/generated/src/aws-cpp-sdk-controltower/source/model/CreateLandingZoneResult.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::ControlTower::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +CreateLandingZoneResult::CreateLandingZoneResult() +{ +} + +CreateLandingZoneResult::CreateLandingZoneResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +CreateLandingZoneResult& CreateLandingZoneResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("arn")) + { + m_arn = jsonValue.GetString("arn"); + + } + + if(jsonValue.ValueExists("operationIdentifier")) + { + m_operationIdentifier = jsonValue.GetString("operationIdentifier"); + + } + + + 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-controltower/source/model/DeleteLandingZoneRequest.cpp b/generated/src/aws-cpp-sdk-controltower/source/model/DeleteLandingZoneRequest.cpp new file mode 100644 index 00000000000..144b1c3fdb1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-controltower/source/model/DeleteLandingZoneRequest.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::ControlTower::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +DeleteLandingZoneRequest::DeleteLandingZoneRequest() : + m_landingZoneIdentifierHasBeenSet(false) +{ +} + +Aws::String DeleteLandingZoneRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_landingZoneIdentifierHasBeenSet) + { + payload.WithString("landingZoneIdentifier", m_landingZoneIdentifier); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-controltower/source/model/DeleteLandingZoneResult.cpp b/generated/src/aws-cpp-sdk-controltower/source/model/DeleteLandingZoneResult.cpp new file mode 100644 index 00000000000..53c78a8cfc9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-controltower/source/model/DeleteLandingZoneResult.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::ControlTower::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DeleteLandingZoneResult::DeleteLandingZoneResult() +{ +} + +DeleteLandingZoneResult::DeleteLandingZoneResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DeleteLandingZoneResult& DeleteLandingZoneResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("operationIdentifier")) + { + m_operationIdentifier = jsonValue.GetString("operationIdentifier"); + + } + + + 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-controltower/source/model/GetLandingZoneOperationRequest.cpp b/generated/src/aws-cpp-sdk-controltower/source/model/GetLandingZoneOperationRequest.cpp new file mode 100644 index 00000000000..3b00d5701ba --- /dev/null +++ b/generated/src/aws-cpp-sdk-controltower/source/model/GetLandingZoneOperationRequest.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::ControlTower::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +GetLandingZoneOperationRequest::GetLandingZoneOperationRequest() : + m_operationIdentifierHasBeenSet(false) +{ +} + +Aws::String GetLandingZoneOperationRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_operationIdentifierHasBeenSet) + { + payload.WithString("operationIdentifier", m_operationIdentifier); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-controltower/source/model/GetLandingZoneOperationResult.cpp b/generated/src/aws-cpp-sdk-controltower/source/model/GetLandingZoneOperationResult.cpp new file mode 100644 index 00000000000..3ff38e77345 --- /dev/null +++ b/generated/src/aws-cpp-sdk-controltower/source/model/GetLandingZoneOperationResult.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::ControlTower::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetLandingZoneOperationResult::GetLandingZoneOperationResult() +{ +} + +GetLandingZoneOperationResult::GetLandingZoneOperationResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetLandingZoneOperationResult& GetLandingZoneOperationResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("operationDetails")) + { + m_operationDetails = jsonValue.GetObject("operationDetails"); + + } + + + 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-controltower/source/model/GetLandingZoneRequest.cpp b/generated/src/aws-cpp-sdk-controltower/source/model/GetLandingZoneRequest.cpp new file mode 100644 index 00000000000..3ae40cb8103 --- /dev/null +++ b/generated/src/aws-cpp-sdk-controltower/source/model/GetLandingZoneRequest.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::ControlTower::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +GetLandingZoneRequest::GetLandingZoneRequest() : + m_landingZoneIdentifierHasBeenSet(false) +{ +} + +Aws::String GetLandingZoneRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_landingZoneIdentifierHasBeenSet) + { + payload.WithString("landingZoneIdentifier", m_landingZoneIdentifier); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-controltower/source/model/GetLandingZoneResult.cpp b/generated/src/aws-cpp-sdk-controltower/source/model/GetLandingZoneResult.cpp new file mode 100644 index 00000000000..8fcd28a67f4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-controltower/source/model/GetLandingZoneResult.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::ControlTower::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetLandingZoneResult::GetLandingZoneResult() +{ +} + +GetLandingZoneResult::GetLandingZoneResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetLandingZoneResult& GetLandingZoneResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("landingZone")) + { + m_landingZone = jsonValue.GetObject("landingZone"); + + } + + + 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-controltower/source/model/LandingZoneDetail.cpp b/generated/src/aws-cpp-sdk-controltower/source/model/LandingZoneDetail.cpp new file mode 100644 index 00000000000..703bc4d69f3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-controltower/source/model/LandingZoneDetail.cpp @@ -0,0 +1,137 @@ +/** + * 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 ControlTower +{ +namespace Model +{ + +LandingZoneDetail::LandingZoneDetail() : + m_arnHasBeenSet(false), + m_driftStatusHasBeenSet(false), + m_latestAvailableVersionHasBeenSet(false), + m_manifestHasBeenSet(false), + m_status(LandingZoneStatus::NOT_SET), + m_statusHasBeenSet(false), + m_versionHasBeenSet(false) +{ +} + +LandingZoneDetail::LandingZoneDetail(JsonView jsonValue) : + m_arnHasBeenSet(false), + m_driftStatusHasBeenSet(false), + m_latestAvailableVersionHasBeenSet(false), + m_manifestHasBeenSet(false), + m_status(LandingZoneStatus::NOT_SET), + m_statusHasBeenSet(false), + m_versionHasBeenSet(false) +{ + *this = jsonValue; +} + +LandingZoneDetail& LandingZoneDetail::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("arn")) + { + m_arn = jsonValue.GetString("arn"); + + m_arnHasBeenSet = true; + } + + if(jsonValue.ValueExists("driftStatus")) + { + m_driftStatus = jsonValue.GetObject("driftStatus"); + + m_driftStatusHasBeenSet = true; + } + + if(jsonValue.ValueExists("latestAvailableVersion")) + { + m_latestAvailableVersion = jsonValue.GetString("latestAvailableVersion"); + + m_latestAvailableVersionHasBeenSet = true; + } + + if(jsonValue.ValueExists("manifest")) + { + m_manifest = jsonValue.GetObject("manifest"); + + m_manifestHasBeenSet = true; + } + + if(jsonValue.ValueExists("status")) + { + m_status = LandingZoneStatusMapper::GetLandingZoneStatusForName(jsonValue.GetString("status")); + + m_statusHasBeenSet = true; + } + + if(jsonValue.ValueExists("version")) + { + m_version = jsonValue.GetString("version"); + + m_versionHasBeenSet = true; + } + + return *this; +} + +JsonValue LandingZoneDetail::Jsonize() const +{ + JsonValue payload; + + if(m_arnHasBeenSet) + { + payload.WithString("arn", m_arn); + + } + + if(m_driftStatusHasBeenSet) + { + payload.WithObject("driftStatus", m_driftStatus.Jsonize()); + + } + + if(m_latestAvailableVersionHasBeenSet) + { + payload.WithString("latestAvailableVersion", m_latestAvailableVersion); + + } + + if(m_manifestHasBeenSet) + { + if(!m_manifest.View().IsNull()) + { + payload.WithObject("manifest", JsonValue(m_manifest.View())); + } + } + + if(m_statusHasBeenSet) + { + payload.WithString("status", LandingZoneStatusMapper::GetNameForLandingZoneStatus(m_status)); + } + + if(m_versionHasBeenSet) + { + payload.WithString("version", m_version); + + } + + return payload; +} + +} // namespace Model +} // namespace ControlTower +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-controltower/source/model/LandingZoneDriftStatus.cpp b/generated/src/aws-cpp-sdk-controltower/source/model/LandingZoneDriftStatus.cpp new file mode 100644 index 00000000000..f3b1a9c0ab0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-controltower/source/model/LandingZoneDriftStatus.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 ControlTower + { + namespace Model + { + namespace LandingZoneDriftStatusMapper + { + + static const int DRIFTED_HASH = HashingUtils::HashString("DRIFTED"); + static const int IN_SYNC_HASH = HashingUtils::HashString("IN_SYNC"); + + + LandingZoneDriftStatus GetLandingZoneDriftStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == DRIFTED_HASH) + { + return LandingZoneDriftStatus::DRIFTED; + } + else if (hashCode == IN_SYNC_HASH) + { + return LandingZoneDriftStatus::IN_SYNC; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return LandingZoneDriftStatus::NOT_SET; + } + + Aws::String GetNameForLandingZoneDriftStatus(LandingZoneDriftStatus enumValue) + { + switch(enumValue) + { + case LandingZoneDriftStatus::NOT_SET: + return {}; + case LandingZoneDriftStatus::DRIFTED: + return "DRIFTED"; + case LandingZoneDriftStatus::IN_SYNC: + return "IN_SYNC"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace LandingZoneDriftStatusMapper + } // namespace Model + } // namespace ControlTower +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-controltower/source/model/LandingZoneDriftStatusSummary.cpp b/generated/src/aws-cpp-sdk-controltower/source/model/LandingZoneDriftStatusSummary.cpp new file mode 100644 index 00000000000..3375b0b5c7a --- /dev/null +++ b/generated/src/aws-cpp-sdk-controltower/source/model/LandingZoneDriftStatusSummary.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 ControlTower +{ +namespace Model +{ + +LandingZoneDriftStatusSummary::LandingZoneDriftStatusSummary() : + m_status(LandingZoneDriftStatus::NOT_SET), + m_statusHasBeenSet(false) +{ +} + +LandingZoneDriftStatusSummary::LandingZoneDriftStatusSummary(JsonView jsonValue) : + m_status(LandingZoneDriftStatus::NOT_SET), + m_statusHasBeenSet(false) +{ + *this = jsonValue; +} + +LandingZoneDriftStatusSummary& LandingZoneDriftStatusSummary::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("status")) + { + m_status = LandingZoneDriftStatusMapper::GetLandingZoneDriftStatusForName(jsonValue.GetString("status")); + + m_statusHasBeenSet = true; + } + + return *this; +} + +JsonValue LandingZoneDriftStatusSummary::Jsonize() const +{ + JsonValue payload; + + if(m_statusHasBeenSet) + { + payload.WithString("status", LandingZoneDriftStatusMapper::GetNameForLandingZoneDriftStatus(m_status)); + } + + return payload; +} + +} // namespace Model +} // namespace ControlTower +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-controltower/source/model/LandingZoneOperationDetail.cpp b/generated/src/aws-cpp-sdk-controltower/source/model/LandingZoneOperationDetail.cpp new file mode 100644 index 00000000000..01d4ca9ea93 --- /dev/null +++ b/generated/src/aws-cpp-sdk-controltower/source/model/LandingZoneOperationDetail.cpp @@ -0,0 +1,119 @@ +/** + * 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 ControlTower +{ +namespace Model +{ + +LandingZoneOperationDetail::LandingZoneOperationDetail() : + m_endTimeHasBeenSet(false), + m_operationType(LandingZoneOperationType::NOT_SET), + m_operationTypeHasBeenSet(false), + m_startTimeHasBeenSet(false), + m_status(LandingZoneOperationStatus::NOT_SET), + m_statusHasBeenSet(false), + m_statusMessageHasBeenSet(false) +{ +} + +LandingZoneOperationDetail::LandingZoneOperationDetail(JsonView jsonValue) : + m_endTimeHasBeenSet(false), + m_operationType(LandingZoneOperationType::NOT_SET), + m_operationTypeHasBeenSet(false), + m_startTimeHasBeenSet(false), + m_status(LandingZoneOperationStatus::NOT_SET), + m_statusHasBeenSet(false), + m_statusMessageHasBeenSet(false) +{ + *this = jsonValue; +} + +LandingZoneOperationDetail& LandingZoneOperationDetail::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("endTime")) + { + m_endTime = jsonValue.GetString("endTime"); + + m_endTimeHasBeenSet = true; + } + + if(jsonValue.ValueExists("operationType")) + { + m_operationType = LandingZoneOperationTypeMapper::GetLandingZoneOperationTypeForName(jsonValue.GetString("operationType")); + + m_operationTypeHasBeenSet = true; + } + + if(jsonValue.ValueExists("startTime")) + { + m_startTime = jsonValue.GetString("startTime"); + + m_startTimeHasBeenSet = true; + } + + if(jsonValue.ValueExists("status")) + { + m_status = LandingZoneOperationStatusMapper::GetLandingZoneOperationStatusForName(jsonValue.GetString("status")); + + m_statusHasBeenSet = true; + } + + if(jsonValue.ValueExists("statusMessage")) + { + m_statusMessage = jsonValue.GetString("statusMessage"); + + m_statusMessageHasBeenSet = true; + } + + return *this; +} + +JsonValue LandingZoneOperationDetail::Jsonize() const +{ + JsonValue payload; + + if(m_endTimeHasBeenSet) + { + payload.WithString("endTime", m_endTime.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + if(m_operationTypeHasBeenSet) + { + payload.WithString("operationType", LandingZoneOperationTypeMapper::GetNameForLandingZoneOperationType(m_operationType)); + } + + if(m_startTimeHasBeenSet) + { + payload.WithString("startTime", m_startTime.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + if(m_statusHasBeenSet) + { + payload.WithString("status", LandingZoneOperationStatusMapper::GetNameForLandingZoneOperationStatus(m_status)); + } + + if(m_statusMessageHasBeenSet) + { + payload.WithString("statusMessage", m_statusMessage); + + } + + return payload; +} + +} // namespace Model +} // namespace ControlTower +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-controltower/source/model/LandingZoneOperationStatus.cpp b/generated/src/aws-cpp-sdk-controltower/source/model/LandingZoneOperationStatus.cpp new file mode 100644 index 00000000000..70af659e5c0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-controltower/source/model/LandingZoneOperationStatus.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 ControlTower + { + namespace Model + { + namespace LandingZoneOperationStatusMapper + { + + static const int SUCCEEDED_HASH = HashingUtils::HashString("SUCCEEDED"); + static const int FAILED_HASH = HashingUtils::HashString("FAILED"); + static const int IN_PROGRESS_HASH = HashingUtils::HashString("IN_PROGRESS"); + + + LandingZoneOperationStatus GetLandingZoneOperationStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == SUCCEEDED_HASH) + { + return LandingZoneOperationStatus::SUCCEEDED; + } + else if (hashCode == FAILED_HASH) + { + return LandingZoneOperationStatus::FAILED; + } + else if (hashCode == IN_PROGRESS_HASH) + { + return LandingZoneOperationStatus::IN_PROGRESS; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return LandingZoneOperationStatus::NOT_SET; + } + + Aws::String GetNameForLandingZoneOperationStatus(LandingZoneOperationStatus enumValue) + { + switch(enumValue) + { + case LandingZoneOperationStatus::NOT_SET: + return {}; + case LandingZoneOperationStatus::SUCCEEDED: + return "SUCCEEDED"; + case LandingZoneOperationStatus::FAILED: + return "FAILED"; + case LandingZoneOperationStatus::IN_PROGRESS: + return "IN_PROGRESS"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace LandingZoneOperationStatusMapper + } // namespace Model + } // namespace ControlTower +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-controltower/source/model/LandingZoneOperationType.cpp b/generated/src/aws-cpp-sdk-controltower/source/model/LandingZoneOperationType.cpp new file mode 100644 index 00000000000..599c5423207 --- /dev/null +++ b/generated/src/aws-cpp-sdk-controltower/source/model/LandingZoneOperationType.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 ControlTower + { + namespace Model + { + namespace LandingZoneOperationTypeMapper + { + + static const int DELETE__HASH = HashingUtils::HashString("DELETE"); + static const int CREATE_HASH = HashingUtils::HashString("CREATE"); + static const int UPDATE_HASH = HashingUtils::HashString("UPDATE"); + static const int RESET_HASH = HashingUtils::HashString("RESET"); + + + LandingZoneOperationType GetLandingZoneOperationTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == DELETE__HASH) + { + return LandingZoneOperationType::DELETE_; + } + else if (hashCode == CREATE_HASH) + { + return LandingZoneOperationType::CREATE; + } + else if (hashCode == UPDATE_HASH) + { + return LandingZoneOperationType::UPDATE; + } + else if (hashCode == RESET_HASH) + { + return LandingZoneOperationType::RESET; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return LandingZoneOperationType::NOT_SET; + } + + Aws::String GetNameForLandingZoneOperationType(LandingZoneOperationType enumValue) + { + switch(enumValue) + { + case LandingZoneOperationType::NOT_SET: + return {}; + case LandingZoneOperationType::DELETE_: + return "DELETE"; + case LandingZoneOperationType::CREATE: + return "CREATE"; + case LandingZoneOperationType::UPDATE: + return "UPDATE"; + case LandingZoneOperationType::RESET: + return "RESET"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace LandingZoneOperationTypeMapper + } // namespace Model + } // namespace ControlTower +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-controltower/source/model/LandingZoneStatus.cpp b/generated/src/aws-cpp-sdk-controltower/source/model/LandingZoneStatus.cpp new file mode 100644 index 00000000000..c064a37e590 --- /dev/null +++ b/generated/src/aws-cpp-sdk-controltower/source/model/LandingZoneStatus.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 ControlTower + { + namespace Model + { + namespace LandingZoneStatusMapper + { + + static const int ACTIVE_HASH = HashingUtils::HashString("ACTIVE"); + static const int PROCESSING_HASH = HashingUtils::HashString("PROCESSING"); + static const int FAILED_HASH = HashingUtils::HashString("FAILED"); + + + LandingZoneStatus GetLandingZoneStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == ACTIVE_HASH) + { + return LandingZoneStatus::ACTIVE; + } + else if (hashCode == PROCESSING_HASH) + { + return LandingZoneStatus::PROCESSING; + } + else if (hashCode == FAILED_HASH) + { + return LandingZoneStatus::FAILED; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return LandingZoneStatus::NOT_SET; + } + + Aws::String GetNameForLandingZoneStatus(LandingZoneStatus enumValue) + { + switch(enumValue) + { + case LandingZoneStatus::NOT_SET: + return {}; + case LandingZoneStatus::ACTIVE: + return "ACTIVE"; + case LandingZoneStatus::PROCESSING: + return "PROCESSING"; + case LandingZoneStatus::FAILED: + return "FAILED"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace LandingZoneStatusMapper + } // namespace Model + } // namespace ControlTower +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-controltower/source/model/LandingZoneSummary.cpp b/generated/src/aws-cpp-sdk-controltower/source/model/LandingZoneSummary.cpp new file mode 100644 index 00000000000..564a1a2b59e --- /dev/null +++ b/generated/src/aws-cpp-sdk-controltower/source/model/LandingZoneSummary.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 ControlTower +{ +namespace Model +{ + +LandingZoneSummary::LandingZoneSummary() : + m_arnHasBeenSet(false) +{ +} + +LandingZoneSummary::LandingZoneSummary(JsonView jsonValue) : + m_arnHasBeenSet(false) +{ + *this = jsonValue; +} + +LandingZoneSummary& LandingZoneSummary::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("arn")) + { + m_arn = jsonValue.GetString("arn"); + + m_arnHasBeenSet = true; + } + + return *this; +} + +JsonValue LandingZoneSummary::Jsonize() const +{ + JsonValue payload; + + if(m_arnHasBeenSet) + { + payload.WithString("arn", m_arn); + + } + + return payload; +} + +} // namespace Model +} // namespace ControlTower +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-controltower/source/model/ListLandingZonesRequest.cpp b/generated/src/aws-cpp-sdk-controltower/source/model/ListLandingZonesRequest.cpp new file mode 100644 index 00000000000..00dce22b83b --- /dev/null +++ b/generated/src/aws-cpp-sdk-controltower/source/model/ListLandingZonesRequest.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::ControlTower::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +ListLandingZonesRequest::ListLandingZonesRequest() : + m_maxResults(0), + m_maxResultsHasBeenSet(false), + m_nextTokenHasBeenSet(false) +{ +} + +Aws::String ListLandingZonesRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_maxResultsHasBeenSet) + { + payload.WithInteger("maxResults", m_maxResults); + + } + + if(m_nextTokenHasBeenSet) + { + payload.WithString("nextToken", m_nextToken); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-controltower/source/model/ListLandingZonesResult.cpp b/generated/src/aws-cpp-sdk-controltower/source/model/ListLandingZonesResult.cpp new file mode 100644 index 00000000000..6d204bea177 --- /dev/null +++ b/generated/src/aws-cpp-sdk-controltower/source/model/ListLandingZonesResult.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::ControlTower::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListLandingZonesResult::ListLandingZonesResult() +{ +} + +ListLandingZonesResult::ListLandingZonesResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListLandingZonesResult& ListLandingZonesResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("landingZones")) + { + Aws::Utils::Array landingZonesJsonList = jsonValue.GetArray("landingZones"); + for(unsigned landingZonesIndex = 0; landingZonesIndex < landingZonesJsonList.GetLength(); ++landingZonesIndex) + { + m_landingZones.push_back(landingZonesJsonList[landingZonesIndex].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-controltower/source/model/ResetLandingZoneRequest.cpp b/generated/src/aws-cpp-sdk-controltower/source/model/ResetLandingZoneRequest.cpp new file mode 100644 index 00000000000..d9d585124b5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-controltower/source/model/ResetLandingZoneRequest.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::ControlTower::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +ResetLandingZoneRequest::ResetLandingZoneRequest() : + m_landingZoneIdentifierHasBeenSet(false) +{ +} + +Aws::String ResetLandingZoneRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_landingZoneIdentifierHasBeenSet) + { + payload.WithString("landingZoneIdentifier", m_landingZoneIdentifier); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-controltower/source/model/ResetLandingZoneResult.cpp b/generated/src/aws-cpp-sdk-controltower/source/model/ResetLandingZoneResult.cpp new file mode 100644 index 00000000000..5b87f7f5a48 --- /dev/null +++ b/generated/src/aws-cpp-sdk-controltower/source/model/ResetLandingZoneResult.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::ControlTower::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ResetLandingZoneResult::ResetLandingZoneResult() +{ +} + +ResetLandingZoneResult::ResetLandingZoneResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ResetLandingZoneResult& ResetLandingZoneResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("operationIdentifier")) + { + m_operationIdentifier = jsonValue.GetString("operationIdentifier"); + + } + + + 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-controltower/source/model/UpdateLandingZoneRequest.cpp b/generated/src/aws-cpp-sdk-controltower/source/model/UpdateLandingZoneRequest.cpp new file mode 100644 index 00000000000..7ba08446131 --- /dev/null +++ b/generated/src/aws-cpp-sdk-controltower/source/model/UpdateLandingZoneRequest.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::ControlTower::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +UpdateLandingZoneRequest::UpdateLandingZoneRequest() : + m_landingZoneIdentifierHasBeenSet(false), + m_manifestHasBeenSet(false), + m_versionHasBeenSet(false) +{ +} + +Aws::String UpdateLandingZoneRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_landingZoneIdentifierHasBeenSet) + { + payload.WithString("landingZoneIdentifier", m_landingZoneIdentifier); + + } + + if(m_manifestHasBeenSet) + { + if(!m_manifest.View().IsNull()) + { + payload.WithObject("manifest", JsonValue(m_manifest.View())); + } + } + + if(m_versionHasBeenSet) + { + payload.WithString("version", m_version); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-controltower/source/model/UpdateLandingZoneResult.cpp b/generated/src/aws-cpp-sdk-controltower/source/model/UpdateLandingZoneResult.cpp new file mode 100644 index 00000000000..0b23f639678 --- /dev/null +++ b/generated/src/aws-cpp-sdk-controltower/source/model/UpdateLandingZoneResult.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::ControlTower::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +UpdateLandingZoneResult::UpdateLandingZoneResult() +{ +} + +UpdateLandingZoneResult::UpdateLandingZoneResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +UpdateLandingZoneResult& UpdateLandingZoneResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("operationIdentifier")) + { + m_operationIdentifier = jsonValue.GetString("operationIdentifier"); + + } + + + 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-cost-optimization-hub/CMakeLists.txt b/generated/src/aws-cpp-sdk-cost-optimization-hub/CMakeLists.txt new file mode 100644 index 00000000000..eae9e709f9b --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/CMakeLists.txt @@ -0,0 +1,76 @@ +add_project(aws-cpp-sdk-cost-optimization-hub "C++ SDK for the AWS cost-optimization-hub service" aws-cpp-sdk-core) + +file(GLOB AWS_COST-OPTIMIZATION-HUB_HEADERS + "include/aws/cost-optimization-hub/*.h" +) + +file(GLOB AWS_COST-OPTIMIZATION-HUB_MODEL_HEADERS + "include/aws/cost-optimization-hub/model/*.h" +) + +file(GLOB AWS_COST-OPTIMIZATION-HUB_SOURCE + "source/*.cpp" +) + +file(GLOB AWS_COST-OPTIMIZATION-HUB_MODEL_SOURCE + "source/model/*.cpp" +) + +file(GLOB COST-OPTIMIZATION-HUB_UNIFIED_HEADERS + ${AWS_COST-OPTIMIZATION-HUB_HEADERS} + ${AWS_COST-OPTIMIZATION-HUB_MODEL_HEADERS} +) + +file(GLOB COST-OPTIMIZATION-HUB_UNITY_SRC + ${AWS_COST-OPTIMIZATION-HUB_SOURCE} + ${AWS_COST-OPTIMIZATION-HUB_MODEL_SOURCE} +) + +if(ENABLE_UNITY_BUILD) + enable_unity_build("COST-OPTIMIZATION-HUB" COST-OPTIMIZATION-HUB_UNITY_SRC) +endif() + +file(GLOB COST-OPTIMIZATION-HUB_SRC + ${COST-OPTIMIZATION-HUB_UNIFIED_HEADERS} + ${COST-OPTIMIZATION-HUB_UNITY_SRC} +) + +if(WIN32) + #if we are compiling for visual studio, create a sane directory tree. + if(MSVC) + source_group("Header Files\\aws\\cost-optimization-hub" FILES ${AWS_COST-OPTIMIZATION-HUB_HEADERS}) + source_group("Header Files\\aws\\cost-optimization-hub\\model" FILES ${AWS_COST-OPTIMIZATION-HUB_MODEL_HEADERS}) + source_group("Source Files" FILES ${AWS_COST-OPTIMIZATION-HUB_SOURCE}) + source_group("Source Files\\model" FILES ${AWS_COST-OPTIMIZATION-HUB_MODEL_SOURCE}) + endif(MSVC) +endif() + +set(COST-OPTIMIZATION-HUB_INCLUDES + "${CMAKE_CURRENT_SOURCE_DIR}/include/" +) + +add_library(${PROJECT_NAME} ${COST-OPTIMIZATION-HUB_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_COSTOPTIMIZATIONHUB_EXPORTS") +endif() + +target_include_directories(${PROJECT_NAME} PUBLIC + $ + $) + +target_link_libraries(${PROJECT_NAME} PRIVATE ${PLATFORM_DEP_LIBS} ${PROJECT_LIBS}) + + +setup_install() + +install (FILES ${AWS_COST-OPTIMIZATION-HUB_HEADERS} DESTINATION ${INCLUDE_DIRECTORY}/aws/cost-optimization-hub) +install (FILES ${AWS_COST-OPTIMIZATION-HUB_MODEL_HEADERS} DESTINATION ${INCLUDE_DIRECTORY}/aws/cost-optimization-hub/model) + +do_packaging() + + diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/CostOptimizationHubClient.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/CostOptimizationHubClient.h new file mode 100644 index 00000000000..64474102906 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/CostOptimizationHubClient.h @@ -0,0 +1,295 @@ +/** + * 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 CostOptimizationHub +{ + /** + *

                You can use the Cost Optimization Hub API to programmatically identify, + * filter, aggregate, and quantify savings for your cost optimization + * recommendations across multiple Amazon Web Services Regions and Amazon Web + * Services accounts in your organization.

                The Cost Optimization Hub API + * provides the following endpoint:

                • + * https://cost-optimization-hub.us-east-1.amazonaws.com

                + */ + class AWS_COSTOPTIMIZATIONHUB_API CostOptimizationHubClient : public Aws::Client::AWSJsonClient, public Aws::Client::ClientWithAsyncTemplateMethods + { + public: + typedef Aws::Client::AWSJsonClient BASECLASS; + static const char* SERVICE_NAME; + static const char* ALLOCATION_TAG; + + typedef CostOptimizationHubClientConfiguration ClientConfigurationType; + typedef CostOptimizationHubEndpointProvider 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. + */ + CostOptimizationHubClient(const Aws::CostOptimizationHub::CostOptimizationHubClientConfiguration& clientConfiguration = Aws::CostOptimizationHub::CostOptimizationHubClientConfiguration(), + std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG)); + + /** + * 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. + */ + CostOptimizationHubClient(const Aws::Auth::AWSCredentials& credentials, + std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG), + const Aws::CostOptimizationHub::CostOptimizationHubClientConfiguration& clientConfiguration = Aws::CostOptimizationHub::CostOptimizationHubClientConfiguration()); + + /** + * 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 + */ + CostOptimizationHubClient(const std::shared_ptr& credentialsProvider, + std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG), + const Aws::CostOptimizationHub::CostOptimizationHubClientConfiguration& clientConfiguration = Aws::CostOptimizationHub::CostOptimizationHubClientConfiguration()); + + + /* 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. + */ + CostOptimizationHubClient(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. + */ + CostOptimizationHubClient(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 + */ + CostOptimizationHubClient(const std::shared_ptr& credentialsProvider, + const Aws::Client::ClientConfiguration& clientConfiguration); + + /* End of legacy constructors due deprecation */ + virtual ~CostOptimizationHubClient(); + + /** + *

                Returns a set of preferences for an account in order to add account-specific + * preferences into the service. These preferences impact how the savings + * associated with recommendations are presented—estimated savings after discounts + * or estimated savings before discounts, for example.

                See Also:

                + * AWS + * API Reference

                + */ + virtual Model::GetPreferencesOutcome GetPreferences(const Model::GetPreferencesRequest& request) const; + + /** + * A Callable wrapper for GetPreferences that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetPreferencesOutcomeCallable GetPreferencesCallable(const GetPreferencesRequestT& request) const + { + return SubmitCallable(&CostOptimizationHubClient::GetPreferences, request); + } + + /** + * An Async wrapper for GetPreferences that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetPreferencesAsync(const GetPreferencesRequestT& request, const GetPreferencesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&CostOptimizationHubClient::GetPreferences, request, handler, context); + } + + /** + *

                Returns both the current and recommended resource configuration and the + * estimated cost impact for a recommendation.

                The + * recommendationId is only valid for up to a maximum of 24 hours as + * recommendations are refreshed daily. To retrieve the + * recommendationId, use the ListRecommendations + * API.

                See Also:

                AWS + * API Reference

                + */ + virtual Model::GetRecommendationOutcome GetRecommendation(const Model::GetRecommendationRequest& request) const; + + /** + * A Callable wrapper for GetRecommendation that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetRecommendationOutcomeCallable GetRecommendationCallable(const GetRecommendationRequestT& request) const + { + return SubmitCallable(&CostOptimizationHubClient::GetRecommendation, request); + } + + /** + * An Async wrapper for GetRecommendation that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetRecommendationAsync(const GetRecommendationRequestT& request, const GetRecommendationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&CostOptimizationHubClient::GetRecommendation, request, handler, context); + } + + /** + *

                Retrieves the enrollment status for an account. It can also return the list + * of accounts that are enrolled under the organization.

                See Also:

                + * AWS + * API Reference

                + */ + virtual Model::ListEnrollmentStatusesOutcome ListEnrollmentStatuses(const Model::ListEnrollmentStatusesRequest& request) const; + + /** + * A Callable wrapper for ListEnrollmentStatuses that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListEnrollmentStatusesOutcomeCallable ListEnrollmentStatusesCallable(const ListEnrollmentStatusesRequestT& request) const + { + return SubmitCallable(&CostOptimizationHubClient::ListEnrollmentStatuses, request); + } + + /** + * An Async wrapper for ListEnrollmentStatuses that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListEnrollmentStatusesAsync(const ListEnrollmentStatusesRequestT& request, const ListEnrollmentStatusesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&CostOptimizationHubClient::ListEnrollmentStatuses, request, handler, context); + } + + /** + *

                Returns a concise representation of savings estimates for resources. Also + * returns de-duped savings across different types of recommendations.

                + *

                The following filters are not supported for this API: + * recommendationIds, resourceArns, and + * resourceIds.

                See Also:

                AWS + * API Reference

                + */ + virtual Model::ListRecommendationSummariesOutcome ListRecommendationSummaries(const Model::ListRecommendationSummariesRequest& request) const; + + /** + * A Callable wrapper for ListRecommendationSummaries that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListRecommendationSummariesOutcomeCallable ListRecommendationSummariesCallable(const ListRecommendationSummariesRequestT& request) const + { + return SubmitCallable(&CostOptimizationHubClient::ListRecommendationSummaries, request); + } + + /** + * An Async wrapper for ListRecommendationSummaries that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListRecommendationSummariesAsync(const ListRecommendationSummariesRequestT& request, const ListRecommendationSummariesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&CostOptimizationHubClient::ListRecommendationSummaries, request, handler, context); + } + + /** + *

                Returns a list of recommendations.

                See Also:

                AWS + * API Reference

                + */ + virtual Model::ListRecommendationsOutcome ListRecommendations(const Model::ListRecommendationsRequest& request) const; + + /** + * A Callable wrapper for ListRecommendations that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListRecommendationsOutcomeCallable ListRecommendationsCallable(const ListRecommendationsRequestT& request) const + { + return SubmitCallable(&CostOptimizationHubClient::ListRecommendations, request); + } + + /** + * An Async wrapper for ListRecommendations that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListRecommendationsAsync(const ListRecommendationsRequestT& request, const ListRecommendationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&CostOptimizationHubClient::ListRecommendations, request, handler, context); + } + + /** + *

                Updates the enrollment (opt in and opt out) status of an account to the Cost + * Optimization Hub service.

                If the account is a management account of an + * organization, this action can also be used to enroll member accounts of the + * organization.

                You must have the appropriate permissions to opt in to Cost + * Optimization Hub and to view its recommendations. When you opt in, Cost + * Optimization Hub automatically creates a service-linked role in your account to + * access its data.

                See Also:

                AWS + * API Reference

                + */ + virtual Model::UpdateEnrollmentStatusOutcome UpdateEnrollmentStatus(const Model::UpdateEnrollmentStatusRequest& request) const; + + /** + * A Callable wrapper for UpdateEnrollmentStatus that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::UpdateEnrollmentStatusOutcomeCallable UpdateEnrollmentStatusCallable(const UpdateEnrollmentStatusRequestT& request) const + { + return SubmitCallable(&CostOptimizationHubClient::UpdateEnrollmentStatus, request); + } + + /** + * An Async wrapper for UpdateEnrollmentStatus that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void UpdateEnrollmentStatusAsync(const UpdateEnrollmentStatusRequestT& request, const UpdateEnrollmentStatusResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&CostOptimizationHubClient::UpdateEnrollmentStatus, request, handler, context); + } + + /** + *

                Updates a set of preferences for an account in order to add account-specific + * preferences into the service. These preferences impact how the savings + * associated with recommendations are presented.

                See Also:

                AWS + * API Reference

                + */ + virtual Model::UpdatePreferencesOutcome UpdatePreferences(const Model::UpdatePreferencesRequest& request) const; + + /** + * A Callable wrapper for UpdatePreferences that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::UpdatePreferencesOutcomeCallable UpdatePreferencesCallable(const UpdatePreferencesRequestT& request) const + { + return SubmitCallable(&CostOptimizationHubClient::UpdatePreferences, request); + } + + /** + * An Async wrapper for UpdatePreferences that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void UpdatePreferencesAsync(const UpdatePreferencesRequestT& request, const UpdatePreferencesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&CostOptimizationHubClient::UpdatePreferences, request, handler, context); + } + + + void OverrideEndpoint(const Aws::String& endpoint); + std::shared_ptr& accessEndpointProvider(); + private: + friend class Aws::Client::ClientWithAsyncTemplateMethods; + void init(const CostOptimizationHubClientConfiguration& clientConfiguration); + + CostOptimizationHubClientConfiguration m_clientConfiguration; + std::shared_ptr m_executor; + std::shared_ptr m_endpointProvider; + }; + +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/CostOptimizationHubEndpointProvider.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/CostOptimizationHubEndpointProvider.h new file mode 100644 index 00000000000..0da2ae9ac17 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/CostOptimizationHubEndpointProvider.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 CostOptimizationHub +{ +namespace Endpoint +{ +using EndpointParameters = Aws::Endpoint::EndpointParameters; +using Aws::Endpoint::EndpointProviderBase; +using Aws::Endpoint::DefaultEndpointProvider; + +using CostOptimizationHubClientContextParameters = Aws::Endpoint::ClientContextParameters; + +using CostOptimizationHubClientConfiguration = Aws::Client::GenericClientConfiguration; +using CostOptimizationHubBuiltInParameters = Aws::Endpoint::BuiltInParameters; + +/** + * The type for the CostOptimizationHub 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 CostOptimizationHubEndpointProviderBase = + EndpointProviderBase; + +using CostOptimizationHubDefaultEpProviderBase = + DefaultEndpointProvider; + +/** + * Default endpoint provider used for this service + */ +class AWS_COSTOPTIMIZATIONHUB_API CostOptimizationHubEndpointProvider : public CostOptimizationHubDefaultEpProviderBase +{ +public: + using CostOptimizationHubResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; + + CostOptimizationHubEndpointProvider() + : CostOptimizationHubDefaultEpProviderBase(Aws::CostOptimizationHub::CostOptimizationHubEndpointRules::GetRulesBlob(), Aws::CostOptimizationHub::CostOptimizationHubEndpointRules::RulesBlobSize) + {} + + ~CostOptimizationHubEndpointProvider() + { + } +}; +} // namespace Endpoint +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/CostOptimizationHubEndpointRules.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/CostOptimizationHubEndpointRules.h new file mode 100644 index 00000000000..e3d5c434dd3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/CostOptimizationHubEndpointRules.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 CostOptimizationHub +{ +class CostOptimizationHubEndpointRules +{ +public: + static const size_t RulesBlobStrLen; + static const size_t RulesBlobSize; + + static const char* GetRulesBlob(); +}; +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/CostOptimizationHubErrorMarshaller.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/CostOptimizationHubErrorMarshaller.h new file mode 100644 index 00000000000..11b479d06d8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/CostOptimizationHubErrorMarshaller.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_COSTOPTIMIZATIONHUB_API CostOptimizationHubErrorMarshaller : public Aws::Client::JsonErrorMarshaller +{ +public: + Aws::Client::AWSError FindErrorByName(const char* exceptionName) const override; +}; + +} // namespace Client +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/CostOptimizationHubErrors.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/CostOptimizationHubErrors.h new file mode 100644 index 00000000000..5392693d714 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/CostOptimizationHubErrors.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 CostOptimizationHub +{ +enum class CostOptimizationHubErrors +{ + //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, + /////////////////////////////////////////////////////////////////////////////////////////// + + INTERNAL_SERVER= static_cast(Aws::Client::CoreErrors::SERVICE_EXTENSION_START_RANGE) + 1 +}; + +class AWS_COSTOPTIMIZATIONHUB_API CostOptimizationHubError : public Aws::Client::AWSError +{ +public: + CostOptimizationHubError() {} + CostOptimizationHubError(const Aws::Client::AWSError& rhs) : Aws::Client::AWSError(rhs) {} + CostOptimizationHubError(Aws::Client::AWSError&& rhs) : Aws::Client::AWSError(rhs) {} + CostOptimizationHubError(const Aws::Client::AWSError& rhs) : Aws::Client::AWSError(rhs) {} + CostOptimizationHubError(Aws::Client::AWSError&& rhs) : Aws::Client::AWSError(rhs) {} + + template + T GetModeledError(); +}; + +namespace CostOptimizationHubErrorMapper +{ + AWS_COSTOPTIMIZATIONHUB_API Aws::Client::AWSError GetErrorForName(const char* errorName); +} + +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/CostOptimizationHubRequest.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/CostOptimizationHubRequest.h new file mode 100644 index 00000000000..7724acd5851 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/CostOptimizationHubRequest.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 CostOptimizationHub +{ + class AWS_COSTOPTIMIZATIONHUB_API CostOptimizationHubRequest : public Aws::AmazonSerializableWebServiceRequest + { + public: + using EndpointParameter = Aws::Endpoint::EndpointParameter; + using EndpointParameters = Aws::Endpoint::EndpointParameters; + + virtual ~CostOptimizationHubRequest () {} + + 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, "2022-07-26")); + return headers; + } + + protected: + virtual Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const { return Aws::Http::HeaderValueCollection(); } + + }; + + +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/CostOptimizationHubServiceClientModel.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/CostOptimizationHubServiceClientModel.h new file mode 100644 index 00000000000..d6124ad15d1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/CostOptimizationHubServiceClientModel.h @@ -0,0 +1,110 @@ +/** + * 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 CostOptimizationHubClient header */ +#include +#include +#include +#include +#include +#include +#include +/* End of service model headers required in CostOptimizationHubClient 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 CostOptimizationHub + { + using CostOptimizationHubClientConfiguration = Aws::Client::GenericClientConfiguration; + using CostOptimizationHubEndpointProviderBase = Aws::CostOptimizationHub::Endpoint::CostOptimizationHubEndpointProviderBase; + using CostOptimizationHubEndpointProvider = Aws::CostOptimizationHub::Endpoint::CostOptimizationHubEndpointProvider; + + namespace Model + { + /* Service model forward declarations required in CostOptimizationHubClient header */ + class GetPreferencesRequest; + class GetRecommendationRequest; + class ListEnrollmentStatusesRequest; + class ListRecommendationSummariesRequest; + class ListRecommendationsRequest; + class UpdateEnrollmentStatusRequest; + class UpdatePreferencesRequest; + /* End of service model forward declarations required in CostOptimizationHubClient header */ + + /* Service model Outcome class definitions */ + typedef Aws::Utils::Outcome GetPreferencesOutcome; + typedef Aws::Utils::Outcome GetRecommendationOutcome; + typedef Aws::Utils::Outcome ListEnrollmentStatusesOutcome; + typedef Aws::Utils::Outcome ListRecommendationSummariesOutcome; + typedef Aws::Utils::Outcome ListRecommendationsOutcome; + typedef Aws::Utils::Outcome UpdateEnrollmentStatusOutcome; + typedef Aws::Utils::Outcome UpdatePreferencesOutcome; + /* End of service model Outcome class definitions */ + + /* Service model Outcome callable definitions */ + typedef std::future GetPreferencesOutcomeCallable; + typedef std::future GetRecommendationOutcomeCallable; + typedef std::future ListEnrollmentStatusesOutcomeCallable; + typedef std::future ListRecommendationSummariesOutcomeCallable; + typedef std::future ListRecommendationsOutcomeCallable; + typedef std::future UpdateEnrollmentStatusOutcomeCallable; + typedef std::future UpdatePreferencesOutcomeCallable; + /* End of service model Outcome callable definitions */ + } // namespace Model + + class CostOptimizationHubClient; + + /* Service model async handlers definitions */ + typedef std::function&) > GetPreferencesResponseReceivedHandler; + typedef std::function&) > GetRecommendationResponseReceivedHandler; + typedef std::function&) > ListEnrollmentStatusesResponseReceivedHandler; + typedef std::function&) > ListRecommendationSummariesResponseReceivedHandler; + typedef std::function&) > ListRecommendationsResponseReceivedHandler; + typedef std::function&) > UpdateEnrollmentStatusResponseReceivedHandler; + typedef std::function&) > UpdatePreferencesResponseReceivedHandler; + /* End of service model async handlers definitions */ + } // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/CostOptimizationHub_EXPORTS.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/CostOptimizationHub_EXPORTS.h new file mode 100644 index 00000000000..f8af96447e4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/CostOptimizationHub_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_COSTOPTIMIZATIONHUB_EXPORTS + #define AWS_COSTOPTIMIZATIONHUB_API __declspec(dllexport) + #else + #define AWS_COSTOPTIMIZATIONHUB_API __declspec(dllimport) + #endif /* AWS_COSTOPTIMIZATIONHUB_EXPORTS */ + #define AWS_COSTOPTIMIZATIONHUB_EXTERN + #else + #define AWS_COSTOPTIMIZATIONHUB_API + #define AWS_COSTOPTIMIZATIONHUB_EXTERN extern + #endif // USE_IMPORT_EXPORT +#else // defined (USE_WINDOWS_DLL_SEMANTICS) || defined (WIN32) + #define AWS_COSTOPTIMIZATIONHUB_API + #define AWS_COSTOPTIMIZATIONHUB_EXTERN extern +#endif // defined (USE_WINDOWS_DLL_SEMANTICS) || defined (WIN32) diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/AccountEnrollmentStatus.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/AccountEnrollmentStatus.h new file mode 100644 index 00000000000..9e04f18af4d --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/AccountEnrollmentStatus.h @@ -0,0 +1,193 @@ +/** + * 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 CostOptimizationHub +{ +namespace Model +{ + + /** + *

                Describes the enrollment status of an organization's member accounts in Cost + * Optimization Hub.

                See Also:

                AWS + * API Reference

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

                The Amazon Web Services account ID.

                + */ + inline const Aws::String& GetAccountId() const{ return m_accountId; } + + /** + *

                The Amazon Web Services account ID.

                + */ + inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; } + + /** + *

                The Amazon Web Services account ID.

                + */ + inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; } + + /** + *

                The Amazon Web Services account ID.

                + */ + inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); } + + /** + *

                The Amazon Web Services account ID.

                + */ + inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); } + + /** + *

                The Amazon Web Services account ID.

                + */ + inline AccountEnrollmentStatus& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;} + + /** + *

                The Amazon Web Services account ID.

                + */ + inline AccountEnrollmentStatus& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;} + + /** + *

                The Amazon Web Services account ID.

                + */ + inline AccountEnrollmentStatus& WithAccountId(const char* value) { SetAccountId(value); return *this;} + + + /** + *

                The time when the account enrollment status was created.

                + */ + inline const Aws::Utils::DateTime& GetCreatedTimestamp() const{ return m_createdTimestamp; } + + /** + *

                The time when the account enrollment status was created.

                + */ + inline bool CreatedTimestampHasBeenSet() const { return m_createdTimestampHasBeenSet; } + + /** + *

                The time when the account enrollment status was created.

                + */ + inline void SetCreatedTimestamp(const Aws::Utils::DateTime& value) { m_createdTimestampHasBeenSet = true; m_createdTimestamp = value; } + + /** + *

                The time when the account enrollment status was created.

                + */ + inline void SetCreatedTimestamp(Aws::Utils::DateTime&& value) { m_createdTimestampHasBeenSet = true; m_createdTimestamp = std::move(value); } + + /** + *

                The time when the account enrollment status was created.

                + */ + inline AccountEnrollmentStatus& WithCreatedTimestamp(const Aws::Utils::DateTime& value) { SetCreatedTimestamp(value); return *this;} + + /** + *

                The time when the account enrollment status was created.

                + */ + inline AccountEnrollmentStatus& WithCreatedTimestamp(Aws::Utils::DateTime&& value) { SetCreatedTimestamp(std::move(value)); return *this;} + + + /** + *

                The time when the account enrollment status was last updated.

                + */ + inline const Aws::Utils::DateTime& GetLastUpdatedTimestamp() const{ return m_lastUpdatedTimestamp; } + + /** + *

                The time when the account enrollment status was last updated.

                + */ + inline bool LastUpdatedTimestampHasBeenSet() const { return m_lastUpdatedTimestampHasBeenSet; } + + /** + *

                The time when the account enrollment status was last updated.

                + */ + inline void SetLastUpdatedTimestamp(const Aws::Utils::DateTime& value) { m_lastUpdatedTimestampHasBeenSet = true; m_lastUpdatedTimestamp = value; } + + /** + *

                The time when the account enrollment status was last updated.

                + */ + inline void SetLastUpdatedTimestamp(Aws::Utils::DateTime&& value) { m_lastUpdatedTimestampHasBeenSet = true; m_lastUpdatedTimestamp = std::move(value); } + + /** + *

                The time when the account enrollment status was last updated.

                + */ + inline AccountEnrollmentStatus& WithLastUpdatedTimestamp(const Aws::Utils::DateTime& value) { SetLastUpdatedTimestamp(value); return *this;} + + /** + *

                The time when the account enrollment status was last updated.

                + */ + inline AccountEnrollmentStatus& WithLastUpdatedTimestamp(Aws::Utils::DateTime&& value) { SetLastUpdatedTimestamp(std::move(value)); return *this;} + + + /** + *

                The account enrollment status.

                + */ + inline const EnrollmentStatus& GetStatus() const{ return m_status; } + + /** + *

                The account enrollment status.

                + */ + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + + /** + *

                The account enrollment status.

                + */ + inline void SetStatus(const EnrollmentStatus& value) { m_statusHasBeenSet = true; m_status = value; } + + /** + *

                The account enrollment status.

                + */ + inline void SetStatus(EnrollmentStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } + + /** + *

                The account enrollment status.

                + */ + inline AccountEnrollmentStatus& WithStatus(const EnrollmentStatus& value) { SetStatus(value); return *this;} + + /** + *

                The account enrollment status.

                + */ + inline AccountEnrollmentStatus& WithStatus(EnrollmentStatus&& value) { SetStatus(std::move(value)); return *this;} + + private: + + Aws::String m_accountId; + bool m_accountIdHasBeenSet = false; + + Aws::Utils::DateTime m_createdTimestamp; + bool m_createdTimestampHasBeenSet = false; + + Aws::Utils::DateTime m_lastUpdatedTimestamp; + bool m_lastUpdatedTimestampHasBeenSet = false; + + EnrollmentStatus m_status; + bool m_statusHasBeenSet = false; + }; + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/ActionType.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/ActionType.h new file mode 100644 index 00000000000..44d510fa656 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/ActionType.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 CostOptimizationHub +{ +namespace Model +{ + enum class ActionType + { + NOT_SET, + Rightsize, + Stop, + Upgrade, + PurchaseSavingsPlans, + PurchaseReservedInstances, + MigrateToGraviton + }; + +namespace ActionTypeMapper +{ +AWS_COSTOPTIMIZATIONHUB_API ActionType GetActionTypeForName(const Aws::String& name); + +AWS_COSTOPTIMIZATIONHUB_API Aws::String GetNameForActionType(ActionType value); +} // namespace ActionTypeMapper +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/BlockStoragePerformanceConfiguration.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/BlockStoragePerformanceConfiguration.h new file mode 100644 index 00000000000..2b54db0d550 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/BlockStoragePerformanceConfiguration.h @@ -0,0 +1,92 @@ +/** + * 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 CostOptimizationHub +{ +namespace Model +{ + + /** + *

                Describes the Amazon Elastic Block Store performance configuration of the + * current and recommended resource configuration for a + * recommendation.

                See Also:

                AWS + * API Reference

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

                The number of I/O operations per second.

                + */ + inline double GetIops() const{ return m_iops; } + + /** + *

                The number of I/O operations per second.

                + */ + inline bool IopsHasBeenSet() const { return m_iopsHasBeenSet; } + + /** + *

                The number of I/O operations per second.

                + */ + inline void SetIops(double value) { m_iopsHasBeenSet = true; m_iops = value; } + + /** + *

                The number of I/O operations per second.

                + */ + inline BlockStoragePerformanceConfiguration& WithIops(double value) { SetIops(value); return *this;} + + + /** + *

                The throughput that the volume supports.

                + */ + inline double GetThroughput() const{ return m_throughput; } + + /** + *

                The throughput that the volume supports.

                + */ + inline bool ThroughputHasBeenSet() const { return m_throughputHasBeenSet; } + + /** + *

                The throughput that the volume supports.

                + */ + inline void SetThroughput(double value) { m_throughputHasBeenSet = true; m_throughput = value; } + + /** + *

                The throughput that the volume supports.

                + */ + inline BlockStoragePerformanceConfiguration& WithThroughput(double value) { SetThroughput(value); return *this;} + + private: + + double m_iops; + bool m_iopsHasBeenSet = false; + + double m_throughput; + bool m_throughputHasBeenSet = false; + }; + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/ComputeConfiguration.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/ComputeConfiguration.h new file mode 100644 index 00000000000..de8bc3d5c83 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/ComputeConfiguration.h @@ -0,0 +1,189 @@ +/** + * 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 CostOptimizationHub +{ +namespace Model +{ + + /** + *

                Describes the performance configuration for compute services such as Amazon + * EC2, Lambda, and ECS.

                See Also:

                AWS + * API Reference

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

                The architecture of the resource.

                + */ + inline const Aws::String& GetArchitecture() const{ return m_architecture; } + + /** + *

                The architecture of the resource.

                + */ + inline bool ArchitectureHasBeenSet() const { return m_architectureHasBeenSet; } + + /** + *

                The architecture of the resource.

                + */ + inline void SetArchitecture(const Aws::String& value) { m_architectureHasBeenSet = true; m_architecture = value; } + + /** + *

                The architecture of the resource.

                + */ + inline void SetArchitecture(Aws::String&& value) { m_architectureHasBeenSet = true; m_architecture = std::move(value); } + + /** + *

                The architecture of the resource.

                + */ + inline void SetArchitecture(const char* value) { m_architectureHasBeenSet = true; m_architecture.assign(value); } + + /** + *

                The architecture of the resource.

                + */ + inline ComputeConfiguration& WithArchitecture(const Aws::String& value) { SetArchitecture(value); return *this;} + + /** + *

                The architecture of the resource.

                + */ + inline ComputeConfiguration& WithArchitecture(Aws::String&& value) { SetArchitecture(std::move(value)); return *this;} + + /** + *

                The architecture of the resource.

                + */ + inline ComputeConfiguration& WithArchitecture(const char* value) { SetArchitecture(value); return *this;} + + + /** + *

                The memory size of the resource.

                + */ + inline int GetMemorySizeInMB() const{ return m_memorySizeInMB; } + + /** + *

                The memory size of the resource.

                + */ + inline bool MemorySizeInMBHasBeenSet() const { return m_memorySizeInMBHasBeenSet; } + + /** + *

                The memory size of the resource.

                + */ + inline void SetMemorySizeInMB(int value) { m_memorySizeInMBHasBeenSet = true; m_memorySizeInMB = value; } + + /** + *

                The memory size of the resource.

                + */ + inline ComputeConfiguration& WithMemorySizeInMB(int value) { SetMemorySizeInMB(value); return *this;} + + + /** + *

                The platform of the resource. The platform is the specific combination of + * operating system, license model, and software on an instance.

                + */ + inline const Aws::String& GetPlatform() const{ return m_platform; } + + /** + *

                The platform of the resource. The platform is the specific combination of + * operating system, license model, and software on an instance.

                + */ + inline bool PlatformHasBeenSet() const { return m_platformHasBeenSet; } + + /** + *

                The platform of the resource. The platform is the specific combination of + * operating system, license model, and software on an instance.

                + */ + inline void SetPlatform(const Aws::String& value) { m_platformHasBeenSet = true; m_platform = value; } + + /** + *

                The platform of the resource. The platform is the specific combination of + * operating system, license model, and software on an instance.

                + */ + inline void SetPlatform(Aws::String&& value) { m_platformHasBeenSet = true; m_platform = std::move(value); } + + /** + *

                The platform of the resource. The platform is the specific combination of + * operating system, license model, and software on an instance.

                + */ + inline void SetPlatform(const char* value) { m_platformHasBeenSet = true; m_platform.assign(value); } + + /** + *

                The platform of the resource. The platform is the specific combination of + * operating system, license model, and software on an instance.

                + */ + inline ComputeConfiguration& WithPlatform(const Aws::String& value) { SetPlatform(value); return *this;} + + /** + *

                The platform of the resource. The platform is the specific combination of + * operating system, license model, and software on an instance.

                + */ + inline ComputeConfiguration& WithPlatform(Aws::String&& value) { SetPlatform(std::move(value)); return *this;} + + /** + *

                The platform of the resource. The platform is the specific combination of + * operating system, license model, and software on an instance.

                + */ + inline ComputeConfiguration& WithPlatform(const char* value) { SetPlatform(value); return *this;} + + + /** + *

                The number of vCPU cores in the resource.

                + */ + inline double GetVCpu() const{ return m_vCpu; } + + /** + *

                The number of vCPU cores in the resource.

                + */ + inline bool VCpuHasBeenSet() const { return m_vCpuHasBeenSet; } + + /** + *

                The number of vCPU cores in the resource.

                + */ + inline void SetVCpu(double value) { m_vCpuHasBeenSet = true; m_vCpu = value; } + + /** + *

                The number of vCPU cores in the resource.

                + */ + inline ComputeConfiguration& WithVCpu(double value) { SetVCpu(value); return *this;} + + private: + + Aws::String m_architecture; + bool m_architectureHasBeenSet = false; + + int m_memorySizeInMB; + bool m_memorySizeInMBHasBeenSet = false; + + Aws::String m_platform; + bool m_platformHasBeenSet = false; + + double m_vCpu; + bool m_vCpuHasBeenSet = false; + }; + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/ComputeSavingsPlans.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/ComputeSavingsPlans.h new file mode 100644 index 00000000000..455e74517b7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/ComputeSavingsPlans.h @@ -0,0 +1,114 @@ +/** + * 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 CostOptimizationHub +{ +namespace Model +{ + + /** + *

                The Compute Savings Plans recommendation details.

                See Also:

                + * AWS + * API Reference

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

                Configuration details of the Compute Savings Plans to purchase.

                + */ + inline const ComputeSavingsPlansConfiguration& GetConfiguration() const{ return m_configuration; } + + /** + *

                Configuration details of the Compute Savings Plans to purchase.

                + */ + inline bool ConfigurationHasBeenSet() const { return m_configurationHasBeenSet; } + + /** + *

                Configuration details of the Compute Savings Plans to purchase.

                + */ + inline void SetConfiguration(const ComputeSavingsPlansConfiguration& value) { m_configurationHasBeenSet = true; m_configuration = value; } + + /** + *

                Configuration details of the Compute Savings Plans to purchase.

                + */ + inline void SetConfiguration(ComputeSavingsPlansConfiguration&& value) { m_configurationHasBeenSet = true; m_configuration = std::move(value); } + + /** + *

                Configuration details of the Compute Savings Plans to purchase.

                + */ + inline ComputeSavingsPlans& WithConfiguration(const ComputeSavingsPlansConfiguration& value) { SetConfiguration(value); return *this;} + + /** + *

                Configuration details of the Compute Savings Plans to purchase.

                + */ + inline ComputeSavingsPlans& WithConfiguration(ComputeSavingsPlansConfiguration&& value) { SetConfiguration(std::move(value)); return *this;} + + + /** + *

                Cost impact of the Savings Plans purchase recommendation.

                + */ + inline const SavingsPlansCostCalculation& GetCostCalculation() const{ return m_costCalculation; } + + /** + *

                Cost impact of the Savings Plans purchase recommendation.

                + */ + inline bool CostCalculationHasBeenSet() const { return m_costCalculationHasBeenSet; } + + /** + *

                Cost impact of the Savings Plans purchase recommendation.

                + */ + inline void SetCostCalculation(const SavingsPlansCostCalculation& value) { m_costCalculationHasBeenSet = true; m_costCalculation = value; } + + /** + *

                Cost impact of the Savings Plans purchase recommendation.

                + */ + inline void SetCostCalculation(SavingsPlansCostCalculation&& value) { m_costCalculationHasBeenSet = true; m_costCalculation = std::move(value); } + + /** + *

                Cost impact of the Savings Plans purchase recommendation.

                + */ + inline ComputeSavingsPlans& WithCostCalculation(const SavingsPlansCostCalculation& value) { SetCostCalculation(value); return *this;} + + /** + *

                Cost impact of the Savings Plans purchase recommendation.

                + */ + inline ComputeSavingsPlans& WithCostCalculation(SavingsPlansCostCalculation&& value) { SetCostCalculation(std::move(value)); return *this;} + + private: + + ComputeSavingsPlansConfiguration m_configuration; + bool m_configurationHasBeenSet = false; + + SavingsPlansCostCalculation m_costCalculation; + bool m_costCalculationHasBeenSet = false; + }; + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/ComputeSavingsPlansConfiguration.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/ComputeSavingsPlansConfiguration.h new file mode 100644 index 00000000000..2c4c0ca66db --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/ComputeSavingsPlansConfiguration.h @@ -0,0 +1,245 @@ +/** + * 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 CostOptimizationHub +{ +namespace Model +{ + + /** + *

                The Compute Savings Plans configuration used for + * recommendations.

                See Also:

                AWS + * API Reference

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

                The account scope that you want your recommendations for. Amazon Web Services + * calculates recommendations including the management account and member accounts + * if the value is set to PAYER. If the value is LINKED, + * recommendations are calculated for individual member accounts only.

                + */ + inline const Aws::String& GetAccountScope() const{ return m_accountScope; } + + /** + *

                The account scope that you want your recommendations for. Amazon Web Services + * calculates recommendations including the management account and member accounts + * if the value is set to PAYER. If the value is LINKED, + * recommendations are calculated for individual member accounts only.

                + */ + inline bool AccountScopeHasBeenSet() const { return m_accountScopeHasBeenSet; } + + /** + *

                The account scope that you want your recommendations for. Amazon Web Services + * calculates recommendations including the management account and member accounts + * if the value is set to PAYER. If the value is LINKED, + * recommendations are calculated for individual member accounts only.

                + */ + inline void SetAccountScope(const Aws::String& value) { m_accountScopeHasBeenSet = true; m_accountScope = value; } + + /** + *

                The account scope that you want your recommendations for. Amazon Web Services + * calculates recommendations including the management account and member accounts + * if the value is set to PAYER. If the value is LINKED, + * recommendations are calculated for individual member accounts only.

                + */ + inline void SetAccountScope(Aws::String&& value) { m_accountScopeHasBeenSet = true; m_accountScope = std::move(value); } + + /** + *

                The account scope that you want your recommendations for. Amazon Web Services + * calculates recommendations including the management account and member accounts + * if the value is set to PAYER. If the value is LINKED, + * recommendations are calculated for individual member accounts only.

                + */ + inline void SetAccountScope(const char* value) { m_accountScopeHasBeenSet = true; m_accountScope.assign(value); } + + /** + *

                The account scope that you want your recommendations for. Amazon Web Services + * calculates recommendations including the management account and member accounts + * if the value is set to PAYER. If the value is LINKED, + * recommendations are calculated for individual member accounts only.

                + */ + inline ComputeSavingsPlansConfiguration& WithAccountScope(const Aws::String& value) { SetAccountScope(value); return *this;} + + /** + *

                The account scope that you want your recommendations for. Amazon Web Services + * calculates recommendations including the management account and member accounts + * if the value is set to PAYER. If the value is LINKED, + * recommendations are calculated for individual member accounts only.

                + */ + inline ComputeSavingsPlansConfiguration& WithAccountScope(Aws::String&& value) { SetAccountScope(std::move(value)); return *this;} + + /** + *

                The account scope that you want your recommendations for. Amazon Web Services + * calculates recommendations including the management account and member accounts + * if the value is set to PAYER. If the value is LINKED, + * recommendations are calculated for individual member accounts only.

                + */ + inline ComputeSavingsPlansConfiguration& WithAccountScope(const char* value) { SetAccountScope(value); return *this;} + + + /** + *

                The hourly commitment for the Savings Plans type.

                + */ + inline const Aws::String& GetHourlyCommitment() const{ return m_hourlyCommitment; } + + /** + *

                The hourly commitment for the Savings Plans type.

                + */ + inline bool HourlyCommitmentHasBeenSet() const { return m_hourlyCommitmentHasBeenSet; } + + /** + *

                The hourly commitment for the Savings Plans type.

                + */ + inline void SetHourlyCommitment(const Aws::String& value) { m_hourlyCommitmentHasBeenSet = true; m_hourlyCommitment = value; } + + /** + *

                The hourly commitment for the Savings Plans type.

                + */ + inline void SetHourlyCommitment(Aws::String&& value) { m_hourlyCommitmentHasBeenSet = true; m_hourlyCommitment = std::move(value); } + + /** + *

                The hourly commitment for the Savings Plans type.

                + */ + inline void SetHourlyCommitment(const char* value) { m_hourlyCommitmentHasBeenSet = true; m_hourlyCommitment.assign(value); } + + /** + *

                The hourly commitment for the Savings Plans type.

                + */ + inline ComputeSavingsPlansConfiguration& WithHourlyCommitment(const Aws::String& value) { SetHourlyCommitment(value); return *this;} + + /** + *

                The hourly commitment for the Savings Plans type.

                + */ + inline ComputeSavingsPlansConfiguration& WithHourlyCommitment(Aws::String&& value) { SetHourlyCommitment(std::move(value)); return *this;} + + /** + *

                The hourly commitment for the Savings Plans type.

                + */ + inline ComputeSavingsPlansConfiguration& WithHourlyCommitment(const char* value) { SetHourlyCommitment(value); return *this;} + + + /** + *

                The payment option for the commitment.

                + */ + inline const Aws::String& GetPaymentOption() const{ return m_paymentOption; } + + /** + *

                The payment option for the commitment.

                + */ + inline bool PaymentOptionHasBeenSet() const { return m_paymentOptionHasBeenSet; } + + /** + *

                The payment option for the commitment.

                + */ + inline void SetPaymentOption(const Aws::String& value) { m_paymentOptionHasBeenSet = true; m_paymentOption = value; } + + /** + *

                The payment option for the commitment.

                + */ + inline void SetPaymentOption(Aws::String&& value) { m_paymentOptionHasBeenSet = true; m_paymentOption = std::move(value); } + + /** + *

                The payment option for the commitment.

                + */ + inline void SetPaymentOption(const char* value) { m_paymentOptionHasBeenSet = true; m_paymentOption.assign(value); } + + /** + *

                The payment option for the commitment.

                + */ + inline ComputeSavingsPlansConfiguration& WithPaymentOption(const Aws::String& value) { SetPaymentOption(value); return *this;} + + /** + *

                The payment option for the commitment.

                + */ + inline ComputeSavingsPlansConfiguration& WithPaymentOption(Aws::String&& value) { SetPaymentOption(std::move(value)); return *this;} + + /** + *

                The payment option for the commitment.

                + */ + inline ComputeSavingsPlansConfiguration& WithPaymentOption(const char* value) { SetPaymentOption(value); return *this;} + + + /** + *

                The Savings Plans recommendation term in years.

                + */ + inline const Aws::String& GetTerm() const{ return m_term; } + + /** + *

                The Savings Plans recommendation term in years.

                + */ + inline bool TermHasBeenSet() const { return m_termHasBeenSet; } + + /** + *

                The Savings Plans recommendation term in years.

                + */ + inline void SetTerm(const Aws::String& value) { m_termHasBeenSet = true; m_term = value; } + + /** + *

                The Savings Plans recommendation term in years.

                + */ + inline void SetTerm(Aws::String&& value) { m_termHasBeenSet = true; m_term = std::move(value); } + + /** + *

                The Savings Plans recommendation term in years.

                + */ + inline void SetTerm(const char* value) { m_termHasBeenSet = true; m_term.assign(value); } + + /** + *

                The Savings Plans recommendation term in years.

                + */ + inline ComputeSavingsPlansConfiguration& WithTerm(const Aws::String& value) { SetTerm(value); return *this;} + + /** + *

                The Savings Plans recommendation term in years.

                + */ + inline ComputeSavingsPlansConfiguration& WithTerm(Aws::String&& value) { SetTerm(std::move(value)); return *this;} + + /** + *

                The Savings Plans recommendation term in years.

                + */ + inline ComputeSavingsPlansConfiguration& WithTerm(const char* value) { SetTerm(value); return *this;} + + private: + + Aws::String m_accountScope; + bool m_accountScopeHasBeenSet = false; + + Aws::String m_hourlyCommitment; + bool m_hourlyCommitmentHasBeenSet = false; + + Aws::String m_paymentOption; + bool m_paymentOptionHasBeenSet = false; + + Aws::String m_term; + bool m_termHasBeenSet = false; + }; + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/EbsVolume.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/EbsVolume.h new file mode 100644 index 00000000000..631f408c598 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/EbsVolume.h @@ -0,0 +1,121 @@ +/** + * 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 CostOptimizationHub +{ +namespace Model +{ + + /** + *

                Describes the Amazon Elastic Block Store volume configuration of the current + * and recommended resource configuration for a recommendation.

                See + * Also:

                AWS + * API Reference

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

                The Amazon Elastic Block Store volume configuration used for + * recommendations.

                + */ + inline const EbsVolumeConfiguration& GetConfiguration() const{ return m_configuration; } + + /** + *

                The Amazon Elastic Block Store volume configuration used for + * recommendations.

                + */ + inline bool ConfigurationHasBeenSet() const { return m_configurationHasBeenSet; } + + /** + *

                The Amazon Elastic Block Store volume configuration used for + * recommendations.

                + */ + inline void SetConfiguration(const EbsVolumeConfiguration& value) { m_configurationHasBeenSet = true; m_configuration = value; } + + /** + *

                The Amazon Elastic Block Store volume configuration used for + * recommendations.

                + */ + inline void SetConfiguration(EbsVolumeConfiguration&& value) { m_configurationHasBeenSet = true; m_configuration = std::move(value); } + + /** + *

                The Amazon Elastic Block Store volume configuration used for + * recommendations.

                + */ + inline EbsVolume& WithConfiguration(const EbsVolumeConfiguration& value) { SetConfiguration(value); return *this;} + + /** + *

                The Amazon Elastic Block Store volume configuration used for + * recommendations.

                + */ + inline EbsVolume& WithConfiguration(EbsVolumeConfiguration&& value) { SetConfiguration(std::move(value)); return *this;} + + + /** + *

                Cost impact of the recommendation.

                + */ + inline const ResourceCostCalculation& GetCostCalculation() const{ return m_costCalculation; } + + /** + *

                Cost impact of the recommendation.

                + */ + inline bool CostCalculationHasBeenSet() const { return m_costCalculationHasBeenSet; } + + /** + *

                Cost impact of the recommendation.

                + */ + inline void SetCostCalculation(const ResourceCostCalculation& value) { m_costCalculationHasBeenSet = true; m_costCalculation = value; } + + /** + *

                Cost impact of the recommendation.

                + */ + inline void SetCostCalculation(ResourceCostCalculation&& value) { m_costCalculationHasBeenSet = true; m_costCalculation = std::move(value); } + + /** + *

                Cost impact of the recommendation.

                + */ + inline EbsVolume& WithCostCalculation(const ResourceCostCalculation& value) { SetCostCalculation(value); return *this;} + + /** + *

                Cost impact of the recommendation.

                + */ + inline EbsVolume& WithCostCalculation(ResourceCostCalculation&& value) { SetCostCalculation(std::move(value)); return *this;} + + private: + + EbsVolumeConfiguration m_configuration; + bool m_configurationHasBeenSet = false; + + ResourceCostCalculation m_costCalculation; + bool m_costCalculationHasBeenSet = false; + }; + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/EbsVolumeConfiguration.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/EbsVolumeConfiguration.h new file mode 100644 index 00000000000..d3d5af5d11d --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/EbsVolumeConfiguration.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 +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace CostOptimizationHub +{ +namespace Model +{ + + /** + *

                The Amazon Elastic Block Store volume configuration used for + * recommendations.

                See Also:

                AWS + * API Reference

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

                The Amazon Elastic Block Store attachment state.

                + */ + inline const Aws::String& GetAttachmentState() const{ return m_attachmentState; } + + /** + *

                The Amazon Elastic Block Store attachment state.

                + */ + inline bool AttachmentStateHasBeenSet() const { return m_attachmentStateHasBeenSet; } + + /** + *

                The Amazon Elastic Block Store attachment state.

                + */ + inline void SetAttachmentState(const Aws::String& value) { m_attachmentStateHasBeenSet = true; m_attachmentState = value; } + + /** + *

                The Amazon Elastic Block Store attachment state.

                + */ + inline void SetAttachmentState(Aws::String&& value) { m_attachmentStateHasBeenSet = true; m_attachmentState = std::move(value); } + + /** + *

                The Amazon Elastic Block Store attachment state.

                + */ + inline void SetAttachmentState(const char* value) { m_attachmentStateHasBeenSet = true; m_attachmentState.assign(value); } + + /** + *

                The Amazon Elastic Block Store attachment state.

                + */ + inline EbsVolumeConfiguration& WithAttachmentState(const Aws::String& value) { SetAttachmentState(value); return *this;} + + /** + *

                The Amazon Elastic Block Store attachment state.

                + */ + inline EbsVolumeConfiguration& WithAttachmentState(Aws::String&& value) { SetAttachmentState(std::move(value)); return *this;} + + /** + *

                The Amazon Elastic Block Store attachment state.

                + */ + inline EbsVolumeConfiguration& WithAttachmentState(const char* value) { SetAttachmentState(value); return *this;} + + + /** + *

                The Amazon Elastic Block Store performance configuration.

                + */ + inline const BlockStoragePerformanceConfiguration& GetPerformance() const{ return m_performance; } + + /** + *

                The Amazon Elastic Block Store performance configuration.

                + */ + inline bool PerformanceHasBeenSet() const { return m_performanceHasBeenSet; } + + /** + *

                The Amazon Elastic Block Store performance configuration.

                + */ + inline void SetPerformance(const BlockStoragePerformanceConfiguration& value) { m_performanceHasBeenSet = true; m_performance = value; } + + /** + *

                The Amazon Elastic Block Store performance configuration.

                + */ + inline void SetPerformance(BlockStoragePerformanceConfiguration&& value) { m_performanceHasBeenSet = true; m_performance = std::move(value); } + + /** + *

                The Amazon Elastic Block Store performance configuration.

                + */ + inline EbsVolumeConfiguration& WithPerformance(const BlockStoragePerformanceConfiguration& value) { SetPerformance(value); return *this;} + + /** + *

                The Amazon Elastic Block Store performance configuration.

                + */ + inline EbsVolumeConfiguration& WithPerformance(BlockStoragePerformanceConfiguration&& value) { SetPerformance(std::move(value)); return *this;} + + + /** + *

                The disk storage of the Amazon Elastic Block Store volume.

                + */ + inline const StorageConfiguration& GetStorage() const{ return m_storage; } + + /** + *

                The disk storage of the Amazon Elastic Block Store volume.

                + */ + inline bool StorageHasBeenSet() const { return m_storageHasBeenSet; } + + /** + *

                The disk storage of the Amazon Elastic Block Store volume.

                + */ + inline void SetStorage(const StorageConfiguration& value) { m_storageHasBeenSet = true; m_storage = value; } + + /** + *

                The disk storage of the Amazon Elastic Block Store volume.

                + */ + inline void SetStorage(StorageConfiguration&& value) { m_storageHasBeenSet = true; m_storage = std::move(value); } + + /** + *

                The disk storage of the Amazon Elastic Block Store volume.

                + */ + inline EbsVolumeConfiguration& WithStorage(const StorageConfiguration& value) { SetStorage(value); return *this;} + + /** + *

                The disk storage of the Amazon Elastic Block Store volume.

                + */ + inline EbsVolumeConfiguration& WithStorage(StorageConfiguration&& value) { SetStorage(std::move(value)); return *this;} + + private: + + Aws::String m_attachmentState; + bool m_attachmentStateHasBeenSet = false; + + BlockStoragePerformanceConfiguration m_performance; + bool m_performanceHasBeenSet = false; + + StorageConfiguration m_storage; + bool m_storageHasBeenSet = false; + }; + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/Ec2AutoScalingGroup.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/Ec2AutoScalingGroup.h new file mode 100644 index 00000000000..a2aba3c5087 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/Ec2AutoScalingGroup.h @@ -0,0 +1,114 @@ +/** + * 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 CostOptimizationHub +{ +namespace Model +{ + + /** + *

                The EC2 Auto Scaling group recommendation details.

                See Also:

                + * AWS + * API Reference

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

                The EC2 Auto Scaling group configuration used for recommendations.

                + */ + inline const Ec2AutoScalingGroupConfiguration& GetConfiguration() const{ return m_configuration; } + + /** + *

                The EC2 Auto Scaling group configuration used for recommendations.

                + */ + inline bool ConfigurationHasBeenSet() const { return m_configurationHasBeenSet; } + + /** + *

                The EC2 Auto Scaling group configuration used for recommendations.

                + */ + inline void SetConfiguration(const Ec2AutoScalingGroupConfiguration& value) { m_configurationHasBeenSet = true; m_configuration = value; } + + /** + *

                The EC2 Auto Scaling group configuration used for recommendations.

                + */ + inline void SetConfiguration(Ec2AutoScalingGroupConfiguration&& value) { m_configurationHasBeenSet = true; m_configuration = std::move(value); } + + /** + *

                The EC2 Auto Scaling group configuration used for recommendations.

                + */ + inline Ec2AutoScalingGroup& WithConfiguration(const Ec2AutoScalingGroupConfiguration& value) { SetConfiguration(value); return *this;} + + /** + *

                The EC2 Auto Scaling group configuration used for recommendations.

                + */ + inline Ec2AutoScalingGroup& WithConfiguration(Ec2AutoScalingGroupConfiguration&& value) { SetConfiguration(std::move(value)); return *this;} + + + /** + *

                Cost impact of the recommendation.

                + */ + inline const ResourceCostCalculation& GetCostCalculation() const{ return m_costCalculation; } + + /** + *

                Cost impact of the recommendation.

                + */ + inline bool CostCalculationHasBeenSet() const { return m_costCalculationHasBeenSet; } + + /** + *

                Cost impact of the recommendation.

                + */ + inline void SetCostCalculation(const ResourceCostCalculation& value) { m_costCalculationHasBeenSet = true; m_costCalculation = value; } + + /** + *

                Cost impact of the recommendation.

                + */ + inline void SetCostCalculation(ResourceCostCalculation&& value) { m_costCalculationHasBeenSet = true; m_costCalculation = std::move(value); } + + /** + *

                Cost impact of the recommendation.

                + */ + inline Ec2AutoScalingGroup& WithCostCalculation(const ResourceCostCalculation& value) { SetCostCalculation(value); return *this;} + + /** + *

                Cost impact of the recommendation.

                + */ + inline Ec2AutoScalingGroup& WithCostCalculation(ResourceCostCalculation&& value) { SetCostCalculation(std::move(value)); return *this;} + + private: + + Ec2AutoScalingGroupConfiguration m_configuration; + bool m_configurationHasBeenSet = false; + + ResourceCostCalculation m_costCalculation; + bool m_costCalculationHasBeenSet = false; + }; + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/Ec2AutoScalingGroupConfiguration.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/Ec2AutoScalingGroupConfiguration.h new file mode 100644 index 00000000000..02bbde791a7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/Ec2AutoScalingGroupConfiguration.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 CostOptimizationHub +{ +namespace Model +{ + + /** + *

                The EC2 auto scaling group configuration used for + * recommendations.

                See Also:

                AWS + * API Reference

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

                Details about the instance.

                + */ + inline const InstanceConfiguration& GetInstance() const{ return m_instance; } + + /** + *

                Details about the instance.

                + */ + inline bool InstanceHasBeenSet() const { return m_instanceHasBeenSet; } + + /** + *

                Details about the instance.

                + */ + inline void SetInstance(const InstanceConfiguration& value) { m_instanceHasBeenSet = true; m_instance = value; } + + /** + *

                Details about the instance.

                + */ + inline void SetInstance(InstanceConfiguration&& value) { m_instanceHasBeenSet = true; m_instance = std::move(value); } + + /** + *

                Details about the instance.

                + */ + inline Ec2AutoScalingGroupConfiguration& WithInstance(const InstanceConfiguration& value) { SetInstance(value); return *this;} + + /** + *

                Details about the instance.

                + */ + inline Ec2AutoScalingGroupConfiguration& WithInstance(InstanceConfiguration&& value) { SetInstance(std::move(value)); return *this;} + + private: + + InstanceConfiguration m_instance; + bool m_instanceHasBeenSet = false; + }; + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/Ec2Instance.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/Ec2Instance.h new file mode 100644 index 00000000000..685309ad94d --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/Ec2Instance.h @@ -0,0 +1,114 @@ +/** + * 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 CostOptimizationHub +{ +namespace Model +{ + + /** + *

                Describes the EC2 instance configuration of the current and recommended + * resource configuration for a recommendation.

                See Also:

                AWS + * API Reference

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

                The EC2 instance configuration used for recommendations.

                + */ + inline const Ec2InstanceConfiguration& GetConfiguration() const{ return m_configuration; } + + /** + *

                The EC2 instance configuration used for recommendations.

                + */ + inline bool ConfigurationHasBeenSet() const { return m_configurationHasBeenSet; } + + /** + *

                The EC2 instance configuration used for recommendations.

                + */ + inline void SetConfiguration(const Ec2InstanceConfiguration& value) { m_configurationHasBeenSet = true; m_configuration = value; } + + /** + *

                The EC2 instance configuration used for recommendations.

                + */ + inline void SetConfiguration(Ec2InstanceConfiguration&& value) { m_configurationHasBeenSet = true; m_configuration = std::move(value); } + + /** + *

                The EC2 instance configuration used for recommendations.

                + */ + inline Ec2Instance& WithConfiguration(const Ec2InstanceConfiguration& value) { SetConfiguration(value); return *this;} + + /** + *

                The EC2 instance configuration used for recommendations.

                + */ + inline Ec2Instance& WithConfiguration(Ec2InstanceConfiguration&& value) { SetConfiguration(std::move(value)); return *this;} + + + /** + *

                Cost impact of the recommendation.

                + */ + inline const ResourceCostCalculation& GetCostCalculation() const{ return m_costCalculation; } + + /** + *

                Cost impact of the recommendation.

                + */ + inline bool CostCalculationHasBeenSet() const { return m_costCalculationHasBeenSet; } + + /** + *

                Cost impact of the recommendation.

                + */ + inline void SetCostCalculation(const ResourceCostCalculation& value) { m_costCalculationHasBeenSet = true; m_costCalculation = value; } + + /** + *

                Cost impact of the recommendation.

                + */ + inline void SetCostCalculation(ResourceCostCalculation&& value) { m_costCalculationHasBeenSet = true; m_costCalculation = std::move(value); } + + /** + *

                Cost impact of the recommendation.

                + */ + inline Ec2Instance& WithCostCalculation(const ResourceCostCalculation& value) { SetCostCalculation(value); return *this;} + + /** + *

                Cost impact of the recommendation.

                + */ + inline Ec2Instance& WithCostCalculation(ResourceCostCalculation&& value) { SetCostCalculation(std::move(value)); return *this;} + + private: + + Ec2InstanceConfiguration m_configuration; + bool m_configurationHasBeenSet = false; + + ResourceCostCalculation m_costCalculation; + bool m_costCalculationHasBeenSet = false; + }; + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/Ec2InstanceConfiguration.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/Ec2InstanceConfiguration.h new file mode 100644 index 00000000000..954d897fce8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/Ec2InstanceConfiguration.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 CostOptimizationHub +{ +namespace Model +{ + + /** + *

                The EC2 instance configuration used for recommendations.

                See + * Also:

                AWS + * API Reference

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

                Details about the instance.

                + */ + inline const InstanceConfiguration& GetInstance() const{ return m_instance; } + + /** + *

                Details about the instance.

                + */ + inline bool InstanceHasBeenSet() const { return m_instanceHasBeenSet; } + + /** + *

                Details about the instance.

                + */ + inline void SetInstance(const InstanceConfiguration& value) { m_instanceHasBeenSet = true; m_instance = value; } + + /** + *

                Details about the instance.

                + */ + inline void SetInstance(InstanceConfiguration&& value) { m_instanceHasBeenSet = true; m_instance = std::move(value); } + + /** + *

                Details about the instance.

                + */ + inline Ec2InstanceConfiguration& WithInstance(const InstanceConfiguration& value) { SetInstance(value); return *this;} + + /** + *

                Details about the instance.

                + */ + inline Ec2InstanceConfiguration& WithInstance(InstanceConfiguration&& value) { SetInstance(std::move(value)); return *this;} + + private: + + InstanceConfiguration m_instance; + bool m_instanceHasBeenSet = false; + }; + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/Ec2InstanceSavingsPlans.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/Ec2InstanceSavingsPlans.h new file mode 100644 index 00000000000..873b650b6f5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/Ec2InstanceSavingsPlans.h @@ -0,0 +1,114 @@ +/** + * 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 CostOptimizationHub +{ +namespace Model +{ + + /** + *

                The EC2 instance Savings Plans recommendation details.

                See + * Also:

                AWS + * API Reference

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

                The EC2 instance Savings Plans configuration used for recommendations.

                + */ + inline const Ec2InstanceSavingsPlansConfiguration& GetConfiguration() const{ return m_configuration; } + + /** + *

                The EC2 instance Savings Plans configuration used for recommendations.

                + */ + inline bool ConfigurationHasBeenSet() const { return m_configurationHasBeenSet; } + + /** + *

                The EC2 instance Savings Plans configuration used for recommendations.

                + */ + inline void SetConfiguration(const Ec2InstanceSavingsPlansConfiguration& value) { m_configurationHasBeenSet = true; m_configuration = value; } + + /** + *

                The EC2 instance Savings Plans configuration used for recommendations.

                + */ + inline void SetConfiguration(Ec2InstanceSavingsPlansConfiguration&& value) { m_configurationHasBeenSet = true; m_configuration = std::move(value); } + + /** + *

                The EC2 instance Savings Plans configuration used for recommendations.

                + */ + inline Ec2InstanceSavingsPlans& WithConfiguration(const Ec2InstanceSavingsPlansConfiguration& value) { SetConfiguration(value); return *this;} + + /** + *

                The EC2 instance Savings Plans configuration used for recommendations.

                + */ + inline Ec2InstanceSavingsPlans& WithConfiguration(Ec2InstanceSavingsPlansConfiguration&& value) { SetConfiguration(std::move(value)); return *this;} + + + /** + *

                Cost impact of the Savings Plans purchase recommendation.

                + */ + inline const SavingsPlansCostCalculation& GetCostCalculation() const{ return m_costCalculation; } + + /** + *

                Cost impact of the Savings Plans purchase recommendation.

                + */ + inline bool CostCalculationHasBeenSet() const { return m_costCalculationHasBeenSet; } + + /** + *

                Cost impact of the Savings Plans purchase recommendation.

                + */ + inline void SetCostCalculation(const SavingsPlansCostCalculation& value) { m_costCalculationHasBeenSet = true; m_costCalculation = value; } + + /** + *

                Cost impact of the Savings Plans purchase recommendation.

                + */ + inline void SetCostCalculation(SavingsPlansCostCalculation&& value) { m_costCalculationHasBeenSet = true; m_costCalculation = std::move(value); } + + /** + *

                Cost impact of the Savings Plans purchase recommendation.

                + */ + inline Ec2InstanceSavingsPlans& WithCostCalculation(const SavingsPlansCostCalculation& value) { SetCostCalculation(value); return *this;} + + /** + *

                Cost impact of the Savings Plans purchase recommendation.

                + */ + inline Ec2InstanceSavingsPlans& WithCostCalculation(SavingsPlansCostCalculation&& value) { SetCostCalculation(std::move(value)); return *this;} + + private: + + Ec2InstanceSavingsPlansConfiguration m_configuration; + bool m_configurationHasBeenSet = false; + + SavingsPlansCostCalculation m_costCalculation; + bool m_costCalculationHasBeenSet = false; + }; + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/Ec2InstanceSavingsPlansConfiguration.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/Ec2InstanceSavingsPlansConfiguration.h new file mode 100644 index 00000000000..95e26fdf509 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/Ec2InstanceSavingsPlansConfiguration.h @@ -0,0 +1,309 @@ +/** + * 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 CostOptimizationHub +{ +namespace Model +{ + + /** + *

                The EC2 instance Savings Plans configuration used for + * recommendations.

                See Also:

                AWS + * API Reference

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

                The account scope that you want your recommendations for.

                + */ + inline const Aws::String& GetAccountScope() const{ return m_accountScope; } + + /** + *

                The account scope that you want your recommendations for.

                + */ + inline bool AccountScopeHasBeenSet() const { return m_accountScopeHasBeenSet; } + + /** + *

                The account scope that you want your recommendations for.

                + */ + inline void SetAccountScope(const Aws::String& value) { m_accountScopeHasBeenSet = true; m_accountScope = value; } + + /** + *

                The account scope that you want your recommendations for.

                + */ + inline void SetAccountScope(Aws::String&& value) { m_accountScopeHasBeenSet = true; m_accountScope = std::move(value); } + + /** + *

                The account scope that you want your recommendations for.

                + */ + inline void SetAccountScope(const char* value) { m_accountScopeHasBeenSet = true; m_accountScope.assign(value); } + + /** + *

                The account scope that you want your recommendations for.

                + */ + inline Ec2InstanceSavingsPlansConfiguration& WithAccountScope(const Aws::String& value) { SetAccountScope(value); return *this;} + + /** + *

                The account scope that you want your recommendations for.

                + */ + inline Ec2InstanceSavingsPlansConfiguration& WithAccountScope(Aws::String&& value) { SetAccountScope(std::move(value)); return *this;} + + /** + *

                The account scope that you want your recommendations for.

                + */ + inline Ec2InstanceSavingsPlansConfiguration& WithAccountScope(const char* value) { SetAccountScope(value); return *this;} + + + /** + *

                The hourly commitment for the Savings Plans type.

                + */ + inline const Aws::String& GetHourlyCommitment() const{ return m_hourlyCommitment; } + + /** + *

                The hourly commitment for the Savings Plans type.

                + */ + inline bool HourlyCommitmentHasBeenSet() const { return m_hourlyCommitmentHasBeenSet; } + + /** + *

                The hourly commitment for the Savings Plans type.

                + */ + inline void SetHourlyCommitment(const Aws::String& value) { m_hourlyCommitmentHasBeenSet = true; m_hourlyCommitment = value; } + + /** + *

                The hourly commitment for the Savings Plans type.

                + */ + inline void SetHourlyCommitment(Aws::String&& value) { m_hourlyCommitmentHasBeenSet = true; m_hourlyCommitment = std::move(value); } + + /** + *

                The hourly commitment for the Savings Plans type.

                + */ + inline void SetHourlyCommitment(const char* value) { m_hourlyCommitmentHasBeenSet = true; m_hourlyCommitment.assign(value); } + + /** + *

                The hourly commitment for the Savings Plans type.

                + */ + inline Ec2InstanceSavingsPlansConfiguration& WithHourlyCommitment(const Aws::String& value) { SetHourlyCommitment(value); return *this;} + + /** + *

                The hourly commitment for the Savings Plans type.

                + */ + inline Ec2InstanceSavingsPlansConfiguration& WithHourlyCommitment(Aws::String&& value) { SetHourlyCommitment(std::move(value)); return *this;} + + /** + *

                The hourly commitment for the Savings Plans type.

                + */ + inline Ec2InstanceSavingsPlansConfiguration& WithHourlyCommitment(const char* value) { SetHourlyCommitment(value); return *this;} + + + /** + *

                The instance family of the recommended Savings Plan.

                + */ + inline const Aws::String& GetInstanceFamily() const{ return m_instanceFamily; } + + /** + *

                The instance family of the recommended Savings Plan.

                + */ + inline bool InstanceFamilyHasBeenSet() const { return m_instanceFamilyHasBeenSet; } + + /** + *

                The instance family of the recommended Savings Plan.

                + */ + inline void SetInstanceFamily(const Aws::String& value) { m_instanceFamilyHasBeenSet = true; m_instanceFamily = value; } + + /** + *

                The instance family of the recommended Savings Plan.

                + */ + inline void SetInstanceFamily(Aws::String&& value) { m_instanceFamilyHasBeenSet = true; m_instanceFamily = std::move(value); } + + /** + *

                The instance family of the recommended Savings Plan.

                + */ + inline void SetInstanceFamily(const char* value) { m_instanceFamilyHasBeenSet = true; m_instanceFamily.assign(value); } + + /** + *

                The instance family of the recommended Savings Plan.

                + */ + inline Ec2InstanceSavingsPlansConfiguration& WithInstanceFamily(const Aws::String& value) { SetInstanceFamily(value); return *this;} + + /** + *

                The instance family of the recommended Savings Plan.

                + */ + inline Ec2InstanceSavingsPlansConfiguration& WithInstanceFamily(Aws::String&& value) { SetInstanceFamily(std::move(value)); return *this;} + + /** + *

                The instance family of the recommended Savings Plan.

                + */ + inline Ec2InstanceSavingsPlansConfiguration& WithInstanceFamily(const char* value) { SetInstanceFamily(value); return *this;} + + + /** + *

                The payment option for the commitment.

                + */ + inline const Aws::String& GetPaymentOption() const{ return m_paymentOption; } + + /** + *

                The payment option for the commitment.

                + */ + inline bool PaymentOptionHasBeenSet() const { return m_paymentOptionHasBeenSet; } + + /** + *

                The payment option for the commitment.

                + */ + inline void SetPaymentOption(const Aws::String& value) { m_paymentOptionHasBeenSet = true; m_paymentOption = value; } + + /** + *

                The payment option for the commitment.

                + */ + inline void SetPaymentOption(Aws::String&& value) { m_paymentOptionHasBeenSet = true; m_paymentOption = std::move(value); } + + /** + *

                The payment option for the commitment.

                + */ + inline void SetPaymentOption(const char* value) { m_paymentOptionHasBeenSet = true; m_paymentOption.assign(value); } + + /** + *

                The payment option for the commitment.

                + */ + inline Ec2InstanceSavingsPlansConfiguration& WithPaymentOption(const Aws::String& value) { SetPaymentOption(value); return *this;} + + /** + *

                The payment option for the commitment.

                + */ + inline Ec2InstanceSavingsPlansConfiguration& WithPaymentOption(Aws::String&& value) { SetPaymentOption(std::move(value)); return *this;} + + /** + *

                The payment option for the commitment.

                + */ + inline Ec2InstanceSavingsPlansConfiguration& WithPaymentOption(const char* value) { SetPaymentOption(value); return *this;} + + + /** + *

                The Amazon Web Services Region of the commitment.

                + */ + inline const Aws::String& GetSavingsPlansRegion() const{ return m_savingsPlansRegion; } + + /** + *

                The Amazon Web Services Region of the commitment.

                + */ + inline bool SavingsPlansRegionHasBeenSet() const { return m_savingsPlansRegionHasBeenSet; } + + /** + *

                The Amazon Web Services Region of the commitment.

                + */ + inline void SetSavingsPlansRegion(const Aws::String& value) { m_savingsPlansRegionHasBeenSet = true; m_savingsPlansRegion = value; } + + /** + *

                The Amazon Web Services Region of the commitment.

                + */ + inline void SetSavingsPlansRegion(Aws::String&& value) { m_savingsPlansRegionHasBeenSet = true; m_savingsPlansRegion = std::move(value); } + + /** + *

                The Amazon Web Services Region of the commitment.

                + */ + inline void SetSavingsPlansRegion(const char* value) { m_savingsPlansRegionHasBeenSet = true; m_savingsPlansRegion.assign(value); } + + /** + *

                The Amazon Web Services Region of the commitment.

                + */ + inline Ec2InstanceSavingsPlansConfiguration& WithSavingsPlansRegion(const Aws::String& value) { SetSavingsPlansRegion(value); return *this;} + + /** + *

                The Amazon Web Services Region of the commitment.

                + */ + inline Ec2InstanceSavingsPlansConfiguration& WithSavingsPlansRegion(Aws::String&& value) { SetSavingsPlansRegion(std::move(value)); return *this;} + + /** + *

                The Amazon Web Services Region of the commitment.

                + */ + inline Ec2InstanceSavingsPlansConfiguration& WithSavingsPlansRegion(const char* value) { SetSavingsPlansRegion(value); return *this;} + + + /** + *

                The Savings Plans recommendation term in years.

                + */ + inline const Aws::String& GetTerm() const{ return m_term; } + + /** + *

                The Savings Plans recommendation term in years.

                + */ + inline bool TermHasBeenSet() const { return m_termHasBeenSet; } + + /** + *

                The Savings Plans recommendation term in years.

                + */ + inline void SetTerm(const Aws::String& value) { m_termHasBeenSet = true; m_term = value; } + + /** + *

                The Savings Plans recommendation term in years.

                + */ + inline void SetTerm(Aws::String&& value) { m_termHasBeenSet = true; m_term = std::move(value); } + + /** + *

                The Savings Plans recommendation term in years.

                + */ + inline void SetTerm(const char* value) { m_termHasBeenSet = true; m_term.assign(value); } + + /** + *

                The Savings Plans recommendation term in years.

                + */ + inline Ec2InstanceSavingsPlansConfiguration& WithTerm(const Aws::String& value) { SetTerm(value); return *this;} + + /** + *

                The Savings Plans recommendation term in years.

                + */ + inline Ec2InstanceSavingsPlansConfiguration& WithTerm(Aws::String&& value) { SetTerm(std::move(value)); return *this;} + + /** + *

                The Savings Plans recommendation term in years.

                + */ + inline Ec2InstanceSavingsPlansConfiguration& WithTerm(const char* value) { SetTerm(value); return *this;} + + private: + + Aws::String m_accountScope; + bool m_accountScopeHasBeenSet = false; + + Aws::String m_hourlyCommitment; + bool m_hourlyCommitmentHasBeenSet = false; + + Aws::String m_instanceFamily; + bool m_instanceFamilyHasBeenSet = false; + + Aws::String m_paymentOption; + bool m_paymentOptionHasBeenSet = false; + + Aws::String m_savingsPlansRegion; + bool m_savingsPlansRegionHasBeenSet = false; + + Aws::String m_term; + bool m_termHasBeenSet = false; + }; + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/Ec2ReservedInstances.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/Ec2ReservedInstances.h new file mode 100644 index 00000000000..f299cd7e3fc --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/Ec2ReservedInstances.h @@ -0,0 +1,114 @@ +/** + * 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 CostOptimizationHub +{ +namespace Model +{ + + /** + *

                The EC2 reserved instances recommendation details.

                See Also:

                + * AWS + * API Reference

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

                The EC2 reserved instances configuration used for recommendations.

                + */ + inline const Ec2ReservedInstancesConfiguration& GetConfiguration() const{ return m_configuration; } + + /** + *

                The EC2 reserved instances configuration used for recommendations.

                + */ + inline bool ConfigurationHasBeenSet() const { return m_configurationHasBeenSet; } + + /** + *

                The EC2 reserved instances configuration used for recommendations.

                + */ + inline void SetConfiguration(const Ec2ReservedInstancesConfiguration& value) { m_configurationHasBeenSet = true; m_configuration = value; } + + /** + *

                The EC2 reserved instances configuration used for recommendations.

                + */ + inline void SetConfiguration(Ec2ReservedInstancesConfiguration&& value) { m_configurationHasBeenSet = true; m_configuration = std::move(value); } + + /** + *

                The EC2 reserved instances configuration used for recommendations.

                + */ + inline Ec2ReservedInstances& WithConfiguration(const Ec2ReservedInstancesConfiguration& value) { SetConfiguration(value); return *this;} + + /** + *

                The EC2 reserved instances configuration used for recommendations.

                + */ + inline Ec2ReservedInstances& WithConfiguration(Ec2ReservedInstancesConfiguration&& value) { SetConfiguration(std::move(value)); return *this;} + + + /** + *

                Cost impact of the purchase recommendation.

                + */ + inline const ReservedInstancesCostCalculation& GetCostCalculation() const{ return m_costCalculation; } + + /** + *

                Cost impact of the purchase recommendation.

                + */ + inline bool CostCalculationHasBeenSet() const { return m_costCalculationHasBeenSet; } + + /** + *

                Cost impact of the purchase recommendation.

                + */ + inline void SetCostCalculation(const ReservedInstancesCostCalculation& value) { m_costCalculationHasBeenSet = true; m_costCalculation = value; } + + /** + *

                Cost impact of the purchase recommendation.

                + */ + inline void SetCostCalculation(ReservedInstancesCostCalculation&& value) { m_costCalculationHasBeenSet = true; m_costCalculation = std::move(value); } + + /** + *

                Cost impact of the purchase recommendation.

                + */ + inline Ec2ReservedInstances& WithCostCalculation(const ReservedInstancesCostCalculation& value) { SetCostCalculation(value); return *this;} + + /** + *

                Cost impact of the purchase recommendation.

                + */ + inline Ec2ReservedInstances& WithCostCalculation(ReservedInstancesCostCalculation&& value) { SetCostCalculation(std::move(value)); return *this;} + + private: + + Ec2ReservedInstancesConfiguration m_configuration; + bool m_configurationHasBeenSet = false; + + ReservedInstancesCostCalculation m_costCalculation; + bool m_costCalculationHasBeenSet = false; + }; + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/Ec2ReservedInstancesConfiguration.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/Ec2ReservedInstancesConfiguration.h new file mode 100644 index 00000000000..1b6028947c4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/Ec2ReservedInstancesConfiguration.h @@ -0,0 +1,769 @@ +/** + * 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 CostOptimizationHub +{ +namespace Model +{ + + /** + *

                The EC2 reserved instances configuration used for + * recommendations.

                See Also:

                AWS + * API Reference

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

                The account scope that you want your recommendations for.

                + */ + inline const Aws::String& GetAccountScope() const{ return m_accountScope; } + + /** + *

                The account scope that you want your recommendations for.

                + */ + inline bool AccountScopeHasBeenSet() const { return m_accountScopeHasBeenSet; } + + /** + *

                The account scope that you want your recommendations for.

                + */ + inline void SetAccountScope(const Aws::String& value) { m_accountScopeHasBeenSet = true; m_accountScope = value; } + + /** + *

                The account scope that you want your recommendations for.

                + */ + inline void SetAccountScope(Aws::String&& value) { m_accountScopeHasBeenSet = true; m_accountScope = std::move(value); } + + /** + *

                The account scope that you want your recommendations for.

                + */ + inline void SetAccountScope(const char* value) { m_accountScopeHasBeenSet = true; m_accountScope.assign(value); } + + /** + *

                The account scope that you want your recommendations for.

                + */ + inline Ec2ReservedInstancesConfiguration& WithAccountScope(const Aws::String& value) { SetAccountScope(value); return *this;} + + /** + *

                The account scope that you want your recommendations for.

                + */ + inline Ec2ReservedInstancesConfiguration& WithAccountScope(Aws::String&& value) { SetAccountScope(std::move(value)); return *this;} + + /** + *

                The account scope that you want your recommendations for.

                + */ + inline Ec2ReservedInstancesConfiguration& WithAccountScope(const char* value) { SetAccountScope(value); return *this;} + + + /** + *

                Determines whether the recommendation is for a current generation + * instance.

                + */ + inline const Aws::String& GetCurrentGeneration() const{ return m_currentGeneration; } + + /** + *

                Determines whether the recommendation is for a current generation + * instance.

                + */ + inline bool CurrentGenerationHasBeenSet() const { return m_currentGenerationHasBeenSet; } + + /** + *

                Determines whether the recommendation is for a current generation + * instance.

                + */ + inline void SetCurrentGeneration(const Aws::String& value) { m_currentGenerationHasBeenSet = true; m_currentGeneration = value; } + + /** + *

                Determines whether the recommendation is for a current generation + * instance.

                + */ + inline void SetCurrentGeneration(Aws::String&& value) { m_currentGenerationHasBeenSet = true; m_currentGeneration = std::move(value); } + + /** + *

                Determines whether the recommendation is for a current generation + * instance.

                + */ + inline void SetCurrentGeneration(const char* value) { m_currentGenerationHasBeenSet = true; m_currentGeneration.assign(value); } + + /** + *

                Determines whether the recommendation is for a current generation + * instance.

                + */ + inline Ec2ReservedInstancesConfiguration& WithCurrentGeneration(const Aws::String& value) { SetCurrentGeneration(value); return *this;} + + /** + *

                Determines whether the recommendation is for a current generation + * instance.

                + */ + inline Ec2ReservedInstancesConfiguration& WithCurrentGeneration(Aws::String&& value) { SetCurrentGeneration(std::move(value)); return *this;} + + /** + *

                Determines whether the recommendation is for a current generation + * instance.

                + */ + inline Ec2ReservedInstancesConfiguration& WithCurrentGeneration(const char* value) { SetCurrentGeneration(value); return *this;} + + + /** + *

                The instance family of the recommended reservation.

                + */ + inline const Aws::String& GetInstanceFamily() const{ return m_instanceFamily; } + + /** + *

                The instance family of the recommended reservation.

                + */ + inline bool InstanceFamilyHasBeenSet() const { return m_instanceFamilyHasBeenSet; } + + /** + *

                The instance family of the recommended reservation.

                + */ + inline void SetInstanceFamily(const Aws::String& value) { m_instanceFamilyHasBeenSet = true; m_instanceFamily = value; } + + /** + *

                The instance family of the recommended reservation.

                + */ + inline void SetInstanceFamily(Aws::String&& value) { m_instanceFamilyHasBeenSet = true; m_instanceFamily = std::move(value); } + + /** + *

                The instance family of the recommended reservation.

                + */ + inline void SetInstanceFamily(const char* value) { m_instanceFamilyHasBeenSet = true; m_instanceFamily.assign(value); } + + /** + *

                The instance family of the recommended reservation.

                + */ + inline Ec2ReservedInstancesConfiguration& WithInstanceFamily(const Aws::String& value) { SetInstanceFamily(value); return *this;} + + /** + *

                The instance family of the recommended reservation.

                + */ + inline Ec2ReservedInstancesConfiguration& WithInstanceFamily(Aws::String&& value) { SetInstanceFamily(std::move(value)); return *this;} + + /** + *

                The instance family of the recommended reservation.

                + */ + inline Ec2ReservedInstancesConfiguration& WithInstanceFamily(const char* value) { SetInstanceFamily(value); return *this;} + + + /** + *

                The type of instance that Amazon Web Services recommends.

                + */ + inline const Aws::String& GetInstanceType() const{ return m_instanceType; } + + /** + *

                The type of instance that Amazon Web Services recommends.

                + */ + inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; } + + /** + *

                The type of instance that Amazon Web Services recommends.

                + */ + inline void SetInstanceType(const Aws::String& value) { m_instanceTypeHasBeenSet = true; m_instanceType = value; } + + /** + *

                The type of instance that Amazon Web Services recommends.

                + */ + inline void SetInstanceType(Aws::String&& value) { m_instanceTypeHasBeenSet = true; m_instanceType = std::move(value); } + + /** + *

                The type of instance that Amazon Web Services recommends.

                + */ + inline void SetInstanceType(const char* value) { m_instanceTypeHasBeenSet = true; m_instanceType.assign(value); } + + /** + *

                The type of instance that Amazon Web Services recommends.

                + */ + inline Ec2ReservedInstancesConfiguration& WithInstanceType(const Aws::String& value) { SetInstanceType(value); return *this;} + + /** + *

                The type of instance that Amazon Web Services recommends.

                + */ + inline Ec2ReservedInstancesConfiguration& WithInstanceType(Aws::String&& value) { SetInstanceType(std::move(value)); return *this;} + + /** + *

                The type of instance that Amazon Web Services recommends.

                + */ + inline Ec2ReservedInstancesConfiguration& WithInstanceType(const char* value) { SetInstanceType(value); return *this;} + + + /** + *

                How much purchasing reserved instances costs you on a monthly basis.

                + */ + inline const Aws::String& GetMonthlyRecurringCost() const{ return m_monthlyRecurringCost; } + + /** + *

                How much purchasing reserved instances costs you on a monthly basis.

                + */ + inline bool MonthlyRecurringCostHasBeenSet() const { return m_monthlyRecurringCostHasBeenSet; } + + /** + *

                How much purchasing reserved instances costs you on a monthly basis.

                + */ + inline void SetMonthlyRecurringCost(const Aws::String& value) { m_monthlyRecurringCostHasBeenSet = true; m_monthlyRecurringCost = value; } + + /** + *

                How much purchasing reserved instances costs you on a monthly basis.

                + */ + inline void SetMonthlyRecurringCost(Aws::String&& value) { m_monthlyRecurringCostHasBeenSet = true; m_monthlyRecurringCost = std::move(value); } + + /** + *

                How much purchasing reserved instances costs you on a monthly basis.

                + */ + inline void SetMonthlyRecurringCost(const char* value) { m_monthlyRecurringCostHasBeenSet = true; m_monthlyRecurringCost.assign(value); } + + /** + *

                How much purchasing reserved instances costs you on a monthly basis.

                + */ + inline Ec2ReservedInstancesConfiguration& WithMonthlyRecurringCost(const Aws::String& value) { SetMonthlyRecurringCost(value); return *this;} + + /** + *

                How much purchasing reserved instances costs you on a monthly basis.

                + */ + inline Ec2ReservedInstancesConfiguration& WithMonthlyRecurringCost(Aws::String&& value) { SetMonthlyRecurringCost(std::move(value)); return *this;} + + /** + *

                How much purchasing reserved instances costs you on a monthly basis.

                + */ + inline Ec2ReservedInstancesConfiguration& WithMonthlyRecurringCost(const char* value) { SetMonthlyRecurringCost(value); return *this;} + + + /** + *

                The number of normalized units that Amazon Web Services recommends that you + * purchase.

                + */ + inline const Aws::String& GetNormalizedUnitsToPurchase() const{ return m_normalizedUnitsToPurchase; } + + /** + *

                The number of normalized units that Amazon Web Services recommends that you + * purchase.

                + */ + inline bool NormalizedUnitsToPurchaseHasBeenSet() const { return m_normalizedUnitsToPurchaseHasBeenSet; } + + /** + *

                The number of normalized units that Amazon Web Services recommends that you + * purchase.

                + */ + inline void SetNormalizedUnitsToPurchase(const Aws::String& value) { m_normalizedUnitsToPurchaseHasBeenSet = true; m_normalizedUnitsToPurchase = value; } + + /** + *

                The number of normalized units that Amazon Web Services recommends that you + * purchase.

                + */ + inline void SetNormalizedUnitsToPurchase(Aws::String&& value) { m_normalizedUnitsToPurchaseHasBeenSet = true; m_normalizedUnitsToPurchase = std::move(value); } + + /** + *

                The number of normalized units that Amazon Web Services recommends that you + * purchase.

                + */ + inline void SetNormalizedUnitsToPurchase(const char* value) { m_normalizedUnitsToPurchaseHasBeenSet = true; m_normalizedUnitsToPurchase.assign(value); } + + /** + *

                The number of normalized units that Amazon Web Services recommends that you + * purchase.

                + */ + inline Ec2ReservedInstancesConfiguration& WithNormalizedUnitsToPurchase(const Aws::String& value) { SetNormalizedUnitsToPurchase(value); return *this;} + + /** + *

                The number of normalized units that Amazon Web Services recommends that you + * purchase.

                + */ + inline Ec2ReservedInstancesConfiguration& WithNormalizedUnitsToPurchase(Aws::String&& value) { SetNormalizedUnitsToPurchase(std::move(value)); return *this;} + + /** + *

                The number of normalized units that Amazon Web Services recommends that you + * purchase.

                + */ + inline Ec2ReservedInstancesConfiguration& WithNormalizedUnitsToPurchase(const char* value) { SetNormalizedUnitsToPurchase(value); return *this;} + + + /** + *

                The number of instances that Amazon Web Services recommends that you + * purchase.

                + */ + inline const Aws::String& GetNumberOfInstancesToPurchase() const{ return m_numberOfInstancesToPurchase; } + + /** + *

                The number of instances that Amazon Web Services recommends that you + * purchase.

                + */ + inline bool NumberOfInstancesToPurchaseHasBeenSet() const { return m_numberOfInstancesToPurchaseHasBeenSet; } + + /** + *

                The number of instances that Amazon Web Services recommends that you + * purchase.

                + */ + inline void SetNumberOfInstancesToPurchase(const Aws::String& value) { m_numberOfInstancesToPurchaseHasBeenSet = true; m_numberOfInstancesToPurchase = value; } + + /** + *

                The number of instances that Amazon Web Services recommends that you + * purchase.

                + */ + inline void SetNumberOfInstancesToPurchase(Aws::String&& value) { m_numberOfInstancesToPurchaseHasBeenSet = true; m_numberOfInstancesToPurchase = std::move(value); } + + /** + *

                The number of instances that Amazon Web Services recommends that you + * purchase.

                + */ + inline void SetNumberOfInstancesToPurchase(const char* value) { m_numberOfInstancesToPurchaseHasBeenSet = true; m_numberOfInstancesToPurchase.assign(value); } + + /** + *

                The number of instances that Amazon Web Services recommends that you + * purchase.

                + */ + inline Ec2ReservedInstancesConfiguration& WithNumberOfInstancesToPurchase(const Aws::String& value) { SetNumberOfInstancesToPurchase(value); return *this;} + + /** + *

                The number of instances that Amazon Web Services recommends that you + * purchase.

                + */ + inline Ec2ReservedInstancesConfiguration& WithNumberOfInstancesToPurchase(Aws::String&& value) { SetNumberOfInstancesToPurchase(std::move(value)); return *this;} + + /** + *

                The number of instances that Amazon Web Services recommends that you + * purchase.

                + */ + inline Ec2ReservedInstancesConfiguration& WithNumberOfInstancesToPurchase(const char* value) { SetNumberOfInstancesToPurchase(value); return *this;} + + + /** + *

                Indicates whether the recommendation is for standard or convertible + * reservations.

                + */ + inline const Aws::String& GetOfferingClass() const{ return m_offeringClass; } + + /** + *

                Indicates whether the recommendation is for standard or convertible + * reservations.

                + */ + inline bool OfferingClassHasBeenSet() const { return m_offeringClassHasBeenSet; } + + /** + *

                Indicates whether the recommendation is for standard or convertible + * reservations.

                + */ + inline void SetOfferingClass(const Aws::String& value) { m_offeringClassHasBeenSet = true; m_offeringClass = value; } + + /** + *

                Indicates whether the recommendation is for standard or convertible + * reservations.

                + */ + inline void SetOfferingClass(Aws::String&& value) { m_offeringClassHasBeenSet = true; m_offeringClass = std::move(value); } + + /** + *

                Indicates whether the recommendation is for standard or convertible + * reservations.

                + */ + inline void SetOfferingClass(const char* value) { m_offeringClassHasBeenSet = true; m_offeringClass.assign(value); } + + /** + *

                Indicates whether the recommendation is for standard or convertible + * reservations.

                + */ + inline Ec2ReservedInstancesConfiguration& WithOfferingClass(const Aws::String& value) { SetOfferingClass(value); return *this;} + + /** + *

                Indicates whether the recommendation is for standard or convertible + * reservations.

                + */ + inline Ec2ReservedInstancesConfiguration& WithOfferingClass(Aws::String&& value) { SetOfferingClass(std::move(value)); return *this;} + + /** + *

                Indicates whether the recommendation is for standard or convertible + * reservations.

                + */ + inline Ec2ReservedInstancesConfiguration& WithOfferingClass(const char* value) { SetOfferingClass(value); return *this;} + + + /** + *

                The payment option for the commitment.

                + */ + inline const Aws::String& GetPaymentOption() const{ return m_paymentOption; } + + /** + *

                The payment option for the commitment.

                + */ + inline bool PaymentOptionHasBeenSet() const { return m_paymentOptionHasBeenSet; } + + /** + *

                The payment option for the commitment.

                + */ + inline void SetPaymentOption(const Aws::String& value) { m_paymentOptionHasBeenSet = true; m_paymentOption = value; } + + /** + *

                The payment option for the commitment.

                + */ + inline void SetPaymentOption(Aws::String&& value) { m_paymentOptionHasBeenSet = true; m_paymentOption = std::move(value); } + + /** + *

                The payment option for the commitment.

                + */ + inline void SetPaymentOption(const char* value) { m_paymentOptionHasBeenSet = true; m_paymentOption.assign(value); } + + /** + *

                The payment option for the commitment.

                + */ + inline Ec2ReservedInstancesConfiguration& WithPaymentOption(const Aws::String& value) { SetPaymentOption(value); return *this;} + + /** + *

                The payment option for the commitment.

                + */ + inline Ec2ReservedInstancesConfiguration& WithPaymentOption(Aws::String&& value) { SetPaymentOption(std::move(value)); return *this;} + + /** + *

                The payment option for the commitment.

                + */ + inline Ec2ReservedInstancesConfiguration& WithPaymentOption(const char* value) { SetPaymentOption(value); return *this;} + + + /** + *

                The platform of the recommended reservation. The platform is the specific + * combination of operating system, license model, and software on an instance.

                + */ + inline const Aws::String& GetPlatform() const{ return m_platform; } + + /** + *

                The platform of the recommended reservation. The platform is the specific + * combination of operating system, license model, and software on an instance.

                + */ + inline bool PlatformHasBeenSet() const { return m_platformHasBeenSet; } + + /** + *

                The platform of the recommended reservation. The platform is the specific + * combination of operating system, license model, and software on an instance.

                + */ + inline void SetPlatform(const Aws::String& value) { m_platformHasBeenSet = true; m_platform = value; } + + /** + *

                The platform of the recommended reservation. The platform is the specific + * combination of operating system, license model, and software on an instance.

                + */ + inline void SetPlatform(Aws::String&& value) { m_platformHasBeenSet = true; m_platform = std::move(value); } + + /** + *

                The platform of the recommended reservation. The platform is the specific + * combination of operating system, license model, and software on an instance.

                + */ + inline void SetPlatform(const char* value) { m_platformHasBeenSet = true; m_platform.assign(value); } + + /** + *

                The platform of the recommended reservation. The platform is the specific + * combination of operating system, license model, and software on an instance.

                + */ + inline Ec2ReservedInstancesConfiguration& WithPlatform(const Aws::String& value) { SetPlatform(value); return *this;} + + /** + *

                The platform of the recommended reservation. The platform is the specific + * combination of operating system, license model, and software on an instance.

                + */ + inline Ec2ReservedInstancesConfiguration& WithPlatform(Aws::String&& value) { SetPlatform(std::move(value)); return *this;} + + /** + *

                The platform of the recommended reservation. The platform is the specific + * combination of operating system, license model, and software on an instance.

                + */ + inline Ec2ReservedInstancesConfiguration& WithPlatform(const char* value) { SetPlatform(value); return *this;} + + + /** + *

                The Amazon Web Services Region of the commitment.

                + */ + inline const Aws::String& GetReservedInstancesRegion() const{ return m_reservedInstancesRegion; } + + /** + *

                The Amazon Web Services Region of the commitment.

                + */ + inline bool ReservedInstancesRegionHasBeenSet() const { return m_reservedInstancesRegionHasBeenSet; } + + /** + *

                The Amazon Web Services Region of the commitment.

                + */ + inline void SetReservedInstancesRegion(const Aws::String& value) { m_reservedInstancesRegionHasBeenSet = true; m_reservedInstancesRegion = value; } + + /** + *

                The Amazon Web Services Region of the commitment.

                + */ + inline void SetReservedInstancesRegion(Aws::String&& value) { m_reservedInstancesRegionHasBeenSet = true; m_reservedInstancesRegion = std::move(value); } + + /** + *

                The Amazon Web Services Region of the commitment.

                + */ + inline void SetReservedInstancesRegion(const char* value) { m_reservedInstancesRegionHasBeenSet = true; m_reservedInstancesRegion.assign(value); } + + /** + *

                The Amazon Web Services Region of the commitment.

                + */ + inline Ec2ReservedInstancesConfiguration& WithReservedInstancesRegion(const Aws::String& value) { SetReservedInstancesRegion(value); return *this;} + + /** + *

                The Amazon Web Services Region of the commitment.

                + */ + inline Ec2ReservedInstancesConfiguration& WithReservedInstancesRegion(Aws::String&& value) { SetReservedInstancesRegion(std::move(value)); return *this;} + + /** + *

                The Amazon Web Services Region of the commitment.

                + */ + inline Ec2ReservedInstancesConfiguration& WithReservedInstancesRegion(const char* value) { SetReservedInstancesRegion(value); return *this;} + + + /** + *

                The service that you want your recommendations for.

                + */ + inline const Aws::String& GetService() const{ return m_service; } + + /** + *

                The service that you want your recommendations for.

                + */ + inline bool ServiceHasBeenSet() const { return m_serviceHasBeenSet; } + + /** + *

                The service that you want your recommendations for.

                + */ + inline void SetService(const Aws::String& value) { m_serviceHasBeenSet = true; m_service = value; } + + /** + *

                The service that you want your recommendations for.

                + */ + inline void SetService(Aws::String&& value) { m_serviceHasBeenSet = true; m_service = std::move(value); } + + /** + *

                The service that you want your recommendations for.

                + */ + inline void SetService(const char* value) { m_serviceHasBeenSet = true; m_service.assign(value); } + + /** + *

                The service that you want your recommendations for.

                + */ + inline Ec2ReservedInstancesConfiguration& WithService(const Aws::String& value) { SetService(value); return *this;} + + /** + *

                The service that you want your recommendations for.

                + */ + inline Ec2ReservedInstancesConfiguration& WithService(Aws::String&& value) { SetService(std::move(value)); return *this;} + + /** + *

                The service that you want your recommendations for.

                + */ + inline Ec2ReservedInstancesConfiguration& WithService(const char* value) { SetService(value); return *this;} + + + /** + *

                Determines whether the recommendation is size flexible.

                + */ + inline bool GetSizeFlexEligible() const{ return m_sizeFlexEligible; } + + /** + *

                Determines whether the recommendation is size flexible.

                + */ + inline bool SizeFlexEligibleHasBeenSet() const { return m_sizeFlexEligibleHasBeenSet; } + + /** + *

                Determines whether the recommendation is size flexible.

                + */ + inline void SetSizeFlexEligible(bool value) { m_sizeFlexEligibleHasBeenSet = true; m_sizeFlexEligible = value; } + + /** + *

                Determines whether the recommendation is size flexible.

                + */ + inline Ec2ReservedInstancesConfiguration& WithSizeFlexEligible(bool value) { SetSizeFlexEligible(value); return *this;} + + + /** + *

                Determines whether the recommended reservation is dedicated or shared.

                + */ + inline const Aws::String& GetTenancy() const{ return m_tenancy; } + + /** + *

                Determines whether the recommended reservation is dedicated or shared.

                + */ + inline bool TenancyHasBeenSet() const { return m_tenancyHasBeenSet; } + + /** + *

                Determines whether the recommended reservation is dedicated or shared.

                + */ + inline void SetTenancy(const Aws::String& value) { m_tenancyHasBeenSet = true; m_tenancy = value; } + + /** + *

                Determines whether the recommended reservation is dedicated or shared.

                + */ + inline void SetTenancy(Aws::String&& value) { m_tenancyHasBeenSet = true; m_tenancy = std::move(value); } + + /** + *

                Determines whether the recommended reservation is dedicated or shared.

                + */ + inline void SetTenancy(const char* value) { m_tenancyHasBeenSet = true; m_tenancy.assign(value); } + + /** + *

                Determines whether the recommended reservation is dedicated or shared.

                + */ + inline Ec2ReservedInstancesConfiguration& WithTenancy(const Aws::String& value) { SetTenancy(value); return *this;} + + /** + *

                Determines whether the recommended reservation is dedicated or shared.

                + */ + inline Ec2ReservedInstancesConfiguration& WithTenancy(Aws::String&& value) { SetTenancy(std::move(value)); return *this;} + + /** + *

                Determines whether the recommended reservation is dedicated or shared.

                + */ + inline Ec2ReservedInstancesConfiguration& WithTenancy(const char* value) { SetTenancy(value); return *this;} + + + /** + *

                The reserved instances recommendation term in years.

                + */ + inline const Aws::String& GetTerm() const{ return m_term; } + + /** + *

                The reserved instances recommendation term in years.

                + */ + inline bool TermHasBeenSet() const { return m_termHasBeenSet; } + + /** + *

                The reserved instances recommendation term in years.

                + */ + inline void SetTerm(const Aws::String& value) { m_termHasBeenSet = true; m_term = value; } + + /** + *

                The reserved instances recommendation term in years.

                + */ + inline void SetTerm(Aws::String&& value) { m_termHasBeenSet = true; m_term = std::move(value); } + + /** + *

                The reserved instances recommendation term in years.

                + */ + inline void SetTerm(const char* value) { m_termHasBeenSet = true; m_term.assign(value); } + + /** + *

                The reserved instances recommendation term in years.

                + */ + inline Ec2ReservedInstancesConfiguration& WithTerm(const Aws::String& value) { SetTerm(value); return *this;} + + /** + *

                The reserved instances recommendation term in years.

                + */ + inline Ec2ReservedInstancesConfiguration& WithTerm(Aws::String&& value) { SetTerm(std::move(value)); return *this;} + + /** + *

                The reserved instances recommendation term in years.

                + */ + inline Ec2ReservedInstancesConfiguration& WithTerm(const char* value) { SetTerm(value); return *this;} + + + /** + *

                How much purchasing this instance costs you upfront.

                + */ + inline const Aws::String& GetUpfrontCost() const{ return m_upfrontCost; } + + /** + *

                How much purchasing this instance costs you upfront.

                + */ + inline bool UpfrontCostHasBeenSet() const { return m_upfrontCostHasBeenSet; } + + /** + *

                How much purchasing this instance costs you upfront.

                + */ + inline void SetUpfrontCost(const Aws::String& value) { m_upfrontCostHasBeenSet = true; m_upfrontCost = value; } + + /** + *

                How much purchasing this instance costs you upfront.

                + */ + inline void SetUpfrontCost(Aws::String&& value) { m_upfrontCostHasBeenSet = true; m_upfrontCost = std::move(value); } + + /** + *

                How much purchasing this instance costs you upfront.

                + */ + inline void SetUpfrontCost(const char* value) { m_upfrontCostHasBeenSet = true; m_upfrontCost.assign(value); } + + /** + *

                How much purchasing this instance costs you upfront.

                + */ + inline Ec2ReservedInstancesConfiguration& WithUpfrontCost(const Aws::String& value) { SetUpfrontCost(value); return *this;} + + /** + *

                How much purchasing this instance costs you upfront.

                + */ + inline Ec2ReservedInstancesConfiguration& WithUpfrontCost(Aws::String&& value) { SetUpfrontCost(std::move(value)); return *this;} + + /** + *

                How much purchasing this instance costs you upfront.

                + */ + inline Ec2ReservedInstancesConfiguration& WithUpfrontCost(const char* value) { SetUpfrontCost(value); return *this;} + + private: + + Aws::String m_accountScope; + bool m_accountScopeHasBeenSet = false; + + Aws::String m_currentGeneration; + bool m_currentGenerationHasBeenSet = false; + + Aws::String m_instanceFamily; + bool m_instanceFamilyHasBeenSet = false; + + Aws::String m_instanceType; + bool m_instanceTypeHasBeenSet = false; + + Aws::String m_monthlyRecurringCost; + bool m_monthlyRecurringCostHasBeenSet = false; + + Aws::String m_normalizedUnitsToPurchase; + bool m_normalizedUnitsToPurchaseHasBeenSet = false; + + Aws::String m_numberOfInstancesToPurchase; + bool m_numberOfInstancesToPurchaseHasBeenSet = false; + + Aws::String m_offeringClass; + bool m_offeringClassHasBeenSet = false; + + Aws::String m_paymentOption; + bool m_paymentOptionHasBeenSet = false; + + Aws::String m_platform; + bool m_platformHasBeenSet = false; + + Aws::String m_reservedInstancesRegion; + bool m_reservedInstancesRegionHasBeenSet = false; + + Aws::String m_service; + bool m_serviceHasBeenSet = false; + + bool m_sizeFlexEligible; + bool m_sizeFlexEligibleHasBeenSet = false; + + Aws::String m_tenancy; + bool m_tenancyHasBeenSet = false; + + Aws::String m_term; + bool m_termHasBeenSet = false; + + Aws::String m_upfrontCost; + bool m_upfrontCostHasBeenSet = false; + }; + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/EcsService.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/EcsService.h new file mode 100644 index 00000000000..d12658e41e2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/EcsService.h @@ -0,0 +1,113 @@ +/** + * 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 CostOptimizationHub +{ +namespace Model +{ + + /** + *

                The ECS service recommendation details.

                See Also:

                AWS + * API Reference

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

                The ECS service configuration used for recommendations.

                + */ + inline const EcsServiceConfiguration& GetConfiguration() const{ return m_configuration; } + + /** + *

                The ECS service configuration used for recommendations.

                + */ + inline bool ConfigurationHasBeenSet() const { return m_configurationHasBeenSet; } + + /** + *

                The ECS service configuration used for recommendations.

                + */ + inline void SetConfiguration(const EcsServiceConfiguration& value) { m_configurationHasBeenSet = true; m_configuration = value; } + + /** + *

                The ECS service configuration used for recommendations.

                + */ + inline void SetConfiguration(EcsServiceConfiguration&& value) { m_configurationHasBeenSet = true; m_configuration = std::move(value); } + + /** + *

                The ECS service configuration used for recommendations.

                + */ + inline EcsService& WithConfiguration(const EcsServiceConfiguration& value) { SetConfiguration(value); return *this;} + + /** + *

                The ECS service configuration used for recommendations.

                + */ + inline EcsService& WithConfiguration(EcsServiceConfiguration&& value) { SetConfiguration(std::move(value)); return *this;} + + + /** + *

                Cost impact of the recommendation.

                + */ + inline const ResourceCostCalculation& GetCostCalculation() const{ return m_costCalculation; } + + /** + *

                Cost impact of the recommendation.

                + */ + inline bool CostCalculationHasBeenSet() const { return m_costCalculationHasBeenSet; } + + /** + *

                Cost impact of the recommendation.

                + */ + inline void SetCostCalculation(const ResourceCostCalculation& value) { m_costCalculationHasBeenSet = true; m_costCalculation = value; } + + /** + *

                Cost impact of the recommendation.

                + */ + inline void SetCostCalculation(ResourceCostCalculation&& value) { m_costCalculationHasBeenSet = true; m_costCalculation = std::move(value); } + + /** + *

                Cost impact of the recommendation.

                + */ + inline EcsService& WithCostCalculation(const ResourceCostCalculation& value) { SetCostCalculation(value); return *this;} + + /** + *

                Cost impact of the recommendation.

                + */ + inline EcsService& WithCostCalculation(ResourceCostCalculation&& value) { SetCostCalculation(std::move(value)); return *this;} + + private: + + EcsServiceConfiguration m_configuration; + bool m_configurationHasBeenSet = false; + + ResourceCostCalculation m_costCalculation; + bool m_costCalculationHasBeenSet = false; + }; + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/EcsServiceConfiguration.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/EcsServiceConfiguration.h new file mode 100644 index 00000000000..69fe25e6fcd --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/EcsServiceConfiguration.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 CostOptimizationHub +{ +namespace Model +{ + + /** + *

                The ECS service configuration used for recommendations.

                See + * Also:

                AWS + * API Reference

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

                Details about the compute configuration.

                + */ + inline const ComputeConfiguration& GetCompute() const{ return m_compute; } + + /** + *

                Details about the compute configuration.

                + */ + inline bool ComputeHasBeenSet() const { return m_computeHasBeenSet; } + + /** + *

                Details about the compute configuration.

                + */ + inline void SetCompute(const ComputeConfiguration& value) { m_computeHasBeenSet = true; m_compute = value; } + + /** + *

                Details about the compute configuration.

                + */ + inline void SetCompute(ComputeConfiguration&& value) { m_computeHasBeenSet = true; m_compute = std::move(value); } + + /** + *

                Details about the compute configuration.

                + */ + inline EcsServiceConfiguration& WithCompute(const ComputeConfiguration& value) { SetCompute(value); return *this;} + + /** + *

                Details about the compute configuration.

                + */ + inline EcsServiceConfiguration& WithCompute(ComputeConfiguration&& value) { SetCompute(std::move(value)); return *this;} + + private: + + ComputeConfiguration m_compute; + bool m_computeHasBeenSet = false; + }; + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/ElastiCacheReservedInstances.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/ElastiCacheReservedInstances.h new file mode 100644 index 00000000000..e38a3d8c7ec --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/ElastiCacheReservedInstances.h @@ -0,0 +1,120 @@ +/** + * 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 CostOptimizationHub +{ +namespace Model +{ + + /** + *

                The ElastiCache reserved instances recommendation details.

                See + * Also:

                AWS + * API Reference

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

                The ElastiCache reserved instances configuration used for + * recommendations.

                + */ + inline const ElastiCacheReservedInstancesConfiguration& GetConfiguration() const{ return m_configuration; } + + /** + *

                The ElastiCache reserved instances configuration used for + * recommendations.

                + */ + inline bool ConfigurationHasBeenSet() const { return m_configurationHasBeenSet; } + + /** + *

                The ElastiCache reserved instances configuration used for + * recommendations.

                + */ + inline void SetConfiguration(const ElastiCacheReservedInstancesConfiguration& value) { m_configurationHasBeenSet = true; m_configuration = value; } + + /** + *

                The ElastiCache reserved instances configuration used for + * recommendations.

                + */ + inline void SetConfiguration(ElastiCacheReservedInstancesConfiguration&& value) { m_configurationHasBeenSet = true; m_configuration = std::move(value); } + + /** + *

                The ElastiCache reserved instances configuration used for + * recommendations.

                + */ + inline ElastiCacheReservedInstances& WithConfiguration(const ElastiCacheReservedInstancesConfiguration& value) { SetConfiguration(value); return *this;} + + /** + *

                The ElastiCache reserved instances configuration used for + * recommendations.

                + */ + inline ElastiCacheReservedInstances& WithConfiguration(ElastiCacheReservedInstancesConfiguration&& value) { SetConfiguration(std::move(value)); return *this;} + + + /** + *

                Cost impact of the purchase recommendation.

                + */ + inline const ReservedInstancesCostCalculation& GetCostCalculation() const{ return m_costCalculation; } + + /** + *

                Cost impact of the purchase recommendation.

                + */ + inline bool CostCalculationHasBeenSet() const { return m_costCalculationHasBeenSet; } + + /** + *

                Cost impact of the purchase recommendation.

                + */ + inline void SetCostCalculation(const ReservedInstancesCostCalculation& value) { m_costCalculationHasBeenSet = true; m_costCalculation = value; } + + /** + *

                Cost impact of the purchase recommendation.

                + */ + inline void SetCostCalculation(ReservedInstancesCostCalculation&& value) { m_costCalculationHasBeenSet = true; m_costCalculation = std::move(value); } + + /** + *

                Cost impact of the purchase recommendation.

                + */ + inline ElastiCacheReservedInstances& WithCostCalculation(const ReservedInstancesCostCalculation& value) { SetCostCalculation(value); return *this;} + + /** + *

                Cost impact of the purchase recommendation.

                + */ + inline ElastiCacheReservedInstances& WithCostCalculation(ReservedInstancesCostCalculation&& value) { SetCostCalculation(std::move(value)); return *this;} + + private: + + ElastiCacheReservedInstancesConfiguration m_configuration; + bool m_configurationHasBeenSet = false; + + ReservedInstancesCostCalculation m_costCalculation; + bool m_costCalculationHasBeenSet = false; + }; + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/ElastiCacheReservedInstancesConfiguration.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/ElastiCacheReservedInstancesConfiguration.h new file mode 100644 index 00000000000..e306fd84042 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/ElastiCacheReservedInstancesConfiguration.h @@ -0,0 +1,621 @@ +/** + * 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 CostOptimizationHub +{ +namespace Model +{ + + /** + *

                The ElastiCache reserved instances configuration used for + * recommendations.

                See Also:

                AWS + * API Reference

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

                The account scope that you want your recommendations for.

                + */ + inline const Aws::String& GetAccountScope() const{ return m_accountScope; } + + /** + *

                The account scope that you want your recommendations for.

                + */ + inline bool AccountScopeHasBeenSet() const { return m_accountScopeHasBeenSet; } + + /** + *

                The account scope that you want your recommendations for.

                + */ + inline void SetAccountScope(const Aws::String& value) { m_accountScopeHasBeenSet = true; m_accountScope = value; } + + /** + *

                The account scope that you want your recommendations for.

                + */ + inline void SetAccountScope(Aws::String&& value) { m_accountScopeHasBeenSet = true; m_accountScope = std::move(value); } + + /** + *

                The account scope that you want your recommendations for.

                + */ + inline void SetAccountScope(const char* value) { m_accountScopeHasBeenSet = true; m_accountScope.assign(value); } + + /** + *

                The account scope that you want your recommendations for.

                + */ + inline ElastiCacheReservedInstancesConfiguration& WithAccountScope(const Aws::String& value) { SetAccountScope(value); return *this;} + + /** + *

                The account scope that you want your recommendations for.

                + */ + inline ElastiCacheReservedInstancesConfiguration& WithAccountScope(Aws::String&& value) { SetAccountScope(std::move(value)); return *this;} + + /** + *

                The account scope that you want your recommendations for.

                + */ + inline ElastiCacheReservedInstancesConfiguration& WithAccountScope(const char* value) { SetAccountScope(value); return *this;} + + + /** + *

                Determines whether the recommendation is for a current generation + * instance.

                + */ + inline const Aws::String& GetCurrentGeneration() const{ return m_currentGeneration; } + + /** + *

                Determines whether the recommendation is for a current generation + * instance.

                + */ + inline bool CurrentGenerationHasBeenSet() const { return m_currentGenerationHasBeenSet; } + + /** + *

                Determines whether the recommendation is for a current generation + * instance.

                + */ + inline void SetCurrentGeneration(const Aws::String& value) { m_currentGenerationHasBeenSet = true; m_currentGeneration = value; } + + /** + *

                Determines whether the recommendation is for a current generation + * instance.

                + */ + inline void SetCurrentGeneration(Aws::String&& value) { m_currentGenerationHasBeenSet = true; m_currentGeneration = std::move(value); } + + /** + *

                Determines whether the recommendation is for a current generation + * instance.

                + */ + inline void SetCurrentGeneration(const char* value) { m_currentGenerationHasBeenSet = true; m_currentGeneration.assign(value); } + + /** + *

                Determines whether the recommendation is for a current generation + * instance.

                + */ + inline ElastiCacheReservedInstancesConfiguration& WithCurrentGeneration(const Aws::String& value) { SetCurrentGeneration(value); return *this;} + + /** + *

                Determines whether the recommendation is for a current generation + * instance.

                + */ + inline ElastiCacheReservedInstancesConfiguration& WithCurrentGeneration(Aws::String&& value) { SetCurrentGeneration(std::move(value)); return *this;} + + /** + *

                Determines whether the recommendation is for a current generation + * instance.

                + */ + inline ElastiCacheReservedInstancesConfiguration& WithCurrentGeneration(const char* value) { SetCurrentGeneration(value); return *this;} + + + /** + *

                The instance family of the recommended reservation.

                + */ + inline const Aws::String& GetInstanceFamily() const{ return m_instanceFamily; } + + /** + *

                The instance family of the recommended reservation.

                + */ + inline bool InstanceFamilyHasBeenSet() const { return m_instanceFamilyHasBeenSet; } + + /** + *

                The instance family of the recommended reservation.

                + */ + inline void SetInstanceFamily(const Aws::String& value) { m_instanceFamilyHasBeenSet = true; m_instanceFamily = value; } + + /** + *

                The instance family of the recommended reservation.

                + */ + inline void SetInstanceFamily(Aws::String&& value) { m_instanceFamilyHasBeenSet = true; m_instanceFamily = std::move(value); } + + /** + *

                The instance family of the recommended reservation.

                + */ + inline void SetInstanceFamily(const char* value) { m_instanceFamilyHasBeenSet = true; m_instanceFamily.assign(value); } + + /** + *

                The instance family of the recommended reservation.

                + */ + inline ElastiCacheReservedInstancesConfiguration& WithInstanceFamily(const Aws::String& value) { SetInstanceFamily(value); return *this;} + + /** + *

                The instance family of the recommended reservation.

                + */ + inline ElastiCacheReservedInstancesConfiguration& WithInstanceFamily(Aws::String&& value) { SetInstanceFamily(std::move(value)); return *this;} + + /** + *

                The instance family of the recommended reservation.

                + */ + inline ElastiCacheReservedInstancesConfiguration& WithInstanceFamily(const char* value) { SetInstanceFamily(value); return *this;} + + + /** + *

                The type of instance that Amazon Web Services recommends.

                + */ + inline const Aws::String& GetInstanceType() const{ return m_instanceType; } + + /** + *

                The type of instance that Amazon Web Services recommends.

                + */ + inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; } + + /** + *

                The type of instance that Amazon Web Services recommends.

                + */ + inline void SetInstanceType(const Aws::String& value) { m_instanceTypeHasBeenSet = true; m_instanceType = value; } + + /** + *

                The type of instance that Amazon Web Services recommends.

                + */ + inline void SetInstanceType(Aws::String&& value) { m_instanceTypeHasBeenSet = true; m_instanceType = std::move(value); } + + /** + *

                The type of instance that Amazon Web Services recommends.

                + */ + inline void SetInstanceType(const char* value) { m_instanceTypeHasBeenSet = true; m_instanceType.assign(value); } + + /** + *

                The type of instance that Amazon Web Services recommends.

                + */ + inline ElastiCacheReservedInstancesConfiguration& WithInstanceType(const Aws::String& value) { SetInstanceType(value); return *this;} + + /** + *

                The type of instance that Amazon Web Services recommends.

                + */ + inline ElastiCacheReservedInstancesConfiguration& WithInstanceType(Aws::String&& value) { SetInstanceType(std::move(value)); return *this;} + + /** + *

                The type of instance that Amazon Web Services recommends.

                + */ + inline ElastiCacheReservedInstancesConfiguration& WithInstanceType(const char* value) { SetInstanceType(value); return *this;} + + + /** + *

                How much purchasing reserved instances costs you on a monthly basis.

                + */ + inline const Aws::String& GetMonthlyRecurringCost() const{ return m_monthlyRecurringCost; } + + /** + *

                How much purchasing reserved instances costs you on a monthly basis.

                + */ + inline bool MonthlyRecurringCostHasBeenSet() const { return m_monthlyRecurringCostHasBeenSet; } + + /** + *

                How much purchasing reserved instances costs you on a monthly basis.

                + */ + inline void SetMonthlyRecurringCost(const Aws::String& value) { m_monthlyRecurringCostHasBeenSet = true; m_monthlyRecurringCost = value; } + + /** + *

                How much purchasing reserved instances costs you on a monthly basis.

                + */ + inline void SetMonthlyRecurringCost(Aws::String&& value) { m_monthlyRecurringCostHasBeenSet = true; m_monthlyRecurringCost = std::move(value); } + + /** + *

                How much purchasing reserved instances costs you on a monthly basis.

                + */ + inline void SetMonthlyRecurringCost(const char* value) { m_monthlyRecurringCostHasBeenSet = true; m_monthlyRecurringCost.assign(value); } + + /** + *

                How much purchasing reserved instances costs you on a monthly basis.

                + */ + inline ElastiCacheReservedInstancesConfiguration& WithMonthlyRecurringCost(const Aws::String& value) { SetMonthlyRecurringCost(value); return *this;} + + /** + *

                How much purchasing reserved instances costs you on a monthly basis.

                + */ + inline ElastiCacheReservedInstancesConfiguration& WithMonthlyRecurringCost(Aws::String&& value) { SetMonthlyRecurringCost(std::move(value)); return *this;} + + /** + *

                How much purchasing reserved instances costs you on a monthly basis.

                + */ + inline ElastiCacheReservedInstancesConfiguration& WithMonthlyRecurringCost(const char* value) { SetMonthlyRecurringCost(value); return *this;} + + + /** + *

                The number of normalized units that Amazon Web Services recommends that you + * purchase.

                + */ + inline const Aws::String& GetNormalizedUnitsToPurchase() const{ return m_normalizedUnitsToPurchase; } + + /** + *

                The number of normalized units that Amazon Web Services recommends that you + * purchase.

                + */ + inline bool NormalizedUnitsToPurchaseHasBeenSet() const { return m_normalizedUnitsToPurchaseHasBeenSet; } + + /** + *

                The number of normalized units that Amazon Web Services recommends that you + * purchase.

                + */ + inline void SetNormalizedUnitsToPurchase(const Aws::String& value) { m_normalizedUnitsToPurchaseHasBeenSet = true; m_normalizedUnitsToPurchase = value; } + + /** + *

                The number of normalized units that Amazon Web Services recommends that you + * purchase.

                + */ + inline void SetNormalizedUnitsToPurchase(Aws::String&& value) { m_normalizedUnitsToPurchaseHasBeenSet = true; m_normalizedUnitsToPurchase = std::move(value); } + + /** + *

                The number of normalized units that Amazon Web Services recommends that you + * purchase.

                + */ + inline void SetNormalizedUnitsToPurchase(const char* value) { m_normalizedUnitsToPurchaseHasBeenSet = true; m_normalizedUnitsToPurchase.assign(value); } + + /** + *

                The number of normalized units that Amazon Web Services recommends that you + * purchase.

                + */ + inline ElastiCacheReservedInstancesConfiguration& WithNormalizedUnitsToPurchase(const Aws::String& value) { SetNormalizedUnitsToPurchase(value); return *this;} + + /** + *

                The number of normalized units that Amazon Web Services recommends that you + * purchase.

                + */ + inline ElastiCacheReservedInstancesConfiguration& WithNormalizedUnitsToPurchase(Aws::String&& value) { SetNormalizedUnitsToPurchase(std::move(value)); return *this;} + + /** + *

                The number of normalized units that Amazon Web Services recommends that you + * purchase.

                + */ + inline ElastiCacheReservedInstancesConfiguration& WithNormalizedUnitsToPurchase(const char* value) { SetNormalizedUnitsToPurchase(value); return *this;} + + + /** + *

                The number of instances that Amazon Web Services recommends that you + * purchase.

                + */ + inline const Aws::String& GetNumberOfInstancesToPurchase() const{ return m_numberOfInstancesToPurchase; } + + /** + *

                The number of instances that Amazon Web Services recommends that you + * purchase.

                + */ + inline bool NumberOfInstancesToPurchaseHasBeenSet() const { return m_numberOfInstancesToPurchaseHasBeenSet; } + + /** + *

                The number of instances that Amazon Web Services recommends that you + * purchase.

                + */ + inline void SetNumberOfInstancesToPurchase(const Aws::String& value) { m_numberOfInstancesToPurchaseHasBeenSet = true; m_numberOfInstancesToPurchase = value; } + + /** + *

                The number of instances that Amazon Web Services recommends that you + * purchase.

                + */ + inline void SetNumberOfInstancesToPurchase(Aws::String&& value) { m_numberOfInstancesToPurchaseHasBeenSet = true; m_numberOfInstancesToPurchase = std::move(value); } + + /** + *

                The number of instances that Amazon Web Services recommends that you + * purchase.

                + */ + inline void SetNumberOfInstancesToPurchase(const char* value) { m_numberOfInstancesToPurchaseHasBeenSet = true; m_numberOfInstancesToPurchase.assign(value); } + + /** + *

                The number of instances that Amazon Web Services recommends that you + * purchase.

                + */ + inline ElastiCacheReservedInstancesConfiguration& WithNumberOfInstancesToPurchase(const Aws::String& value) { SetNumberOfInstancesToPurchase(value); return *this;} + + /** + *

                The number of instances that Amazon Web Services recommends that you + * purchase.

                + */ + inline ElastiCacheReservedInstancesConfiguration& WithNumberOfInstancesToPurchase(Aws::String&& value) { SetNumberOfInstancesToPurchase(std::move(value)); return *this;} + + /** + *

                The number of instances that Amazon Web Services recommends that you + * purchase.

                + */ + inline ElastiCacheReservedInstancesConfiguration& WithNumberOfInstancesToPurchase(const char* value) { SetNumberOfInstancesToPurchase(value); return *this;} + + + /** + *

                The payment option for the commitment.

                + */ + inline const Aws::String& GetPaymentOption() const{ return m_paymentOption; } + + /** + *

                The payment option for the commitment.

                + */ + inline bool PaymentOptionHasBeenSet() const { return m_paymentOptionHasBeenSet; } + + /** + *

                The payment option for the commitment.

                + */ + inline void SetPaymentOption(const Aws::String& value) { m_paymentOptionHasBeenSet = true; m_paymentOption = value; } + + /** + *

                The payment option for the commitment.

                + */ + inline void SetPaymentOption(Aws::String&& value) { m_paymentOptionHasBeenSet = true; m_paymentOption = std::move(value); } + + /** + *

                The payment option for the commitment.

                + */ + inline void SetPaymentOption(const char* value) { m_paymentOptionHasBeenSet = true; m_paymentOption.assign(value); } + + /** + *

                The payment option for the commitment.

                + */ + inline ElastiCacheReservedInstancesConfiguration& WithPaymentOption(const Aws::String& value) { SetPaymentOption(value); return *this;} + + /** + *

                The payment option for the commitment.

                + */ + inline ElastiCacheReservedInstancesConfiguration& WithPaymentOption(Aws::String&& value) { SetPaymentOption(std::move(value)); return *this;} + + /** + *

                The payment option for the commitment.

                + */ + inline ElastiCacheReservedInstancesConfiguration& WithPaymentOption(const char* value) { SetPaymentOption(value); return *this;} + + + /** + *

                The Amazon Web Services Region of the commitment.

                + */ + inline const Aws::String& GetReservedInstancesRegion() const{ return m_reservedInstancesRegion; } + + /** + *

                The Amazon Web Services Region of the commitment.

                + */ + inline bool ReservedInstancesRegionHasBeenSet() const { return m_reservedInstancesRegionHasBeenSet; } + + /** + *

                The Amazon Web Services Region of the commitment.

                + */ + inline void SetReservedInstancesRegion(const Aws::String& value) { m_reservedInstancesRegionHasBeenSet = true; m_reservedInstancesRegion = value; } + + /** + *

                The Amazon Web Services Region of the commitment.

                + */ + inline void SetReservedInstancesRegion(Aws::String&& value) { m_reservedInstancesRegionHasBeenSet = true; m_reservedInstancesRegion = std::move(value); } + + /** + *

                The Amazon Web Services Region of the commitment.

                + */ + inline void SetReservedInstancesRegion(const char* value) { m_reservedInstancesRegionHasBeenSet = true; m_reservedInstancesRegion.assign(value); } + + /** + *

                The Amazon Web Services Region of the commitment.

                + */ + inline ElastiCacheReservedInstancesConfiguration& WithReservedInstancesRegion(const Aws::String& value) { SetReservedInstancesRegion(value); return *this;} + + /** + *

                The Amazon Web Services Region of the commitment.

                + */ + inline ElastiCacheReservedInstancesConfiguration& WithReservedInstancesRegion(Aws::String&& value) { SetReservedInstancesRegion(std::move(value)); return *this;} + + /** + *

                The Amazon Web Services Region of the commitment.

                + */ + inline ElastiCacheReservedInstancesConfiguration& WithReservedInstancesRegion(const char* value) { SetReservedInstancesRegion(value); return *this;} + + + /** + *

                The service that you want your recommendations for.

                + */ + inline const Aws::String& GetService() const{ return m_service; } + + /** + *

                The service that you want your recommendations for.

                + */ + inline bool ServiceHasBeenSet() const { return m_serviceHasBeenSet; } + + /** + *

                The service that you want your recommendations for.

                + */ + inline void SetService(const Aws::String& value) { m_serviceHasBeenSet = true; m_service = value; } + + /** + *

                The service that you want your recommendations for.

                + */ + inline void SetService(Aws::String&& value) { m_serviceHasBeenSet = true; m_service = std::move(value); } + + /** + *

                The service that you want your recommendations for.

                + */ + inline void SetService(const char* value) { m_serviceHasBeenSet = true; m_service.assign(value); } + + /** + *

                The service that you want your recommendations for.

                + */ + inline ElastiCacheReservedInstancesConfiguration& WithService(const Aws::String& value) { SetService(value); return *this;} + + /** + *

                The service that you want your recommendations for.

                + */ + inline ElastiCacheReservedInstancesConfiguration& WithService(Aws::String&& value) { SetService(std::move(value)); return *this;} + + /** + *

                The service that you want your recommendations for.

                + */ + inline ElastiCacheReservedInstancesConfiguration& WithService(const char* value) { SetService(value); return *this;} + + + /** + *

                Determines whether the recommendation is size flexible.

                + */ + inline bool GetSizeFlexEligible() const{ return m_sizeFlexEligible; } + + /** + *

                Determines whether the recommendation is size flexible.

                + */ + inline bool SizeFlexEligibleHasBeenSet() const { return m_sizeFlexEligibleHasBeenSet; } + + /** + *

                Determines whether the recommendation is size flexible.

                + */ + inline void SetSizeFlexEligible(bool value) { m_sizeFlexEligibleHasBeenSet = true; m_sizeFlexEligible = value; } + + /** + *

                Determines whether the recommendation is size flexible.

                + */ + inline ElastiCacheReservedInstancesConfiguration& WithSizeFlexEligible(bool value) { SetSizeFlexEligible(value); return *this;} + + + /** + *

                The reserved instances recommendation term in years.

                + */ + inline const Aws::String& GetTerm() const{ return m_term; } + + /** + *

                The reserved instances recommendation term in years.

                + */ + inline bool TermHasBeenSet() const { return m_termHasBeenSet; } + + /** + *

                The reserved instances recommendation term in years.

                + */ + inline void SetTerm(const Aws::String& value) { m_termHasBeenSet = true; m_term = value; } + + /** + *

                The reserved instances recommendation term in years.

                + */ + inline void SetTerm(Aws::String&& value) { m_termHasBeenSet = true; m_term = std::move(value); } + + /** + *

                The reserved instances recommendation term in years.

                + */ + inline void SetTerm(const char* value) { m_termHasBeenSet = true; m_term.assign(value); } + + /** + *

                The reserved instances recommendation term in years.

                + */ + inline ElastiCacheReservedInstancesConfiguration& WithTerm(const Aws::String& value) { SetTerm(value); return *this;} + + /** + *

                The reserved instances recommendation term in years.

                + */ + inline ElastiCacheReservedInstancesConfiguration& WithTerm(Aws::String&& value) { SetTerm(std::move(value)); return *this;} + + /** + *

                The reserved instances recommendation term in years.

                + */ + inline ElastiCacheReservedInstancesConfiguration& WithTerm(const char* value) { SetTerm(value); return *this;} + + + /** + *

                How much purchasing this instance costs you upfront.

                + */ + inline const Aws::String& GetUpfrontCost() const{ return m_upfrontCost; } + + /** + *

                How much purchasing this instance costs you upfront.

                + */ + inline bool UpfrontCostHasBeenSet() const { return m_upfrontCostHasBeenSet; } + + /** + *

                How much purchasing this instance costs you upfront.

                + */ + inline void SetUpfrontCost(const Aws::String& value) { m_upfrontCostHasBeenSet = true; m_upfrontCost = value; } + + /** + *

                How much purchasing this instance costs you upfront.

                + */ + inline void SetUpfrontCost(Aws::String&& value) { m_upfrontCostHasBeenSet = true; m_upfrontCost = std::move(value); } + + /** + *

                How much purchasing this instance costs you upfront.

                + */ + inline void SetUpfrontCost(const char* value) { m_upfrontCostHasBeenSet = true; m_upfrontCost.assign(value); } + + /** + *

                How much purchasing this instance costs you upfront.

                + */ + inline ElastiCacheReservedInstancesConfiguration& WithUpfrontCost(const Aws::String& value) { SetUpfrontCost(value); return *this;} + + /** + *

                How much purchasing this instance costs you upfront.

                + */ + inline ElastiCacheReservedInstancesConfiguration& WithUpfrontCost(Aws::String&& value) { SetUpfrontCost(std::move(value)); return *this;} + + /** + *

                How much purchasing this instance costs you upfront.

                + */ + inline ElastiCacheReservedInstancesConfiguration& WithUpfrontCost(const char* value) { SetUpfrontCost(value); return *this;} + + private: + + Aws::String m_accountScope; + bool m_accountScopeHasBeenSet = false; + + Aws::String m_currentGeneration; + bool m_currentGenerationHasBeenSet = false; + + Aws::String m_instanceFamily; + bool m_instanceFamilyHasBeenSet = false; + + Aws::String m_instanceType; + bool m_instanceTypeHasBeenSet = false; + + Aws::String m_monthlyRecurringCost; + bool m_monthlyRecurringCostHasBeenSet = false; + + Aws::String m_normalizedUnitsToPurchase; + bool m_normalizedUnitsToPurchaseHasBeenSet = false; + + Aws::String m_numberOfInstancesToPurchase; + bool m_numberOfInstancesToPurchaseHasBeenSet = false; + + Aws::String m_paymentOption; + bool m_paymentOptionHasBeenSet = false; + + Aws::String m_reservedInstancesRegion; + bool m_reservedInstancesRegionHasBeenSet = false; + + Aws::String m_service; + bool m_serviceHasBeenSet = false; + + bool m_sizeFlexEligible; + bool m_sizeFlexEligibleHasBeenSet = false; + + Aws::String m_term; + bool m_termHasBeenSet = false; + + Aws::String m_upfrontCost; + bool m_upfrontCostHasBeenSet = false; + }; + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/EnrollmentStatus.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/EnrollmentStatus.h new file mode 100644 index 00000000000..9bd735c657e --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/EnrollmentStatus.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 CostOptimizationHub +{ +namespace Model +{ + enum class EnrollmentStatus + { + NOT_SET, + Active, + Inactive + }; + +namespace EnrollmentStatusMapper +{ +AWS_COSTOPTIMIZATIONHUB_API EnrollmentStatus GetEnrollmentStatusForName(const Aws::String& name); + +AWS_COSTOPTIMIZATIONHUB_API Aws::String GetNameForEnrollmentStatus(EnrollmentStatus value); +} // namespace EnrollmentStatusMapper +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/EstimatedDiscounts.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/EstimatedDiscounts.h new file mode 100644 index 00000000000..f50a15abf06 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/EstimatedDiscounts.h @@ -0,0 +1,123 @@ +/** + * 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 CostOptimizationHub +{ +namespace Model +{ + + /** + *

                Estimated discount details of the current and recommended resource + * configuration for a recommendation.

                See Also:

                AWS + * API Reference

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

                Estimated other discounts include all discounts that are not itemized. + * Itemized discounts include reservedInstanceDiscount and + * savingsPlansDiscount.

                + */ + inline double GetOtherDiscount() const{ return m_otherDiscount; } + + /** + *

                Estimated other discounts include all discounts that are not itemized. + * Itemized discounts include reservedInstanceDiscount and + * savingsPlansDiscount.

                + */ + inline bool OtherDiscountHasBeenSet() const { return m_otherDiscountHasBeenSet; } + + /** + *

                Estimated other discounts include all discounts that are not itemized. + * Itemized discounts include reservedInstanceDiscount and + * savingsPlansDiscount.

                + */ + inline void SetOtherDiscount(double value) { m_otherDiscountHasBeenSet = true; m_otherDiscount = value; } + + /** + *

                Estimated other discounts include all discounts that are not itemized. + * Itemized discounts include reservedInstanceDiscount and + * savingsPlansDiscount.

                + */ + inline EstimatedDiscounts& WithOtherDiscount(double value) { SetOtherDiscount(value); return *this;} + + + /** + *

                Estimated reserved instance discounts.

                + */ + inline double GetReservedInstancesDiscount() const{ return m_reservedInstancesDiscount; } + + /** + *

                Estimated reserved instance discounts.

                + */ + inline bool ReservedInstancesDiscountHasBeenSet() const { return m_reservedInstancesDiscountHasBeenSet; } + + /** + *

                Estimated reserved instance discounts.

                + */ + inline void SetReservedInstancesDiscount(double value) { m_reservedInstancesDiscountHasBeenSet = true; m_reservedInstancesDiscount = value; } + + /** + *

                Estimated reserved instance discounts.

                + */ + inline EstimatedDiscounts& WithReservedInstancesDiscount(double value) { SetReservedInstancesDiscount(value); return *this;} + + + /** + *

                Estimated Savings Plans discounts.

                + */ + inline double GetSavingsPlansDiscount() const{ return m_savingsPlansDiscount; } + + /** + *

                Estimated Savings Plans discounts.

                + */ + inline bool SavingsPlansDiscountHasBeenSet() const { return m_savingsPlansDiscountHasBeenSet; } + + /** + *

                Estimated Savings Plans discounts.

                + */ + inline void SetSavingsPlansDiscount(double value) { m_savingsPlansDiscountHasBeenSet = true; m_savingsPlansDiscount = value; } + + /** + *

                Estimated Savings Plans discounts.

                + */ + inline EstimatedDiscounts& WithSavingsPlansDiscount(double value) { SetSavingsPlansDiscount(value); return *this;} + + private: + + double m_otherDiscount; + bool m_otherDiscountHasBeenSet = false; + + double m_reservedInstancesDiscount; + bool m_reservedInstancesDiscountHasBeenSet = false; + + double m_savingsPlansDiscount; + bool m_savingsPlansDiscountHasBeenSet = false; + }; + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/Filter.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/Filter.h new file mode 100644 index 00000000000..a4615889264 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/Filter.h @@ -0,0 +1,519 @@ +/** + * 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 CostOptimizationHub +{ +namespace Model +{ + + /** + *

                Describes a filter that returns a more specific list of recommendations. + * Filters recommendations by different dimensions.

                See Also:

                AWS + * API Reference

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

                The account that the recommendation is for.

                + */ + inline const Aws::Vector& GetAccountIds() const{ return m_accountIds; } + + /** + *

                The account that the recommendation is for.

                + */ + inline bool AccountIdsHasBeenSet() const { return m_accountIdsHasBeenSet; } + + /** + *

                The account that the recommendation is for.

                + */ + inline void SetAccountIds(const Aws::Vector& value) { m_accountIdsHasBeenSet = true; m_accountIds = value; } + + /** + *

                The account that the recommendation is for.

                + */ + inline void SetAccountIds(Aws::Vector&& value) { m_accountIdsHasBeenSet = true; m_accountIds = std::move(value); } + + /** + *

                The account that the recommendation is for.

                + */ + inline Filter& WithAccountIds(const Aws::Vector& value) { SetAccountIds(value); return *this;} + + /** + *

                The account that the recommendation is for.

                + */ + inline Filter& WithAccountIds(Aws::Vector&& value) { SetAccountIds(std::move(value)); return *this;} + + /** + *

                The account that the recommendation is for.

                + */ + inline Filter& AddAccountIds(const Aws::String& value) { m_accountIdsHasBeenSet = true; m_accountIds.push_back(value); return *this; } + + /** + *

                The account that the recommendation is for.

                + */ + inline Filter& AddAccountIds(Aws::String&& value) { m_accountIdsHasBeenSet = true; m_accountIds.push_back(std::move(value)); return *this; } + + /** + *

                The account that the recommendation is for.

                + */ + inline Filter& AddAccountIds(const char* value) { m_accountIdsHasBeenSet = true; m_accountIds.push_back(value); return *this; } + + + /** + *

                The type of action you can take by adopting the recommendation.

                + */ + inline const Aws::Vector& GetActionTypes() const{ return m_actionTypes; } + + /** + *

                The type of action you can take by adopting the recommendation.

                + */ + inline bool ActionTypesHasBeenSet() const { return m_actionTypesHasBeenSet; } + + /** + *

                The type of action you can take by adopting the recommendation.

                + */ + inline void SetActionTypes(const Aws::Vector& value) { m_actionTypesHasBeenSet = true; m_actionTypes = value; } + + /** + *

                The type of action you can take by adopting the recommendation.

                + */ + inline void SetActionTypes(Aws::Vector&& value) { m_actionTypesHasBeenSet = true; m_actionTypes = std::move(value); } + + /** + *

                The type of action you can take by adopting the recommendation.

                + */ + inline Filter& WithActionTypes(const Aws::Vector& value) { SetActionTypes(value); return *this;} + + /** + *

                The type of action you can take by adopting the recommendation.

                + */ + inline Filter& WithActionTypes(Aws::Vector&& value) { SetActionTypes(std::move(value)); return *this;} + + /** + *

                The type of action you can take by adopting the recommendation.

                + */ + inline Filter& AddActionTypes(const ActionType& value) { m_actionTypesHasBeenSet = true; m_actionTypes.push_back(value); return *this; } + + /** + *

                The type of action you can take by adopting the recommendation.

                + */ + inline Filter& AddActionTypes(ActionType&& value) { m_actionTypesHasBeenSet = true; m_actionTypes.push_back(std::move(value)); return *this; } + + + /** + *

                The effort required to implement the recommendation.

                + */ + inline const Aws::Vector& GetImplementationEfforts() const{ return m_implementationEfforts; } + + /** + *

                The effort required to implement the recommendation.

                + */ + inline bool ImplementationEffortsHasBeenSet() const { return m_implementationEffortsHasBeenSet; } + + /** + *

                The effort required to implement the recommendation.

                + */ + inline void SetImplementationEfforts(const Aws::Vector& value) { m_implementationEffortsHasBeenSet = true; m_implementationEfforts = value; } + + /** + *

                The effort required to implement the recommendation.

                + */ + inline void SetImplementationEfforts(Aws::Vector&& value) { m_implementationEffortsHasBeenSet = true; m_implementationEfforts = std::move(value); } + + /** + *

                The effort required to implement the recommendation.

                + */ + inline Filter& WithImplementationEfforts(const Aws::Vector& value) { SetImplementationEfforts(value); return *this;} + + /** + *

                The effort required to implement the recommendation.

                + */ + inline Filter& WithImplementationEfforts(Aws::Vector&& value) { SetImplementationEfforts(std::move(value)); return *this;} + + /** + *

                The effort required to implement the recommendation.

                + */ + inline Filter& AddImplementationEfforts(const ImplementationEffort& value) { m_implementationEffortsHasBeenSet = true; m_implementationEfforts.push_back(value); return *this; } + + /** + *

                The effort required to implement the recommendation.

                + */ + inline Filter& AddImplementationEfforts(ImplementationEffort&& value) { m_implementationEffortsHasBeenSet = true; m_implementationEfforts.push_back(std::move(value)); return *this; } + + + /** + *

                The IDs for the recommendations.

                + */ + inline const Aws::Vector& GetRecommendationIds() const{ return m_recommendationIds; } + + /** + *

                The IDs for the recommendations.

                + */ + inline bool RecommendationIdsHasBeenSet() const { return m_recommendationIdsHasBeenSet; } + + /** + *

                The IDs for the recommendations.

                + */ + inline void SetRecommendationIds(const Aws::Vector& value) { m_recommendationIdsHasBeenSet = true; m_recommendationIds = value; } + + /** + *

                The IDs for the recommendations.

                + */ + inline void SetRecommendationIds(Aws::Vector&& value) { m_recommendationIdsHasBeenSet = true; m_recommendationIds = std::move(value); } + + /** + *

                The IDs for the recommendations.

                + */ + inline Filter& WithRecommendationIds(const Aws::Vector& value) { SetRecommendationIds(value); return *this;} + + /** + *

                The IDs for the recommendations.

                + */ + inline Filter& WithRecommendationIds(Aws::Vector&& value) { SetRecommendationIds(std::move(value)); return *this;} + + /** + *

                The IDs for the recommendations.

                + */ + inline Filter& AddRecommendationIds(const Aws::String& value) { m_recommendationIdsHasBeenSet = true; m_recommendationIds.push_back(value); return *this; } + + /** + *

                The IDs for the recommendations.

                + */ + inline Filter& AddRecommendationIds(Aws::String&& value) { m_recommendationIdsHasBeenSet = true; m_recommendationIds.push_back(std::move(value)); return *this; } + + /** + *

                The IDs for the recommendations.

                + */ + inline Filter& AddRecommendationIds(const char* value) { m_recommendationIdsHasBeenSet = true; m_recommendationIds.push_back(value); return *this; } + + + /** + *

                The Amazon Web Services Region of the resource.

                + */ + inline const Aws::Vector& GetRegions() const{ return m_regions; } + + /** + *

                The Amazon Web Services Region of the resource.

                + */ + inline bool RegionsHasBeenSet() const { return m_regionsHasBeenSet; } + + /** + *

                The Amazon Web Services Region of the resource.

                + */ + inline void SetRegions(const Aws::Vector& value) { m_regionsHasBeenSet = true; m_regions = value; } + + /** + *

                The Amazon Web Services Region of the resource.

                + */ + inline void SetRegions(Aws::Vector&& value) { m_regionsHasBeenSet = true; m_regions = std::move(value); } + + /** + *

                The Amazon Web Services Region of the resource.

                + */ + inline Filter& WithRegions(const Aws::Vector& value) { SetRegions(value); return *this;} + + /** + *

                The Amazon Web Services Region of the resource.

                + */ + inline Filter& WithRegions(Aws::Vector&& value) { SetRegions(std::move(value)); return *this;} + + /** + *

                The Amazon Web Services Region of the resource.

                + */ + inline Filter& AddRegions(const Aws::String& value) { m_regionsHasBeenSet = true; m_regions.push_back(value); return *this; } + + /** + *

                The Amazon Web Services Region of the resource.

                + */ + inline Filter& AddRegions(Aws::String&& value) { m_regionsHasBeenSet = true; m_regions.push_back(std::move(value)); return *this; } + + /** + *

                The Amazon Web Services Region of the resource.

                + */ + inline Filter& AddRegions(const char* value) { m_regionsHasBeenSet = true; m_regions.push_back(value); return *this; } + + + /** + *

                The Amazon Resource Name (ARN) of the recommendation.

                + */ + inline const Aws::Vector& GetResourceArns() const{ return m_resourceArns; } + + /** + *

                The Amazon Resource Name (ARN) of the recommendation.

                + */ + inline bool ResourceArnsHasBeenSet() const { return m_resourceArnsHasBeenSet; } + + /** + *

                The Amazon Resource Name (ARN) of the recommendation.

                + */ + inline void SetResourceArns(const Aws::Vector& value) { m_resourceArnsHasBeenSet = true; m_resourceArns = value; } + + /** + *

                The Amazon Resource Name (ARN) of the recommendation.

                + */ + inline void SetResourceArns(Aws::Vector&& value) { m_resourceArnsHasBeenSet = true; m_resourceArns = std::move(value); } + + /** + *

                The Amazon Resource Name (ARN) of the recommendation.

                + */ + inline Filter& WithResourceArns(const Aws::Vector& value) { SetResourceArns(value); return *this;} + + /** + *

                The Amazon Resource Name (ARN) of the recommendation.

                + */ + inline Filter& WithResourceArns(Aws::Vector&& value) { SetResourceArns(std::move(value)); return *this;} + + /** + *

                The Amazon Resource Name (ARN) of the recommendation.

                + */ + inline Filter& AddResourceArns(const Aws::String& value) { m_resourceArnsHasBeenSet = true; m_resourceArns.push_back(value); return *this; } + + /** + *

                The Amazon Resource Name (ARN) of the recommendation.

                + */ + inline Filter& AddResourceArns(Aws::String&& value) { m_resourceArnsHasBeenSet = true; m_resourceArns.push_back(std::move(value)); return *this; } + + /** + *

                The Amazon Resource Name (ARN) of the recommendation.

                + */ + inline Filter& AddResourceArns(const char* value) { m_resourceArnsHasBeenSet = true; m_resourceArns.push_back(value); return *this; } + + + /** + *

                The resource ID of the recommendation.

                + */ + inline const Aws::Vector& GetResourceIds() const{ return m_resourceIds; } + + /** + *

                The resource ID of the recommendation.

                + */ + inline bool ResourceIdsHasBeenSet() const { return m_resourceIdsHasBeenSet; } + + /** + *

                The resource ID of the recommendation.

                + */ + inline void SetResourceIds(const Aws::Vector& value) { m_resourceIdsHasBeenSet = true; m_resourceIds = value; } + + /** + *

                The resource ID of the recommendation.

                + */ + inline void SetResourceIds(Aws::Vector&& value) { m_resourceIdsHasBeenSet = true; m_resourceIds = std::move(value); } + + /** + *

                The resource ID of the recommendation.

                + */ + inline Filter& WithResourceIds(const Aws::Vector& value) { SetResourceIds(value); return *this;} + + /** + *

                The resource ID of the recommendation.

                + */ + inline Filter& WithResourceIds(Aws::Vector&& value) { SetResourceIds(std::move(value)); return *this;} + + /** + *

                The resource ID of the recommendation.

                + */ + inline Filter& AddResourceIds(const Aws::String& value) { m_resourceIdsHasBeenSet = true; m_resourceIds.push_back(value); return *this; } + + /** + *

                The resource ID of the recommendation.

                + */ + inline Filter& AddResourceIds(Aws::String&& value) { m_resourceIdsHasBeenSet = true; m_resourceIds.push_back(std::move(value)); return *this; } + + /** + *

                The resource ID of the recommendation.

                + */ + inline Filter& AddResourceIds(const char* value) { m_resourceIdsHasBeenSet = true; m_resourceIds.push_back(value); return *this; } + + + /** + *

                The resource type of the recommendation.

                + */ + inline const Aws::Vector& GetResourceTypes() const{ return m_resourceTypes; } + + /** + *

                The resource type of the recommendation.

                + */ + inline bool ResourceTypesHasBeenSet() const { return m_resourceTypesHasBeenSet; } + + /** + *

                The resource type of the recommendation.

                + */ + inline void SetResourceTypes(const Aws::Vector& value) { m_resourceTypesHasBeenSet = true; m_resourceTypes = value; } + + /** + *

                The resource type of the recommendation.

                + */ + inline void SetResourceTypes(Aws::Vector&& value) { m_resourceTypesHasBeenSet = true; m_resourceTypes = std::move(value); } + + /** + *

                The resource type of the recommendation.

                + */ + inline Filter& WithResourceTypes(const Aws::Vector& value) { SetResourceTypes(value); return *this;} + + /** + *

                The resource type of the recommendation.

                + */ + inline Filter& WithResourceTypes(Aws::Vector&& value) { SetResourceTypes(std::move(value)); return *this;} + + /** + *

                The resource type of the recommendation.

                + */ + inline Filter& AddResourceTypes(const ResourceType& value) { m_resourceTypesHasBeenSet = true; m_resourceTypes.push_back(value); return *this; } + + /** + *

                The resource type of the recommendation.

                + */ + inline Filter& AddResourceTypes(ResourceType&& value) { m_resourceTypesHasBeenSet = true; m_resourceTypes.push_back(std::move(value)); return *this; } + + + /** + *

                Whether or not implementing the recommendation requires a restart.

                + */ + inline bool GetRestartNeeded() const{ return m_restartNeeded; } + + /** + *

                Whether or not implementing the recommendation requires a restart.

                + */ + inline bool RestartNeededHasBeenSet() const { return m_restartNeededHasBeenSet; } + + /** + *

                Whether or not implementing the recommendation requires a restart.

                + */ + inline void SetRestartNeeded(bool value) { m_restartNeededHasBeenSet = true; m_restartNeeded = value; } + + /** + *

                Whether or not implementing the recommendation requires a restart.

                + */ + inline Filter& WithRestartNeeded(bool value) { SetRestartNeeded(value); return *this;} + + + /** + *

                Whether or not implementing the recommendation can be rolled back.

                + */ + inline bool GetRollbackPossible() const{ return m_rollbackPossible; } + + /** + *

                Whether or not implementing the recommendation can be rolled back.

                + */ + inline bool RollbackPossibleHasBeenSet() const { return m_rollbackPossibleHasBeenSet; } + + /** + *

                Whether or not implementing the recommendation can be rolled back.

                + */ + inline void SetRollbackPossible(bool value) { m_rollbackPossibleHasBeenSet = true; m_rollbackPossible = value; } + + /** + *

                Whether or not implementing the recommendation can be rolled back.

                + */ + inline Filter& WithRollbackPossible(bool value) { SetRollbackPossible(value); return *this;} + + + /** + *

                A list of tags assigned to the recommendation.

                + */ + inline const Aws::Vector& GetTags() const{ return m_tags; } + + /** + *

                A list of tags assigned to the recommendation.

                + */ + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + + /** + *

                A list of tags assigned to the recommendation.

                + */ + inline void SetTags(const Aws::Vector& value) { m_tagsHasBeenSet = true; m_tags = value; } + + /** + *

                A list of tags assigned to the recommendation.

                + */ + inline void SetTags(Aws::Vector&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } + + /** + *

                A list of tags assigned to the recommendation.

                + */ + inline Filter& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} + + /** + *

                A list of tags assigned to the recommendation.

                + */ + inline Filter& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} + + /** + *

                A list of tags assigned to the recommendation.

                + */ + inline Filter& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } + + /** + *

                A list of tags assigned to the recommendation.

                + */ + inline Filter& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } + + private: + + Aws::Vector m_accountIds; + bool m_accountIdsHasBeenSet = false; + + Aws::Vector m_actionTypes; + bool m_actionTypesHasBeenSet = false; + + Aws::Vector m_implementationEfforts; + bool m_implementationEffortsHasBeenSet = false; + + Aws::Vector m_recommendationIds; + bool m_recommendationIdsHasBeenSet = false; + + Aws::Vector m_regions; + bool m_regionsHasBeenSet = false; + + Aws::Vector m_resourceArns; + bool m_resourceArnsHasBeenSet = false; + + Aws::Vector m_resourceIds; + bool m_resourceIdsHasBeenSet = false; + + Aws::Vector m_resourceTypes; + bool m_resourceTypesHasBeenSet = false; + + bool m_restartNeeded; + bool m_restartNeededHasBeenSet = false; + + bool m_rollbackPossible; + bool m_rollbackPossibleHasBeenSet = false; + + Aws::Vector m_tags; + bool m_tagsHasBeenSet = false; + }; + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/GetPreferencesRequest.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/GetPreferencesRequest.h new file mode 100644 index 00000000000..ff81ef7970f --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/GetPreferencesRequest.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 CostOptimizationHub +{ +namespace Model +{ + + /** + */ + class GetPreferencesRequest : public CostOptimizationHubRequest + { + public: + AWS_COSTOPTIMIZATIONHUB_API GetPreferencesRequest(); + + // 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 "GetPreferences"; } + + AWS_COSTOPTIMIZATIONHUB_API Aws::String SerializePayload() const override; + + AWS_COSTOPTIMIZATIONHUB_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + }; + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/GetPreferencesResult.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/GetPreferencesResult.h new file mode 100644 index 00000000000..a6f2e8e4a60 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/GetPreferencesResult.h @@ -0,0 +1,126 @@ +/** + * 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 CostOptimizationHub +{ +namespace Model +{ + class GetPreferencesResult + { + public: + AWS_COSTOPTIMIZATIONHUB_API GetPreferencesResult(); + AWS_COSTOPTIMIZATIONHUB_API GetPreferencesResult(const Aws::AmazonWebServiceResult& result); + AWS_COSTOPTIMIZATIONHUB_API GetPreferencesResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

                Retrieves the status of the "member account discount visibility" + * preference.

                + */ + inline const MemberAccountDiscountVisibility& GetMemberAccountDiscountVisibility() const{ return m_memberAccountDiscountVisibility; } + + /** + *

                Retrieves the status of the "member account discount visibility" + * preference.

                + */ + inline void SetMemberAccountDiscountVisibility(const MemberAccountDiscountVisibility& value) { m_memberAccountDiscountVisibility = value; } + + /** + *

                Retrieves the status of the "member account discount visibility" + * preference.

                + */ + inline void SetMemberAccountDiscountVisibility(MemberAccountDiscountVisibility&& value) { m_memberAccountDiscountVisibility = std::move(value); } + + /** + *

                Retrieves the status of the "member account discount visibility" + * preference.

                + */ + inline GetPreferencesResult& WithMemberAccountDiscountVisibility(const MemberAccountDiscountVisibility& value) { SetMemberAccountDiscountVisibility(value); return *this;} + + /** + *

                Retrieves the status of the "member account discount visibility" + * preference.

                + */ + inline GetPreferencesResult& WithMemberAccountDiscountVisibility(MemberAccountDiscountVisibility&& value) { SetMemberAccountDiscountVisibility(std::move(value)); return *this;} + + + /** + *

                Retrieves the status of the "savings estimation mode" preference.

                + */ + inline const SavingsEstimationMode& GetSavingsEstimationMode() const{ return m_savingsEstimationMode; } + + /** + *

                Retrieves the status of the "savings estimation mode" preference.

                + */ + inline void SetSavingsEstimationMode(const SavingsEstimationMode& value) { m_savingsEstimationMode = value; } + + /** + *

                Retrieves the status of the "savings estimation mode" preference.

                + */ + inline void SetSavingsEstimationMode(SavingsEstimationMode&& value) { m_savingsEstimationMode = std::move(value); } + + /** + *

                Retrieves the status of the "savings estimation mode" preference.

                + */ + inline GetPreferencesResult& WithSavingsEstimationMode(const SavingsEstimationMode& value) { SetSavingsEstimationMode(value); return *this;} + + /** + *

                Retrieves the status of the "savings estimation mode" preference.

                + */ + inline GetPreferencesResult& WithSavingsEstimationMode(SavingsEstimationMode&& value) { SetSavingsEstimationMode(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 GetPreferencesResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline GetPreferencesResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline GetPreferencesResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + MemberAccountDiscountVisibility m_memberAccountDiscountVisibility; + + SavingsEstimationMode m_savingsEstimationMode; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/GetRecommendationRequest.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/GetRecommendationRequest.h new file mode 100644 index 00000000000..0c294e69806 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/GetRecommendationRequest.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 + +namespace Aws +{ +namespace CostOptimizationHub +{ +namespace Model +{ + + /** + */ + class GetRecommendationRequest : public CostOptimizationHubRequest + { + public: + AWS_COSTOPTIMIZATIONHUB_API GetRecommendationRequest(); + + // 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 "GetRecommendation"; } + + AWS_COSTOPTIMIZATIONHUB_API Aws::String SerializePayload() const override; + + AWS_COSTOPTIMIZATIONHUB_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + *

                The ID for the recommendation.

                + */ + inline const Aws::String& GetRecommendationId() const{ return m_recommendationId; } + + /** + *

                The ID for the recommendation.

                + */ + inline bool RecommendationIdHasBeenSet() const { return m_recommendationIdHasBeenSet; } + + /** + *

                The ID for the recommendation.

                + */ + inline void SetRecommendationId(const Aws::String& value) { m_recommendationIdHasBeenSet = true; m_recommendationId = value; } + + /** + *

                The ID for the recommendation.

                + */ + inline void SetRecommendationId(Aws::String&& value) { m_recommendationIdHasBeenSet = true; m_recommendationId = std::move(value); } + + /** + *

                The ID for the recommendation.

                + */ + inline void SetRecommendationId(const char* value) { m_recommendationIdHasBeenSet = true; m_recommendationId.assign(value); } + + /** + *

                The ID for the recommendation.

                + */ + inline GetRecommendationRequest& WithRecommendationId(const Aws::String& value) { SetRecommendationId(value); return *this;} + + /** + *

                The ID for the recommendation.

                + */ + inline GetRecommendationRequest& WithRecommendationId(Aws::String&& value) { SetRecommendationId(std::move(value)); return *this;} + + /** + *

                The ID for the recommendation.

                + */ + inline GetRecommendationRequest& WithRecommendationId(const char* value) { SetRecommendationId(value); return *this;} + + private: + + Aws::String m_recommendationId; + bool m_recommendationIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/GetRecommendationResult.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/GetRecommendationResult.h new file mode 100644 index 00000000000..62f610520d1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/GetRecommendationResult.h @@ -0,0 +1,725 @@ +/** + * 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 CostOptimizationHub +{ +namespace Model +{ + class GetRecommendationResult + { + public: + AWS_COSTOPTIMIZATIONHUB_API GetRecommendationResult(); + AWS_COSTOPTIMIZATIONHUB_API GetRecommendationResult(const Aws::AmazonWebServiceResult& result); + AWS_COSTOPTIMIZATIONHUB_API GetRecommendationResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

                The account that the recommendation is for.

                + */ + inline const Aws::String& GetAccountId() const{ return m_accountId; } + + /** + *

                The account that the recommendation is for.

                + */ + inline void SetAccountId(const Aws::String& value) { m_accountId = value; } + + /** + *

                The account that the recommendation is for.

                + */ + inline void SetAccountId(Aws::String&& value) { m_accountId = std::move(value); } + + /** + *

                The account that the recommendation is for.

                + */ + inline void SetAccountId(const char* value) { m_accountId.assign(value); } + + /** + *

                The account that the recommendation is for.

                + */ + inline GetRecommendationResult& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;} + + /** + *

                The account that the recommendation is for.

                + */ + inline GetRecommendationResult& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;} + + /** + *

                The account that the recommendation is for.

                + */ + inline GetRecommendationResult& WithAccountId(const char* value) { SetAccountId(value); return *this;} + + + /** + *

                The type of action you can take by adopting the recommendation.

                + */ + inline const ActionType& GetActionType() const{ return m_actionType; } + + /** + *

                The type of action you can take by adopting the recommendation.

                + */ + inline void SetActionType(const ActionType& value) { m_actionType = value; } + + /** + *

                The type of action you can take by adopting the recommendation.

                + */ + inline void SetActionType(ActionType&& value) { m_actionType = std::move(value); } + + /** + *

                The type of action you can take by adopting the recommendation.

                + */ + inline GetRecommendationResult& WithActionType(const ActionType& value) { SetActionType(value); return *this;} + + /** + *

                The type of action you can take by adopting the recommendation.

                + */ + inline GetRecommendationResult& WithActionType(ActionType&& value) { SetActionType(std::move(value)); return *this;} + + + /** + *

                The lookback period used to calculate cost impact for a recommendation.

                + */ + inline int GetCostCalculationLookbackPeriodInDays() const{ return m_costCalculationLookbackPeriodInDays; } + + /** + *

                The lookback period used to calculate cost impact for a recommendation.

                + */ + inline void SetCostCalculationLookbackPeriodInDays(int value) { m_costCalculationLookbackPeriodInDays = value; } + + /** + *

                The lookback period used to calculate cost impact for a recommendation.

                + */ + inline GetRecommendationResult& WithCostCalculationLookbackPeriodInDays(int value) { SetCostCalculationLookbackPeriodInDays(value); return *this;} + + + /** + *

                The currency code used for the recommendation.

                + */ + inline const Aws::String& GetCurrencyCode() const{ return m_currencyCode; } + + /** + *

                The currency code used for the recommendation.

                + */ + inline void SetCurrencyCode(const Aws::String& value) { m_currencyCode = value; } + + /** + *

                The currency code used for the recommendation.

                + */ + inline void SetCurrencyCode(Aws::String&& value) { m_currencyCode = std::move(value); } + + /** + *

                The currency code used for the recommendation.

                + */ + inline void SetCurrencyCode(const char* value) { m_currencyCode.assign(value); } + + /** + *

                The currency code used for the recommendation.

                + */ + inline GetRecommendationResult& WithCurrencyCode(const Aws::String& value) { SetCurrencyCode(value); return *this;} + + /** + *

                The currency code used for the recommendation.

                + */ + inline GetRecommendationResult& WithCurrencyCode(Aws::String&& value) { SetCurrencyCode(std::move(value)); return *this;} + + /** + *

                The currency code used for the recommendation.

                + */ + inline GetRecommendationResult& WithCurrencyCode(const char* value) { SetCurrencyCode(value); return *this;} + + + /** + *

                The details for the resource.

                + */ + inline const ResourceDetails& GetCurrentResourceDetails() const{ return m_currentResourceDetails; } + + /** + *

                The details for the resource.

                + */ + inline void SetCurrentResourceDetails(const ResourceDetails& value) { m_currentResourceDetails = value; } + + /** + *

                The details for the resource.

                + */ + inline void SetCurrentResourceDetails(ResourceDetails&& value) { m_currentResourceDetails = std::move(value); } + + /** + *

                The details for the resource.

                + */ + inline GetRecommendationResult& WithCurrentResourceDetails(const ResourceDetails& value) { SetCurrentResourceDetails(value); return *this;} + + /** + *

                The details for the resource.

                + */ + inline GetRecommendationResult& WithCurrentResourceDetails(ResourceDetails&& value) { SetCurrentResourceDetails(std::move(value)); return *this;} + + + /** + *

                The type of resource.

                + */ + inline const ResourceType& GetCurrentResourceType() const{ return m_currentResourceType; } + + /** + *

                The type of resource.

                + */ + inline void SetCurrentResourceType(const ResourceType& value) { m_currentResourceType = value; } + + /** + *

                The type of resource.

                + */ + inline void SetCurrentResourceType(ResourceType&& value) { m_currentResourceType = std::move(value); } + + /** + *

                The type of resource.

                + */ + inline GetRecommendationResult& WithCurrentResourceType(const ResourceType& value) { SetCurrentResourceType(value); return *this;} + + /** + *

                The type of resource.

                + */ + inline GetRecommendationResult& WithCurrentResourceType(ResourceType&& value) { SetCurrentResourceType(std::move(value)); return *this;} + + + /** + *

                The estimated monthly cost of the recommendation.

                + */ + inline double GetEstimatedMonthlyCost() const{ return m_estimatedMonthlyCost; } + + /** + *

                The estimated monthly cost of the recommendation.

                + */ + inline void SetEstimatedMonthlyCost(double value) { m_estimatedMonthlyCost = value; } + + /** + *

                The estimated monthly cost of the recommendation.

                + */ + inline GetRecommendationResult& WithEstimatedMonthlyCost(double value) { SetEstimatedMonthlyCost(value); return *this;} + + + /** + *

                The estimated monthly savings amount for the recommendation.

                + */ + inline double GetEstimatedMonthlySavings() const{ return m_estimatedMonthlySavings; } + + /** + *

                The estimated monthly savings amount for the recommendation.

                + */ + inline void SetEstimatedMonthlySavings(double value) { m_estimatedMonthlySavings = value; } + + /** + *

                The estimated monthly savings amount for the recommendation.

                + */ + inline GetRecommendationResult& WithEstimatedMonthlySavings(double value) { SetEstimatedMonthlySavings(value); return *this;} + + + /** + *

                The estimated savings amount over the lookback period used to calculate cost + * impact for a recommendation.

                + */ + inline double GetEstimatedSavingsOverCostCalculationLookbackPeriod() const{ return m_estimatedSavingsOverCostCalculationLookbackPeriod; } + + /** + *

                The estimated savings amount over the lookback period used to calculate cost + * impact for a recommendation.

                + */ + inline void SetEstimatedSavingsOverCostCalculationLookbackPeriod(double value) { m_estimatedSavingsOverCostCalculationLookbackPeriod = value; } + + /** + *

                The estimated savings amount over the lookback period used to calculate cost + * impact for a recommendation.

                + */ + inline GetRecommendationResult& WithEstimatedSavingsOverCostCalculationLookbackPeriod(double value) { SetEstimatedSavingsOverCostCalculationLookbackPeriod(value); return *this;} + + + /** + *

                The estimated savings percentage relative to the total cost over the cost + * calculation lookback period.

                + */ + inline double GetEstimatedSavingsPercentage() const{ return m_estimatedSavingsPercentage; } + + /** + *

                The estimated savings percentage relative to the total cost over the cost + * calculation lookback period.

                + */ + inline void SetEstimatedSavingsPercentage(double value) { m_estimatedSavingsPercentage = value; } + + /** + *

                The estimated savings percentage relative to the total cost over the cost + * calculation lookback period.

                + */ + inline GetRecommendationResult& WithEstimatedSavingsPercentage(double value) { SetEstimatedSavingsPercentage(value); return *this;} + + + /** + *

                The effort required to implement the recommendation.

                + */ + inline const ImplementationEffort& GetImplementationEffort() const{ return m_implementationEffort; } + + /** + *

                The effort required to implement the recommendation.

                + */ + inline void SetImplementationEffort(const ImplementationEffort& value) { m_implementationEffort = value; } + + /** + *

                The effort required to implement the recommendation.

                + */ + inline void SetImplementationEffort(ImplementationEffort&& value) { m_implementationEffort = std::move(value); } + + /** + *

                The effort required to implement the recommendation.

                + */ + inline GetRecommendationResult& WithImplementationEffort(const ImplementationEffort& value) { SetImplementationEffort(value); return *this;} + + /** + *

                The effort required to implement the recommendation.

                + */ + inline GetRecommendationResult& WithImplementationEffort(ImplementationEffort&& value) { SetImplementationEffort(std::move(value)); return *this;} + + + /** + *

                The time when the recommendation was last generated.

                + */ + inline const Aws::Utils::DateTime& GetLastRefreshTimestamp() const{ return m_lastRefreshTimestamp; } + + /** + *

                The time when the recommendation was last generated.

                + */ + inline void SetLastRefreshTimestamp(const Aws::Utils::DateTime& value) { m_lastRefreshTimestamp = value; } + + /** + *

                The time when the recommendation was last generated.

                + */ + inline void SetLastRefreshTimestamp(Aws::Utils::DateTime&& value) { m_lastRefreshTimestamp = std::move(value); } + + /** + *

                The time when the recommendation was last generated.

                + */ + inline GetRecommendationResult& WithLastRefreshTimestamp(const Aws::Utils::DateTime& value) { SetLastRefreshTimestamp(value); return *this;} + + /** + *

                The time when the recommendation was last generated.

                + */ + inline GetRecommendationResult& WithLastRefreshTimestamp(Aws::Utils::DateTime&& value) { SetLastRefreshTimestamp(std::move(value)); return *this;} + + + /** + *

                The ID for the recommendation.

                + */ + inline const Aws::String& GetRecommendationId() const{ return m_recommendationId; } + + /** + *

                The ID for the recommendation.

                + */ + inline void SetRecommendationId(const Aws::String& value) { m_recommendationId = value; } + + /** + *

                The ID for the recommendation.

                + */ + inline void SetRecommendationId(Aws::String&& value) { m_recommendationId = std::move(value); } + + /** + *

                The ID for the recommendation.

                + */ + inline void SetRecommendationId(const char* value) { m_recommendationId.assign(value); } + + /** + *

                The ID for the recommendation.

                + */ + inline GetRecommendationResult& WithRecommendationId(const Aws::String& value) { SetRecommendationId(value); return *this;} + + /** + *

                The ID for the recommendation.

                + */ + inline GetRecommendationResult& WithRecommendationId(Aws::String&& value) { SetRecommendationId(std::move(value)); return *this;} + + /** + *

                The ID for the recommendation.

                + */ + inline GetRecommendationResult& WithRecommendationId(const char* value) { SetRecommendationId(value); return *this;} + + + /** + *

                The lookback period that's used to generate the recommendation.

                + */ + inline int GetRecommendationLookbackPeriodInDays() const{ return m_recommendationLookbackPeriodInDays; } + + /** + *

                The lookback period that's used to generate the recommendation.

                + */ + inline void SetRecommendationLookbackPeriodInDays(int value) { m_recommendationLookbackPeriodInDays = value; } + + /** + *

                The lookback period that's used to generate the recommendation.

                + */ + inline GetRecommendationResult& WithRecommendationLookbackPeriodInDays(int value) { SetRecommendationLookbackPeriodInDays(value); return *this;} + + + /** + *

                The details about the recommended resource.

                + */ + inline const ResourceDetails& GetRecommendedResourceDetails() const{ return m_recommendedResourceDetails; } + + /** + *

                The details about the recommended resource.

                + */ + inline void SetRecommendedResourceDetails(const ResourceDetails& value) { m_recommendedResourceDetails = value; } + + /** + *

                The details about the recommended resource.

                + */ + inline void SetRecommendedResourceDetails(ResourceDetails&& value) { m_recommendedResourceDetails = std::move(value); } + + /** + *

                The details about the recommended resource.

                + */ + inline GetRecommendationResult& WithRecommendedResourceDetails(const ResourceDetails& value) { SetRecommendedResourceDetails(value); return *this;} + + /** + *

                The details about the recommended resource.

                + */ + inline GetRecommendationResult& WithRecommendedResourceDetails(ResourceDetails&& value) { SetRecommendedResourceDetails(std::move(value)); return *this;} + + + /** + *

                The resource type of the recommendation.

                + */ + inline const ResourceType& GetRecommendedResourceType() const{ return m_recommendedResourceType; } + + /** + *

                The resource type of the recommendation.

                + */ + inline void SetRecommendedResourceType(const ResourceType& value) { m_recommendedResourceType = value; } + + /** + *

                The resource type of the recommendation.

                + */ + inline void SetRecommendedResourceType(ResourceType&& value) { m_recommendedResourceType = std::move(value); } + + /** + *

                The resource type of the recommendation.

                + */ + inline GetRecommendationResult& WithRecommendedResourceType(const ResourceType& value) { SetRecommendedResourceType(value); return *this;} + + /** + *

                The resource type of the recommendation.

                + */ + inline GetRecommendationResult& WithRecommendedResourceType(ResourceType&& value) { SetRecommendedResourceType(std::move(value)); return *this;} + + + /** + *

                The Amazon Web Services Region of the resource.

                + */ + inline const Aws::String& GetRegion() const{ return m_region; } + + /** + *

                The Amazon Web Services Region of the resource.

                + */ + inline void SetRegion(const Aws::String& value) { m_region = value; } + + /** + *

                The Amazon Web Services Region of the resource.

                + */ + inline void SetRegion(Aws::String&& value) { m_region = std::move(value); } + + /** + *

                The Amazon Web Services Region of the resource.

                + */ + inline void SetRegion(const char* value) { m_region.assign(value); } + + /** + *

                The Amazon Web Services Region of the resource.

                + */ + inline GetRecommendationResult& WithRegion(const Aws::String& value) { SetRegion(value); return *this;} + + /** + *

                The Amazon Web Services Region of the resource.

                + */ + inline GetRecommendationResult& WithRegion(Aws::String&& value) { SetRegion(std::move(value)); return *this;} + + /** + *

                The Amazon Web Services Region of the resource.

                + */ + inline GetRecommendationResult& WithRegion(const char* value) { SetRegion(value); return *this;} + + + /** + *

                The Amazon Resource Name (ARN) of the resource.

                + */ + inline const Aws::String& GetResourceArn() const{ return m_resourceArn; } + + /** + *

                The Amazon Resource Name (ARN) of the resource.

                + */ + inline void SetResourceArn(const Aws::String& value) { m_resourceArn = value; } + + /** + *

                The Amazon Resource Name (ARN) of the resource.

                + */ + inline void SetResourceArn(Aws::String&& value) { m_resourceArn = std::move(value); } + + /** + *

                The Amazon Resource Name (ARN) of the resource.

                + */ + inline void SetResourceArn(const char* value) { m_resourceArn.assign(value); } + + /** + *

                The Amazon Resource Name (ARN) of the resource.

                + */ + inline GetRecommendationResult& WithResourceArn(const Aws::String& value) { SetResourceArn(value); return *this;} + + /** + *

                The Amazon Resource Name (ARN) of the resource.

                + */ + inline GetRecommendationResult& WithResourceArn(Aws::String&& value) { SetResourceArn(std::move(value)); return *this;} + + /** + *

                The Amazon Resource Name (ARN) of the resource.

                + */ + inline GetRecommendationResult& WithResourceArn(const char* value) { SetResourceArn(value); return *this;} + + + /** + *

                The unique identifier for the resource. This is the same as the Amazon + * Resource Name (ARN), if available.

                + */ + inline const Aws::String& GetResourceId() const{ return m_resourceId; } + + /** + *

                The unique identifier for the resource. This is the same as the Amazon + * Resource Name (ARN), if available.

                + */ + inline void SetResourceId(const Aws::String& value) { m_resourceId = value; } + + /** + *

                The unique identifier for the resource. This is the same as the Amazon + * Resource Name (ARN), if available.

                + */ + inline void SetResourceId(Aws::String&& value) { m_resourceId = std::move(value); } + + /** + *

                The unique identifier for the resource. This is the same as the Amazon + * Resource Name (ARN), if available.

                + */ + inline void SetResourceId(const char* value) { m_resourceId.assign(value); } + + /** + *

                The unique identifier for the resource. This is the same as the Amazon + * Resource Name (ARN), if available.

                + */ + inline GetRecommendationResult& WithResourceId(const Aws::String& value) { SetResourceId(value); return *this;} + + /** + *

                The unique identifier for the resource. This is the same as the Amazon + * Resource Name (ARN), if available.

                + */ + inline GetRecommendationResult& WithResourceId(Aws::String&& value) { SetResourceId(std::move(value)); return *this;} + + /** + *

                The unique identifier for the resource. This is the same as the Amazon + * Resource Name (ARN), if available.

                + */ + inline GetRecommendationResult& WithResourceId(const char* value) { SetResourceId(value); return *this;} + + + /** + *

                Whether or not implementing the recommendation requires a restart.

                + */ + inline bool GetRestartNeeded() const{ return m_restartNeeded; } + + /** + *

                Whether or not implementing the recommendation requires a restart.

                + */ + inline void SetRestartNeeded(bool value) { m_restartNeeded = value; } + + /** + *

                Whether or not implementing the recommendation requires a restart.

                + */ + inline GetRecommendationResult& WithRestartNeeded(bool value) { SetRestartNeeded(value); return *this;} + + + /** + *

                Whether or not implementing the recommendation can be rolled back.

                + */ + inline bool GetRollbackPossible() const{ return m_rollbackPossible; } + + /** + *

                Whether or not implementing the recommendation can be rolled back.

                + */ + inline void SetRollbackPossible(bool value) { m_rollbackPossible = value; } + + /** + *

                Whether or not implementing the recommendation can be rolled back.

                + */ + inline GetRecommendationResult& WithRollbackPossible(bool value) { SetRollbackPossible(value); return *this;} + + + /** + *

                The source of the recommendation.

                + */ + inline const Source& GetSource() const{ return m_source; } + + /** + *

                The source of the recommendation.

                + */ + inline void SetSource(const Source& value) { m_source = value; } + + /** + *

                The source of the recommendation.

                + */ + inline void SetSource(Source&& value) { m_source = std::move(value); } + + /** + *

                The source of the recommendation.

                + */ + inline GetRecommendationResult& WithSource(const Source& value) { SetSource(value); return *this;} + + /** + *

                The source of the recommendation.

                + */ + inline GetRecommendationResult& WithSource(Source&& value) { SetSource(std::move(value)); return *this;} + + + /** + *

                A list of tags associated with the resource for which the recommendation + * exists.

                + */ + inline const Aws::Vector& GetTags() const{ return m_tags; } + + /** + *

                A list of tags associated with the resource for which the recommendation + * exists.

                + */ + inline void SetTags(const Aws::Vector& value) { m_tags = value; } + + /** + *

                A list of tags associated with the resource for which the recommendation + * exists.

                + */ + inline void SetTags(Aws::Vector&& value) { m_tags = std::move(value); } + + /** + *

                A list of tags associated with the resource for which the recommendation + * exists.

                + */ + inline GetRecommendationResult& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} + + /** + *

                A list of tags associated with the resource for which the recommendation + * exists.

                + */ + inline GetRecommendationResult& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} + + /** + *

                A list of tags associated with the resource for which the recommendation + * exists.

                + */ + inline GetRecommendationResult& AddTags(const Tag& value) { m_tags.push_back(value); return *this; } + + /** + *

                A list of tags associated with the resource for which the recommendation + * exists.

                + */ + inline GetRecommendationResult& AddTags(Tag&& value) { m_tags.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 GetRecommendationResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline GetRecommendationResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline GetRecommendationResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::String m_accountId; + + ActionType m_actionType; + + int m_costCalculationLookbackPeriodInDays; + + Aws::String m_currencyCode; + + ResourceDetails m_currentResourceDetails; + + ResourceType m_currentResourceType; + + double m_estimatedMonthlyCost; + + double m_estimatedMonthlySavings; + + double m_estimatedSavingsOverCostCalculationLookbackPeriod; + + double m_estimatedSavingsPercentage; + + ImplementationEffort m_implementationEffort; + + Aws::Utils::DateTime m_lastRefreshTimestamp; + + Aws::String m_recommendationId; + + int m_recommendationLookbackPeriodInDays; + + ResourceDetails m_recommendedResourceDetails; + + ResourceType m_recommendedResourceType; + + Aws::String m_region; + + Aws::String m_resourceArn; + + Aws::String m_resourceId; + + bool m_restartNeeded; + + bool m_rollbackPossible; + + Source m_source; + + Aws::Vector m_tags; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/ImplementationEffort.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/ImplementationEffort.h new file mode 100644 index 00000000000..ad3dfa7837c --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/ImplementationEffort.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 CostOptimizationHub +{ +namespace Model +{ + enum class ImplementationEffort + { + NOT_SET, + VeryLow, + Low, + Medium, + High, + VeryHigh + }; + +namespace ImplementationEffortMapper +{ +AWS_COSTOPTIMIZATIONHUB_API ImplementationEffort GetImplementationEffortForName(const Aws::String& name); + +AWS_COSTOPTIMIZATIONHUB_API Aws::String GetNameForImplementationEffort(ImplementationEffort value); +} // namespace ImplementationEffortMapper +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/InstanceConfiguration.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/InstanceConfiguration.h new file mode 100644 index 00000000000..c7a6e5d2c17 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/InstanceConfiguration.h @@ -0,0 +1,89 @@ +/** + * 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 CostOptimizationHub +{ +namespace Model +{ + + /** + *

                The Instance configuration used for recommendations.

                See Also:

                + * AWS + * API Reference

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

                Details about the type.

                + */ + inline const Aws::String& GetType() const{ return m_type; } + + /** + *

                Details about the type.

                + */ + inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } + + /** + *

                Details about the type.

                + */ + inline void SetType(const Aws::String& value) { m_typeHasBeenSet = true; m_type = value; } + + /** + *

                Details about the type.

                + */ + inline void SetType(Aws::String&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } + + /** + *

                Details about the type.

                + */ + inline void SetType(const char* value) { m_typeHasBeenSet = true; m_type.assign(value); } + + /** + *

                Details about the type.

                + */ + inline InstanceConfiguration& WithType(const Aws::String& value) { SetType(value); return *this;} + + /** + *

                Details about the type.

                + */ + inline InstanceConfiguration& WithType(Aws::String&& value) { SetType(std::move(value)); return *this;} + + /** + *

                Details about the type.

                + */ + inline InstanceConfiguration& WithType(const char* value) { SetType(value); return *this;} + + private: + + Aws::String m_type; + bool m_typeHasBeenSet = false; + }; + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/LambdaFunction.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/LambdaFunction.h new file mode 100644 index 00000000000..3118653ab2e --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/LambdaFunction.h @@ -0,0 +1,113 @@ +/** + * 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 CostOptimizationHub +{ +namespace Model +{ + + /** + *

                The Lambda function recommendation details.

                See Also:

                AWS + * API Reference

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

                The Lambda function configuration used for recommendations.

                + */ + inline const LambdaFunctionConfiguration& GetConfiguration() const{ return m_configuration; } + + /** + *

                The Lambda function configuration used for recommendations.

                + */ + inline bool ConfigurationHasBeenSet() const { return m_configurationHasBeenSet; } + + /** + *

                The Lambda function configuration used for recommendations.

                + */ + inline void SetConfiguration(const LambdaFunctionConfiguration& value) { m_configurationHasBeenSet = true; m_configuration = value; } + + /** + *

                The Lambda function configuration used for recommendations.

                + */ + inline void SetConfiguration(LambdaFunctionConfiguration&& value) { m_configurationHasBeenSet = true; m_configuration = std::move(value); } + + /** + *

                The Lambda function configuration used for recommendations.

                + */ + inline LambdaFunction& WithConfiguration(const LambdaFunctionConfiguration& value) { SetConfiguration(value); return *this;} + + /** + *

                The Lambda function configuration used for recommendations.

                + */ + inline LambdaFunction& WithConfiguration(LambdaFunctionConfiguration&& value) { SetConfiguration(std::move(value)); return *this;} + + + /** + *

                Cost impact of the recommendation.

                + */ + inline const ResourceCostCalculation& GetCostCalculation() const{ return m_costCalculation; } + + /** + *

                Cost impact of the recommendation.

                + */ + inline bool CostCalculationHasBeenSet() const { return m_costCalculationHasBeenSet; } + + /** + *

                Cost impact of the recommendation.

                + */ + inline void SetCostCalculation(const ResourceCostCalculation& value) { m_costCalculationHasBeenSet = true; m_costCalculation = value; } + + /** + *

                Cost impact of the recommendation.

                + */ + inline void SetCostCalculation(ResourceCostCalculation&& value) { m_costCalculationHasBeenSet = true; m_costCalculation = std::move(value); } + + /** + *

                Cost impact of the recommendation.

                + */ + inline LambdaFunction& WithCostCalculation(const ResourceCostCalculation& value) { SetCostCalculation(value); return *this;} + + /** + *

                Cost impact of the recommendation.

                + */ + inline LambdaFunction& WithCostCalculation(ResourceCostCalculation&& value) { SetCostCalculation(std::move(value)); return *this;} + + private: + + LambdaFunctionConfiguration m_configuration; + bool m_configurationHasBeenSet = false; + + ResourceCostCalculation m_costCalculation; + bool m_costCalculationHasBeenSet = false; + }; + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/LambdaFunctionConfiguration.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/LambdaFunctionConfiguration.h new file mode 100644 index 00000000000..c47f2858d42 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/LambdaFunctionConfiguration.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 CostOptimizationHub +{ +namespace Model +{ + + /** + *

                The Lambda function configuration used for recommendations.

                See + * Also:

                AWS + * API Reference

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

                Details about the compute configuration.

                + */ + inline const ComputeConfiguration& GetCompute() const{ return m_compute; } + + /** + *

                Details about the compute configuration.

                + */ + inline bool ComputeHasBeenSet() const { return m_computeHasBeenSet; } + + /** + *

                Details about the compute configuration.

                + */ + inline void SetCompute(const ComputeConfiguration& value) { m_computeHasBeenSet = true; m_compute = value; } + + /** + *

                Details about the compute configuration.

                + */ + inline void SetCompute(ComputeConfiguration&& value) { m_computeHasBeenSet = true; m_compute = std::move(value); } + + /** + *

                Details about the compute configuration.

                + */ + inline LambdaFunctionConfiguration& WithCompute(const ComputeConfiguration& value) { SetCompute(value); return *this;} + + /** + *

                Details about the compute configuration.

                + */ + inline LambdaFunctionConfiguration& WithCompute(ComputeConfiguration&& value) { SetCompute(std::move(value)); return *this;} + + private: + + ComputeConfiguration m_compute; + bool m_computeHasBeenSet = false; + }; + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/ListEnrollmentStatusesRequest.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/ListEnrollmentStatusesRequest.h new file mode 100644 index 00000000000..69810e2f065 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/ListEnrollmentStatusesRequest.h @@ -0,0 +1,177 @@ +/** + * 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 CostOptimizationHub +{ +namespace Model +{ + + /** + */ + class ListEnrollmentStatusesRequest : public CostOptimizationHubRequest + { + public: + AWS_COSTOPTIMIZATIONHUB_API ListEnrollmentStatusesRequest(); + + // 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 "ListEnrollmentStatuses"; } + + AWS_COSTOPTIMIZATIONHUB_API Aws::String SerializePayload() const override; + + AWS_COSTOPTIMIZATIONHUB_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + *

                The enrollment status of a specific account ID in the organization.

                + */ + inline const Aws::String& GetAccountId() const{ return m_accountId; } + + /** + *

                The enrollment status of a specific account ID in the organization.

                + */ + inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; } + + /** + *

                The enrollment status of a specific account ID in the organization.

                + */ + inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; } + + /** + *

                The enrollment status of a specific account ID in the organization.

                + */ + inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); } + + /** + *

                The enrollment status of a specific account ID in the organization.

                + */ + inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); } + + /** + *

                The enrollment status of a specific account ID in the organization.

                + */ + inline ListEnrollmentStatusesRequest& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;} + + /** + *

                The enrollment status of a specific account ID in the organization.

                + */ + inline ListEnrollmentStatusesRequest& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;} + + /** + *

                The enrollment status of a specific account ID in the organization.

                + */ + inline ListEnrollmentStatusesRequest& WithAccountId(const char* value) { SetAccountId(value); return *this;} + + + /** + *

                Indicates whether to return the enrollment status for the organization.

                + */ + inline bool GetIncludeOrganizationInfo() const{ return m_includeOrganizationInfo; } + + /** + *

                Indicates whether to return the enrollment status for the organization.

                + */ + inline bool IncludeOrganizationInfoHasBeenSet() const { return m_includeOrganizationInfoHasBeenSet; } + + /** + *

                Indicates whether to return the enrollment status for the organization.

                + */ + inline void SetIncludeOrganizationInfo(bool value) { m_includeOrganizationInfoHasBeenSet = true; m_includeOrganizationInfo = value; } + + /** + *

                Indicates whether to return the enrollment status for the organization.

                + */ + inline ListEnrollmentStatusesRequest& WithIncludeOrganizationInfo(bool value) { SetIncludeOrganizationInfo(value); return *this;} + + + /** + *

                The maximum number of objects that are returned for the request.

                + */ + inline int GetMaxResults() const{ return m_maxResults; } + + /** + *

                The maximum number of objects that are returned for the request.

                + */ + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + + /** + *

                The maximum number of objects that are returned for the request.

                + */ + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + + /** + *

                The maximum number of objects that are returned for the request.

                + */ + inline ListEnrollmentStatusesRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + + + /** + *

                The token to retrieve the next set of results.

                + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + + /** + *

                The token to retrieve the next set of results.

                + */ + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + + /** + *

                The token to retrieve the next set of results.

                + */ + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + + /** + *

                The token to retrieve the next set of results.

                + */ + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + + /** + *

                The token to retrieve the next set of results.

                + */ + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + + /** + *

                The token to retrieve the next set of results.

                + */ + inline ListEnrollmentStatusesRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + + /** + *

                The token to retrieve the next set of results.

                + */ + inline ListEnrollmentStatusesRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + + /** + *

                The token to retrieve the next set of results.

                + */ + inline ListEnrollmentStatusesRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + + private: + + Aws::String m_accountId; + bool m_accountIdHasBeenSet = false; + + bool m_includeOrganizationInfo; + bool m_includeOrganizationInfoHasBeenSet = false; + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + }; + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/ListEnrollmentStatusesResult.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/ListEnrollmentStatusesResult.h new file mode 100644 index 00000000000..b89f9e4e1c8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/ListEnrollmentStatusesResult.h @@ -0,0 +1,141 @@ +/** + * 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 CostOptimizationHub +{ +namespace Model +{ + class ListEnrollmentStatusesResult + { + public: + AWS_COSTOPTIMIZATIONHUB_API ListEnrollmentStatusesResult(); + AWS_COSTOPTIMIZATIONHUB_API ListEnrollmentStatusesResult(const Aws::AmazonWebServiceResult& result); + AWS_COSTOPTIMIZATIONHUB_API ListEnrollmentStatusesResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

                The account enrollment statuses.

                + */ + inline const Aws::Vector& GetItems() const{ return m_items; } + + /** + *

                The account enrollment statuses.

                + */ + inline void SetItems(const Aws::Vector& value) { m_items = value; } + + /** + *

                The account enrollment statuses.

                + */ + inline void SetItems(Aws::Vector&& value) { m_items = std::move(value); } + + /** + *

                The account enrollment statuses.

                + */ + inline ListEnrollmentStatusesResult& WithItems(const Aws::Vector& value) { SetItems(value); return *this;} + + /** + *

                The account enrollment statuses.

                + */ + inline ListEnrollmentStatusesResult& WithItems(Aws::Vector&& value) { SetItems(std::move(value)); return *this;} + + /** + *

                The account enrollment statuses.

                + */ + inline ListEnrollmentStatusesResult& AddItems(const AccountEnrollmentStatus& value) { m_items.push_back(value); return *this; } + + /** + *

                The account enrollment statuses.

                + */ + inline ListEnrollmentStatusesResult& AddItems(AccountEnrollmentStatus&& value) { m_items.push_back(std::move(value)); return *this; } + + + /** + *

                The token to retrieve the next set of results.

                + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + + /** + *

                The token to retrieve the next set of results.

                + */ + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + + /** + *

                The token to retrieve the next set of results.

                + */ + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + + /** + *

                The token to retrieve the next set of results.

                + */ + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + + /** + *

                The token to retrieve the next set of results.

                + */ + inline ListEnrollmentStatusesResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + + /** + *

                The token to retrieve the next set of results.

                + */ + inline ListEnrollmentStatusesResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + + /** + *

                The token to retrieve the next set of results.

                + */ + inline ListEnrollmentStatusesResult& 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 ListEnrollmentStatusesResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline ListEnrollmentStatusesResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline ListEnrollmentStatusesResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::Vector m_items; + + Aws::String m_nextToken; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/ListRecommendationSummariesRequest.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/ListRecommendationSummariesRequest.h new file mode 100644 index 00000000000..1c65a47f8a8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/ListRecommendationSummariesRequest.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 + +namespace Aws +{ +namespace CostOptimizationHub +{ +namespace Model +{ + + /** + */ + class ListRecommendationSummariesRequest : public CostOptimizationHubRequest + { + public: + AWS_COSTOPTIMIZATIONHUB_API ListRecommendationSummariesRequest(); + + // 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 "ListRecommendationSummaries"; } + + AWS_COSTOPTIMIZATIONHUB_API Aws::String SerializePayload() const override; + + AWS_COSTOPTIMIZATIONHUB_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + + inline const Filter& GetFilter() const{ return m_filter; } + + + inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; } + + + inline void SetFilter(const Filter& value) { m_filterHasBeenSet = true; m_filter = value; } + + + inline void SetFilter(Filter&& value) { m_filterHasBeenSet = true; m_filter = std::move(value); } + + + inline ListRecommendationSummariesRequest& WithFilter(const Filter& value) { SetFilter(value); return *this;} + + + inline ListRecommendationSummariesRequest& WithFilter(Filter&& value) { SetFilter(std::move(value)); return *this;} + + + /** + *

                The grouping of recommendations by a dimension.

                + */ + inline const Aws::String& GetGroupBy() const{ return m_groupBy; } + + /** + *

                The grouping of recommendations by a dimension.

                + */ + inline bool GroupByHasBeenSet() const { return m_groupByHasBeenSet; } + + /** + *

                The grouping of recommendations by a dimension.

                + */ + inline void SetGroupBy(const Aws::String& value) { m_groupByHasBeenSet = true; m_groupBy = value; } + + /** + *

                The grouping of recommendations by a dimension.

                + */ + inline void SetGroupBy(Aws::String&& value) { m_groupByHasBeenSet = true; m_groupBy = std::move(value); } + + /** + *

                The grouping of recommendations by a dimension.

                + */ + inline void SetGroupBy(const char* value) { m_groupByHasBeenSet = true; m_groupBy.assign(value); } + + /** + *

                The grouping of recommendations by a dimension.

                + */ + inline ListRecommendationSummariesRequest& WithGroupBy(const Aws::String& value) { SetGroupBy(value); return *this;} + + /** + *

                The grouping of recommendations by a dimension.

                + */ + inline ListRecommendationSummariesRequest& WithGroupBy(Aws::String&& value) { SetGroupBy(std::move(value)); return *this;} + + /** + *

                The grouping of recommendations by a dimension.

                + */ + inline ListRecommendationSummariesRequest& WithGroupBy(const char* value) { SetGroupBy(value); return *this;} + + + /** + *

                The maximum number of recommendations that are returned for the request.

                + */ + inline int GetMaxResults() const{ return m_maxResults; } + + /** + *

                The maximum number of recommendations that are returned for the request.

                + */ + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + + /** + *

                The maximum number of recommendations that are returned for the request.

                + */ + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + + /** + *

                The maximum number of recommendations that are returned for the request.

                + */ + inline ListRecommendationSummariesRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + + + /** + *

                The token to retrieve the next set of results.

                + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + + /** + *

                The token to retrieve the next set of results.

                + */ + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + + /** + *

                The token to retrieve the next set of results.

                + */ + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + + /** + *

                The token to retrieve the next set of results.

                + */ + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + + /** + *

                The token to retrieve the next set of results.

                + */ + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + + /** + *

                The token to retrieve the next set of results.

                + */ + inline ListRecommendationSummariesRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + + /** + *

                The token to retrieve the next set of results.

                + */ + inline ListRecommendationSummariesRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + + /** + *

                The token to retrieve the next set of results.

                + */ + inline ListRecommendationSummariesRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + + private: + + Filter m_filter; + bool m_filterHasBeenSet = false; + + Aws::String m_groupBy; + bool m_groupByHasBeenSet = false; + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + }; + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/ListRecommendationSummariesResult.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/ListRecommendationSummariesResult.h new file mode 100644 index 00000000000..5eeeb3b8fe2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/ListRecommendationSummariesResult.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 + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace CostOptimizationHub +{ +namespace Model +{ + class ListRecommendationSummariesResult + { + public: + AWS_COSTOPTIMIZATIONHUB_API ListRecommendationSummariesResult(); + AWS_COSTOPTIMIZATIONHUB_API ListRecommendationSummariesResult(const Aws::AmazonWebServiceResult& result); + AWS_COSTOPTIMIZATIONHUB_API ListRecommendationSummariesResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

                The currency code used for the recommendation.

                + */ + inline const Aws::String& GetCurrencyCode() const{ return m_currencyCode; } + + /** + *

                The currency code used for the recommendation.

                + */ + inline void SetCurrencyCode(const Aws::String& value) { m_currencyCode = value; } + + /** + *

                The currency code used for the recommendation.

                + */ + inline void SetCurrencyCode(Aws::String&& value) { m_currencyCode = std::move(value); } + + /** + *

                The currency code used for the recommendation.

                + */ + inline void SetCurrencyCode(const char* value) { m_currencyCode.assign(value); } + + /** + *

                The currency code used for the recommendation.

                + */ + inline ListRecommendationSummariesResult& WithCurrencyCode(const Aws::String& value) { SetCurrencyCode(value); return *this;} + + /** + *

                The currency code used for the recommendation.

                + */ + inline ListRecommendationSummariesResult& WithCurrencyCode(Aws::String&& value) { SetCurrencyCode(std::move(value)); return *this;} + + /** + *

                The currency code used for the recommendation.

                + */ + inline ListRecommendationSummariesResult& WithCurrencyCode(const char* value) { SetCurrencyCode(value); return *this;} + + + /** + *

                The total overall savings for the aggregated view.

                + */ + inline double GetEstimatedTotalDedupedSavings() const{ return m_estimatedTotalDedupedSavings; } + + /** + *

                The total overall savings for the aggregated view.

                + */ + inline void SetEstimatedTotalDedupedSavings(double value) { m_estimatedTotalDedupedSavings = value; } + + /** + *

                The total overall savings for the aggregated view.

                + */ + inline ListRecommendationSummariesResult& WithEstimatedTotalDedupedSavings(double value) { SetEstimatedTotalDedupedSavings(value); return *this;} + + + /** + *

                The dimension used to group the recommendations by.

                + */ + inline const Aws::String& GetGroupBy() const{ return m_groupBy; } + + /** + *

                The dimension used to group the recommendations by.

                + */ + inline void SetGroupBy(const Aws::String& value) { m_groupBy = value; } + + /** + *

                The dimension used to group the recommendations by.

                + */ + inline void SetGroupBy(Aws::String&& value) { m_groupBy = std::move(value); } + + /** + *

                The dimension used to group the recommendations by.

                + */ + inline void SetGroupBy(const char* value) { m_groupBy.assign(value); } + + /** + *

                The dimension used to group the recommendations by.

                + */ + inline ListRecommendationSummariesResult& WithGroupBy(const Aws::String& value) { SetGroupBy(value); return *this;} + + /** + *

                The dimension used to group the recommendations by.

                + */ + inline ListRecommendationSummariesResult& WithGroupBy(Aws::String&& value) { SetGroupBy(std::move(value)); return *this;} + + /** + *

                The dimension used to group the recommendations by.

                + */ + inline ListRecommendationSummariesResult& WithGroupBy(const char* value) { SetGroupBy(value); return *this;} + + + /** + *

                List of all savings recommendations.

                + */ + inline const Aws::Vector& GetItems() const{ return m_items; } + + /** + *

                List of all savings recommendations.

                + */ + inline void SetItems(const Aws::Vector& value) { m_items = value; } + + /** + *

                List of all savings recommendations.

                + */ + inline void SetItems(Aws::Vector&& value) { m_items = std::move(value); } + + /** + *

                List of all savings recommendations.

                + */ + inline ListRecommendationSummariesResult& WithItems(const Aws::Vector& value) { SetItems(value); return *this;} + + /** + *

                List of all savings recommendations.

                + */ + inline ListRecommendationSummariesResult& WithItems(Aws::Vector&& value) { SetItems(std::move(value)); return *this;} + + /** + *

                List of all savings recommendations.

                + */ + inline ListRecommendationSummariesResult& AddItems(const RecommendationSummary& value) { m_items.push_back(value); return *this; } + + /** + *

                List of all savings recommendations.

                + */ + inline ListRecommendationSummariesResult& AddItems(RecommendationSummary&& value) { m_items.push_back(std::move(value)); return *this; } + + + /** + *

                The token to retrieve the next set of results.

                + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + + /** + *

                The token to retrieve the next set of results.

                + */ + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + + /** + *

                The token to retrieve the next set of results.

                + */ + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + + /** + *

                The token to retrieve the next set of results.

                + */ + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + + /** + *

                The token to retrieve the next set of results.

                + */ + inline ListRecommendationSummariesResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + + /** + *

                The token to retrieve the next set of results.

                + */ + inline ListRecommendationSummariesResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + + /** + *

                The token to retrieve the next set of results.

                + */ + inline ListRecommendationSummariesResult& 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 ListRecommendationSummariesResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline ListRecommendationSummariesResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline ListRecommendationSummariesResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::String m_currencyCode; + + double m_estimatedTotalDedupedSavings; + + Aws::String m_groupBy; + + Aws::Vector m_items; + + Aws::String m_nextToken; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/ListRecommendationsRequest.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/ListRecommendationsRequest.h new file mode 100644 index 00000000000..1dd56674b1b --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/ListRecommendationsRequest.h @@ -0,0 +1,207 @@ +/** + * 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 CostOptimizationHub +{ +namespace Model +{ + + /** + */ + class ListRecommendationsRequest : public CostOptimizationHubRequest + { + public: + AWS_COSTOPTIMIZATIONHUB_API ListRecommendationsRequest(); + + // 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 "ListRecommendations"; } + + AWS_COSTOPTIMIZATIONHUB_API Aws::String SerializePayload() const override; + + AWS_COSTOPTIMIZATIONHUB_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + *

                The constraints that you want all returned recommendations to match.

                + */ + inline const Filter& GetFilter() const{ return m_filter; } + + /** + *

                The constraints that you want all returned recommendations to match.

                + */ + inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; } + + /** + *

                The constraints that you want all returned recommendations to match.

                + */ + inline void SetFilter(const Filter& value) { m_filterHasBeenSet = true; m_filter = value; } + + /** + *

                The constraints that you want all returned recommendations to match.

                + */ + inline void SetFilter(Filter&& value) { m_filterHasBeenSet = true; m_filter = std::move(value); } + + /** + *

                The constraints that you want all returned recommendations to match.

                + */ + inline ListRecommendationsRequest& WithFilter(const Filter& value) { SetFilter(value); return *this;} + + /** + *

                The constraints that you want all returned recommendations to match.

                + */ + inline ListRecommendationsRequest& WithFilter(Filter&& value) { SetFilter(std::move(value)); return *this;} + + + /** + *

                List of all recommendations for a resource, or a single recommendation if + * de-duped by resourceId.

                + */ + inline bool GetIncludeAllRecommendations() const{ return m_includeAllRecommendations; } + + /** + *

                List of all recommendations for a resource, or a single recommendation if + * de-duped by resourceId.

                + */ + inline bool IncludeAllRecommendationsHasBeenSet() const { return m_includeAllRecommendationsHasBeenSet; } + + /** + *

                List of all recommendations for a resource, or a single recommendation if + * de-duped by resourceId.

                + */ + inline void SetIncludeAllRecommendations(bool value) { m_includeAllRecommendationsHasBeenSet = true; m_includeAllRecommendations = value; } + + /** + *

                List of all recommendations for a resource, or a single recommendation if + * de-duped by resourceId.

                + */ + inline ListRecommendationsRequest& WithIncludeAllRecommendations(bool value) { SetIncludeAllRecommendations(value); return *this;} + + + /** + *

                The maximum number of recommendations that are returned for the request.

                + */ + inline int GetMaxResults() const{ return m_maxResults; } + + /** + *

                The maximum number of recommendations that are returned for the request.

                + */ + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + + /** + *

                The maximum number of recommendations that are returned for the request.

                + */ + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + + /** + *

                The maximum number of recommendations that are returned for the request.

                + */ + inline ListRecommendationsRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + + + /** + *

                The token to retrieve the next set of results.

                + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + + /** + *

                The token to retrieve the next set of results.

                + */ + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + + /** + *

                The token to retrieve the next set of results.

                + */ + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + + /** + *

                The token to retrieve the next set of results.

                + */ + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + + /** + *

                The token to retrieve the next set of results.

                + */ + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + + /** + *

                The token to retrieve the next set of results.

                + */ + inline ListRecommendationsRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + + /** + *

                The token to retrieve the next set of results.

                + */ + inline ListRecommendationsRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + + /** + *

                The token to retrieve the next set of results.

                + */ + inline ListRecommendationsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + + + /** + *

                The ordering of recommendations by a dimension.

                + */ + inline const OrderBy& GetOrderBy() const{ return m_orderBy; } + + /** + *

                The ordering of recommendations by a dimension.

                + */ + inline bool OrderByHasBeenSet() const { return m_orderByHasBeenSet; } + + /** + *

                The ordering of recommendations by a dimension.

                + */ + inline void SetOrderBy(const OrderBy& value) { m_orderByHasBeenSet = true; m_orderBy = value; } + + /** + *

                The ordering of recommendations by a dimension.

                + */ + inline void SetOrderBy(OrderBy&& value) { m_orderByHasBeenSet = true; m_orderBy = std::move(value); } + + /** + *

                The ordering of recommendations by a dimension.

                + */ + inline ListRecommendationsRequest& WithOrderBy(const OrderBy& value) { SetOrderBy(value); return *this;} + + /** + *

                The ordering of recommendations by a dimension.

                + */ + inline ListRecommendationsRequest& WithOrderBy(OrderBy&& value) { SetOrderBy(std::move(value)); return *this;} + + private: + + Filter m_filter; + bool m_filterHasBeenSet = false; + + bool m_includeAllRecommendations; + bool m_includeAllRecommendationsHasBeenSet = false; + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + OrderBy m_orderBy; + bool m_orderByHasBeenSet = false; + }; + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/ListRecommendationsResult.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/ListRecommendationsResult.h new file mode 100644 index 00000000000..be643934758 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/ListRecommendationsResult.h @@ -0,0 +1,141 @@ +/** + * 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 CostOptimizationHub +{ +namespace Model +{ + class ListRecommendationsResult + { + public: + AWS_COSTOPTIMIZATIONHUB_API ListRecommendationsResult(); + AWS_COSTOPTIMIZATIONHUB_API ListRecommendationsResult(const Aws::AmazonWebServiceResult& result); + AWS_COSTOPTIMIZATIONHUB_API ListRecommendationsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

                List of all savings recommendations.

                + */ + inline const Aws::Vector& GetItems() const{ return m_items; } + + /** + *

                List of all savings recommendations.

                + */ + inline void SetItems(const Aws::Vector& value) { m_items = value; } + + /** + *

                List of all savings recommendations.

                + */ + inline void SetItems(Aws::Vector&& value) { m_items = std::move(value); } + + /** + *

                List of all savings recommendations.

                + */ + inline ListRecommendationsResult& WithItems(const Aws::Vector& value) { SetItems(value); return *this;} + + /** + *

                List of all savings recommendations.

                + */ + inline ListRecommendationsResult& WithItems(Aws::Vector&& value) { SetItems(std::move(value)); return *this;} + + /** + *

                List of all savings recommendations.

                + */ + inline ListRecommendationsResult& AddItems(const Recommendation& value) { m_items.push_back(value); return *this; } + + /** + *

                List of all savings recommendations.

                + */ + inline ListRecommendationsResult& AddItems(Recommendation&& value) { m_items.push_back(std::move(value)); return *this; } + + + /** + *

                The token to retrieve the next set of results.

                + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + + /** + *

                The token to retrieve the next set of results.

                + */ + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + + /** + *

                The token to retrieve the next set of results.

                + */ + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + + /** + *

                The token to retrieve the next set of results.

                + */ + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + + /** + *

                The token to retrieve the next set of results.

                + */ + inline ListRecommendationsResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + + /** + *

                The token to retrieve the next set of results.

                + */ + inline ListRecommendationsResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + + /** + *

                The token to retrieve the next set of results.

                + */ + inline ListRecommendationsResult& 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 ListRecommendationsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline ListRecommendationsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline ListRecommendationsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::Vector m_items; + + Aws::String m_nextToken; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/MemberAccountDiscountVisibility.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/MemberAccountDiscountVisibility.h new file mode 100644 index 00000000000..61d3841074c --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/MemberAccountDiscountVisibility.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 CostOptimizationHub +{ +namespace Model +{ + enum class MemberAccountDiscountVisibility + { + NOT_SET, + All, + None + }; + +namespace MemberAccountDiscountVisibilityMapper +{ +AWS_COSTOPTIMIZATIONHUB_API MemberAccountDiscountVisibility GetMemberAccountDiscountVisibilityForName(const Aws::String& name); + +AWS_COSTOPTIMIZATIONHUB_API Aws::String GetNameForMemberAccountDiscountVisibility(MemberAccountDiscountVisibility value); +} // namespace MemberAccountDiscountVisibilityMapper +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/OpenSearchReservedInstances.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/OpenSearchReservedInstances.h new file mode 100644 index 00000000000..b1c957ff70c --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/OpenSearchReservedInstances.h @@ -0,0 +1,114 @@ +/** + * 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 CostOptimizationHub +{ +namespace Model +{ + + /** + *

                The OpenSearch reserved instances recommendation details.

                See + * Also:

                AWS + * API Reference

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

                The OpenSearch reserved instances configuration used for recommendations.

                + */ + inline const OpenSearchReservedInstancesConfiguration& GetConfiguration() const{ return m_configuration; } + + /** + *

                The OpenSearch reserved instances configuration used for recommendations.

                + */ + inline bool ConfigurationHasBeenSet() const { return m_configurationHasBeenSet; } + + /** + *

                The OpenSearch reserved instances configuration used for recommendations.

                + */ + inline void SetConfiguration(const OpenSearchReservedInstancesConfiguration& value) { m_configurationHasBeenSet = true; m_configuration = value; } + + /** + *

                The OpenSearch reserved instances configuration used for recommendations.

                + */ + inline void SetConfiguration(OpenSearchReservedInstancesConfiguration&& value) { m_configurationHasBeenSet = true; m_configuration = std::move(value); } + + /** + *

                The OpenSearch reserved instances configuration used for recommendations.

                + */ + inline OpenSearchReservedInstances& WithConfiguration(const OpenSearchReservedInstancesConfiguration& value) { SetConfiguration(value); return *this;} + + /** + *

                The OpenSearch reserved instances configuration used for recommendations.

                + */ + inline OpenSearchReservedInstances& WithConfiguration(OpenSearchReservedInstancesConfiguration&& value) { SetConfiguration(std::move(value)); return *this;} + + + /** + *

                Cost impact of the purchase recommendation.

                + */ + inline const ReservedInstancesCostCalculation& GetCostCalculation() const{ return m_costCalculation; } + + /** + *

                Cost impact of the purchase recommendation.

                + */ + inline bool CostCalculationHasBeenSet() const { return m_costCalculationHasBeenSet; } + + /** + *

                Cost impact of the purchase recommendation.

                + */ + inline void SetCostCalculation(const ReservedInstancesCostCalculation& value) { m_costCalculationHasBeenSet = true; m_costCalculation = value; } + + /** + *

                Cost impact of the purchase recommendation.

                + */ + inline void SetCostCalculation(ReservedInstancesCostCalculation&& value) { m_costCalculationHasBeenSet = true; m_costCalculation = std::move(value); } + + /** + *

                Cost impact of the purchase recommendation.

                + */ + inline OpenSearchReservedInstances& WithCostCalculation(const ReservedInstancesCostCalculation& value) { SetCostCalculation(value); return *this;} + + /** + *

                Cost impact of the purchase recommendation.

                + */ + inline OpenSearchReservedInstances& WithCostCalculation(ReservedInstancesCostCalculation&& value) { SetCostCalculation(std::move(value)); return *this;} + + private: + + OpenSearchReservedInstancesConfiguration m_configuration; + bool m_configurationHasBeenSet = false; + + ReservedInstancesCostCalculation m_costCalculation; + bool m_costCalculationHasBeenSet = false; + }; + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/OpenSearchReservedInstancesConfiguration.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/OpenSearchReservedInstancesConfiguration.h new file mode 100644 index 00000000000..7a85920fdfe --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/OpenSearchReservedInstancesConfiguration.h @@ -0,0 +1,577 @@ +/** + * 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 CostOptimizationHub +{ +namespace Model +{ + + /** + *

                The OpenSearch reserved instances configuration used for + * recommendations.

                See Also:

                AWS + * API Reference

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

                The account scope that you want your recommendations for.

                + */ + inline const Aws::String& GetAccountScope() const{ return m_accountScope; } + + /** + *

                The account scope that you want your recommendations for.

                + */ + inline bool AccountScopeHasBeenSet() const { return m_accountScopeHasBeenSet; } + + /** + *

                The account scope that you want your recommendations for.

                + */ + inline void SetAccountScope(const Aws::String& value) { m_accountScopeHasBeenSet = true; m_accountScope = value; } + + /** + *

                The account scope that you want your recommendations for.

                + */ + inline void SetAccountScope(Aws::String&& value) { m_accountScopeHasBeenSet = true; m_accountScope = std::move(value); } + + /** + *

                The account scope that you want your recommendations for.

                + */ + inline void SetAccountScope(const char* value) { m_accountScopeHasBeenSet = true; m_accountScope.assign(value); } + + /** + *

                The account scope that you want your recommendations for.

                + */ + inline OpenSearchReservedInstancesConfiguration& WithAccountScope(const Aws::String& value) { SetAccountScope(value); return *this;} + + /** + *

                The account scope that you want your recommendations for.

                + */ + inline OpenSearchReservedInstancesConfiguration& WithAccountScope(Aws::String&& value) { SetAccountScope(std::move(value)); return *this;} + + /** + *

                The account scope that you want your recommendations for.

                + */ + inline OpenSearchReservedInstancesConfiguration& WithAccountScope(const char* value) { SetAccountScope(value); return *this;} + + + /** + *

                Determines whether the recommendation is for a current generation + * instance.

                + */ + inline const Aws::String& GetCurrentGeneration() const{ return m_currentGeneration; } + + /** + *

                Determines whether the recommendation is for a current generation + * instance.

                + */ + inline bool CurrentGenerationHasBeenSet() const { return m_currentGenerationHasBeenSet; } + + /** + *

                Determines whether the recommendation is for a current generation + * instance.

                + */ + inline void SetCurrentGeneration(const Aws::String& value) { m_currentGenerationHasBeenSet = true; m_currentGeneration = value; } + + /** + *

                Determines whether the recommendation is for a current generation + * instance.

                + */ + inline void SetCurrentGeneration(Aws::String&& value) { m_currentGenerationHasBeenSet = true; m_currentGeneration = std::move(value); } + + /** + *

                Determines whether the recommendation is for a current generation + * instance.

                + */ + inline void SetCurrentGeneration(const char* value) { m_currentGenerationHasBeenSet = true; m_currentGeneration.assign(value); } + + /** + *

                Determines whether the recommendation is for a current generation + * instance.

                + */ + inline OpenSearchReservedInstancesConfiguration& WithCurrentGeneration(const Aws::String& value) { SetCurrentGeneration(value); return *this;} + + /** + *

                Determines whether the recommendation is for a current generation + * instance.

                + */ + inline OpenSearchReservedInstancesConfiguration& WithCurrentGeneration(Aws::String&& value) { SetCurrentGeneration(std::move(value)); return *this;} + + /** + *

                Determines whether the recommendation is for a current generation + * instance.

                + */ + inline OpenSearchReservedInstancesConfiguration& WithCurrentGeneration(const char* value) { SetCurrentGeneration(value); return *this;} + + + /** + *

                The type of instance that Amazon Web Services recommends.

                + */ + inline const Aws::String& GetInstanceType() const{ return m_instanceType; } + + /** + *

                The type of instance that Amazon Web Services recommends.

                + */ + inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; } + + /** + *

                The type of instance that Amazon Web Services recommends.

                + */ + inline void SetInstanceType(const Aws::String& value) { m_instanceTypeHasBeenSet = true; m_instanceType = value; } + + /** + *

                The type of instance that Amazon Web Services recommends.

                + */ + inline void SetInstanceType(Aws::String&& value) { m_instanceTypeHasBeenSet = true; m_instanceType = std::move(value); } + + /** + *

                The type of instance that Amazon Web Services recommends.

                + */ + inline void SetInstanceType(const char* value) { m_instanceTypeHasBeenSet = true; m_instanceType.assign(value); } + + /** + *

                The type of instance that Amazon Web Services recommends.

                + */ + inline OpenSearchReservedInstancesConfiguration& WithInstanceType(const Aws::String& value) { SetInstanceType(value); return *this;} + + /** + *

                The type of instance that Amazon Web Services recommends.

                + */ + inline OpenSearchReservedInstancesConfiguration& WithInstanceType(Aws::String&& value) { SetInstanceType(std::move(value)); return *this;} + + /** + *

                The type of instance that Amazon Web Services recommends.

                + */ + inline OpenSearchReservedInstancesConfiguration& WithInstanceType(const char* value) { SetInstanceType(value); return *this;} + + + /** + *

                How much purchasing reserved instances costs you on a monthly basis.

                + */ + inline const Aws::String& GetMonthlyRecurringCost() const{ return m_monthlyRecurringCost; } + + /** + *

                How much purchasing reserved instances costs you on a monthly basis.

                + */ + inline bool MonthlyRecurringCostHasBeenSet() const { return m_monthlyRecurringCostHasBeenSet; } + + /** + *

                How much purchasing reserved instances costs you on a monthly basis.

                + */ + inline void SetMonthlyRecurringCost(const Aws::String& value) { m_monthlyRecurringCostHasBeenSet = true; m_monthlyRecurringCost = value; } + + /** + *

                How much purchasing reserved instances costs you on a monthly basis.

                + */ + inline void SetMonthlyRecurringCost(Aws::String&& value) { m_monthlyRecurringCostHasBeenSet = true; m_monthlyRecurringCost = std::move(value); } + + /** + *

                How much purchasing reserved instances costs you on a monthly basis.

                + */ + inline void SetMonthlyRecurringCost(const char* value) { m_monthlyRecurringCostHasBeenSet = true; m_monthlyRecurringCost.assign(value); } + + /** + *

                How much purchasing reserved instances costs you on a monthly basis.

                + */ + inline OpenSearchReservedInstancesConfiguration& WithMonthlyRecurringCost(const Aws::String& value) { SetMonthlyRecurringCost(value); return *this;} + + /** + *

                How much purchasing reserved instances costs you on a monthly basis.

                + */ + inline OpenSearchReservedInstancesConfiguration& WithMonthlyRecurringCost(Aws::String&& value) { SetMonthlyRecurringCost(std::move(value)); return *this;} + + /** + *

                How much purchasing reserved instances costs you on a monthly basis.

                + */ + inline OpenSearchReservedInstancesConfiguration& WithMonthlyRecurringCost(const char* value) { SetMonthlyRecurringCost(value); return *this;} + + + /** + *

                The number of normalized units that Amazon Web Services recommends that you + * purchase.

                + */ + inline const Aws::String& GetNormalizedUnitsToPurchase() const{ return m_normalizedUnitsToPurchase; } + + /** + *

                The number of normalized units that Amazon Web Services recommends that you + * purchase.

                + */ + inline bool NormalizedUnitsToPurchaseHasBeenSet() const { return m_normalizedUnitsToPurchaseHasBeenSet; } + + /** + *

                The number of normalized units that Amazon Web Services recommends that you + * purchase.

                + */ + inline void SetNormalizedUnitsToPurchase(const Aws::String& value) { m_normalizedUnitsToPurchaseHasBeenSet = true; m_normalizedUnitsToPurchase = value; } + + /** + *

                The number of normalized units that Amazon Web Services recommends that you + * purchase.

                + */ + inline void SetNormalizedUnitsToPurchase(Aws::String&& value) { m_normalizedUnitsToPurchaseHasBeenSet = true; m_normalizedUnitsToPurchase = std::move(value); } + + /** + *

                The number of normalized units that Amazon Web Services recommends that you + * purchase.

                + */ + inline void SetNormalizedUnitsToPurchase(const char* value) { m_normalizedUnitsToPurchaseHasBeenSet = true; m_normalizedUnitsToPurchase.assign(value); } + + /** + *

                The number of normalized units that Amazon Web Services recommends that you + * purchase.

                + */ + inline OpenSearchReservedInstancesConfiguration& WithNormalizedUnitsToPurchase(const Aws::String& value) { SetNormalizedUnitsToPurchase(value); return *this;} + + /** + *

                The number of normalized units that Amazon Web Services recommends that you + * purchase.

                + */ + inline OpenSearchReservedInstancesConfiguration& WithNormalizedUnitsToPurchase(Aws::String&& value) { SetNormalizedUnitsToPurchase(std::move(value)); return *this;} + + /** + *

                The number of normalized units that Amazon Web Services recommends that you + * purchase.

                + */ + inline OpenSearchReservedInstancesConfiguration& WithNormalizedUnitsToPurchase(const char* value) { SetNormalizedUnitsToPurchase(value); return *this;} + + + /** + *

                The number of instances that Amazon Web Services recommends that you + * purchase.

                + */ + inline const Aws::String& GetNumberOfInstancesToPurchase() const{ return m_numberOfInstancesToPurchase; } + + /** + *

                The number of instances that Amazon Web Services recommends that you + * purchase.

                + */ + inline bool NumberOfInstancesToPurchaseHasBeenSet() const { return m_numberOfInstancesToPurchaseHasBeenSet; } + + /** + *

                The number of instances that Amazon Web Services recommends that you + * purchase.

                + */ + inline void SetNumberOfInstancesToPurchase(const Aws::String& value) { m_numberOfInstancesToPurchaseHasBeenSet = true; m_numberOfInstancesToPurchase = value; } + + /** + *

                The number of instances that Amazon Web Services recommends that you + * purchase.

                + */ + inline void SetNumberOfInstancesToPurchase(Aws::String&& value) { m_numberOfInstancesToPurchaseHasBeenSet = true; m_numberOfInstancesToPurchase = std::move(value); } + + /** + *

                The number of instances that Amazon Web Services recommends that you + * purchase.

                + */ + inline void SetNumberOfInstancesToPurchase(const char* value) { m_numberOfInstancesToPurchaseHasBeenSet = true; m_numberOfInstancesToPurchase.assign(value); } + + /** + *

                The number of instances that Amazon Web Services recommends that you + * purchase.

                + */ + inline OpenSearchReservedInstancesConfiguration& WithNumberOfInstancesToPurchase(const Aws::String& value) { SetNumberOfInstancesToPurchase(value); return *this;} + + /** + *

                The number of instances that Amazon Web Services recommends that you + * purchase.

                + */ + inline OpenSearchReservedInstancesConfiguration& WithNumberOfInstancesToPurchase(Aws::String&& value) { SetNumberOfInstancesToPurchase(std::move(value)); return *this;} + + /** + *

                The number of instances that Amazon Web Services recommends that you + * purchase.

                + */ + inline OpenSearchReservedInstancesConfiguration& WithNumberOfInstancesToPurchase(const char* value) { SetNumberOfInstancesToPurchase(value); return *this;} + + + /** + *

                The payment option for the commitment.

                + */ + inline const Aws::String& GetPaymentOption() const{ return m_paymentOption; } + + /** + *

                The payment option for the commitment.

                + */ + inline bool PaymentOptionHasBeenSet() const { return m_paymentOptionHasBeenSet; } + + /** + *

                The payment option for the commitment.

                + */ + inline void SetPaymentOption(const Aws::String& value) { m_paymentOptionHasBeenSet = true; m_paymentOption = value; } + + /** + *

                The payment option for the commitment.

                + */ + inline void SetPaymentOption(Aws::String&& value) { m_paymentOptionHasBeenSet = true; m_paymentOption = std::move(value); } + + /** + *

                The payment option for the commitment.

                + */ + inline void SetPaymentOption(const char* value) { m_paymentOptionHasBeenSet = true; m_paymentOption.assign(value); } + + /** + *

                The payment option for the commitment.

                + */ + inline OpenSearchReservedInstancesConfiguration& WithPaymentOption(const Aws::String& value) { SetPaymentOption(value); return *this;} + + /** + *

                The payment option for the commitment.

                + */ + inline OpenSearchReservedInstancesConfiguration& WithPaymentOption(Aws::String&& value) { SetPaymentOption(std::move(value)); return *this;} + + /** + *

                The payment option for the commitment.

                + */ + inline OpenSearchReservedInstancesConfiguration& WithPaymentOption(const char* value) { SetPaymentOption(value); return *this;} + + + /** + *

                The Amazon Web Services Region of the commitment.

                + */ + inline const Aws::String& GetReservedInstancesRegion() const{ return m_reservedInstancesRegion; } + + /** + *

                The Amazon Web Services Region of the commitment.

                + */ + inline bool ReservedInstancesRegionHasBeenSet() const { return m_reservedInstancesRegionHasBeenSet; } + + /** + *

                The Amazon Web Services Region of the commitment.

                + */ + inline void SetReservedInstancesRegion(const Aws::String& value) { m_reservedInstancesRegionHasBeenSet = true; m_reservedInstancesRegion = value; } + + /** + *

                The Amazon Web Services Region of the commitment.

                + */ + inline void SetReservedInstancesRegion(Aws::String&& value) { m_reservedInstancesRegionHasBeenSet = true; m_reservedInstancesRegion = std::move(value); } + + /** + *

                The Amazon Web Services Region of the commitment.

                + */ + inline void SetReservedInstancesRegion(const char* value) { m_reservedInstancesRegionHasBeenSet = true; m_reservedInstancesRegion.assign(value); } + + /** + *

                The Amazon Web Services Region of the commitment.

                + */ + inline OpenSearchReservedInstancesConfiguration& WithReservedInstancesRegion(const Aws::String& value) { SetReservedInstancesRegion(value); return *this;} + + /** + *

                The Amazon Web Services Region of the commitment.

                + */ + inline OpenSearchReservedInstancesConfiguration& WithReservedInstancesRegion(Aws::String&& value) { SetReservedInstancesRegion(std::move(value)); return *this;} + + /** + *

                The Amazon Web Services Region of the commitment.

                + */ + inline OpenSearchReservedInstancesConfiguration& WithReservedInstancesRegion(const char* value) { SetReservedInstancesRegion(value); return *this;} + + + /** + *

                The service that you want your recommendations for.

                + */ + inline const Aws::String& GetService() const{ return m_service; } + + /** + *

                The service that you want your recommendations for.

                + */ + inline bool ServiceHasBeenSet() const { return m_serviceHasBeenSet; } + + /** + *

                The service that you want your recommendations for.

                + */ + inline void SetService(const Aws::String& value) { m_serviceHasBeenSet = true; m_service = value; } + + /** + *

                The service that you want your recommendations for.

                + */ + inline void SetService(Aws::String&& value) { m_serviceHasBeenSet = true; m_service = std::move(value); } + + /** + *

                The service that you want your recommendations for.

                + */ + inline void SetService(const char* value) { m_serviceHasBeenSet = true; m_service.assign(value); } + + /** + *

                The service that you want your recommendations for.

                + */ + inline OpenSearchReservedInstancesConfiguration& WithService(const Aws::String& value) { SetService(value); return *this;} + + /** + *

                The service that you want your recommendations for.

                + */ + inline OpenSearchReservedInstancesConfiguration& WithService(Aws::String&& value) { SetService(std::move(value)); return *this;} + + /** + *

                The service that you want your recommendations for.

                + */ + inline OpenSearchReservedInstancesConfiguration& WithService(const char* value) { SetService(value); return *this;} + + + /** + *

                Determines whether the recommendation is size flexible.

                + */ + inline bool GetSizeFlexEligible() const{ return m_sizeFlexEligible; } + + /** + *

                Determines whether the recommendation is size flexible.

                + */ + inline bool SizeFlexEligibleHasBeenSet() const { return m_sizeFlexEligibleHasBeenSet; } + + /** + *

                Determines whether the recommendation is size flexible.

                + */ + inline void SetSizeFlexEligible(bool value) { m_sizeFlexEligibleHasBeenSet = true; m_sizeFlexEligible = value; } + + /** + *

                Determines whether the recommendation is size flexible.

                + */ + inline OpenSearchReservedInstancesConfiguration& WithSizeFlexEligible(bool value) { SetSizeFlexEligible(value); return *this;} + + + /** + *

                The reserved instances recommendation term in years.

                + */ + inline const Aws::String& GetTerm() const{ return m_term; } + + /** + *

                The reserved instances recommendation term in years.

                + */ + inline bool TermHasBeenSet() const { return m_termHasBeenSet; } + + /** + *

                The reserved instances recommendation term in years.

                + */ + inline void SetTerm(const Aws::String& value) { m_termHasBeenSet = true; m_term = value; } + + /** + *

                The reserved instances recommendation term in years.

                + */ + inline void SetTerm(Aws::String&& value) { m_termHasBeenSet = true; m_term = std::move(value); } + + /** + *

                The reserved instances recommendation term in years.

                + */ + inline void SetTerm(const char* value) { m_termHasBeenSet = true; m_term.assign(value); } + + /** + *

                The reserved instances recommendation term in years.

                + */ + inline OpenSearchReservedInstancesConfiguration& WithTerm(const Aws::String& value) { SetTerm(value); return *this;} + + /** + *

                The reserved instances recommendation term in years.

                + */ + inline OpenSearchReservedInstancesConfiguration& WithTerm(Aws::String&& value) { SetTerm(std::move(value)); return *this;} + + /** + *

                The reserved instances recommendation term in years.

                + */ + inline OpenSearchReservedInstancesConfiguration& WithTerm(const char* value) { SetTerm(value); return *this;} + + + /** + *

                How much purchasing this instance costs you upfront.

                + */ + inline const Aws::String& GetUpfrontCost() const{ return m_upfrontCost; } + + /** + *

                How much purchasing this instance costs you upfront.

                + */ + inline bool UpfrontCostHasBeenSet() const { return m_upfrontCostHasBeenSet; } + + /** + *

                How much purchasing this instance costs you upfront.

                + */ + inline void SetUpfrontCost(const Aws::String& value) { m_upfrontCostHasBeenSet = true; m_upfrontCost = value; } + + /** + *

                How much purchasing this instance costs you upfront.

                + */ + inline void SetUpfrontCost(Aws::String&& value) { m_upfrontCostHasBeenSet = true; m_upfrontCost = std::move(value); } + + /** + *

                How much purchasing this instance costs you upfront.

                + */ + inline void SetUpfrontCost(const char* value) { m_upfrontCostHasBeenSet = true; m_upfrontCost.assign(value); } + + /** + *

                How much purchasing this instance costs you upfront.

                + */ + inline OpenSearchReservedInstancesConfiguration& WithUpfrontCost(const Aws::String& value) { SetUpfrontCost(value); return *this;} + + /** + *

                How much purchasing this instance costs you upfront.

                + */ + inline OpenSearchReservedInstancesConfiguration& WithUpfrontCost(Aws::String&& value) { SetUpfrontCost(std::move(value)); return *this;} + + /** + *

                How much purchasing this instance costs you upfront.

                + */ + inline OpenSearchReservedInstancesConfiguration& WithUpfrontCost(const char* value) { SetUpfrontCost(value); return *this;} + + private: + + Aws::String m_accountScope; + bool m_accountScopeHasBeenSet = false; + + Aws::String m_currentGeneration; + bool m_currentGenerationHasBeenSet = false; + + Aws::String m_instanceType; + bool m_instanceTypeHasBeenSet = false; + + Aws::String m_monthlyRecurringCost; + bool m_monthlyRecurringCostHasBeenSet = false; + + Aws::String m_normalizedUnitsToPurchase; + bool m_normalizedUnitsToPurchaseHasBeenSet = false; + + Aws::String m_numberOfInstancesToPurchase; + bool m_numberOfInstancesToPurchaseHasBeenSet = false; + + Aws::String m_paymentOption; + bool m_paymentOptionHasBeenSet = false; + + Aws::String m_reservedInstancesRegion; + bool m_reservedInstancesRegionHasBeenSet = false; + + Aws::String m_service; + bool m_serviceHasBeenSet = false; + + bool m_sizeFlexEligible; + bool m_sizeFlexEligibleHasBeenSet = false; + + Aws::String m_term; + bool m_termHasBeenSet = false; + + Aws::String m_upfrontCost; + bool m_upfrontCostHasBeenSet = false; + }; + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/Order.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/Order.h new file mode 100644 index 00000000000..65b6d6c3f0b --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/Order.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 CostOptimizationHub +{ +namespace Model +{ + enum class Order + { + NOT_SET, + Asc, + Desc + }; + +namespace OrderMapper +{ +AWS_COSTOPTIMIZATIONHUB_API Order GetOrderForName(const Aws::String& name); + +AWS_COSTOPTIMIZATIONHUB_API Aws::String GetNameForOrder(Order value); +} // namespace OrderMapper +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/OrderBy.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/OrderBy.h new file mode 100644 index 00000000000..119aec3c045 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/OrderBy.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 CostOptimizationHub +{ +namespace Model +{ + + /** + *

                Defines how rows will be sorted in the response.

                See Also:

                + * AWS + * API Reference

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

                Sorts by dimension values.

                + */ + inline const Aws::String& GetDimension() const{ return m_dimension; } + + /** + *

                Sorts by dimension values.

                + */ + inline bool DimensionHasBeenSet() const { return m_dimensionHasBeenSet; } + + /** + *

                Sorts by dimension values.

                + */ + inline void SetDimension(const Aws::String& value) { m_dimensionHasBeenSet = true; m_dimension = value; } + + /** + *

                Sorts by dimension values.

                + */ + inline void SetDimension(Aws::String&& value) { m_dimensionHasBeenSet = true; m_dimension = std::move(value); } + + /** + *

                Sorts by dimension values.

                + */ + inline void SetDimension(const char* value) { m_dimensionHasBeenSet = true; m_dimension.assign(value); } + + /** + *

                Sorts by dimension values.

                + */ + inline OrderBy& WithDimension(const Aws::String& value) { SetDimension(value); return *this;} + + /** + *

                Sorts by dimension values.

                + */ + inline OrderBy& WithDimension(Aws::String&& value) { SetDimension(std::move(value)); return *this;} + + /** + *

                Sorts by dimension values.

                + */ + inline OrderBy& WithDimension(const char* value) { SetDimension(value); return *this;} + + + /** + *

                The order that's used to sort the data.

                + */ + inline const Order& GetOrder() const{ return m_order; } + + /** + *

                The order that's used to sort the data.

                + */ + inline bool OrderHasBeenSet() const { return m_orderHasBeenSet; } + + /** + *

                The order that's used to sort the data.

                + */ + inline void SetOrder(const Order& value) { m_orderHasBeenSet = true; m_order = value; } + + /** + *

                The order that's used to sort the data.

                + */ + inline void SetOrder(Order&& value) { m_orderHasBeenSet = true; m_order = std::move(value); } + + /** + *

                The order that's used to sort the data.

                + */ + inline OrderBy& WithOrder(const Order& value) { SetOrder(value); return *this;} + + /** + *

                The order that's used to sort the data.

                + */ + inline OrderBy& WithOrder(Order&& value) { SetOrder(std::move(value)); return *this;} + + private: + + Aws::String m_dimension; + bool m_dimensionHasBeenSet = false; + + Order m_order; + bool m_orderHasBeenSet = false; + }; + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/RdsReservedInstances.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/RdsReservedInstances.h new file mode 100644 index 00000000000..a19d9ba77ed --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/RdsReservedInstances.h @@ -0,0 +1,114 @@ +/** + * 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 CostOptimizationHub +{ +namespace Model +{ + + /** + *

                The RDS reserved instances recommendation details.

                See Also:

                + * AWS + * API Reference

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

                The RDS reserved instances configuration used for recommendations.

                + */ + inline const RdsReservedInstancesConfiguration& GetConfiguration() const{ return m_configuration; } + + /** + *

                The RDS reserved instances configuration used for recommendations.

                + */ + inline bool ConfigurationHasBeenSet() const { return m_configurationHasBeenSet; } + + /** + *

                The RDS reserved instances configuration used for recommendations.

                + */ + inline void SetConfiguration(const RdsReservedInstancesConfiguration& value) { m_configurationHasBeenSet = true; m_configuration = value; } + + /** + *

                The RDS reserved instances configuration used for recommendations.

                + */ + inline void SetConfiguration(RdsReservedInstancesConfiguration&& value) { m_configurationHasBeenSet = true; m_configuration = std::move(value); } + + /** + *

                The RDS reserved instances configuration used for recommendations.

                + */ + inline RdsReservedInstances& WithConfiguration(const RdsReservedInstancesConfiguration& value) { SetConfiguration(value); return *this;} + + /** + *

                The RDS reserved instances configuration used for recommendations.

                + */ + inline RdsReservedInstances& WithConfiguration(RdsReservedInstancesConfiguration&& value) { SetConfiguration(std::move(value)); return *this;} + + + /** + *

                Cost impact of the purchase recommendation.

                + */ + inline const ReservedInstancesCostCalculation& GetCostCalculation() const{ return m_costCalculation; } + + /** + *

                Cost impact of the purchase recommendation.

                + */ + inline bool CostCalculationHasBeenSet() const { return m_costCalculationHasBeenSet; } + + /** + *

                Cost impact of the purchase recommendation.

                + */ + inline void SetCostCalculation(const ReservedInstancesCostCalculation& value) { m_costCalculationHasBeenSet = true; m_costCalculation = value; } + + /** + *

                Cost impact of the purchase recommendation.

                + */ + inline void SetCostCalculation(ReservedInstancesCostCalculation&& value) { m_costCalculationHasBeenSet = true; m_costCalculation = std::move(value); } + + /** + *

                Cost impact of the purchase recommendation.

                + */ + inline RdsReservedInstances& WithCostCalculation(const ReservedInstancesCostCalculation& value) { SetCostCalculation(value); return *this;} + + /** + *

                Cost impact of the purchase recommendation.

                + */ + inline RdsReservedInstances& WithCostCalculation(ReservedInstancesCostCalculation&& value) { SetCostCalculation(std::move(value)); return *this;} + + private: + + RdsReservedInstancesConfiguration m_configuration; + bool m_configurationHasBeenSet = false; + + ReservedInstancesCostCalculation m_costCalculation; + bool m_costCalculationHasBeenSet = false; + }; + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/RdsReservedInstancesConfiguration.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/RdsReservedInstancesConfiguration.h new file mode 100644 index 00000000000..f833c2fae7a --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/RdsReservedInstancesConfiguration.h @@ -0,0 +1,813 @@ +/** + * 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 CostOptimizationHub +{ +namespace Model +{ + + /** + *

                The RDS reserved instances configuration used for + * recommendations.

                See Also:

                AWS + * API Reference

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

                The account scope that you want your recommendations for.

                + */ + inline const Aws::String& GetAccountScope() const{ return m_accountScope; } + + /** + *

                The account scope that you want your recommendations for.

                + */ + inline bool AccountScopeHasBeenSet() const { return m_accountScopeHasBeenSet; } + + /** + *

                The account scope that you want your recommendations for.

                + */ + inline void SetAccountScope(const Aws::String& value) { m_accountScopeHasBeenSet = true; m_accountScope = value; } + + /** + *

                The account scope that you want your recommendations for.

                + */ + inline void SetAccountScope(Aws::String&& value) { m_accountScopeHasBeenSet = true; m_accountScope = std::move(value); } + + /** + *

                The account scope that you want your recommendations for.

                + */ + inline void SetAccountScope(const char* value) { m_accountScopeHasBeenSet = true; m_accountScope.assign(value); } + + /** + *

                The account scope that you want your recommendations for.

                + */ + inline RdsReservedInstancesConfiguration& WithAccountScope(const Aws::String& value) { SetAccountScope(value); return *this;} + + /** + *

                The account scope that you want your recommendations for.

                + */ + inline RdsReservedInstancesConfiguration& WithAccountScope(Aws::String&& value) { SetAccountScope(std::move(value)); return *this;} + + /** + *

                The account scope that you want your recommendations for.

                + */ + inline RdsReservedInstancesConfiguration& WithAccountScope(const char* value) { SetAccountScope(value); return *this;} + + + /** + *

                Determines whether the recommendation is for a current generation + * instance.

                + */ + inline const Aws::String& GetCurrentGeneration() const{ return m_currentGeneration; } + + /** + *

                Determines whether the recommendation is for a current generation + * instance.

                + */ + inline bool CurrentGenerationHasBeenSet() const { return m_currentGenerationHasBeenSet; } + + /** + *

                Determines whether the recommendation is for a current generation + * instance.

                + */ + inline void SetCurrentGeneration(const Aws::String& value) { m_currentGenerationHasBeenSet = true; m_currentGeneration = value; } + + /** + *

                Determines whether the recommendation is for a current generation + * instance.

                + */ + inline void SetCurrentGeneration(Aws::String&& value) { m_currentGenerationHasBeenSet = true; m_currentGeneration = std::move(value); } + + /** + *

                Determines whether the recommendation is for a current generation + * instance.

                + */ + inline void SetCurrentGeneration(const char* value) { m_currentGenerationHasBeenSet = true; m_currentGeneration.assign(value); } + + /** + *

                Determines whether the recommendation is for a current generation + * instance.

                + */ + inline RdsReservedInstancesConfiguration& WithCurrentGeneration(const Aws::String& value) { SetCurrentGeneration(value); return *this;} + + /** + *

                Determines whether the recommendation is for a current generation + * instance.

                + */ + inline RdsReservedInstancesConfiguration& WithCurrentGeneration(Aws::String&& value) { SetCurrentGeneration(std::move(value)); return *this;} + + /** + *

                Determines whether the recommendation is for a current generation + * instance.

                + */ + inline RdsReservedInstancesConfiguration& WithCurrentGeneration(const char* value) { SetCurrentGeneration(value); return *this;} + + + /** + *

                The database edition that the recommended reservation supports.

                + */ + inline const Aws::String& GetDatabaseEdition() const{ return m_databaseEdition; } + + /** + *

                The database edition that the recommended reservation supports.

                + */ + inline bool DatabaseEditionHasBeenSet() const { return m_databaseEditionHasBeenSet; } + + /** + *

                The database edition that the recommended reservation supports.

                + */ + inline void SetDatabaseEdition(const Aws::String& value) { m_databaseEditionHasBeenSet = true; m_databaseEdition = value; } + + /** + *

                The database edition that the recommended reservation supports.

                + */ + inline void SetDatabaseEdition(Aws::String&& value) { m_databaseEditionHasBeenSet = true; m_databaseEdition = std::move(value); } + + /** + *

                The database edition that the recommended reservation supports.

                + */ + inline void SetDatabaseEdition(const char* value) { m_databaseEditionHasBeenSet = true; m_databaseEdition.assign(value); } + + /** + *

                The database edition that the recommended reservation supports.

                + */ + inline RdsReservedInstancesConfiguration& WithDatabaseEdition(const Aws::String& value) { SetDatabaseEdition(value); return *this;} + + /** + *

                The database edition that the recommended reservation supports.

                + */ + inline RdsReservedInstancesConfiguration& WithDatabaseEdition(Aws::String&& value) { SetDatabaseEdition(std::move(value)); return *this;} + + /** + *

                The database edition that the recommended reservation supports.

                + */ + inline RdsReservedInstancesConfiguration& WithDatabaseEdition(const char* value) { SetDatabaseEdition(value); return *this;} + + + /** + *

                The database engine that the recommended reservation supports.

                + */ + inline const Aws::String& GetDatabaseEngine() const{ return m_databaseEngine; } + + /** + *

                The database engine that the recommended reservation supports.

                + */ + inline bool DatabaseEngineHasBeenSet() const { return m_databaseEngineHasBeenSet; } + + /** + *

                The database engine that the recommended reservation supports.

                + */ + inline void SetDatabaseEngine(const Aws::String& value) { m_databaseEngineHasBeenSet = true; m_databaseEngine = value; } + + /** + *

                The database engine that the recommended reservation supports.

                + */ + inline void SetDatabaseEngine(Aws::String&& value) { m_databaseEngineHasBeenSet = true; m_databaseEngine = std::move(value); } + + /** + *

                The database engine that the recommended reservation supports.

                + */ + inline void SetDatabaseEngine(const char* value) { m_databaseEngineHasBeenSet = true; m_databaseEngine.assign(value); } + + /** + *

                The database engine that the recommended reservation supports.

                + */ + inline RdsReservedInstancesConfiguration& WithDatabaseEngine(const Aws::String& value) { SetDatabaseEngine(value); return *this;} + + /** + *

                The database engine that the recommended reservation supports.

                + */ + inline RdsReservedInstancesConfiguration& WithDatabaseEngine(Aws::String&& value) { SetDatabaseEngine(std::move(value)); return *this;} + + /** + *

                The database engine that the recommended reservation supports.

                + */ + inline RdsReservedInstancesConfiguration& WithDatabaseEngine(const char* value) { SetDatabaseEngine(value); return *this;} + + + /** + *

                Determines whether the recommendation is for a reservation in a single + * Availability Zone or a reservation with a backup in a second Availability + * Zone.

                + */ + inline const Aws::String& GetDeploymentOption() const{ return m_deploymentOption; } + + /** + *

                Determines whether the recommendation is for a reservation in a single + * Availability Zone or a reservation with a backup in a second Availability + * Zone.

                + */ + inline bool DeploymentOptionHasBeenSet() const { return m_deploymentOptionHasBeenSet; } + + /** + *

                Determines whether the recommendation is for a reservation in a single + * Availability Zone or a reservation with a backup in a second Availability + * Zone.

                + */ + inline void SetDeploymentOption(const Aws::String& value) { m_deploymentOptionHasBeenSet = true; m_deploymentOption = value; } + + /** + *

                Determines whether the recommendation is for a reservation in a single + * Availability Zone or a reservation with a backup in a second Availability + * Zone.

                + */ + inline void SetDeploymentOption(Aws::String&& value) { m_deploymentOptionHasBeenSet = true; m_deploymentOption = std::move(value); } + + /** + *

                Determines whether the recommendation is for a reservation in a single + * Availability Zone or a reservation with a backup in a second Availability + * Zone.

                + */ + inline void SetDeploymentOption(const char* value) { m_deploymentOptionHasBeenSet = true; m_deploymentOption.assign(value); } + + /** + *

                Determines whether the recommendation is for a reservation in a single + * Availability Zone or a reservation with a backup in a second Availability + * Zone.

                + */ + inline RdsReservedInstancesConfiguration& WithDeploymentOption(const Aws::String& value) { SetDeploymentOption(value); return *this;} + + /** + *

                Determines whether the recommendation is for a reservation in a single + * Availability Zone or a reservation with a backup in a second Availability + * Zone.

                + */ + inline RdsReservedInstancesConfiguration& WithDeploymentOption(Aws::String&& value) { SetDeploymentOption(std::move(value)); return *this;} + + /** + *

                Determines whether the recommendation is for a reservation in a single + * Availability Zone or a reservation with a backup in a second Availability + * Zone.

                + */ + inline RdsReservedInstancesConfiguration& WithDeploymentOption(const char* value) { SetDeploymentOption(value); return *this;} + + + /** + *

                The instance family of the recommended reservation.

                + */ + inline const Aws::String& GetInstanceFamily() const{ return m_instanceFamily; } + + /** + *

                The instance family of the recommended reservation.

                + */ + inline bool InstanceFamilyHasBeenSet() const { return m_instanceFamilyHasBeenSet; } + + /** + *

                The instance family of the recommended reservation.

                + */ + inline void SetInstanceFamily(const Aws::String& value) { m_instanceFamilyHasBeenSet = true; m_instanceFamily = value; } + + /** + *

                The instance family of the recommended reservation.

                + */ + inline void SetInstanceFamily(Aws::String&& value) { m_instanceFamilyHasBeenSet = true; m_instanceFamily = std::move(value); } + + /** + *

                The instance family of the recommended reservation.

                + */ + inline void SetInstanceFamily(const char* value) { m_instanceFamilyHasBeenSet = true; m_instanceFamily.assign(value); } + + /** + *

                The instance family of the recommended reservation.

                + */ + inline RdsReservedInstancesConfiguration& WithInstanceFamily(const Aws::String& value) { SetInstanceFamily(value); return *this;} + + /** + *

                The instance family of the recommended reservation.

                + */ + inline RdsReservedInstancesConfiguration& WithInstanceFamily(Aws::String&& value) { SetInstanceFamily(std::move(value)); return *this;} + + /** + *

                The instance family of the recommended reservation.

                + */ + inline RdsReservedInstancesConfiguration& WithInstanceFamily(const char* value) { SetInstanceFamily(value); return *this;} + + + /** + *

                The type of instance that Amazon Web Services recommends.

                + */ + inline const Aws::String& GetInstanceType() const{ return m_instanceType; } + + /** + *

                The type of instance that Amazon Web Services recommends.

                + */ + inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; } + + /** + *

                The type of instance that Amazon Web Services recommends.

                + */ + inline void SetInstanceType(const Aws::String& value) { m_instanceTypeHasBeenSet = true; m_instanceType = value; } + + /** + *

                The type of instance that Amazon Web Services recommends.

                + */ + inline void SetInstanceType(Aws::String&& value) { m_instanceTypeHasBeenSet = true; m_instanceType = std::move(value); } + + /** + *

                The type of instance that Amazon Web Services recommends.

                + */ + inline void SetInstanceType(const char* value) { m_instanceTypeHasBeenSet = true; m_instanceType.assign(value); } + + /** + *

                The type of instance that Amazon Web Services recommends.

                + */ + inline RdsReservedInstancesConfiguration& WithInstanceType(const Aws::String& value) { SetInstanceType(value); return *this;} + + /** + *

                The type of instance that Amazon Web Services recommends.

                + */ + inline RdsReservedInstancesConfiguration& WithInstanceType(Aws::String&& value) { SetInstanceType(std::move(value)); return *this;} + + /** + *

                The type of instance that Amazon Web Services recommends.

                + */ + inline RdsReservedInstancesConfiguration& WithInstanceType(const char* value) { SetInstanceType(value); return *this;} + + + /** + *

                The license model that the recommended reservation supports.

                + */ + inline const Aws::String& GetLicenseModel() const{ return m_licenseModel; } + + /** + *

                The license model that the recommended reservation supports.

                + */ + inline bool LicenseModelHasBeenSet() const { return m_licenseModelHasBeenSet; } + + /** + *

                The license model that the recommended reservation supports.

                + */ + inline void SetLicenseModel(const Aws::String& value) { m_licenseModelHasBeenSet = true; m_licenseModel = value; } + + /** + *

                The license model that the recommended reservation supports.

                + */ + inline void SetLicenseModel(Aws::String&& value) { m_licenseModelHasBeenSet = true; m_licenseModel = std::move(value); } + + /** + *

                The license model that the recommended reservation supports.

                + */ + inline void SetLicenseModel(const char* value) { m_licenseModelHasBeenSet = true; m_licenseModel.assign(value); } + + /** + *

                The license model that the recommended reservation supports.

                + */ + inline RdsReservedInstancesConfiguration& WithLicenseModel(const Aws::String& value) { SetLicenseModel(value); return *this;} + + /** + *

                The license model that the recommended reservation supports.

                + */ + inline RdsReservedInstancesConfiguration& WithLicenseModel(Aws::String&& value) { SetLicenseModel(std::move(value)); return *this;} + + /** + *

                The license model that the recommended reservation supports.

                + */ + inline RdsReservedInstancesConfiguration& WithLicenseModel(const char* value) { SetLicenseModel(value); return *this;} + + + /** + *

                How much purchasing this instance costs you on a monthly basis.

                + */ + inline const Aws::String& GetMonthlyRecurringCost() const{ return m_monthlyRecurringCost; } + + /** + *

                How much purchasing this instance costs you on a monthly basis.

                + */ + inline bool MonthlyRecurringCostHasBeenSet() const { return m_monthlyRecurringCostHasBeenSet; } + + /** + *

                How much purchasing this instance costs you on a monthly basis.

                + */ + inline void SetMonthlyRecurringCost(const Aws::String& value) { m_monthlyRecurringCostHasBeenSet = true; m_monthlyRecurringCost = value; } + + /** + *

                How much purchasing this instance costs you on a monthly basis.

                + */ + inline void SetMonthlyRecurringCost(Aws::String&& value) { m_monthlyRecurringCostHasBeenSet = true; m_monthlyRecurringCost = std::move(value); } + + /** + *

                How much purchasing this instance costs you on a monthly basis.

                + */ + inline void SetMonthlyRecurringCost(const char* value) { m_monthlyRecurringCostHasBeenSet = true; m_monthlyRecurringCost.assign(value); } + + /** + *

                How much purchasing this instance costs you on a monthly basis.

                + */ + inline RdsReservedInstancesConfiguration& WithMonthlyRecurringCost(const Aws::String& value) { SetMonthlyRecurringCost(value); return *this;} + + /** + *

                How much purchasing this instance costs you on a monthly basis.

                + */ + inline RdsReservedInstancesConfiguration& WithMonthlyRecurringCost(Aws::String&& value) { SetMonthlyRecurringCost(std::move(value)); return *this;} + + /** + *

                How much purchasing this instance costs you on a monthly basis.

                + */ + inline RdsReservedInstancesConfiguration& WithMonthlyRecurringCost(const char* value) { SetMonthlyRecurringCost(value); return *this;} + + + /** + *

                The number of normalized units that Amazon Web Services recommends that you + * purchase.

                + */ + inline const Aws::String& GetNormalizedUnitsToPurchase() const{ return m_normalizedUnitsToPurchase; } + + /** + *

                The number of normalized units that Amazon Web Services recommends that you + * purchase.

                + */ + inline bool NormalizedUnitsToPurchaseHasBeenSet() const { return m_normalizedUnitsToPurchaseHasBeenSet; } + + /** + *

                The number of normalized units that Amazon Web Services recommends that you + * purchase.

                + */ + inline void SetNormalizedUnitsToPurchase(const Aws::String& value) { m_normalizedUnitsToPurchaseHasBeenSet = true; m_normalizedUnitsToPurchase = value; } + + /** + *

                The number of normalized units that Amazon Web Services recommends that you + * purchase.

                + */ + inline void SetNormalizedUnitsToPurchase(Aws::String&& value) { m_normalizedUnitsToPurchaseHasBeenSet = true; m_normalizedUnitsToPurchase = std::move(value); } + + /** + *

                The number of normalized units that Amazon Web Services recommends that you + * purchase.

                + */ + inline void SetNormalizedUnitsToPurchase(const char* value) { m_normalizedUnitsToPurchaseHasBeenSet = true; m_normalizedUnitsToPurchase.assign(value); } + + /** + *

                The number of normalized units that Amazon Web Services recommends that you + * purchase.

                + */ + inline RdsReservedInstancesConfiguration& WithNormalizedUnitsToPurchase(const Aws::String& value) { SetNormalizedUnitsToPurchase(value); return *this;} + + /** + *

                The number of normalized units that Amazon Web Services recommends that you + * purchase.

                + */ + inline RdsReservedInstancesConfiguration& WithNormalizedUnitsToPurchase(Aws::String&& value) { SetNormalizedUnitsToPurchase(std::move(value)); return *this;} + + /** + *

                The number of normalized units that Amazon Web Services recommends that you + * purchase.

                + */ + inline RdsReservedInstancesConfiguration& WithNormalizedUnitsToPurchase(const char* value) { SetNormalizedUnitsToPurchase(value); return *this;} + + + /** + *

                The number of instances that Amazon Web Services recommends that you + * purchase.

                + */ + inline const Aws::String& GetNumberOfInstancesToPurchase() const{ return m_numberOfInstancesToPurchase; } + + /** + *

                The number of instances that Amazon Web Services recommends that you + * purchase.

                + */ + inline bool NumberOfInstancesToPurchaseHasBeenSet() const { return m_numberOfInstancesToPurchaseHasBeenSet; } + + /** + *

                The number of instances that Amazon Web Services recommends that you + * purchase.

                + */ + inline void SetNumberOfInstancesToPurchase(const Aws::String& value) { m_numberOfInstancesToPurchaseHasBeenSet = true; m_numberOfInstancesToPurchase = value; } + + /** + *

                The number of instances that Amazon Web Services recommends that you + * purchase.

                + */ + inline void SetNumberOfInstancesToPurchase(Aws::String&& value) { m_numberOfInstancesToPurchaseHasBeenSet = true; m_numberOfInstancesToPurchase = std::move(value); } + + /** + *

                The number of instances that Amazon Web Services recommends that you + * purchase.

                + */ + inline void SetNumberOfInstancesToPurchase(const char* value) { m_numberOfInstancesToPurchaseHasBeenSet = true; m_numberOfInstancesToPurchase.assign(value); } + + /** + *

                The number of instances that Amazon Web Services recommends that you + * purchase.

                + */ + inline RdsReservedInstancesConfiguration& WithNumberOfInstancesToPurchase(const Aws::String& value) { SetNumberOfInstancesToPurchase(value); return *this;} + + /** + *

                The number of instances that Amazon Web Services recommends that you + * purchase.

                + */ + inline RdsReservedInstancesConfiguration& WithNumberOfInstancesToPurchase(Aws::String&& value) { SetNumberOfInstancesToPurchase(std::move(value)); return *this;} + + /** + *

                The number of instances that Amazon Web Services recommends that you + * purchase.

                + */ + inline RdsReservedInstancesConfiguration& WithNumberOfInstancesToPurchase(const char* value) { SetNumberOfInstancesToPurchase(value); return *this;} + + + /** + *

                The payment option for the commitment.

                + */ + inline const Aws::String& GetPaymentOption() const{ return m_paymentOption; } + + /** + *

                The payment option for the commitment.

                + */ + inline bool PaymentOptionHasBeenSet() const { return m_paymentOptionHasBeenSet; } + + /** + *

                The payment option for the commitment.

                + */ + inline void SetPaymentOption(const Aws::String& value) { m_paymentOptionHasBeenSet = true; m_paymentOption = value; } + + /** + *

                The payment option for the commitment.

                + */ + inline void SetPaymentOption(Aws::String&& value) { m_paymentOptionHasBeenSet = true; m_paymentOption = std::move(value); } + + /** + *

                The payment option for the commitment.

                + */ + inline void SetPaymentOption(const char* value) { m_paymentOptionHasBeenSet = true; m_paymentOption.assign(value); } + + /** + *

                The payment option for the commitment.

                + */ + inline RdsReservedInstancesConfiguration& WithPaymentOption(const Aws::String& value) { SetPaymentOption(value); return *this;} + + /** + *

                The payment option for the commitment.

                + */ + inline RdsReservedInstancesConfiguration& WithPaymentOption(Aws::String&& value) { SetPaymentOption(std::move(value)); return *this;} + + /** + *

                The payment option for the commitment.

                + */ + inline RdsReservedInstancesConfiguration& WithPaymentOption(const char* value) { SetPaymentOption(value); return *this;} + + + /** + *

                The Amazon Web Services Region of the commitment.

                + */ + inline const Aws::String& GetReservedInstancesRegion() const{ return m_reservedInstancesRegion; } + + /** + *

                The Amazon Web Services Region of the commitment.

                + */ + inline bool ReservedInstancesRegionHasBeenSet() const { return m_reservedInstancesRegionHasBeenSet; } + + /** + *

                The Amazon Web Services Region of the commitment.

                + */ + inline void SetReservedInstancesRegion(const Aws::String& value) { m_reservedInstancesRegionHasBeenSet = true; m_reservedInstancesRegion = value; } + + /** + *

                The Amazon Web Services Region of the commitment.

                + */ + inline void SetReservedInstancesRegion(Aws::String&& value) { m_reservedInstancesRegionHasBeenSet = true; m_reservedInstancesRegion = std::move(value); } + + /** + *

                The Amazon Web Services Region of the commitment.

                + */ + inline void SetReservedInstancesRegion(const char* value) { m_reservedInstancesRegionHasBeenSet = true; m_reservedInstancesRegion.assign(value); } + + /** + *

                The Amazon Web Services Region of the commitment.

                + */ + inline RdsReservedInstancesConfiguration& WithReservedInstancesRegion(const Aws::String& value) { SetReservedInstancesRegion(value); return *this;} + + /** + *

                The Amazon Web Services Region of the commitment.

                + */ + inline RdsReservedInstancesConfiguration& WithReservedInstancesRegion(Aws::String&& value) { SetReservedInstancesRegion(std::move(value)); return *this;} + + /** + *

                The Amazon Web Services Region of the commitment.

                + */ + inline RdsReservedInstancesConfiguration& WithReservedInstancesRegion(const char* value) { SetReservedInstancesRegion(value); return *this;} + + + /** + *

                The service that you want your recommendations for.

                + */ + inline const Aws::String& GetService() const{ return m_service; } + + /** + *

                The service that you want your recommendations for.

                + */ + inline bool ServiceHasBeenSet() const { return m_serviceHasBeenSet; } + + /** + *

                The service that you want your recommendations for.

                + */ + inline void SetService(const Aws::String& value) { m_serviceHasBeenSet = true; m_service = value; } + + /** + *

                The service that you want your recommendations for.

                + */ + inline void SetService(Aws::String&& value) { m_serviceHasBeenSet = true; m_service = std::move(value); } + + /** + *

                The service that you want your recommendations for.

                + */ + inline void SetService(const char* value) { m_serviceHasBeenSet = true; m_service.assign(value); } + + /** + *

                The service that you want your recommendations for.

                + */ + inline RdsReservedInstancesConfiguration& WithService(const Aws::String& value) { SetService(value); return *this;} + + /** + *

                The service that you want your recommendations for.

                + */ + inline RdsReservedInstancesConfiguration& WithService(Aws::String&& value) { SetService(std::move(value)); return *this;} + + /** + *

                The service that you want your recommendations for.

                + */ + inline RdsReservedInstancesConfiguration& WithService(const char* value) { SetService(value); return *this;} + + + /** + *

                Determines whether the recommendation is size flexible.

                + */ + inline bool GetSizeFlexEligible() const{ return m_sizeFlexEligible; } + + /** + *

                Determines whether the recommendation is size flexible.

                + */ + inline bool SizeFlexEligibleHasBeenSet() const { return m_sizeFlexEligibleHasBeenSet; } + + /** + *

                Determines whether the recommendation is size flexible.

                + */ + inline void SetSizeFlexEligible(bool value) { m_sizeFlexEligibleHasBeenSet = true; m_sizeFlexEligible = value; } + + /** + *

                Determines whether the recommendation is size flexible.

                + */ + inline RdsReservedInstancesConfiguration& WithSizeFlexEligible(bool value) { SetSizeFlexEligible(value); return *this;} + + + /** + *

                The reserved instances recommendation term in years.

                + */ + inline const Aws::String& GetTerm() const{ return m_term; } + + /** + *

                The reserved instances recommendation term in years.

                + */ + inline bool TermHasBeenSet() const { return m_termHasBeenSet; } + + /** + *

                The reserved instances recommendation term in years.

                + */ + inline void SetTerm(const Aws::String& value) { m_termHasBeenSet = true; m_term = value; } + + /** + *

                The reserved instances recommendation term in years.

                + */ + inline void SetTerm(Aws::String&& value) { m_termHasBeenSet = true; m_term = std::move(value); } + + /** + *

                The reserved instances recommendation term in years.

                + */ + inline void SetTerm(const char* value) { m_termHasBeenSet = true; m_term.assign(value); } + + /** + *

                The reserved instances recommendation term in years.

                + */ + inline RdsReservedInstancesConfiguration& WithTerm(const Aws::String& value) { SetTerm(value); return *this;} + + /** + *

                The reserved instances recommendation term in years.

                + */ + inline RdsReservedInstancesConfiguration& WithTerm(Aws::String&& value) { SetTerm(std::move(value)); return *this;} + + /** + *

                The reserved instances recommendation term in years.

                + */ + inline RdsReservedInstancesConfiguration& WithTerm(const char* value) { SetTerm(value); return *this;} + + + /** + *

                How much purchasing this instance costs you upfront.

                + */ + inline const Aws::String& GetUpfrontCost() const{ return m_upfrontCost; } + + /** + *

                How much purchasing this instance costs you upfront.

                + */ + inline bool UpfrontCostHasBeenSet() const { return m_upfrontCostHasBeenSet; } + + /** + *

                How much purchasing this instance costs you upfront.

                + */ + inline void SetUpfrontCost(const Aws::String& value) { m_upfrontCostHasBeenSet = true; m_upfrontCost = value; } + + /** + *

                How much purchasing this instance costs you upfront.

                + */ + inline void SetUpfrontCost(Aws::String&& value) { m_upfrontCostHasBeenSet = true; m_upfrontCost = std::move(value); } + + /** + *

                How much purchasing this instance costs you upfront.

                + */ + inline void SetUpfrontCost(const char* value) { m_upfrontCostHasBeenSet = true; m_upfrontCost.assign(value); } + + /** + *

                How much purchasing this instance costs you upfront.

                + */ + inline RdsReservedInstancesConfiguration& WithUpfrontCost(const Aws::String& value) { SetUpfrontCost(value); return *this;} + + /** + *

                How much purchasing this instance costs you upfront.

                + */ + inline RdsReservedInstancesConfiguration& WithUpfrontCost(Aws::String&& value) { SetUpfrontCost(std::move(value)); return *this;} + + /** + *

                How much purchasing this instance costs you upfront.

                + */ + inline RdsReservedInstancesConfiguration& WithUpfrontCost(const char* value) { SetUpfrontCost(value); return *this;} + + private: + + Aws::String m_accountScope; + bool m_accountScopeHasBeenSet = false; + + Aws::String m_currentGeneration; + bool m_currentGenerationHasBeenSet = false; + + Aws::String m_databaseEdition; + bool m_databaseEditionHasBeenSet = false; + + Aws::String m_databaseEngine; + bool m_databaseEngineHasBeenSet = false; + + Aws::String m_deploymentOption; + bool m_deploymentOptionHasBeenSet = false; + + Aws::String m_instanceFamily; + bool m_instanceFamilyHasBeenSet = false; + + Aws::String m_instanceType; + bool m_instanceTypeHasBeenSet = false; + + Aws::String m_licenseModel; + bool m_licenseModelHasBeenSet = false; + + Aws::String m_monthlyRecurringCost; + bool m_monthlyRecurringCostHasBeenSet = false; + + Aws::String m_normalizedUnitsToPurchase; + bool m_normalizedUnitsToPurchaseHasBeenSet = false; + + Aws::String m_numberOfInstancesToPurchase; + bool m_numberOfInstancesToPurchaseHasBeenSet = false; + + Aws::String m_paymentOption; + bool m_paymentOptionHasBeenSet = false; + + Aws::String m_reservedInstancesRegion; + bool m_reservedInstancesRegionHasBeenSet = false; + + Aws::String m_service; + bool m_serviceHasBeenSet = false; + + bool m_sizeFlexEligible; + bool m_sizeFlexEligibleHasBeenSet = false; + + Aws::String m_term; + bool m_termHasBeenSet = false; + + Aws::String m_upfrontCost; + bool m_upfrontCostHasBeenSet = false; + }; + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/Recommendation.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/Recommendation.h new file mode 100644 index 00000000000..708f44ba1a1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/Recommendation.h @@ -0,0 +1,836 @@ +/** + * 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 Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace CostOptimizationHub +{ +namespace Model +{ + + /** + *

                Describes a recommendation.

                See Also:

                AWS + * API Reference

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

                The account that the recommendation is for.

                + */ + inline const Aws::String& GetAccountId() const{ return m_accountId; } + + /** + *

                The account that the recommendation is for.

                + */ + inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; } + + /** + *

                The account that the recommendation is for.

                + */ + inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; } + + /** + *

                The account that the recommendation is for.

                + */ + inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); } + + /** + *

                The account that the recommendation is for.

                + */ + inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); } + + /** + *

                The account that the recommendation is for.

                + */ + inline Recommendation& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;} + + /** + *

                The account that the recommendation is for.

                + */ + inline Recommendation& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;} + + /** + *

                The account that the recommendation is for.

                + */ + inline Recommendation& WithAccountId(const char* value) { SetAccountId(value); return *this;} + + + /** + *

                The type of tasks that can be carried out by this action.

                + */ + inline const Aws::String& GetActionType() const{ return m_actionType; } + + /** + *

                The type of tasks that can be carried out by this action.

                + */ + inline bool ActionTypeHasBeenSet() const { return m_actionTypeHasBeenSet; } + + /** + *

                The type of tasks that can be carried out by this action.

                + */ + inline void SetActionType(const Aws::String& value) { m_actionTypeHasBeenSet = true; m_actionType = value; } + + /** + *

                The type of tasks that can be carried out by this action.

                + */ + inline void SetActionType(Aws::String&& value) { m_actionTypeHasBeenSet = true; m_actionType = std::move(value); } + + /** + *

                The type of tasks that can be carried out by this action.

                + */ + inline void SetActionType(const char* value) { m_actionTypeHasBeenSet = true; m_actionType.assign(value); } + + /** + *

                The type of tasks that can be carried out by this action.

                + */ + inline Recommendation& WithActionType(const Aws::String& value) { SetActionType(value); return *this;} + + /** + *

                The type of tasks that can be carried out by this action.

                + */ + inline Recommendation& WithActionType(Aws::String&& value) { SetActionType(std::move(value)); return *this;} + + /** + *

                The type of tasks that can be carried out by this action.

                + */ + inline Recommendation& WithActionType(const char* value) { SetActionType(value); return *this;} + + + /** + *

                The currency code used for the recommendation.

                + */ + inline const Aws::String& GetCurrencyCode() const{ return m_currencyCode; } + + /** + *

                The currency code used for the recommendation.

                + */ + inline bool CurrencyCodeHasBeenSet() const { return m_currencyCodeHasBeenSet; } + + /** + *

                The currency code used for the recommendation.

                + */ + inline void SetCurrencyCode(const Aws::String& value) { m_currencyCodeHasBeenSet = true; m_currencyCode = value; } + + /** + *

                The currency code used for the recommendation.

                + */ + inline void SetCurrencyCode(Aws::String&& value) { m_currencyCodeHasBeenSet = true; m_currencyCode = std::move(value); } + + /** + *

                The currency code used for the recommendation.

                + */ + inline void SetCurrencyCode(const char* value) { m_currencyCodeHasBeenSet = true; m_currencyCode.assign(value); } + + /** + *

                The currency code used for the recommendation.

                + */ + inline Recommendation& WithCurrencyCode(const Aws::String& value) { SetCurrencyCode(value); return *this;} + + /** + *

                The currency code used for the recommendation.

                + */ + inline Recommendation& WithCurrencyCode(Aws::String&& value) { SetCurrencyCode(std::move(value)); return *this;} + + /** + *

                The currency code used for the recommendation.

                + */ + inline Recommendation& WithCurrencyCode(const char* value) { SetCurrencyCode(value); return *this;} + + + /** + *

                Describes the current resource.

                + */ + inline const Aws::String& GetCurrentResourceSummary() const{ return m_currentResourceSummary; } + + /** + *

                Describes the current resource.

                + */ + inline bool CurrentResourceSummaryHasBeenSet() const { return m_currentResourceSummaryHasBeenSet; } + + /** + *

                Describes the current resource.

                + */ + inline void SetCurrentResourceSummary(const Aws::String& value) { m_currentResourceSummaryHasBeenSet = true; m_currentResourceSummary = value; } + + /** + *

                Describes the current resource.

                + */ + inline void SetCurrentResourceSummary(Aws::String&& value) { m_currentResourceSummaryHasBeenSet = true; m_currentResourceSummary = std::move(value); } + + /** + *

                Describes the current resource.

                + */ + inline void SetCurrentResourceSummary(const char* value) { m_currentResourceSummaryHasBeenSet = true; m_currentResourceSummary.assign(value); } + + /** + *

                Describes the current resource.

                + */ + inline Recommendation& WithCurrentResourceSummary(const Aws::String& value) { SetCurrentResourceSummary(value); return *this;} + + /** + *

                Describes the current resource.

                + */ + inline Recommendation& WithCurrentResourceSummary(Aws::String&& value) { SetCurrentResourceSummary(std::move(value)); return *this;} + + /** + *

                Describes the current resource.

                + */ + inline Recommendation& WithCurrentResourceSummary(const char* value) { SetCurrentResourceSummary(value); return *this;} + + + /** + *

                The current resource type.

                + */ + inline const Aws::String& GetCurrentResourceType() const{ return m_currentResourceType; } + + /** + *

                The current resource type.

                + */ + inline bool CurrentResourceTypeHasBeenSet() const { return m_currentResourceTypeHasBeenSet; } + + /** + *

                The current resource type.

                + */ + inline void SetCurrentResourceType(const Aws::String& value) { m_currentResourceTypeHasBeenSet = true; m_currentResourceType = value; } + + /** + *

                The current resource type.

                + */ + inline void SetCurrentResourceType(Aws::String&& value) { m_currentResourceTypeHasBeenSet = true; m_currentResourceType = std::move(value); } + + /** + *

                The current resource type.

                + */ + inline void SetCurrentResourceType(const char* value) { m_currentResourceTypeHasBeenSet = true; m_currentResourceType.assign(value); } + + /** + *

                The current resource type.

                + */ + inline Recommendation& WithCurrentResourceType(const Aws::String& value) { SetCurrentResourceType(value); return *this;} + + /** + *

                The current resource type.

                + */ + inline Recommendation& WithCurrentResourceType(Aws::String&& value) { SetCurrentResourceType(std::move(value)); return *this;} + + /** + *

                The current resource type.

                + */ + inline Recommendation& WithCurrentResourceType(const char* value) { SetCurrentResourceType(value); return *this;} + + + /** + *

                The estimated monthly cost for the recommendation.

                + */ + inline double GetEstimatedMonthlyCost() const{ return m_estimatedMonthlyCost; } + + /** + *

                The estimated monthly cost for the recommendation.

                + */ + inline bool EstimatedMonthlyCostHasBeenSet() const { return m_estimatedMonthlyCostHasBeenSet; } + + /** + *

                The estimated monthly cost for the recommendation.

                + */ + inline void SetEstimatedMonthlyCost(double value) { m_estimatedMonthlyCostHasBeenSet = true; m_estimatedMonthlyCost = value; } + + /** + *

                The estimated monthly cost for the recommendation.

                + */ + inline Recommendation& WithEstimatedMonthlyCost(double value) { SetEstimatedMonthlyCost(value); return *this;} + + + /** + *

                The estimated monthly savings amount for the recommendation.

                + */ + inline double GetEstimatedMonthlySavings() const{ return m_estimatedMonthlySavings; } + + /** + *

                The estimated monthly savings amount for the recommendation.

                + */ + inline bool EstimatedMonthlySavingsHasBeenSet() const { return m_estimatedMonthlySavingsHasBeenSet; } + + /** + *

                The estimated monthly savings amount for the recommendation.

                + */ + inline void SetEstimatedMonthlySavings(double value) { m_estimatedMonthlySavingsHasBeenSet = true; m_estimatedMonthlySavings = value; } + + /** + *

                The estimated monthly savings amount for the recommendation.

                + */ + inline Recommendation& WithEstimatedMonthlySavings(double value) { SetEstimatedMonthlySavings(value); return *this;} + + + /** + *

                The estimated savings percentage relative to the total cost over the cost + * calculation lookback period.

                + */ + inline double GetEstimatedSavingsPercentage() const{ return m_estimatedSavingsPercentage; } + + /** + *

                The estimated savings percentage relative to the total cost over the cost + * calculation lookback period.

                + */ + inline bool EstimatedSavingsPercentageHasBeenSet() const { return m_estimatedSavingsPercentageHasBeenSet; } + + /** + *

                The estimated savings percentage relative to the total cost over the cost + * calculation lookback period.

                + */ + inline void SetEstimatedSavingsPercentage(double value) { m_estimatedSavingsPercentageHasBeenSet = true; m_estimatedSavingsPercentage = value; } + + /** + *

                The estimated savings percentage relative to the total cost over the cost + * calculation lookback period.

                + */ + inline Recommendation& WithEstimatedSavingsPercentage(double value) { SetEstimatedSavingsPercentage(value); return *this;} + + + /** + *

                The effort required to implement the recommendation.

                + */ + inline const Aws::String& GetImplementationEffort() const{ return m_implementationEffort; } + + /** + *

                The effort required to implement the recommendation.

                + */ + inline bool ImplementationEffortHasBeenSet() const { return m_implementationEffortHasBeenSet; } + + /** + *

                The effort required to implement the recommendation.

                + */ + inline void SetImplementationEffort(const Aws::String& value) { m_implementationEffortHasBeenSet = true; m_implementationEffort = value; } + + /** + *

                The effort required to implement the recommendation.

                + */ + inline void SetImplementationEffort(Aws::String&& value) { m_implementationEffortHasBeenSet = true; m_implementationEffort = std::move(value); } + + /** + *

                The effort required to implement the recommendation.

                + */ + inline void SetImplementationEffort(const char* value) { m_implementationEffortHasBeenSet = true; m_implementationEffort.assign(value); } + + /** + *

                The effort required to implement the recommendation.

                + */ + inline Recommendation& WithImplementationEffort(const Aws::String& value) { SetImplementationEffort(value); return *this;} + + /** + *

                The effort required to implement the recommendation.

                + */ + inline Recommendation& WithImplementationEffort(Aws::String&& value) { SetImplementationEffort(std::move(value)); return *this;} + + /** + *

                The effort required to implement the recommendation.

                + */ + inline Recommendation& WithImplementationEffort(const char* value) { SetImplementationEffort(value); return *this;} + + + /** + *

                The time when the recommendation was last generated.

                + */ + inline const Aws::Utils::DateTime& GetLastRefreshTimestamp() const{ return m_lastRefreshTimestamp; } + + /** + *

                The time when the recommendation was last generated.

                + */ + inline bool LastRefreshTimestampHasBeenSet() const { return m_lastRefreshTimestampHasBeenSet; } + + /** + *

                The time when the recommendation was last generated.

                + */ + inline void SetLastRefreshTimestamp(const Aws::Utils::DateTime& value) { m_lastRefreshTimestampHasBeenSet = true; m_lastRefreshTimestamp = value; } + + /** + *

                The time when the recommendation was last generated.

                + */ + inline void SetLastRefreshTimestamp(Aws::Utils::DateTime&& value) { m_lastRefreshTimestampHasBeenSet = true; m_lastRefreshTimestamp = std::move(value); } + + /** + *

                The time when the recommendation was last generated.

                + */ + inline Recommendation& WithLastRefreshTimestamp(const Aws::Utils::DateTime& value) { SetLastRefreshTimestamp(value); return *this;} + + /** + *

                The time when the recommendation was last generated.

                + */ + inline Recommendation& WithLastRefreshTimestamp(Aws::Utils::DateTime&& value) { SetLastRefreshTimestamp(std::move(value)); return *this;} + + + /** + *

                The ID for the recommendation.

                + */ + inline const Aws::String& GetRecommendationId() const{ return m_recommendationId; } + + /** + *

                The ID for the recommendation.

                + */ + inline bool RecommendationIdHasBeenSet() const { return m_recommendationIdHasBeenSet; } + + /** + *

                The ID for the recommendation.

                + */ + inline void SetRecommendationId(const Aws::String& value) { m_recommendationIdHasBeenSet = true; m_recommendationId = value; } + + /** + *

                The ID for the recommendation.

                + */ + inline void SetRecommendationId(Aws::String&& value) { m_recommendationIdHasBeenSet = true; m_recommendationId = std::move(value); } + + /** + *

                The ID for the recommendation.

                + */ + inline void SetRecommendationId(const char* value) { m_recommendationIdHasBeenSet = true; m_recommendationId.assign(value); } + + /** + *

                The ID for the recommendation.

                + */ + inline Recommendation& WithRecommendationId(const Aws::String& value) { SetRecommendationId(value); return *this;} + + /** + *

                The ID for the recommendation.

                + */ + inline Recommendation& WithRecommendationId(Aws::String&& value) { SetRecommendationId(std::move(value)); return *this;} + + /** + *

                The ID for the recommendation.

                + */ + inline Recommendation& WithRecommendationId(const char* value) { SetRecommendationId(value); return *this;} + + + /** + *

                The lookback period that's used to generate the recommendation.

                + */ + inline int GetRecommendationLookbackPeriodInDays() const{ return m_recommendationLookbackPeriodInDays; } + + /** + *

                The lookback period that's used to generate the recommendation.

                + */ + inline bool RecommendationLookbackPeriodInDaysHasBeenSet() const { return m_recommendationLookbackPeriodInDaysHasBeenSet; } + + /** + *

                The lookback period that's used to generate the recommendation.

                + */ + inline void SetRecommendationLookbackPeriodInDays(int value) { m_recommendationLookbackPeriodInDaysHasBeenSet = true; m_recommendationLookbackPeriodInDays = value; } + + /** + *

                The lookback period that's used to generate the recommendation.

                + */ + inline Recommendation& WithRecommendationLookbackPeriodInDays(int value) { SetRecommendationLookbackPeriodInDays(value); return *this;} + + + /** + *

                Describes the recommended resource.

                + */ + inline const Aws::String& GetRecommendedResourceSummary() const{ return m_recommendedResourceSummary; } + + /** + *

                Describes the recommended resource.

                + */ + inline bool RecommendedResourceSummaryHasBeenSet() const { return m_recommendedResourceSummaryHasBeenSet; } + + /** + *

                Describes the recommended resource.

                + */ + inline void SetRecommendedResourceSummary(const Aws::String& value) { m_recommendedResourceSummaryHasBeenSet = true; m_recommendedResourceSummary = value; } + + /** + *

                Describes the recommended resource.

                + */ + inline void SetRecommendedResourceSummary(Aws::String&& value) { m_recommendedResourceSummaryHasBeenSet = true; m_recommendedResourceSummary = std::move(value); } + + /** + *

                Describes the recommended resource.

                + */ + inline void SetRecommendedResourceSummary(const char* value) { m_recommendedResourceSummaryHasBeenSet = true; m_recommendedResourceSummary.assign(value); } + + /** + *

                Describes the recommended resource.

                + */ + inline Recommendation& WithRecommendedResourceSummary(const Aws::String& value) { SetRecommendedResourceSummary(value); return *this;} + + /** + *

                Describes the recommended resource.

                + */ + inline Recommendation& WithRecommendedResourceSummary(Aws::String&& value) { SetRecommendedResourceSummary(std::move(value)); return *this;} + + /** + *

                Describes the recommended resource.

                + */ + inline Recommendation& WithRecommendedResourceSummary(const char* value) { SetRecommendedResourceSummary(value); return *this;} + + + /** + *

                The recommended resource type.

                + */ + inline const Aws::String& GetRecommendedResourceType() const{ return m_recommendedResourceType; } + + /** + *

                The recommended resource type.

                + */ + inline bool RecommendedResourceTypeHasBeenSet() const { return m_recommendedResourceTypeHasBeenSet; } + + /** + *

                The recommended resource type.

                + */ + inline void SetRecommendedResourceType(const Aws::String& value) { m_recommendedResourceTypeHasBeenSet = true; m_recommendedResourceType = value; } + + /** + *

                The recommended resource type.

                + */ + inline void SetRecommendedResourceType(Aws::String&& value) { m_recommendedResourceTypeHasBeenSet = true; m_recommendedResourceType = std::move(value); } + + /** + *

                The recommended resource type.

                + */ + inline void SetRecommendedResourceType(const char* value) { m_recommendedResourceTypeHasBeenSet = true; m_recommendedResourceType.assign(value); } + + /** + *

                The recommended resource type.

                + */ + inline Recommendation& WithRecommendedResourceType(const Aws::String& value) { SetRecommendedResourceType(value); return *this;} + + /** + *

                The recommended resource type.

                + */ + inline Recommendation& WithRecommendedResourceType(Aws::String&& value) { SetRecommendedResourceType(std::move(value)); return *this;} + + /** + *

                The recommended resource type.

                + */ + inline Recommendation& WithRecommendedResourceType(const char* value) { SetRecommendedResourceType(value); return *this;} + + + /** + *

                The Amazon Web Services Region of the resource.

                + */ + inline const Aws::String& GetRegion() const{ return m_region; } + + /** + *

                The Amazon Web Services Region of the resource.

                + */ + inline bool RegionHasBeenSet() const { return m_regionHasBeenSet; } + + /** + *

                The Amazon Web Services Region of the resource.

                + */ + inline void SetRegion(const Aws::String& value) { m_regionHasBeenSet = true; m_region = value; } + + /** + *

                The Amazon Web Services Region of the resource.

                + */ + inline void SetRegion(Aws::String&& value) { m_regionHasBeenSet = true; m_region = std::move(value); } + + /** + *

                The Amazon Web Services Region of the resource.

                + */ + inline void SetRegion(const char* value) { m_regionHasBeenSet = true; m_region.assign(value); } + + /** + *

                The Amazon Web Services Region of the resource.

                + */ + inline Recommendation& WithRegion(const Aws::String& value) { SetRegion(value); return *this;} + + /** + *

                The Amazon Web Services Region of the resource.

                + */ + inline Recommendation& WithRegion(Aws::String&& value) { SetRegion(std::move(value)); return *this;} + + /** + *

                The Amazon Web Services Region of the resource.

                + */ + inline Recommendation& WithRegion(const char* value) { SetRegion(value); return *this;} + + + /** + *

                The Amazon Resource Name (ARN) for the recommendation.

                + */ + inline const Aws::String& GetResourceArn() const{ return m_resourceArn; } + + /** + *

                The Amazon Resource Name (ARN) for the recommendation.

                + */ + inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; } + + /** + *

                The Amazon Resource Name (ARN) for the recommendation.

                + */ + inline void SetResourceArn(const Aws::String& value) { m_resourceArnHasBeenSet = true; m_resourceArn = value; } + + /** + *

                The Amazon Resource Name (ARN) for the recommendation.

                + */ + inline void SetResourceArn(Aws::String&& value) { m_resourceArnHasBeenSet = true; m_resourceArn = std::move(value); } + + /** + *

                The Amazon Resource Name (ARN) for the recommendation.

                + */ + inline void SetResourceArn(const char* value) { m_resourceArnHasBeenSet = true; m_resourceArn.assign(value); } + + /** + *

                The Amazon Resource Name (ARN) for the recommendation.

                + */ + inline Recommendation& WithResourceArn(const Aws::String& value) { SetResourceArn(value); return *this;} + + /** + *

                The Amazon Resource Name (ARN) for the recommendation.

                + */ + inline Recommendation& WithResourceArn(Aws::String&& value) { SetResourceArn(std::move(value)); return *this;} + + /** + *

                The Amazon Resource Name (ARN) for the recommendation.

                + */ + inline Recommendation& WithResourceArn(const char* value) { SetResourceArn(value); return *this;} + + + /** + *

                The resource ID for the recommendation.

                + */ + inline const Aws::String& GetResourceId() const{ return m_resourceId; } + + /** + *

                The resource ID for the recommendation.

                + */ + inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; } + + /** + *

                The resource ID for the recommendation.

                + */ + inline void SetResourceId(const Aws::String& value) { m_resourceIdHasBeenSet = true; m_resourceId = value; } + + /** + *

                The resource ID for the recommendation.

                + */ + inline void SetResourceId(Aws::String&& value) { m_resourceIdHasBeenSet = true; m_resourceId = std::move(value); } + + /** + *

                The resource ID for the recommendation.

                + */ + inline void SetResourceId(const char* value) { m_resourceIdHasBeenSet = true; m_resourceId.assign(value); } + + /** + *

                The resource ID for the recommendation.

                + */ + inline Recommendation& WithResourceId(const Aws::String& value) { SetResourceId(value); return *this;} + + /** + *

                The resource ID for the recommendation.

                + */ + inline Recommendation& WithResourceId(Aws::String&& value) { SetResourceId(std::move(value)); return *this;} + + /** + *

                The resource ID for the recommendation.

                + */ + inline Recommendation& WithResourceId(const char* value) { SetResourceId(value); return *this;} + + + /** + *

                Whether or not implementing the recommendation requires a restart.

                + */ + inline bool GetRestartNeeded() const{ return m_restartNeeded; } + + /** + *

                Whether or not implementing the recommendation requires a restart.

                + */ + inline bool RestartNeededHasBeenSet() const { return m_restartNeededHasBeenSet; } + + /** + *

                Whether or not implementing the recommendation requires a restart.

                + */ + inline void SetRestartNeeded(bool value) { m_restartNeededHasBeenSet = true; m_restartNeeded = value; } + + /** + *

                Whether or not implementing the recommendation requires a restart.

                + */ + inline Recommendation& WithRestartNeeded(bool value) { SetRestartNeeded(value); return *this;} + + + /** + *

                Whether or not implementing the recommendation can be rolled back.

                + */ + inline bool GetRollbackPossible() const{ return m_rollbackPossible; } + + /** + *

                Whether or not implementing the recommendation can be rolled back.

                + */ + inline bool RollbackPossibleHasBeenSet() const { return m_rollbackPossibleHasBeenSet; } + + /** + *

                Whether or not implementing the recommendation can be rolled back.

                + */ + inline void SetRollbackPossible(bool value) { m_rollbackPossibleHasBeenSet = true; m_rollbackPossible = value; } + + /** + *

                Whether or not implementing the recommendation can be rolled back.

                + */ + inline Recommendation& WithRollbackPossible(bool value) { SetRollbackPossible(value); return *this;} + + + /** + *

                The source of the recommendation.

                + */ + inline const Source& GetSource() const{ return m_source; } + + /** + *

                The source of the recommendation.

                + */ + inline bool SourceHasBeenSet() const { return m_sourceHasBeenSet; } + + /** + *

                The source of the recommendation.

                + */ + inline void SetSource(const Source& value) { m_sourceHasBeenSet = true; m_source = value; } + + /** + *

                The source of the recommendation.

                + */ + inline void SetSource(Source&& value) { m_sourceHasBeenSet = true; m_source = std::move(value); } + + /** + *

                The source of the recommendation.

                + */ + inline Recommendation& WithSource(const Source& value) { SetSource(value); return *this;} + + /** + *

                The source of the recommendation.

                + */ + inline Recommendation& WithSource(Source&& value) { SetSource(std::move(value)); return *this;} + + + /** + *

                A list of tags assigned to the recommendation.

                + */ + inline const Aws::Vector& GetTags() const{ return m_tags; } + + /** + *

                A list of tags assigned to the recommendation.

                + */ + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + + /** + *

                A list of tags assigned to the recommendation.

                + */ + inline void SetTags(const Aws::Vector& value) { m_tagsHasBeenSet = true; m_tags = value; } + + /** + *

                A list of tags assigned to the recommendation.

                + */ + inline void SetTags(Aws::Vector&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } + + /** + *

                A list of tags assigned to the recommendation.

                + */ + inline Recommendation& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} + + /** + *

                A list of tags assigned to the recommendation.

                + */ + inline Recommendation& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} + + /** + *

                A list of tags assigned to the recommendation.

                + */ + inline Recommendation& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } + + /** + *

                A list of tags assigned to the recommendation.

                + */ + inline Recommendation& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } + + private: + + Aws::String m_accountId; + bool m_accountIdHasBeenSet = false; + + Aws::String m_actionType; + bool m_actionTypeHasBeenSet = false; + + Aws::String m_currencyCode; + bool m_currencyCodeHasBeenSet = false; + + Aws::String m_currentResourceSummary; + bool m_currentResourceSummaryHasBeenSet = false; + + Aws::String m_currentResourceType; + bool m_currentResourceTypeHasBeenSet = false; + + double m_estimatedMonthlyCost; + bool m_estimatedMonthlyCostHasBeenSet = false; + + double m_estimatedMonthlySavings; + bool m_estimatedMonthlySavingsHasBeenSet = false; + + double m_estimatedSavingsPercentage; + bool m_estimatedSavingsPercentageHasBeenSet = false; + + Aws::String m_implementationEffort; + bool m_implementationEffortHasBeenSet = false; + + Aws::Utils::DateTime m_lastRefreshTimestamp; + bool m_lastRefreshTimestampHasBeenSet = false; + + Aws::String m_recommendationId; + bool m_recommendationIdHasBeenSet = false; + + int m_recommendationLookbackPeriodInDays; + bool m_recommendationLookbackPeriodInDaysHasBeenSet = false; + + Aws::String m_recommendedResourceSummary; + bool m_recommendedResourceSummaryHasBeenSet = false; + + Aws::String m_recommendedResourceType; + bool m_recommendedResourceTypeHasBeenSet = false; + + Aws::String m_region; + bool m_regionHasBeenSet = false; + + Aws::String m_resourceArn; + bool m_resourceArnHasBeenSet = false; + + Aws::String m_resourceId; + bool m_resourceIdHasBeenSet = false; + + bool m_restartNeeded; + bool m_restartNeededHasBeenSet = false; + + bool m_rollbackPossible; + bool m_rollbackPossibleHasBeenSet = false; + + Source m_source; + bool m_sourceHasBeenSet = false; + + Aws::Vector m_tags; + bool m_tagsHasBeenSet = false; + }; + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/RecommendationSummary.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/RecommendationSummary.h new file mode 100644 index 00000000000..5a1e8adeaf9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/RecommendationSummary.h @@ -0,0 +1,141 @@ +/** + * 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 CostOptimizationHub +{ +namespace Model +{ + + /** + *

                The summary of rightsizing recommendations, including de-duped savings from + * all types of recommendations.

                See Also:

                AWS + * API Reference

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

                The estimated total savings resulting from modifications, on a monthly + * basis.

                + */ + inline double GetEstimatedMonthlySavings() const{ return m_estimatedMonthlySavings; } + + /** + *

                The estimated total savings resulting from modifications, on a monthly + * basis.

                + */ + inline bool EstimatedMonthlySavingsHasBeenSet() const { return m_estimatedMonthlySavingsHasBeenSet; } + + /** + *

                The estimated total savings resulting from modifications, on a monthly + * basis.

                + */ + inline void SetEstimatedMonthlySavings(double value) { m_estimatedMonthlySavingsHasBeenSet = true; m_estimatedMonthlySavings = value; } + + /** + *

                The estimated total savings resulting from modifications, on a monthly + * basis.

                + */ + inline RecommendationSummary& WithEstimatedMonthlySavings(double value) { SetEstimatedMonthlySavings(value); return *this;} + + + /** + *

                The grouping of recommendations.

                + */ + inline const Aws::String& GetGroup() const{ return m_group; } + + /** + *

                The grouping of recommendations.

                + */ + inline bool GroupHasBeenSet() const { return m_groupHasBeenSet; } + + /** + *

                The grouping of recommendations.

                + */ + inline void SetGroup(const Aws::String& value) { m_groupHasBeenSet = true; m_group = value; } + + /** + *

                The grouping of recommendations.

                + */ + inline void SetGroup(Aws::String&& value) { m_groupHasBeenSet = true; m_group = std::move(value); } + + /** + *

                The grouping of recommendations.

                + */ + inline void SetGroup(const char* value) { m_groupHasBeenSet = true; m_group.assign(value); } + + /** + *

                The grouping of recommendations.

                + */ + inline RecommendationSummary& WithGroup(const Aws::String& value) { SetGroup(value); return *this;} + + /** + *

                The grouping of recommendations.

                + */ + inline RecommendationSummary& WithGroup(Aws::String&& value) { SetGroup(std::move(value)); return *this;} + + /** + *

                The grouping of recommendations.

                + */ + inline RecommendationSummary& WithGroup(const char* value) { SetGroup(value); return *this;} + + + /** + *

                The total number of instance recommendations.

                + */ + inline int GetRecommendationCount() const{ return m_recommendationCount; } + + /** + *

                The total number of instance recommendations.

                + */ + inline bool RecommendationCountHasBeenSet() const { return m_recommendationCountHasBeenSet; } + + /** + *

                The total number of instance recommendations.

                + */ + inline void SetRecommendationCount(int value) { m_recommendationCountHasBeenSet = true; m_recommendationCount = value; } + + /** + *

                The total number of instance recommendations.

                + */ + inline RecommendationSummary& WithRecommendationCount(int value) { SetRecommendationCount(value); return *this;} + + private: + + double m_estimatedMonthlySavings; + bool m_estimatedMonthlySavingsHasBeenSet = false; + + Aws::String m_group; + bool m_groupHasBeenSet = false; + + int m_recommendationCount; + bool m_recommendationCountHasBeenSet = false; + }; + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/RedshiftReservedInstances.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/RedshiftReservedInstances.h new file mode 100644 index 00000000000..cb04fee1419 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/RedshiftReservedInstances.h @@ -0,0 +1,114 @@ +/** + * 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 CostOptimizationHub +{ +namespace Model +{ + + /** + *

                The Redshift reserved instances recommendation details.

                See + * Also:

                AWS + * API Reference

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

                The Redshift reserved instances configuration used for recommendations.

                + */ + inline const RedshiftReservedInstancesConfiguration& GetConfiguration() const{ return m_configuration; } + + /** + *

                The Redshift reserved instances configuration used for recommendations.

                + */ + inline bool ConfigurationHasBeenSet() const { return m_configurationHasBeenSet; } + + /** + *

                The Redshift reserved instances configuration used for recommendations.

                + */ + inline void SetConfiguration(const RedshiftReservedInstancesConfiguration& value) { m_configurationHasBeenSet = true; m_configuration = value; } + + /** + *

                The Redshift reserved instances configuration used for recommendations.

                + */ + inline void SetConfiguration(RedshiftReservedInstancesConfiguration&& value) { m_configurationHasBeenSet = true; m_configuration = std::move(value); } + + /** + *

                The Redshift reserved instances configuration used for recommendations.

                + */ + inline RedshiftReservedInstances& WithConfiguration(const RedshiftReservedInstancesConfiguration& value) { SetConfiguration(value); return *this;} + + /** + *

                The Redshift reserved instances configuration used for recommendations.

                + */ + inline RedshiftReservedInstances& WithConfiguration(RedshiftReservedInstancesConfiguration&& value) { SetConfiguration(std::move(value)); return *this;} + + + /** + *

                Cost impact of the purchase recommendation.

                + */ + inline const ReservedInstancesCostCalculation& GetCostCalculation() const{ return m_costCalculation; } + + /** + *

                Cost impact of the purchase recommendation.

                + */ + inline bool CostCalculationHasBeenSet() const { return m_costCalculationHasBeenSet; } + + /** + *

                Cost impact of the purchase recommendation.

                + */ + inline void SetCostCalculation(const ReservedInstancesCostCalculation& value) { m_costCalculationHasBeenSet = true; m_costCalculation = value; } + + /** + *

                Cost impact of the purchase recommendation.

                + */ + inline void SetCostCalculation(ReservedInstancesCostCalculation&& value) { m_costCalculationHasBeenSet = true; m_costCalculation = std::move(value); } + + /** + *

                Cost impact of the purchase recommendation.

                + */ + inline RedshiftReservedInstances& WithCostCalculation(const ReservedInstancesCostCalculation& value) { SetCostCalculation(value); return *this;} + + /** + *

                Cost impact of the purchase recommendation.

                + */ + inline RedshiftReservedInstances& WithCostCalculation(ReservedInstancesCostCalculation&& value) { SetCostCalculation(std::move(value)); return *this;} + + private: + + RedshiftReservedInstancesConfiguration m_configuration; + bool m_configurationHasBeenSet = false; + + ReservedInstancesCostCalculation m_costCalculation; + bool m_costCalculationHasBeenSet = false; + }; + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/RedshiftReservedInstancesConfiguration.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/RedshiftReservedInstancesConfiguration.h new file mode 100644 index 00000000000..32235775796 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/RedshiftReservedInstancesConfiguration.h @@ -0,0 +1,621 @@ +/** + * 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 CostOptimizationHub +{ +namespace Model +{ + + /** + *

                The Redshift reserved instances configuration used for + * recommendations.

                See Also:

                AWS + * API Reference

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

                The account scope that you want your recommendations for.

                + */ + inline const Aws::String& GetAccountScope() const{ return m_accountScope; } + + /** + *

                The account scope that you want your recommendations for.

                + */ + inline bool AccountScopeHasBeenSet() const { return m_accountScopeHasBeenSet; } + + /** + *

                The account scope that you want your recommendations for.

                + */ + inline void SetAccountScope(const Aws::String& value) { m_accountScopeHasBeenSet = true; m_accountScope = value; } + + /** + *

                The account scope that you want your recommendations for.

                + */ + inline void SetAccountScope(Aws::String&& value) { m_accountScopeHasBeenSet = true; m_accountScope = std::move(value); } + + /** + *

                The account scope that you want your recommendations for.

                + */ + inline void SetAccountScope(const char* value) { m_accountScopeHasBeenSet = true; m_accountScope.assign(value); } + + /** + *

                The account scope that you want your recommendations for.

                + */ + inline RedshiftReservedInstancesConfiguration& WithAccountScope(const Aws::String& value) { SetAccountScope(value); return *this;} + + /** + *

                The account scope that you want your recommendations for.

                + */ + inline RedshiftReservedInstancesConfiguration& WithAccountScope(Aws::String&& value) { SetAccountScope(std::move(value)); return *this;} + + /** + *

                The account scope that you want your recommendations for.

                + */ + inline RedshiftReservedInstancesConfiguration& WithAccountScope(const char* value) { SetAccountScope(value); return *this;} + + + /** + *

                Determines whether the recommendation is for a current generation + * instance.

                + */ + inline const Aws::String& GetCurrentGeneration() const{ return m_currentGeneration; } + + /** + *

                Determines whether the recommendation is for a current generation + * instance.

                + */ + inline bool CurrentGenerationHasBeenSet() const { return m_currentGenerationHasBeenSet; } + + /** + *

                Determines whether the recommendation is for a current generation + * instance.

                + */ + inline void SetCurrentGeneration(const Aws::String& value) { m_currentGenerationHasBeenSet = true; m_currentGeneration = value; } + + /** + *

                Determines whether the recommendation is for a current generation + * instance.

                + */ + inline void SetCurrentGeneration(Aws::String&& value) { m_currentGenerationHasBeenSet = true; m_currentGeneration = std::move(value); } + + /** + *

                Determines whether the recommendation is for a current generation + * instance.

                + */ + inline void SetCurrentGeneration(const char* value) { m_currentGenerationHasBeenSet = true; m_currentGeneration.assign(value); } + + /** + *

                Determines whether the recommendation is for a current generation + * instance.

                + */ + inline RedshiftReservedInstancesConfiguration& WithCurrentGeneration(const Aws::String& value) { SetCurrentGeneration(value); return *this;} + + /** + *

                Determines whether the recommendation is for a current generation + * instance.

                + */ + inline RedshiftReservedInstancesConfiguration& WithCurrentGeneration(Aws::String&& value) { SetCurrentGeneration(std::move(value)); return *this;} + + /** + *

                Determines whether the recommendation is for a current generation + * instance.

                + */ + inline RedshiftReservedInstancesConfiguration& WithCurrentGeneration(const char* value) { SetCurrentGeneration(value); return *this;} + + + /** + *

                The instance family of the recommended reservation.

                + */ + inline const Aws::String& GetInstanceFamily() const{ return m_instanceFamily; } + + /** + *

                The instance family of the recommended reservation.

                + */ + inline bool InstanceFamilyHasBeenSet() const { return m_instanceFamilyHasBeenSet; } + + /** + *

                The instance family of the recommended reservation.

                + */ + inline void SetInstanceFamily(const Aws::String& value) { m_instanceFamilyHasBeenSet = true; m_instanceFamily = value; } + + /** + *

                The instance family of the recommended reservation.

                + */ + inline void SetInstanceFamily(Aws::String&& value) { m_instanceFamilyHasBeenSet = true; m_instanceFamily = std::move(value); } + + /** + *

                The instance family of the recommended reservation.

                + */ + inline void SetInstanceFamily(const char* value) { m_instanceFamilyHasBeenSet = true; m_instanceFamily.assign(value); } + + /** + *

                The instance family of the recommended reservation.

                + */ + inline RedshiftReservedInstancesConfiguration& WithInstanceFamily(const Aws::String& value) { SetInstanceFamily(value); return *this;} + + /** + *

                The instance family of the recommended reservation.

                + */ + inline RedshiftReservedInstancesConfiguration& WithInstanceFamily(Aws::String&& value) { SetInstanceFamily(std::move(value)); return *this;} + + /** + *

                The instance family of the recommended reservation.

                + */ + inline RedshiftReservedInstancesConfiguration& WithInstanceFamily(const char* value) { SetInstanceFamily(value); return *this;} + + + /** + *

                The type of instance that Amazon Web Services recommends.

                + */ + inline const Aws::String& GetInstanceType() const{ return m_instanceType; } + + /** + *

                The type of instance that Amazon Web Services recommends.

                + */ + inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; } + + /** + *

                The type of instance that Amazon Web Services recommends.

                + */ + inline void SetInstanceType(const Aws::String& value) { m_instanceTypeHasBeenSet = true; m_instanceType = value; } + + /** + *

                The type of instance that Amazon Web Services recommends.

                + */ + inline void SetInstanceType(Aws::String&& value) { m_instanceTypeHasBeenSet = true; m_instanceType = std::move(value); } + + /** + *

                The type of instance that Amazon Web Services recommends.

                + */ + inline void SetInstanceType(const char* value) { m_instanceTypeHasBeenSet = true; m_instanceType.assign(value); } + + /** + *

                The type of instance that Amazon Web Services recommends.

                + */ + inline RedshiftReservedInstancesConfiguration& WithInstanceType(const Aws::String& value) { SetInstanceType(value); return *this;} + + /** + *

                The type of instance that Amazon Web Services recommends.

                + */ + inline RedshiftReservedInstancesConfiguration& WithInstanceType(Aws::String&& value) { SetInstanceType(std::move(value)); return *this;} + + /** + *

                The type of instance that Amazon Web Services recommends.

                + */ + inline RedshiftReservedInstancesConfiguration& WithInstanceType(const char* value) { SetInstanceType(value); return *this;} + + + /** + *

                How much purchasing reserved instances costs you on a monthly basis.

                + */ + inline const Aws::String& GetMonthlyRecurringCost() const{ return m_monthlyRecurringCost; } + + /** + *

                How much purchasing reserved instances costs you on a monthly basis.

                + */ + inline bool MonthlyRecurringCostHasBeenSet() const { return m_monthlyRecurringCostHasBeenSet; } + + /** + *

                How much purchasing reserved instances costs you on a monthly basis.

                + */ + inline void SetMonthlyRecurringCost(const Aws::String& value) { m_monthlyRecurringCostHasBeenSet = true; m_monthlyRecurringCost = value; } + + /** + *

                How much purchasing reserved instances costs you on a monthly basis.

                + */ + inline void SetMonthlyRecurringCost(Aws::String&& value) { m_monthlyRecurringCostHasBeenSet = true; m_monthlyRecurringCost = std::move(value); } + + /** + *

                How much purchasing reserved instances costs you on a monthly basis.

                + */ + inline void SetMonthlyRecurringCost(const char* value) { m_monthlyRecurringCostHasBeenSet = true; m_monthlyRecurringCost.assign(value); } + + /** + *

                How much purchasing reserved instances costs you on a monthly basis.

                + */ + inline RedshiftReservedInstancesConfiguration& WithMonthlyRecurringCost(const Aws::String& value) { SetMonthlyRecurringCost(value); return *this;} + + /** + *

                How much purchasing reserved instances costs you on a monthly basis.

                + */ + inline RedshiftReservedInstancesConfiguration& WithMonthlyRecurringCost(Aws::String&& value) { SetMonthlyRecurringCost(std::move(value)); return *this;} + + /** + *

                How much purchasing reserved instances costs you on a monthly basis.

                + */ + inline RedshiftReservedInstancesConfiguration& WithMonthlyRecurringCost(const char* value) { SetMonthlyRecurringCost(value); return *this;} + + + /** + *

                The number of normalized units that Amazon Web Services recommends that you + * purchase.

                + */ + inline const Aws::String& GetNormalizedUnitsToPurchase() const{ return m_normalizedUnitsToPurchase; } + + /** + *

                The number of normalized units that Amazon Web Services recommends that you + * purchase.

                + */ + inline bool NormalizedUnitsToPurchaseHasBeenSet() const { return m_normalizedUnitsToPurchaseHasBeenSet; } + + /** + *

                The number of normalized units that Amazon Web Services recommends that you + * purchase.

                + */ + inline void SetNormalizedUnitsToPurchase(const Aws::String& value) { m_normalizedUnitsToPurchaseHasBeenSet = true; m_normalizedUnitsToPurchase = value; } + + /** + *

                The number of normalized units that Amazon Web Services recommends that you + * purchase.

                + */ + inline void SetNormalizedUnitsToPurchase(Aws::String&& value) { m_normalizedUnitsToPurchaseHasBeenSet = true; m_normalizedUnitsToPurchase = std::move(value); } + + /** + *

                The number of normalized units that Amazon Web Services recommends that you + * purchase.

                + */ + inline void SetNormalizedUnitsToPurchase(const char* value) { m_normalizedUnitsToPurchaseHasBeenSet = true; m_normalizedUnitsToPurchase.assign(value); } + + /** + *

                The number of normalized units that Amazon Web Services recommends that you + * purchase.

                + */ + inline RedshiftReservedInstancesConfiguration& WithNormalizedUnitsToPurchase(const Aws::String& value) { SetNormalizedUnitsToPurchase(value); return *this;} + + /** + *

                The number of normalized units that Amazon Web Services recommends that you + * purchase.

                + */ + inline RedshiftReservedInstancesConfiguration& WithNormalizedUnitsToPurchase(Aws::String&& value) { SetNormalizedUnitsToPurchase(std::move(value)); return *this;} + + /** + *

                The number of normalized units that Amazon Web Services recommends that you + * purchase.

                + */ + inline RedshiftReservedInstancesConfiguration& WithNormalizedUnitsToPurchase(const char* value) { SetNormalizedUnitsToPurchase(value); return *this;} + + + /** + *

                The number of instances that Amazon Web Services recommends that you + * purchase.

                + */ + inline const Aws::String& GetNumberOfInstancesToPurchase() const{ return m_numberOfInstancesToPurchase; } + + /** + *

                The number of instances that Amazon Web Services recommends that you + * purchase.

                + */ + inline bool NumberOfInstancesToPurchaseHasBeenSet() const { return m_numberOfInstancesToPurchaseHasBeenSet; } + + /** + *

                The number of instances that Amazon Web Services recommends that you + * purchase.

                + */ + inline void SetNumberOfInstancesToPurchase(const Aws::String& value) { m_numberOfInstancesToPurchaseHasBeenSet = true; m_numberOfInstancesToPurchase = value; } + + /** + *

                The number of instances that Amazon Web Services recommends that you + * purchase.

                + */ + inline void SetNumberOfInstancesToPurchase(Aws::String&& value) { m_numberOfInstancesToPurchaseHasBeenSet = true; m_numberOfInstancesToPurchase = std::move(value); } + + /** + *

                The number of instances that Amazon Web Services recommends that you + * purchase.

                + */ + inline void SetNumberOfInstancesToPurchase(const char* value) { m_numberOfInstancesToPurchaseHasBeenSet = true; m_numberOfInstancesToPurchase.assign(value); } + + /** + *

                The number of instances that Amazon Web Services recommends that you + * purchase.

                + */ + inline RedshiftReservedInstancesConfiguration& WithNumberOfInstancesToPurchase(const Aws::String& value) { SetNumberOfInstancesToPurchase(value); return *this;} + + /** + *

                The number of instances that Amazon Web Services recommends that you + * purchase.

                + */ + inline RedshiftReservedInstancesConfiguration& WithNumberOfInstancesToPurchase(Aws::String&& value) { SetNumberOfInstancesToPurchase(std::move(value)); return *this;} + + /** + *

                The number of instances that Amazon Web Services recommends that you + * purchase.

                + */ + inline RedshiftReservedInstancesConfiguration& WithNumberOfInstancesToPurchase(const char* value) { SetNumberOfInstancesToPurchase(value); return *this;} + + + /** + *

                The payment option for the commitment.

                + */ + inline const Aws::String& GetPaymentOption() const{ return m_paymentOption; } + + /** + *

                The payment option for the commitment.

                + */ + inline bool PaymentOptionHasBeenSet() const { return m_paymentOptionHasBeenSet; } + + /** + *

                The payment option for the commitment.

                + */ + inline void SetPaymentOption(const Aws::String& value) { m_paymentOptionHasBeenSet = true; m_paymentOption = value; } + + /** + *

                The payment option for the commitment.

                + */ + inline void SetPaymentOption(Aws::String&& value) { m_paymentOptionHasBeenSet = true; m_paymentOption = std::move(value); } + + /** + *

                The payment option for the commitment.

                + */ + inline void SetPaymentOption(const char* value) { m_paymentOptionHasBeenSet = true; m_paymentOption.assign(value); } + + /** + *

                The payment option for the commitment.

                + */ + inline RedshiftReservedInstancesConfiguration& WithPaymentOption(const Aws::String& value) { SetPaymentOption(value); return *this;} + + /** + *

                The payment option for the commitment.

                + */ + inline RedshiftReservedInstancesConfiguration& WithPaymentOption(Aws::String&& value) { SetPaymentOption(std::move(value)); return *this;} + + /** + *

                The payment option for the commitment.

                + */ + inline RedshiftReservedInstancesConfiguration& WithPaymentOption(const char* value) { SetPaymentOption(value); return *this;} + + + /** + *

                The Amazon Web Services Region of the commitment.

                + */ + inline const Aws::String& GetReservedInstancesRegion() const{ return m_reservedInstancesRegion; } + + /** + *

                The Amazon Web Services Region of the commitment.

                + */ + inline bool ReservedInstancesRegionHasBeenSet() const { return m_reservedInstancesRegionHasBeenSet; } + + /** + *

                The Amazon Web Services Region of the commitment.

                + */ + inline void SetReservedInstancesRegion(const Aws::String& value) { m_reservedInstancesRegionHasBeenSet = true; m_reservedInstancesRegion = value; } + + /** + *

                The Amazon Web Services Region of the commitment.

                + */ + inline void SetReservedInstancesRegion(Aws::String&& value) { m_reservedInstancesRegionHasBeenSet = true; m_reservedInstancesRegion = std::move(value); } + + /** + *

                The Amazon Web Services Region of the commitment.

                + */ + inline void SetReservedInstancesRegion(const char* value) { m_reservedInstancesRegionHasBeenSet = true; m_reservedInstancesRegion.assign(value); } + + /** + *

                The Amazon Web Services Region of the commitment.

                + */ + inline RedshiftReservedInstancesConfiguration& WithReservedInstancesRegion(const Aws::String& value) { SetReservedInstancesRegion(value); return *this;} + + /** + *

                The Amazon Web Services Region of the commitment.

                + */ + inline RedshiftReservedInstancesConfiguration& WithReservedInstancesRegion(Aws::String&& value) { SetReservedInstancesRegion(std::move(value)); return *this;} + + /** + *

                The Amazon Web Services Region of the commitment.

                + */ + inline RedshiftReservedInstancesConfiguration& WithReservedInstancesRegion(const char* value) { SetReservedInstancesRegion(value); return *this;} + + + /** + *

                The service that you want your recommendations for.

                + */ + inline const Aws::String& GetService() const{ return m_service; } + + /** + *

                The service that you want your recommendations for.

                + */ + inline bool ServiceHasBeenSet() const { return m_serviceHasBeenSet; } + + /** + *

                The service that you want your recommendations for.

                + */ + inline void SetService(const Aws::String& value) { m_serviceHasBeenSet = true; m_service = value; } + + /** + *

                The service that you want your recommendations for.

                + */ + inline void SetService(Aws::String&& value) { m_serviceHasBeenSet = true; m_service = std::move(value); } + + /** + *

                The service that you want your recommendations for.

                + */ + inline void SetService(const char* value) { m_serviceHasBeenSet = true; m_service.assign(value); } + + /** + *

                The service that you want your recommendations for.

                + */ + inline RedshiftReservedInstancesConfiguration& WithService(const Aws::String& value) { SetService(value); return *this;} + + /** + *

                The service that you want your recommendations for.

                + */ + inline RedshiftReservedInstancesConfiguration& WithService(Aws::String&& value) { SetService(std::move(value)); return *this;} + + /** + *

                The service that you want your recommendations for.

                + */ + inline RedshiftReservedInstancesConfiguration& WithService(const char* value) { SetService(value); return *this;} + + + /** + *

                Determines whether the recommendation is size flexible.

                + */ + inline bool GetSizeFlexEligible() const{ return m_sizeFlexEligible; } + + /** + *

                Determines whether the recommendation is size flexible.

                + */ + inline bool SizeFlexEligibleHasBeenSet() const { return m_sizeFlexEligibleHasBeenSet; } + + /** + *

                Determines whether the recommendation is size flexible.

                + */ + inline void SetSizeFlexEligible(bool value) { m_sizeFlexEligibleHasBeenSet = true; m_sizeFlexEligible = value; } + + /** + *

                Determines whether the recommendation is size flexible.

                + */ + inline RedshiftReservedInstancesConfiguration& WithSizeFlexEligible(bool value) { SetSizeFlexEligible(value); return *this;} + + + /** + *

                The reserved instances recommendation term in years.

                + */ + inline const Aws::String& GetTerm() const{ return m_term; } + + /** + *

                The reserved instances recommendation term in years.

                + */ + inline bool TermHasBeenSet() const { return m_termHasBeenSet; } + + /** + *

                The reserved instances recommendation term in years.

                + */ + inline void SetTerm(const Aws::String& value) { m_termHasBeenSet = true; m_term = value; } + + /** + *

                The reserved instances recommendation term in years.

                + */ + inline void SetTerm(Aws::String&& value) { m_termHasBeenSet = true; m_term = std::move(value); } + + /** + *

                The reserved instances recommendation term in years.

                + */ + inline void SetTerm(const char* value) { m_termHasBeenSet = true; m_term.assign(value); } + + /** + *

                The reserved instances recommendation term in years.

                + */ + inline RedshiftReservedInstancesConfiguration& WithTerm(const Aws::String& value) { SetTerm(value); return *this;} + + /** + *

                The reserved instances recommendation term in years.

                + */ + inline RedshiftReservedInstancesConfiguration& WithTerm(Aws::String&& value) { SetTerm(std::move(value)); return *this;} + + /** + *

                The reserved instances recommendation term in years.

                + */ + inline RedshiftReservedInstancesConfiguration& WithTerm(const char* value) { SetTerm(value); return *this;} + + + /** + *

                How much purchasing this instance costs you upfront.

                + */ + inline const Aws::String& GetUpfrontCost() const{ return m_upfrontCost; } + + /** + *

                How much purchasing this instance costs you upfront.

                + */ + inline bool UpfrontCostHasBeenSet() const { return m_upfrontCostHasBeenSet; } + + /** + *

                How much purchasing this instance costs you upfront.

                + */ + inline void SetUpfrontCost(const Aws::String& value) { m_upfrontCostHasBeenSet = true; m_upfrontCost = value; } + + /** + *

                How much purchasing this instance costs you upfront.

                + */ + inline void SetUpfrontCost(Aws::String&& value) { m_upfrontCostHasBeenSet = true; m_upfrontCost = std::move(value); } + + /** + *

                How much purchasing this instance costs you upfront.

                + */ + inline void SetUpfrontCost(const char* value) { m_upfrontCostHasBeenSet = true; m_upfrontCost.assign(value); } + + /** + *

                How much purchasing this instance costs you upfront.

                + */ + inline RedshiftReservedInstancesConfiguration& WithUpfrontCost(const Aws::String& value) { SetUpfrontCost(value); return *this;} + + /** + *

                How much purchasing this instance costs you upfront.

                + */ + inline RedshiftReservedInstancesConfiguration& WithUpfrontCost(Aws::String&& value) { SetUpfrontCost(std::move(value)); return *this;} + + /** + *

                How much purchasing this instance costs you upfront.

                + */ + inline RedshiftReservedInstancesConfiguration& WithUpfrontCost(const char* value) { SetUpfrontCost(value); return *this;} + + private: + + Aws::String m_accountScope; + bool m_accountScopeHasBeenSet = false; + + Aws::String m_currentGeneration; + bool m_currentGenerationHasBeenSet = false; + + Aws::String m_instanceFamily; + bool m_instanceFamilyHasBeenSet = false; + + Aws::String m_instanceType; + bool m_instanceTypeHasBeenSet = false; + + Aws::String m_monthlyRecurringCost; + bool m_monthlyRecurringCostHasBeenSet = false; + + Aws::String m_normalizedUnitsToPurchase; + bool m_normalizedUnitsToPurchaseHasBeenSet = false; + + Aws::String m_numberOfInstancesToPurchase; + bool m_numberOfInstancesToPurchaseHasBeenSet = false; + + Aws::String m_paymentOption; + bool m_paymentOptionHasBeenSet = false; + + Aws::String m_reservedInstancesRegion; + bool m_reservedInstancesRegionHasBeenSet = false; + + Aws::String m_service; + bool m_serviceHasBeenSet = false; + + bool m_sizeFlexEligible; + bool m_sizeFlexEligibleHasBeenSet = false; + + Aws::String m_term; + bool m_termHasBeenSet = false; + + Aws::String m_upfrontCost; + bool m_upfrontCostHasBeenSet = false; + }; + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/ReservedInstancesCostCalculation.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/ReservedInstancesCostCalculation.h new file mode 100644 index 00000000000..707409c8d32 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/ReservedInstancesCostCalculation.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 CostOptimizationHub +{ +namespace Model +{ + + /** + *

                Cost impact of the purchase recommendation.

                See Also:

                AWS + * API Reference

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

                Pricing details of the purchase recommendation.

                + */ + inline const ReservedInstancesPricing& GetPricing() const{ return m_pricing; } + + /** + *

                Pricing details of the purchase recommendation.

                + */ + inline bool PricingHasBeenSet() const { return m_pricingHasBeenSet; } + + /** + *

                Pricing details of the purchase recommendation.

                + */ + inline void SetPricing(const ReservedInstancesPricing& value) { m_pricingHasBeenSet = true; m_pricing = value; } + + /** + *

                Pricing details of the purchase recommendation.

                + */ + inline void SetPricing(ReservedInstancesPricing&& value) { m_pricingHasBeenSet = true; m_pricing = std::move(value); } + + /** + *

                Pricing details of the purchase recommendation.

                + */ + inline ReservedInstancesCostCalculation& WithPricing(const ReservedInstancesPricing& value) { SetPricing(value); return *this;} + + /** + *

                Pricing details of the purchase recommendation.

                + */ + inline ReservedInstancesCostCalculation& WithPricing(ReservedInstancesPricing&& value) { SetPricing(std::move(value)); return *this;} + + private: + + ReservedInstancesPricing m_pricing; + bool m_pricingHasBeenSet = false; + }; + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/ReservedInstancesPricing.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/ReservedInstancesPricing.h new file mode 100644 index 00000000000..fe0955fa2ac --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/ReservedInstancesPricing.h @@ -0,0 +1,151 @@ +/** + * 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 CostOptimizationHub +{ +namespace Model +{ + + /** + *

                Pricing details for your recommended reserved instance.

                See + * Also:

                AWS + * API Reference

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

                The estimated cost of your recurring monthly fees for the recommended + * reserved instance across the month.

                + */ + inline double GetEstimatedMonthlyAmortizedReservationCost() const{ return m_estimatedMonthlyAmortizedReservationCost; } + + /** + *

                The estimated cost of your recurring monthly fees for the recommended + * reserved instance across the month.

                + */ + inline bool EstimatedMonthlyAmortizedReservationCostHasBeenSet() const { return m_estimatedMonthlyAmortizedReservationCostHasBeenSet; } + + /** + *

                The estimated cost of your recurring monthly fees for the recommended + * reserved instance across the month.

                + */ + inline void SetEstimatedMonthlyAmortizedReservationCost(double value) { m_estimatedMonthlyAmortizedReservationCostHasBeenSet = true; m_estimatedMonthlyAmortizedReservationCost = value; } + + /** + *

                The estimated cost of your recurring monthly fees for the recommended + * reserved instance across the month.

                + */ + inline ReservedInstancesPricing& WithEstimatedMonthlyAmortizedReservationCost(double value) { SetEstimatedMonthlyAmortizedReservationCost(value); return *this;} + + + /** + *

                The remaining On-Demand cost estimated to not be covered by the recommended + * reserved instance, over the length of the lookback period.

                + */ + inline double GetEstimatedOnDemandCost() const{ return m_estimatedOnDemandCost; } + + /** + *

                The remaining On-Demand cost estimated to not be covered by the recommended + * reserved instance, over the length of the lookback period.

                + */ + inline bool EstimatedOnDemandCostHasBeenSet() const { return m_estimatedOnDemandCostHasBeenSet; } + + /** + *

                The remaining On-Demand cost estimated to not be covered by the recommended + * reserved instance, over the length of the lookback period.

                + */ + inline void SetEstimatedOnDemandCost(double value) { m_estimatedOnDemandCostHasBeenSet = true; m_estimatedOnDemandCost = value; } + + /** + *

                The remaining On-Demand cost estimated to not be covered by the recommended + * reserved instance, over the length of the lookback period.

                + */ + inline ReservedInstancesPricing& WithEstimatedOnDemandCost(double value) { SetEstimatedOnDemandCost(value); return *this;} + + + /** + *

                The cost of paying for the recommended reserved instance monthly.

                + */ + inline double GetMonthlyReservationEligibleCost() const{ return m_monthlyReservationEligibleCost; } + + /** + *

                The cost of paying for the recommended reserved instance monthly.

                + */ + inline bool MonthlyReservationEligibleCostHasBeenSet() const { return m_monthlyReservationEligibleCostHasBeenSet; } + + /** + *

                The cost of paying for the recommended reserved instance monthly.

                + */ + inline void SetMonthlyReservationEligibleCost(double value) { m_monthlyReservationEligibleCostHasBeenSet = true; m_monthlyReservationEligibleCost = value; } + + /** + *

                The cost of paying for the recommended reserved instance monthly.

                + */ + inline ReservedInstancesPricing& WithMonthlyReservationEligibleCost(double value) { SetMonthlyReservationEligibleCost(value); return *this;} + + + /** + *

                The savings percentage relative to the total On-Demand costs that are + * associated with this instance.

                + */ + inline double GetSavingsPercentage() const{ return m_savingsPercentage; } + + /** + *

                The savings percentage relative to the total On-Demand costs that are + * associated with this instance.

                + */ + inline bool SavingsPercentageHasBeenSet() const { return m_savingsPercentageHasBeenSet; } + + /** + *

                The savings percentage relative to the total On-Demand costs that are + * associated with this instance.

                + */ + inline void SetSavingsPercentage(double value) { m_savingsPercentageHasBeenSet = true; m_savingsPercentage = value; } + + /** + *

                The savings percentage relative to the total On-Demand costs that are + * associated with this instance.

                + */ + inline ReservedInstancesPricing& WithSavingsPercentage(double value) { SetSavingsPercentage(value); return *this;} + + private: + + double m_estimatedMonthlyAmortizedReservationCost; + bool m_estimatedMonthlyAmortizedReservationCostHasBeenSet = false; + + double m_estimatedOnDemandCost; + bool m_estimatedOnDemandCostHasBeenSet = false; + + double m_monthlyReservationEligibleCost; + bool m_monthlyReservationEligibleCostHasBeenSet = false; + + double m_savingsPercentage; + bool m_savingsPercentageHasBeenSet = false; + }; + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/ResourceCostCalculation.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/ResourceCostCalculation.h new file mode 100644 index 00000000000..835f122286c --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/ResourceCostCalculation.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 +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace CostOptimizationHub +{ +namespace Model +{ + + /** + *

                Cost impact of the resource recommendation.

                See Also:

                AWS + * API Reference

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

                Pricing details of the resource recommendation.

                + */ + inline const ResourcePricing& GetPricing() const{ return m_pricing; } + + /** + *

                Pricing details of the resource recommendation.

                + */ + inline bool PricingHasBeenSet() const { return m_pricingHasBeenSet; } + + /** + *

                Pricing details of the resource recommendation.

                + */ + inline void SetPricing(const ResourcePricing& value) { m_pricingHasBeenSet = true; m_pricing = value; } + + /** + *

                Pricing details of the resource recommendation.

                + */ + inline void SetPricing(ResourcePricing&& value) { m_pricingHasBeenSet = true; m_pricing = std::move(value); } + + /** + *

                Pricing details of the resource recommendation.

                + */ + inline ResourceCostCalculation& WithPricing(const ResourcePricing& value) { SetPricing(value); return *this;} + + /** + *

                Pricing details of the resource recommendation.

                + */ + inline ResourceCostCalculation& WithPricing(ResourcePricing&& value) { SetPricing(std::move(value)); return *this;} + + + /** + *

                Usage details of the resource recommendation.

                + */ + inline const Aws::Vector& GetUsages() const{ return m_usages; } + + /** + *

                Usage details of the resource recommendation.

                + */ + inline bool UsagesHasBeenSet() const { return m_usagesHasBeenSet; } + + /** + *

                Usage details of the resource recommendation.

                + */ + inline void SetUsages(const Aws::Vector& value) { m_usagesHasBeenSet = true; m_usages = value; } + + /** + *

                Usage details of the resource recommendation.

                + */ + inline void SetUsages(Aws::Vector&& value) { m_usagesHasBeenSet = true; m_usages = std::move(value); } + + /** + *

                Usage details of the resource recommendation.

                + */ + inline ResourceCostCalculation& WithUsages(const Aws::Vector& value) { SetUsages(value); return *this;} + + /** + *

                Usage details of the resource recommendation.

                + */ + inline ResourceCostCalculation& WithUsages(Aws::Vector&& value) { SetUsages(std::move(value)); return *this;} + + /** + *

                Usage details of the resource recommendation.

                + */ + inline ResourceCostCalculation& AddUsages(const Usage& value) { m_usagesHasBeenSet = true; m_usages.push_back(value); return *this; } + + /** + *

                Usage details of the resource recommendation.

                + */ + inline ResourceCostCalculation& AddUsages(Usage&& value) { m_usagesHasBeenSet = true; m_usages.push_back(std::move(value)); return *this; } + + private: + + ResourcePricing m_pricing; + bool m_pricingHasBeenSet = false; + + Aws::Vector m_usages; + bool m_usagesHasBeenSet = false; + }; + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/ResourceDetails.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/ResourceDetails.h new file mode 100644 index 00000000000..d2b12ee4f83 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/ResourceDetails.h @@ -0,0 +1,499 @@ +/** + * 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 +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace CostOptimizationHub +{ +namespace Model +{ + + /** + *

                Contains detailed information about the specified resource.

                See + * Also:

                AWS + * API Reference

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

                The Compute Savings Plans recommendation details.

                + */ + inline const ComputeSavingsPlans& GetComputeSavingsPlans() const{ return m_computeSavingsPlans; } + + /** + *

                The Compute Savings Plans recommendation details.

                + */ + inline bool ComputeSavingsPlansHasBeenSet() const { return m_computeSavingsPlansHasBeenSet; } + + /** + *

                The Compute Savings Plans recommendation details.

                + */ + inline void SetComputeSavingsPlans(const ComputeSavingsPlans& value) { m_computeSavingsPlansHasBeenSet = true; m_computeSavingsPlans = value; } + + /** + *

                The Compute Savings Plans recommendation details.

                + */ + inline void SetComputeSavingsPlans(ComputeSavingsPlans&& value) { m_computeSavingsPlansHasBeenSet = true; m_computeSavingsPlans = std::move(value); } + + /** + *

                The Compute Savings Plans recommendation details.

                + */ + inline ResourceDetails& WithComputeSavingsPlans(const ComputeSavingsPlans& value) { SetComputeSavingsPlans(value); return *this;} + + /** + *

                The Compute Savings Plans recommendation details.

                + */ + inline ResourceDetails& WithComputeSavingsPlans(ComputeSavingsPlans&& value) { SetComputeSavingsPlans(std::move(value)); return *this;} + + + /** + *

                The Amazon Elastic Block Store volume recommendation details.

                + */ + inline const EbsVolume& GetEbsVolume() const{ return m_ebsVolume; } + + /** + *

                The Amazon Elastic Block Store volume recommendation details.

                + */ + inline bool EbsVolumeHasBeenSet() const { return m_ebsVolumeHasBeenSet; } + + /** + *

                The Amazon Elastic Block Store volume recommendation details.

                + */ + inline void SetEbsVolume(const EbsVolume& value) { m_ebsVolumeHasBeenSet = true; m_ebsVolume = value; } + + /** + *

                The Amazon Elastic Block Store volume recommendation details.

                + */ + inline void SetEbsVolume(EbsVolume&& value) { m_ebsVolumeHasBeenSet = true; m_ebsVolume = std::move(value); } + + /** + *

                The Amazon Elastic Block Store volume recommendation details.

                + */ + inline ResourceDetails& WithEbsVolume(const EbsVolume& value) { SetEbsVolume(value); return *this;} + + /** + *

                The Amazon Elastic Block Store volume recommendation details.

                + */ + inline ResourceDetails& WithEbsVolume(EbsVolume&& value) { SetEbsVolume(std::move(value)); return *this;} + + + /** + *

                The EC2 Auto Scaling group recommendation details.

                + */ + inline const Ec2AutoScalingGroup& GetEc2AutoScalingGroup() const{ return m_ec2AutoScalingGroup; } + + /** + *

                The EC2 Auto Scaling group recommendation details.

                + */ + inline bool Ec2AutoScalingGroupHasBeenSet() const { return m_ec2AutoScalingGroupHasBeenSet; } + + /** + *

                The EC2 Auto Scaling group recommendation details.

                + */ + inline void SetEc2AutoScalingGroup(const Ec2AutoScalingGroup& value) { m_ec2AutoScalingGroupHasBeenSet = true; m_ec2AutoScalingGroup = value; } + + /** + *

                The EC2 Auto Scaling group recommendation details.

                + */ + inline void SetEc2AutoScalingGroup(Ec2AutoScalingGroup&& value) { m_ec2AutoScalingGroupHasBeenSet = true; m_ec2AutoScalingGroup = std::move(value); } + + /** + *

                The EC2 Auto Scaling group recommendation details.

                + */ + inline ResourceDetails& WithEc2AutoScalingGroup(const Ec2AutoScalingGroup& value) { SetEc2AutoScalingGroup(value); return *this;} + + /** + *

                The EC2 Auto Scaling group recommendation details.

                + */ + inline ResourceDetails& WithEc2AutoScalingGroup(Ec2AutoScalingGroup&& value) { SetEc2AutoScalingGroup(std::move(value)); return *this;} + + + /** + *

                The EC2 instance recommendation details.

                + */ + inline const Ec2Instance& GetEc2Instance() const{ return m_ec2Instance; } + + /** + *

                The EC2 instance recommendation details.

                + */ + inline bool Ec2InstanceHasBeenSet() const { return m_ec2InstanceHasBeenSet; } + + /** + *

                The EC2 instance recommendation details.

                + */ + inline void SetEc2Instance(const Ec2Instance& value) { m_ec2InstanceHasBeenSet = true; m_ec2Instance = value; } + + /** + *

                The EC2 instance recommendation details.

                + */ + inline void SetEc2Instance(Ec2Instance&& value) { m_ec2InstanceHasBeenSet = true; m_ec2Instance = std::move(value); } + + /** + *

                The EC2 instance recommendation details.

                + */ + inline ResourceDetails& WithEc2Instance(const Ec2Instance& value) { SetEc2Instance(value); return *this;} + + /** + *

                The EC2 instance recommendation details.

                + */ + inline ResourceDetails& WithEc2Instance(Ec2Instance&& value) { SetEc2Instance(std::move(value)); return *this;} + + + /** + *

                The EC2 instance Savings Plans recommendation details.

                + */ + inline const Ec2InstanceSavingsPlans& GetEc2InstanceSavingsPlans() const{ return m_ec2InstanceSavingsPlans; } + + /** + *

                The EC2 instance Savings Plans recommendation details.

                + */ + inline bool Ec2InstanceSavingsPlansHasBeenSet() const { return m_ec2InstanceSavingsPlansHasBeenSet; } + + /** + *

                The EC2 instance Savings Plans recommendation details.

                + */ + inline void SetEc2InstanceSavingsPlans(const Ec2InstanceSavingsPlans& value) { m_ec2InstanceSavingsPlansHasBeenSet = true; m_ec2InstanceSavingsPlans = value; } + + /** + *

                The EC2 instance Savings Plans recommendation details.

                + */ + inline void SetEc2InstanceSavingsPlans(Ec2InstanceSavingsPlans&& value) { m_ec2InstanceSavingsPlansHasBeenSet = true; m_ec2InstanceSavingsPlans = std::move(value); } + + /** + *

                The EC2 instance Savings Plans recommendation details.

                + */ + inline ResourceDetails& WithEc2InstanceSavingsPlans(const Ec2InstanceSavingsPlans& value) { SetEc2InstanceSavingsPlans(value); return *this;} + + /** + *

                The EC2 instance Savings Plans recommendation details.

                + */ + inline ResourceDetails& WithEc2InstanceSavingsPlans(Ec2InstanceSavingsPlans&& value) { SetEc2InstanceSavingsPlans(std::move(value)); return *this;} + + + /** + *

                The EC2 reserved instances recommendation details.

                + */ + inline const Ec2ReservedInstances& GetEc2ReservedInstances() const{ return m_ec2ReservedInstances; } + + /** + *

                The EC2 reserved instances recommendation details.

                + */ + inline bool Ec2ReservedInstancesHasBeenSet() const { return m_ec2ReservedInstancesHasBeenSet; } + + /** + *

                The EC2 reserved instances recommendation details.

                + */ + inline void SetEc2ReservedInstances(const Ec2ReservedInstances& value) { m_ec2ReservedInstancesHasBeenSet = true; m_ec2ReservedInstances = value; } + + /** + *

                The EC2 reserved instances recommendation details.

                + */ + inline void SetEc2ReservedInstances(Ec2ReservedInstances&& value) { m_ec2ReservedInstancesHasBeenSet = true; m_ec2ReservedInstances = std::move(value); } + + /** + *

                The EC2 reserved instances recommendation details.

                + */ + inline ResourceDetails& WithEc2ReservedInstances(const Ec2ReservedInstances& value) { SetEc2ReservedInstances(value); return *this;} + + /** + *

                The EC2 reserved instances recommendation details.

                + */ + inline ResourceDetails& WithEc2ReservedInstances(Ec2ReservedInstances&& value) { SetEc2ReservedInstances(std::move(value)); return *this;} + + + /** + *

                The ECS service recommendation details.

                + */ + inline const EcsService& GetEcsService() const{ return m_ecsService; } + + /** + *

                The ECS service recommendation details.

                + */ + inline bool EcsServiceHasBeenSet() const { return m_ecsServiceHasBeenSet; } + + /** + *

                The ECS service recommendation details.

                + */ + inline void SetEcsService(const EcsService& value) { m_ecsServiceHasBeenSet = true; m_ecsService = value; } + + /** + *

                The ECS service recommendation details.

                + */ + inline void SetEcsService(EcsService&& value) { m_ecsServiceHasBeenSet = true; m_ecsService = std::move(value); } + + /** + *

                The ECS service recommendation details.

                + */ + inline ResourceDetails& WithEcsService(const EcsService& value) { SetEcsService(value); return *this;} + + /** + *

                The ECS service recommendation details.

                + */ + inline ResourceDetails& WithEcsService(EcsService&& value) { SetEcsService(std::move(value)); return *this;} + + + /** + *

                The ElastiCache reserved instances recommendation details.

                + */ + inline const ElastiCacheReservedInstances& GetElastiCacheReservedInstances() const{ return m_elastiCacheReservedInstances; } + + /** + *

                The ElastiCache reserved instances recommendation details.

                + */ + inline bool ElastiCacheReservedInstancesHasBeenSet() const { return m_elastiCacheReservedInstancesHasBeenSet; } + + /** + *

                The ElastiCache reserved instances recommendation details.

                + */ + inline void SetElastiCacheReservedInstances(const ElastiCacheReservedInstances& value) { m_elastiCacheReservedInstancesHasBeenSet = true; m_elastiCacheReservedInstances = value; } + + /** + *

                The ElastiCache reserved instances recommendation details.

                + */ + inline void SetElastiCacheReservedInstances(ElastiCacheReservedInstances&& value) { m_elastiCacheReservedInstancesHasBeenSet = true; m_elastiCacheReservedInstances = std::move(value); } + + /** + *

                The ElastiCache reserved instances recommendation details.

                + */ + inline ResourceDetails& WithElastiCacheReservedInstances(const ElastiCacheReservedInstances& value) { SetElastiCacheReservedInstances(value); return *this;} + + /** + *

                The ElastiCache reserved instances recommendation details.

                + */ + inline ResourceDetails& WithElastiCacheReservedInstances(ElastiCacheReservedInstances&& value) { SetElastiCacheReservedInstances(std::move(value)); return *this;} + + + /** + *

                The Lambda function recommendation details.

                + */ + inline const LambdaFunction& GetLambdaFunction() const{ return m_lambdaFunction; } + + /** + *

                The Lambda function recommendation details.

                + */ + inline bool LambdaFunctionHasBeenSet() const { return m_lambdaFunctionHasBeenSet; } + + /** + *

                The Lambda function recommendation details.

                + */ + inline void SetLambdaFunction(const LambdaFunction& value) { m_lambdaFunctionHasBeenSet = true; m_lambdaFunction = value; } + + /** + *

                The Lambda function recommendation details.

                + */ + inline void SetLambdaFunction(LambdaFunction&& value) { m_lambdaFunctionHasBeenSet = true; m_lambdaFunction = std::move(value); } + + /** + *

                The Lambda function recommendation details.

                + */ + inline ResourceDetails& WithLambdaFunction(const LambdaFunction& value) { SetLambdaFunction(value); return *this;} + + /** + *

                The Lambda function recommendation details.

                + */ + inline ResourceDetails& WithLambdaFunction(LambdaFunction&& value) { SetLambdaFunction(std::move(value)); return *this;} + + + /** + *

                The OpenSearch reserved instances recommendation details.

                + */ + inline const OpenSearchReservedInstances& GetOpenSearchReservedInstances() const{ return m_openSearchReservedInstances; } + + /** + *

                The OpenSearch reserved instances recommendation details.

                + */ + inline bool OpenSearchReservedInstancesHasBeenSet() const { return m_openSearchReservedInstancesHasBeenSet; } + + /** + *

                The OpenSearch reserved instances recommendation details.

                + */ + inline void SetOpenSearchReservedInstances(const OpenSearchReservedInstances& value) { m_openSearchReservedInstancesHasBeenSet = true; m_openSearchReservedInstances = value; } + + /** + *

                The OpenSearch reserved instances recommendation details.

                + */ + inline void SetOpenSearchReservedInstances(OpenSearchReservedInstances&& value) { m_openSearchReservedInstancesHasBeenSet = true; m_openSearchReservedInstances = std::move(value); } + + /** + *

                The OpenSearch reserved instances recommendation details.

                + */ + inline ResourceDetails& WithOpenSearchReservedInstances(const OpenSearchReservedInstances& value) { SetOpenSearchReservedInstances(value); return *this;} + + /** + *

                The OpenSearch reserved instances recommendation details.

                + */ + inline ResourceDetails& WithOpenSearchReservedInstances(OpenSearchReservedInstances&& value) { SetOpenSearchReservedInstances(std::move(value)); return *this;} + + + /** + *

                The RDS reserved instances recommendation details.

                + */ + inline const RdsReservedInstances& GetRdsReservedInstances() const{ return m_rdsReservedInstances; } + + /** + *

                The RDS reserved instances recommendation details.

                + */ + inline bool RdsReservedInstancesHasBeenSet() const { return m_rdsReservedInstancesHasBeenSet; } + + /** + *

                The RDS reserved instances recommendation details.

                + */ + inline void SetRdsReservedInstances(const RdsReservedInstances& value) { m_rdsReservedInstancesHasBeenSet = true; m_rdsReservedInstances = value; } + + /** + *

                The RDS reserved instances recommendation details.

                + */ + inline void SetRdsReservedInstances(RdsReservedInstances&& value) { m_rdsReservedInstancesHasBeenSet = true; m_rdsReservedInstances = std::move(value); } + + /** + *

                The RDS reserved instances recommendation details.

                + */ + inline ResourceDetails& WithRdsReservedInstances(const RdsReservedInstances& value) { SetRdsReservedInstances(value); return *this;} + + /** + *

                The RDS reserved instances recommendation details.

                + */ + inline ResourceDetails& WithRdsReservedInstances(RdsReservedInstances&& value) { SetRdsReservedInstances(std::move(value)); return *this;} + + + /** + *

                The Redshift reserved instances recommendation details.

                + */ + inline const RedshiftReservedInstances& GetRedshiftReservedInstances() const{ return m_redshiftReservedInstances; } + + /** + *

                The Redshift reserved instances recommendation details.

                + */ + inline bool RedshiftReservedInstancesHasBeenSet() const { return m_redshiftReservedInstancesHasBeenSet; } + + /** + *

                The Redshift reserved instances recommendation details.

                + */ + inline void SetRedshiftReservedInstances(const RedshiftReservedInstances& value) { m_redshiftReservedInstancesHasBeenSet = true; m_redshiftReservedInstances = value; } + + /** + *

                The Redshift reserved instances recommendation details.

                + */ + inline void SetRedshiftReservedInstances(RedshiftReservedInstances&& value) { m_redshiftReservedInstancesHasBeenSet = true; m_redshiftReservedInstances = std::move(value); } + + /** + *

                The Redshift reserved instances recommendation details.

                + */ + inline ResourceDetails& WithRedshiftReservedInstances(const RedshiftReservedInstances& value) { SetRedshiftReservedInstances(value); return *this;} + + /** + *

                The Redshift reserved instances recommendation details.

                + */ + inline ResourceDetails& WithRedshiftReservedInstances(RedshiftReservedInstances&& value) { SetRedshiftReservedInstances(std::move(value)); return *this;} + + + /** + *

                The SageMaker Savings Plans recommendation details.

                + */ + inline const SageMakerSavingsPlans& GetSageMakerSavingsPlans() const{ return m_sageMakerSavingsPlans; } + + /** + *

                The SageMaker Savings Plans recommendation details.

                + */ + inline bool SageMakerSavingsPlansHasBeenSet() const { return m_sageMakerSavingsPlansHasBeenSet; } + + /** + *

                The SageMaker Savings Plans recommendation details.

                + */ + inline void SetSageMakerSavingsPlans(const SageMakerSavingsPlans& value) { m_sageMakerSavingsPlansHasBeenSet = true; m_sageMakerSavingsPlans = value; } + + /** + *

                The SageMaker Savings Plans recommendation details.

                + */ + inline void SetSageMakerSavingsPlans(SageMakerSavingsPlans&& value) { m_sageMakerSavingsPlansHasBeenSet = true; m_sageMakerSavingsPlans = std::move(value); } + + /** + *

                The SageMaker Savings Plans recommendation details.

                + */ + inline ResourceDetails& WithSageMakerSavingsPlans(const SageMakerSavingsPlans& value) { SetSageMakerSavingsPlans(value); return *this;} + + /** + *

                The SageMaker Savings Plans recommendation details.

                + */ + inline ResourceDetails& WithSageMakerSavingsPlans(SageMakerSavingsPlans&& value) { SetSageMakerSavingsPlans(std::move(value)); return *this;} + + private: + + ComputeSavingsPlans m_computeSavingsPlans; + bool m_computeSavingsPlansHasBeenSet = false; + + EbsVolume m_ebsVolume; + bool m_ebsVolumeHasBeenSet = false; + + Ec2AutoScalingGroup m_ec2AutoScalingGroup; + bool m_ec2AutoScalingGroupHasBeenSet = false; + + Ec2Instance m_ec2Instance; + bool m_ec2InstanceHasBeenSet = false; + + Ec2InstanceSavingsPlans m_ec2InstanceSavingsPlans; + bool m_ec2InstanceSavingsPlansHasBeenSet = false; + + Ec2ReservedInstances m_ec2ReservedInstances; + bool m_ec2ReservedInstancesHasBeenSet = false; + + EcsService m_ecsService; + bool m_ecsServiceHasBeenSet = false; + + ElastiCacheReservedInstances m_elastiCacheReservedInstances; + bool m_elastiCacheReservedInstancesHasBeenSet = false; + + LambdaFunction m_lambdaFunction; + bool m_lambdaFunctionHasBeenSet = false; + + OpenSearchReservedInstances m_openSearchReservedInstances; + bool m_openSearchReservedInstancesHasBeenSet = false; + + RdsReservedInstances m_rdsReservedInstances; + bool m_rdsReservedInstancesHasBeenSet = false; + + RedshiftReservedInstances m_redshiftReservedInstances; + bool m_redshiftReservedInstancesHasBeenSet = false; + + SageMakerSavingsPlans m_sageMakerSavingsPlans; + bool m_sageMakerSavingsPlansHasBeenSet = false; + }; + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/ResourceNotFoundException.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/ResourceNotFoundException.h new file mode 100644 index 00000000000..0e1e89ad354 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/ResourceNotFoundException.h @@ -0,0 +1,117 @@ +/** + * 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 CostOptimizationHub +{ +namespace Model +{ + + /** + *

                The specified Amazon Resource Name (ARN) in the request doesn't + * exist.

                See Also:

                AWS + * API Reference

                + */ + class ResourceNotFoundException + { + public: + AWS_COSTOPTIMIZATIONHUB_API ResourceNotFoundException(); + AWS_COSTOPTIMIZATIONHUB_API ResourceNotFoundException(Aws::Utils::Json::JsonView jsonValue); + AWS_COSTOPTIMIZATIONHUB_API ResourceNotFoundException& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_COSTOPTIMIZATIONHUB_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 ResourceNotFoundException& WithMessage(const Aws::String& value) { SetMessage(value); return *this;} + + + inline ResourceNotFoundException& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;} + + + inline ResourceNotFoundException& WithMessage(const char* value) { SetMessage(value); return *this;} + + + /** + *

                The identifier of the resource that was not found.

                + */ + inline const Aws::String& GetResourceId() const{ return m_resourceId; } + + /** + *

                The identifier of the resource that was not found.

                + */ + inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; } + + /** + *

                The identifier of the resource that was not found.

                + */ + inline void SetResourceId(const Aws::String& value) { m_resourceIdHasBeenSet = true; m_resourceId = value; } + + /** + *

                The identifier of the resource that was not found.

                + */ + inline void SetResourceId(Aws::String&& value) { m_resourceIdHasBeenSet = true; m_resourceId = std::move(value); } + + /** + *

                The identifier of the resource that was not found.

                + */ + inline void SetResourceId(const char* value) { m_resourceIdHasBeenSet = true; m_resourceId.assign(value); } + + /** + *

                The identifier of the resource that was not found.

                + */ + inline ResourceNotFoundException& WithResourceId(const Aws::String& value) { SetResourceId(value); return *this;} + + /** + *

                The identifier of the resource that was not found.

                + */ + inline ResourceNotFoundException& WithResourceId(Aws::String&& value) { SetResourceId(std::move(value)); return *this;} + + /** + *

                The identifier of the resource that was not found.

                + */ + inline ResourceNotFoundException& WithResourceId(const char* value) { SetResourceId(value); return *this;} + + private: + + Aws::String m_message; + bool m_messageHasBeenSet = false; + + Aws::String m_resourceId; + bool m_resourceIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/ResourcePricing.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/ResourcePricing.h new file mode 100644 index 00000000000..41a55f7ea94 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/ResourcePricing.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 + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace CostOptimizationHub +{ +namespace Model +{ + + /** + *

                Contains pricing information about the specified resource.

                See + * Also:

                AWS + * API Reference

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

                The savings estimate incorporating all discounts with Amazon Web Services, + * such as Reserved Instances and Savings Plans.

                + */ + inline double GetEstimatedCostAfterDiscounts() const{ return m_estimatedCostAfterDiscounts; } + + /** + *

                The savings estimate incorporating all discounts with Amazon Web Services, + * such as Reserved Instances and Savings Plans.

                + */ + inline bool EstimatedCostAfterDiscountsHasBeenSet() const { return m_estimatedCostAfterDiscountsHasBeenSet; } + + /** + *

                The savings estimate incorporating all discounts with Amazon Web Services, + * such as Reserved Instances and Savings Plans.

                + */ + inline void SetEstimatedCostAfterDiscounts(double value) { m_estimatedCostAfterDiscountsHasBeenSet = true; m_estimatedCostAfterDiscounts = value; } + + /** + *

                The savings estimate incorporating all discounts with Amazon Web Services, + * such as Reserved Instances and Savings Plans.

                + */ + inline ResourcePricing& WithEstimatedCostAfterDiscounts(double value) { SetEstimatedCostAfterDiscounts(value); return *this;} + + + /** + *

                The savings estimate using Amazon Web Services public pricing without + * incorporating any discounts.

                + */ + inline double GetEstimatedCostBeforeDiscounts() const{ return m_estimatedCostBeforeDiscounts; } + + /** + *

                The savings estimate using Amazon Web Services public pricing without + * incorporating any discounts.

                + */ + inline bool EstimatedCostBeforeDiscountsHasBeenSet() const { return m_estimatedCostBeforeDiscountsHasBeenSet; } + + /** + *

                The savings estimate using Amazon Web Services public pricing without + * incorporating any discounts.

                + */ + inline void SetEstimatedCostBeforeDiscounts(double value) { m_estimatedCostBeforeDiscountsHasBeenSet = true; m_estimatedCostBeforeDiscounts = value; } + + /** + *

                The savings estimate using Amazon Web Services public pricing without + * incorporating any discounts.

                + */ + inline ResourcePricing& WithEstimatedCostBeforeDiscounts(double value) { SetEstimatedCostBeforeDiscounts(value); return *this;} + + + /** + *

                The estimated discounts for a recommendation.

                + */ + inline const EstimatedDiscounts& GetEstimatedDiscounts() const{ return m_estimatedDiscounts; } + + /** + *

                The estimated discounts for a recommendation.

                + */ + inline bool EstimatedDiscountsHasBeenSet() const { return m_estimatedDiscountsHasBeenSet; } + + /** + *

                The estimated discounts for a recommendation.

                + */ + inline void SetEstimatedDiscounts(const EstimatedDiscounts& value) { m_estimatedDiscountsHasBeenSet = true; m_estimatedDiscounts = value; } + + /** + *

                The estimated discounts for a recommendation.

                + */ + inline void SetEstimatedDiscounts(EstimatedDiscounts&& value) { m_estimatedDiscountsHasBeenSet = true; m_estimatedDiscounts = std::move(value); } + + /** + *

                The estimated discounts for a recommendation.

                + */ + inline ResourcePricing& WithEstimatedDiscounts(const EstimatedDiscounts& value) { SetEstimatedDiscounts(value); return *this;} + + /** + *

                The estimated discounts for a recommendation.

                + */ + inline ResourcePricing& WithEstimatedDiscounts(EstimatedDiscounts&& value) { SetEstimatedDiscounts(std::move(value)); return *this;} + + + /** + *

                The estimated net unused amortized commitment for the recommendation.

                + */ + inline double GetEstimatedNetUnusedAmortizedCommitments() const{ return m_estimatedNetUnusedAmortizedCommitments; } + + /** + *

                The estimated net unused amortized commitment for the recommendation.

                + */ + inline bool EstimatedNetUnusedAmortizedCommitmentsHasBeenSet() const { return m_estimatedNetUnusedAmortizedCommitmentsHasBeenSet; } + + /** + *

                The estimated net unused amortized commitment for the recommendation.

                + */ + inline void SetEstimatedNetUnusedAmortizedCommitments(double value) { m_estimatedNetUnusedAmortizedCommitmentsHasBeenSet = true; m_estimatedNetUnusedAmortizedCommitments = value; } + + /** + *

                The estimated net unused amortized commitment for the recommendation.

                + */ + inline ResourcePricing& WithEstimatedNetUnusedAmortizedCommitments(double value) { SetEstimatedNetUnusedAmortizedCommitments(value); return *this;} + + private: + + double m_estimatedCostAfterDiscounts; + bool m_estimatedCostAfterDiscountsHasBeenSet = false; + + double m_estimatedCostBeforeDiscounts; + bool m_estimatedCostBeforeDiscountsHasBeenSet = false; + + EstimatedDiscounts m_estimatedDiscounts; + bool m_estimatedDiscountsHasBeenSet = false; + + double m_estimatedNetUnusedAmortizedCommitments; + bool m_estimatedNetUnusedAmortizedCommitmentsHasBeenSet = false; + }; + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/ResourceType.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/ResourceType.h new file mode 100644 index 00000000000..31a0d76b1f6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/ResourceType.h @@ -0,0 +1,42 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace CostOptimizationHub +{ +namespace Model +{ + enum class ResourceType + { + NOT_SET, + Ec2Instance, + LambdaFunction, + EbsVolume, + EcsService, + Ec2AutoScalingGroup, + Ec2InstanceSavingsPlans, + ComputeSavingsPlans, + SageMakerSavingsPlans, + Ec2ReservedInstances, + RdsReservedInstances, + OpenSearchReservedInstances, + RedshiftReservedInstances, + ElastiCacheReservedInstances + }; + +namespace ResourceTypeMapper +{ +AWS_COSTOPTIMIZATIONHUB_API ResourceType GetResourceTypeForName(const Aws::String& name); + +AWS_COSTOPTIMIZATIONHUB_API Aws::String GetNameForResourceType(ResourceType value); +} // namespace ResourceTypeMapper +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/SageMakerSavingsPlans.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/SageMakerSavingsPlans.h new file mode 100644 index 00000000000..a2231344ac3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/SageMakerSavingsPlans.h @@ -0,0 +1,114 @@ +/** + * 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 CostOptimizationHub +{ +namespace Model +{ + + /** + *

                The SageMaker Savings Plans recommendation details.

                See Also:

                + * AWS + * API Reference

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

                The SageMaker Savings Plans configuration used for recommendations.

                + */ + inline const SageMakerSavingsPlansConfiguration& GetConfiguration() const{ return m_configuration; } + + /** + *

                The SageMaker Savings Plans configuration used for recommendations.

                + */ + inline bool ConfigurationHasBeenSet() const { return m_configurationHasBeenSet; } + + /** + *

                The SageMaker Savings Plans configuration used for recommendations.

                + */ + inline void SetConfiguration(const SageMakerSavingsPlansConfiguration& value) { m_configurationHasBeenSet = true; m_configuration = value; } + + /** + *

                The SageMaker Savings Plans configuration used for recommendations.

                + */ + inline void SetConfiguration(SageMakerSavingsPlansConfiguration&& value) { m_configurationHasBeenSet = true; m_configuration = std::move(value); } + + /** + *

                The SageMaker Savings Plans configuration used for recommendations.

                + */ + inline SageMakerSavingsPlans& WithConfiguration(const SageMakerSavingsPlansConfiguration& value) { SetConfiguration(value); return *this;} + + /** + *

                The SageMaker Savings Plans configuration used for recommendations.

                + */ + inline SageMakerSavingsPlans& WithConfiguration(SageMakerSavingsPlansConfiguration&& value) { SetConfiguration(std::move(value)); return *this;} + + + /** + *

                Cost impact of the Savings Plans purchase recommendation.

                + */ + inline const SavingsPlansCostCalculation& GetCostCalculation() const{ return m_costCalculation; } + + /** + *

                Cost impact of the Savings Plans purchase recommendation.

                + */ + inline bool CostCalculationHasBeenSet() const { return m_costCalculationHasBeenSet; } + + /** + *

                Cost impact of the Savings Plans purchase recommendation.

                + */ + inline void SetCostCalculation(const SavingsPlansCostCalculation& value) { m_costCalculationHasBeenSet = true; m_costCalculation = value; } + + /** + *

                Cost impact of the Savings Plans purchase recommendation.

                + */ + inline void SetCostCalculation(SavingsPlansCostCalculation&& value) { m_costCalculationHasBeenSet = true; m_costCalculation = std::move(value); } + + /** + *

                Cost impact of the Savings Plans purchase recommendation.

                + */ + inline SageMakerSavingsPlans& WithCostCalculation(const SavingsPlansCostCalculation& value) { SetCostCalculation(value); return *this;} + + /** + *

                Cost impact of the Savings Plans purchase recommendation.

                + */ + inline SageMakerSavingsPlans& WithCostCalculation(SavingsPlansCostCalculation&& value) { SetCostCalculation(std::move(value)); return *this;} + + private: + + SageMakerSavingsPlansConfiguration m_configuration; + bool m_configurationHasBeenSet = false; + + SavingsPlansCostCalculation m_costCalculation; + bool m_costCalculationHasBeenSet = false; + }; + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/SageMakerSavingsPlansConfiguration.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/SageMakerSavingsPlansConfiguration.h new file mode 100644 index 00000000000..df51afd88a4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/SageMakerSavingsPlansConfiguration.h @@ -0,0 +1,221 @@ +/** + * 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 CostOptimizationHub +{ +namespace Model +{ + + /** + *

                The SageMaker Savings Plans configuration used for + * recommendations.

                See Also:

                AWS + * API Reference

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

                The account scope that you want your recommendations for.

                + */ + inline const Aws::String& GetAccountScope() const{ return m_accountScope; } + + /** + *

                The account scope that you want your recommendations for.

                + */ + inline bool AccountScopeHasBeenSet() const { return m_accountScopeHasBeenSet; } + + /** + *

                The account scope that you want your recommendations for.

                + */ + inline void SetAccountScope(const Aws::String& value) { m_accountScopeHasBeenSet = true; m_accountScope = value; } + + /** + *

                The account scope that you want your recommendations for.

                + */ + inline void SetAccountScope(Aws::String&& value) { m_accountScopeHasBeenSet = true; m_accountScope = std::move(value); } + + /** + *

                The account scope that you want your recommendations for.

                + */ + inline void SetAccountScope(const char* value) { m_accountScopeHasBeenSet = true; m_accountScope.assign(value); } + + /** + *

                The account scope that you want your recommendations for.

                + */ + inline SageMakerSavingsPlansConfiguration& WithAccountScope(const Aws::String& value) { SetAccountScope(value); return *this;} + + /** + *

                The account scope that you want your recommendations for.

                + */ + inline SageMakerSavingsPlansConfiguration& WithAccountScope(Aws::String&& value) { SetAccountScope(std::move(value)); return *this;} + + /** + *

                The account scope that you want your recommendations for.

                + */ + inline SageMakerSavingsPlansConfiguration& WithAccountScope(const char* value) { SetAccountScope(value); return *this;} + + + /** + *

                The hourly commitment for the Savings Plans type.

                + */ + inline const Aws::String& GetHourlyCommitment() const{ return m_hourlyCommitment; } + + /** + *

                The hourly commitment for the Savings Plans type.

                + */ + inline bool HourlyCommitmentHasBeenSet() const { return m_hourlyCommitmentHasBeenSet; } + + /** + *

                The hourly commitment for the Savings Plans type.

                + */ + inline void SetHourlyCommitment(const Aws::String& value) { m_hourlyCommitmentHasBeenSet = true; m_hourlyCommitment = value; } + + /** + *

                The hourly commitment for the Savings Plans type.

                + */ + inline void SetHourlyCommitment(Aws::String&& value) { m_hourlyCommitmentHasBeenSet = true; m_hourlyCommitment = std::move(value); } + + /** + *

                The hourly commitment for the Savings Plans type.

                + */ + inline void SetHourlyCommitment(const char* value) { m_hourlyCommitmentHasBeenSet = true; m_hourlyCommitment.assign(value); } + + /** + *

                The hourly commitment for the Savings Plans type.

                + */ + inline SageMakerSavingsPlansConfiguration& WithHourlyCommitment(const Aws::String& value) { SetHourlyCommitment(value); return *this;} + + /** + *

                The hourly commitment for the Savings Plans type.

                + */ + inline SageMakerSavingsPlansConfiguration& WithHourlyCommitment(Aws::String&& value) { SetHourlyCommitment(std::move(value)); return *this;} + + /** + *

                The hourly commitment for the Savings Plans type.

                + */ + inline SageMakerSavingsPlansConfiguration& WithHourlyCommitment(const char* value) { SetHourlyCommitment(value); return *this;} + + + /** + *

                The payment option for the commitment.

                + */ + inline const Aws::String& GetPaymentOption() const{ return m_paymentOption; } + + /** + *

                The payment option for the commitment.

                + */ + inline bool PaymentOptionHasBeenSet() const { return m_paymentOptionHasBeenSet; } + + /** + *

                The payment option for the commitment.

                + */ + inline void SetPaymentOption(const Aws::String& value) { m_paymentOptionHasBeenSet = true; m_paymentOption = value; } + + /** + *

                The payment option for the commitment.

                + */ + inline void SetPaymentOption(Aws::String&& value) { m_paymentOptionHasBeenSet = true; m_paymentOption = std::move(value); } + + /** + *

                The payment option for the commitment.

                + */ + inline void SetPaymentOption(const char* value) { m_paymentOptionHasBeenSet = true; m_paymentOption.assign(value); } + + /** + *

                The payment option for the commitment.

                + */ + inline SageMakerSavingsPlansConfiguration& WithPaymentOption(const Aws::String& value) { SetPaymentOption(value); return *this;} + + /** + *

                The payment option for the commitment.

                + */ + inline SageMakerSavingsPlansConfiguration& WithPaymentOption(Aws::String&& value) { SetPaymentOption(std::move(value)); return *this;} + + /** + *

                The payment option for the commitment.

                + */ + inline SageMakerSavingsPlansConfiguration& WithPaymentOption(const char* value) { SetPaymentOption(value); return *this;} + + + /** + *

                The Savings Plans recommendation term in years.

                + */ + inline const Aws::String& GetTerm() const{ return m_term; } + + /** + *

                The Savings Plans recommendation term in years.

                + */ + inline bool TermHasBeenSet() const { return m_termHasBeenSet; } + + /** + *

                The Savings Plans recommendation term in years.

                + */ + inline void SetTerm(const Aws::String& value) { m_termHasBeenSet = true; m_term = value; } + + /** + *

                The Savings Plans recommendation term in years.

                + */ + inline void SetTerm(Aws::String&& value) { m_termHasBeenSet = true; m_term = std::move(value); } + + /** + *

                The Savings Plans recommendation term in years.

                + */ + inline void SetTerm(const char* value) { m_termHasBeenSet = true; m_term.assign(value); } + + /** + *

                The Savings Plans recommendation term in years.

                + */ + inline SageMakerSavingsPlansConfiguration& WithTerm(const Aws::String& value) { SetTerm(value); return *this;} + + /** + *

                The Savings Plans recommendation term in years.

                + */ + inline SageMakerSavingsPlansConfiguration& WithTerm(Aws::String&& value) { SetTerm(std::move(value)); return *this;} + + /** + *

                The Savings Plans recommendation term in years.

                + */ + inline SageMakerSavingsPlansConfiguration& WithTerm(const char* value) { SetTerm(value); return *this;} + + private: + + Aws::String m_accountScope; + bool m_accountScopeHasBeenSet = false; + + Aws::String m_hourlyCommitment; + bool m_hourlyCommitmentHasBeenSet = false; + + Aws::String m_paymentOption; + bool m_paymentOptionHasBeenSet = false; + + Aws::String m_term; + bool m_termHasBeenSet = false; + }; + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/SavingsEstimationMode.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/SavingsEstimationMode.h new file mode 100644 index 00000000000..4a6603e2b87 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/SavingsEstimationMode.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 CostOptimizationHub +{ +namespace Model +{ + enum class SavingsEstimationMode + { + NOT_SET, + BeforeDiscounts, + AfterDiscounts + }; + +namespace SavingsEstimationModeMapper +{ +AWS_COSTOPTIMIZATIONHUB_API SavingsEstimationMode GetSavingsEstimationModeForName(const Aws::String& name); + +AWS_COSTOPTIMIZATIONHUB_API Aws::String GetNameForSavingsEstimationMode(SavingsEstimationMode value); +} // namespace SavingsEstimationModeMapper +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/SavingsPlansCostCalculation.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/SavingsPlansCostCalculation.h new file mode 100644 index 00000000000..ba890a818bf --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/SavingsPlansCostCalculation.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 CostOptimizationHub +{ +namespace Model +{ + + /** + *

                Cost impact of the purchase recommendation.

                See Also:

                AWS + * API Reference

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

                Pricing details of the purchase recommendation.

                + */ + inline const SavingsPlansPricing& GetPricing() const{ return m_pricing; } + + /** + *

                Pricing details of the purchase recommendation.

                + */ + inline bool PricingHasBeenSet() const { return m_pricingHasBeenSet; } + + /** + *

                Pricing details of the purchase recommendation.

                + */ + inline void SetPricing(const SavingsPlansPricing& value) { m_pricingHasBeenSet = true; m_pricing = value; } + + /** + *

                Pricing details of the purchase recommendation.

                + */ + inline void SetPricing(SavingsPlansPricing&& value) { m_pricingHasBeenSet = true; m_pricing = std::move(value); } + + /** + *

                Pricing details of the purchase recommendation.

                + */ + inline SavingsPlansCostCalculation& WithPricing(const SavingsPlansPricing& value) { SetPricing(value); return *this;} + + /** + *

                Pricing details of the purchase recommendation.

                + */ + inline SavingsPlansCostCalculation& WithPricing(SavingsPlansPricing&& value) { SetPricing(std::move(value)); return *this;} + + private: + + SavingsPlansPricing m_pricing; + bool m_pricingHasBeenSet = false; + }; + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/SavingsPlansPricing.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/SavingsPlansPricing.h new file mode 100644 index 00000000000..9294ad14681 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/SavingsPlansPricing.h @@ -0,0 +1,142 @@ +/** + * 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 CostOptimizationHub +{ +namespace Model +{ + + /** + *

                Pricing information about a Savings Plan.

                See Also:

                AWS + * API Reference

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

                Estimated monthly commitment for the Savings Plan.

                + */ + inline double GetEstimatedMonthlyCommitment() const{ return m_estimatedMonthlyCommitment; } + + /** + *

                Estimated monthly commitment for the Savings Plan.

                + */ + inline bool EstimatedMonthlyCommitmentHasBeenSet() const { return m_estimatedMonthlyCommitmentHasBeenSet; } + + /** + *

                Estimated monthly commitment for the Savings Plan.

                + */ + inline void SetEstimatedMonthlyCommitment(double value) { m_estimatedMonthlyCommitmentHasBeenSet = true; m_estimatedMonthlyCommitment = value; } + + /** + *

                Estimated monthly commitment for the Savings Plan.

                + */ + inline SavingsPlansPricing& WithEstimatedMonthlyCommitment(double value) { SetEstimatedMonthlyCommitment(value); return *this;} + + + /** + *

                Estimated On-Demand cost you will pay after buying the Savings Plan.

                + */ + inline double GetEstimatedOnDemandCost() const{ return m_estimatedOnDemandCost; } + + /** + *

                Estimated On-Demand cost you will pay after buying the Savings Plan.

                + */ + inline bool EstimatedOnDemandCostHasBeenSet() const { return m_estimatedOnDemandCostHasBeenSet; } + + /** + *

                Estimated On-Demand cost you will pay after buying the Savings Plan.

                + */ + inline void SetEstimatedOnDemandCost(double value) { m_estimatedOnDemandCostHasBeenSet = true; m_estimatedOnDemandCost = value; } + + /** + *

                Estimated On-Demand cost you will pay after buying the Savings Plan.

                + */ + inline SavingsPlansPricing& WithEstimatedOnDemandCost(double value) { SetEstimatedOnDemandCost(value); return *this;} + + + /** + *

                The cost of paying for the recommended Savings Plan monthly.

                + */ + inline double GetMonthlySavingsPlansEligibleCost() const{ return m_monthlySavingsPlansEligibleCost; } + + /** + *

                The cost of paying for the recommended Savings Plan monthly.

                + */ + inline bool MonthlySavingsPlansEligibleCostHasBeenSet() const { return m_monthlySavingsPlansEligibleCostHasBeenSet; } + + /** + *

                The cost of paying for the recommended Savings Plan monthly.

                + */ + inline void SetMonthlySavingsPlansEligibleCost(double value) { m_monthlySavingsPlansEligibleCostHasBeenSet = true; m_monthlySavingsPlansEligibleCost = value; } + + /** + *

                The cost of paying for the recommended Savings Plan monthly.

                + */ + inline SavingsPlansPricing& WithMonthlySavingsPlansEligibleCost(double value) { SetMonthlySavingsPlansEligibleCost(value); return *this;} + + + /** + *

                Estimated savings as a percentage of your overall costs after buying the + * Savings Plan.

                + */ + inline double GetSavingsPercentage() const{ return m_savingsPercentage; } + + /** + *

                Estimated savings as a percentage of your overall costs after buying the + * Savings Plan.

                + */ + inline bool SavingsPercentageHasBeenSet() const { return m_savingsPercentageHasBeenSet; } + + /** + *

                Estimated savings as a percentage of your overall costs after buying the + * Savings Plan.

                + */ + inline void SetSavingsPercentage(double value) { m_savingsPercentageHasBeenSet = true; m_savingsPercentage = value; } + + /** + *

                Estimated savings as a percentage of your overall costs after buying the + * Savings Plan.

                + */ + inline SavingsPlansPricing& WithSavingsPercentage(double value) { SetSavingsPercentage(value); return *this;} + + private: + + double m_estimatedMonthlyCommitment; + bool m_estimatedMonthlyCommitmentHasBeenSet = false; + + double m_estimatedOnDemandCost; + bool m_estimatedOnDemandCostHasBeenSet = false; + + double m_monthlySavingsPlansEligibleCost; + bool m_monthlySavingsPlansEligibleCostHasBeenSet = false; + + double m_savingsPercentage; + bool m_savingsPercentageHasBeenSet = false; + }; + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/Source.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/Source.h new file mode 100644 index 00000000000..30ca337fd4b --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/Source.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 CostOptimizationHub +{ +namespace Model +{ + enum class Source + { + NOT_SET, + ComputeOptimizer, + CostExplorer + }; + +namespace SourceMapper +{ +AWS_COSTOPTIMIZATIONHUB_API Source GetSourceForName(const Aws::String& name); + +AWS_COSTOPTIMIZATIONHUB_API Aws::String GetNameForSource(Source value); +} // namespace SourceMapper +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/StorageConfiguration.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/StorageConfiguration.h new file mode 100644 index 00000000000..fdb7518a654 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/StorageConfiguration.h @@ -0,0 +1,113 @@ +/** + * 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 CostOptimizationHub +{ +namespace Model +{ + + /** + *

                The storage configuration used for recommendations.

                See Also:

                + * AWS + * API Reference

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

                The storage volume.

                + */ + inline double GetSizeInGb() const{ return m_sizeInGb; } + + /** + *

                The storage volume.

                + */ + inline bool SizeInGbHasBeenSet() const { return m_sizeInGbHasBeenSet; } + + /** + *

                The storage volume.

                + */ + inline void SetSizeInGb(double value) { m_sizeInGbHasBeenSet = true; m_sizeInGb = value; } + + /** + *

                The storage volume.

                + */ + inline StorageConfiguration& WithSizeInGb(double value) { SetSizeInGb(value); return *this;} + + + /** + *

                The storage type.

                + */ + inline const Aws::String& GetType() const{ return m_type; } + + /** + *

                The storage type.

                + */ + inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } + + /** + *

                The storage type.

                + */ + inline void SetType(const Aws::String& value) { m_typeHasBeenSet = true; m_type = value; } + + /** + *

                The storage type.

                + */ + inline void SetType(Aws::String&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } + + /** + *

                The storage type.

                + */ + inline void SetType(const char* value) { m_typeHasBeenSet = true; m_type.assign(value); } + + /** + *

                The storage type.

                + */ + inline StorageConfiguration& WithType(const Aws::String& value) { SetType(value); return *this;} + + /** + *

                The storage type.

                + */ + inline StorageConfiguration& WithType(Aws::String&& value) { SetType(std::move(value)); return *this;} + + /** + *

                The storage type.

                + */ + inline StorageConfiguration& WithType(const char* value) { SetType(value); return *this;} + + private: + + double m_sizeInGb; + bool m_sizeInGbHasBeenSet = false; + + Aws::String m_type; + bool m_typeHasBeenSet = false; + }; + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/Tag.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/Tag.h new file mode 100644 index 00000000000..befe0340a18 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/Tag.h @@ -0,0 +1,133 @@ +/** + * 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 CostOptimizationHub +{ +namespace Model +{ + + /** + *

                The tag structure that contains a tag key and value.

                See Also:

                + * AWS + * API Reference

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

                The key that's associated with the tag.

                + */ + inline const Aws::String& GetKey() const{ return m_key; } + + /** + *

                The key that's associated with the tag.

                + */ + inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } + + /** + *

                The key that's associated with the tag.

                + */ + inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; } + + /** + *

                The key that's associated with the tag.

                + */ + inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } + + /** + *

                The key that's associated with the tag.

                + */ + inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); } + + /** + *

                The key that's associated with the tag.

                + */ + inline Tag& WithKey(const Aws::String& value) { SetKey(value); return *this;} + + /** + *

                The key that's associated with the tag.

                + */ + inline Tag& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} + + /** + *

                The key that's associated with the tag.

                + */ + inline Tag& WithKey(const char* value) { SetKey(value); return *this;} + + + /** + *

                The value that's associated with the tag.

                + */ + inline const Aws::String& GetValue() const{ return m_value; } + + /** + *

                The value that's associated with the tag.

                + */ + inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; } + + /** + *

                The value that's associated with the tag.

                + */ + inline void SetValue(const Aws::String& value) { m_valueHasBeenSet = true; m_value = value; } + + /** + *

                The value that's associated with the tag.

                + */ + inline void SetValue(Aws::String&& value) { m_valueHasBeenSet = true; m_value = std::move(value); } + + /** + *

                The value that's associated with the tag.

                + */ + inline void SetValue(const char* value) { m_valueHasBeenSet = true; m_value.assign(value); } + + /** + *

                The value that's associated with the tag.

                + */ + inline Tag& WithValue(const Aws::String& value) { SetValue(value); return *this;} + + /** + *

                The value that's associated with the tag.

                + */ + inline Tag& WithValue(Aws::String&& value) { SetValue(std::move(value)); return *this;} + + /** + *

                The value that's associated with the tag.

                + */ + inline Tag& WithValue(const char* value) { SetValue(value); return *this;} + + private: + + Aws::String m_key; + bool m_keyHasBeenSet = false; + + Aws::String m_value; + bool m_valueHasBeenSet = false; + }; + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/UpdateEnrollmentStatusRequest.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/UpdateEnrollmentStatusRequest.h new file mode 100644 index 00000000000..a364503a8c9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/UpdateEnrollmentStatusRequest.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 + +namespace Aws +{ +namespace CostOptimizationHub +{ +namespace Model +{ + + /** + */ + class UpdateEnrollmentStatusRequest : public CostOptimizationHubRequest + { + public: + AWS_COSTOPTIMIZATIONHUB_API UpdateEnrollmentStatusRequest(); + + // 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 "UpdateEnrollmentStatus"; } + + AWS_COSTOPTIMIZATIONHUB_API Aws::String SerializePayload() const override; + + AWS_COSTOPTIMIZATIONHUB_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + *

                Indicates whether to enroll member accounts of the organization if the + * account is the management account.

                + */ + inline bool GetIncludeMemberAccounts() const{ return m_includeMemberAccounts; } + + /** + *

                Indicates whether to enroll member accounts of the organization if the + * account is the management account.

                + */ + inline bool IncludeMemberAccountsHasBeenSet() const { return m_includeMemberAccountsHasBeenSet; } + + /** + *

                Indicates whether to enroll member accounts of the organization if the + * account is the management account.

                + */ + inline void SetIncludeMemberAccounts(bool value) { m_includeMemberAccountsHasBeenSet = true; m_includeMemberAccounts = value; } + + /** + *

                Indicates whether to enroll member accounts of the organization if the + * account is the management account.

                + */ + inline UpdateEnrollmentStatusRequest& WithIncludeMemberAccounts(bool value) { SetIncludeMemberAccounts(value); return *this;} + + + /** + *

                Sets the account status.

                + */ + inline const EnrollmentStatus& GetStatus() const{ return m_status; } + + /** + *

                Sets the account status.

                + */ + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + + /** + *

                Sets the account status.

                + */ + inline void SetStatus(const EnrollmentStatus& value) { m_statusHasBeenSet = true; m_status = value; } + + /** + *

                Sets the account status.

                + */ + inline void SetStatus(EnrollmentStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } + + /** + *

                Sets the account status.

                + */ + inline UpdateEnrollmentStatusRequest& WithStatus(const EnrollmentStatus& value) { SetStatus(value); return *this;} + + /** + *

                Sets the account status.

                + */ + inline UpdateEnrollmentStatusRequest& WithStatus(EnrollmentStatus&& value) { SetStatus(std::move(value)); return *this;} + + private: + + bool m_includeMemberAccounts; + bool m_includeMemberAccountsHasBeenSet = false; + + EnrollmentStatus m_status; + bool m_statusHasBeenSet = false; + }; + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/UpdateEnrollmentStatusResult.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/UpdateEnrollmentStatusResult.h new file mode 100644 index 00000000000..6e49ff049e8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/UpdateEnrollmentStatusResult.h @@ -0,0 +1,101 @@ +/** + * 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 CostOptimizationHub +{ +namespace Model +{ + class UpdateEnrollmentStatusResult + { + public: + AWS_COSTOPTIMIZATIONHUB_API UpdateEnrollmentStatusResult(); + AWS_COSTOPTIMIZATIONHUB_API UpdateEnrollmentStatusResult(const Aws::AmazonWebServiceResult& result); + AWS_COSTOPTIMIZATIONHUB_API UpdateEnrollmentStatusResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

                The enrollment status of the account.

                + */ + inline const Aws::String& GetStatus() const{ return m_status; } + + /** + *

                The enrollment status of the account.

                + */ + inline void SetStatus(const Aws::String& value) { m_status = value; } + + /** + *

                The enrollment status of the account.

                + */ + inline void SetStatus(Aws::String&& value) { m_status = std::move(value); } + + /** + *

                The enrollment status of the account.

                + */ + inline void SetStatus(const char* value) { m_status.assign(value); } + + /** + *

                The enrollment status of the account.

                + */ + inline UpdateEnrollmentStatusResult& WithStatus(const Aws::String& value) { SetStatus(value); return *this;} + + /** + *

                The enrollment status of the account.

                + */ + inline UpdateEnrollmentStatusResult& WithStatus(Aws::String&& value) { SetStatus(std::move(value)); return *this;} + + /** + *

                The enrollment status of the account.

                + */ + inline UpdateEnrollmentStatusResult& WithStatus(const char* 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 UpdateEnrollmentStatusResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline UpdateEnrollmentStatusResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline UpdateEnrollmentStatusResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::String m_status; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/UpdatePreferencesRequest.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/UpdatePreferencesRequest.h new file mode 100644 index 00000000000..8355dae22e9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/UpdatePreferencesRequest.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 + +namespace Aws +{ +namespace CostOptimizationHub +{ +namespace Model +{ + + /** + */ + class UpdatePreferencesRequest : public CostOptimizationHubRequest + { + public: + AWS_COSTOPTIMIZATIONHUB_API UpdatePreferencesRequest(); + + // 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 "UpdatePreferences"; } + + AWS_COSTOPTIMIZATIONHUB_API Aws::String SerializePayload() const override; + + AWS_COSTOPTIMIZATIONHUB_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + *

                Sets the "member account discount visibility" preference.

                + */ + inline const MemberAccountDiscountVisibility& GetMemberAccountDiscountVisibility() const{ return m_memberAccountDiscountVisibility; } + + /** + *

                Sets the "member account discount visibility" preference.

                + */ + inline bool MemberAccountDiscountVisibilityHasBeenSet() const { return m_memberAccountDiscountVisibilityHasBeenSet; } + + /** + *

                Sets the "member account discount visibility" preference.

                + */ + inline void SetMemberAccountDiscountVisibility(const MemberAccountDiscountVisibility& value) { m_memberAccountDiscountVisibilityHasBeenSet = true; m_memberAccountDiscountVisibility = value; } + + /** + *

                Sets the "member account discount visibility" preference.

                + */ + inline void SetMemberAccountDiscountVisibility(MemberAccountDiscountVisibility&& value) { m_memberAccountDiscountVisibilityHasBeenSet = true; m_memberAccountDiscountVisibility = std::move(value); } + + /** + *

                Sets the "member account discount visibility" preference.

                + */ + inline UpdatePreferencesRequest& WithMemberAccountDiscountVisibility(const MemberAccountDiscountVisibility& value) { SetMemberAccountDiscountVisibility(value); return *this;} + + /** + *

                Sets the "member account discount visibility" preference.

                + */ + inline UpdatePreferencesRequest& WithMemberAccountDiscountVisibility(MemberAccountDiscountVisibility&& value) { SetMemberAccountDiscountVisibility(std::move(value)); return *this;} + + + /** + *

                Sets the "savings estimation mode" preference.

                + */ + inline const SavingsEstimationMode& GetSavingsEstimationMode() const{ return m_savingsEstimationMode; } + + /** + *

                Sets the "savings estimation mode" preference.

                + */ + inline bool SavingsEstimationModeHasBeenSet() const { return m_savingsEstimationModeHasBeenSet; } + + /** + *

                Sets the "savings estimation mode" preference.

                + */ + inline void SetSavingsEstimationMode(const SavingsEstimationMode& value) { m_savingsEstimationModeHasBeenSet = true; m_savingsEstimationMode = value; } + + /** + *

                Sets the "savings estimation mode" preference.

                + */ + inline void SetSavingsEstimationMode(SavingsEstimationMode&& value) { m_savingsEstimationModeHasBeenSet = true; m_savingsEstimationMode = std::move(value); } + + /** + *

                Sets the "savings estimation mode" preference.

                + */ + inline UpdatePreferencesRequest& WithSavingsEstimationMode(const SavingsEstimationMode& value) { SetSavingsEstimationMode(value); return *this;} + + /** + *

                Sets the "savings estimation mode" preference.

                + */ + inline UpdatePreferencesRequest& WithSavingsEstimationMode(SavingsEstimationMode&& value) { SetSavingsEstimationMode(std::move(value)); return *this;} + + private: + + MemberAccountDiscountVisibility m_memberAccountDiscountVisibility; + bool m_memberAccountDiscountVisibilityHasBeenSet = false; + + SavingsEstimationMode m_savingsEstimationMode; + bool m_savingsEstimationModeHasBeenSet = false; + }; + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/UpdatePreferencesResult.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/UpdatePreferencesResult.h new file mode 100644 index 00000000000..73fb0a855d2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/UpdatePreferencesResult.h @@ -0,0 +1,121 @@ +/** + * 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 CostOptimizationHub +{ +namespace Model +{ + class UpdatePreferencesResult + { + public: + AWS_COSTOPTIMIZATIONHUB_API UpdatePreferencesResult(); + AWS_COSTOPTIMIZATIONHUB_API UpdatePreferencesResult(const Aws::AmazonWebServiceResult& result); + AWS_COSTOPTIMIZATIONHUB_API UpdatePreferencesResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

                Shows the status of the "member account discount visibility" preference.

                + */ + inline const MemberAccountDiscountVisibility& GetMemberAccountDiscountVisibility() const{ return m_memberAccountDiscountVisibility; } + + /** + *

                Shows the status of the "member account discount visibility" preference.

                + */ + inline void SetMemberAccountDiscountVisibility(const MemberAccountDiscountVisibility& value) { m_memberAccountDiscountVisibility = value; } + + /** + *

                Shows the status of the "member account discount visibility" preference.

                + */ + inline void SetMemberAccountDiscountVisibility(MemberAccountDiscountVisibility&& value) { m_memberAccountDiscountVisibility = std::move(value); } + + /** + *

                Shows the status of the "member account discount visibility" preference.

                + */ + inline UpdatePreferencesResult& WithMemberAccountDiscountVisibility(const MemberAccountDiscountVisibility& value) { SetMemberAccountDiscountVisibility(value); return *this;} + + /** + *

                Shows the status of the "member account discount visibility" preference.

                + */ + inline UpdatePreferencesResult& WithMemberAccountDiscountVisibility(MemberAccountDiscountVisibility&& value) { SetMemberAccountDiscountVisibility(std::move(value)); return *this;} + + + /** + *

                Shows the status of the "savings estimation mode" preference.

                + */ + inline const SavingsEstimationMode& GetSavingsEstimationMode() const{ return m_savingsEstimationMode; } + + /** + *

                Shows the status of the "savings estimation mode" preference.

                + */ + inline void SetSavingsEstimationMode(const SavingsEstimationMode& value) { m_savingsEstimationMode = value; } + + /** + *

                Shows the status of the "savings estimation mode" preference.

                + */ + inline void SetSavingsEstimationMode(SavingsEstimationMode&& value) { m_savingsEstimationMode = std::move(value); } + + /** + *

                Shows the status of the "savings estimation mode" preference.

                + */ + inline UpdatePreferencesResult& WithSavingsEstimationMode(const SavingsEstimationMode& value) { SetSavingsEstimationMode(value); return *this;} + + /** + *

                Shows the status of the "savings estimation mode" preference.

                + */ + inline UpdatePreferencesResult& WithSavingsEstimationMode(SavingsEstimationMode&& value) { SetSavingsEstimationMode(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 UpdatePreferencesResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline UpdatePreferencesResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline UpdatePreferencesResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + MemberAccountDiscountVisibility m_memberAccountDiscountVisibility; + + SavingsEstimationMode m_savingsEstimationMode; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/Usage.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/Usage.h new file mode 100644 index 00000000000..e6c73a5860f --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/Usage.h @@ -0,0 +1,244 @@ +/** + * 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 CostOptimizationHub +{ +namespace Model +{ + + /** + *

                Details about the usage.

                See Also:

                AWS + * API Reference

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

                The operation value.

                + */ + inline const Aws::String& GetOperation() const{ return m_operation; } + + /** + *

                The operation value.

                + */ + inline bool OperationHasBeenSet() const { return m_operationHasBeenSet; } + + /** + *

                The operation value.

                + */ + inline void SetOperation(const Aws::String& value) { m_operationHasBeenSet = true; m_operation = value; } + + /** + *

                The operation value.

                + */ + inline void SetOperation(Aws::String&& value) { m_operationHasBeenSet = true; m_operation = std::move(value); } + + /** + *

                The operation value.

                + */ + inline void SetOperation(const char* value) { m_operationHasBeenSet = true; m_operation.assign(value); } + + /** + *

                The operation value.

                + */ + inline Usage& WithOperation(const Aws::String& value) { SetOperation(value); return *this;} + + /** + *

                The operation value.

                + */ + inline Usage& WithOperation(Aws::String&& value) { SetOperation(std::move(value)); return *this;} + + /** + *

                The operation value.

                + */ + inline Usage& WithOperation(const char* value) { SetOperation(value); return *this;} + + + /** + *

                The product code.

                + */ + inline const Aws::String& GetProductCode() const{ return m_productCode; } + + /** + *

                The product code.

                + */ + inline bool ProductCodeHasBeenSet() const { return m_productCodeHasBeenSet; } + + /** + *

                The product code.

                + */ + inline void SetProductCode(const Aws::String& value) { m_productCodeHasBeenSet = true; m_productCode = value; } + + /** + *

                The product code.

                + */ + inline void SetProductCode(Aws::String&& value) { m_productCodeHasBeenSet = true; m_productCode = std::move(value); } + + /** + *

                The product code.

                + */ + inline void SetProductCode(const char* value) { m_productCodeHasBeenSet = true; m_productCode.assign(value); } + + /** + *

                The product code.

                + */ + inline Usage& WithProductCode(const Aws::String& value) { SetProductCode(value); return *this;} + + /** + *

                The product code.

                + */ + inline Usage& WithProductCode(Aws::String&& value) { SetProductCode(std::move(value)); return *this;} + + /** + *

                The product code.

                + */ + inline Usage& WithProductCode(const char* value) { SetProductCode(value); return *this;} + + + /** + *

                The usage unit.

                + */ + inline const Aws::String& GetUnit() const{ return m_unit; } + + /** + *

                The usage unit.

                + */ + inline bool UnitHasBeenSet() const { return m_unitHasBeenSet; } + + /** + *

                The usage unit.

                + */ + inline void SetUnit(const Aws::String& value) { m_unitHasBeenSet = true; m_unit = value; } + + /** + *

                The usage unit.

                + */ + inline void SetUnit(Aws::String&& value) { m_unitHasBeenSet = true; m_unit = std::move(value); } + + /** + *

                The usage unit.

                + */ + inline void SetUnit(const char* value) { m_unitHasBeenSet = true; m_unit.assign(value); } + + /** + *

                The usage unit.

                + */ + inline Usage& WithUnit(const Aws::String& value) { SetUnit(value); return *this;} + + /** + *

                The usage unit.

                + */ + inline Usage& WithUnit(Aws::String&& value) { SetUnit(std::move(value)); return *this;} + + /** + *

                The usage unit.

                + */ + inline Usage& WithUnit(const char* value) { SetUnit(value); return *this;} + + + /** + *

                The usage amount.

                + */ + inline double GetUsageAmount() const{ return m_usageAmount; } + + /** + *

                The usage amount.

                + */ + inline bool UsageAmountHasBeenSet() const { return m_usageAmountHasBeenSet; } + + /** + *

                The usage amount.

                + */ + inline void SetUsageAmount(double value) { m_usageAmountHasBeenSet = true; m_usageAmount = value; } + + /** + *

                The usage amount.

                + */ + inline Usage& WithUsageAmount(double value) { SetUsageAmount(value); return *this;} + + + /** + *

                The usage type.

                + */ + inline const Aws::String& GetUsageType() const{ return m_usageType; } + + /** + *

                The usage type.

                + */ + inline bool UsageTypeHasBeenSet() const { return m_usageTypeHasBeenSet; } + + /** + *

                The usage type.

                + */ + inline void SetUsageType(const Aws::String& value) { m_usageTypeHasBeenSet = true; m_usageType = value; } + + /** + *

                The usage type.

                + */ + inline void SetUsageType(Aws::String&& value) { m_usageTypeHasBeenSet = true; m_usageType = std::move(value); } + + /** + *

                The usage type.

                + */ + inline void SetUsageType(const char* value) { m_usageTypeHasBeenSet = true; m_usageType.assign(value); } + + /** + *

                The usage type.

                + */ + inline Usage& WithUsageType(const Aws::String& value) { SetUsageType(value); return *this;} + + /** + *

                The usage type.

                + */ + inline Usage& WithUsageType(Aws::String&& value) { SetUsageType(std::move(value)); return *this;} + + /** + *

                The usage type.

                + */ + inline Usage& WithUsageType(const char* value) { SetUsageType(value); return *this;} + + private: + + Aws::String m_operation; + bool m_operationHasBeenSet = false; + + Aws::String m_productCode; + bool m_productCodeHasBeenSet = false; + + Aws::String m_unit; + bool m_unitHasBeenSet = false; + + double m_usageAmount; + bool m_usageAmountHasBeenSet = false; + + Aws::String m_usageType; + bool m_usageTypeHasBeenSet = false; + }; + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/ValidationException.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/ValidationException.h new file mode 100644 index 00000000000..2672662e42c --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/ValidationException.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 +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace CostOptimizationHub +{ +namespace Model +{ + + /** + *

                The input fails to satisfy the constraints specified by an Amazon Web + * Services service.

                See Also:

                AWS + * API Reference

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

                The list of fields that are invalid.

                + */ + inline const Aws::Vector& GetFields() const{ return m_fields; } + + /** + *

                The list of fields that are invalid.

                + */ + inline bool FieldsHasBeenSet() const { return m_fieldsHasBeenSet; } + + /** + *

                The list of fields that are invalid.

                + */ + inline void SetFields(const Aws::Vector& value) { m_fieldsHasBeenSet = true; m_fields = value; } + + /** + *

                The list of fields that are invalid.

                + */ + inline void SetFields(Aws::Vector&& value) { m_fieldsHasBeenSet = true; m_fields = std::move(value); } + + /** + *

                The list of fields that are invalid.

                + */ + inline ValidationException& WithFields(const Aws::Vector& value) { SetFields(value); return *this;} + + /** + *

                The list of fields that are invalid.

                + */ + inline ValidationException& WithFields(Aws::Vector&& value) { SetFields(std::move(value)); return *this;} + + /** + *

                The list of fields that are invalid.

                + */ + inline ValidationException& AddFields(const ValidationExceptionDetail& value) { m_fieldsHasBeenSet = true; m_fields.push_back(value); return *this; } + + /** + *

                The list of fields that are invalid.

                + */ + inline ValidationException& AddFields(ValidationExceptionDetail&& value) { m_fieldsHasBeenSet = true; m_fields.push_back(std::move(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 ValidationException& WithMessage(const Aws::String& value) { SetMessage(value); return *this;} + + + inline ValidationException& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;} + + + inline ValidationException& WithMessage(const char* value) { SetMessage(value); return *this;} + + + /** + *

                The reason for the validation exception.

                + */ + inline const ValidationExceptionReason& GetReason() const{ return m_reason; } + + /** + *

                The reason for the validation exception.

                + */ + inline bool ReasonHasBeenSet() const { return m_reasonHasBeenSet; } + + /** + *

                The reason for the validation exception.

                + */ + inline void SetReason(const ValidationExceptionReason& value) { m_reasonHasBeenSet = true; m_reason = value; } + + /** + *

                The reason for the validation exception.

                + */ + inline void SetReason(ValidationExceptionReason&& value) { m_reasonHasBeenSet = true; m_reason = std::move(value); } + + /** + *

                The reason for the validation exception.

                + */ + inline ValidationException& WithReason(const ValidationExceptionReason& value) { SetReason(value); return *this;} + + /** + *

                The reason for the validation exception.

                + */ + inline ValidationException& WithReason(ValidationExceptionReason&& value) { SetReason(std::move(value)); return *this;} + + private: + + Aws::Vector m_fields; + bool m_fieldsHasBeenSet = false; + + Aws::String m_message; + bool m_messageHasBeenSet = false; + + ValidationExceptionReason m_reason; + bool m_reasonHasBeenSet = false; + }; + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/ValidationExceptionDetail.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/ValidationExceptionDetail.h new file mode 100644 index 00000000000..a169d0e5268 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/ValidationExceptionDetail.h @@ -0,0 +1,133 @@ +/** + * 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 CostOptimizationHub +{ +namespace Model +{ + + /** + *

                The input failed to meet the constraints specified by the Amazon Web Services + * service in a specified field.

                See Also:

                AWS + * API Reference

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

                The field name where the invalid entry was detected.

                + */ + inline const Aws::String& GetFieldName() const{ return m_fieldName; } + + /** + *

                The field name where the invalid entry was detected.

                + */ + inline bool FieldNameHasBeenSet() const { return m_fieldNameHasBeenSet; } + + /** + *

                The field name where the invalid entry was detected.

                + */ + inline void SetFieldName(const Aws::String& value) { m_fieldNameHasBeenSet = true; m_fieldName = value; } + + /** + *

                The field name where the invalid entry was detected.

                + */ + inline void SetFieldName(Aws::String&& value) { m_fieldNameHasBeenSet = true; m_fieldName = std::move(value); } + + /** + *

                The field name where the invalid entry was detected.

                + */ + inline void SetFieldName(const char* value) { m_fieldNameHasBeenSet = true; m_fieldName.assign(value); } + + /** + *

                The field name where the invalid entry was detected.

                + */ + inline ValidationExceptionDetail& WithFieldName(const Aws::String& value) { SetFieldName(value); return *this;} + + /** + *

                The field name where the invalid entry was detected.

                + */ + inline ValidationExceptionDetail& WithFieldName(Aws::String&& value) { SetFieldName(std::move(value)); return *this;} + + /** + *

                The field name where the invalid entry was detected.

                + */ + inline ValidationExceptionDetail& WithFieldName(const char* value) { SetFieldName(value); return *this;} + + + /** + *

                A message with the reason for the validation exception error.

                + */ + inline const Aws::String& GetMessage() const{ return m_message; } + + /** + *

                A message with the reason for the validation exception error.

                + */ + inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } + + /** + *

                A message with the reason for the validation exception error.

                + */ + inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; } + + /** + *

                A message with the reason for the validation exception error.

                + */ + inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); } + + /** + *

                A message with the reason for the validation exception error.

                + */ + inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); } + + /** + *

                A message with the reason for the validation exception error.

                + */ + inline ValidationExceptionDetail& WithMessage(const Aws::String& value) { SetMessage(value); return *this;} + + /** + *

                A message with the reason for the validation exception error.

                + */ + inline ValidationExceptionDetail& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;} + + /** + *

                A message with the reason for the validation exception error.

                + */ + inline ValidationExceptionDetail& WithMessage(const char* value) { SetMessage(value); return *this;} + + private: + + Aws::String m_fieldName; + bool m_fieldNameHasBeenSet = false; + + Aws::String m_message; + bool m_messageHasBeenSet = false; + }; + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/ValidationExceptionReason.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/ValidationExceptionReason.h new file mode 100644 index 00000000000..6b20a094e32 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/model/ValidationExceptionReason.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 CostOptimizationHub +{ +namespace Model +{ + enum class ValidationExceptionReason + { + NOT_SET, + FieldValidationFailed, + Other + }; + +namespace ValidationExceptionReasonMapper +{ +AWS_COSTOPTIMIZATIONHUB_API ValidationExceptionReason GetValidationExceptionReasonForName(const Aws::String& name); + +AWS_COSTOPTIMIZATIONHUB_API Aws::String GetNameForValidationExceptionReason(ValidationExceptionReason value); +} // namespace ValidationExceptionReasonMapper +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/source/CostOptimizationHubClient.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/CostOptimizationHubClient.cpp new file mode 100644 index 00000000000..20deafb84c7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/CostOptimizationHubClient.cpp @@ -0,0 +1,345 @@ +/** + * 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 + + +using namespace Aws; +using namespace Aws::Auth; +using namespace Aws::Client; +using namespace Aws::CostOptimizationHub; +using namespace Aws::CostOptimizationHub::Model; +using namespace Aws::Http; +using namespace Aws::Utils::Json; +using namespace smithy::components::tracing; +using ResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; + +const char* CostOptimizationHubClient::SERVICE_NAME = "cost-optimization-hub"; +const char* CostOptimizationHubClient::ALLOCATION_TAG = "CostOptimizationHubClient"; + +CostOptimizationHubClient::CostOptimizationHubClient(const CostOptimizationHub::CostOptimizationHubClientConfiguration& 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_executor(clientConfiguration.executor), + m_endpointProvider(std::move(endpointProvider)) +{ + init(m_clientConfiguration); +} + +CostOptimizationHubClient::CostOptimizationHubClient(const AWSCredentials& credentials, + std::shared_ptr endpointProvider, + const CostOptimizationHub::CostOptimizationHubClientConfiguration& 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_executor(clientConfiguration.executor), + m_endpointProvider(std::move(endpointProvider)) +{ + init(m_clientConfiguration); +} + +CostOptimizationHubClient::CostOptimizationHubClient(const std::shared_ptr& credentialsProvider, + std::shared_ptr endpointProvider, + const CostOptimizationHub::CostOptimizationHubClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + credentialsProvider, + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_executor(clientConfiguration.executor), + m_endpointProvider(std::move(endpointProvider)) +{ + init(m_clientConfiguration); +} + + /* Legacy constructors due deprecation */ + CostOptimizationHubClient::CostOptimizationHubClient(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_executor(clientConfiguration.executor), + m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +CostOptimizationHubClient::CostOptimizationHubClient(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_executor(clientConfiguration.executor), + m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +CostOptimizationHubClient::CostOptimizationHubClient(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_executor(clientConfiguration.executor), + m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + + /* End of legacy constructors due deprecation */ +CostOptimizationHubClient::~CostOptimizationHubClient() +{ + ShutdownSdkClient(this, -1); +} + +std::shared_ptr& CostOptimizationHubClient::accessEndpointProvider() +{ + return m_endpointProvider; +} + +void CostOptimizationHubClient::init(const CostOptimizationHub::CostOptimizationHubClientConfiguration& config) +{ + AWSClient::SetServiceClientName("Cost Optimization Hub"); + AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); + m_endpointProvider->InitBuiltInParameters(config); +} + +void CostOptimizationHubClient::OverrideEndpoint(const Aws::String& endpoint) +{ + AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); + m_endpointProvider->OverrideEndpoint(endpoint); +} + +GetPreferencesOutcome CostOptimizationHubClient::GetPreferences(const GetPreferencesRequest& request) const +{ + AWS_OPERATION_GUARD(GetPreferences); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetPreferences, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetPreferences, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetPreferences, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetPreferences", + {{ 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( + [&]()-> GetPreferencesOutcome { + 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, GetPreferences, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return GetPreferencesOutcome(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()}}); +} + +GetRecommendationOutcome CostOptimizationHubClient::GetRecommendation(const GetRecommendationRequest& request) const +{ + AWS_OPERATION_GUARD(GetRecommendation); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetRecommendation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetRecommendation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetRecommendation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetRecommendation", + {{ 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( + [&]()-> GetRecommendationOutcome { + 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, GetRecommendation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return GetRecommendationOutcome(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()}}); +} + +ListEnrollmentStatusesOutcome CostOptimizationHubClient::ListEnrollmentStatuses(const ListEnrollmentStatusesRequest& request) const +{ + AWS_OPERATION_GUARD(ListEnrollmentStatuses); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListEnrollmentStatuses, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListEnrollmentStatuses, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListEnrollmentStatuses, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListEnrollmentStatuses", + {{ 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( + [&]()-> ListEnrollmentStatusesOutcome { + 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, ListEnrollmentStatuses, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return ListEnrollmentStatusesOutcome(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()}}); +} + +ListRecommendationSummariesOutcome CostOptimizationHubClient::ListRecommendationSummaries(const ListRecommendationSummariesRequest& request) const +{ + AWS_OPERATION_GUARD(ListRecommendationSummaries); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListRecommendationSummaries, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListRecommendationSummaries, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListRecommendationSummaries, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListRecommendationSummaries", + {{ 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( + [&]()-> ListRecommendationSummariesOutcome { + 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, ListRecommendationSummaries, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return ListRecommendationSummariesOutcome(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()}}); +} + +ListRecommendationsOutcome CostOptimizationHubClient::ListRecommendations(const ListRecommendationsRequest& request) const +{ + AWS_OPERATION_GUARD(ListRecommendations); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListRecommendations, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListRecommendations, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListRecommendations, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListRecommendations", + {{ 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( + [&]()-> ListRecommendationsOutcome { + 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, ListRecommendations, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return ListRecommendationsOutcome(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()}}); +} + +UpdateEnrollmentStatusOutcome CostOptimizationHubClient::UpdateEnrollmentStatus(const UpdateEnrollmentStatusRequest& request) const +{ + AWS_OPERATION_GUARD(UpdateEnrollmentStatus); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UpdateEnrollmentStatus, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, UpdateEnrollmentStatus, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, UpdateEnrollmentStatus, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".UpdateEnrollmentStatus", + {{ 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( + [&]()-> UpdateEnrollmentStatusOutcome { + 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, UpdateEnrollmentStatus, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return UpdateEnrollmentStatusOutcome(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()}}); +} + +UpdatePreferencesOutcome CostOptimizationHubClient::UpdatePreferences(const UpdatePreferencesRequest& request) const +{ + AWS_OPERATION_GUARD(UpdatePreferences); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UpdatePreferences, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, UpdatePreferences, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, UpdatePreferences, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".UpdatePreferences", + {{ 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( + [&]()-> UpdatePreferencesOutcome { + 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, UpdatePreferences, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return UpdatePreferencesOutcome(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()}}); +} + diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/source/CostOptimizationHubEndpointProvider.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/CostOptimizationHubEndpointProvider.cpp new file mode 100644 index 00000000000..45440f9bc9a --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/CostOptimizationHubEndpointProvider.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 CostOptimizationHub +{ +namespace Endpoint +{ +} // namespace Endpoint +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/source/CostOptimizationHubEndpointRules.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/CostOptimizationHubEndpointRules.cpp new file mode 100644 index 00000000000..f5bec50feed --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/CostOptimizationHubEndpointRules.cpp @@ -0,0 +1,178 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +namespace Aws +{ +namespace CostOptimizationHub +{ +const size_t CostOptimizationHubEndpointRules::RulesBlobStrLen = 3784; +const size_t CostOptimizationHubEndpointRules::RulesBlobSize = 3785; + +using RulesBlobT = Aws::Array; +static constexpr RulesBlobT RulesBlob = {{ +'{','"','v','e','r','s','i','o','n','"',':','"','1','.','0','"',',','"','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','"', +':','f','a','l','s','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','"',':','[','{','"','f','n','"',':','"', +'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', +'d','p','o','i','n','t','"','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', +'s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':', +'"','I','n','v','a','l','i','d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','F', +'I','P','S',' ','a','n','d',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','a', +'r','e',' ','n','o','t',' ','s','u','p','p','o','r','t','e','d','"',',','"','t','y','p','e','"',':', +'"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']', +',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k', +'"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l', +'i','d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','D','u','a','l','s','t','a', +'c','k',' ','a','n','d',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','a','r', +'e',' ','n','o','t',' ','s','u','p','p','o','r','t','e','d','"',',','"','t','y','p','e','"',':','"', +'e','r','r','o','r','"','}',',','{','"','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','"',':', +'{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"', +'e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', +'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']','}',']', +',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a', +'s','s','i','g','n','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}', +']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t', +'r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a', +'l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':', +'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','t','r','u','e', +',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}', +',','"','s','u','p','p','o','r','t','s','F','I','P','S','"',']','}',']','}',',','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u', +'l','t','"','}',',','"','s','u','p','p','o','r','t','s','D','u','a','l','S','t','a','c','k','"',']', +'}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[',']',',','"','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','"',':', +'"','h','t','t','p','s',':','/','/','c','o','s','t','-','o','p','t','i','m','i','z','a','t','i','o', +'n','-','h','u','b','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t', +'i','t','i','o','n','R','e','s','u','l','t','#','d','u','a','l','S','t','a','c','k','D','n','s','S', +'u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"', +'h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p', +'o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"', +'t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','F','I','P','S',' ','a','n','d',' ','D', +'u','a','l','S','t','a','c','k',' ','a','r','e',' ','e','n','a','b','l','e','d',',',' ','b','u','t', +' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ','n','o','t',' ', +'s','u','p','p','o','r','t',' ','o','n','e',' ','o','r',' ','b','o','t','h','"',',','"','t','y','p', +'e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', +'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', +'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',']',',','"', +'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t', +'"','}',',','"','s','u','p','p','o','r','t','s','F','I','P','S','"',']','}',',','t','r','u','e',']', +'}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[',']',',','"','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','"',':','"','h', +'t','t','p','s',':','/','/','c','o','s','t','-','o','p','t','i','m','i','z','a','t','i','o','n','-', +'h','u','b','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t', +'i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r', +'o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}', +'}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y', +'p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', +'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o', +'r','"',':','"','F','I','P','S',' ','i','s',' ','e','n','a','b','l','e','d',' ','b','u','t',' ','t', +'h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u', +'p','p','o','r','t',' ','F','I','P','S','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r', +'"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', +'D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e', +'s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', +'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','t', +'r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l', +'t','"','}',',','"','s','u','p','p','o','r','t','s','D','u','a','l','S','t','a','c','k','"',']','}', +']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s', +'"',':','[',']',',','"','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','"',':','"', +'h','t','t','p','s',':','/','/','c','o','s','t','-','o','p','t','i','m','i','z','a','t','i','o','n', +'-','h','u','b','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R', +'e','s','u','l','t','#','d','u','a','l','S','t','a','c','k','D','n','s','S','u','f','f','i','x','}', +'"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r', +'s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}', +']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e','"',':', +'"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',', +'"','e','r','r','o','r','"',':','"','D','u','a','l','S','t','a','c','k',' ','i','s',' ','e','n','a', +'b','l','e','d',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d', +'o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','D','u','a','l','S','t','a','c','k', +'"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"', +':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']', +',','"','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','"',':','"','h','t','t','p', +'s',':','/','/','c','o','s','t','-','o','p','t','i','m','i','z','a','t','i','o','n','-','h','u','b', +'.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l', +'t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s', +'"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"', +':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e', +'e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p', +'e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','C','o','n','f','i', +'g','u','r','a','t','i','o','n',':',' ','M','i','s','s','i','n','g',' ','R','e','g','i','o','n','"', +',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':', +'"','t','r','e','e','"','}',']','}','\0' +}}; + +const char* CostOptimizationHubEndpointRules::GetRulesBlob() +{ + return RulesBlob.data(); +} + +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/source/CostOptimizationHubErrorMarshaller.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/CostOptimizationHubErrorMarshaller.cpp new file mode 100644 index 00000000000..aae213135e3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/CostOptimizationHubErrorMarshaller.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::CostOptimizationHub; + +AWSError CostOptimizationHubErrorMarshaller::FindErrorByName(const char* errorName) const +{ + AWSError error = CostOptimizationHubErrorMapper::GetErrorForName(errorName); + if(error.GetErrorType() != CoreErrors::UNKNOWN) + { + return error; + } + + return AWSErrorMarshaller::FindErrorByName(errorName); +} \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/source/CostOptimizationHubErrors.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/CostOptimizationHubErrors.cpp new file mode 100644 index 00000000000..f44aed588b4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/CostOptimizationHubErrors.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::Client; +using namespace Aws::Utils; +using namespace Aws::CostOptimizationHub; +using namespace Aws::CostOptimizationHub::Model; + +namespace Aws +{ +namespace CostOptimizationHub +{ +template<> AWS_COSTOPTIMIZATIONHUB_API ResourceNotFoundException CostOptimizationHubError::GetModeledError() +{ + assert(this->GetErrorType() == CostOptimizationHubErrors::RESOURCE_NOT_FOUND); + return ResourceNotFoundException(this->GetJsonPayload().View()); +} + +template<> AWS_COSTOPTIMIZATIONHUB_API ValidationException CostOptimizationHubError::GetModeledError() +{ + assert(this->GetErrorType() == CostOptimizationHubErrors::VALIDATION); + return ValidationException(this->GetJsonPayload().View()); +} + +namespace CostOptimizationHubErrorMapper +{ + +static const int INTERNAL_SERVER_HASH = HashingUtils::HashString("InternalServerException"); + + +AWSError GetErrorForName(const char* errorName) +{ + int hashCode = HashingUtils::HashString(errorName); + + if (hashCode == INTERNAL_SERVER_HASH) + { + return AWSError(static_cast(CostOptimizationHubErrors::INTERNAL_SERVER), false); + } + return AWSError(CoreErrors::UNKNOWN, false); +} + +} // namespace CostOptimizationHubErrorMapper +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/source/CostOptimizationHubRequest.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/CostOptimizationHubRequest.cpp new file mode 100644 index 00000000000..3b97b185647 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/CostOptimizationHubRequest.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 CostOptimizationHub +{ +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/AccountEnrollmentStatus.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/AccountEnrollmentStatus.cpp new file mode 100644 index 00000000000..6484062128b --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/AccountEnrollmentStatus.cpp @@ -0,0 +1,103 @@ +/** + * 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 CostOptimizationHub +{ +namespace Model +{ + +AccountEnrollmentStatus::AccountEnrollmentStatus() : + m_accountIdHasBeenSet(false), + m_createdTimestampHasBeenSet(false), + m_lastUpdatedTimestampHasBeenSet(false), + m_status(EnrollmentStatus::NOT_SET), + m_statusHasBeenSet(false) +{ +} + +AccountEnrollmentStatus::AccountEnrollmentStatus(JsonView jsonValue) : + m_accountIdHasBeenSet(false), + m_createdTimestampHasBeenSet(false), + m_lastUpdatedTimestampHasBeenSet(false), + m_status(EnrollmentStatus::NOT_SET), + m_statusHasBeenSet(false) +{ + *this = jsonValue; +} + +AccountEnrollmentStatus& AccountEnrollmentStatus::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("accountId")) + { + m_accountId = jsonValue.GetString("accountId"); + + m_accountIdHasBeenSet = 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; + } + + if(jsonValue.ValueExists("status")) + { + m_status = EnrollmentStatusMapper::GetEnrollmentStatusForName(jsonValue.GetString("status")); + + m_statusHasBeenSet = true; + } + + return *this; +} + +JsonValue AccountEnrollmentStatus::Jsonize() const +{ + JsonValue payload; + + if(m_accountIdHasBeenSet) + { + payload.WithString("accountId", m_accountId); + + } + + if(m_createdTimestampHasBeenSet) + { + payload.WithDouble("createdTimestamp", m_createdTimestamp.SecondsWithMSPrecision()); + } + + if(m_lastUpdatedTimestampHasBeenSet) + { + payload.WithDouble("lastUpdatedTimestamp", m_lastUpdatedTimestamp.SecondsWithMSPrecision()); + } + + if(m_statusHasBeenSet) + { + payload.WithString("status", EnrollmentStatusMapper::GetNameForEnrollmentStatus(m_status)); + } + + return payload; +} + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/ActionType.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/ActionType.cpp new file mode 100644 index 00000000000..992e17649bb --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/ActionType.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 CostOptimizationHub + { + namespace Model + { + namespace ActionTypeMapper + { + + static const int Rightsize_HASH = HashingUtils::HashString("Rightsize"); + static const int Stop_HASH = HashingUtils::HashString("Stop"); + static const int Upgrade_HASH = HashingUtils::HashString("Upgrade"); + static const int PurchaseSavingsPlans_HASH = HashingUtils::HashString("PurchaseSavingsPlans"); + static const int PurchaseReservedInstances_HASH = HashingUtils::HashString("PurchaseReservedInstances"); + static const int MigrateToGraviton_HASH = HashingUtils::HashString("MigrateToGraviton"); + + + ActionType GetActionTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Rightsize_HASH) + { + return ActionType::Rightsize; + } + else if (hashCode == Stop_HASH) + { + return ActionType::Stop; + } + else if (hashCode == Upgrade_HASH) + { + return ActionType::Upgrade; + } + else if (hashCode == PurchaseSavingsPlans_HASH) + { + return ActionType::PurchaseSavingsPlans; + } + else if (hashCode == PurchaseReservedInstances_HASH) + { + return ActionType::PurchaseReservedInstances; + } + else if (hashCode == MigrateToGraviton_HASH) + { + return ActionType::MigrateToGraviton; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ActionType::NOT_SET; + } + + Aws::String GetNameForActionType(ActionType enumValue) + { + switch(enumValue) + { + case ActionType::NOT_SET: + return {}; + case ActionType::Rightsize: + return "Rightsize"; + case ActionType::Stop: + return "Stop"; + case ActionType::Upgrade: + return "Upgrade"; + case ActionType::PurchaseSavingsPlans: + return "PurchaseSavingsPlans"; + case ActionType::PurchaseReservedInstances: + return "PurchaseReservedInstances"; + case ActionType::MigrateToGraviton: + return "MigrateToGraviton"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ActionTypeMapper + } // namespace Model + } // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/BlockStoragePerformanceConfiguration.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/BlockStoragePerformanceConfiguration.cpp new file mode 100644 index 00000000000..62d7d90b815 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/BlockStoragePerformanceConfiguration.cpp @@ -0,0 +1,78 @@ +/** + * 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 CostOptimizationHub +{ +namespace Model +{ + +BlockStoragePerformanceConfiguration::BlockStoragePerformanceConfiguration() : + m_iops(0.0), + m_iopsHasBeenSet(false), + m_throughput(0.0), + m_throughputHasBeenSet(false) +{ +} + +BlockStoragePerformanceConfiguration::BlockStoragePerformanceConfiguration(JsonView jsonValue) : + m_iops(0.0), + m_iopsHasBeenSet(false), + m_throughput(0.0), + m_throughputHasBeenSet(false) +{ + *this = jsonValue; +} + +BlockStoragePerformanceConfiguration& BlockStoragePerformanceConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("iops")) + { + m_iops = jsonValue.GetDouble("iops"); + + m_iopsHasBeenSet = true; + } + + if(jsonValue.ValueExists("throughput")) + { + m_throughput = jsonValue.GetDouble("throughput"); + + m_throughputHasBeenSet = true; + } + + return *this; +} + +JsonValue BlockStoragePerformanceConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_iopsHasBeenSet) + { + payload.WithDouble("iops", m_iops); + + } + + if(m_throughputHasBeenSet) + { + payload.WithDouble("throughput", m_throughput); + + } + + return payload; +} + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/ComputeConfiguration.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/ComputeConfiguration.cpp new file mode 100644 index 00000000000..12573b49c64 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/ComputeConfiguration.cpp @@ -0,0 +1,108 @@ +/** + * 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 CostOptimizationHub +{ +namespace Model +{ + +ComputeConfiguration::ComputeConfiguration() : + m_architectureHasBeenSet(false), + m_memorySizeInMB(0), + m_memorySizeInMBHasBeenSet(false), + m_platformHasBeenSet(false), + m_vCpu(0.0), + m_vCpuHasBeenSet(false) +{ +} + +ComputeConfiguration::ComputeConfiguration(JsonView jsonValue) : + m_architectureHasBeenSet(false), + m_memorySizeInMB(0), + m_memorySizeInMBHasBeenSet(false), + m_platformHasBeenSet(false), + m_vCpu(0.0), + m_vCpuHasBeenSet(false) +{ + *this = jsonValue; +} + +ComputeConfiguration& ComputeConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("architecture")) + { + m_architecture = jsonValue.GetString("architecture"); + + m_architectureHasBeenSet = true; + } + + if(jsonValue.ValueExists("memorySizeInMB")) + { + m_memorySizeInMB = jsonValue.GetInteger("memorySizeInMB"); + + m_memorySizeInMBHasBeenSet = true; + } + + if(jsonValue.ValueExists("platform")) + { + m_platform = jsonValue.GetString("platform"); + + m_platformHasBeenSet = true; + } + + if(jsonValue.ValueExists("vCpu")) + { + m_vCpu = jsonValue.GetDouble("vCpu"); + + m_vCpuHasBeenSet = true; + } + + return *this; +} + +JsonValue ComputeConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_architectureHasBeenSet) + { + payload.WithString("architecture", m_architecture); + + } + + if(m_memorySizeInMBHasBeenSet) + { + payload.WithInteger("memorySizeInMB", m_memorySizeInMB); + + } + + if(m_platformHasBeenSet) + { + payload.WithString("platform", m_platform); + + } + + if(m_vCpuHasBeenSet) + { + payload.WithDouble("vCpu", m_vCpu); + + } + + return payload; +} + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/ComputeSavingsPlans.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/ComputeSavingsPlans.cpp new file mode 100644 index 00000000000..c666a6d9b14 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/ComputeSavingsPlans.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 CostOptimizationHub +{ +namespace Model +{ + +ComputeSavingsPlans::ComputeSavingsPlans() : + m_configurationHasBeenSet(false), + m_costCalculationHasBeenSet(false) +{ +} + +ComputeSavingsPlans::ComputeSavingsPlans(JsonView jsonValue) : + m_configurationHasBeenSet(false), + m_costCalculationHasBeenSet(false) +{ + *this = jsonValue; +} + +ComputeSavingsPlans& ComputeSavingsPlans::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("configuration")) + { + m_configuration = jsonValue.GetObject("configuration"); + + m_configurationHasBeenSet = true; + } + + if(jsonValue.ValueExists("costCalculation")) + { + m_costCalculation = jsonValue.GetObject("costCalculation"); + + m_costCalculationHasBeenSet = true; + } + + return *this; +} + +JsonValue ComputeSavingsPlans::Jsonize() const +{ + JsonValue payload; + + if(m_configurationHasBeenSet) + { + payload.WithObject("configuration", m_configuration.Jsonize()); + + } + + if(m_costCalculationHasBeenSet) + { + payload.WithObject("costCalculation", m_costCalculation.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/ComputeSavingsPlansConfiguration.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/ComputeSavingsPlansConfiguration.cpp new file mode 100644 index 00000000000..61ba48992c2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/ComputeSavingsPlansConfiguration.cpp @@ -0,0 +1,104 @@ +/** + * 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 CostOptimizationHub +{ +namespace Model +{ + +ComputeSavingsPlansConfiguration::ComputeSavingsPlansConfiguration() : + m_accountScopeHasBeenSet(false), + m_hourlyCommitmentHasBeenSet(false), + m_paymentOptionHasBeenSet(false), + m_termHasBeenSet(false) +{ +} + +ComputeSavingsPlansConfiguration::ComputeSavingsPlansConfiguration(JsonView jsonValue) : + m_accountScopeHasBeenSet(false), + m_hourlyCommitmentHasBeenSet(false), + m_paymentOptionHasBeenSet(false), + m_termHasBeenSet(false) +{ + *this = jsonValue; +} + +ComputeSavingsPlansConfiguration& ComputeSavingsPlansConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("accountScope")) + { + m_accountScope = jsonValue.GetString("accountScope"); + + m_accountScopeHasBeenSet = true; + } + + if(jsonValue.ValueExists("hourlyCommitment")) + { + m_hourlyCommitment = jsonValue.GetString("hourlyCommitment"); + + m_hourlyCommitmentHasBeenSet = true; + } + + if(jsonValue.ValueExists("paymentOption")) + { + m_paymentOption = jsonValue.GetString("paymentOption"); + + m_paymentOptionHasBeenSet = true; + } + + if(jsonValue.ValueExists("term")) + { + m_term = jsonValue.GetString("term"); + + m_termHasBeenSet = true; + } + + return *this; +} + +JsonValue ComputeSavingsPlansConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_accountScopeHasBeenSet) + { + payload.WithString("accountScope", m_accountScope); + + } + + if(m_hourlyCommitmentHasBeenSet) + { + payload.WithString("hourlyCommitment", m_hourlyCommitment); + + } + + if(m_paymentOptionHasBeenSet) + { + payload.WithString("paymentOption", m_paymentOption); + + } + + if(m_termHasBeenSet) + { + payload.WithString("term", m_term); + + } + + return payload; +} + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/EbsVolume.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/EbsVolume.cpp new file mode 100644 index 00000000000..4ed4dde3d63 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/EbsVolume.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 CostOptimizationHub +{ +namespace Model +{ + +EbsVolume::EbsVolume() : + m_configurationHasBeenSet(false), + m_costCalculationHasBeenSet(false) +{ +} + +EbsVolume::EbsVolume(JsonView jsonValue) : + m_configurationHasBeenSet(false), + m_costCalculationHasBeenSet(false) +{ + *this = jsonValue; +} + +EbsVolume& EbsVolume::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("configuration")) + { + m_configuration = jsonValue.GetObject("configuration"); + + m_configurationHasBeenSet = true; + } + + if(jsonValue.ValueExists("costCalculation")) + { + m_costCalculation = jsonValue.GetObject("costCalculation"); + + m_costCalculationHasBeenSet = true; + } + + return *this; +} + +JsonValue EbsVolume::Jsonize() const +{ + JsonValue payload; + + if(m_configurationHasBeenSet) + { + payload.WithObject("configuration", m_configuration.Jsonize()); + + } + + if(m_costCalculationHasBeenSet) + { + payload.WithObject("costCalculation", m_costCalculation.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/EbsVolumeConfiguration.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/EbsVolumeConfiguration.cpp new file mode 100644 index 00000000000..4c7bafacc06 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/EbsVolumeConfiguration.cpp @@ -0,0 +1,89 @@ +/** + * 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 CostOptimizationHub +{ +namespace Model +{ + +EbsVolumeConfiguration::EbsVolumeConfiguration() : + m_attachmentStateHasBeenSet(false), + m_performanceHasBeenSet(false), + m_storageHasBeenSet(false) +{ +} + +EbsVolumeConfiguration::EbsVolumeConfiguration(JsonView jsonValue) : + m_attachmentStateHasBeenSet(false), + m_performanceHasBeenSet(false), + m_storageHasBeenSet(false) +{ + *this = jsonValue; +} + +EbsVolumeConfiguration& EbsVolumeConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("attachmentState")) + { + m_attachmentState = jsonValue.GetString("attachmentState"); + + m_attachmentStateHasBeenSet = true; + } + + if(jsonValue.ValueExists("performance")) + { + m_performance = jsonValue.GetObject("performance"); + + m_performanceHasBeenSet = true; + } + + if(jsonValue.ValueExists("storage")) + { + m_storage = jsonValue.GetObject("storage"); + + m_storageHasBeenSet = true; + } + + return *this; +} + +JsonValue EbsVolumeConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_attachmentStateHasBeenSet) + { + payload.WithString("attachmentState", m_attachmentState); + + } + + if(m_performanceHasBeenSet) + { + payload.WithObject("performance", m_performance.Jsonize()); + + } + + if(m_storageHasBeenSet) + { + payload.WithObject("storage", m_storage.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/Ec2AutoScalingGroup.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/Ec2AutoScalingGroup.cpp new file mode 100644 index 00000000000..fe6c5f3357a --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/Ec2AutoScalingGroup.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 CostOptimizationHub +{ +namespace Model +{ + +Ec2AutoScalingGroup::Ec2AutoScalingGroup() : + m_configurationHasBeenSet(false), + m_costCalculationHasBeenSet(false) +{ +} + +Ec2AutoScalingGroup::Ec2AutoScalingGroup(JsonView jsonValue) : + m_configurationHasBeenSet(false), + m_costCalculationHasBeenSet(false) +{ + *this = jsonValue; +} + +Ec2AutoScalingGroup& Ec2AutoScalingGroup::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("configuration")) + { + m_configuration = jsonValue.GetObject("configuration"); + + m_configurationHasBeenSet = true; + } + + if(jsonValue.ValueExists("costCalculation")) + { + m_costCalculation = jsonValue.GetObject("costCalculation"); + + m_costCalculationHasBeenSet = true; + } + + return *this; +} + +JsonValue Ec2AutoScalingGroup::Jsonize() const +{ + JsonValue payload; + + if(m_configurationHasBeenSet) + { + payload.WithObject("configuration", m_configuration.Jsonize()); + + } + + if(m_costCalculationHasBeenSet) + { + payload.WithObject("costCalculation", m_costCalculation.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/Ec2AutoScalingGroupConfiguration.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/Ec2AutoScalingGroupConfiguration.cpp new file mode 100644 index 00000000000..f0e2e578a79 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/Ec2AutoScalingGroupConfiguration.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 CostOptimizationHub +{ +namespace Model +{ + +Ec2AutoScalingGroupConfiguration::Ec2AutoScalingGroupConfiguration() : + m_instanceHasBeenSet(false) +{ +} + +Ec2AutoScalingGroupConfiguration::Ec2AutoScalingGroupConfiguration(JsonView jsonValue) : + m_instanceHasBeenSet(false) +{ + *this = jsonValue; +} + +Ec2AutoScalingGroupConfiguration& Ec2AutoScalingGroupConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("instance")) + { + m_instance = jsonValue.GetObject("instance"); + + m_instanceHasBeenSet = true; + } + + return *this; +} + +JsonValue Ec2AutoScalingGroupConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_instanceHasBeenSet) + { + payload.WithObject("instance", m_instance.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/Ec2Instance.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/Ec2Instance.cpp new file mode 100644 index 00000000000..cbb93818cb7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/Ec2Instance.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 CostOptimizationHub +{ +namespace Model +{ + +Ec2Instance::Ec2Instance() : + m_configurationHasBeenSet(false), + m_costCalculationHasBeenSet(false) +{ +} + +Ec2Instance::Ec2Instance(JsonView jsonValue) : + m_configurationHasBeenSet(false), + m_costCalculationHasBeenSet(false) +{ + *this = jsonValue; +} + +Ec2Instance& Ec2Instance::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("configuration")) + { + m_configuration = jsonValue.GetObject("configuration"); + + m_configurationHasBeenSet = true; + } + + if(jsonValue.ValueExists("costCalculation")) + { + m_costCalculation = jsonValue.GetObject("costCalculation"); + + m_costCalculationHasBeenSet = true; + } + + return *this; +} + +JsonValue Ec2Instance::Jsonize() const +{ + JsonValue payload; + + if(m_configurationHasBeenSet) + { + payload.WithObject("configuration", m_configuration.Jsonize()); + + } + + if(m_costCalculationHasBeenSet) + { + payload.WithObject("costCalculation", m_costCalculation.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/Ec2InstanceConfiguration.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/Ec2InstanceConfiguration.cpp new file mode 100644 index 00000000000..14570a600bc --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/Ec2InstanceConfiguration.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 CostOptimizationHub +{ +namespace Model +{ + +Ec2InstanceConfiguration::Ec2InstanceConfiguration() : + m_instanceHasBeenSet(false) +{ +} + +Ec2InstanceConfiguration::Ec2InstanceConfiguration(JsonView jsonValue) : + m_instanceHasBeenSet(false) +{ + *this = jsonValue; +} + +Ec2InstanceConfiguration& Ec2InstanceConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("instance")) + { + m_instance = jsonValue.GetObject("instance"); + + m_instanceHasBeenSet = true; + } + + return *this; +} + +JsonValue Ec2InstanceConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_instanceHasBeenSet) + { + payload.WithObject("instance", m_instance.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/Ec2InstanceSavingsPlans.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/Ec2InstanceSavingsPlans.cpp new file mode 100644 index 00000000000..6170992ed54 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/Ec2InstanceSavingsPlans.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 CostOptimizationHub +{ +namespace Model +{ + +Ec2InstanceSavingsPlans::Ec2InstanceSavingsPlans() : + m_configurationHasBeenSet(false), + m_costCalculationHasBeenSet(false) +{ +} + +Ec2InstanceSavingsPlans::Ec2InstanceSavingsPlans(JsonView jsonValue) : + m_configurationHasBeenSet(false), + m_costCalculationHasBeenSet(false) +{ + *this = jsonValue; +} + +Ec2InstanceSavingsPlans& Ec2InstanceSavingsPlans::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("configuration")) + { + m_configuration = jsonValue.GetObject("configuration"); + + m_configurationHasBeenSet = true; + } + + if(jsonValue.ValueExists("costCalculation")) + { + m_costCalculation = jsonValue.GetObject("costCalculation"); + + m_costCalculationHasBeenSet = true; + } + + return *this; +} + +JsonValue Ec2InstanceSavingsPlans::Jsonize() const +{ + JsonValue payload; + + if(m_configurationHasBeenSet) + { + payload.WithObject("configuration", m_configuration.Jsonize()); + + } + + if(m_costCalculationHasBeenSet) + { + payload.WithObject("costCalculation", m_costCalculation.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/Ec2InstanceSavingsPlansConfiguration.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/Ec2InstanceSavingsPlansConfiguration.cpp new file mode 100644 index 00000000000..d0b63ee1a9d --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/Ec2InstanceSavingsPlansConfiguration.cpp @@ -0,0 +1,134 @@ +/** + * 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 CostOptimizationHub +{ +namespace Model +{ + +Ec2InstanceSavingsPlansConfiguration::Ec2InstanceSavingsPlansConfiguration() : + m_accountScopeHasBeenSet(false), + m_hourlyCommitmentHasBeenSet(false), + m_instanceFamilyHasBeenSet(false), + m_paymentOptionHasBeenSet(false), + m_savingsPlansRegionHasBeenSet(false), + m_termHasBeenSet(false) +{ +} + +Ec2InstanceSavingsPlansConfiguration::Ec2InstanceSavingsPlansConfiguration(JsonView jsonValue) : + m_accountScopeHasBeenSet(false), + m_hourlyCommitmentHasBeenSet(false), + m_instanceFamilyHasBeenSet(false), + m_paymentOptionHasBeenSet(false), + m_savingsPlansRegionHasBeenSet(false), + m_termHasBeenSet(false) +{ + *this = jsonValue; +} + +Ec2InstanceSavingsPlansConfiguration& Ec2InstanceSavingsPlansConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("accountScope")) + { + m_accountScope = jsonValue.GetString("accountScope"); + + m_accountScopeHasBeenSet = true; + } + + if(jsonValue.ValueExists("hourlyCommitment")) + { + m_hourlyCommitment = jsonValue.GetString("hourlyCommitment"); + + m_hourlyCommitmentHasBeenSet = true; + } + + if(jsonValue.ValueExists("instanceFamily")) + { + m_instanceFamily = jsonValue.GetString("instanceFamily"); + + m_instanceFamilyHasBeenSet = true; + } + + if(jsonValue.ValueExists("paymentOption")) + { + m_paymentOption = jsonValue.GetString("paymentOption"); + + m_paymentOptionHasBeenSet = true; + } + + if(jsonValue.ValueExists("savingsPlansRegion")) + { + m_savingsPlansRegion = jsonValue.GetString("savingsPlansRegion"); + + m_savingsPlansRegionHasBeenSet = true; + } + + if(jsonValue.ValueExists("term")) + { + m_term = jsonValue.GetString("term"); + + m_termHasBeenSet = true; + } + + return *this; +} + +JsonValue Ec2InstanceSavingsPlansConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_accountScopeHasBeenSet) + { + payload.WithString("accountScope", m_accountScope); + + } + + if(m_hourlyCommitmentHasBeenSet) + { + payload.WithString("hourlyCommitment", m_hourlyCommitment); + + } + + if(m_instanceFamilyHasBeenSet) + { + payload.WithString("instanceFamily", m_instanceFamily); + + } + + if(m_paymentOptionHasBeenSet) + { + payload.WithString("paymentOption", m_paymentOption); + + } + + if(m_savingsPlansRegionHasBeenSet) + { + payload.WithString("savingsPlansRegion", m_savingsPlansRegion); + + } + + if(m_termHasBeenSet) + { + payload.WithString("term", m_term); + + } + + return payload; +} + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/Ec2ReservedInstances.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/Ec2ReservedInstances.cpp new file mode 100644 index 00000000000..7b0a0a7bea1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/Ec2ReservedInstances.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 CostOptimizationHub +{ +namespace Model +{ + +Ec2ReservedInstances::Ec2ReservedInstances() : + m_configurationHasBeenSet(false), + m_costCalculationHasBeenSet(false) +{ +} + +Ec2ReservedInstances::Ec2ReservedInstances(JsonView jsonValue) : + m_configurationHasBeenSet(false), + m_costCalculationHasBeenSet(false) +{ + *this = jsonValue; +} + +Ec2ReservedInstances& Ec2ReservedInstances::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("configuration")) + { + m_configuration = jsonValue.GetObject("configuration"); + + m_configurationHasBeenSet = true; + } + + if(jsonValue.ValueExists("costCalculation")) + { + m_costCalculation = jsonValue.GetObject("costCalculation"); + + m_costCalculationHasBeenSet = true; + } + + return *this; +} + +JsonValue Ec2ReservedInstances::Jsonize() const +{ + JsonValue payload; + + if(m_configurationHasBeenSet) + { + payload.WithObject("configuration", m_configuration.Jsonize()); + + } + + if(m_costCalculationHasBeenSet) + { + payload.WithObject("costCalculation", m_costCalculation.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/Ec2ReservedInstancesConfiguration.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/Ec2ReservedInstancesConfiguration.cpp new file mode 100644 index 00000000000..e2c121b47a2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/Ec2ReservedInstancesConfiguration.cpp @@ -0,0 +1,286 @@ +/** + * 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 CostOptimizationHub +{ +namespace Model +{ + +Ec2ReservedInstancesConfiguration::Ec2ReservedInstancesConfiguration() : + m_accountScopeHasBeenSet(false), + m_currentGenerationHasBeenSet(false), + m_instanceFamilyHasBeenSet(false), + m_instanceTypeHasBeenSet(false), + m_monthlyRecurringCostHasBeenSet(false), + m_normalizedUnitsToPurchaseHasBeenSet(false), + m_numberOfInstancesToPurchaseHasBeenSet(false), + m_offeringClassHasBeenSet(false), + m_paymentOptionHasBeenSet(false), + m_platformHasBeenSet(false), + m_reservedInstancesRegionHasBeenSet(false), + m_serviceHasBeenSet(false), + m_sizeFlexEligible(false), + m_sizeFlexEligibleHasBeenSet(false), + m_tenancyHasBeenSet(false), + m_termHasBeenSet(false), + m_upfrontCostHasBeenSet(false) +{ +} + +Ec2ReservedInstancesConfiguration::Ec2ReservedInstancesConfiguration(JsonView jsonValue) : + m_accountScopeHasBeenSet(false), + m_currentGenerationHasBeenSet(false), + m_instanceFamilyHasBeenSet(false), + m_instanceTypeHasBeenSet(false), + m_monthlyRecurringCostHasBeenSet(false), + m_normalizedUnitsToPurchaseHasBeenSet(false), + m_numberOfInstancesToPurchaseHasBeenSet(false), + m_offeringClassHasBeenSet(false), + m_paymentOptionHasBeenSet(false), + m_platformHasBeenSet(false), + m_reservedInstancesRegionHasBeenSet(false), + m_serviceHasBeenSet(false), + m_sizeFlexEligible(false), + m_sizeFlexEligibleHasBeenSet(false), + m_tenancyHasBeenSet(false), + m_termHasBeenSet(false), + m_upfrontCostHasBeenSet(false) +{ + *this = jsonValue; +} + +Ec2ReservedInstancesConfiguration& Ec2ReservedInstancesConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("accountScope")) + { + m_accountScope = jsonValue.GetString("accountScope"); + + m_accountScopeHasBeenSet = true; + } + + if(jsonValue.ValueExists("currentGeneration")) + { + m_currentGeneration = jsonValue.GetString("currentGeneration"); + + m_currentGenerationHasBeenSet = true; + } + + if(jsonValue.ValueExists("instanceFamily")) + { + m_instanceFamily = jsonValue.GetString("instanceFamily"); + + m_instanceFamilyHasBeenSet = true; + } + + if(jsonValue.ValueExists("instanceType")) + { + m_instanceType = jsonValue.GetString("instanceType"); + + m_instanceTypeHasBeenSet = true; + } + + if(jsonValue.ValueExists("monthlyRecurringCost")) + { + m_monthlyRecurringCost = jsonValue.GetString("monthlyRecurringCost"); + + m_monthlyRecurringCostHasBeenSet = true; + } + + if(jsonValue.ValueExists("normalizedUnitsToPurchase")) + { + m_normalizedUnitsToPurchase = jsonValue.GetString("normalizedUnitsToPurchase"); + + m_normalizedUnitsToPurchaseHasBeenSet = true; + } + + if(jsonValue.ValueExists("numberOfInstancesToPurchase")) + { + m_numberOfInstancesToPurchase = jsonValue.GetString("numberOfInstancesToPurchase"); + + m_numberOfInstancesToPurchaseHasBeenSet = true; + } + + if(jsonValue.ValueExists("offeringClass")) + { + m_offeringClass = jsonValue.GetString("offeringClass"); + + m_offeringClassHasBeenSet = true; + } + + if(jsonValue.ValueExists("paymentOption")) + { + m_paymentOption = jsonValue.GetString("paymentOption"); + + m_paymentOptionHasBeenSet = true; + } + + if(jsonValue.ValueExists("platform")) + { + m_platform = jsonValue.GetString("platform"); + + m_platformHasBeenSet = true; + } + + if(jsonValue.ValueExists("reservedInstancesRegion")) + { + m_reservedInstancesRegion = jsonValue.GetString("reservedInstancesRegion"); + + m_reservedInstancesRegionHasBeenSet = true; + } + + if(jsonValue.ValueExists("service")) + { + m_service = jsonValue.GetString("service"); + + m_serviceHasBeenSet = true; + } + + if(jsonValue.ValueExists("sizeFlexEligible")) + { + m_sizeFlexEligible = jsonValue.GetBool("sizeFlexEligible"); + + m_sizeFlexEligibleHasBeenSet = true; + } + + if(jsonValue.ValueExists("tenancy")) + { + m_tenancy = jsonValue.GetString("tenancy"); + + m_tenancyHasBeenSet = true; + } + + if(jsonValue.ValueExists("term")) + { + m_term = jsonValue.GetString("term"); + + m_termHasBeenSet = true; + } + + if(jsonValue.ValueExists("upfrontCost")) + { + m_upfrontCost = jsonValue.GetString("upfrontCost"); + + m_upfrontCostHasBeenSet = true; + } + + return *this; +} + +JsonValue Ec2ReservedInstancesConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_accountScopeHasBeenSet) + { + payload.WithString("accountScope", m_accountScope); + + } + + if(m_currentGenerationHasBeenSet) + { + payload.WithString("currentGeneration", m_currentGeneration); + + } + + if(m_instanceFamilyHasBeenSet) + { + payload.WithString("instanceFamily", m_instanceFamily); + + } + + if(m_instanceTypeHasBeenSet) + { + payload.WithString("instanceType", m_instanceType); + + } + + if(m_monthlyRecurringCostHasBeenSet) + { + payload.WithString("monthlyRecurringCost", m_monthlyRecurringCost); + + } + + if(m_normalizedUnitsToPurchaseHasBeenSet) + { + payload.WithString("normalizedUnitsToPurchase", m_normalizedUnitsToPurchase); + + } + + if(m_numberOfInstancesToPurchaseHasBeenSet) + { + payload.WithString("numberOfInstancesToPurchase", m_numberOfInstancesToPurchase); + + } + + if(m_offeringClassHasBeenSet) + { + payload.WithString("offeringClass", m_offeringClass); + + } + + if(m_paymentOptionHasBeenSet) + { + payload.WithString("paymentOption", m_paymentOption); + + } + + if(m_platformHasBeenSet) + { + payload.WithString("platform", m_platform); + + } + + if(m_reservedInstancesRegionHasBeenSet) + { + payload.WithString("reservedInstancesRegion", m_reservedInstancesRegion); + + } + + if(m_serviceHasBeenSet) + { + payload.WithString("service", m_service); + + } + + if(m_sizeFlexEligibleHasBeenSet) + { + payload.WithBool("sizeFlexEligible", m_sizeFlexEligible); + + } + + if(m_tenancyHasBeenSet) + { + payload.WithString("tenancy", m_tenancy); + + } + + if(m_termHasBeenSet) + { + payload.WithString("term", m_term); + + } + + if(m_upfrontCostHasBeenSet) + { + payload.WithString("upfrontCost", m_upfrontCost); + + } + + return payload; +} + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/EcsService.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/EcsService.cpp new file mode 100644 index 00000000000..b163fe38ee5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/EcsService.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 CostOptimizationHub +{ +namespace Model +{ + +EcsService::EcsService() : + m_configurationHasBeenSet(false), + m_costCalculationHasBeenSet(false) +{ +} + +EcsService::EcsService(JsonView jsonValue) : + m_configurationHasBeenSet(false), + m_costCalculationHasBeenSet(false) +{ + *this = jsonValue; +} + +EcsService& EcsService::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("configuration")) + { + m_configuration = jsonValue.GetObject("configuration"); + + m_configurationHasBeenSet = true; + } + + if(jsonValue.ValueExists("costCalculation")) + { + m_costCalculation = jsonValue.GetObject("costCalculation"); + + m_costCalculationHasBeenSet = true; + } + + return *this; +} + +JsonValue EcsService::Jsonize() const +{ + JsonValue payload; + + if(m_configurationHasBeenSet) + { + payload.WithObject("configuration", m_configuration.Jsonize()); + + } + + if(m_costCalculationHasBeenSet) + { + payload.WithObject("costCalculation", m_costCalculation.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/EcsServiceConfiguration.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/EcsServiceConfiguration.cpp new file mode 100644 index 00000000000..92928c2f62f --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/EcsServiceConfiguration.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 CostOptimizationHub +{ +namespace Model +{ + +EcsServiceConfiguration::EcsServiceConfiguration() : + m_computeHasBeenSet(false) +{ +} + +EcsServiceConfiguration::EcsServiceConfiguration(JsonView jsonValue) : + m_computeHasBeenSet(false) +{ + *this = jsonValue; +} + +EcsServiceConfiguration& EcsServiceConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("compute")) + { + m_compute = jsonValue.GetObject("compute"); + + m_computeHasBeenSet = true; + } + + return *this; +} + +JsonValue EcsServiceConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_computeHasBeenSet) + { + payload.WithObject("compute", m_compute.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/ElastiCacheReservedInstances.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/ElastiCacheReservedInstances.cpp new file mode 100644 index 00000000000..fec1acee178 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/ElastiCacheReservedInstances.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 CostOptimizationHub +{ +namespace Model +{ + +ElastiCacheReservedInstances::ElastiCacheReservedInstances() : + m_configurationHasBeenSet(false), + m_costCalculationHasBeenSet(false) +{ +} + +ElastiCacheReservedInstances::ElastiCacheReservedInstances(JsonView jsonValue) : + m_configurationHasBeenSet(false), + m_costCalculationHasBeenSet(false) +{ + *this = jsonValue; +} + +ElastiCacheReservedInstances& ElastiCacheReservedInstances::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("configuration")) + { + m_configuration = jsonValue.GetObject("configuration"); + + m_configurationHasBeenSet = true; + } + + if(jsonValue.ValueExists("costCalculation")) + { + m_costCalculation = jsonValue.GetObject("costCalculation"); + + m_costCalculationHasBeenSet = true; + } + + return *this; +} + +JsonValue ElastiCacheReservedInstances::Jsonize() const +{ + JsonValue payload; + + if(m_configurationHasBeenSet) + { + payload.WithObject("configuration", m_configuration.Jsonize()); + + } + + if(m_costCalculationHasBeenSet) + { + payload.WithObject("costCalculation", m_costCalculation.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/ElastiCacheReservedInstancesConfiguration.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/ElastiCacheReservedInstancesConfiguration.cpp new file mode 100644 index 00000000000..12bfab8557a --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/ElastiCacheReservedInstancesConfiguration.cpp @@ -0,0 +1,241 @@ +/** + * 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 CostOptimizationHub +{ +namespace Model +{ + +ElastiCacheReservedInstancesConfiguration::ElastiCacheReservedInstancesConfiguration() : + m_accountScopeHasBeenSet(false), + m_currentGenerationHasBeenSet(false), + m_instanceFamilyHasBeenSet(false), + m_instanceTypeHasBeenSet(false), + m_monthlyRecurringCostHasBeenSet(false), + m_normalizedUnitsToPurchaseHasBeenSet(false), + m_numberOfInstancesToPurchaseHasBeenSet(false), + m_paymentOptionHasBeenSet(false), + m_reservedInstancesRegionHasBeenSet(false), + m_serviceHasBeenSet(false), + m_sizeFlexEligible(false), + m_sizeFlexEligibleHasBeenSet(false), + m_termHasBeenSet(false), + m_upfrontCostHasBeenSet(false) +{ +} + +ElastiCacheReservedInstancesConfiguration::ElastiCacheReservedInstancesConfiguration(JsonView jsonValue) : + m_accountScopeHasBeenSet(false), + m_currentGenerationHasBeenSet(false), + m_instanceFamilyHasBeenSet(false), + m_instanceTypeHasBeenSet(false), + m_monthlyRecurringCostHasBeenSet(false), + m_normalizedUnitsToPurchaseHasBeenSet(false), + m_numberOfInstancesToPurchaseHasBeenSet(false), + m_paymentOptionHasBeenSet(false), + m_reservedInstancesRegionHasBeenSet(false), + m_serviceHasBeenSet(false), + m_sizeFlexEligible(false), + m_sizeFlexEligibleHasBeenSet(false), + m_termHasBeenSet(false), + m_upfrontCostHasBeenSet(false) +{ + *this = jsonValue; +} + +ElastiCacheReservedInstancesConfiguration& ElastiCacheReservedInstancesConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("accountScope")) + { + m_accountScope = jsonValue.GetString("accountScope"); + + m_accountScopeHasBeenSet = true; + } + + if(jsonValue.ValueExists("currentGeneration")) + { + m_currentGeneration = jsonValue.GetString("currentGeneration"); + + m_currentGenerationHasBeenSet = true; + } + + if(jsonValue.ValueExists("instanceFamily")) + { + m_instanceFamily = jsonValue.GetString("instanceFamily"); + + m_instanceFamilyHasBeenSet = true; + } + + if(jsonValue.ValueExists("instanceType")) + { + m_instanceType = jsonValue.GetString("instanceType"); + + m_instanceTypeHasBeenSet = true; + } + + if(jsonValue.ValueExists("monthlyRecurringCost")) + { + m_monthlyRecurringCost = jsonValue.GetString("monthlyRecurringCost"); + + m_monthlyRecurringCostHasBeenSet = true; + } + + if(jsonValue.ValueExists("normalizedUnitsToPurchase")) + { + m_normalizedUnitsToPurchase = jsonValue.GetString("normalizedUnitsToPurchase"); + + m_normalizedUnitsToPurchaseHasBeenSet = true; + } + + if(jsonValue.ValueExists("numberOfInstancesToPurchase")) + { + m_numberOfInstancesToPurchase = jsonValue.GetString("numberOfInstancesToPurchase"); + + m_numberOfInstancesToPurchaseHasBeenSet = true; + } + + if(jsonValue.ValueExists("paymentOption")) + { + m_paymentOption = jsonValue.GetString("paymentOption"); + + m_paymentOptionHasBeenSet = true; + } + + if(jsonValue.ValueExists("reservedInstancesRegion")) + { + m_reservedInstancesRegion = jsonValue.GetString("reservedInstancesRegion"); + + m_reservedInstancesRegionHasBeenSet = true; + } + + if(jsonValue.ValueExists("service")) + { + m_service = jsonValue.GetString("service"); + + m_serviceHasBeenSet = true; + } + + if(jsonValue.ValueExists("sizeFlexEligible")) + { + m_sizeFlexEligible = jsonValue.GetBool("sizeFlexEligible"); + + m_sizeFlexEligibleHasBeenSet = true; + } + + if(jsonValue.ValueExists("term")) + { + m_term = jsonValue.GetString("term"); + + m_termHasBeenSet = true; + } + + if(jsonValue.ValueExists("upfrontCost")) + { + m_upfrontCost = jsonValue.GetString("upfrontCost"); + + m_upfrontCostHasBeenSet = true; + } + + return *this; +} + +JsonValue ElastiCacheReservedInstancesConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_accountScopeHasBeenSet) + { + payload.WithString("accountScope", m_accountScope); + + } + + if(m_currentGenerationHasBeenSet) + { + payload.WithString("currentGeneration", m_currentGeneration); + + } + + if(m_instanceFamilyHasBeenSet) + { + payload.WithString("instanceFamily", m_instanceFamily); + + } + + if(m_instanceTypeHasBeenSet) + { + payload.WithString("instanceType", m_instanceType); + + } + + if(m_monthlyRecurringCostHasBeenSet) + { + payload.WithString("monthlyRecurringCost", m_monthlyRecurringCost); + + } + + if(m_normalizedUnitsToPurchaseHasBeenSet) + { + payload.WithString("normalizedUnitsToPurchase", m_normalizedUnitsToPurchase); + + } + + if(m_numberOfInstancesToPurchaseHasBeenSet) + { + payload.WithString("numberOfInstancesToPurchase", m_numberOfInstancesToPurchase); + + } + + if(m_paymentOptionHasBeenSet) + { + payload.WithString("paymentOption", m_paymentOption); + + } + + if(m_reservedInstancesRegionHasBeenSet) + { + payload.WithString("reservedInstancesRegion", m_reservedInstancesRegion); + + } + + if(m_serviceHasBeenSet) + { + payload.WithString("service", m_service); + + } + + if(m_sizeFlexEligibleHasBeenSet) + { + payload.WithBool("sizeFlexEligible", m_sizeFlexEligible); + + } + + if(m_termHasBeenSet) + { + payload.WithString("term", m_term); + + } + + if(m_upfrontCostHasBeenSet) + { + payload.WithString("upfrontCost", m_upfrontCost); + + } + + return payload; +} + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/EnrollmentStatus.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/EnrollmentStatus.cpp new file mode 100644 index 00000000000..ade47d2046c --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/EnrollmentStatus.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 CostOptimizationHub + { + namespace Model + { + namespace EnrollmentStatusMapper + { + + static const int Active_HASH = HashingUtils::HashString("Active"); + static const int Inactive_HASH = HashingUtils::HashString("Inactive"); + + + EnrollmentStatus GetEnrollmentStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Active_HASH) + { + return EnrollmentStatus::Active; + } + else if (hashCode == Inactive_HASH) + { + return EnrollmentStatus::Inactive; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return EnrollmentStatus::NOT_SET; + } + + Aws::String GetNameForEnrollmentStatus(EnrollmentStatus enumValue) + { + switch(enumValue) + { + case EnrollmentStatus::NOT_SET: + return {}; + case EnrollmentStatus::Active: + return "Active"; + case EnrollmentStatus::Inactive: + return "Inactive"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace EnrollmentStatusMapper + } // namespace Model + } // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/EstimatedDiscounts.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/EstimatedDiscounts.cpp new file mode 100644 index 00000000000..0e6ceb02b62 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/EstimatedDiscounts.cpp @@ -0,0 +1,95 @@ +/** + * 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 CostOptimizationHub +{ +namespace Model +{ + +EstimatedDiscounts::EstimatedDiscounts() : + m_otherDiscount(0.0), + m_otherDiscountHasBeenSet(false), + m_reservedInstancesDiscount(0.0), + m_reservedInstancesDiscountHasBeenSet(false), + m_savingsPlansDiscount(0.0), + m_savingsPlansDiscountHasBeenSet(false) +{ +} + +EstimatedDiscounts::EstimatedDiscounts(JsonView jsonValue) : + m_otherDiscount(0.0), + m_otherDiscountHasBeenSet(false), + m_reservedInstancesDiscount(0.0), + m_reservedInstancesDiscountHasBeenSet(false), + m_savingsPlansDiscount(0.0), + m_savingsPlansDiscountHasBeenSet(false) +{ + *this = jsonValue; +} + +EstimatedDiscounts& EstimatedDiscounts::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("otherDiscount")) + { + m_otherDiscount = jsonValue.GetDouble("otherDiscount"); + + m_otherDiscountHasBeenSet = true; + } + + if(jsonValue.ValueExists("reservedInstancesDiscount")) + { + m_reservedInstancesDiscount = jsonValue.GetDouble("reservedInstancesDiscount"); + + m_reservedInstancesDiscountHasBeenSet = true; + } + + if(jsonValue.ValueExists("savingsPlansDiscount")) + { + m_savingsPlansDiscount = jsonValue.GetDouble("savingsPlansDiscount"); + + m_savingsPlansDiscountHasBeenSet = true; + } + + return *this; +} + +JsonValue EstimatedDiscounts::Jsonize() const +{ + JsonValue payload; + + if(m_otherDiscountHasBeenSet) + { + payload.WithDouble("otherDiscount", m_otherDiscount); + + } + + if(m_reservedInstancesDiscountHasBeenSet) + { + payload.WithDouble("reservedInstancesDiscount", m_reservedInstancesDiscount); + + } + + if(m_savingsPlansDiscountHasBeenSet) + { + payload.WithDouble("savingsPlansDiscount", m_savingsPlansDiscount); + + } + + return payload; +} + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/Filter.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/Filter.cpp new file mode 100644 index 00000000000..981198a9557 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/Filter.cpp @@ -0,0 +1,285 @@ +/** + * 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 CostOptimizationHub +{ +namespace Model +{ + +Filter::Filter() : + m_accountIdsHasBeenSet(false), + m_actionTypesHasBeenSet(false), + m_implementationEffortsHasBeenSet(false), + m_recommendationIdsHasBeenSet(false), + m_regionsHasBeenSet(false), + m_resourceArnsHasBeenSet(false), + m_resourceIdsHasBeenSet(false), + m_resourceTypesHasBeenSet(false), + m_restartNeeded(false), + m_restartNeededHasBeenSet(false), + m_rollbackPossible(false), + m_rollbackPossibleHasBeenSet(false), + m_tagsHasBeenSet(false) +{ +} + +Filter::Filter(JsonView jsonValue) : + m_accountIdsHasBeenSet(false), + m_actionTypesHasBeenSet(false), + m_implementationEffortsHasBeenSet(false), + m_recommendationIdsHasBeenSet(false), + m_regionsHasBeenSet(false), + m_resourceArnsHasBeenSet(false), + m_resourceIdsHasBeenSet(false), + m_resourceTypesHasBeenSet(false), + m_restartNeeded(false), + m_restartNeededHasBeenSet(false), + m_rollbackPossible(false), + m_rollbackPossibleHasBeenSet(false), + m_tagsHasBeenSet(false) +{ + *this = jsonValue; +} + +Filter& Filter::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("accountIds")) + { + Aws::Utils::Array accountIdsJsonList = jsonValue.GetArray("accountIds"); + for(unsigned accountIdsIndex = 0; accountIdsIndex < accountIdsJsonList.GetLength(); ++accountIdsIndex) + { + m_accountIds.push_back(accountIdsJsonList[accountIdsIndex].AsString()); + } + m_accountIdsHasBeenSet = true; + } + + if(jsonValue.ValueExists("actionTypes")) + { + Aws::Utils::Array actionTypesJsonList = jsonValue.GetArray("actionTypes"); + for(unsigned actionTypesIndex = 0; actionTypesIndex < actionTypesJsonList.GetLength(); ++actionTypesIndex) + { + m_actionTypes.push_back(ActionTypeMapper::GetActionTypeForName(actionTypesJsonList[actionTypesIndex].AsString())); + } + m_actionTypesHasBeenSet = true; + } + + if(jsonValue.ValueExists("implementationEfforts")) + { + Aws::Utils::Array implementationEffortsJsonList = jsonValue.GetArray("implementationEfforts"); + for(unsigned implementationEffortsIndex = 0; implementationEffortsIndex < implementationEffortsJsonList.GetLength(); ++implementationEffortsIndex) + { + m_implementationEfforts.push_back(ImplementationEffortMapper::GetImplementationEffortForName(implementationEffortsJsonList[implementationEffortsIndex].AsString())); + } + m_implementationEffortsHasBeenSet = true; + } + + if(jsonValue.ValueExists("recommendationIds")) + { + Aws::Utils::Array recommendationIdsJsonList = jsonValue.GetArray("recommendationIds"); + for(unsigned recommendationIdsIndex = 0; recommendationIdsIndex < recommendationIdsJsonList.GetLength(); ++recommendationIdsIndex) + { + m_recommendationIds.push_back(recommendationIdsJsonList[recommendationIdsIndex].AsString()); + } + m_recommendationIdsHasBeenSet = true; + } + + if(jsonValue.ValueExists("regions")) + { + Aws::Utils::Array regionsJsonList = jsonValue.GetArray("regions"); + for(unsigned regionsIndex = 0; regionsIndex < regionsJsonList.GetLength(); ++regionsIndex) + { + m_regions.push_back(regionsJsonList[regionsIndex].AsString()); + } + m_regionsHasBeenSet = true; + } + + if(jsonValue.ValueExists("resourceArns")) + { + Aws::Utils::Array resourceArnsJsonList = jsonValue.GetArray("resourceArns"); + for(unsigned resourceArnsIndex = 0; resourceArnsIndex < resourceArnsJsonList.GetLength(); ++resourceArnsIndex) + { + m_resourceArns.push_back(resourceArnsJsonList[resourceArnsIndex].AsString()); + } + m_resourceArnsHasBeenSet = true; + } + + if(jsonValue.ValueExists("resourceIds")) + { + Aws::Utils::Array resourceIdsJsonList = jsonValue.GetArray("resourceIds"); + for(unsigned resourceIdsIndex = 0; resourceIdsIndex < resourceIdsJsonList.GetLength(); ++resourceIdsIndex) + { + m_resourceIds.push_back(resourceIdsJsonList[resourceIdsIndex].AsString()); + } + m_resourceIdsHasBeenSet = true; + } + + if(jsonValue.ValueExists("resourceTypes")) + { + Aws::Utils::Array resourceTypesJsonList = jsonValue.GetArray("resourceTypes"); + for(unsigned resourceTypesIndex = 0; resourceTypesIndex < resourceTypesJsonList.GetLength(); ++resourceTypesIndex) + { + m_resourceTypes.push_back(ResourceTypeMapper::GetResourceTypeForName(resourceTypesJsonList[resourceTypesIndex].AsString())); + } + m_resourceTypesHasBeenSet = true; + } + + if(jsonValue.ValueExists("restartNeeded")) + { + m_restartNeeded = jsonValue.GetBool("restartNeeded"); + + m_restartNeededHasBeenSet = true; + } + + if(jsonValue.ValueExists("rollbackPossible")) + { + m_rollbackPossible = jsonValue.GetBool("rollbackPossible"); + + m_rollbackPossibleHasBeenSet = true; + } + + if(jsonValue.ValueExists("tags")) + { + Aws::Utils::Array tagsJsonList = jsonValue.GetArray("tags"); + for(unsigned tagsIndex = 0; tagsIndex < tagsJsonList.GetLength(); ++tagsIndex) + { + m_tags.push_back(tagsJsonList[tagsIndex].AsObject()); + } + m_tagsHasBeenSet = true; + } + + return *this; +} + +JsonValue Filter::Jsonize() const +{ + JsonValue payload; + + if(m_accountIdsHasBeenSet) + { + Aws::Utils::Array accountIdsJsonList(m_accountIds.size()); + for(unsigned accountIdsIndex = 0; accountIdsIndex < accountIdsJsonList.GetLength(); ++accountIdsIndex) + { + accountIdsJsonList[accountIdsIndex].AsString(m_accountIds[accountIdsIndex]); + } + payload.WithArray("accountIds", std::move(accountIdsJsonList)); + + } + + if(m_actionTypesHasBeenSet) + { + Aws::Utils::Array actionTypesJsonList(m_actionTypes.size()); + for(unsigned actionTypesIndex = 0; actionTypesIndex < actionTypesJsonList.GetLength(); ++actionTypesIndex) + { + actionTypesJsonList[actionTypesIndex].AsString(ActionTypeMapper::GetNameForActionType(m_actionTypes[actionTypesIndex])); + } + payload.WithArray("actionTypes", std::move(actionTypesJsonList)); + + } + + if(m_implementationEffortsHasBeenSet) + { + Aws::Utils::Array implementationEffortsJsonList(m_implementationEfforts.size()); + for(unsigned implementationEffortsIndex = 0; implementationEffortsIndex < implementationEffortsJsonList.GetLength(); ++implementationEffortsIndex) + { + implementationEffortsJsonList[implementationEffortsIndex].AsString(ImplementationEffortMapper::GetNameForImplementationEffort(m_implementationEfforts[implementationEffortsIndex])); + } + payload.WithArray("implementationEfforts", std::move(implementationEffortsJsonList)); + + } + + if(m_recommendationIdsHasBeenSet) + { + Aws::Utils::Array recommendationIdsJsonList(m_recommendationIds.size()); + for(unsigned recommendationIdsIndex = 0; recommendationIdsIndex < recommendationIdsJsonList.GetLength(); ++recommendationIdsIndex) + { + recommendationIdsJsonList[recommendationIdsIndex].AsString(m_recommendationIds[recommendationIdsIndex]); + } + payload.WithArray("recommendationIds", std::move(recommendationIdsJsonList)); + + } + + if(m_regionsHasBeenSet) + { + Aws::Utils::Array regionsJsonList(m_regions.size()); + for(unsigned regionsIndex = 0; regionsIndex < regionsJsonList.GetLength(); ++regionsIndex) + { + regionsJsonList[regionsIndex].AsString(m_regions[regionsIndex]); + } + payload.WithArray("regions", std::move(regionsJsonList)); + + } + + if(m_resourceArnsHasBeenSet) + { + Aws::Utils::Array resourceArnsJsonList(m_resourceArns.size()); + for(unsigned resourceArnsIndex = 0; resourceArnsIndex < resourceArnsJsonList.GetLength(); ++resourceArnsIndex) + { + resourceArnsJsonList[resourceArnsIndex].AsString(m_resourceArns[resourceArnsIndex]); + } + payload.WithArray("resourceArns", std::move(resourceArnsJsonList)); + + } + + if(m_resourceIdsHasBeenSet) + { + Aws::Utils::Array resourceIdsJsonList(m_resourceIds.size()); + for(unsigned resourceIdsIndex = 0; resourceIdsIndex < resourceIdsJsonList.GetLength(); ++resourceIdsIndex) + { + resourceIdsJsonList[resourceIdsIndex].AsString(m_resourceIds[resourceIdsIndex]); + } + payload.WithArray("resourceIds", std::move(resourceIdsJsonList)); + + } + + if(m_resourceTypesHasBeenSet) + { + Aws::Utils::Array resourceTypesJsonList(m_resourceTypes.size()); + for(unsigned resourceTypesIndex = 0; resourceTypesIndex < resourceTypesJsonList.GetLength(); ++resourceTypesIndex) + { + resourceTypesJsonList[resourceTypesIndex].AsString(ResourceTypeMapper::GetNameForResourceType(m_resourceTypes[resourceTypesIndex])); + } + payload.WithArray("resourceTypes", std::move(resourceTypesJsonList)); + + } + + if(m_restartNeededHasBeenSet) + { + payload.WithBool("restartNeeded", m_restartNeeded); + + } + + if(m_rollbackPossibleHasBeenSet) + { + payload.WithBool("rollbackPossible", m_rollbackPossible); + + } + + 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; +} + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/GetPreferencesRequest.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/GetPreferencesRequest.cpp new file mode 100644 index 00000000000..069ba100fed --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/GetPreferencesRequest.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::CostOptimizationHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +GetPreferencesRequest::GetPreferencesRequest() +{ +} + +Aws::String GetPreferencesRequest::SerializePayload() const +{ + return "{}"; +} + +Aws::Http::HeaderValueCollection GetPreferencesRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "CostOptimizationHubService.GetPreferences")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/GetPreferencesResult.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/GetPreferencesResult.cpp new file mode 100644 index 00000000000..2dc93ac6672 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/GetPreferencesResult.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::CostOptimizationHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetPreferencesResult::GetPreferencesResult() : + m_memberAccountDiscountVisibility(MemberAccountDiscountVisibility::NOT_SET), + m_savingsEstimationMode(SavingsEstimationMode::NOT_SET) +{ +} + +GetPreferencesResult::GetPreferencesResult(const Aws::AmazonWebServiceResult& result) : + m_memberAccountDiscountVisibility(MemberAccountDiscountVisibility::NOT_SET), + m_savingsEstimationMode(SavingsEstimationMode::NOT_SET) +{ + *this = result; +} + +GetPreferencesResult& GetPreferencesResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("memberAccountDiscountVisibility")) + { + m_memberAccountDiscountVisibility = MemberAccountDiscountVisibilityMapper::GetMemberAccountDiscountVisibilityForName(jsonValue.GetString("memberAccountDiscountVisibility")); + + } + + if(jsonValue.ValueExists("savingsEstimationMode")) + { + m_savingsEstimationMode = SavingsEstimationModeMapper::GetSavingsEstimationModeForName(jsonValue.GetString("savingsEstimationMode")); + + } + + + 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-cost-optimization-hub/source/model/GetRecommendationRequest.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/GetRecommendationRequest.cpp new file mode 100644 index 00000000000..de97df1f348 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/GetRecommendationRequest.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::CostOptimizationHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +GetRecommendationRequest::GetRecommendationRequest() : + m_recommendationIdHasBeenSet(false) +{ +} + +Aws::String GetRecommendationRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_recommendationIdHasBeenSet) + { + payload.WithString("recommendationId", m_recommendationId); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection GetRecommendationRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "CostOptimizationHubService.GetRecommendation")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/GetRecommendationResult.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/GetRecommendationResult.cpp new file mode 100644 index 00000000000..0b5269d89c9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/GetRecommendationResult.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 + +#include + +using namespace Aws::CostOptimizationHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetRecommendationResult::GetRecommendationResult() : + m_actionType(ActionType::NOT_SET), + m_costCalculationLookbackPeriodInDays(0), + m_currentResourceType(ResourceType::NOT_SET), + m_estimatedMonthlyCost(0.0), + m_estimatedMonthlySavings(0.0), + m_estimatedSavingsOverCostCalculationLookbackPeriod(0.0), + m_estimatedSavingsPercentage(0.0), + m_implementationEffort(ImplementationEffort::NOT_SET), + m_recommendationLookbackPeriodInDays(0), + m_recommendedResourceType(ResourceType::NOT_SET), + m_restartNeeded(false), + m_rollbackPossible(false), + m_source(Source::NOT_SET) +{ +} + +GetRecommendationResult::GetRecommendationResult(const Aws::AmazonWebServiceResult& result) : + m_actionType(ActionType::NOT_SET), + m_costCalculationLookbackPeriodInDays(0), + m_currentResourceType(ResourceType::NOT_SET), + m_estimatedMonthlyCost(0.0), + m_estimatedMonthlySavings(0.0), + m_estimatedSavingsOverCostCalculationLookbackPeriod(0.0), + m_estimatedSavingsPercentage(0.0), + m_implementationEffort(ImplementationEffort::NOT_SET), + m_recommendationLookbackPeriodInDays(0), + m_recommendedResourceType(ResourceType::NOT_SET), + m_restartNeeded(false), + m_rollbackPossible(false), + m_source(Source::NOT_SET) +{ + *this = result; +} + +GetRecommendationResult& GetRecommendationResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("accountId")) + { + m_accountId = jsonValue.GetString("accountId"); + + } + + if(jsonValue.ValueExists("actionType")) + { + m_actionType = ActionTypeMapper::GetActionTypeForName(jsonValue.GetString("actionType")); + + } + + if(jsonValue.ValueExists("costCalculationLookbackPeriodInDays")) + { + m_costCalculationLookbackPeriodInDays = jsonValue.GetInteger("costCalculationLookbackPeriodInDays"); + + } + + if(jsonValue.ValueExists("currencyCode")) + { + m_currencyCode = jsonValue.GetString("currencyCode"); + + } + + if(jsonValue.ValueExists("currentResourceDetails")) + { + m_currentResourceDetails = jsonValue.GetObject("currentResourceDetails"); + + } + + if(jsonValue.ValueExists("currentResourceType")) + { + m_currentResourceType = ResourceTypeMapper::GetResourceTypeForName(jsonValue.GetString("currentResourceType")); + + } + + if(jsonValue.ValueExists("estimatedMonthlyCost")) + { + m_estimatedMonthlyCost = jsonValue.GetDouble("estimatedMonthlyCost"); + + } + + if(jsonValue.ValueExists("estimatedMonthlySavings")) + { + m_estimatedMonthlySavings = jsonValue.GetDouble("estimatedMonthlySavings"); + + } + + if(jsonValue.ValueExists("estimatedSavingsOverCostCalculationLookbackPeriod")) + { + m_estimatedSavingsOverCostCalculationLookbackPeriod = jsonValue.GetDouble("estimatedSavingsOverCostCalculationLookbackPeriod"); + + } + + if(jsonValue.ValueExists("estimatedSavingsPercentage")) + { + m_estimatedSavingsPercentage = jsonValue.GetDouble("estimatedSavingsPercentage"); + + } + + if(jsonValue.ValueExists("implementationEffort")) + { + m_implementationEffort = ImplementationEffortMapper::GetImplementationEffortForName(jsonValue.GetString("implementationEffort")); + + } + + if(jsonValue.ValueExists("lastRefreshTimestamp")) + { + m_lastRefreshTimestamp = jsonValue.GetDouble("lastRefreshTimestamp"); + + } + + if(jsonValue.ValueExists("recommendationId")) + { + m_recommendationId = jsonValue.GetString("recommendationId"); + + } + + if(jsonValue.ValueExists("recommendationLookbackPeriodInDays")) + { + m_recommendationLookbackPeriodInDays = jsonValue.GetInteger("recommendationLookbackPeriodInDays"); + + } + + if(jsonValue.ValueExists("recommendedResourceDetails")) + { + m_recommendedResourceDetails = jsonValue.GetObject("recommendedResourceDetails"); + + } + + if(jsonValue.ValueExists("recommendedResourceType")) + { + m_recommendedResourceType = ResourceTypeMapper::GetResourceTypeForName(jsonValue.GetString("recommendedResourceType")); + + } + + if(jsonValue.ValueExists("region")) + { + m_region = jsonValue.GetString("region"); + + } + + if(jsonValue.ValueExists("resourceArn")) + { + m_resourceArn = jsonValue.GetString("resourceArn"); + + } + + if(jsonValue.ValueExists("resourceId")) + { + m_resourceId = jsonValue.GetString("resourceId"); + + } + + if(jsonValue.ValueExists("restartNeeded")) + { + m_restartNeeded = jsonValue.GetBool("restartNeeded"); + + } + + if(jsonValue.ValueExists("rollbackPossible")) + { + m_rollbackPossible = jsonValue.GetBool("rollbackPossible"); + + } + + if(jsonValue.ValueExists("source")) + { + m_source = SourceMapper::GetSourceForName(jsonValue.GetString("source")); + + } + + if(jsonValue.ValueExists("tags")) + { + Aws::Utils::Array tagsJsonList = jsonValue.GetArray("tags"); + for(unsigned tagsIndex = 0; tagsIndex < tagsJsonList.GetLength(); ++tagsIndex) + { + m_tags.push_back(tagsJsonList[tagsIndex].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-cost-optimization-hub/source/model/ImplementationEffort.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/ImplementationEffort.cpp new file mode 100644 index 00000000000..b93659b6f50 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/ImplementationEffort.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 CostOptimizationHub + { + namespace Model + { + namespace ImplementationEffortMapper + { + + static const int VeryLow_HASH = HashingUtils::HashString("VeryLow"); + static const int Low_HASH = HashingUtils::HashString("Low"); + static const int Medium_HASH = HashingUtils::HashString("Medium"); + static const int High_HASH = HashingUtils::HashString("High"); + static const int VeryHigh_HASH = HashingUtils::HashString("VeryHigh"); + + + ImplementationEffort GetImplementationEffortForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == VeryLow_HASH) + { + return ImplementationEffort::VeryLow; + } + else if (hashCode == Low_HASH) + { + return ImplementationEffort::Low; + } + else if (hashCode == Medium_HASH) + { + return ImplementationEffort::Medium; + } + else if (hashCode == High_HASH) + { + return ImplementationEffort::High; + } + else if (hashCode == VeryHigh_HASH) + { + return ImplementationEffort::VeryHigh; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ImplementationEffort::NOT_SET; + } + + Aws::String GetNameForImplementationEffort(ImplementationEffort enumValue) + { + switch(enumValue) + { + case ImplementationEffort::NOT_SET: + return {}; + case ImplementationEffort::VeryLow: + return "VeryLow"; + case ImplementationEffort::Low: + return "Low"; + case ImplementationEffort::Medium: + return "Medium"; + case ImplementationEffort::High: + return "High"; + case ImplementationEffort::VeryHigh: + return "VeryHigh"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ImplementationEffortMapper + } // namespace Model + } // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/InstanceConfiguration.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/InstanceConfiguration.cpp new file mode 100644 index 00000000000..4d8a2c22b50 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/InstanceConfiguration.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 CostOptimizationHub +{ +namespace Model +{ + +InstanceConfiguration::InstanceConfiguration() : + m_typeHasBeenSet(false) +{ +} + +InstanceConfiguration::InstanceConfiguration(JsonView jsonValue) : + m_typeHasBeenSet(false) +{ + *this = jsonValue; +} + +InstanceConfiguration& InstanceConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("type")) + { + m_type = jsonValue.GetString("type"); + + m_typeHasBeenSet = true; + } + + return *this; +} + +JsonValue InstanceConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_typeHasBeenSet) + { + payload.WithString("type", m_type); + + } + + return payload; +} + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/LambdaFunction.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/LambdaFunction.cpp new file mode 100644 index 00000000000..b2930c379bc --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/LambdaFunction.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 CostOptimizationHub +{ +namespace Model +{ + +LambdaFunction::LambdaFunction() : + m_configurationHasBeenSet(false), + m_costCalculationHasBeenSet(false) +{ +} + +LambdaFunction::LambdaFunction(JsonView jsonValue) : + m_configurationHasBeenSet(false), + m_costCalculationHasBeenSet(false) +{ + *this = jsonValue; +} + +LambdaFunction& LambdaFunction::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("configuration")) + { + m_configuration = jsonValue.GetObject("configuration"); + + m_configurationHasBeenSet = true; + } + + if(jsonValue.ValueExists("costCalculation")) + { + m_costCalculation = jsonValue.GetObject("costCalculation"); + + m_costCalculationHasBeenSet = true; + } + + return *this; +} + +JsonValue LambdaFunction::Jsonize() const +{ + JsonValue payload; + + if(m_configurationHasBeenSet) + { + payload.WithObject("configuration", m_configuration.Jsonize()); + + } + + if(m_costCalculationHasBeenSet) + { + payload.WithObject("costCalculation", m_costCalculation.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/LambdaFunctionConfiguration.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/LambdaFunctionConfiguration.cpp new file mode 100644 index 00000000000..3222216582a --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/LambdaFunctionConfiguration.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 CostOptimizationHub +{ +namespace Model +{ + +LambdaFunctionConfiguration::LambdaFunctionConfiguration() : + m_computeHasBeenSet(false) +{ +} + +LambdaFunctionConfiguration::LambdaFunctionConfiguration(JsonView jsonValue) : + m_computeHasBeenSet(false) +{ + *this = jsonValue; +} + +LambdaFunctionConfiguration& LambdaFunctionConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("compute")) + { + m_compute = jsonValue.GetObject("compute"); + + m_computeHasBeenSet = true; + } + + return *this; +} + +JsonValue LambdaFunctionConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_computeHasBeenSet) + { + payload.WithObject("compute", m_compute.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/ListEnrollmentStatusesRequest.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/ListEnrollmentStatusesRequest.cpp new file mode 100644 index 00000000000..2cc6d1ec698 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/ListEnrollmentStatusesRequest.cpp @@ -0,0 +1,66 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::CostOptimizationHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +ListEnrollmentStatusesRequest::ListEnrollmentStatusesRequest() : + m_accountIdHasBeenSet(false), + m_includeOrganizationInfo(false), + m_includeOrganizationInfoHasBeenSet(false), + m_maxResults(0), + m_maxResultsHasBeenSet(false), + m_nextTokenHasBeenSet(false) +{ +} + +Aws::String ListEnrollmentStatusesRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_accountIdHasBeenSet) + { + payload.WithString("accountId", m_accountId); + + } + + if(m_includeOrganizationInfoHasBeenSet) + { + payload.WithBool("includeOrganizationInfo", m_includeOrganizationInfo); + + } + + if(m_maxResultsHasBeenSet) + { + payload.WithInteger("maxResults", m_maxResults); + + } + + if(m_nextTokenHasBeenSet) + { + payload.WithString("nextToken", m_nextToken); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection ListEnrollmentStatusesRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "CostOptimizationHubService.ListEnrollmentStatuses")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/ListEnrollmentStatusesResult.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/ListEnrollmentStatusesResult.cpp new file mode 100644 index 00000000000..e26dd024dcf --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/ListEnrollmentStatusesResult.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::CostOptimizationHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListEnrollmentStatusesResult::ListEnrollmentStatusesResult() +{ +} + +ListEnrollmentStatusesResult::ListEnrollmentStatusesResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListEnrollmentStatusesResult& ListEnrollmentStatusesResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + 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()); + } + } + + 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-cost-optimization-hub/source/model/ListRecommendationSummariesRequest.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/ListRecommendationSummariesRequest.cpp new file mode 100644 index 00000000000..65be3824562 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/ListRecommendationSummariesRequest.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::CostOptimizationHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +ListRecommendationSummariesRequest::ListRecommendationSummariesRequest() : + m_filterHasBeenSet(false), + m_groupByHasBeenSet(false), + m_maxResults(0), + m_maxResultsHasBeenSet(false), + m_nextTokenHasBeenSet(false) +{ +} + +Aws::String ListRecommendationSummariesRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_filterHasBeenSet) + { + payload.WithObject("filter", m_filter.Jsonize()); + + } + + if(m_groupByHasBeenSet) + { + payload.WithString("groupBy", m_groupBy); + + } + + if(m_maxResultsHasBeenSet) + { + payload.WithInteger("maxResults", m_maxResults); + + } + + if(m_nextTokenHasBeenSet) + { + payload.WithString("nextToken", m_nextToken); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection ListRecommendationSummariesRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "CostOptimizationHubService.ListRecommendationSummaries")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/ListRecommendationSummariesResult.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/ListRecommendationSummariesResult.cpp new file mode 100644 index 00000000000..34f634f769e --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/ListRecommendationSummariesResult.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 +#include + +#include + +using namespace Aws::CostOptimizationHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListRecommendationSummariesResult::ListRecommendationSummariesResult() : + m_estimatedTotalDedupedSavings(0.0) +{ +} + +ListRecommendationSummariesResult::ListRecommendationSummariesResult(const Aws::AmazonWebServiceResult& result) : + m_estimatedTotalDedupedSavings(0.0) +{ + *this = result; +} + +ListRecommendationSummariesResult& ListRecommendationSummariesResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("currencyCode")) + { + m_currencyCode = jsonValue.GetString("currencyCode"); + + } + + if(jsonValue.ValueExists("estimatedTotalDedupedSavings")) + { + m_estimatedTotalDedupedSavings = jsonValue.GetDouble("estimatedTotalDedupedSavings"); + + } + + if(jsonValue.ValueExists("groupBy")) + { + m_groupBy = jsonValue.GetString("groupBy"); + + } + + 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()); + } + } + + 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-cost-optimization-hub/source/model/ListRecommendationsRequest.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/ListRecommendationsRequest.cpp new file mode 100644 index 00000000000..8c2621994fb --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/ListRecommendationsRequest.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::CostOptimizationHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +ListRecommendationsRequest::ListRecommendationsRequest() : + m_filterHasBeenSet(false), + m_includeAllRecommendations(false), + m_includeAllRecommendationsHasBeenSet(false), + m_maxResults(0), + m_maxResultsHasBeenSet(false), + m_nextTokenHasBeenSet(false), + m_orderByHasBeenSet(false) +{ +} + +Aws::String ListRecommendationsRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_filterHasBeenSet) + { + payload.WithObject("filter", m_filter.Jsonize()); + + } + + if(m_includeAllRecommendationsHasBeenSet) + { + payload.WithBool("includeAllRecommendations", m_includeAllRecommendations); + + } + + if(m_maxResultsHasBeenSet) + { + payload.WithInteger("maxResults", m_maxResults); + + } + + if(m_nextTokenHasBeenSet) + { + payload.WithString("nextToken", m_nextToken); + + } + + if(m_orderByHasBeenSet) + { + payload.WithObject("orderBy", m_orderBy.Jsonize()); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection ListRecommendationsRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "CostOptimizationHubService.ListRecommendations")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/ListRecommendationsResult.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/ListRecommendationsResult.cpp new file mode 100644 index 00000000000..a5848525f2b --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/ListRecommendationsResult.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::CostOptimizationHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListRecommendationsResult::ListRecommendationsResult() +{ +} + +ListRecommendationsResult::ListRecommendationsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListRecommendationsResult& ListRecommendationsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + 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()); + } + } + + 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-cost-optimization-hub/source/model/MemberAccountDiscountVisibility.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/MemberAccountDiscountVisibility.cpp new file mode 100644 index 00000000000..5e2faf8ac91 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/MemberAccountDiscountVisibility.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 CostOptimizationHub + { + namespace Model + { + namespace MemberAccountDiscountVisibilityMapper + { + + static const int All_HASH = HashingUtils::HashString("All"); + static const int None_HASH = HashingUtils::HashString("None"); + + + MemberAccountDiscountVisibility GetMemberAccountDiscountVisibilityForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == All_HASH) + { + return MemberAccountDiscountVisibility::All; + } + else if (hashCode == None_HASH) + { + return MemberAccountDiscountVisibility::None; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return MemberAccountDiscountVisibility::NOT_SET; + } + + Aws::String GetNameForMemberAccountDiscountVisibility(MemberAccountDiscountVisibility enumValue) + { + switch(enumValue) + { + case MemberAccountDiscountVisibility::NOT_SET: + return {}; + case MemberAccountDiscountVisibility::All: + return "All"; + case MemberAccountDiscountVisibility::None: + return "None"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace MemberAccountDiscountVisibilityMapper + } // namespace Model + } // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/OpenSearchReservedInstances.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/OpenSearchReservedInstances.cpp new file mode 100644 index 00000000000..208996266b1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/OpenSearchReservedInstances.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 CostOptimizationHub +{ +namespace Model +{ + +OpenSearchReservedInstances::OpenSearchReservedInstances() : + m_configurationHasBeenSet(false), + m_costCalculationHasBeenSet(false) +{ +} + +OpenSearchReservedInstances::OpenSearchReservedInstances(JsonView jsonValue) : + m_configurationHasBeenSet(false), + m_costCalculationHasBeenSet(false) +{ + *this = jsonValue; +} + +OpenSearchReservedInstances& OpenSearchReservedInstances::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("configuration")) + { + m_configuration = jsonValue.GetObject("configuration"); + + m_configurationHasBeenSet = true; + } + + if(jsonValue.ValueExists("costCalculation")) + { + m_costCalculation = jsonValue.GetObject("costCalculation"); + + m_costCalculationHasBeenSet = true; + } + + return *this; +} + +JsonValue OpenSearchReservedInstances::Jsonize() const +{ + JsonValue payload; + + if(m_configurationHasBeenSet) + { + payload.WithObject("configuration", m_configuration.Jsonize()); + + } + + if(m_costCalculationHasBeenSet) + { + payload.WithObject("costCalculation", m_costCalculation.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/OpenSearchReservedInstancesConfiguration.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/OpenSearchReservedInstancesConfiguration.cpp new file mode 100644 index 00000000000..7f9c8dfa416 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/OpenSearchReservedInstancesConfiguration.cpp @@ -0,0 +1,226 @@ +/** + * 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 CostOptimizationHub +{ +namespace Model +{ + +OpenSearchReservedInstancesConfiguration::OpenSearchReservedInstancesConfiguration() : + m_accountScopeHasBeenSet(false), + m_currentGenerationHasBeenSet(false), + m_instanceTypeHasBeenSet(false), + m_monthlyRecurringCostHasBeenSet(false), + m_normalizedUnitsToPurchaseHasBeenSet(false), + m_numberOfInstancesToPurchaseHasBeenSet(false), + m_paymentOptionHasBeenSet(false), + m_reservedInstancesRegionHasBeenSet(false), + m_serviceHasBeenSet(false), + m_sizeFlexEligible(false), + m_sizeFlexEligibleHasBeenSet(false), + m_termHasBeenSet(false), + m_upfrontCostHasBeenSet(false) +{ +} + +OpenSearchReservedInstancesConfiguration::OpenSearchReservedInstancesConfiguration(JsonView jsonValue) : + m_accountScopeHasBeenSet(false), + m_currentGenerationHasBeenSet(false), + m_instanceTypeHasBeenSet(false), + m_monthlyRecurringCostHasBeenSet(false), + m_normalizedUnitsToPurchaseHasBeenSet(false), + m_numberOfInstancesToPurchaseHasBeenSet(false), + m_paymentOptionHasBeenSet(false), + m_reservedInstancesRegionHasBeenSet(false), + m_serviceHasBeenSet(false), + m_sizeFlexEligible(false), + m_sizeFlexEligibleHasBeenSet(false), + m_termHasBeenSet(false), + m_upfrontCostHasBeenSet(false) +{ + *this = jsonValue; +} + +OpenSearchReservedInstancesConfiguration& OpenSearchReservedInstancesConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("accountScope")) + { + m_accountScope = jsonValue.GetString("accountScope"); + + m_accountScopeHasBeenSet = true; + } + + if(jsonValue.ValueExists("currentGeneration")) + { + m_currentGeneration = jsonValue.GetString("currentGeneration"); + + m_currentGenerationHasBeenSet = true; + } + + if(jsonValue.ValueExists("instanceType")) + { + m_instanceType = jsonValue.GetString("instanceType"); + + m_instanceTypeHasBeenSet = true; + } + + if(jsonValue.ValueExists("monthlyRecurringCost")) + { + m_monthlyRecurringCost = jsonValue.GetString("monthlyRecurringCost"); + + m_monthlyRecurringCostHasBeenSet = true; + } + + if(jsonValue.ValueExists("normalizedUnitsToPurchase")) + { + m_normalizedUnitsToPurchase = jsonValue.GetString("normalizedUnitsToPurchase"); + + m_normalizedUnitsToPurchaseHasBeenSet = true; + } + + if(jsonValue.ValueExists("numberOfInstancesToPurchase")) + { + m_numberOfInstancesToPurchase = jsonValue.GetString("numberOfInstancesToPurchase"); + + m_numberOfInstancesToPurchaseHasBeenSet = true; + } + + if(jsonValue.ValueExists("paymentOption")) + { + m_paymentOption = jsonValue.GetString("paymentOption"); + + m_paymentOptionHasBeenSet = true; + } + + if(jsonValue.ValueExists("reservedInstancesRegion")) + { + m_reservedInstancesRegion = jsonValue.GetString("reservedInstancesRegion"); + + m_reservedInstancesRegionHasBeenSet = true; + } + + if(jsonValue.ValueExists("service")) + { + m_service = jsonValue.GetString("service"); + + m_serviceHasBeenSet = true; + } + + if(jsonValue.ValueExists("sizeFlexEligible")) + { + m_sizeFlexEligible = jsonValue.GetBool("sizeFlexEligible"); + + m_sizeFlexEligibleHasBeenSet = true; + } + + if(jsonValue.ValueExists("term")) + { + m_term = jsonValue.GetString("term"); + + m_termHasBeenSet = true; + } + + if(jsonValue.ValueExists("upfrontCost")) + { + m_upfrontCost = jsonValue.GetString("upfrontCost"); + + m_upfrontCostHasBeenSet = true; + } + + return *this; +} + +JsonValue OpenSearchReservedInstancesConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_accountScopeHasBeenSet) + { + payload.WithString("accountScope", m_accountScope); + + } + + if(m_currentGenerationHasBeenSet) + { + payload.WithString("currentGeneration", m_currentGeneration); + + } + + if(m_instanceTypeHasBeenSet) + { + payload.WithString("instanceType", m_instanceType); + + } + + if(m_monthlyRecurringCostHasBeenSet) + { + payload.WithString("monthlyRecurringCost", m_monthlyRecurringCost); + + } + + if(m_normalizedUnitsToPurchaseHasBeenSet) + { + payload.WithString("normalizedUnitsToPurchase", m_normalizedUnitsToPurchase); + + } + + if(m_numberOfInstancesToPurchaseHasBeenSet) + { + payload.WithString("numberOfInstancesToPurchase", m_numberOfInstancesToPurchase); + + } + + if(m_paymentOptionHasBeenSet) + { + payload.WithString("paymentOption", m_paymentOption); + + } + + if(m_reservedInstancesRegionHasBeenSet) + { + payload.WithString("reservedInstancesRegion", m_reservedInstancesRegion); + + } + + if(m_serviceHasBeenSet) + { + payload.WithString("service", m_service); + + } + + if(m_sizeFlexEligibleHasBeenSet) + { + payload.WithBool("sizeFlexEligible", m_sizeFlexEligible); + + } + + if(m_termHasBeenSet) + { + payload.WithString("term", m_term); + + } + + if(m_upfrontCostHasBeenSet) + { + payload.WithString("upfrontCost", m_upfrontCost); + + } + + return payload; +} + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/Order.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/Order.cpp new file mode 100644 index 00000000000..a7cf10e731f --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/Order.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 CostOptimizationHub + { + namespace Model + { + namespace OrderMapper + { + + static const int Asc_HASH = HashingUtils::HashString("Asc"); + static const int Desc_HASH = HashingUtils::HashString("Desc"); + + + Order GetOrderForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Asc_HASH) + { + return Order::Asc; + } + else if (hashCode == Desc_HASH) + { + return Order::Desc; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return Order::NOT_SET; + } + + Aws::String GetNameForOrder(Order enumValue) + { + switch(enumValue) + { + case Order::NOT_SET: + return {}; + case Order::Asc: + return "Asc"; + case Order::Desc: + return "Desc"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace OrderMapper + } // namespace Model + } // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/OrderBy.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/OrderBy.cpp new file mode 100644 index 00000000000..d3036290318 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/OrderBy.cpp @@ -0,0 +1,75 @@ +/** + * 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 CostOptimizationHub +{ +namespace Model +{ + +OrderBy::OrderBy() : + m_dimensionHasBeenSet(false), + m_order(Order::NOT_SET), + m_orderHasBeenSet(false) +{ +} + +OrderBy::OrderBy(JsonView jsonValue) : + m_dimensionHasBeenSet(false), + m_order(Order::NOT_SET), + m_orderHasBeenSet(false) +{ + *this = jsonValue; +} + +OrderBy& OrderBy::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("dimension")) + { + m_dimension = jsonValue.GetString("dimension"); + + m_dimensionHasBeenSet = true; + } + + if(jsonValue.ValueExists("order")) + { + m_order = OrderMapper::GetOrderForName(jsonValue.GetString("order")); + + m_orderHasBeenSet = true; + } + + return *this; +} + +JsonValue OrderBy::Jsonize() const +{ + JsonValue payload; + + if(m_dimensionHasBeenSet) + { + payload.WithString("dimension", m_dimension); + + } + + if(m_orderHasBeenSet) + { + payload.WithString("order", OrderMapper::GetNameForOrder(m_order)); + } + + return payload; +} + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/RdsReservedInstances.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/RdsReservedInstances.cpp new file mode 100644 index 00000000000..ec2245f6d33 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/RdsReservedInstances.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 CostOptimizationHub +{ +namespace Model +{ + +RdsReservedInstances::RdsReservedInstances() : + m_configurationHasBeenSet(false), + m_costCalculationHasBeenSet(false) +{ +} + +RdsReservedInstances::RdsReservedInstances(JsonView jsonValue) : + m_configurationHasBeenSet(false), + m_costCalculationHasBeenSet(false) +{ + *this = jsonValue; +} + +RdsReservedInstances& RdsReservedInstances::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("configuration")) + { + m_configuration = jsonValue.GetObject("configuration"); + + m_configurationHasBeenSet = true; + } + + if(jsonValue.ValueExists("costCalculation")) + { + m_costCalculation = jsonValue.GetObject("costCalculation"); + + m_costCalculationHasBeenSet = true; + } + + return *this; +} + +JsonValue RdsReservedInstances::Jsonize() const +{ + JsonValue payload; + + if(m_configurationHasBeenSet) + { + payload.WithObject("configuration", m_configuration.Jsonize()); + + } + + if(m_costCalculationHasBeenSet) + { + payload.WithObject("costCalculation", m_costCalculation.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/RdsReservedInstancesConfiguration.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/RdsReservedInstancesConfiguration.cpp new file mode 100644 index 00000000000..97a62122259 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/RdsReservedInstancesConfiguration.cpp @@ -0,0 +1,301 @@ +/** + * 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 CostOptimizationHub +{ +namespace Model +{ + +RdsReservedInstancesConfiguration::RdsReservedInstancesConfiguration() : + m_accountScopeHasBeenSet(false), + m_currentGenerationHasBeenSet(false), + m_databaseEditionHasBeenSet(false), + m_databaseEngineHasBeenSet(false), + m_deploymentOptionHasBeenSet(false), + m_instanceFamilyHasBeenSet(false), + m_instanceTypeHasBeenSet(false), + m_licenseModelHasBeenSet(false), + m_monthlyRecurringCostHasBeenSet(false), + m_normalizedUnitsToPurchaseHasBeenSet(false), + m_numberOfInstancesToPurchaseHasBeenSet(false), + m_paymentOptionHasBeenSet(false), + m_reservedInstancesRegionHasBeenSet(false), + m_serviceHasBeenSet(false), + m_sizeFlexEligible(false), + m_sizeFlexEligibleHasBeenSet(false), + m_termHasBeenSet(false), + m_upfrontCostHasBeenSet(false) +{ +} + +RdsReservedInstancesConfiguration::RdsReservedInstancesConfiguration(JsonView jsonValue) : + m_accountScopeHasBeenSet(false), + m_currentGenerationHasBeenSet(false), + m_databaseEditionHasBeenSet(false), + m_databaseEngineHasBeenSet(false), + m_deploymentOptionHasBeenSet(false), + m_instanceFamilyHasBeenSet(false), + m_instanceTypeHasBeenSet(false), + m_licenseModelHasBeenSet(false), + m_monthlyRecurringCostHasBeenSet(false), + m_normalizedUnitsToPurchaseHasBeenSet(false), + m_numberOfInstancesToPurchaseHasBeenSet(false), + m_paymentOptionHasBeenSet(false), + m_reservedInstancesRegionHasBeenSet(false), + m_serviceHasBeenSet(false), + m_sizeFlexEligible(false), + m_sizeFlexEligibleHasBeenSet(false), + m_termHasBeenSet(false), + m_upfrontCostHasBeenSet(false) +{ + *this = jsonValue; +} + +RdsReservedInstancesConfiguration& RdsReservedInstancesConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("accountScope")) + { + m_accountScope = jsonValue.GetString("accountScope"); + + m_accountScopeHasBeenSet = true; + } + + if(jsonValue.ValueExists("currentGeneration")) + { + m_currentGeneration = jsonValue.GetString("currentGeneration"); + + m_currentGenerationHasBeenSet = true; + } + + if(jsonValue.ValueExists("databaseEdition")) + { + m_databaseEdition = jsonValue.GetString("databaseEdition"); + + m_databaseEditionHasBeenSet = true; + } + + if(jsonValue.ValueExists("databaseEngine")) + { + m_databaseEngine = jsonValue.GetString("databaseEngine"); + + m_databaseEngineHasBeenSet = true; + } + + if(jsonValue.ValueExists("deploymentOption")) + { + m_deploymentOption = jsonValue.GetString("deploymentOption"); + + m_deploymentOptionHasBeenSet = true; + } + + if(jsonValue.ValueExists("instanceFamily")) + { + m_instanceFamily = jsonValue.GetString("instanceFamily"); + + m_instanceFamilyHasBeenSet = true; + } + + if(jsonValue.ValueExists("instanceType")) + { + m_instanceType = jsonValue.GetString("instanceType"); + + m_instanceTypeHasBeenSet = true; + } + + if(jsonValue.ValueExists("licenseModel")) + { + m_licenseModel = jsonValue.GetString("licenseModel"); + + m_licenseModelHasBeenSet = true; + } + + if(jsonValue.ValueExists("monthlyRecurringCost")) + { + m_monthlyRecurringCost = jsonValue.GetString("monthlyRecurringCost"); + + m_monthlyRecurringCostHasBeenSet = true; + } + + if(jsonValue.ValueExists("normalizedUnitsToPurchase")) + { + m_normalizedUnitsToPurchase = jsonValue.GetString("normalizedUnitsToPurchase"); + + m_normalizedUnitsToPurchaseHasBeenSet = true; + } + + if(jsonValue.ValueExists("numberOfInstancesToPurchase")) + { + m_numberOfInstancesToPurchase = jsonValue.GetString("numberOfInstancesToPurchase"); + + m_numberOfInstancesToPurchaseHasBeenSet = true; + } + + if(jsonValue.ValueExists("paymentOption")) + { + m_paymentOption = jsonValue.GetString("paymentOption"); + + m_paymentOptionHasBeenSet = true; + } + + if(jsonValue.ValueExists("reservedInstancesRegion")) + { + m_reservedInstancesRegion = jsonValue.GetString("reservedInstancesRegion"); + + m_reservedInstancesRegionHasBeenSet = true; + } + + if(jsonValue.ValueExists("service")) + { + m_service = jsonValue.GetString("service"); + + m_serviceHasBeenSet = true; + } + + if(jsonValue.ValueExists("sizeFlexEligible")) + { + m_sizeFlexEligible = jsonValue.GetBool("sizeFlexEligible"); + + m_sizeFlexEligibleHasBeenSet = true; + } + + if(jsonValue.ValueExists("term")) + { + m_term = jsonValue.GetString("term"); + + m_termHasBeenSet = true; + } + + if(jsonValue.ValueExists("upfrontCost")) + { + m_upfrontCost = jsonValue.GetString("upfrontCost"); + + m_upfrontCostHasBeenSet = true; + } + + return *this; +} + +JsonValue RdsReservedInstancesConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_accountScopeHasBeenSet) + { + payload.WithString("accountScope", m_accountScope); + + } + + if(m_currentGenerationHasBeenSet) + { + payload.WithString("currentGeneration", m_currentGeneration); + + } + + if(m_databaseEditionHasBeenSet) + { + payload.WithString("databaseEdition", m_databaseEdition); + + } + + if(m_databaseEngineHasBeenSet) + { + payload.WithString("databaseEngine", m_databaseEngine); + + } + + if(m_deploymentOptionHasBeenSet) + { + payload.WithString("deploymentOption", m_deploymentOption); + + } + + if(m_instanceFamilyHasBeenSet) + { + payload.WithString("instanceFamily", m_instanceFamily); + + } + + if(m_instanceTypeHasBeenSet) + { + payload.WithString("instanceType", m_instanceType); + + } + + if(m_licenseModelHasBeenSet) + { + payload.WithString("licenseModel", m_licenseModel); + + } + + if(m_monthlyRecurringCostHasBeenSet) + { + payload.WithString("monthlyRecurringCost", m_monthlyRecurringCost); + + } + + if(m_normalizedUnitsToPurchaseHasBeenSet) + { + payload.WithString("normalizedUnitsToPurchase", m_normalizedUnitsToPurchase); + + } + + if(m_numberOfInstancesToPurchaseHasBeenSet) + { + payload.WithString("numberOfInstancesToPurchase", m_numberOfInstancesToPurchase); + + } + + if(m_paymentOptionHasBeenSet) + { + payload.WithString("paymentOption", m_paymentOption); + + } + + if(m_reservedInstancesRegionHasBeenSet) + { + payload.WithString("reservedInstancesRegion", m_reservedInstancesRegion); + + } + + if(m_serviceHasBeenSet) + { + payload.WithString("service", m_service); + + } + + if(m_sizeFlexEligibleHasBeenSet) + { + payload.WithBool("sizeFlexEligible", m_sizeFlexEligible); + + } + + if(m_termHasBeenSet) + { + payload.WithString("term", m_term); + + } + + if(m_upfrontCostHasBeenSet) + { + payload.WithString("upfrontCost", m_upfrontCost); + + } + + return payload; +} + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/Recommendation.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/Recommendation.cpp new file mode 100644 index 00000000000..2e26a6429f0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/Recommendation.cpp @@ -0,0 +1,379 @@ +/** + * 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 CostOptimizationHub +{ +namespace Model +{ + +Recommendation::Recommendation() : + m_accountIdHasBeenSet(false), + m_actionTypeHasBeenSet(false), + m_currencyCodeHasBeenSet(false), + m_currentResourceSummaryHasBeenSet(false), + m_currentResourceTypeHasBeenSet(false), + m_estimatedMonthlyCost(0.0), + m_estimatedMonthlyCostHasBeenSet(false), + m_estimatedMonthlySavings(0.0), + m_estimatedMonthlySavingsHasBeenSet(false), + m_estimatedSavingsPercentage(0.0), + m_estimatedSavingsPercentageHasBeenSet(false), + m_implementationEffortHasBeenSet(false), + m_lastRefreshTimestampHasBeenSet(false), + m_recommendationIdHasBeenSet(false), + m_recommendationLookbackPeriodInDays(0), + m_recommendationLookbackPeriodInDaysHasBeenSet(false), + m_recommendedResourceSummaryHasBeenSet(false), + m_recommendedResourceTypeHasBeenSet(false), + m_regionHasBeenSet(false), + m_resourceArnHasBeenSet(false), + m_resourceIdHasBeenSet(false), + m_restartNeeded(false), + m_restartNeededHasBeenSet(false), + m_rollbackPossible(false), + m_rollbackPossibleHasBeenSet(false), + m_source(Source::NOT_SET), + m_sourceHasBeenSet(false), + m_tagsHasBeenSet(false) +{ +} + +Recommendation::Recommendation(JsonView jsonValue) : + m_accountIdHasBeenSet(false), + m_actionTypeHasBeenSet(false), + m_currencyCodeHasBeenSet(false), + m_currentResourceSummaryHasBeenSet(false), + m_currentResourceTypeHasBeenSet(false), + m_estimatedMonthlyCost(0.0), + m_estimatedMonthlyCostHasBeenSet(false), + m_estimatedMonthlySavings(0.0), + m_estimatedMonthlySavingsHasBeenSet(false), + m_estimatedSavingsPercentage(0.0), + m_estimatedSavingsPercentageHasBeenSet(false), + m_implementationEffortHasBeenSet(false), + m_lastRefreshTimestampHasBeenSet(false), + m_recommendationIdHasBeenSet(false), + m_recommendationLookbackPeriodInDays(0), + m_recommendationLookbackPeriodInDaysHasBeenSet(false), + m_recommendedResourceSummaryHasBeenSet(false), + m_recommendedResourceTypeHasBeenSet(false), + m_regionHasBeenSet(false), + m_resourceArnHasBeenSet(false), + m_resourceIdHasBeenSet(false), + m_restartNeeded(false), + m_restartNeededHasBeenSet(false), + m_rollbackPossible(false), + m_rollbackPossibleHasBeenSet(false), + m_source(Source::NOT_SET), + m_sourceHasBeenSet(false), + m_tagsHasBeenSet(false) +{ + *this = jsonValue; +} + +Recommendation& Recommendation::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("accountId")) + { + m_accountId = jsonValue.GetString("accountId"); + + m_accountIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("actionType")) + { + m_actionType = jsonValue.GetString("actionType"); + + m_actionTypeHasBeenSet = true; + } + + if(jsonValue.ValueExists("currencyCode")) + { + m_currencyCode = jsonValue.GetString("currencyCode"); + + m_currencyCodeHasBeenSet = true; + } + + if(jsonValue.ValueExists("currentResourceSummary")) + { + m_currentResourceSummary = jsonValue.GetString("currentResourceSummary"); + + m_currentResourceSummaryHasBeenSet = true; + } + + if(jsonValue.ValueExists("currentResourceType")) + { + m_currentResourceType = jsonValue.GetString("currentResourceType"); + + m_currentResourceTypeHasBeenSet = true; + } + + if(jsonValue.ValueExists("estimatedMonthlyCost")) + { + m_estimatedMonthlyCost = jsonValue.GetDouble("estimatedMonthlyCost"); + + m_estimatedMonthlyCostHasBeenSet = true; + } + + if(jsonValue.ValueExists("estimatedMonthlySavings")) + { + m_estimatedMonthlySavings = jsonValue.GetDouble("estimatedMonthlySavings"); + + m_estimatedMonthlySavingsHasBeenSet = true; + } + + if(jsonValue.ValueExists("estimatedSavingsPercentage")) + { + m_estimatedSavingsPercentage = jsonValue.GetDouble("estimatedSavingsPercentage"); + + m_estimatedSavingsPercentageHasBeenSet = true; + } + + if(jsonValue.ValueExists("implementationEffort")) + { + m_implementationEffort = jsonValue.GetString("implementationEffort"); + + m_implementationEffortHasBeenSet = true; + } + + if(jsonValue.ValueExists("lastRefreshTimestamp")) + { + m_lastRefreshTimestamp = jsonValue.GetDouble("lastRefreshTimestamp"); + + m_lastRefreshTimestampHasBeenSet = true; + } + + if(jsonValue.ValueExists("recommendationId")) + { + m_recommendationId = jsonValue.GetString("recommendationId"); + + m_recommendationIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("recommendationLookbackPeriodInDays")) + { + m_recommendationLookbackPeriodInDays = jsonValue.GetInteger("recommendationLookbackPeriodInDays"); + + m_recommendationLookbackPeriodInDaysHasBeenSet = true; + } + + if(jsonValue.ValueExists("recommendedResourceSummary")) + { + m_recommendedResourceSummary = jsonValue.GetString("recommendedResourceSummary"); + + m_recommendedResourceSummaryHasBeenSet = true; + } + + if(jsonValue.ValueExists("recommendedResourceType")) + { + m_recommendedResourceType = jsonValue.GetString("recommendedResourceType"); + + m_recommendedResourceTypeHasBeenSet = true; + } + + if(jsonValue.ValueExists("region")) + { + m_region = jsonValue.GetString("region"); + + m_regionHasBeenSet = true; + } + + if(jsonValue.ValueExists("resourceArn")) + { + m_resourceArn = jsonValue.GetString("resourceArn"); + + m_resourceArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("resourceId")) + { + m_resourceId = jsonValue.GetString("resourceId"); + + m_resourceIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("restartNeeded")) + { + m_restartNeeded = jsonValue.GetBool("restartNeeded"); + + m_restartNeededHasBeenSet = true; + } + + if(jsonValue.ValueExists("rollbackPossible")) + { + m_rollbackPossible = jsonValue.GetBool("rollbackPossible"); + + m_rollbackPossibleHasBeenSet = true; + } + + if(jsonValue.ValueExists("source")) + { + m_source = SourceMapper::GetSourceForName(jsonValue.GetString("source")); + + m_sourceHasBeenSet = true; + } + + if(jsonValue.ValueExists("tags")) + { + Aws::Utils::Array tagsJsonList = jsonValue.GetArray("tags"); + for(unsigned tagsIndex = 0; tagsIndex < tagsJsonList.GetLength(); ++tagsIndex) + { + m_tags.push_back(tagsJsonList[tagsIndex].AsObject()); + } + m_tagsHasBeenSet = true; + } + + return *this; +} + +JsonValue Recommendation::Jsonize() const +{ + JsonValue payload; + + if(m_accountIdHasBeenSet) + { + payload.WithString("accountId", m_accountId); + + } + + if(m_actionTypeHasBeenSet) + { + payload.WithString("actionType", m_actionType); + + } + + if(m_currencyCodeHasBeenSet) + { + payload.WithString("currencyCode", m_currencyCode); + + } + + if(m_currentResourceSummaryHasBeenSet) + { + payload.WithString("currentResourceSummary", m_currentResourceSummary); + + } + + if(m_currentResourceTypeHasBeenSet) + { + payload.WithString("currentResourceType", m_currentResourceType); + + } + + if(m_estimatedMonthlyCostHasBeenSet) + { + payload.WithDouble("estimatedMonthlyCost", m_estimatedMonthlyCost); + + } + + if(m_estimatedMonthlySavingsHasBeenSet) + { + payload.WithDouble("estimatedMonthlySavings", m_estimatedMonthlySavings); + + } + + if(m_estimatedSavingsPercentageHasBeenSet) + { + payload.WithDouble("estimatedSavingsPercentage", m_estimatedSavingsPercentage); + + } + + if(m_implementationEffortHasBeenSet) + { + payload.WithString("implementationEffort", m_implementationEffort); + + } + + if(m_lastRefreshTimestampHasBeenSet) + { + payload.WithDouble("lastRefreshTimestamp", m_lastRefreshTimestamp.SecondsWithMSPrecision()); + } + + if(m_recommendationIdHasBeenSet) + { + payload.WithString("recommendationId", m_recommendationId); + + } + + if(m_recommendationLookbackPeriodInDaysHasBeenSet) + { + payload.WithInteger("recommendationLookbackPeriodInDays", m_recommendationLookbackPeriodInDays); + + } + + if(m_recommendedResourceSummaryHasBeenSet) + { + payload.WithString("recommendedResourceSummary", m_recommendedResourceSummary); + + } + + if(m_recommendedResourceTypeHasBeenSet) + { + payload.WithString("recommendedResourceType", m_recommendedResourceType); + + } + + if(m_regionHasBeenSet) + { + payload.WithString("region", m_region); + + } + + if(m_resourceArnHasBeenSet) + { + payload.WithString("resourceArn", m_resourceArn); + + } + + if(m_resourceIdHasBeenSet) + { + payload.WithString("resourceId", m_resourceId); + + } + + if(m_restartNeededHasBeenSet) + { + payload.WithBool("restartNeeded", m_restartNeeded); + + } + + if(m_rollbackPossibleHasBeenSet) + { + payload.WithBool("rollbackPossible", m_rollbackPossible); + + } + + if(m_sourceHasBeenSet) + { + payload.WithString("source", SourceMapper::GetNameForSource(m_source)); + } + + 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; +} + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/RecommendationSummary.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/RecommendationSummary.cpp new file mode 100644 index 00000000000..e69aa8fed10 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/RecommendationSummary.cpp @@ -0,0 +1,93 @@ +/** + * 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 CostOptimizationHub +{ +namespace Model +{ + +RecommendationSummary::RecommendationSummary() : + m_estimatedMonthlySavings(0.0), + m_estimatedMonthlySavingsHasBeenSet(false), + m_groupHasBeenSet(false), + m_recommendationCount(0), + m_recommendationCountHasBeenSet(false) +{ +} + +RecommendationSummary::RecommendationSummary(JsonView jsonValue) : + m_estimatedMonthlySavings(0.0), + m_estimatedMonthlySavingsHasBeenSet(false), + m_groupHasBeenSet(false), + m_recommendationCount(0), + m_recommendationCountHasBeenSet(false) +{ + *this = jsonValue; +} + +RecommendationSummary& RecommendationSummary::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("estimatedMonthlySavings")) + { + m_estimatedMonthlySavings = jsonValue.GetDouble("estimatedMonthlySavings"); + + m_estimatedMonthlySavingsHasBeenSet = true; + } + + if(jsonValue.ValueExists("group")) + { + m_group = jsonValue.GetString("group"); + + m_groupHasBeenSet = true; + } + + if(jsonValue.ValueExists("recommendationCount")) + { + m_recommendationCount = jsonValue.GetInteger("recommendationCount"); + + m_recommendationCountHasBeenSet = true; + } + + return *this; +} + +JsonValue RecommendationSummary::Jsonize() const +{ + JsonValue payload; + + if(m_estimatedMonthlySavingsHasBeenSet) + { + payload.WithDouble("estimatedMonthlySavings", m_estimatedMonthlySavings); + + } + + if(m_groupHasBeenSet) + { + payload.WithString("group", m_group); + + } + + if(m_recommendationCountHasBeenSet) + { + payload.WithInteger("recommendationCount", m_recommendationCount); + + } + + return payload; +} + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/RedshiftReservedInstances.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/RedshiftReservedInstances.cpp new file mode 100644 index 00000000000..c6563bec2c2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/RedshiftReservedInstances.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 CostOptimizationHub +{ +namespace Model +{ + +RedshiftReservedInstances::RedshiftReservedInstances() : + m_configurationHasBeenSet(false), + m_costCalculationHasBeenSet(false) +{ +} + +RedshiftReservedInstances::RedshiftReservedInstances(JsonView jsonValue) : + m_configurationHasBeenSet(false), + m_costCalculationHasBeenSet(false) +{ + *this = jsonValue; +} + +RedshiftReservedInstances& RedshiftReservedInstances::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("configuration")) + { + m_configuration = jsonValue.GetObject("configuration"); + + m_configurationHasBeenSet = true; + } + + if(jsonValue.ValueExists("costCalculation")) + { + m_costCalculation = jsonValue.GetObject("costCalculation"); + + m_costCalculationHasBeenSet = true; + } + + return *this; +} + +JsonValue RedshiftReservedInstances::Jsonize() const +{ + JsonValue payload; + + if(m_configurationHasBeenSet) + { + payload.WithObject("configuration", m_configuration.Jsonize()); + + } + + if(m_costCalculationHasBeenSet) + { + payload.WithObject("costCalculation", m_costCalculation.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/RedshiftReservedInstancesConfiguration.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/RedshiftReservedInstancesConfiguration.cpp new file mode 100644 index 00000000000..aa3f0e52340 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/RedshiftReservedInstancesConfiguration.cpp @@ -0,0 +1,241 @@ +/** + * 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 CostOptimizationHub +{ +namespace Model +{ + +RedshiftReservedInstancesConfiguration::RedshiftReservedInstancesConfiguration() : + m_accountScopeHasBeenSet(false), + m_currentGenerationHasBeenSet(false), + m_instanceFamilyHasBeenSet(false), + m_instanceTypeHasBeenSet(false), + m_monthlyRecurringCostHasBeenSet(false), + m_normalizedUnitsToPurchaseHasBeenSet(false), + m_numberOfInstancesToPurchaseHasBeenSet(false), + m_paymentOptionHasBeenSet(false), + m_reservedInstancesRegionHasBeenSet(false), + m_serviceHasBeenSet(false), + m_sizeFlexEligible(false), + m_sizeFlexEligibleHasBeenSet(false), + m_termHasBeenSet(false), + m_upfrontCostHasBeenSet(false) +{ +} + +RedshiftReservedInstancesConfiguration::RedshiftReservedInstancesConfiguration(JsonView jsonValue) : + m_accountScopeHasBeenSet(false), + m_currentGenerationHasBeenSet(false), + m_instanceFamilyHasBeenSet(false), + m_instanceTypeHasBeenSet(false), + m_monthlyRecurringCostHasBeenSet(false), + m_normalizedUnitsToPurchaseHasBeenSet(false), + m_numberOfInstancesToPurchaseHasBeenSet(false), + m_paymentOptionHasBeenSet(false), + m_reservedInstancesRegionHasBeenSet(false), + m_serviceHasBeenSet(false), + m_sizeFlexEligible(false), + m_sizeFlexEligibleHasBeenSet(false), + m_termHasBeenSet(false), + m_upfrontCostHasBeenSet(false) +{ + *this = jsonValue; +} + +RedshiftReservedInstancesConfiguration& RedshiftReservedInstancesConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("accountScope")) + { + m_accountScope = jsonValue.GetString("accountScope"); + + m_accountScopeHasBeenSet = true; + } + + if(jsonValue.ValueExists("currentGeneration")) + { + m_currentGeneration = jsonValue.GetString("currentGeneration"); + + m_currentGenerationHasBeenSet = true; + } + + if(jsonValue.ValueExists("instanceFamily")) + { + m_instanceFamily = jsonValue.GetString("instanceFamily"); + + m_instanceFamilyHasBeenSet = true; + } + + if(jsonValue.ValueExists("instanceType")) + { + m_instanceType = jsonValue.GetString("instanceType"); + + m_instanceTypeHasBeenSet = true; + } + + if(jsonValue.ValueExists("monthlyRecurringCost")) + { + m_monthlyRecurringCost = jsonValue.GetString("monthlyRecurringCost"); + + m_monthlyRecurringCostHasBeenSet = true; + } + + if(jsonValue.ValueExists("normalizedUnitsToPurchase")) + { + m_normalizedUnitsToPurchase = jsonValue.GetString("normalizedUnitsToPurchase"); + + m_normalizedUnitsToPurchaseHasBeenSet = true; + } + + if(jsonValue.ValueExists("numberOfInstancesToPurchase")) + { + m_numberOfInstancesToPurchase = jsonValue.GetString("numberOfInstancesToPurchase"); + + m_numberOfInstancesToPurchaseHasBeenSet = true; + } + + if(jsonValue.ValueExists("paymentOption")) + { + m_paymentOption = jsonValue.GetString("paymentOption"); + + m_paymentOptionHasBeenSet = true; + } + + if(jsonValue.ValueExists("reservedInstancesRegion")) + { + m_reservedInstancesRegion = jsonValue.GetString("reservedInstancesRegion"); + + m_reservedInstancesRegionHasBeenSet = true; + } + + if(jsonValue.ValueExists("service")) + { + m_service = jsonValue.GetString("service"); + + m_serviceHasBeenSet = true; + } + + if(jsonValue.ValueExists("sizeFlexEligible")) + { + m_sizeFlexEligible = jsonValue.GetBool("sizeFlexEligible"); + + m_sizeFlexEligibleHasBeenSet = true; + } + + if(jsonValue.ValueExists("term")) + { + m_term = jsonValue.GetString("term"); + + m_termHasBeenSet = true; + } + + if(jsonValue.ValueExists("upfrontCost")) + { + m_upfrontCost = jsonValue.GetString("upfrontCost"); + + m_upfrontCostHasBeenSet = true; + } + + return *this; +} + +JsonValue RedshiftReservedInstancesConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_accountScopeHasBeenSet) + { + payload.WithString("accountScope", m_accountScope); + + } + + if(m_currentGenerationHasBeenSet) + { + payload.WithString("currentGeneration", m_currentGeneration); + + } + + if(m_instanceFamilyHasBeenSet) + { + payload.WithString("instanceFamily", m_instanceFamily); + + } + + if(m_instanceTypeHasBeenSet) + { + payload.WithString("instanceType", m_instanceType); + + } + + if(m_monthlyRecurringCostHasBeenSet) + { + payload.WithString("monthlyRecurringCost", m_monthlyRecurringCost); + + } + + if(m_normalizedUnitsToPurchaseHasBeenSet) + { + payload.WithString("normalizedUnitsToPurchase", m_normalizedUnitsToPurchase); + + } + + if(m_numberOfInstancesToPurchaseHasBeenSet) + { + payload.WithString("numberOfInstancesToPurchase", m_numberOfInstancesToPurchase); + + } + + if(m_paymentOptionHasBeenSet) + { + payload.WithString("paymentOption", m_paymentOption); + + } + + if(m_reservedInstancesRegionHasBeenSet) + { + payload.WithString("reservedInstancesRegion", m_reservedInstancesRegion); + + } + + if(m_serviceHasBeenSet) + { + payload.WithString("service", m_service); + + } + + if(m_sizeFlexEligibleHasBeenSet) + { + payload.WithBool("sizeFlexEligible", m_sizeFlexEligible); + + } + + if(m_termHasBeenSet) + { + payload.WithString("term", m_term); + + } + + if(m_upfrontCostHasBeenSet) + { + payload.WithString("upfrontCost", m_upfrontCost); + + } + + return payload; +} + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/ReservedInstancesCostCalculation.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/ReservedInstancesCostCalculation.cpp new file mode 100644 index 00000000000..ddacdbb6c02 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/ReservedInstancesCostCalculation.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 CostOptimizationHub +{ +namespace Model +{ + +ReservedInstancesCostCalculation::ReservedInstancesCostCalculation() : + m_pricingHasBeenSet(false) +{ +} + +ReservedInstancesCostCalculation::ReservedInstancesCostCalculation(JsonView jsonValue) : + m_pricingHasBeenSet(false) +{ + *this = jsonValue; +} + +ReservedInstancesCostCalculation& ReservedInstancesCostCalculation::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("pricing")) + { + m_pricing = jsonValue.GetObject("pricing"); + + m_pricingHasBeenSet = true; + } + + return *this; +} + +JsonValue ReservedInstancesCostCalculation::Jsonize() const +{ + JsonValue payload; + + if(m_pricingHasBeenSet) + { + payload.WithObject("pricing", m_pricing.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/ReservedInstancesPricing.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/ReservedInstancesPricing.cpp new file mode 100644 index 00000000000..a8b04afad91 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/ReservedInstancesPricing.cpp @@ -0,0 +1,112 @@ +/** + * 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 CostOptimizationHub +{ +namespace Model +{ + +ReservedInstancesPricing::ReservedInstancesPricing() : + m_estimatedMonthlyAmortizedReservationCost(0.0), + m_estimatedMonthlyAmortizedReservationCostHasBeenSet(false), + m_estimatedOnDemandCost(0.0), + m_estimatedOnDemandCostHasBeenSet(false), + m_monthlyReservationEligibleCost(0.0), + m_monthlyReservationEligibleCostHasBeenSet(false), + m_savingsPercentage(0.0), + m_savingsPercentageHasBeenSet(false) +{ +} + +ReservedInstancesPricing::ReservedInstancesPricing(JsonView jsonValue) : + m_estimatedMonthlyAmortizedReservationCost(0.0), + m_estimatedMonthlyAmortizedReservationCostHasBeenSet(false), + m_estimatedOnDemandCost(0.0), + m_estimatedOnDemandCostHasBeenSet(false), + m_monthlyReservationEligibleCost(0.0), + m_monthlyReservationEligibleCostHasBeenSet(false), + m_savingsPercentage(0.0), + m_savingsPercentageHasBeenSet(false) +{ + *this = jsonValue; +} + +ReservedInstancesPricing& ReservedInstancesPricing::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("estimatedMonthlyAmortizedReservationCost")) + { + m_estimatedMonthlyAmortizedReservationCost = jsonValue.GetDouble("estimatedMonthlyAmortizedReservationCost"); + + m_estimatedMonthlyAmortizedReservationCostHasBeenSet = true; + } + + if(jsonValue.ValueExists("estimatedOnDemandCost")) + { + m_estimatedOnDemandCost = jsonValue.GetDouble("estimatedOnDemandCost"); + + m_estimatedOnDemandCostHasBeenSet = true; + } + + if(jsonValue.ValueExists("monthlyReservationEligibleCost")) + { + m_monthlyReservationEligibleCost = jsonValue.GetDouble("monthlyReservationEligibleCost"); + + m_monthlyReservationEligibleCostHasBeenSet = true; + } + + if(jsonValue.ValueExists("savingsPercentage")) + { + m_savingsPercentage = jsonValue.GetDouble("savingsPercentage"); + + m_savingsPercentageHasBeenSet = true; + } + + return *this; +} + +JsonValue ReservedInstancesPricing::Jsonize() const +{ + JsonValue payload; + + if(m_estimatedMonthlyAmortizedReservationCostHasBeenSet) + { + payload.WithDouble("estimatedMonthlyAmortizedReservationCost", m_estimatedMonthlyAmortizedReservationCost); + + } + + if(m_estimatedOnDemandCostHasBeenSet) + { + payload.WithDouble("estimatedOnDemandCost", m_estimatedOnDemandCost); + + } + + if(m_monthlyReservationEligibleCostHasBeenSet) + { + payload.WithDouble("monthlyReservationEligibleCost", m_monthlyReservationEligibleCost); + + } + + if(m_savingsPercentageHasBeenSet) + { + payload.WithDouble("savingsPercentage", m_savingsPercentage); + + } + + return payload; +} + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/ResourceCostCalculation.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/ResourceCostCalculation.cpp new file mode 100644 index 00000000000..914019e6f35 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/ResourceCostCalculation.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::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace CostOptimizationHub +{ +namespace Model +{ + +ResourceCostCalculation::ResourceCostCalculation() : + m_pricingHasBeenSet(false), + m_usagesHasBeenSet(false) +{ +} + +ResourceCostCalculation::ResourceCostCalculation(JsonView jsonValue) : + m_pricingHasBeenSet(false), + m_usagesHasBeenSet(false) +{ + *this = jsonValue; +} + +ResourceCostCalculation& ResourceCostCalculation::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("pricing")) + { + m_pricing = jsonValue.GetObject("pricing"); + + m_pricingHasBeenSet = true; + } + + if(jsonValue.ValueExists("usages")) + { + Aws::Utils::Array usagesJsonList = jsonValue.GetArray("usages"); + for(unsigned usagesIndex = 0; usagesIndex < usagesJsonList.GetLength(); ++usagesIndex) + { + m_usages.push_back(usagesJsonList[usagesIndex].AsObject()); + } + m_usagesHasBeenSet = true; + } + + return *this; +} + +JsonValue ResourceCostCalculation::Jsonize() const +{ + JsonValue payload; + + if(m_pricingHasBeenSet) + { + payload.WithObject("pricing", m_pricing.Jsonize()); + + } + + if(m_usagesHasBeenSet) + { + Aws::Utils::Array usagesJsonList(m_usages.size()); + for(unsigned usagesIndex = 0; usagesIndex < usagesJsonList.GetLength(); ++usagesIndex) + { + usagesJsonList[usagesIndex].AsObject(m_usages[usagesIndex].Jsonize()); + } + payload.WithArray("usages", std::move(usagesJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/ResourceDetails.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/ResourceDetails.cpp new file mode 100644 index 00000000000..b8f1f140466 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/ResourceDetails.cpp @@ -0,0 +1,239 @@ +/** + * 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 CostOptimizationHub +{ +namespace Model +{ + +ResourceDetails::ResourceDetails() : + m_computeSavingsPlansHasBeenSet(false), + m_ebsVolumeHasBeenSet(false), + m_ec2AutoScalingGroupHasBeenSet(false), + m_ec2InstanceHasBeenSet(false), + m_ec2InstanceSavingsPlansHasBeenSet(false), + m_ec2ReservedInstancesHasBeenSet(false), + m_ecsServiceHasBeenSet(false), + m_elastiCacheReservedInstancesHasBeenSet(false), + m_lambdaFunctionHasBeenSet(false), + m_openSearchReservedInstancesHasBeenSet(false), + m_rdsReservedInstancesHasBeenSet(false), + m_redshiftReservedInstancesHasBeenSet(false), + m_sageMakerSavingsPlansHasBeenSet(false) +{ +} + +ResourceDetails::ResourceDetails(JsonView jsonValue) : + m_computeSavingsPlansHasBeenSet(false), + m_ebsVolumeHasBeenSet(false), + m_ec2AutoScalingGroupHasBeenSet(false), + m_ec2InstanceHasBeenSet(false), + m_ec2InstanceSavingsPlansHasBeenSet(false), + m_ec2ReservedInstancesHasBeenSet(false), + m_ecsServiceHasBeenSet(false), + m_elastiCacheReservedInstancesHasBeenSet(false), + m_lambdaFunctionHasBeenSet(false), + m_openSearchReservedInstancesHasBeenSet(false), + m_rdsReservedInstancesHasBeenSet(false), + m_redshiftReservedInstancesHasBeenSet(false), + m_sageMakerSavingsPlansHasBeenSet(false) +{ + *this = jsonValue; +} + +ResourceDetails& ResourceDetails::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("computeSavingsPlans")) + { + m_computeSavingsPlans = jsonValue.GetObject("computeSavingsPlans"); + + m_computeSavingsPlansHasBeenSet = true; + } + + if(jsonValue.ValueExists("ebsVolume")) + { + m_ebsVolume = jsonValue.GetObject("ebsVolume"); + + m_ebsVolumeHasBeenSet = true; + } + + if(jsonValue.ValueExists("ec2AutoScalingGroup")) + { + m_ec2AutoScalingGroup = jsonValue.GetObject("ec2AutoScalingGroup"); + + m_ec2AutoScalingGroupHasBeenSet = true; + } + + if(jsonValue.ValueExists("ec2Instance")) + { + m_ec2Instance = jsonValue.GetObject("ec2Instance"); + + m_ec2InstanceHasBeenSet = true; + } + + if(jsonValue.ValueExists("ec2InstanceSavingsPlans")) + { + m_ec2InstanceSavingsPlans = jsonValue.GetObject("ec2InstanceSavingsPlans"); + + m_ec2InstanceSavingsPlansHasBeenSet = true; + } + + if(jsonValue.ValueExists("ec2ReservedInstances")) + { + m_ec2ReservedInstances = jsonValue.GetObject("ec2ReservedInstances"); + + m_ec2ReservedInstancesHasBeenSet = true; + } + + if(jsonValue.ValueExists("ecsService")) + { + m_ecsService = jsonValue.GetObject("ecsService"); + + m_ecsServiceHasBeenSet = true; + } + + if(jsonValue.ValueExists("elastiCacheReservedInstances")) + { + m_elastiCacheReservedInstances = jsonValue.GetObject("elastiCacheReservedInstances"); + + m_elastiCacheReservedInstancesHasBeenSet = true; + } + + if(jsonValue.ValueExists("lambdaFunction")) + { + m_lambdaFunction = jsonValue.GetObject("lambdaFunction"); + + m_lambdaFunctionHasBeenSet = true; + } + + if(jsonValue.ValueExists("openSearchReservedInstances")) + { + m_openSearchReservedInstances = jsonValue.GetObject("openSearchReservedInstances"); + + m_openSearchReservedInstancesHasBeenSet = true; + } + + if(jsonValue.ValueExists("rdsReservedInstances")) + { + m_rdsReservedInstances = jsonValue.GetObject("rdsReservedInstances"); + + m_rdsReservedInstancesHasBeenSet = true; + } + + if(jsonValue.ValueExists("redshiftReservedInstances")) + { + m_redshiftReservedInstances = jsonValue.GetObject("redshiftReservedInstances"); + + m_redshiftReservedInstancesHasBeenSet = true; + } + + if(jsonValue.ValueExists("sageMakerSavingsPlans")) + { + m_sageMakerSavingsPlans = jsonValue.GetObject("sageMakerSavingsPlans"); + + m_sageMakerSavingsPlansHasBeenSet = true; + } + + return *this; +} + +JsonValue ResourceDetails::Jsonize() const +{ + JsonValue payload; + + if(m_computeSavingsPlansHasBeenSet) + { + payload.WithObject("computeSavingsPlans", m_computeSavingsPlans.Jsonize()); + + } + + if(m_ebsVolumeHasBeenSet) + { + payload.WithObject("ebsVolume", m_ebsVolume.Jsonize()); + + } + + if(m_ec2AutoScalingGroupHasBeenSet) + { + payload.WithObject("ec2AutoScalingGroup", m_ec2AutoScalingGroup.Jsonize()); + + } + + if(m_ec2InstanceHasBeenSet) + { + payload.WithObject("ec2Instance", m_ec2Instance.Jsonize()); + + } + + if(m_ec2InstanceSavingsPlansHasBeenSet) + { + payload.WithObject("ec2InstanceSavingsPlans", m_ec2InstanceSavingsPlans.Jsonize()); + + } + + if(m_ec2ReservedInstancesHasBeenSet) + { + payload.WithObject("ec2ReservedInstances", m_ec2ReservedInstances.Jsonize()); + + } + + if(m_ecsServiceHasBeenSet) + { + payload.WithObject("ecsService", m_ecsService.Jsonize()); + + } + + if(m_elastiCacheReservedInstancesHasBeenSet) + { + payload.WithObject("elastiCacheReservedInstances", m_elastiCacheReservedInstances.Jsonize()); + + } + + if(m_lambdaFunctionHasBeenSet) + { + payload.WithObject("lambdaFunction", m_lambdaFunction.Jsonize()); + + } + + if(m_openSearchReservedInstancesHasBeenSet) + { + payload.WithObject("openSearchReservedInstances", m_openSearchReservedInstances.Jsonize()); + + } + + if(m_rdsReservedInstancesHasBeenSet) + { + payload.WithObject("rdsReservedInstances", m_rdsReservedInstances.Jsonize()); + + } + + if(m_redshiftReservedInstancesHasBeenSet) + { + payload.WithObject("redshiftReservedInstances", m_redshiftReservedInstances.Jsonize()); + + } + + if(m_sageMakerSavingsPlansHasBeenSet) + { + payload.WithObject("sageMakerSavingsPlans", m_sageMakerSavingsPlans.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/ResourceNotFoundException.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/ResourceNotFoundException.cpp new file mode 100644 index 00000000000..3a89d4a13f2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/ResourceNotFoundException.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 CostOptimizationHub +{ +namespace Model +{ + +ResourceNotFoundException::ResourceNotFoundException() : + m_messageHasBeenSet(false), + m_resourceIdHasBeenSet(false) +{ +} + +ResourceNotFoundException::ResourceNotFoundException(JsonView jsonValue) : + m_messageHasBeenSet(false), + m_resourceIdHasBeenSet(false) +{ + *this = jsonValue; +} + +ResourceNotFoundException& ResourceNotFoundException::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("message")) + { + m_message = jsonValue.GetString("message"); + + m_messageHasBeenSet = true; + } + + if(jsonValue.ValueExists("resourceId")) + { + m_resourceId = jsonValue.GetString("resourceId"); + + m_resourceIdHasBeenSet = true; + } + + return *this; +} + +JsonValue ResourceNotFoundException::Jsonize() const +{ + JsonValue payload; + + if(m_messageHasBeenSet) + { + payload.WithString("message", m_message); + + } + + if(m_resourceIdHasBeenSet) + { + payload.WithString("resourceId", m_resourceId); + + } + + return payload; +} + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/ResourcePricing.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/ResourcePricing.cpp new file mode 100644 index 00000000000..4542933bdce --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/ResourcePricing.cpp @@ -0,0 +1,110 @@ +/** + * 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 CostOptimizationHub +{ +namespace Model +{ + +ResourcePricing::ResourcePricing() : + m_estimatedCostAfterDiscounts(0.0), + m_estimatedCostAfterDiscountsHasBeenSet(false), + m_estimatedCostBeforeDiscounts(0.0), + m_estimatedCostBeforeDiscountsHasBeenSet(false), + m_estimatedDiscountsHasBeenSet(false), + m_estimatedNetUnusedAmortizedCommitments(0.0), + m_estimatedNetUnusedAmortizedCommitmentsHasBeenSet(false) +{ +} + +ResourcePricing::ResourcePricing(JsonView jsonValue) : + m_estimatedCostAfterDiscounts(0.0), + m_estimatedCostAfterDiscountsHasBeenSet(false), + m_estimatedCostBeforeDiscounts(0.0), + m_estimatedCostBeforeDiscountsHasBeenSet(false), + m_estimatedDiscountsHasBeenSet(false), + m_estimatedNetUnusedAmortizedCommitments(0.0), + m_estimatedNetUnusedAmortizedCommitmentsHasBeenSet(false) +{ + *this = jsonValue; +} + +ResourcePricing& ResourcePricing::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("estimatedCostAfterDiscounts")) + { + m_estimatedCostAfterDiscounts = jsonValue.GetDouble("estimatedCostAfterDiscounts"); + + m_estimatedCostAfterDiscountsHasBeenSet = true; + } + + if(jsonValue.ValueExists("estimatedCostBeforeDiscounts")) + { + m_estimatedCostBeforeDiscounts = jsonValue.GetDouble("estimatedCostBeforeDiscounts"); + + m_estimatedCostBeforeDiscountsHasBeenSet = true; + } + + if(jsonValue.ValueExists("estimatedDiscounts")) + { + m_estimatedDiscounts = jsonValue.GetObject("estimatedDiscounts"); + + m_estimatedDiscountsHasBeenSet = true; + } + + if(jsonValue.ValueExists("estimatedNetUnusedAmortizedCommitments")) + { + m_estimatedNetUnusedAmortizedCommitments = jsonValue.GetDouble("estimatedNetUnusedAmortizedCommitments"); + + m_estimatedNetUnusedAmortizedCommitmentsHasBeenSet = true; + } + + return *this; +} + +JsonValue ResourcePricing::Jsonize() const +{ + JsonValue payload; + + if(m_estimatedCostAfterDiscountsHasBeenSet) + { + payload.WithDouble("estimatedCostAfterDiscounts", m_estimatedCostAfterDiscounts); + + } + + if(m_estimatedCostBeforeDiscountsHasBeenSet) + { + payload.WithDouble("estimatedCostBeforeDiscounts", m_estimatedCostBeforeDiscounts); + + } + + if(m_estimatedDiscountsHasBeenSet) + { + payload.WithObject("estimatedDiscounts", m_estimatedDiscounts.Jsonize()); + + } + + if(m_estimatedNetUnusedAmortizedCommitmentsHasBeenSet) + { + payload.WithDouble("estimatedNetUnusedAmortizedCommitments", m_estimatedNetUnusedAmortizedCommitments); + + } + + return payload; +} + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/ResourceType.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/ResourceType.cpp new file mode 100644 index 00000000000..ad9ad3551df --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/ResourceType.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 + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace CostOptimizationHub + { + namespace Model + { + namespace ResourceTypeMapper + { + + static const int Ec2Instance_HASH = HashingUtils::HashString("Ec2Instance"); + static const int LambdaFunction_HASH = HashingUtils::HashString("LambdaFunction"); + static const int EbsVolume_HASH = HashingUtils::HashString("EbsVolume"); + static const int EcsService_HASH = HashingUtils::HashString("EcsService"); + static const int Ec2AutoScalingGroup_HASH = HashingUtils::HashString("Ec2AutoScalingGroup"); + static const int Ec2InstanceSavingsPlans_HASH = HashingUtils::HashString("Ec2InstanceSavingsPlans"); + static const int ComputeSavingsPlans_HASH = HashingUtils::HashString("ComputeSavingsPlans"); + static const int SageMakerSavingsPlans_HASH = HashingUtils::HashString("SageMakerSavingsPlans"); + static const int Ec2ReservedInstances_HASH = HashingUtils::HashString("Ec2ReservedInstances"); + static const int RdsReservedInstances_HASH = HashingUtils::HashString("RdsReservedInstances"); + static const int OpenSearchReservedInstances_HASH = HashingUtils::HashString("OpenSearchReservedInstances"); + static const int RedshiftReservedInstances_HASH = HashingUtils::HashString("RedshiftReservedInstances"); + static const int ElastiCacheReservedInstances_HASH = HashingUtils::HashString("ElastiCacheReservedInstances"); + + + ResourceType GetResourceTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Ec2Instance_HASH) + { + return ResourceType::Ec2Instance; + } + else if (hashCode == LambdaFunction_HASH) + { + return ResourceType::LambdaFunction; + } + else if (hashCode == EbsVolume_HASH) + { + return ResourceType::EbsVolume; + } + else if (hashCode == EcsService_HASH) + { + return ResourceType::EcsService; + } + else if (hashCode == Ec2AutoScalingGroup_HASH) + { + return ResourceType::Ec2AutoScalingGroup; + } + else if (hashCode == Ec2InstanceSavingsPlans_HASH) + { + return ResourceType::Ec2InstanceSavingsPlans; + } + else if (hashCode == ComputeSavingsPlans_HASH) + { + return ResourceType::ComputeSavingsPlans; + } + else if (hashCode == SageMakerSavingsPlans_HASH) + { + return ResourceType::SageMakerSavingsPlans; + } + else if (hashCode == Ec2ReservedInstances_HASH) + { + return ResourceType::Ec2ReservedInstances; + } + else if (hashCode == RdsReservedInstances_HASH) + { + return ResourceType::RdsReservedInstances; + } + else if (hashCode == OpenSearchReservedInstances_HASH) + { + return ResourceType::OpenSearchReservedInstances; + } + else if (hashCode == RedshiftReservedInstances_HASH) + { + return ResourceType::RedshiftReservedInstances; + } + else if (hashCode == ElastiCacheReservedInstances_HASH) + { + return ResourceType::ElastiCacheReservedInstances; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ResourceType::NOT_SET; + } + + Aws::String GetNameForResourceType(ResourceType enumValue) + { + switch(enumValue) + { + case ResourceType::NOT_SET: + return {}; + case ResourceType::Ec2Instance: + return "Ec2Instance"; + case ResourceType::LambdaFunction: + return "LambdaFunction"; + case ResourceType::EbsVolume: + return "EbsVolume"; + case ResourceType::EcsService: + return "EcsService"; + case ResourceType::Ec2AutoScalingGroup: + return "Ec2AutoScalingGroup"; + case ResourceType::Ec2InstanceSavingsPlans: + return "Ec2InstanceSavingsPlans"; + case ResourceType::ComputeSavingsPlans: + return "ComputeSavingsPlans"; + case ResourceType::SageMakerSavingsPlans: + return "SageMakerSavingsPlans"; + case ResourceType::Ec2ReservedInstances: + return "Ec2ReservedInstances"; + case ResourceType::RdsReservedInstances: + return "RdsReservedInstances"; + case ResourceType::OpenSearchReservedInstances: + return "OpenSearchReservedInstances"; + case ResourceType::RedshiftReservedInstances: + return "RedshiftReservedInstances"; + case ResourceType::ElastiCacheReservedInstances: + return "ElastiCacheReservedInstances"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ResourceTypeMapper + } // namespace Model + } // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/SageMakerSavingsPlans.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/SageMakerSavingsPlans.cpp new file mode 100644 index 00000000000..c197b1f0907 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/SageMakerSavingsPlans.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 CostOptimizationHub +{ +namespace Model +{ + +SageMakerSavingsPlans::SageMakerSavingsPlans() : + m_configurationHasBeenSet(false), + m_costCalculationHasBeenSet(false) +{ +} + +SageMakerSavingsPlans::SageMakerSavingsPlans(JsonView jsonValue) : + m_configurationHasBeenSet(false), + m_costCalculationHasBeenSet(false) +{ + *this = jsonValue; +} + +SageMakerSavingsPlans& SageMakerSavingsPlans::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("configuration")) + { + m_configuration = jsonValue.GetObject("configuration"); + + m_configurationHasBeenSet = true; + } + + if(jsonValue.ValueExists("costCalculation")) + { + m_costCalculation = jsonValue.GetObject("costCalculation"); + + m_costCalculationHasBeenSet = true; + } + + return *this; +} + +JsonValue SageMakerSavingsPlans::Jsonize() const +{ + JsonValue payload; + + if(m_configurationHasBeenSet) + { + payload.WithObject("configuration", m_configuration.Jsonize()); + + } + + if(m_costCalculationHasBeenSet) + { + payload.WithObject("costCalculation", m_costCalculation.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/SageMakerSavingsPlansConfiguration.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/SageMakerSavingsPlansConfiguration.cpp new file mode 100644 index 00000000000..37101c462a2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/SageMakerSavingsPlansConfiguration.cpp @@ -0,0 +1,104 @@ +/** + * 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 CostOptimizationHub +{ +namespace Model +{ + +SageMakerSavingsPlansConfiguration::SageMakerSavingsPlansConfiguration() : + m_accountScopeHasBeenSet(false), + m_hourlyCommitmentHasBeenSet(false), + m_paymentOptionHasBeenSet(false), + m_termHasBeenSet(false) +{ +} + +SageMakerSavingsPlansConfiguration::SageMakerSavingsPlansConfiguration(JsonView jsonValue) : + m_accountScopeHasBeenSet(false), + m_hourlyCommitmentHasBeenSet(false), + m_paymentOptionHasBeenSet(false), + m_termHasBeenSet(false) +{ + *this = jsonValue; +} + +SageMakerSavingsPlansConfiguration& SageMakerSavingsPlansConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("accountScope")) + { + m_accountScope = jsonValue.GetString("accountScope"); + + m_accountScopeHasBeenSet = true; + } + + if(jsonValue.ValueExists("hourlyCommitment")) + { + m_hourlyCommitment = jsonValue.GetString("hourlyCommitment"); + + m_hourlyCommitmentHasBeenSet = true; + } + + if(jsonValue.ValueExists("paymentOption")) + { + m_paymentOption = jsonValue.GetString("paymentOption"); + + m_paymentOptionHasBeenSet = true; + } + + if(jsonValue.ValueExists("term")) + { + m_term = jsonValue.GetString("term"); + + m_termHasBeenSet = true; + } + + return *this; +} + +JsonValue SageMakerSavingsPlansConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_accountScopeHasBeenSet) + { + payload.WithString("accountScope", m_accountScope); + + } + + if(m_hourlyCommitmentHasBeenSet) + { + payload.WithString("hourlyCommitment", m_hourlyCommitment); + + } + + if(m_paymentOptionHasBeenSet) + { + payload.WithString("paymentOption", m_paymentOption); + + } + + if(m_termHasBeenSet) + { + payload.WithString("term", m_term); + + } + + return payload; +} + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/SavingsEstimationMode.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/SavingsEstimationMode.cpp new file mode 100644 index 00000000000..8bb5fea0e84 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/SavingsEstimationMode.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 CostOptimizationHub + { + namespace Model + { + namespace SavingsEstimationModeMapper + { + + static const int BeforeDiscounts_HASH = HashingUtils::HashString("BeforeDiscounts"); + static const int AfterDiscounts_HASH = HashingUtils::HashString("AfterDiscounts"); + + + SavingsEstimationMode GetSavingsEstimationModeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == BeforeDiscounts_HASH) + { + return SavingsEstimationMode::BeforeDiscounts; + } + else if (hashCode == AfterDiscounts_HASH) + { + return SavingsEstimationMode::AfterDiscounts; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return SavingsEstimationMode::NOT_SET; + } + + Aws::String GetNameForSavingsEstimationMode(SavingsEstimationMode enumValue) + { + switch(enumValue) + { + case SavingsEstimationMode::NOT_SET: + return {}; + case SavingsEstimationMode::BeforeDiscounts: + return "BeforeDiscounts"; + case SavingsEstimationMode::AfterDiscounts: + return "AfterDiscounts"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace SavingsEstimationModeMapper + } // namespace Model + } // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/SavingsPlansCostCalculation.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/SavingsPlansCostCalculation.cpp new file mode 100644 index 00000000000..dc8cbfc385b --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/SavingsPlansCostCalculation.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 CostOptimizationHub +{ +namespace Model +{ + +SavingsPlansCostCalculation::SavingsPlansCostCalculation() : + m_pricingHasBeenSet(false) +{ +} + +SavingsPlansCostCalculation::SavingsPlansCostCalculation(JsonView jsonValue) : + m_pricingHasBeenSet(false) +{ + *this = jsonValue; +} + +SavingsPlansCostCalculation& SavingsPlansCostCalculation::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("pricing")) + { + m_pricing = jsonValue.GetObject("pricing"); + + m_pricingHasBeenSet = true; + } + + return *this; +} + +JsonValue SavingsPlansCostCalculation::Jsonize() const +{ + JsonValue payload; + + if(m_pricingHasBeenSet) + { + payload.WithObject("pricing", m_pricing.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/SavingsPlansPricing.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/SavingsPlansPricing.cpp new file mode 100644 index 00000000000..7505e114889 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/SavingsPlansPricing.cpp @@ -0,0 +1,112 @@ +/** + * 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 CostOptimizationHub +{ +namespace Model +{ + +SavingsPlansPricing::SavingsPlansPricing() : + m_estimatedMonthlyCommitment(0.0), + m_estimatedMonthlyCommitmentHasBeenSet(false), + m_estimatedOnDemandCost(0.0), + m_estimatedOnDemandCostHasBeenSet(false), + m_monthlySavingsPlansEligibleCost(0.0), + m_monthlySavingsPlansEligibleCostHasBeenSet(false), + m_savingsPercentage(0.0), + m_savingsPercentageHasBeenSet(false) +{ +} + +SavingsPlansPricing::SavingsPlansPricing(JsonView jsonValue) : + m_estimatedMonthlyCommitment(0.0), + m_estimatedMonthlyCommitmentHasBeenSet(false), + m_estimatedOnDemandCost(0.0), + m_estimatedOnDemandCostHasBeenSet(false), + m_monthlySavingsPlansEligibleCost(0.0), + m_monthlySavingsPlansEligibleCostHasBeenSet(false), + m_savingsPercentage(0.0), + m_savingsPercentageHasBeenSet(false) +{ + *this = jsonValue; +} + +SavingsPlansPricing& SavingsPlansPricing::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("estimatedMonthlyCommitment")) + { + m_estimatedMonthlyCommitment = jsonValue.GetDouble("estimatedMonthlyCommitment"); + + m_estimatedMonthlyCommitmentHasBeenSet = true; + } + + if(jsonValue.ValueExists("estimatedOnDemandCost")) + { + m_estimatedOnDemandCost = jsonValue.GetDouble("estimatedOnDemandCost"); + + m_estimatedOnDemandCostHasBeenSet = true; + } + + if(jsonValue.ValueExists("monthlySavingsPlansEligibleCost")) + { + m_monthlySavingsPlansEligibleCost = jsonValue.GetDouble("monthlySavingsPlansEligibleCost"); + + m_monthlySavingsPlansEligibleCostHasBeenSet = true; + } + + if(jsonValue.ValueExists("savingsPercentage")) + { + m_savingsPercentage = jsonValue.GetDouble("savingsPercentage"); + + m_savingsPercentageHasBeenSet = true; + } + + return *this; +} + +JsonValue SavingsPlansPricing::Jsonize() const +{ + JsonValue payload; + + if(m_estimatedMonthlyCommitmentHasBeenSet) + { + payload.WithDouble("estimatedMonthlyCommitment", m_estimatedMonthlyCommitment); + + } + + if(m_estimatedOnDemandCostHasBeenSet) + { + payload.WithDouble("estimatedOnDemandCost", m_estimatedOnDemandCost); + + } + + if(m_monthlySavingsPlansEligibleCostHasBeenSet) + { + payload.WithDouble("monthlySavingsPlansEligibleCost", m_monthlySavingsPlansEligibleCost); + + } + + if(m_savingsPercentageHasBeenSet) + { + payload.WithDouble("savingsPercentage", m_savingsPercentage); + + } + + return payload; +} + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/Source.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/Source.cpp new file mode 100644 index 00000000000..434ac721c9f --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/Source.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 CostOptimizationHub + { + namespace Model + { + namespace SourceMapper + { + + static const int ComputeOptimizer_HASH = HashingUtils::HashString("ComputeOptimizer"); + static const int CostExplorer_HASH = HashingUtils::HashString("CostExplorer"); + + + Source GetSourceForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == ComputeOptimizer_HASH) + { + return Source::ComputeOptimizer; + } + else if (hashCode == CostExplorer_HASH) + { + return Source::CostExplorer; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return Source::NOT_SET; + } + + Aws::String GetNameForSource(Source enumValue) + { + switch(enumValue) + { + case Source::NOT_SET: + return {}; + case Source::ComputeOptimizer: + return "ComputeOptimizer"; + case Source::CostExplorer: + return "CostExplorer"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace SourceMapper + } // namespace Model + } // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/StorageConfiguration.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/StorageConfiguration.cpp new file mode 100644 index 00000000000..cfd90d8a845 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/StorageConfiguration.cpp @@ -0,0 +1,76 @@ +/** + * 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 CostOptimizationHub +{ +namespace Model +{ + +StorageConfiguration::StorageConfiguration() : + m_sizeInGb(0.0), + m_sizeInGbHasBeenSet(false), + m_typeHasBeenSet(false) +{ +} + +StorageConfiguration::StorageConfiguration(JsonView jsonValue) : + m_sizeInGb(0.0), + m_sizeInGbHasBeenSet(false), + m_typeHasBeenSet(false) +{ + *this = jsonValue; +} + +StorageConfiguration& StorageConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("sizeInGb")) + { + m_sizeInGb = jsonValue.GetDouble("sizeInGb"); + + m_sizeInGbHasBeenSet = true; + } + + if(jsonValue.ValueExists("type")) + { + m_type = jsonValue.GetString("type"); + + m_typeHasBeenSet = true; + } + + return *this; +} + +JsonValue StorageConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_sizeInGbHasBeenSet) + { + payload.WithDouble("sizeInGb", m_sizeInGb); + + } + + if(m_typeHasBeenSet) + { + payload.WithString("type", m_type); + + } + + return payload; +} + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/Tag.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/Tag.cpp new file mode 100644 index 00000000000..810c9a216bf --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/Tag.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 CostOptimizationHub +{ +namespace Model +{ + +Tag::Tag() : + m_keyHasBeenSet(false), + m_valueHasBeenSet(false) +{ +} + +Tag::Tag(JsonView jsonValue) : + m_keyHasBeenSet(false), + m_valueHasBeenSet(false) +{ + *this = jsonValue; +} + +Tag& Tag::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("key")) + { + m_key = jsonValue.GetString("key"); + + m_keyHasBeenSet = true; + } + + if(jsonValue.ValueExists("value")) + { + m_value = jsonValue.GetString("value"); + + m_valueHasBeenSet = true; + } + + return *this; +} + +JsonValue Tag::Jsonize() const +{ + JsonValue payload; + + if(m_keyHasBeenSet) + { + payload.WithString("key", m_key); + + } + + if(m_valueHasBeenSet) + { + payload.WithString("value", m_value); + + } + + return payload; +} + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/UpdateEnrollmentStatusRequest.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/UpdateEnrollmentStatusRequest.cpp new file mode 100644 index 00000000000..a81a7e6a428 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/UpdateEnrollmentStatusRequest.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::CostOptimizationHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +UpdateEnrollmentStatusRequest::UpdateEnrollmentStatusRequest() : + m_includeMemberAccounts(false), + m_includeMemberAccountsHasBeenSet(false), + m_status(EnrollmentStatus::NOT_SET), + m_statusHasBeenSet(false) +{ +} + +Aws::String UpdateEnrollmentStatusRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_includeMemberAccountsHasBeenSet) + { + payload.WithBool("includeMemberAccounts", m_includeMemberAccounts); + + } + + if(m_statusHasBeenSet) + { + payload.WithString("status", EnrollmentStatusMapper::GetNameForEnrollmentStatus(m_status)); + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection UpdateEnrollmentStatusRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "CostOptimizationHubService.UpdateEnrollmentStatus")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/UpdateEnrollmentStatusResult.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/UpdateEnrollmentStatusResult.cpp new file mode 100644 index 00000000000..c595da100e6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/UpdateEnrollmentStatusResult.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::CostOptimizationHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +UpdateEnrollmentStatusResult::UpdateEnrollmentStatusResult() +{ +} + +UpdateEnrollmentStatusResult::UpdateEnrollmentStatusResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +UpdateEnrollmentStatusResult& UpdateEnrollmentStatusResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("status")) + { + m_status = 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-cost-optimization-hub/source/model/UpdatePreferencesRequest.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/UpdatePreferencesRequest.cpp new file mode 100644 index 00000000000..b47ad2ecadf --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/UpdatePreferencesRequest.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::CostOptimizationHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +UpdatePreferencesRequest::UpdatePreferencesRequest() : + m_memberAccountDiscountVisibility(MemberAccountDiscountVisibility::NOT_SET), + m_memberAccountDiscountVisibilityHasBeenSet(false), + m_savingsEstimationMode(SavingsEstimationMode::NOT_SET), + m_savingsEstimationModeHasBeenSet(false) +{ +} + +Aws::String UpdatePreferencesRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_memberAccountDiscountVisibilityHasBeenSet) + { + payload.WithString("memberAccountDiscountVisibility", MemberAccountDiscountVisibilityMapper::GetNameForMemberAccountDiscountVisibility(m_memberAccountDiscountVisibility)); + } + + if(m_savingsEstimationModeHasBeenSet) + { + payload.WithString("savingsEstimationMode", SavingsEstimationModeMapper::GetNameForSavingsEstimationMode(m_savingsEstimationMode)); + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection UpdatePreferencesRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "CostOptimizationHubService.UpdatePreferences")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/UpdatePreferencesResult.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/UpdatePreferencesResult.cpp new file mode 100644 index 00000000000..f34a5b6dc23 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/UpdatePreferencesResult.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::CostOptimizationHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +UpdatePreferencesResult::UpdatePreferencesResult() : + m_memberAccountDiscountVisibility(MemberAccountDiscountVisibility::NOT_SET), + m_savingsEstimationMode(SavingsEstimationMode::NOT_SET) +{ +} + +UpdatePreferencesResult::UpdatePreferencesResult(const Aws::AmazonWebServiceResult& result) : + m_memberAccountDiscountVisibility(MemberAccountDiscountVisibility::NOT_SET), + m_savingsEstimationMode(SavingsEstimationMode::NOT_SET) +{ + *this = result; +} + +UpdatePreferencesResult& UpdatePreferencesResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("memberAccountDiscountVisibility")) + { + m_memberAccountDiscountVisibility = MemberAccountDiscountVisibilityMapper::GetMemberAccountDiscountVisibilityForName(jsonValue.GetString("memberAccountDiscountVisibility")); + + } + + if(jsonValue.ValueExists("savingsEstimationMode")) + { + m_savingsEstimationMode = SavingsEstimationModeMapper::GetSavingsEstimationModeForName(jsonValue.GetString("savingsEstimationMode")); + + } + + + 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-cost-optimization-hub/source/model/Usage.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/Usage.cpp new file mode 100644 index 00000000000..d3ad7751654 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/Usage.cpp @@ -0,0 +1,121 @@ +/** + * 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 CostOptimizationHub +{ +namespace Model +{ + +Usage::Usage() : + m_operationHasBeenSet(false), + m_productCodeHasBeenSet(false), + m_unitHasBeenSet(false), + m_usageAmount(0.0), + m_usageAmountHasBeenSet(false), + m_usageTypeHasBeenSet(false) +{ +} + +Usage::Usage(JsonView jsonValue) : + m_operationHasBeenSet(false), + m_productCodeHasBeenSet(false), + m_unitHasBeenSet(false), + m_usageAmount(0.0), + m_usageAmountHasBeenSet(false), + m_usageTypeHasBeenSet(false) +{ + *this = jsonValue; +} + +Usage& Usage::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("operation")) + { + m_operation = jsonValue.GetString("operation"); + + m_operationHasBeenSet = true; + } + + if(jsonValue.ValueExists("productCode")) + { + m_productCode = jsonValue.GetString("productCode"); + + m_productCodeHasBeenSet = true; + } + + if(jsonValue.ValueExists("unit")) + { + m_unit = jsonValue.GetString("unit"); + + m_unitHasBeenSet = true; + } + + if(jsonValue.ValueExists("usageAmount")) + { + m_usageAmount = jsonValue.GetDouble("usageAmount"); + + m_usageAmountHasBeenSet = true; + } + + if(jsonValue.ValueExists("usageType")) + { + m_usageType = jsonValue.GetString("usageType"); + + m_usageTypeHasBeenSet = true; + } + + return *this; +} + +JsonValue Usage::Jsonize() const +{ + JsonValue payload; + + if(m_operationHasBeenSet) + { + payload.WithString("operation", m_operation); + + } + + if(m_productCodeHasBeenSet) + { + payload.WithString("productCode", m_productCode); + + } + + if(m_unitHasBeenSet) + { + payload.WithString("unit", m_unit); + + } + + if(m_usageAmountHasBeenSet) + { + payload.WithDouble("usageAmount", m_usageAmount); + + } + + if(m_usageTypeHasBeenSet) + { + payload.WithString("usageType", m_usageType); + + } + + return payload; +} + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/ValidationException.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/ValidationException.cpp new file mode 100644 index 00000000000..60c4c03cda7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/ValidationException.cpp @@ -0,0 +1,98 @@ +/** + * 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 CostOptimizationHub +{ +namespace Model +{ + +ValidationException::ValidationException() : + m_fieldsHasBeenSet(false), + m_messageHasBeenSet(false), + m_reason(ValidationExceptionReason::NOT_SET), + m_reasonHasBeenSet(false) +{ +} + +ValidationException::ValidationException(JsonView jsonValue) : + m_fieldsHasBeenSet(false), + m_messageHasBeenSet(false), + m_reason(ValidationExceptionReason::NOT_SET), + m_reasonHasBeenSet(false) +{ + *this = jsonValue; +} + +ValidationException& ValidationException::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; + } + + if(jsonValue.ValueExists("message")) + { + m_message = jsonValue.GetString("message"); + + m_messageHasBeenSet = true; + } + + if(jsonValue.ValueExists("reason")) + { + m_reason = ValidationExceptionReasonMapper::GetValidationExceptionReasonForName(jsonValue.GetString("reason")); + + m_reasonHasBeenSet = true; + } + + return *this; +} + +JsonValue ValidationException::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)); + + } + + if(m_messageHasBeenSet) + { + payload.WithString("message", m_message); + + } + + if(m_reasonHasBeenSet) + { + payload.WithString("reason", ValidationExceptionReasonMapper::GetNameForValidationExceptionReason(m_reason)); + } + + return payload; +} + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/ValidationExceptionDetail.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/ValidationExceptionDetail.cpp new file mode 100644 index 00000000000..21b5886a045 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/ValidationExceptionDetail.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 CostOptimizationHub +{ +namespace Model +{ + +ValidationExceptionDetail::ValidationExceptionDetail() : + m_fieldNameHasBeenSet(false), + m_messageHasBeenSet(false) +{ +} + +ValidationExceptionDetail::ValidationExceptionDetail(JsonView jsonValue) : + m_fieldNameHasBeenSet(false), + m_messageHasBeenSet(false) +{ + *this = jsonValue; +} + +ValidationExceptionDetail& ValidationExceptionDetail::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("fieldName")) + { + m_fieldName = jsonValue.GetString("fieldName"); + + m_fieldNameHasBeenSet = true; + } + + if(jsonValue.ValueExists("message")) + { + m_message = jsonValue.GetString("message"); + + m_messageHasBeenSet = true; + } + + return *this; +} + +JsonValue ValidationExceptionDetail::Jsonize() const +{ + JsonValue payload; + + if(m_fieldNameHasBeenSet) + { + payload.WithString("fieldName", m_fieldName); + + } + + if(m_messageHasBeenSet) + { + payload.WithString("message", m_message); + + } + + return payload; +} + +} // namespace Model +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/ValidationExceptionReason.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/ValidationExceptionReason.cpp new file mode 100644 index 00000000000..dd38e377125 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/model/ValidationExceptionReason.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 CostOptimizationHub + { + namespace Model + { + namespace ValidationExceptionReasonMapper + { + + static const int FieldValidationFailed_HASH = HashingUtils::HashString("FieldValidationFailed"); + static const int Other_HASH = HashingUtils::HashString("Other"); + + + ValidationExceptionReason GetValidationExceptionReasonForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == FieldValidationFailed_HASH) + { + return ValidationExceptionReason::FieldValidationFailed; + } + else if (hashCode == Other_HASH) + { + return ValidationExceptionReason::Other; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ValidationExceptionReason::NOT_SET; + } + + Aws::String GetNameForValidationExceptionReason(ValidationExceptionReason enumValue) + { + switch(enumValue) + { + case ValidationExceptionReason::NOT_SET: + return {}; + case ValidationExceptionReason::FieldValidationFailed: + return "FieldValidationFailed"; + case ValidationExceptionReason::Other: + return "Other"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ValidationExceptionReasonMapper + } // namespace Model + } // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-detective/include/aws/detective/DetectiveClient.h b/generated/src/aws-cpp-sdk-detective/include/aws/detective/DetectiveClient.h index 8a42012182c..3e43f9a8d4b 100644 --- a/generated/src/aws-cpp-sdk-detective/include/aws/detective/DetectiveClient.h +++ b/generated/src/aws-cpp-sdk-detective/include/aws/detective/DetectiveClient.h @@ -481,6 +481,32 @@ namespace Detective return SubmitAsync(&DetectiveClient::EnableOrganizationAdminAccount, request, handler, context); } + /** + *

                Returns the investigation results of an investigation for a behavior graph. + *

                See Also:

                AWS + * API Reference

                + */ + virtual Model::GetInvestigationOutcome GetInvestigation(const Model::GetInvestigationRequest& request) const; + + /** + * A Callable wrapper for GetInvestigation that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetInvestigationOutcomeCallable GetInvestigationCallable(const GetInvestigationRequestT& request) const + { + return SubmitCallable(&DetectiveClient::GetInvestigation, request); + } + + /** + * An Async wrapper for GetInvestigation that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetInvestigationAsync(const GetInvestigationRequestT& request, const GetInvestigationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&DetectiveClient::GetInvestigation, request, handler, context); + } + /** *

                Returns the membership details for specified member accounts for a behavior * graph.

                See Also:

                Get the indicators from an investigation

                See Also:

                AWS + * API Reference

                + */ + virtual Model::ListIndicatorsOutcome ListIndicators(const Model::ListIndicatorsRequest& request) const; + + /** + * A Callable wrapper for ListIndicators that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListIndicatorsOutcomeCallable ListIndicatorsCallable(const ListIndicatorsRequestT& request) const + { + return SubmitCallable(&DetectiveClient::ListIndicators, request); + } + + /** + * An Async wrapper for ListIndicators that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListIndicatorsAsync(const ListIndicatorsRequestT& request, const ListIndicatorsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&DetectiveClient::ListIndicators, request, handler, context); + } + + /** + *

                List all Investigations.

                See Also:

                AWS + * API Reference

                + */ + virtual Model::ListInvestigationsOutcome ListInvestigations(const Model::ListInvestigationsRequest& request) const; + + /** + * A Callable wrapper for ListInvestigations that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListInvestigationsOutcomeCallable ListInvestigationsCallable(const ListInvestigationsRequestT& request) const + { + return SubmitCallable(&DetectiveClient::ListInvestigations, request); + } + + /** + * An Async wrapper for ListInvestigations that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListInvestigationsAsync(const ListInvestigationsRequestT& request, const ListInvestigationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&DetectiveClient::ListInvestigations, request, handler, context); + } + /** *

                Retrieves the list of open and accepted behavior graph invitations for the * member account. This operation can only be called by an invited member @@ -705,6 +781,32 @@ namespace Detective return SubmitAsync(&DetectiveClient::RejectInvitation, request, handler, context); } + /** + *

                initiate an investigation on an entity in a graph

                See Also:

                + * AWS + * API Reference

                + */ + virtual Model::StartInvestigationOutcome StartInvestigation(const Model::StartInvestigationRequest& request) const; + + /** + * A Callable wrapper for StartInvestigation that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::StartInvestigationOutcomeCallable StartInvestigationCallable(const StartInvestigationRequestT& request) const + { + return SubmitCallable(&DetectiveClient::StartInvestigation, request); + } + + /** + * An Async wrapper for StartInvestigation that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void StartInvestigationAsync(const StartInvestigationRequestT& request, const StartInvestigationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&DetectiveClient::StartInvestigation, request, handler, context); + } + /** *

                Sends a request to enable data ingest for a member account that has a status * of ACCEPTED_BUT_DISABLED.

                For valid member accounts, the @@ -811,6 +913,31 @@ namespace Detective return SubmitAsync(&DetectiveClient::UpdateDatasourcePackages, request, handler, context); } + /** + *

                Update the state of an investigation.

                See Also:

                AWS + * API Reference

                + */ + virtual Model::UpdateInvestigationStateOutcome UpdateInvestigationState(const Model::UpdateInvestigationStateRequest& request) const; + + /** + * A Callable wrapper for UpdateInvestigationState that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::UpdateInvestigationStateOutcomeCallable UpdateInvestigationStateCallable(const UpdateInvestigationStateRequestT& request) const + { + return SubmitCallable(&DetectiveClient::UpdateInvestigationState, request); + } + + /** + * An Async wrapper for UpdateInvestigationState that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void UpdateInvestigationStateAsync(const UpdateInvestigationStateRequestT& request, const UpdateInvestigationStateResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&DetectiveClient::UpdateInvestigationState, request, handler, context); + } + /** *

                Updates the configuration for the Organizations integration in the current * Region. Can only be called by the Detective administrator account for the diff --git a/generated/src/aws-cpp-sdk-detective/include/aws/detective/DetectiveServiceClientModel.h b/generated/src/aws-cpp-sdk-detective/include/aws/detective/DetectiveServiceClientModel.h index d233d2b493a..c3eae74146f 100644 --- a/generated/src/aws-cpp-sdk-detective/include/aws/detective/DetectiveServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-detective/include/aws/detective/DetectiveServiceClientModel.h @@ -24,13 +24,17 @@ #include #include #include +#include #include #include #include +#include +#include #include #include #include #include +#include #include #include #include @@ -85,18 +89,23 @@ namespace Aws class DisableOrganizationAdminAccountRequest; class DisassociateMembershipRequest; class EnableOrganizationAdminAccountRequest; + class GetInvestigationRequest; class GetMembersRequest; class ListDatasourcePackagesRequest; class ListGraphsRequest; + class ListIndicatorsRequest; + class ListInvestigationsRequest; class ListInvitationsRequest; class ListMembersRequest; class ListOrganizationAdminAccountsRequest; class ListTagsForResourceRequest; class RejectInvitationRequest; + class StartInvestigationRequest; class StartMonitoringMemberRequest; class TagResourceRequest; class UntagResourceRequest; class UpdateDatasourcePackagesRequest; + class UpdateInvestigationStateRequest; class UpdateOrganizationConfigurationRequest; /* End of service model forward declarations required in DetectiveClient header */ @@ -112,18 +121,23 @@ namespace Aws typedef Aws::Utils::Outcome DisableOrganizationAdminAccountOutcome; typedef Aws::Utils::Outcome DisassociateMembershipOutcome; typedef Aws::Utils::Outcome EnableOrganizationAdminAccountOutcome; + typedef Aws::Utils::Outcome GetInvestigationOutcome; typedef Aws::Utils::Outcome GetMembersOutcome; typedef Aws::Utils::Outcome ListDatasourcePackagesOutcome; typedef Aws::Utils::Outcome ListGraphsOutcome; + typedef Aws::Utils::Outcome ListIndicatorsOutcome; + typedef Aws::Utils::Outcome ListInvestigationsOutcome; typedef Aws::Utils::Outcome ListInvitationsOutcome; typedef Aws::Utils::Outcome ListMembersOutcome; typedef Aws::Utils::Outcome ListOrganizationAdminAccountsOutcome; typedef Aws::Utils::Outcome ListTagsForResourceOutcome; typedef Aws::Utils::Outcome RejectInvitationOutcome; + typedef Aws::Utils::Outcome StartInvestigationOutcome; typedef Aws::Utils::Outcome StartMonitoringMemberOutcome; typedef Aws::Utils::Outcome TagResourceOutcome; typedef Aws::Utils::Outcome UntagResourceOutcome; typedef Aws::Utils::Outcome UpdateDatasourcePackagesOutcome; + typedef Aws::Utils::Outcome UpdateInvestigationStateOutcome; typedef Aws::Utils::Outcome UpdateOrganizationConfigurationOutcome; /* End of service model Outcome class definitions */ @@ -139,18 +153,23 @@ namespace Aws typedef std::future DisableOrganizationAdminAccountOutcomeCallable; typedef std::future DisassociateMembershipOutcomeCallable; typedef std::future EnableOrganizationAdminAccountOutcomeCallable; + typedef std::future GetInvestigationOutcomeCallable; typedef std::future GetMembersOutcomeCallable; typedef std::future ListDatasourcePackagesOutcomeCallable; typedef std::future ListGraphsOutcomeCallable; + typedef std::future ListIndicatorsOutcomeCallable; + typedef std::future ListInvestigationsOutcomeCallable; typedef std::future ListInvitationsOutcomeCallable; typedef std::future ListMembersOutcomeCallable; typedef std::future ListOrganizationAdminAccountsOutcomeCallable; typedef std::future ListTagsForResourceOutcomeCallable; typedef std::future RejectInvitationOutcomeCallable; + typedef std::future StartInvestigationOutcomeCallable; typedef std::future StartMonitoringMemberOutcomeCallable; typedef std::future TagResourceOutcomeCallable; typedef std::future UntagResourceOutcomeCallable; typedef std::future UpdateDatasourcePackagesOutcomeCallable; + typedef std::future UpdateInvestigationStateOutcomeCallable; typedef std::future UpdateOrganizationConfigurationOutcomeCallable; /* End of service model Outcome callable definitions */ } // namespace Model @@ -169,18 +188,23 @@ namespace Aws typedef std::function&) > DisableOrganizationAdminAccountResponseReceivedHandler; typedef std::function&) > DisassociateMembershipResponseReceivedHandler; typedef std::function&) > EnableOrganizationAdminAccountResponseReceivedHandler; + typedef std::function&) > GetInvestigationResponseReceivedHandler; typedef std::function&) > GetMembersResponseReceivedHandler; typedef std::function&) > ListDatasourcePackagesResponseReceivedHandler; typedef std::function&) > ListGraphsResponseReceivedHandler; + typedef std::function&) > ListIndicatorsResponseReceivedHandler; + typedef std::function&) > ListInvestigationsResponseReceivedHandler; typedef std::function&) > ListInvitationsResponseReceivedHandler; typedef std::function&) > ListMembersResponseReceivedHandler; typedef std::function&) > ListOrganizationAdminAccountsResponseReceivedHandler; typedef std::function&) > ListTagsForResourceResponseReceivedHandler; typedef std::function&) > RejectInvitationResponseReceivedHandler; + typedef std::function&) > StartInvestigationResponseReceivedHandler; typedef std::function&) > StartMonitoringMemberResponseReceivedHandler; typedef std::function&) > TagResourceResponseReceivedHandler; typedef std::function&) > UntagResourceResponseReceivedHandler; typedef std::function&) > UpdateDatasourcePackagesResponseReceivedHandler; + typedef std::function&) > UpdateInvestigationStateResponseReceivedHandler; typedef std::function&) > UpdateOrganizationConfigurationResponseReceivedHandler; /* End of service model async handlers definitions */ } // namespace Detective diff --git a/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/DateFilter.h b/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/DateFilter.h new file mode 100644 index 00000000000..eeed17da26d --- /dev/null +++ b/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/DateFilter.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 + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Detective +{ +namespace Model +{ + + /** + *

                Contains details on the time range used to filter data.

                See + * Also:

                AWS + * API Reference

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

                A timestamp representing the start of the time period from when data is + * filtered, including the start date.

                + */ + inline const Aws::Utils::DateTime& GetStartInclusive() const{ return m_startInclusive; } + + /** + *

                A timestamp representing the start of the time period from when data is + * filtered, including the start date.

                + */ + inline bool StartInclusiveHasBeenSet() const { return m_startInclusiveHasBeenSet; } + + /** + *

                A timestamp representing the start of the time period from when data is + * filtered, including the start date.

                + */ + inline void SetStartInclusive(const Aws::Utils::DateTime& value) { m_startInclusiveHasBeenSet = true; m_startInclusive = value; } + + /** + *

                A timestamp representing the start of the time period from when data is + * filtered, including the start date.

                + */ + inline void SetStartInclusive(Aws::Utils::DateTime&& value) { m_startInclusiveHasBeenSet = true; m_startInclusive = std::move(value); } + + /** + *

                A timestamp representing the start of the time period from when data is + * filtered, including the start date.

                + */ + inline DateFilter& WithStartInclusive(const Aws::Utils::DateTime& value) { SetStartInclusive(value); return *this;} + + /** + *

                A timestamp representing the start of the time period from when data is + * filtered, including the start date.

                + */ + inline DateFilter& WithStartInclusive(Aws::Utils::DateTime&& value) { SetStartInclusive(std::move(value)); return *this;} + + + /** + *

                A timestamp representing the end date of the time period until when data is + * filtered , including the end date.

                + */ + inline const Aws::Utils::DateTime& GetEndInclusive() const{ return m_endInclusive; } + + /** + *

                A timestamp representing the end date of the time period until when data is + * filtered , including the end date.

                + */ + inline bool EndInclusiveHasBeenSet() const { return m_endInclusiveHasBeenSet; } + + /** + *

                A timestamp representing the end date of the time period until when data is + * filtered , including the end date.

                + */ + inline void SetEndInclusive(const Aws::Utils::DateTime& value) { m_endInclusiveHasBeenSet = true; m_endInclusive = value; } + + /** + *

                A timestamp representing the end date of the time period until when data is + * filtered , including the end date.

                + */ + inline void SetEndInclusive(Aws::Utils::DateTime&& value) { m_endInclusiveHasBeenSet = true; m_endInclusive = std::move(value); } + + /** + *

                A timestamp representing the end date of the time period until when data is + * filtered , including the end date.

                + */ + inline DateFilter& WithEndInclusive(const Aws::Utils::DateTime& value) { SetEndInclusive(value); return *this;} + + /** + *

                A timestamp representing the end date of the time period until when data is + * filtered , including the end date.

                + */ + inline DateFilter& WithEndInclusive(Aws::Utils::DateTime&& value) { SetEndInclusive(std::move(value)); return *this;} + + private: + + Aws::Utils::DateTime m_startInclusive; + bool m_startInclusiveHasBeenSet = false; + + Aws::Utils::DateTime m_endInclusive; + bool m_endInclusiveHasBeenSet = false; + }; + +} // namespace Model +} // namespace Detective +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/EntityType.h b/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/EntityType.h new file mode 100644 index 00000000000..049291619b0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/EntityType.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 Detective +{ +namespace Model +{ + enum class EntityType + { + NOT_SET, + IAM_ROLE, + IAM_USER + }; + +namespace EntityTypeMapper +{ +AWS_DETECTIVE_API EntityType GetEntityTypeForName(const Aws::String& name); + +AWS_DETECTIVE_API Aws::String GetNameForEntityType(EntityType value); +} // namespace EntityTypeMapper +} // namespace Model +} // namespace Detective +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/Field.h b/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/Field.h new file mode 100644 index 00000000000..7f8a0492362 --- /dev/null +++ b/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/Field.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 Detective +{ +namespace Model +{ + enum class Field + { + NOT_SET, + SEVERITY, + STATUS, + CREATED_TIME + }; + +namespace FieldMapper +{ +AWS_DETECTIVE_API Field GetFieldForName(const Aws::String& name); + +AWS_DETECTIVE_API Aws::String GetNameForField(Field value); +} // namespace FieldMapper +} // namespace Model +} // namespace Detective +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/FilterCriteria.h b/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/FilterCriteria.h new file mode 100644 index 00000000000..9d35d4a37c2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/FilterCriteria.h @@ -0,0 +1,228 @@ +/** + * 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 Detective +{ +namespace Model +{ + + /** + *

                Details on the criteria used to define the filter for investigation + * results.

                See Also:

                AWS + * API Reference

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

                Filter the investigation results based on the severity.

                + */ + inline const StringFilter& GetSeverity() const{ return m_severity; } + + /** + *

                Filter the investigation results based on the severity.

                + */ + inline bool SeverityHasBeenSet() const { return m_severityHasBeenSet; } + + /** + *

                Filter the investigation results based on the severity.

                + */ + inline void SetSeverity(const StringFilter& value) { m_severityHasBeenSet = true; m_severity = value; } + + /** + *

                Filter the investigation results based on the severity.

                + */ + inline void SetSeverity(StringFilter&& value) { m_severityHasBeenSet = true; m_severity = std::move(value); } + + /** + *

                Filter the investigation results based on the severity.

                + */ + inline FilterCriteria& WithSeverity(const StringFilter& value) { SetSeverity(value); return *this;} + + /** + *

                Filter the investigation results based on the severity.

                + */ + inline FilterCriteria& WithSeverity(StringFilter&& value) { SetSeverity(std::move(value)); return *this;} + + + /** + *

                Filter the investigation results based on the status.

                + */ + inline const StringFilter& GetStatus() const{ return m_status; } + + /** + *

                Filter the investigation results based on the status.

                + */ + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + + /** + *

                Filter the investigation results based on the status.

                + */ + inline void SetStatus(const StringFilter& value) { m_statusHasBeenSet = true; m_status = value; } + + /** + *

                Filter the investigation results based on the status.

                + */ + inline void SetStatus(StringFilter&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } + + /** + *

                Filter the investigation results based on the status.

                + */ + inline FilterCriteria& WithStatus(const StringFilter& value) { SetStatus(value); return *this;} + + /** + *

                Filter the investigation results based on the status.

                + */ + inline FilterCriteria& WithStatus(StringFilter&& value) { SetStatus(std::move(value)); return *this;} + + + /** + *

                Filter the investigation results based on the state.

                + */ + inline const StringFilter& GetState() const{ return m_state; } + + /** + *

                Filter the investigation results based on the state.

                + */ + inline bool StateHasBeenSet() const { return m_stateHasBeenSet; } + + /** + *

                Filter the investigation results based on the state.

                + */ + inline void SetState(const StringFilter& value) { m_stateHasBeenSet = true; m_state = value; } + + /** + *

                Filter the investigation results based on the state.

                + */ + inline void SetState(StringFilter&& value) { m_stateHasBeenSet = true; m_state = std::move(value); } + + /** + *

                Filter the investigation results based on the state.

                + */ + inline FilterCriteria& WithState(const StringFilter& value) { SetState(value); return *this;} + + /** + *

                Filter the investigation results based on the state.

                + */ + inline FilterCriteria& WithState(StringFilter&& value) { SetState(std::move(value)); return *this;} + + + /** + *

                Filter the investigation results based on the Amazon Resource Name (ARN) of + * the entity.

                + */ + inline const StringFilter& GetEntityArn() const{ return m_entityArn; } + + /** + *

                Filter the investigation results based on the Amazon Resource Name (ARN) of + * the entity.

                + */ + inline bool EntityArnHasBeenSet() const { return m_entityArnHasBeenSet; } + + /** + *

                Filter the investigation results based on the Amazon Resource Name (ARN) of + * the entity.

                + */ + inline void SetEntityArn(const StringFilter& value) { m_entityArnHasBeenSet = true; m_entityArn = value; } + + /** + *

                Filter the investigation results based on the Amazon Resource Name (ARN) of + * the entity.

                + */ + inline void SetEntityArn(StringFilter&& value) { m_entityArnHasBeenSet = true; m_entityArn = std::move(value); } + + /** + *

                Filter the investigation results based on the Amazon Resource Name (ARN) of + * the entity.

                + */ + inline FilterCriteria& WithEntityArn(const StringFilter& value) { SetEntityArn(value); return *this;} + + /** + *

                Filter the investigation results based on the Amazon Resource Name (ARN) of + * the entity.

                + */ + inline FilterCriteria& WithEntityArn(StringFilter&& value) { SetEntityArn(std::move(value)); return *this;} + + + /** + *

                Filter the investigation results based on when the investigation was + * created.

                + */ + inline const DateFilter& GetCreatedTime() const{ return m_createdTime; } + + /** + *

                Filter the investigation results based on when the investigation was + * created.

                + */ + inline bool CreatedTimeHasBeenSet() const { return m_createdTimeHasBeenSet; } + + /** + *

                Filter the investigation results based on when the investigation was + * created.

                + */ + inline void SetCreatedTime(const DateFilter& value) { m_createdTimeHasBeenSet = true; m_createdTime = value; } + + /** + *

                Filter the investigation results based on when the investigation was + * created.

                + */ + inline void SetCreatedTime(DateFilter&& value) { m_createdTimeHasBeenSet = true; m_createdTime = std::move(value); } + + /** + *

                Filter the investigation results based on when the investigation was + * created.

                + */ + inline FilterCriteria& WithCreatedTime(const DateFilter& value) { SetCreatedTime(value); return *this;} + + /** + *

                Filter the investigation results based on when the investigation was + * created.

                + */ + inline FilterCriteria& WithCreatedTime(DateFilter&& value) { SetCreatedTime(std::move(value)); return *this;} + + private: + + StringFilter m_severity; + bool m_severityHasBeenSet = false; + + StringFilter m_status; + bool m_statusHasBeenSet = false; + + StringFilter m_state; + bool m_stateHasBeenSet = false; + + StringFilter m_entityArn; + bool m_entityArnHasBeenSet = false; + + DateFilter m_createdTime; + bool m_createdTimeHasBeenSet = false; + }; + +} // namespace Model +} // namespace Detective +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/FlaggedIpAddressDetail.h b/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/FlaggedIpAddressDetail.h new file mode 100644 index 00000000000..4ca8636df25 --- /dev/null +++ b/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/FlaggedIpAddressDetail.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 + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Detective +{ +namespace Model +{ + + /** + *

                Contains information on suspicious IP addresses identified as indicators of + * compromise. This indicator is derived from Amazon Web Services threat + * intelligence.

                See Also:

                AWS + * API Reference

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

                IP address of the suspicious entity.

                + */ + inline const Aws::String& GetIpAddress() const{ return m_ipAddress; } + + /** + *

                IP address of the suspicious entity.

                + */ + inline bool IpAddressHasBeenSet() const { return m_ipAddressHasBeenSet; } + + /** + *

                IP address of the suspicious entity.

                + */ + inline void SetIpAddress(const Aws::String& value) { m_ipAddressHasBeenSet = true; m_ipAddress = value; } + + /** + *

                IP address of the suspicious entity.

                + */ + inline void SetIpAddress(Aws::String&& value) { m_ipAddressHasBeenSet = true; m_ipAddress = std::move(value); } + + /** + *

                IP address of the suspicious entity.

                + */ + inline void SetIpAddress(const char* value) { m_ipAddressHasBeenSet = true; m_ipAddress.assign(value); } + + /** + *

                IP address of the suspicious entity.

                + */ + inline FlaggedIpAddressDetail& WithIpAddress(const Aws::String& value) { SetIpAddress(value); return *this;} + + /** + *

                IP address of the suspicious entity.

                + */ + inline FlaggedIpAddressDetail& WithIpAddress(Aws::String&& value) { SetIpAddress(std::move(value)); return *this;} + + /** + *

                IP address of the suspicious entity.

                + */ + inline FlaggedIpAddressDetail& WithIpAddress(const char* value) { SetIpAddress(value); return *this;} + + + /** + *

                Details the reason the IP address was flagged as suspicious.

                + */ + inline const Reason& GetReason() const{ return m_reason; } + + /** + *

                Details the reason the IP address was flagged as suspicious.

                + */ + inline bool ReasonHasBeenSet() const { return m_reasonHasBeenSet; } + + /** + *

                Details the reason the IP address was flagged as suspicious.

                + */ + inline void SetReason(const Reason& value) { m_reasonHasBeenSet = true; m_reason = value; } + + /** + *

                Details the reason the IP address was flagged as suspicious.

                + */ + inline void SetReason(Reason&& value) { m_reasonHasBeenSet = true; m_reason = std::move(value); } + + /** + *

                Details the reason the IP address was flagged as suspicious.

                + */ + inline FlaggedIpAddressDetail& WithReason(const Reason& value) { SetReason(value); return *this;} + + /** + *

                Details the reason the IP address was flagged as suspicious.

                + */ + inline FlaggedIpAddressDetail& WithReason(Reason&& value) { SetReason(std::move(value)); return *this;} + + private: + + Aws::String m_ipAddress; + bool m_ipAddressHasBeenSet = false; + + Reason m_reason; + bool m_reasonHasBeenSet = false; + }; + +} // namespace Model +} // namespace Detective +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/GetInvestigationRequest.h b/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/GetInvestigationRequest.h new file mode 100644 index 00000000000..9043b81d7c2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/GetInvestigationRequest.h @@ -0,0 +1,127 @@ +/** + * 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 Detective +{ +namespace Model +{ + + /** + */ + class GetInvestigationRequest : public DetectiveRequest + { + public: + AWS_DETECTIVE_API GetInvestigationRequest(); + + // 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 "GetInvestigation"; } + + AWS_DETECTIVE_API Aws::String SerializePayload() const override; + + + /** + *

                The ARN of the behavior graph.

                + */ + inline const Aws::String& GetGraphArn() const{ return m_graphArn; } + + /** + *

                The ARN of the behavior graph.

                + */ + inline bool GraphArnHasBeenSet() const { return m_graphArnHasBeenSet; } + + /** + *

                The ARN of the behavior graph.

                + */ + inline void SetGraphArn(const Aws::String& value) { m_graphArnHasBeenSet = true; m_graphArn = value; } + + /** + *

                The ARN of the behavior graph.

                + */ + inline void SetGraphArn(Aws::String&& value) { m_graphArnHasBeenSet = true; m_graphArn = std::move(value); } + + /** + *

                The ARN of the behavior graph.

                + */ + inline void SetGraphArn(const char* value) { m_graphArnHasBeenSet = true; m_graphArn.assign(value); } + + /** + *

                The ARN of the behavior graph.

                + */ + inline GetInvestigationRequest& WithGraphArn(const Aws::String& value) { SetGraphArn(value); return *this;} + + /** + *

                The ARN of the behavior graph.

                + */ + inline GetInvestigationRequest& WithGraphArn(Aws::String&& value) { SetGraphArn(std::move(value)); return *this;} + + /** + *

                The ARN of the behavior graph.

                + */ + inline GetInvestigationRequest& WithGraphArn(const char* value) { SetGraphArn(value); return *this;} + + + /** + *

                The investigation ID of the investigation report.

                + */ + inline const Aws::String& GetInvestigationId() const{ return m_investigationId; } + + /** + *

                The investigation ID of the investigation report.

                + */ + inline bool InvestigationIdHasBeenSet() const { return m_investigationIdHasBeenSet; } + + /** + *

                The investigation ID of the investigation report.

                + */ + inline void SetInvestigationId(const Aws::String& value) { m_investigationIdHasBeenSet = true; m_investigationId = value; } + + /** + *

                The investigation ID of the investigation report.

                + */ + inline void SetInvestigationId(Aws::String&& value) { m_investigationIdHasBeenSet = true; m_investigationId = std::move(value); } + + /** + *

                The investigation ID of the investigation report.

                + */ + inline void SetInvestigationId(const char* value) { m_investigationIdHasBeenSet = true; m_investigationId.assign(value); } + + /** + *

                The investigation ID of the investigation report.

                + */ + inline GetInvestigationRequest& WithInvestigationId(const Aws::String& value) { SetInvestigationId(value); return *this;} + + /** + *

                The investigation ID of the investigation report.

                + */ + inline GetInvestigationRequest& WithInvestigationId(Aws::String&& value) { SetInvestigationId(std::move(value)); return *this;} + + /** + *

                The investigation ID of the investigation report.

                + */ + inline GetInvestigationRequest& WithInvestigationId(const char* value) { SetInvestigationId(value); return *this;} + + private: + + Aws::String m_graphArn; + bool m_graphArnHasBeenSet = false; + + Aws::String m_investigationId; + bool m_investigationIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace Detective +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/GetInvestigationResult.h b/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/GetInvestigationResult.h new file mode 100644 index 00000000000..96c16322a79 --- /dev/null +++ b/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/GetInvestigationResult.h @@ -0,0 +1,403 @@ +/** + * 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 Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace Detective +{ +namespace Model +{ + class GetInvestigationResult + { + public: + AWS_DETECTIVE_API GetInvestigationResult(); + AWS_DETECTIVE_API GetInvestigationResult(const Aws::AmazonWebServiceResult& result); + AWS_DETECTIVE_API GetInvestigationResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

                The ARN of the behavior graph.

                + */ + inline const Aws::String& GetGraphArn() const{ return m_graphArn; } + + /** + *

                The ARN of the behavior graph.

                + */ + inline void SetGraphArn(const Aws::String& value) { m_graphArn = value; } + + /** + *

                The ARN of the behavior graph.

                + */ + inline void SetGraphArn(Aws::String&& value) { m_graphArn = std::move(value); } + + /** + *

                The ARN of the behavior graph.

                + */ + inline void SetGraphArn(const char* value) { m_graphArn.assign(value); } + + /** + *

                The ARN of the behavior graph.

                + */ + inline GetInvestigationResult& WithGraphArn(const Aws::String& value) { SetGraphArn(value); return *this;} + + /** + *

                The ARN of the behavior graph.

                + */ + inline GetInvestigationResult& WithGraphArn(Aws::String&& value) { SetGraphArn(std::move(value)); return *this;} + + /** + *

                The ARN of the behavior graph.

                + */ + inline GetInvestigationResult& WithGraphArn(const char* value) { SetGraphArn(value); return *this;} + + + /** + *

                The investigation ID of the investigation report.

                + */ + inline const Aws::String& GetInvestigationId() const{ return m_investigationId; } + + /** + *

                The investigation ID of the investigation report.

                + */ + inline void SetInvestigationId(const Aws::String& value) { m_investigationId = value; } + + /** + *

                The investigation ID of the investigation report.

                + */ + inline void SetInvestigationId(Aws::String&& value) { m_investigationId = std::move(value); } + + /** + *

                The investigation ID of the investigation report.

                + */ + inline void SetInvestigationId(const char* value) { m_investigationId.assign(value); } + + /** + *

                The investigation ID of the investigation report.

                + */ + inline GetInvestigationResult& WithInvestigationId(const Aws::String& value) { SetInvestigationId(value); return *this;} + + /** + *

                The investigation ID of the investigation report.

                + */ + inline GetInvestigationResult& WithInvestigationId(Aws::String&& value) { SetInvestigationId(std::move(value)); return *this;} + + /** + *

                The investigation ID of the investigation report.

                + */ + inline GetInvestigationResult& WithInvestigationId(const char* value) { SetInvestigationId(value); return *this;} + + + /** + *

                The unique Amazon Resource Name (ARN) of the IAM user and IAM role.

                + */ + inline const Aws::String& GetEntityArn() const{ return m_entityArn; } + + /** + *

                The unique Amazon Resource Name (ARN) of the IAM user and IAM role.

                + */ + inline void SetEntityArn(const Aws::String& value) { m_entityArn = value; } + + /** + *

                The unique Amazon Resource Name (ARN) of the IAM user and IAM role.

                + */ + inline void SetEntityArn(Aws::String&& value) { m_entityArn = std::move(value); } + + /** + *

                The unique Amazon Resource Name (ARN) of the IAM user and IAM role.

                + */ + inline void SetEntityArn(const char* value) { m_entityArn.assign(value); } + + /** + *

                The unique Amazon Resource Name (ARN) of the IAM user and IAM role.

                + */ + inline GetInvestigationResult& WithEntityArn(const Aws::String& value) { SetEntityArn(value); return *this;} + + /** + *

                The unique Amazon Resource Name (ARN) of the IAM user and IAM role.

                + */ + inline GetInvestigationResult& WithEntityArn(Aws::String&& value) { SetEntityArn(std::move(value)); return *this;} + + /** + *

                The unique Amazon Resource Name (ARN) of the IAM user and IAM role.

                + */ + inline GetInvestigationResult& WithEntityArn(const char* value) { SetEntityArn(value); return *this;} + + + /** + *

                Type of entity. For example, Amazon Web Services accounts, such as IAM user + * and role.

                + */ + inline const EntityType& GetEntityType() const{ return m_entityType; } + + /** + *

                Type of entity. For example, Amazon Web Services accounts, such as IAM user + * and role.

                + */ + inline void SetEntityType(const EntityType& value) { m_entityType = value; } + + /** + *

                Type of entity. For example, Amazon Web Services accounts, such as IAM user + * and role.

                + */ + inline void SetEntityType(EntityType&& value) { m_entityType = std::move(value); } + + /** + *

                Type of entity. For example, Amazon Web Services accounts, such as IAM user + * and role.

                + */ + inline GetInvestigationResult& WithEntityType(const EntityType& value) { SetEntityType(value); return *this;} + + /** + *

                Type of entity. For example, Amazon Web Services accounts, such as IAM user + * and role.

                + */ + inline GetInvestigationResult& WithEntityType(EntityType&& value) { SetEntityType(std::move(value)); return *this;} + + + /** + *

                The UTC time stamp of the creation time of the investigation report.

                + */ + inline const Aws::Utils::DateTime& GetCreatedTime() const{ return m_createdTime; } + + /** + *

                The UTC time stamp of the creation time of the investigation report.

                + */ + inline void SetCreatedTime(const Aws::Utils::DateTime& value) { m_createdTime = value; } + + /** + *

                The UTC time stamp of the creation time of the investigation report.

                + */ + inline void SetCreatedTime(Aws::Utils::DateTime&& value) { m_createdTime = std::move(value); } + + /** + *

                The UTC time stamp of the creation time of the investigation report.

                + */ + inline GetInvestigationResult& WithCreatedTime(const Aws::Utils::DateTime& value) { SetCreatedTime(value); return *this;} + + /** + *

                The UTC time stamp of the creation time of the investigation report.

                + */ + inline GetInvestigationResult& WithCreatedTime(Aws::Utils::DateTime&& value) { SetCreatedTime(std::move(value)); return *this;} + + + /** + *

                The start date and time for the scope time set to generate the investigation + * report.

                + */ + inline const Aws::Utils::DateTime& GetScopeStartTime() const{ return m_scopeStartTime; } + + /** + *

                The start date and time for the scope time set to generate the investigation + * report.

                + */ + inline void SetScopeStartTime(const Aws::Utils::DateTime& value) { m_scopeStartTime = value; } + + /** + *

                The start date and time for the scope time set to generate the investigation + * report.

                + */ + inline void SetScopeStartTime(Aws::Utils::DateTime&& value) { m_scopeStartTime = std::move(value); } + + /** + *

                The start date and time for the scope time set to generate the investigation + * report.

                + */ + inline GetInvestigationResult& WithScopeStartTime(const Aws::Utils::DateTime& value) { SetScopeStartTime(value); return *this;} + + /** + *

                The start date and time for the scope time set to generate the investigation + * report.

                + */ + inline GetInvestigationResult& WithScopeStartTime(Aws::Utils::DateTime&& value) { SetScopeStartTime(std::move(value)); return *this;} + + + /** + *

                The data and time when the investigation began. The value is an UTC ISO8601 + * formatted string. For example, 2021-08-18T16:35:56.284Z.

                + */ + inline const Aws::Utils::DateTime& GetScopeEndTime() const{ return m_scopeEndTime; } + + /** + *

                The data and time when the investigation began. The value is an UTC ISO8601 + * formatted string. For example, 2021-08-18T16:35:56.284Z.

                + */ + inline void SetScopeEndTime(const Aws::Utils::DateTime& value) { m_scopeEndTime = value; } + + /** + *

                The data and time when the investigation began. The value is an UTC ISO8601 + * formatted string. For example, 2021-08-18T16:35:56.284Z.

                + */ + inline void SetScopeEndTime(Aws::Utils::DateTime&& value) { m_scopeEndTime = std::move(value); } + + /** + *

                The data and time when the investigation began. The value is an UTC ISO8601 + * formatted string. For example, 2021-08-18T16:35:56.284Z.

                + */ + inline GetInvestigationResult& WithScopeEndTime(const Aws::Utils::DateTime& value) { SetScopeEndTime(value); return *this;} + + /** + *

                The data and time when the investigation began. The value is an UTC ISO8601 + * formatted string. For example, 2021-08-18T16:35:56.284Z.

                + */ + inline GetInvestigationResult& WithScopeEndTime(Aws::Utils::DateTime&& value) { SetScopeEndTime(std::move(value)); return *this;} + + + /** + *

                Status based on the completion status of the investigation.

                + */ + inline const Status& GetStatus() const{ return m_status; } + + /** + *

                Status based on the completion status of the investigation.

                + */ + inline void SetStatus(const Status& value) { m_status = value; } + + /** + *

                Status based on the completion status of the investigation.

                + */ + inline void SetStatus(Status&& value) { m_status = std::move(value); } + + /** + *

                Status based on the completion status of the investigation.

                + */ + inline GetInvestigationResult& WithStatus(const Status& value) { SetStatus(value); return *this;} + + /** + *

                Status based on the completion status of the investigation.

                + */ + inline GetInvestigationResult& WithStatus(Status&& value) { SetStatus(std::move(value)); return *this;} + + + /** + *

                Severity based on the likelihood and impact of the indicators of compromise + * discovered in the investigation.

                + */ + inline const Severity& GetSeverity() const{ return m_severity; } + + /** + *

                Severity based on the likelihood and impact of the indicators of compromise + * discovered in the investigation.

                + */ + inline void SetSeverity(const Severity& value) { m_severity = value; } + + /** + *

                Severity based on the likelihood and impact of the indicators of compromise + * discovered in the investigation.

                + */ + inline void SetSeverity(Severity&& value) { m_severity = std::move(value); } + + /** + *

                Severity based on the likelihood and impact of the indicators of compromise + * discovered in the investigation.

                + */ + inline GetInvestigationResult& WithSeverity(const Severity& value) { SetSeverity(value); return *this;} + + /** + *

                Severity based on the likelihood and impact of the indicators of compromise + * discovered in the investigation.

                + */ + inline GetInvestigationResult& WithSeverity(Severity&& value) { SetSeverity(std::move(value)); return *this;} + + + /** + *

                The current state of the investigation. An archived investigation indicates + * you have completed reviewing the investigation.

                + */ + inline const State& GetState() const{ return m_state; } + + /** + *

                The current state of the investigation. An archived investigation indicates + * you have completed reviewing the investigation.

                + */ + inline void SetState(const State& value) { m_state = value; } + + /** + *

                The current state of the investigation. An archived investigation indicates + * you have completed reviewing the investigation.

                + */ + inline void SetState(State&& value) { m_state = std::move(value); } + + /** + *

                The current state of the investigation. An archived investigation indicates + * you have completed reviewing the investigation.

                + */ + inline GetInvestigationResult& WithState(const State& value) { SetState(value); return *this;} + + /** + *

                The current state of the investigation. An archived investigation indicates + * you have completed reviewing the investigation.

                + */ + inline GetInvestigationResult& WithState(State&& value) { SetState(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 GetInvestigationResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline GetInvestigationResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline GetInvestigationResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::String m_graphArn; + + Aws::String m_investigationId; + + Aws::String m_entityArn; + + EntityType m_entityType; + + Aws::Utils::DateTime m_createdTime; + + Aws::Utils::DateTime m_scopeStartTime; + + Aws::Utils::DateTime m_scopeEndTime; + + Status m_status; + + Severity m_severity; + + State m_state; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace Detective +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/ImpossibleTravelDetail.h b/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/ImpossibleTravelDetail.h new file mode 100644 index 00000000000..8d4765548e7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/ImpossibleTravelDetail.h @@ -0,0 +1,249 @@ +/** + * 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 Detective +{ +namespace Model +{ + + /** + *

                Contains information on unusual and impossible travel in an + * account.

                See Also:

                AWS + * API Reference

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

                IP address where the resource was first used in the impossible travel

                + */ + inline const Aws::String& GetStartingIpAddress() const{ return m_startingIpAddress; } + + /** + *

                IP address where the resource was first used in the impossible travel

                + */ + inline bool StartingIpAddressHasBeenSet() const { return m_startingIpAddressHasBeenSet; } + + /** + *

                IP address where the resource was first used in the impossible travel

                + */ + inline void SetStartingIpAddress(const Aws::String& value) { m_startingIpAddressHasBeenSet = true; m_startingIpAddress = value; } + + /** + *

                IP address where the resource was first used in the impossible travel

                + */ + inline void SetStartingIpAddress(Aws::String&& value) { m_startingIpAddressHasBeenSet = true; m_startingIpAddress = std::move(value); } + + /** + *

                IP address where the resource was first used in the impossible travel

                + */ + inline void SetStartingIpAddress(const char* value) { m_startingIpAddressHasBeenSet = true; m_startingIpAddress.assign(value); } + + /** + *

                IP address where the resource was first used in the impossible travel

                + */ + inline ImpossibleTravelDetail& WithStartingIpAddress(const Aws::String& value) { SetStartingIpAddress(value); return *this;} + + /** + *

                IP address where the resource was first used in the impossible travel

                + */ + inline ImpossibleTravelDetail& WithStartingIpAddress(Aws::String&& value) { SetStartingIpAddress(std::move(value)); return *this;} + + /** + *

                IP address where the resource was first used in the impossible travel

                + */ + inline ImpossibleTravelDetail& WithStartingIpAddress(const char* value) { SetStartingIpAddress(value); return *this;} + + + /** + *

                IP address where the resource was last used in the impossible travel.

                + */ + inline const Aws::String& GetEndingIpAddress() const{ return m_endingIpAddress; } + + /** + *

                IP address where the resource was last used in the impossible travel.

                + */ + inline bool EndingIpAddressHasBeenSet() const { return m_endingIpAddressHasBeenSet; } + + /** + *

                IP address where the resource was last used in the impossible travel.

                + */ + inline void SetEndingIpAddress(const Aws::String& value) { m_endingIpAddressHasBeenSet = true; m_endingIpAddress = value; } + + /** + *

                IP address where the resource was last used in the impossible travel.

                + */ + inline void SetEndingIpAddress(Aws::String&& value) { m_endingIpAddressHasBeenSet = true; m_endingIpAddress = std::move(value); } + + /** + *

                IP address where the resource was last used in the impossible travel.

                + */ + inline void SetEndingIpAddress(const char* value) { m_endingIpAddressHasBeenSet = true; m_endingIpAddress.assign(value); } + + /** + *

                IP address where the resource was last used in the impossible travel.

                + */ + inline ImpossibleTravelDetail& WithEndingIpAddress(const Aws::String& value) { SetEndingIpAddress(value); return *this;} + + /** + *

                IP address where the resource was last used in the impossible travel.

                + */ + inline ImpossibleTravelDetail& WithEndingIpAddress(Aws::String&& value) { SetEndingIpAddress(std::move(value)); return *this;} + + /** + *

                IP address where the resource was last used in the impossible travel.

                + */ + inline ImpossibleTravelDetail& WithEndingIpAddress(const char* value) { SetEndingIpAddress(value); return *this;} + + + /** + *

                Location where the resource was first used in the impossible travel

                + */ + inline const Aws::String& GetStartingLocation() const{ return m_startingLocation; } + + /** + *

                Location where the resource was first used in the impossible travel

                + */ + inline bool StartingLocationHasBeenSet() const { return m_startingLocationHasBeenSet; } + + /** + *

                Location where the resource was first used in the impossible travel

                + */ + inline void SetStartingLocation(const Aws::String& value) { m_startingLocationHasBeenSet = true; m_startingLocation = value; } + + /** + *

                Location where the resource was first used in the impossible travel

                + */ + inline void SetStartingLocation(Aws::String&& value) { m_startingLocationHasBeenSet = true; m_startingLocation = std::move(value); } + + /** + *

                Location where the resource was first used in the impossible travel

                + */ + inline void SetStartingLocation(const char* value) { m_startingLocationHasBeenSet = true; m_startingLocation.assign(value); } + + /** + *

                Location where the resource was first used in the impossible travel

                + */ + inline ImpossibleTravelDetail& WithStartingLocation(const Aws::String& value) { SetStartingLocation(value); return *this;} + + /** + *

                Location where the resource was first used in the impossible travel

                + */ + inline ImpossibleTravelDetail& WithStartingLocation(Aws::String&& value) { SetStartingLocation(std::move(value)); return *this;} + + /** + *

                Location where the resource was first used in the impossible travel

                + */ + inline ImpossibleTravelDetail& WithStartingLocation(const char* value) { SetStartingLocation(value); return *this;} + + + /** + *

                Location where the resource was last used in the impossible travel.

                + */ + inline const Aws::String& GetEndingLocation() const{ return m_endingLocation; } + + /** + *

                Location where the resource was last used in the impossible travel.

                + */ + inline bool EndingLocationHasBeenSet() const { return m_endingLocationHasBeenSet; } + + /** + *

                Location where the resource was last used in the impossible travel.

                + */ + inline void SetEndingLocation(const Aws::String& value) { m_endingLocationHasBeenSet = true; m_endingLocation = value; } + + /** + *

                Location where the resource was last used in the impossible travel.

                + */ + inline void SetEndingLocation(Aws::String&& value) { m_endingLocationHasBeenSet = true; m_endingLocation = std::move(value); } + + /** + *

                Location where the resource was last used in the impossible travel.

                + */ + inline void SetEndingLocation(const char* value) { m_endingLocationHasBeenSet = true; m_endingLocation.assign(value); } + + /** + *

                Location where the resource was last used in the impossible travel.

                + */ + inline ImpossibleTravelDetail& WithEndingLocation(const Aws::String& value) { SetEndingLocation(value); return *this;} + + /** + *

                Location where the resource was last used in the impossible travel.

                + */ + inline ImpossibleTravelDetail& WithEndingLocation(Aws::String&& value) { SetEndingLocation(std::move(value)); return *this;} + + /** + *

                Location where the resource was last used in the impossible travel.

                + */ + inline ImpossibleTravelDetail& WithEndingLocation(const char* value) { SetEndingLocation(value); return *this;} + + + /** + *

                Returns the time difference between the first and last timestamp the resource + * was used.

                + */ + inline int GetHourlyTimeDelta() const{ return m_hourlyTimeDelta; } + + /** + *

                Returns the time difference between the first and last timestamp the resource + * was used.

                + */ + inline bool HourlyTimeDeltaHasBeenSet() const { return m_hourlyTimeDeltaHasBeenSet; } + + /** + *

                Returns the time difference between the first and last timestamp the resource + * was used.

                + */ + inline void SetHourlyTimeDelta(int value) { m_hourlyTimeDeltaHasBeenSet = true; m_hourlyTimeDelta = value; } + + /** + *

                Returns the time difference between the first and last timestamp the resource + * was used.

                + */ + inline ImpossibleTravelDetail& WithHourlyTimeDelta(int value) { SetHourlyTimeDelta(value); return *this;} + + private: + + Aws::String m_startingIpAddress; + bool m_startingIpAddressHasBeenSet = false; + + Aws::String m_endingIpAddress; + bool m_endingIpAddressHasBeenSet = false; + + Aws::String m_startingLocation; + bool m_startingLocationHasBeenSet = false; + + Aws::String m_endingLocation; + bool m_endingLocationHasBeenSet = false; + + int m_hourlyTimeDelta; + bool m_hourlyTimeDeltaHasBeenSet = false; + }; + +} // namespace Model +} // namespace Detective +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/Indicator.h b/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/Indicator.h new file mode 100644 index 00000000000..fa8e18d6221 --- /dev/null +++ b/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/Indicator.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 Detective +{ +namespace Model +{ + + /** + *

                Investigations triages indicators of compromises such as a finding and + * surfaces only the most critical and suspicious issues, so you can focus on + * high-level investigations.

                See Also:

                AWS + * API Reference

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

                The type of indicator.

                + */ + inline const IndicatorType& GetIndicatorType() const{ return m_indicatorType; } + + /** + *

                The type of indicator.

                + */ + inline bool IndicatorTypeHasBeenSet() const { return m_indicatorTypeHasBeenSet; } + + /** + *

                The type of indicator.

                + */ + inline void SetIndicatorType(const IndicatorType& value) { m_indicatorTypeHasBeenSet = true; m_indicatorType = value; } + + /** + *

                The type of indicator.

                + */ + inline void SetIndicatorType(IndicatorType&& value) { m_indicatorTypeHasBeenSet = true; m_indicatorType = std::move(value); } + + /** + *

                The type of indicator.

                + */ + inline Indicator& WithIndicatorType(const IndicatorType& value) { SetIndicatorType(value); return *this;} + + /** + *

                The type of indicator.

                + */ + inline Indicator& WithIndicatorType(IndicatorType&& value) { SetIndicatorType(std::move(value)); return *this;} + + + /** + *

                Details about the indicator of compromise.

                + */ + inline const IndicatorDetail& GetIndicatorDetail() const{ return m_indicatorDetail; } + + /** + *

                Details about the indicator of compromise.

                + */ + inline bool IndicatorDetailHasBeenSet() const { return m_indicatorDetailHasBeenSet; } + + /** + *

                Details about the indicator of compromise.

                + */ + inline void SetIndicatorDetail(const IndicatorDetail& value) { m_indicatorDetailHasBeenSet = true; m_indicatorDetail = value; } + + /** + *

                Details about the indicator of compromise.

                + */ + inline void SetIndicatorDetail(IndicatorDetail&& value) { m_indicatorDetailHasBeenSet = true; m_indicatorDetail = std::move(value); } + + /** + *

                Details about the indicator of compromise.

                + */ + inline Indicator& WithIndicatorDetail(const IndicatorDetail& value) { SetIndicatorDetail(value); return *this;} + + /** + *

                Details about the indicator of compromise.

                + */ + inline Indicator& WithIndicatorDetail(IndicatorDetail&& value) { SetIndicatorDetail(std::move(value)); return *this;} + + private: + + IndicatorType m_indicatorType; + bool m_indicatorTypeHasBeenSet = false; + + IndicatorDetail m_indicatorDetail; + bool m_indicatorDetailHasBeenSet = false; + }; + +} // namespace Model +} // namespace Detective +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/IndicatorDetail.h b/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/IndicatorDetail.h new file mode 100644 index 00000000000..ad8669ef6a6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/IndicatorDetail.h @@ -0,0 +1,336 @@ +/** + * 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 Detective +{ +namespace Model +{ + + /** + *

                Details about the indicators of compromise which are used to determine if a + * resource is involved in a security incident.

                See Also:

                AWS + * API Reference

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

                Details about the indicator of compromise.

                + */ + inline const TTPsObservedDetail& GetTTPsObservedDetail() const{ return m_tTPsObservedDetail; } + + /** + *

                Details about the indicator of compromise.

                + */ + inline bool TTPsObservedDetailHasBeenSet() const { return m_tTPsObservedDetailHasBeenSet; } + + /** + *

                Details about the indicator of compromise.

                + */ + inline void SetTTPsObservedDetail(const TTPsObservedDetail& value) { m_tTPsObservedDetailHasBeenSet = true; m_tTPsObservedDetail = value; } + + /** + *

                Details about the indicator of compromise.

                + */ + inline void SetTTPsObservedDetail(TTPsObservedDetail&& value) { m_tTPsObservedDetailHasBeenSet = true; m_tTPsObservedDetail = std::move(value); } + + /** + *

                Details about the indicator of compromise.

                + */ + inline IndicatorDetail& WithTTPsObservedDetail(const TTPsObservedDetail& value) { SetTTPsObservedDetail(value); return *this;} + + /** + *

                Details about the indicator of compromise.

                + */ + inline IndicatorDetail& WithTTPsObservedDetail(TTPsObservedDetail&& value) { SetTTPsObservedDetail(std::move(value)); return *this;} + + + /** + *

                Identifies unusual and impossible user activity for an account.

                + */ + inline const ImpossibleTravelDetail& GetImpossibleTravelDetail() const{ return m_impossibleTravelDetail; } + + /** + *

                Identifies unusual and impossible user activity for an account.

                + */ + inline bool ImpossibleTravelDetailHasBeenSet() const { return m_impossibleTravelDetailHasBeenSet; } + + /** + *

                Identifies unusual and impossible user activity for an account.

                + */ + inline void SetImpossibleTravelDetail(const ImpossibleTravelDetail& value) { m_impossibleTravelDetailHasBeenSet = true; m_impossibleTravelDetail = value; } + + /** + *

                Identifies unusual and impossible user activity for an account.

                + */ + inline void SetImpossibleTravelDetail(ImpossibleTravelDetail&& value) { m_impossibleTravelDetailHasBeenSet = true; m_impossibleTravelDetail = std::move(value); } + + /** + *

                Identifies unusual and impossible user activity for an account.

                + */ + inline IndicatorDetail& WithImpossibleTravelDetail(const ImpossibleTravelDetail& value) { SetImpossibleTravelDetail(value); return *this;} + + /** + *

                Identifies unusual and impossible user activity for an account.

                + */ + inline IndicatorDetail& WithImpossibleTravelDetail(ImpossibleTravelDetail&& value) { SetImpossibleTravelDetail(std::move(value)); return *this;} + + + /** + *

                Suspicious IP addresses that are flagged, which indicates critical or severe + * threats based on threat intelligence by Detective. This indicator is derived + * from AWS threat intelligence.

                + */ + inline const FlaggedIpAddressDetail& GetFlaggedIpAddressDetail() const{ return m_flaggedIpAddressDetail; } + + /** + *

                Suspicious IP addresses that are flagged, which indicates critical or severe + * threats based on threat intelligence by Detective. This indicator is derived + * from AWS threat intelligence.

                + */ + inline bool FlaggedIpAddressDetailHasBeenSet() const { return m_flaggedIpAddressDetailHasBeenSet; } + + /** + *

                Suspicious IP addresses that are flagged, which indicates critical or severe + * threats based on threat intelligence by Detective. This indicator is derived + * from AWS threat intelligence.

                + */ + inline void SetFlaggedIpAddressDetail(const FlaggedIpAddressDetail& value) { m_flaggedIpAddressDetailHasBeenSet = true; m_flaggedIpAddressDetail = value; } + + /** + *

                Suspicious IP addresses that are flagged, which indicates critical or severe + * threats based on threat intelligence by Detective. This indicator is derived + * from AWS threat intelligence.

                + */ + inline void SetFlaggedIpAddressDetail(FlaggedIpAddressDetail&& value) { m_flaggedIpAddressDetailHasBeenSet = true; m_flaggedIpAddressDetail = std::move(value); } + + /** + *

                Suspicious IP addresses that are flagged, which indicates critical or severe + * threats based on threat intelligence by Detective. This indicator is derived + * from AWS threat intelligence.

                + */ + inline IndicatorDetail& WithFlaggedIpAddressDetail(const FlaggedIpAddressDetail& value) { SetFlaggedIpAddressDetail(value); return *this;} + + /** + *

                Suspicious IP addresses that are flagged, which indicates critical or severe + * threats based on threat intelligence by Detective. This indicator is derived + * from AWS threat intelligence.

                + */ + inline IndicatorDetail& WithFlaggedIpAddressDetail(FlaggedIpAddressDetail&& value) { SetFlaggedIpAddressDetail(std::move(value)); return *this;} + + + /** + *

                Contains details about the new geographic location.

                + */ + inline const NewGeolocationDetail& GetNewGeolocationDetail() const{ return m_newGeolocationDetail; } + + /** + *

                Contains details about the new geographic location.

                + */ + inline bool NewGeolocationDetailHasBeenSet() const { return m_newGeolocationDetailHasBeenSet; } + + /** + *

                Contains details about the new geographic location.

                + */ + inline void SetNewGeolocationDetail(const NewGeolocationDetail& value) { m_newGeolocationDetailHasBeenSet = true; m_newGeolocationDetail = value; } + + /** + *

                Contains details about the new geographic location.

                + */ + inline void SetNewGeolocationDetail(NewGeolocationDetail&& value) { m_newGeolocationDetailHasBeenSet = true; m_newGeolocationDetail = std::move(value); } + + /** + *

                Contains details about the new geographic location.

                + */ + inline IndicatorDetail& WithNewGeolocationDetail(const NewGeolocationDetail& value) { SetNewGeolocationDetail(value); return *this;} + + /** + *

                Contains details about the new geographic location.

                + */ + inline IndicatorDetail& WithNewGeolocationDetail(NewGeolocationDetail&& value) { SetNewGeolocationDetail(std::move(value)); return *this;} + + + /** + *

                Contains details about the new Autonomous System Organization (ASO).

                + */ + inline const NewAsoDetail& GetNewAsoDetail() const{ return m_newAsoDetail; } + + /** + *

                Contains details about the new Autonomous System Organization (ASO).

                + */ + inline bool NewAsoDetailHasBeenSet() const { return m_newAsoDetailHasBeenSet; } + + /** + *

                Contains details about the new Autonomous System Organization (ASO).

                + */ + inline void SetNewAsoDetail(const NewAsoDetail& value) { m_newAsoDetailHasBeenSet = true; m_newAsoDetail = value; } + + /** + *

                Contains details about the new Autonomous System Organization (ASO).

                + */ + inline void SetNewAsoDetail(NewAsoDetail&& value) { m_newAsoDetailHasBeenSet = true; m_newAsoDetail = std::move(value); } + + /** + *

                Contains details about the new Autonomous System Organization (ASO).

                + */ + inline IndicatorDetail& WithNewAsoDetail(const NewAsoDetail& value) { SetNewAsoDetail(value); return *this;} + + /** + *

                Contains details about the new Autonomous System Organization (ASO).

                + */ + inline IndicatorDetail& WithNewAsoDetail(NewAsoDetail&& value) { SetNewAsoDetail(std::move(value)); return *this;} + + + /** + *

                Contains details about the new user agent.

                + */ + inline const NewUserAgentDetail& GetNewUserAgentDetail() const{ return m_newUserAgentDetail; } + + /** + *

                Contains details about the new user agent.

                + */ + inline bool NewUserAgentDetailHasBeenSet() const { return m_newUserAgentDetailHasBeenSet; } + + /** + *

                Contains details about the new user agent.

                + */ + inline void SetNewUserAgentDetail(const NewUserAgentDetail& value) { m_newUserAgentDetailHasBeenSet = true; m_newUserAgentDetail = value; } + + /** + *

                Contains details about the new user agent.

                + */ + inline void SetNewUserAgentDetail(NewUserAgentDetail&& value) { m_newUserAgentDetailHasBeenSet = true; m_newUserAgentDetail = std::move(value); } + + /** + *

                Contains details about the new user agent.

                + */ + inline IndicatorDetail& WithNewUserAgentDetail(const NewUserAgentDetail& value) { SetNewUserAgentDetail(value); return *this;} + + /** + *

                Contains details about the new user agent.

                + */ + inline IndicatorDetail& WithNewUserAgentDetail(NewUserAgentDetail&& value) { SetNewUserAgentDetail(std::move(value)); return *this;} + + + /** + *

                Contains details about related findings.

                + */ + inline const RelatedFindingDetail& GetRelatedFindingDetail() const{ return m_relatedFindingDetail; } + + /** + *

                Contains details about related findings.

                + */ + inline bool RelatedFindingDetailHasBeenSet() const { return m_relatedFindingDetailHasBeenSet; } + + /** + *

                Contains details about related findings.

                + */ + inline void SetRelatedFindingDetail(const RelatedFindingDetail& value) { m_relatedFindingDetailHasBeenSet = true; m_relatedFindingDetail = value; } + + /** + *

                Contains details about related findings.

                + */ + inline void SetRelatedFindingDetail(RelatedFindingDetail&& value) { m_relatedFindingDetailHasBeenSet = true; m_relatedFindingDetail = std::move(value); } + + /** + *

                Contains details about related findings.

                + */ + inline IndicatorDetail& WithRelatedFindingDetail(const RelatedFindingDetail& value) { SetRelatedFindingDetail(value); return *this;} + + /** + *

                Contains details about related findings.

                + */ + inline IndicatorDetail& WithRelatedFindingDetail(RelatedFindingDetail&& value) { SetRelatedFindingDetail(std::move(value)); return *this;} + + + /** + *

                Contains details about related finding groups.

                + */ + inline const RelatedFindingGroupDetail& GetRelatedFindingGroupDetail() const{ return m_relatedFindingGroupDetail; } + + /** + *

                Contains details about related finding groups.

                + */ + inline bool RelatedFindingGroupDetailHasBeenSet() const { return m_relatedFindingGroupDetailHasBeenSet; } + + /** + *

                Contains details about related finding groups.

                + */ + inline void SetRelatedFindingGroupDetail(const RelatedFindingGroupDetail& value) { m_relatedFindingGroupDetailHasBeenSet = true; m_relatedFindingGroupDetail = value; } + + /** + *

                Contains details about related finding groups.

                + */ + inline void SetRelatedFindingGroupDetail(RelatedFindingGroupDetail&& value) { m_relatedFindingGroupDetailHasBeenSet = true; m_relatedFindingGroupDetail = std::move(value); } + + /** + *

                Contains details about related finding groups.

                + */ + inline IndicatorDetail& WithRelatedFindingGroupDetail(const RelatedFindingGroupDetail& value) { SetRelatedFindingGroupDetail(value); return *this;} + + /** + *

                Contains details about related finding groups.

                + */ + inline IndicatorDetail& WithRelatedFindingGroupDetail(RelatedFindingGroupDetail&& value) { SetRelatedFindingGroupDetail(std::move(value)); return *this;} + + private: + + TTPsObservedDetail m_tTPsObservedDetail; + bool m_tTPsObservedDetailHasBeenSet = false; + + ImpossibleTravelDetail m_impossibleTravelDetail; + bool m_impossibleTravelDetailHasBeenSet = false; + + FlaggedIpAddressDetail m_flaggedIpAddressDetail; + bool m_flaggedIpAddressDetailHasBeenSet = false; + + NewGeolocationDetail m_newGeolocationDetail; + bool m_newGeolocationDetailHasBeenSet = false; + + NewAsoDetail m_newAsoDetail; + bool m_newAsoDetailHasBeenSet = false; + + NewUserAgentDetail m_newUserAgentDetail; + bool m_newUserAgentDetailHasBeenSet = false; + + RelatedFindingDetail m_relatedFindingDetail; + bool m_relatedFindingDetailHasBeenSet = false; + + RelatedFindingGroupDetail m_relatedFindingGroupDetail; + bool m_relatedFindingGroupDetailHasBeenSet = false; + }; + +} // namespace Model +} // namespace Detective +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/IndicatorType.h b/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/IndicatorType.h new file mode 100644 index 00000000000..57d4c184d6d --- /dev/null +++ b/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/IndicatorType.h @@ -0,0 +1,37 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace Detective +{ +namespace Model +{ + enum class IndicatorType + { + NOT_SET, + TTP_OBSERVED, + IMPOSSIBLE_TRAVEL, + FLAGGED_IP_ADDRESS, + NEW_GEOLOCATION, + NEW_ASO, + NEW_USER_AGENT, + RELATED_FINDING, + RELATED_FINDING_GROUP + }; + +namespace IndicatorTypeMapper +{ +AWS_DETECTIVE_API IndicatorType GetIndicatorTypeForName(const Aws::String& name); + +AWS_DETECTIVE_API Aws::String GetNameForIndicatorType(IndicatorType value); +} // namespace IndicatorTypeMapper +} // namespace Model +} // namespace Detective +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/InvestigationDetail.h b/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/InvestigationDetail.h new file mode 100644 index 00000000000..7959efa7aef --- /dev/null +++ b/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/InvestigationDetail.h @@ -0,0 +1,326 @@ +/** + * 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 Detective +{ +namespace Model +{ + + /** + *

                Details about the investigation related to a potential security event + * identified by Detective

                See Also:

                AWS + * API Reference

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

                The investigation ID of the investigation report.

                + */ + inline const Aws::String& GetInvestigationId() const{ return m_investigationId; } + + /** + *

                The investigation ID of the investigation report.

                + */ + inline bool InvestigationIdHasBeenSet() const { return m_investigationIdHasBeenSet; } + + /** + *

                The investigation ID of the investigation report.

                + */ + inline void SetInvestigationId(const Aws::String& value) { m_investigationIdHasBeenSet = true; m_investigationId = value; } + + /** + *

                The investigation ID of the investigation report.

                + */ + inline void SetInvestigationId(Aws::String&& value) { m_investigationIdHasBeenSet = true; m_investigationId = std::move(value); } + + /** + *

                The investigation ID of the investigation report.

                + */ + inline void SetInvestigationId(const char* value) { m_investigationIdHasBeenSet = true; m_investigationId.assign(value); } + + /** + *

                The investigation ID of the investigation report.

                + */ + inline InvestigationDetail& WithInvestigationId(const Aws::String& value) { SetInvestigationId(value); return *this;} + + /** + *

                The investigation ID of the investigation report.

                + */ + inline InvestigationDetail& WithInvestigationId(Aws::String&& value) { SetInvestigationId(std::move(value)); return *this;} + + /** + *

                The investigation ID of the investigation report.

                + */ + inline InvestigationDetail& WithInvestigationId(const char* value) { SetInvestigationId(value); return *this;} + + + /** + *

                Severity based on the likelihood and impact of the indicators of compromise + * discovered in the investigation.

                + */ + inline const Severity& GetSeverity() const{ return m_severity; } + + /** + *

                Severity based on the likelihood and impact of the indicators of compromise + * discovered in the investigation.

                + */ + inline bool SeverityHasBeenSet() const { return m_severityHasBeenSet; } + + /** + *

                Severity based on the likelihood and impact of the indicators of compromise + * discovered in the investigation.

                + */ + inline void SetSeverity(const Severity& value) { m_severityHasBeenSet = true; m_severity = value; } + + /** + *

                Severity based on the likelihood and impact of the indicators of compromise + * discovered in the investigation.

                + */ + inline void SetSeverity(Severity&& value) { m_severityHasBeenSet = true; m_severity = std::move(value); } + + /** + *

                Severity based on the likelihood and impact of the indicators of compromise + * discovered in the investigation.

                + */ + inline InvestigationDetail& WithSeverity(const Severity& value) { SetSeverity(value); return *this;} + + /** + *

                Severity based on the likelihood and impact of the indicators of compromise + * discovered in the investigation.

                + */ + inline InvestigationDetail& WithSeverity(Severity&& value) { SetSeverity(std::move(value)); return *this;} + + + /** + *

                Status based on the completion status of the investigation.

                + */ + inline const Status& GetStatus() const{ return m_status; } + + /** + *

                Status based on the completion status of the investigation.

                + */ + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + + /** + *

                Status based on the completion status of the investigation.

                + */ + inline void SetStatus(const Status& value) { m_statusHasBeenSet = true; m_status = value; } + + /** + *

                Status based on the completion status of the investigation.

                + */ + inline void SetStatus(Status&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } + + /** + *

                Status based on the completion status of the investigation.

                + */ + inline InvestigationDetail& WithStatus(const Status& value) { SetStatus(value); return *this;} + + /** + *

                Status based on the completion status of the investigation.

                + */ + inline InvestigationDetail& WithStatus(Status&& value) { SetStatus(std::move(value)); return *this;} + + + /** + *

                The current state of the investigation. An archived investigation indicates + * you have completed reviewing the investigation.

                + */ + inline const State& GetState() const{ return m_state; } + + /** + *

                The current state of the investigation. An archived investigation indicates + * you have completed reviewing the investigation.

                + */ + inline bool StateHasBeenSet() const { return m_stateHasBeenSet; } + + /** + *

                The current state of the investigation. An archived investigation indicates + * you have completed reviewing the investigation.

                + */ + inline void SetState(const State& value) { m_stateHasBeenSet = true; m_state = value; } + + /** + *

                The current state of the investigation. An archived investigation indicates + * you have completed reviewing the investigation.

                + */ + inline void SetState(State&& value) { m_stateHasBeenSet = true; m_state = std::move(value); } + + /** + *

                The current state of the investigation. An archived investigation indicates + * you have completed reviewing the investigation.

                + */ + inline InvestigationDetail& WithState(const State& value) { SetState(value); return *this;} + + /** + *

                The current state of the investigation. An archived investigation indicates + * you have completed reviewing the investigation.

                + */ + inline InvestigationDetail& WithState(State&& value) { SetState(std::move(value)); return *this;} + + + /** + *

                The UTC time stamp of the creation time of the investigation report.

                + */ + inline const Aws::Utils::DateTime& GetCreatedTime() const{ return m_createdTime; } + + /** + *

                The UTC time stamp of the creation time of the investigation report.

                + */ + inline bool CreatedTimeHasBeenSet() const { return m_createdTimeHasBeenSet; } + + /** + *

                The UTC time stamp of the creation time of the investigation report.

                + */ + inline void SetCreatedTime(const Aws::Utils::DateTime& value) { m_createdTimeHasBeenSet = true; m_createdTime = value; } + + /** + *

                The UTC time stamp of the creation time of the investigation report.

                + */ + inline void SetCreatedTime(Aws::Utils::DateTime&& value) { m_createdTimeHasBeenSet = true; m_createdTime = std::move(value); } + + /** + *

                The UTC time stamp of the creation time of the investigation report.

                + */ + inline InvestigationDetail& WithCreatedTime(const Aws::Utils::DateTime& value) { SetCreatedTime(value); return *this;} + + /** + *

                The UTC time stamp of the creation time of the investigation report.

                + */ + inline InvestigationDetail& WithCreatedTime(Aws::Utils::DateTime&& value) { SetCreatedTime(std::move(value)); return *this;} + + + /** + *

                The unique Amazon Resource Name (ARN) of the IAM user and IAM role.

                + */ + inline const Aws::String& GetEntityArn() const{ return m_entityArn; } + + /** + *

                The unique Amazon Resource Name (ARN) of the IAM user and IAM role.

                + */ + inline bool EntityArnHasBeenSet() const { return m_entityArnHasBeenSet; } + + /** + *

                The unique Amazon Resource Name (ARN) of the IAM user and IAM role.

                + */ + inline void SetEntityArn(const Aws::String& value) { m_entityArnHasBeenSet = true; m_entityArn = value; } + + /** + *

                The unique Amazon Resource Name (ARN) of the IAM user and IAM role.

                + */ + inline void SetEntityArn(Aws::String&& value) { m_entityArnHasBeenSet = true; m_entityArn = std::move(value); } + + /** + *

                The unique Amazon Resource Name (ARN) of the IAM user and IAM role.

                + */ + inline void SetEntityArn(const char* value) { m_entityArnHasBeenSet = true; m_entityArn.assign(value); } + + /** + *

                The unique Amazon Resource Name (ARN) of the IAM user and IAM role.

                + */ + inline InvestigationDetail& WithEntityArn(const Aws::String& value) { SetEntityArn(value); return *this;} + + /** + *

                The unique Amazon Resource Name (ARN) of the IAM user and IAM role.

                + */ + inline InvestigationDetail& WithEntityArn(Aws::String&& value) { SetEntityArn(std::move(value)); return *this;} + + /** + *

                The unique Amazon Resource Name (ARN) of the IAM user and IAM role.

                + */ + inline InvestigationDetail& WithEntityArn(const char* value) { SetEntityArn(value); return *this;} + + + /** + *

                Type of entity. For example, Amazon Web Services accounts, such as IAM user + * and role.

                + */ + inline const EntityType& GetEntityType() const{ return m_entityType; } + + /** + *

                Type of entity. For example, Amazon Web Services accounts, such as IAM user + * and role.

                + */ + inline bool EntityTypeHasBeenSet() const { return m_entityTypeHasBeenSet; } + + /** + *

                Type of entity. For example, Amazon Web Services accounts, such as IAM user + * and role.

                + */ + inline void SetEntityType(const EntityType& value) { m_entityTypeHasBeenSet = true; m_entityType = value; } + + /** + *

                Type of entity. For example, Amazon Web Services accounts, such as IAM user + * and role.

                + */ + inline void SetEntityType(EntityType&& value) { m_entityTypeHasBeenSet = true; m_entityType = std::move(value); } + + /** + *

                Type of entity. For example, Amazon Web Services accounts, such as IAM user + * and role.

                + */ + inline InvestigationDetail& WithEntityType(const EntityType& value) { SetEntityType(value); return *this;} + + /** + *

                Type of entity. For example, Amazon Web Services accounts, such as IAM user + * and role.

                + */ + inline InvestigationDetail& WithEntityType(EntityType&& value) { SetEntityType(std::move(value)); return *this;} + + private: + + Aws::String m_investigationId; + bool m_investigationIdHasBeenSet = false; + + Severity m_severity; + bool m_severityHasBeenSet = false; + + Status m_status; + bool m_statusHasBeenSet = false; + + State m_state; + bool m_stateHasBeenSet = false; + + Aws::Utils::DateTime m_createdTime; + bool m_createdTimeHasBeenSet = false; + + Aws::String m_entityArn; + bool m_entityArnHasBeenSet = false; + + EntityType m_entityType; + bool m_entityTypeHasBeenSet = false; + }; + +} // namespace Model +} // namespace Detective +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/ListIndicatorsRequest.h b/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/ListIndicatorsRequest.h new file mode 100644 index 00000000000..188af137ac1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/ListIndicatorsRequest.h @@ -0,0 +1,274 @@ +/** + * 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 Detective +{ +namespace Model +{ + + /** + */ + class ListIndicatorsRequest : public DetectiveRequest + { + public: + AWS_DETECTIVE_API ListIndicatorsRequest(); + + // 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 "ListIndicators"; } + + AWS_DETECTIVE_API Aws::String SerializePayload() const override; + + + /** + *

                The ARN of the behavior graph.

                + */ + inline const Aws::String& GetGraphArn() const{ return m_graphArn; } + + /** + *

                The ARN of the behavior graph.

                + */ + inline bool GraphArnHasBeenSet() const { return m_graphArnHasBeenSet; } + + /** + *

                The ARN of the behavior graph.

                + */ + inline void SetGraphArn(const Aws::String& value) { m_graphArnHasBeenSet = true; m_graphArn = value; } + + /** + *

                The ARN of the behavior graph.

                + */ + inline void SetGraphArn(Aws::String&& value) { m_graphArnHasBeenSet = true; m_graphArn = std::move(value); } + + /** + *

                The ARN of the behavior graph.

                + */ + inline void SetGraphArn(const char* value) { m_graphArnHasBeenSet = true; m_graphArn.assign(value); } + + /** + *

                The ARN of the behavior graph.

                + */ + inline ListIndicatorsRequest& WithGraphArn(const Aws::String& value) { SetGraphArn(value); return *this;} + + /** + *

                The ARN of the behavior graph.

                + */ + inline ListIndicatorsRequest& WithGraphArn(Aws::String&& value) { SetGraphArn(std::move(value)); return *this;} + + /** + *

                The ARN of the behavior graph.

                + */ + inline ListIndicatorsRequest& WithGraphArn(const char* value) { SetGraphArn(value); return *this;} + + + /** + *

                The investigation ID of the investigation report.

                + */ + inline const Aws::String& GetInvestigationId() const{ return m_investigationId; } + + /** + *

                The investigation ID of the investigation report.

                + */ + inline bool InvestigationIdHasBeenSet() const { return m_investigationIdHasBeenSet; } + + /** + *

                The investigation ID of the investigation report.

                + */ + inline void SetInvestigationId(const Aws::String& value) { m_investigationIdHasBeenSet = true; m_investigationId = value; } + + /** + *

                The investigation ID of the investigation report.

                + */ + inline void SetInvestigationId(Aws::String&& value) { m_investigationIdHasBeenSet = true; m_investigationId = std::move(value); } + + /** + *

                The investigation ID of the investigation report.

                + */ + inline void SetInvestigationId(const char* value) { m_investigationIdHasBeenSet = true; m_investigationId.assign(value); } + + /** + *

                The investigation ID of the investigation report.

                + */ + inline ListIndicatorsRequest& WithInvestigationId(const Aws::String& value) { SetInvestigationId(value); return *this;} + + /** + *

                The investigation ID of the investigation report.

                + */ + inline ListIndicatorsRequest& WithInvestigationId(Aws::String&& value) { SetInvestigationId(std::move(value)); return *this;} + + /** + *

                The investigation ID of the investigation report.

                + */ + inline ListIndicatorsRequest& WithInvestigationId(const char* value) { SetInvestigationId(value); return *this;} + + + /** + *

                See Detective + * investigations..

                + */ + inline const IndicatorType& GetIndicatorType() const{ return m_indicatorType; } + + /** + *

                See Detective + * investigations..

                + */ + inline bool IndicatorTypeHasBeenSet() const { return m_indicatorTypeHasBeenSet; } + + /** + *

                See Detective + * investigations..

                + */ + inline void SetIndicatorType(const IndicatorType& value) { m_indicatorTypeHasBeenSet = true; m_indicatorType = value; } + + /** + *

                See Detective + * investigations..

                + */ + inline void SetIndicatorType(IndicatorType&& value) { m_indicatorTypeHasBeenSet = true; m_indicatorType = std::move(value); } + + /** + *

                See Detective + * investigations..

                + */ + inline ListIndicatorsRequest& WithIndicatorType(const IndicatorType& value) { SetIndicatorType(value); return *this;} + + /** + *

                See Detective + * investigations..

                + */ + inline ListIndicatorsRequest& WithIndicatorType(IndicatorType&& value) { SetIndicatorType(std::move(value)); return *this;} + + + /** + *

                List if there are more results available. The value of nextToken is a unique + * pagination token for each page. Repeat the call using the returned token to + * retrieve the next page. Keep all other arguments unchanged.

                Each + * pagination token expires after 24 hours. Using an expired pagination token will + * return a Validation Exception error.

                + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + + /** + *

                List if there are more results available. The value of nextToken is a unique + * pagination token for each page. Repeat the call using the returned token to + * retrieve the next page. Keep all other arguments unchanged.

                Each + * pagination token expires after 24 hours. Using an expired pagination token will + * return a Validation Exception error.

                + */ + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + + /** + *

                List if there are more results available. The value of nextToken is a unique + * pagination token for each page. Repeat the call using the returned token to + * retrieve the next page. Keep all other arguments unchanged.

                Each + * pagination token expires after 24 hours. Using an expired pagination token will + * return a Validation Exception error.

                + */ + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + + /** + *

                List if there are more results available. The value of nextToken is a unique + * pagination token for each page. Repeat the call using the returned token to + * retrieve the next page. Keep all other arguments unchanged.

                Each + * pagination token expires after 24 hours. Using an expired pagination token will + * return a Validation Exception error.

                + */ + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + + /** + *

                List if there are more results available. The value of nextToken is a unique + * pagination token for each page. Repeat the call using the returned token to + * retrieve the next page. Keep all other arguments unchanged.

                Each + * pagination token expires after 24 hours. Using an expired pagination token will + * return a Validation Exception error.

                + */ + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + + /** + *

                List if there are more results available. The value of nextToken is a unique + * pagination token for each page. Repeat the call using the returned token to + * retrieve the next page. Keep all other arguments unchanged.

                Each + * pagination token expires after 24 hours. Using an expired pagination token will + * return a Validation Exception error.

                + */ + inline ListIndicatorsRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + + /** + *

                List if there are more results available. The value of nextToken is a unique + * pagination token for each page. Repeat the call using the returned token to + * retrieve the next page. Keep all other arguments unchanged.

                Each + * pagination token expires after 24 hours. Using an expired pagination token will + * return a Validation Exception error.

                + */ + inline ListIndicatorsRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + + /** + *

                List if there are more results available. The value of nextToken is a unique + * pagination token for each page. Repeat the call using the returned token to + * retrieve the next page. Keep all other arguments unchanged.

                Each + * pagination token expires after 24 hours. Using an expired pagination token will + * return a Validation Exception error.

                + */ + inline ListIndicatorsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + + + /** + *

                List the maximum number of indicators in a page.

                + */ + inline int GetMaxResults() const{ return m_maxResults; } + + /** + *

                List the maximum number of indicators in a page.

                + */ + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + + /** + *

                List the maximum number of indicators in a page.

                + */ + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + + /** + *

                List the maximum number of indicators in a page.

                + */ + inline ListIndicatorsRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + + private: + + Aws::String m_graphArn; + bool m_graphArnHasBeenSet = false; + + Aws::String m_investigationId; + bool m_investigationIdHasBeenSet = false; + + IndicatorType m_indicatorType; + bool m_indicatorTypeHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + }; + +} // namespace Model +} // namespace Detective +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/ListIndicatorsResult.h b/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/ListIndicatorsResult.h new file mode 100644 index 00000000000..31a6fa333f3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/ListIndicatorsResult.h @@ -0,0 +1,245 @@ +/** + * 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 Detective +{ +namespace Model +{ + class ListIndicatorsResult + { + public: + AWS_DETECTIVE_API ListIndicatorsResult(); + AWS_DETECTIVE_API ListIndicatorsResult(const Aws::AmazonWebServiceResult& result); + AWS_DETECTIVE_API ListIndicatorsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

                The ARN of the behavior graph.

                + */ + inline const Aws::String& GetGraphArn() const{ return m_graphArn; } + + /** + *

                The ARN of the behavior graph.

                + */ + inline void SetGraphArn(const Aws::String& value) { m_graphArn = value; } + + /** + *

                The ARN of the behavior graph.

                + */ + inline void SetGraphArn(Aws::String&& value) { m_graphArn = std::move(value); } + + /** + *

                The ARN of the behavior graph.

                + */ + inline void SetGraphArn(const char* value) { m_graphArn.assign(value); } + + /** + *

                The ARN of the behavior graph.

                + */ + inline ListIndicatorsResult& WithGraphArn(const Aws::String& value) { SetGraphArn(value); return *this;} + + /** + *

                The ARN of the behavior graph.

                + */ + inline ListIndicatorsResult& WithGraphArn(Aws::String&& value) { SetGraphArn(std::move(value)); return *this;} + + /** + *

                The ARN of the behavior graph.

                + */ + inline ListIndicatorsResult& WithGraphArn(const char* value) { SetGraphArn(value); return *this;} + + + /** + *

                The investigation ID of the investigation report.

                + */ + inline const Aws::String& GetInvestigationId() const{ return m_investigationId; } + + /** + *

                The investigation ID of the investigation report.

                + */ + inline void SetInvestigationId(const Aws::String& value) { m_investigationId = value; } + + /** + *

                The investigation ID of the investigation report.

                + */ + inline void SetInvestigationId(Aws::String&& value) { m_investigationId = std::move(value); } + + /** + *

                The investigation ID of the investigation report.

                + */ + inline void SetInvestigationId(const char* value) { m_investigationId.assign(value); } + + /** + *

                The investigation ID of the investigation report.

                + */ + inline ListIndicatorsResult& WithInvestigationId(const Aws::String& value) { SetInvestigationId(value); return *this;} + + /** + *

                The investigation ID of the investigation report.

                + */ + inline ListIndicatorsResult& WithInvestigationId(Aws::String&& value) { SetInvestigationId(std::move(value)); return *this;} + + /** + *

                The investigation ID of the investigation report.

                + */ + inline ListIndicatorsResult& WithInvestigationId(const char* value) { SetInvestigationId(value); return *this;} + + + /** + *

                List if there are more results available. The value of nextToken is a unique + * pagination token for each page. Repeat the call using the returned token to + * retrieve the next page. Keep all other arguments unchanged.

                Each + * pagination token expires after 24 hours. Using an expired pagination token will + * return a Validation Exception error.

                + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + + /** + *

                List if there are more results available. The value of nextToken is a unique + * pagination token for each page. Repeat the call using the returned token to + * retrieve the next page. Keep all other arguments unchanged.

                Each + * pagination token expires after 24 hours. Using an expired pagination token will + * return a Validation Exception error.

                + */ + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + + /** + *

                List if there are more results available. The value of nextToken is a unique + * pagination token for each page. Repeat the call using the returned token to + * retrieve the next page. Keep all other arguments unchanged.

                Each + * pagination token expires after 24 hours. Using an expired pagination token will + * return a Validation Exception error.

                + */ + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + + /** + *

                List if there are more results available. The value of nextToken is a unique + * pagination token for each page. Repeat the call using the returned token to + * retrieve the next page. Keep all other arguments unchanged.

                Each + * pagination token expires after 24 hours. Using an expired pagination token will + * return a Validation Exception error.

                + */ + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + + /** + *

                List if there are more results available. The value of nextToken is a unique + * pagination token for each page. Repeat the call using the returned token to + * retrieve the next page. Keep all other arguments unchanged.

                Each + * pagination token expires after 24 hours. Using an expired pagination token will + * return a Validation Exception error.

                + */ + inline ListIndicatorsResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + + /** + *

                List if there are more results available. The value of nextToken is a unique + * pagination token for each page. Repeat the call using the returned token to + * retrieve the next page. Keep all other arguments unchanged.

                Each + * pagination token expires after 24 hours. Using an expired pagination token will + * return a Validation Exception error.

                + */ + inline ListIndicatorsResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + + /** + *

                List if there are more results available. The value of nextToken is a unique + * pagination token for each page. Repeat the call using the returned token to + * retrieve the next page. Keep all other arguments unchanged.

                Each + * pagination token expires after 24 hours. Using an expired pagination token will + * return a Validation Exception error.

                + */ + inline ListIndicatorsResult& WithNextToken(const char* value) { SetNextToken(value); return *this;} + + + /** + *

                Indicators of compromise listed based on severity.

                + */ + inline const Aws::Vector& GetIndicators() const{ return m_indicators; } + + /** + *

                Indicators of compromise listed based on severity.

                + */ + inline void SetIndicators(const Aws::Vector& value) { m_indicators = value; } + + /** + *

                Indicators of compromise listed based on severity.

                + */ + inline void SetIndicators(Aws::Vector&& value) { m_indicators = std::move(value); } + + /** + *

                Indicators of compromise listed based on severity.

                + */ + inline ListIndicatorsResult& WithIndicators(const Aws::Vector& value) { SetIndicators(value); return *this;} + + /** + *

                Indicators of compromise listed based on severity.

                + */ + inline ListIndicatorsResult& WithIndicators(Aws::Vector&& value) { SetIndicators(std::move(value)); return *this;} + + /** + *

                Indicators of compromise listed based on severity.

                + */ + inline ListIndicatorsResult& AddIndicators(const Indicator& value) { m_indicators.push_back(value); return *this; } + + /** + *

                Indicators of compromise listed based on severity.

                + */ + inline ListIndicatorsResult& AddIndicators(Indicator&& value) { m_indicators.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 ListIndicatorsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline ListIndicatorsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline ListIndicatorsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::String m_graphArn; + + Aws::String m_investigationId; + + Aws::String m_nextToken; + + Aws::Vector m_indicators; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace Detective +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/ListInvestigationsRequest.h b/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/ListInvestigationsRequest.h new file mode 100644 index 00000000000..5f26e26e60e --- /dev/null +++ b/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/ListInvestigationsRequest.h @@ -0,0 +1,253 @@ +/** + * 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 Detective +{ +namespace Model +{ + + /** + */ + class ListInvestigationsRequest : public DetectiveRequest + { + public: + AWS_DETECTIVE_API ListInvestigationsRequest(); + + // 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 "ListInvestigations"; } + + AWS_DETECTIVE_API Aws::String SerializePayload() const override; + + + /** + *

                The ARN of the behavior graph.

                + */ + inline const Aws::String& GetGraphArn() const{ return m_graphArn; } + + /** + *

                The ARN of the behavior graph.

                + */ + inline bool GraphArnHasBeenSet() const { return m_graphArnHasBeenSet; } + + /** + *

                The ARN of the behavior graph.

                + */ + inline void SetGraphArn(const Aws::String& value) { m_graphArnHasBeenSet = true; m_graphArn = value; } + + /** + *

                The ARN of the behavior graph.

                + */ + inline void SetGraphArn(Aws::String&& value) { m_graphArnHasBeenSet = true; m_graphArn = std::move(value); } + + /** + *

                The ARN of the behavior graph.

                + */ + inline void SetGraphArn(const char* value) { m_graphArnHasBeenSet = true; m_graphArn.assign(value); } + + /** + *

                The ARN of the behavior graph.

                + */ + inline ListInvestigationsRequest& WithGraphArn(const Aws::String& value) { SetGraphArn(value); return *this;} + + /** + *

                The ARN of the behavior graph.

                + */ + inline ListInvestigationsRequest& WithGraphArn(Aws::String&& value) { SetGraphArn(std::move(value)); return *this;} + + /** + *

                The ARN of the behavior graph.

                + */ + inline ListInvestigationsRequest& WithGraphArn(const char* value) { SetGraphArn(value); return *this;} + + + /** + *

                List if there are more results available. The value of nextToken is a unique + * pagination token for each page. Repeat the call using the returned token to + * retrieve the next page. Keep all other arguments unchanged.

                Each + * pagination token expires after 24 hours. Using an expired pagination token will + * return a Validation Exception error.

                + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + + /** + *

                List if there are more results available. The value of nextToken is a unique + * pagination token for each page. Repeat the call using the returned token to + * retrieve the next page. Keep all other arguments unchanged.

                Each + * pagination token expires after 24 hours. Using an expired pagination token will + * return a Validation Exception error.

                + */ + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + + /** + *

                List if there are more results available. The value of nextToken is a unique + * pagination token for each page. Repeat the call using the returned token to + * retrieve the next page. Keep all other arguments unchanged.

                Each + * pagination token expires after 24 hours. Using an expired pagination token will + * return a Validation Exception error.

                + */ + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + + /** + *

                List if there are more results available. The value of nextToken is a unique + * pagination token for each page. Repeat the call using the returned token to + * retrieve the next page. Keep all other arguments unchanged.

                Each + * pagination token expires after 24 hours. Using an expired pagination token will + * return a Validation Exception error.

                + */ + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + + /** + *

                List if there are more results available. The value of nextToken is a unique + * pagination token for each page. Repeat the call using the returned token to + * retrieve the next page. Keep all other arguments unchanged.

                Each + * pagination token expires after 24 hours. Using an expired pagination token will + * return a Validation Exception error.

                + */ + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + + /** + *

                List if there are more results available. The value of nextToken is a unique + * pagination token for each page. Repeat the call using the returned token to + * retrieve the next page. Keep all other arguments unchanged.

                Each + * pagination token expires after 24 hours. Using an expired pagination token will + * return a Validation Exception error.

                + */ + inline ListInvestigationsRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + + /** + *

                List if there are more results available. The value of nextToken is a unique + * pagination token for each page. Repeat the call using the returned token to + * retrieve the next page. Keep all other arguments unchanged.

                Each + * pagination token expires after 24 hours. Using an expired pagination token will + * return a Validation Exception error.

                + */ + inline ListInvestigationsRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + + /** + *

                List if there are more results available. The value of nextToken is a unique + * pagination token for each page. Repeat the call using the returned token to + * retrieve the next page. Keep all other arguments unchanged.

                Each + * pagination token expires after 24 hours. Using an expired pagination token will + * return a Validation Exception error.

                + */ + inline ListInvestigationsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + + + /** + *

                List the maximum number of investigations in a page.

                + */ + inline int GetMaxResults() const{ return m_maxResults; } + + /** + *

                List the maximum number of investigations in a page.

                + */ + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + + /** + *

                List the maximum number of investigations in a page.

                + */ + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + + /** + *

                List the maximum number of investigations in a page.

                + */ + inline ListInvestigationsRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + + + /** + *

                Filter the investigation results based on a criteria.

                + */ + inline const FilterCriteria& GetFilterCriteria() const{ return m_filterCriteria; } + + /** + *

                Filter the investigation results based on a criteria.

                + */ + inline bool FilterCriteriaHasBeenSet() const { return m_filterCriteriaHasBeenSet; } + + /** + *

                Filter the investigation results based on a criteria.

                + */ + inline void SetFilterCriteria(const FilterCriteria& value) { m_filterCriteriaHasBeenSet = true; m_filterCriteria = value; } + + /** + *

                Filter the investigation results based on a criteria.

                + */ + inline void SetFilterCriteria(FilterCriteria&& value) { m_filterCriteriaHasBeenSet = true; m_filterCriteria = std::move(value); } + + /** + *

                Filter the investigation results based on a criteria.

                + */ + inline ListInvestigationsRequest& WithFilterCriteria(const FilterCriteria& value) { SetFilterCriteria(value); return *this;} + + /** + *

                Filter the investigation results based on a criteria.

                + */ + inline ListInvestigationsRequest& WithFilterCriteria(FilterCriteria&& value) { SetFilterCriteria(std::move(value)); return *this;} + + + /** + *

                Sorts the investigation results based on a criteria.

                + */ + inline const SortCriteria& GetSortCriteria() const{ return m_sortCriteria; } + + /** + *

                Sorts the investigation results based on a criteria.

                + */ + inline bool SortCriteriaHasBeenSet() const { return m_sortCriteriaHasBeenSet; } + + /** + *

                Sorts the investigation results based on a criteria.

                + */ + inline void SetSortCriteria(const SortCriteria& value) { m_sortCriteriaHasBeenSet = true; m_sortCriteria = value; } + + /** + *

                Sorts the investigation results based on a criteria.

                + */ + inline void SetSortCriteria(SortCriteria&& value) { m_sortCriteriaHasBeenSet = true; m_sortCriteria = std::move(value); } + + /** + *

                Sorts the investigation results based on a criteria.

                + */ + inline ListInvestigationsRequest& WithSortCriteria(const SortCriteria& value) { SetSortCriteria(value); return *this;} + + /** + *

                Sorts the investigation results based on a criteria.

                + */ + inline ListInvestigationsRequest& WithSortCriteria(SortCriteria&& value) { SetSortCriteria(std::move(value)); return *this;} + + private: + + Aws::String m_graphArn; + bool m_graphArnHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + + FilterCriteria m_filterCriteria; + bool m_filterCriteriaHasBeenSet = false; + + SortCriteria m_sortCriteria; + bool m_sortCriteriaHasBeenSet = false; + }; + +} // namespace Model +} // namespace Detective +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/ListInvestigationsResult.h b/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/ListInvestigationsResult.h new file mode 100644 index 00000000000..a9b1f11b6fd --- /dev/null +++ b/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/ListInvestigationsResult.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 + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace Detective +{ +namespace Model +{ + class ListInvestigationsResult + { + public: + AWS_DETECTIVE_API ListInvestigationsResult(); + AWS_DETECTIVE_API ListInvestigationsResult(const Aws::AmazonWebServiceResult& result); + AWS_DETECTIVE_API ListInvestigationsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

                Investigations details lists the summary of uncommon behavior or malicious + * activity which indicates a compromise.

                + */ + inline const Aws::Vector& GetInvestigationDetails() const{ return m_investigationDetails; } + + /** + *

                Investigations details lists the summary of uncommon behavior or malicious + * activity which indicates a compromise.

                + */ + inline void SetInvestigationDetails(const Aws::Vector& value) { m_investigationDetails = value; } + + /** + *

                Investigations details lists the summary of uncommon behavior or malicious + * activity which indicates a compromise.

                + */ + inline void SetInvestigationDetails(Aws::Vector&& value) { m_investigationDetails = std::move(value); } + + /** + *

                Investigations details lists the summary of uncommon behavior or malicious + * activity which indicates a compromise.

                + */ + inline ListInvestigationsResult& WithInvestigationDetails(const Aws::Vector& value) { SetInvestigationDetails(value); return *this;} + + /** + *

                Investigations details lists the summary of uncommon behavior or malicious + * activity which indicates a compromise.

                + */ + inline ListInvestigationsResult& WithInvestigationDetails(Aws::Vector&& value) { SetInvestigationDetails(std::move(value)); return *this;} + + /** + *

                Investigations details lists the summary of uncommon behavior or malicious + * activity which indicates a compromise.

                + */ + inline ListInvestigationsResult& AddInvestigationDetails(const InvestigationDetail& value) { m_investigationDetails.push_back(value); return *this; } + + /** + *

                Investigations details lists the summary of uncommon behavior or malicious + * activity which indicates a compromise.

                + */ + inline ListInvestigationsResult& AddInvestigationDetails(InvestigationDetail&& value) { m_investigationDetails.push_back(std::move(value)); return *this; } + + + /** + *

                List if there are more results available. The value of nextToken is a unique + * pagination token for each page. Repeat the call using the returned token to + * retrieve the next page. Keep all other arguments unchanged.

                Each + * pagination token expires after 24 hours. Using an expired pagination token will + * return an HTTP 400 InvalidToken error.

                + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + + /** + *

                List if there are more results available. The value of nextToken is a unique + * pagination token for each page. Repeat the call using the returned token to + * retrieve the next page. Keep all other arguments unchanged.

                Each + * pagination token expires after 24 hours. Using an expired pagination token will + * return an HTTP 400 InvalidToken error.

                + */ + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + + /** + *

                List if there are more results available. The value of nextToken is a unique + * pagination token for each page. Repeat the call using the returned token to + * retrieve the next page. Keep all other arguments unchanged.

                Each + * pagination token expires after 24 hours. Using an expired pagination token will + * return an HTTP 400 InvalidToken error.

                + */ + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + + /** + *

                List if there are more results available. The value of nextToken is a unique + * pagination token for each page. Repeat the call using the returned token to + * retrieve the next page. Keep all other arguments unchanged.

                Each + * pagination token expires after 24 hours. Using an expired pagination token will + * return an HTTP 400 InvalidToken error.

                + */ + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + + /** + *

                List if there are more results available. The value of nextToken is a unique + * pagination token for each page. Repeat the call using the returned token to + * retrieve the next page. Keep all other arguments unchanged.

                Each + * pagination token expires after 24 hours. Using an expired pagination token will + * return an HTTP 400 InvalidToken error.

                + */ + inline ListInvestigationsResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + + /** + *

                List if there are more results available. The value of nextToken is a unique + * pagination token for each page. Repeat the call using the returned token to + * retrieve the next page. Keep all other arguments unchanged.

                Each + * pagination token expires after 24 hours. Using an expired pagination token will + * return an HTTP 400 InvalidToken error.

                + */ + inline ListInvestigationsResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + + /** + *

                List if there are more results available. The value of nextToken is a unique + * pagination token for each page. Repeat the call using the returned token to + * retrieve the next page. Keep all other arguments unchanged.

                Each + * pagination token expires after 24 hours. Using an expired pagination token will + * return an HTTP 400 InvalidToken error.

                + */ + inline ListInvestigationsResult& 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 ListInvestigationsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline ListInvestigationsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline ListInvestigationsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::Vector m_investigationDetails; + + Aws::String m_nextToken; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace Detective +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/NewAsoDetail.h b/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/NewAsoDetail.h new file mode 100644 index 00000000000..fa9b13f84f4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/NewAsoDetail.h @@ -0,0 +1,113 @@ +/** + * 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 Detective +{ +namespace Model +{ + + /** + *

                Details new Autonomous System Organizations (ASOs) used either at the + * resource or account level.

                See Also:

                AWS + * API Reference

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

                Details about the new Autonomous System Organization (ASO).

                + */ + inline const Aws::String& GetAso() const{ return m_aso; } + + /** + *

                Details about the new Autonomous System Organization (ASO).

                + */ + inline bool AsoHasBeenSet() const { return m_asoHasBeenSet; } + + /** + *

                Details about the new Autonomous System Organization (ASO).

                + */ + inline void SetAso(const Aws::String& value) { m_asoHasBeenSet = true; m_aso = value; } + + /** + *

                Details about the new Autonomous System Organization (ASO).

                + */ + inline void SetAso(Aws::String&& value) { m_asoHasBeenSet = true; m_aso = std::move(value); } + + /** + *

                Details about the new Autonomous System Organization (ASO).

                + */ + inline void SetAso(const char* value) { m_asoHasBeenSet = true; m_aso.assign(value); } + + /** + *

                Details about the new Autonomous System Organization (ASO).

                + */ + inline NewAsoDetail& WithAso(const Aws::String& value) { SetAso(value); return *this;} + + /** + *

                Details about the new Autonomous System Organization (ASO).

                + */ + inline NewAsoDetail& WithAso(Aws::String&& value) { SetAso(std::move(value)); return *this;} + + /** + *

                Details about the new Autonomous System Organization (ASO).

                + */ + inline NewAsoDetail& WithAso(const char* value) { SetAso(value); return *this;} + + + /** + *

                Checks if the ASO is for new for the entire account.

                + */ + inline bool GetIsNewForEntireAccount() const{ return m_isNewForEntireAccount; } + + /** + *

                Checks if the ASO is for new for the entire account.

                + */ + inline bool IsNewForEntireAccountHasBeenSet() const { return m_isNewForEntireAccountHasBeenSet; } + + /** + *

                Checks if the ASO is for new for the entire account.

                + */ + inline void SetIsNewForEntireAccount(bool value) { m_isNewForEntireAccountHasBeenSet = true; m_isNewForEntireAccount = value; } + + /** + *

                Checks if the ASO is for new for the entire account.

                + */ + inline NewAsoDetail& WithIsNewForEntireAccount(bool value) { SetIsNewForEntireAccount(value); return *this;} + + private: + + Aws::String m_aso; + bool m_asoHasBeenSet = false; + + bool m_isNewForEntireAccount; + bool m_isNewForEntireAccountHasBeenSet = false; + }; + +} // namespace Model +} // namespace Detective +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/NewGeolocationDetail.h b/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/NewGeolocationDetail.h new file mode 100644 index 00000000000..a56e00b3c2d --- /dev/null +++ b/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/NewGeolocationDetail.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 + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Detective +{ +namespace Model +{ + + /** + *

                Details new geolocations used either at the resource or account level. For + * example, lists an observed geolocation that is an infrequent or unused location + * based on previous user activity.

                See Also:

                AWS + * API Reference

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

                Location where the resource was accessed.

                + */ + inline const Aws::String& GetLocation() const{ return m_location; } + + /** + *

                Location where the resource was accessed.

                + */ + inline bool LocationHasBeenSet() const { return m_locationHasBeenSet; } + + /** + *

                Location where the resource was accessed.

                + */ + inline void SetLocation(const Aws::String& value) { m_locationHasBeenSet = true; m_location = value; } + + /** + *

                Location where the resource was accessed.

                + */ + inline void SetLocation(Aws::String&& value) { m_locationHasBeenSet = true; m_location = std::move(value); } + + /** + *

                Location where the resource was accessed.

                + */ + inline void SetLocation(const char* value) { m_locationHasBeenSet = true; m_location.assign(value); } + + /** + *

                Location where the resource was accessed.

                + */ + inline NewGeolocationDetail& WithLocation(const Aws::String& value) { SetLocation(value); return *this;} + + /** + *

                Location where the resource was accessed.

                + */ + inline NewGeolocationDetail& WithLocation(Aws::String&& value) { SetLocation(std::move(value)); return *this;} + + /** + *

                Location where the resource was accessed.

                + */ + inline NewGeolocationDetail& WithLocation(const char* value) { SetLocation(value); return *this;} + + + /** + *

                IP address using which the resource was accessed.

                + */ + inline const Aws::String& GetIpAddress() const{ return m_ipAddress; } + + /** + *

                IP address using which the resource was accessed.

                + */ + inline bool IpAddressHasBeenSet() const { return m_ipAddressHasBeenSet; } + + /** + *

                IP address using which the resource was accessed.

                + */ + inline void SetIpAddress(const Aws::String& value) { m_ipAddressHasBeenSet = true; m_ipAddress = value; } + + /** + *

                IP address using which the resource was accessed.

                + */ + inline void SetIpAddress(Aws::String&& value) { m_ipAddressHasBeenSet = true; m_ipAddress = std::move(value); } + + /** + *

                IP address using which the resource was accessed.

                + */ + inline void SetIpAddress(const char* value) { m_ipAddressHasBeenSet = true; m_ipAddress.assign(value); } + + /** + *

                IP address using which the resource was accessed.

                + */ + inline NewGeolocationDetail& WithIpAddress(const Aws::String& value) { SetIpAddress(value); return *this;} + + /** + *

                IP address using which the resource was accessed.

                + */ + inline NewGeolocationDetail& WithIpAddress(Aws::String&& value) { SetIpAddress(std::move(value)); return *this;} + + /** + *

                IP address using which the resource was accessed.

                + */ + inline NewGeolocationDetail& WithIpAddress(const char* value) { SetIpAddress(value); return *this;} + + + /** + *

                Checks if the gelocation is new for the entire account.

                + */ + inline bool GetIsNewForEntireAccount() const{ return m_isNewForEntireAccount; } + + /** + *

                Checks if the gelocation is new for the entire account.

                + */ + inline bool IsNewForEntireAccountHasBeenSet() const { return m_isNewForEntireAccountHasBeenSet; } + + /** + *

                Checks if the gelocation is new for the entire account.

                + */ + inline void SetIsNewForEntireAccount(bool value) { m_isNewForEntireAccountHasBeenSet = true; m_isNewForEntireAccount = value; } + + /** + *

                Checks if the gelocation is new for the entire account.

                + */ + inline NewGeolocationDetail& WithIsNewForEntireAccount(bool value) { SetIsNewForEntireAccount(value); return *this;} + + private: + + Aws::String m_location; + bool m_locationHasBeenSet = false; + + Aws::String m_ipAddress; + bool m_ipAddressHasBeenSet = false; + + bool m_isNewForEntireAccount; + bool m_isNewForEntireAccountHasBeenSet = false; + }; + +} // namespace Model +} // namespace Detective +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/NewUserAgentDetail.h b/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/NewUserAgentDetail.h new file mode 100644 index 00000000000..67da7faed7d --- /dev/null +++ b/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/NewUserAgentDetail.h @@ -0,0 +1,113 @@ +/** + * 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 Detective +{ +namespace Model +{ + + /** + *

                Details new user agents used either at the resource or account + * level.

                See Also:

                AWS + * API Reference

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

                New user agent which accessed the resource.

                + */ + inline const Aws::String& GetUserAgent() const{ return m_userAgent; } + + /** + *

                New user agent which accessed the resource.

                + */ + inline bool UserAgentHasBeenSet() const { return m_userAgentHasBeenSet; } + + /** + *

                New user agent which accessed the resource.

                + */ + inline void SetUserAgent(const Aws::String& value) { m_userAgentHasBeenSet = true; m_userAgent = value; } + + /** + *

                New user agent which accessed the resource.

                + */ + inline void SetUserAgent(Aws::String&& value) { m_userAgentHasBeenSet = true; m_userAgent = std::move(value); } + + /** + *

                New user agent which accessed the resource.

                + */ + inline void SetUserAgent(const char* value) { m_userAgentHasBeenSet = true; m_userAgent.assign(value); } + + /** + *

                New user agent which accessed the resource.

                + */ + inline NewUserAgentDetail& WithUserAgent(const Aws::String& value) { SetUserAgent(value); return *this;} + + /** + *

                New user agent which accessed the resource.

                + */ + inline NewUserAgentDetail& WithUserAgent(Aws::String&& value) { SetUserAgent(std::move(value)); return *this;} + + /** + *

                New user agent which accessed the resource.

                + */ + inline NewUserAgentDetail& WithUserAgent(const char* value) { SetUserAgent(value); return *this;} + + + /** + *

                Checks if the user agent is new for the entire account.

                + */ + inline bool GetIsNewForEntireAccount() const{ return m_isNewForEntireAccount; } + + /** + *

                Checks if the user agent is new for the entire account.

                + */ + inline bool IsNewForEntireAccountHasBeenSet() const { return m_isNewForEntireAccountHasBeenSet; } + + /** + *

                Checks if the user agent is new for the entire account.

                + */ + inline void SetIsNewForEntireAccount(bool value) { m_isNewForEntireAccountHasBeenSet = true; m_isNewForEntireAccount = value; } + + /** + *

                Checks if the user agent is new for the entire account.

                + */ + inline NewUserAgentDetail& WithIsNewForEntireAccount(bool value) { SetIsNewForEntireAccount(value); return *this;} + + private: + + Aws::String m_userAgent; + bool m_userAgentHasBeenSet = false; + + bool m_isNewForEntireAccount; + bool m_isNewForEntireAccountHasBeenSet = false; + }; + +} // namespace Model +} // namespace Detective +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/Reason.h b/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/Reason.h new file mode 100644 index 00000000000..e7207120fe8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/Reason.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 Detective +{ +namespace Model +{ + enum class Reason + { + NOT_SET, + AWS_THREAT_INTELLIGENCE + }; + +namespace ReasonMapper +{ +AWS_DETECTIVE_API Reason GetReasonForName(const Aws::String& name); + +AWS_DETECTIVE_API Aws::String GetNameForReason(Reason value); +} // namespace ReasonMapper +} // namespace Model +} // namespace Detective +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/RelatedFindingDetail.h b/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/RelatedFindingDetail.h new file mode 100644 index 00000000000..63ccab48967 --- /dev/null +++ b/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/RelatedFindingDetail.h @@ -0,0 +1,178 @@ +/** + * 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 Detective +{ +namespace Model +{ + + /** + *

                Details related activities associated with a potential security event. Lists + * all distinct categories of evidence that are connected to the resource or the + * finding group.

                See Also:

                AWS + * API Reference

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

                The ARN of the related finding.

                + */ + inline const Aws::String& GetArn() const{ return m_arn; } + + /** + *

                The ARN of the related finding.

                + */ + inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } + + /** + *

                The ARN of the related finding.

                + */ + inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } + + /** + *

                The ARN of the related finding.

                + */ + inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } + + /** + *

                The ARN of the related finding.

                + */ + inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } + + /** + *

                The ARN of the related finding.

                + */ + inline RelatedFindingDetail& WithArn(const Aws::String& value) { SetArn(value); return *this;} + + /** + *

                The ARN of the related finding.

                + */ + inline RelatedFindingDetail& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} + + /** + *

                The ARN of the related finding.

                + */ + inline RelatedFindingDetail& WithArn(const char* value) { SetArn(value); return *this;} + + + /** + *

                The type of finding.

                + */ + inline const Aws::String& GetType() const{ return m_type; } + + /** + *

                The type of finding.

                + */ + inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } + + /** + *

                The type of finding.

                + */ + inline void SetType(const Aws::String& value) { m_typeHasBeenSet = true; m_type = value; } + + /** + *

                The type of finding.

                + */ + inline void SetType(Aws::String&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } + + /** + *

                The type of finding.

                + */ + inline void SetType(const char* value) { m_typeHasBeenSet = true; m_type.assign(value); } + + /** + *

                The type of finding.

                + */ + inline RelatedFindingDetail& WithType(const Aws::String& value) { SetType(value); return *this;} + + /** + *

                The type of finding.

                + */ + inline RelatedFindingDetail& WithType(Aws::String&& value) { SetType(std::move(value)); return *this;} + + /** + *

                The type of finding.

                + */ + inline RelatedFindingDetail& WithType(const char* value) { SetType(value); return *this;} + + + /** + *

                The IP address of the finding.

                + */ + inline const Aws::String& GetIpAddress() const{ return m_ipAddress; } + + /** + *

                The IP address of the finding.

                + */ + inline bool IpAddressHasBeenSet() const { return m_ipAddressHasBeenSet; } + + /** + *

                The IP address of the finding.

                + */ + inline void SetIpAddress(const Aws::String& value) { m_ipAddressHasBeenSet = true; m_ipAddress = value; } + + /** + *

                The IP address of the finding.

                + */ + inline void SetIpAddress(Aws::String&& value) { m_ipAddressHasBeenSet = true; m_ipAddress = std::move(value); } + + /** + *

                The IP address of the finding.

                + */ + inline void SetIpAddress(const char* value) { m_ipAddressHasBeenSet = true; m_ipAddress.assign(value); } + + /** + *

                The IP address of the finding.

                + */ + inline RelatedFindingDetail& WithIpAddress(const Aws::String& value) { SetIpAddress(value); return *this;} + + /** + *

                The IP address of the finding.

                + */ + inline RelatedFindingDetail& WithIpAddress(Aws::String&& value) { SetIpAddress(std::move(value)); return *this;} + + /** + *

                The IP address of the finding.

                + */ + inline RelatedFindingDetail& WithIpAddress(const char* value) { SetIpAddress(value); return *this;} + + private: + + Aws::String m_arn; + bool m_arnHasBeenSet = false; + + Aws::String m_type; + bool m_typeHasBeenSet = false; + + Aws::String m_ipAddress; + bool m_ipAddressHasBeenSet = false; + }; + +} // namespace Model +} // namespace Detective +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/RelatedFindingGroupDetail.h b/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/RelatedFindingGroupDetail.h new file mode 100644 index 00000000000..20796dc6c81 --- /dev/null +++ b/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/RelatedFindingGroupDetail.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 + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Detective +{ +namespace Model +{ + + /** + *

                Details multiple activities as they related to a potential security event. + * Detective uses graph analysis technique that infers relationships between + * findings and entities, and groups them together as a finding + * group.

                See Also:

                AWS + * API Reference

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

                The unique identifier for the finding group.

                + */ + inline const Aws::String& GetId() const{ return m_id; } + + /** + *

                The unique identifier for the finding group.

                + */ + inline bool IdHasBeenSet() const { return m_idHasBeenSet; } + + /** + *

                The unique identifier for the finding group.

                + */ + inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } + + /** + *

                The unique identifier for the finding group.

                + */ + inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } + + /** + *

                The unique identifier for the finding group.

                + */ + inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } + + /** + *

                The unique identifier for the finding group.

                + */ + inline RelatedFindingGroupDetail& WithId(const Aws::String& value) { SetId(value); return *this;} + + /** + *

                The unique identifier for the finding group.

                + */ + inline RelatedFindingGroupDetail& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + + /** + *

                The unique identifier for the finding group.

                + */ + inline RelatedFindingGroupDetail& WithId(const char* value) { SetId(value); return *this;} + + private: + + Aws::String m_id; + bool m_idHasBeenSet = false; + }; + +} // namespace Model +} // namespace Detective +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/Severity.h b/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/Severity.h new file mode 100644 index 00000000000..6f67b06ce7b --- /dev/null +++ b/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/Severity.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 Detective +{ +namespace Model +{ + enum class Severity + { + NOT_SET, + INFORMATIONAL, + LOW, + MEDIUM, + HIGH, + CRITICAL + }; + +namespace SeverityMapper +{ +AWS_DETECTIVE_API Severity GetSeverityForName(const Aws::String& name); + +AWS_DETECTIVE_API Aws::String GetNameForSeverity(Severity value); +} // namespace SeverityMapper +} // namespace Model +} // namespace Detective +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/SortCriteria.h b/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/SortCriteria.h new file mode 100644 index 00000000000..09fd55df7e5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/SortCriteria.h @@ -0,0 +1,114 @@ +/** + * 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 Detective +{ +namespace Model +{ + + /** + *

                Details about the criteria used for sorting investigations.

                See + * Also:

                AWS + * API Reference

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

                Represents the Field attribute to sort investigations.

                + */ + inline const Field& GetField() const{ return m_field; } + + /** + *

                Represents the Field attribute to sort investigations.

                + */ + inline bool FieldHasBeenSet() const { return m_fieldHasBeenSet; } + + /** + *

                Represents the Field attribute to sort investigations.

                + */ + inline void SetField(const Field& value) { m_fieldHasBeenSet = true; m_field = value; } + + /** + *

                Represents the Field attribute to sort investigations.

                + */ + inline void SetField(Field&& value) { m_fieldHasBeenSet = true; m_field = std::move(value); } + + /** + *

                Represents the Field attribute to sort investigations.

                + */ + inline SortCriteria& WithField(const Field& value) { SetField(value); return *this;} + + /** + *

                Represents the Field attribute to sort investigations.

                + */ + inline SortCriteria& WithField(Field&& value) { SetField(std::move(value)); return *this;} + + + /** + *

                The order by which the sorted findings are displayed.

                + */ + inline const SortOrder& GetSortOrder() const{ return m_sortOrder; } + + /** + *

                The order by which the sorted findings are displayed.

                + */ + inline bool SortOrderHasBeenSet() const { return m_sortOrderHasBeenSet; } + + /** + *

                The order by which the sorted findings are displayed.

                + */ + inline void SetSortOrder(const SortOrder& value) { m_sortOrderHasBeenSet = true; m_sortOrder = value; } + + /** + *

                The order by which the sorted findings are displayed.

                + */ + inline void SetSortOrder(SortOrder&& value) { m_sortOrderHasBeenSet = true; m_sortOrder = std::move(value); } + + /** + *

                The order by which the sorted findings are displayed.

                + */ + inline SortCriteria& WithSortOrder(const SortOrder& value) { SetSortOrder(value); return *this;} + + /** + *

                The order by which the sorted findings are displayed.

                + */ + inline SortCriteria& WithSortOrder(SortOrder&& value) { SetSortOrder(std::move(value)); return *this;} + + private: + + Field m_field; + bool m_fieldHasBeenSet = false; + + SortOrder m_sortOrder; + bool m_sortOrderHasBeenSet = false; + }; + +} // namespace Model +} // namespace Detective +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/SortOrder.h b/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/SortOrder.h new file mode 100644 index 00000000000..fcc83d1f204 --- /dev/null +++ b/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/SortOrder.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 Detective +{ +namespace Model +{ + enum class SortOrder + { + NOT_SET, + ASC, + DESC + }; + +namespace SortOrderMapper +{ +AWS_DETECTIVE_API SortOrder GetSortOrderForName(const Aws::String& name); + +AWS_DETECTIVE_API Aws::String GetNameForSortOrder(SortOrder value); +} // namespace SortOrderMapper +} // namespace Model +} // namespace Detective +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/StartInvestigationRequest.h b/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/StartInvestigationRequest.h new file mode 100644 index 00000000000..b8dc96312fc --- /dev/null +++ b/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/StartInvestigationRequest.h @@ -0,0 +1,208 @@ +/** + * 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 Detective +{ +namespace Model +{ + + /** + */ + class StartInvestigationRequest : public DetectiveRequest + { + public: + AWS_DETECTIVE_API StartInvestigationRequest(); + + // 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 "StartInvestigation"; } + + AWS_DETECTIVE_API Aws::String SerializePayload() const override; + + + /** + *

                The ARN of the behavior graph.

                + */ + inline const Aws::String& GetGraphArn() const{ return m_graphArn; } + + /** + *

                The ARN of the behavior graph.

                + */ + inline bool GraphArnHasBeenSet() const { return m_graphArnHasBeenSet; } + + /** + *

                The ARN of the behavior graph.

                + */ + inline void SetGraphArn(const Aws::String& value) { m_graphArnHasBeenSet = true; m_graphArn = value; } + + /** + *

                The ARN of the behavior graph.

                + */ + inline void SetGraphArn(Aws::String&& value) { m_graphArnHasBeenSet = true; m_graphArn = std::move(value); } + + /** + *

                The ARN of the behavior graph.

                + */ + inline void SetGraphArn(const char* value) { m_graphArnHasBeenSet = true; m_graphArn.assign(value); } + + /** + *

                The ARN of the behavior graph.

                + */ + inline StartInvestigationRequest& WithGraphArn(const Aws::String& value) { SetGraphArn(value); return *this;} + + /** + *

                The ARN of the behavior graph.

                + */ + inline StartInvestigationRequest& WithGraphArn(Aws::String&& value) { SetGraphArn(std::move(value)); return *this;} + + /** + *

                The ARN of the behavior graph.

                + */ + inline StartInvestigationRequest& WithGraphArn(const char* value) { SetGraphArn(value); return *this;} + + + /** + *

                The unique Amazon Resource Name (ARN) of the IAM user and IAM role.

                + */ + inline const Aws::String& GetEntityArn() const{ return m_entityArn; } + + /** + *

                The unique Amazon Resource Name (ARN) of the IAM user and IAM role.

                + */ + inline bool EntityArnHasBeenSet() const { return m_entityArnHasBeenSet; } + + /** + *

                The unique Amazon Resource Name (ARN) of the IAM user and IAM role.

                + */ + inline void SetEntityArn(const Aws::String& value) { m_entityArnHasBeenSet = true; m_entityArn = value; } + + /** + *

                The unique Amazon Resource Name (ARN) of the IAM user and IAM role.

                + */ + inline void SetEntityArn(Aws::String&& value) { m_entityArnHasBeenSet = true; m_entityArn = std::move(value); } + + /** + *

                The unique Amazon Resource Name (ARN) of the IAM user and IAM role.

                + */ + inline void SetEntityArn(const char* value) { m_entityArnHasBeenSet = true; m_entityArn.assign(value); } + + /** + *

                The unique Amazon Resource Name (ARN) of the IAM user and IAM role.

                + */ + inline StartInvestigationRequest& WithEntityArn(const Aws::String& value) { SetEntityArn(value); return *this;} + + /** + *

                The unique Amazon Resource Name (ARN) of the IAM user and IAM role.

                + */ + inline StartInvestigationRequest& WithEntityArn(Aws::String&& value) { SetEntityArn(std::move(value)); return *this;} + + /** + *

                The unique Amazon Resource Name (ARN) of the IAM user and IAM role.

                + */ + inline StartInvestigationRequest& WithEntityArn(const char* value) { SetEntityArn(value); return *this;} + + + /** + *

                The data and time when the investigation began. The value is an UTC ISO8601 + * formatted string. For example, 2021-08-18T16:35:56.284Z.

                + */ + inline const Aws::Utils::DateTime& GetScopeStartTime() const{ return m_scopeStartTime; } + + /** + *

                The data and time when the investigation began. The value is an UTC ISO8601 + * formatted string. For example, 2021-08-18T16:35:56.284Z.

                + */ + inline bool ScopeStartTimeHasBeenSet() const { return m_scopeStartTimeHasBeenSet; } + + /** + *

                The data and time when the investigation began. The value is an UTC ISO8601 + * formatted string. For example, 2021-08-18T16:35:56.284Z.

                + */ + inline void SetScopeStartTime(const Aws::Utils::DateTime& value) { m_scopeStartTimeHasBeenSet = true; m_scopeStartTime = value; } + + /** + *

                The data and time when the investigation began. The value is an UTC ISO8601 + * formatted string. For example, 2021-08-18T16:35:56.284Z.

                + */ + inline void SetScopeStartTime(Aws::Utils::DateTime&& value) { m_scopeStartTimeHasBeenSet = true; m_scopeStartTime = std::move(value); } + + /** + *

                The data and time when the investigation began. The value is an UTC ISO8601 + * formatted string. For example, 2021-08-18T16:35:56.284Z.

                + */ + inline StartInvestigationRequest& WithScopeStartTime(const Aws::Utils::DateTime& value) { SetScopeStartTime(value); return *this;} + + /** + *

                The data and time when the investigation began. The value is an UTC ISO8601 + * formatted string. For example, 2021-08-18T16:35:56.284Z.

                + */ + inline StartInvestigationRequest& WithScopeStartTime(Aws::Utils::DateTime&& value) { SetScopeStartTime(std::move(value)); return *this;} + + + /** + *

                The data and time when the investigation began. The value is an UTC ISO8601 + * formatted string. For example, 2021-08-18T16:35:56.284Z.

                + */ + inline const Aws::Utils::DateTime& GetScopeEndTime() const{ return m_scopeEndTime; } + + /** + *

                The data and time when the investigation began. The value is an UTC ISO8601 + * formatted string. For example, 2021-08-18T16:35:56.284Z.

                + */ + inline bool ScopeEndTimeHasBeenSet() const { return m_scopeEndTimeHasBeenSet; } + + /** + *

                The data and time when the investigation began. The value is an UTC ISO8601 + * formatted string. For example, 2021-08-18T16:35:56.284Z.

                + */ + inline void SetScopeEndTime(const Aws::Utils::DateTime& value) { m_scopeEndTimeHasBeenSet = true; m_scopeEndTime = value; } + + /** + *

                The data and time when the investigation began. The value is an UTC ISO8601 + * formatted string. For example, 2021-08-18T16:35:56.284Z.

                + */ + inline void SetScopeEndTime(Aws::Utils::DateTime&& value) { m_scopeEndTimeHasBeenSet = true; m_scopeEndTime = std::move(value); } + + /** + *

                The data and time when the investigation began. The value is an UTC ISO8601 + * formatted string. For example, 2021-08-18T16:35:56.284Z.

                + */ + inline StartInvestigationRequest& WithScopeEndTime(const Aws::Utils::DateTime& value) { SetScopeEndTime(value); return *this;} + + /** + *

                The data and time when the investigation began. The value is an UTC ISO8601 + * formatted string. For example, 2021-08-18T16:35:56.284Z.

                + */ + inline StartInvestigationRequest& WithScopeEndTime(Aws::Utils::DateTime&& value) { SetScopeEndTime(std::move(value)); return *this;} + + private: + + Aws::String m_graphArn; + bool m_graphArnHasBeenSet = false; + + Aws::String m_entityArn; + bool m_entityArnHasBeenSet = false; + + Aws::Utils::DateTime m_scopeStartTime; + bool m_scopeStartTimeHasBeenSet = false; + + Aws::Utils::DateTime m_scopeEndTime; + bool m_scopeEndTimeHasBeenSet = false; + }; + +} // namespace Model +} // namespace Detective +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/StartInvestigationResult.h b/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/StartInvestigationResult.h new file mode 100644 index 00000000000..00d00cea0a7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/StartInvestigationResult.h @@ -0,0 +1,101 @@ +/** + * 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 Detective +{ +namespace Model +{ + class StartInvestigationResult + { + public: + AWS_DETECTIVE_API StartInvestigationResult(); + AWS_DETECTIVE_API StartInvestigationResult(const Aws::AmazonWebServiceResult& result); + AWS_DETECTIVE_API StartInvestigationResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

                The investigation ID of the investigation report.

                + */ + inline const Aws::String& GetInvestigationId() const{ return m_investigationId; } + + /** + *

                The investigation ID of the investigation report.

                + */ + inline void SetInvestigationId(const Aws::String& value) { m_investigationId = value; } + + /** + *

                The investigation ID of the investigation report.

                + */ + inline void SetInvestigationId(Aws::String&& value) { m_investigationId = std::move(value); } + + /** + *

                The investigation ID of the investigation report.

                + */ + inline void SetInvestigationId(const char* value) { m_investigationId.assign(value); } + + /** + *

                The investigation ID of the investigation report.

                + */ + inline StartInvestigationResult& WithInvestigationId(const Aws::String& value) { SetInvestigationId(value); return *this;} + + /** + *

                The investigation ID of the investigation report.

                + */ + inline StartInvestigationResult& WithInvestigationId(Aws::String&& value) { SetInvestigationId(std::move(value)); return *this;} + + /** + *

                The investigation ID of the investigation report.

                + */ + inline StartInvestigationResult& WithInvestigationId(const char* value) { SetInvestigationId(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 StartInvestigationResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline StartInvestigationResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline StartInvestigationResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::String m_investigationId; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace Detective +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/State.h b/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/State.h new file mode 100644 index 00000000000..4d6cc5aa9e8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/State.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 Detective +{ +namespace Model +{ + enum class State + { + NOT_SET, + ACTIVE, + ARCHIVED + }; + +namespace StateMapper +{ +AWS_DETECTIVE_API State GetStateForName(const Aws::String& name); + +AWS_DETECTIVE_API Aws::String GetNameForState(State value); +} // namespace StateMapper +} // namespace Model +} // namespace Detective +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/Status.h b/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/Status.h new file mode 100644 index 00000000000..3cf8433314a --- /dev/null +++ b/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/Status.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 Detective +{ +namespace Model +{ + enum class Status + { + NOT_SET, + RUNNING, + FAILED, + SUCCESSFUL + }; + +namespace StatusMapper +{ +AWS_DETECTIVE_API Status GetStatusForName(const Aws::String& name); + +AWS_DETECTIVE_API Aws::String GetNameForStatus(Status value); +} // namespace StatusMapper +} // namespace Model +} // namespace Detective +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/StringFilter.h b/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/StringFilter.h new file mode 100644 index 00000000000..3f88275c49d --- /dev/null +++ b/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/StringFilter.h @@ -0,0 +1,89 @@ +/** + * 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 Detective +{ +namespace Model +{ + + /** + *

                A string for filtering Detective investigations.

                See Also:

                + * AWS + * API Reference

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

                The string filter value.

                + */ + inline const Aws::String& GetValue() const{ return m_value; } + + /** + *

                The string filter value.

                + */ + inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; } + + /** + *

                The string filter value.

                + */ + inline void SetValue(const Aws::String& value) { m_valueHasBeenSet = true; m_value = value; } + + /** + *

                The string filter value.

                + */ + inline void SetValue(Aws::String&& value) { m_valueHasBeenSet = true; m_value = std::move(value); } + + /** + *

                The string filter value.

                + */ + inline void SetValue(const char* value) { m_valueHasBeenSet = true; m_value.assign(value); } + + /** + *

                The string filter value.

                + */ + inline StringFilter& WithValue(const Aws::String& value) { SetValue(value); return *this;} + + /** + *

                The string filter value.

                + */ + inline StringFilter& WithValue(Aws::String&& value) { SetValue(std::move(value)); return *this;} + + /** + *

                The string filter value.

                + */ + inline StringFilter& WithValue(const char* value) { SetValue(value); return *this;} + + private: + + Aws::String m_value; + bool m_valueHasBeenSet = false; + }; + +} // namespace Model +} // namespace Detective +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/TTPsObservedDetail.h b/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/TTPsObservedDetail.h new file mode 100644 index 00000000000..31e2c5cab23 --- /dev/null +++ b/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/TTPsObservedDetail.h @@ -0,0 +1,315 @@ +/** + * 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 Detective +{ +namespace Model +{ + + /** + *

                Details tactics, techniques, and procedures (TTPs) used in a potential + * security event. Tactics are based on MITRE ATT&CK Matrix for + * Enterprise.

                See Also:

                AWS + * API Reference

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

                The tactic used, identified by the investigation.

                + */ + inline const Aws::String& GetTactic() const{ return m_tactic; } + + /** + *

                The tactic used, identified by the investigation.

                + */ + inline bool TacticHasBeenSet() const { return m_tacticHasBeenSet; } + + /** + *

                The tactic used, identified by the investigation.

                + */ + inline void SetTactic(const Aws::String& value) { m_tacticHasBeenSet = true; m_tactic = value; } + + /** + *

                The tactic used, identified by the investigation.

                + */ + inline void SetTactic(Aws::String&& value) { m_tacticHasBeenSet = true; m_tactic = std::move(value); } + + /** + *

                The tactic used, identified by the investigation.

                + */ + inline void SetTactic(const char* value) { m_tacticHasBeenSet = true; m_tactic.assign(value); } + + /** + *

                The tactic used, identified by the investigation.

                + */ + inline TTPsObservedDetail& WithTactic(const Aws::String& value) { SetTactic(value); return *this;} + + /** + *

                The tactic used, identified by the investigation.

                + */ + inline TTPsObservedDetail& WithTactic(Aws::String&& value) { SetTactic(std::move(value)); return *this;} + + /** + *

                The tactic used, identified by the investigation.

                + */ + inline TTPsObservedDetail& WithTactic(const char* value) { SetTactic(value); return *this;} + + + /** + *

                The technique used, identified by the investigation.

                + */ + inline const Aws::String& GetTechnique() const{ return m_technique; } + + /** + *

                The technique used, identified by the investigation.

                + */ + inline bool TechniqueHasBeenSet() const { return m_techniqueHasBeenSet; } + + /** + *

                The technique used, identified by the investigation.

                + */ + inline void SetTechnique(const Aws::String& value) { m_techniqueHasBeenSet = true; m_technique = value; } + + /** + *

                The technique used, identified by the investigation.

                + */ + inline void SetTechnique(Aws::String&& value) { m_techniqueHasBeenSet = true; m_technique = std::move(value); } + + /** + *

                The technique used, identified by the investigation.

                + */ + inline void SetTechnique(const char* value) { m_techniqueHasBeenSet = true; m_technique.assign(value); } + + /** + *

                The technique used, identified by the investigation.

                + */ + inline TTPsObservedDetail& WithTechnique(const Aws::String& value) { SetTechnique(value); return *this;} + + /** + *

                The technique used, identified by the investigation.

                + */ + inline TTPsObservedDetail& WithTechnique(Aws::String&& value) { SetTechnique(std::move(value)); return *this;} + + /** + *

                The technique used, identified by the investigation.

                + */ + inline TTPsObservedDetail& WithTechnique(const char* value) { SetTechnique(value); return *this;} + + + /** + *

                The procedure used, identified by the investigation.

                + */ + inline const Aws::String& GetProcedure() const{ return m_procedure; } + + /** + *

                The procedure used, identified by the investigation.

                + */ + inline bool ProcedureHasBeenSet() const { return m_procedureHasBeenSet; } + + /** + *

                The procedure used, identified by the investigation.

                + */ + inline void SetProcedure(const Aws::String& value) { m_procedureHasBeenSet = true; m_procedure = value; } + + /** + *

                The procedure used, identified by the investigation.

                + */ + inline void SetProcedure(Aws::String&& value) { m_procedureHasBeenSet = true; m_procedure = std::move(value); } + + /** + *

                The procedure used, identified by the investigation.

                + */ + inline void SetProcedure(const char* value) { m_procedureHasBeenSet = true; m_procedure.assign(value); } + + /** + *

                The procedure used, identified by the investigation.

                + */ + inline TTPsObservedDetail& WithProcedure(const Aws::String& value) { SetProcedure(value); return *this;} + + /** + *

                The procedure used, identified by the investigation.

                + */ + inline TTPsObservedDetail& WithProcedure(Aws::String&& value) { SetProcedure(std::move(value)); return *this;} + + /** + *

                The procedure used, identified by the investigation.

                + */ + inline TTPsObservedDetail& WithProcedure(const char* value) { SetProcedure(value); return *this;} + + + /** + *

                The IP address where the TTP was observed.

                + */ + inline const Aws::String& GetIpAddress() const{ return m_ipAddress; } + + /** + *

                The IP address where the TTP was observed.

                + */ + inline bool IpAddressHasBeenSet() const { return m_ipAddressHasBeenSet; } + + /** + *

                The IP address where the TTP was observed.

                + */ + inline void SetIpAddress(const Aws::String& value) { m_ipAddressHasBeenSet = true; m_ipAddress = value; } + + /** + *

                The IP address where the TTP was observed.

                + */ + inline void SetIpAddress(Aws::String&& value) { m_ipAddressHasBeenSet = true; m_ipAddress = std::move(value); } + + /** + *

                The IP address where the TTP was observed.

                + */ + inline void SetIpAddress(const char* value) { m_ipAddressHasBeenSet = true; m_ipAddress.assign(value); } + + /** + *

                The IP address where the TTP was observed.

                + */ + inline TTPsObservedDetail& WithIpAddress(const Aws::String& value) { SetIpAddress(value); return *this;} + + /** + *

                The IP address where the TTP was observed.

                + */ + inline TTPsObservedDetail& WithIpAddress(Aws::String&& value) { SetIpAddress(std::move(value)); return *this;} + + /** + *

                The IP address where the TTP was observed.

                + */ + inline TTPsObservedDetail& WithIpAddress(const char* value) { SetIpAddress(value); return *this;} + + + /** + *

                The name of the API where the TTP was observed.

                + */ + inline const Aws::String& GetAPIName() const{ return m_aPIName; } + + /** + *

                The name of the API where the TTP was observed.

                + */ + inline bool APINameHasBeenSet() const { return m_aPINameHasBeenSet; } + + /** + *

                The name of the API where the TTP was observed.

                + */ + inline void SetAPIName(const Aws::String& value) { m_aPINameHasBeenSet = true; m_aPIName = value; } + + /** + *

                The name of the API where the TTP was observed.

                + */ + inline void SetAPIName(Aws::String&& value) { m_aPINameHasBeenSet = true; m_aPIName = std::move(value); } + + /** + *

                The name of the API where the TTP was observed.

                + */ + inline void SetAPIName(const char* value) { m_aPINameHasBeenSet = true; m_aPIName.assign(value); } + + /** + *

                The name of the API where the TTP was observed.

                + */ + inline TTPsObservedDetail& WithAPIName(const Aws::String& value) { SetAPIName(value); return *this;} + + /** + *

                The name of the API where the TTP was observed.

                + */ + inline TTPsObservedDetail& WithAPIName(Aws::String&& value) { SetAPIName(std::move(value)); return *this;} + + /** + *

                The name of the API where the TTP was observed.

                + */ + inline TTPsObservedDetail& WithAPIName(const char* value) { SetAPIName(value); return *this;} + + + /** + *

                The total number of successful API requests.

                + */ + inline long long GetAPISuccessCount() const{ return m_aPISuccessCount; } + + /** + *

                The total number of successful API requests.

                + */ + inline bool APISuccessCountHasBeenSet() const { return m_aPISuccessCountHasBeenSet; } + + /** + *

                The total number of successful API requests.

                + */ + inline void SetAPISuccessCount(long long value) { m_aPISuccessCountHasBeenSet = true; m_aPISuccessCount = value; } + + /** + *

                The total number of successful API requests.

                + */ + inline TTPsObservedDetail& WithAPISuccessCount(long long value) { SetAPISuccessCount(value); return *this;} + + + /** + *

                The total number of failed API requests.

                + */ + inline long long GetAPIFailureCount() const{ return m_aPIFailureCount; } + + /** + *

                The total number of failed API requests.

                + */ + inline bool APIFailureCountHasBeenSet() const { return m_aPIFailureCountHasBeenSet; } + + /** + *

                The total number of failed API requests.

                + */ + inline void SetAPIFailureCount(long long value) { m_aPIFailureCountHasBeenSet = true; m_aPIFailureCount = value; } + + /** + *

                The total number of failed API requests.

                + */ + inline TTPsObservedDetail& WithAPIFailureCount(long long value) { SetAPIFailureCount(value); return *this;} + + private: + + Aws::String m_tactic; + bool m_tacticHasBeenSet = false; + + Aws::String m_technique; + bool m_techniqueHasBeenSet = false; + + Aws::String m_procedure; + bool m_procedureHasBeenSet = false; + + Aws::String m_ipAddress; + bool m_ipAddressHasBeenSet = false; + + Aws::String m_aPIName; + bool m_aPINameHasBeenSet = false; + + long long m_aPISuccessCount; + bool m_aPISuccessCountHasBeenSet = false; + + long long m_aPIFailureCount; + bool m_aPIFailureCountHasBeenSet = false; + }; + +} // namespace Model +} // namespace Detective +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/UpdateInvestigationStateRequest.h b/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/UpdateInvestigationStateRequest.h new file mode 100644 index 00000000000..b108fb54b7b --- /dev/null +++ b/generated/src/aws-cpp-sdk-detective/include/aws/detective/model/UpdateInvestigationStateRequest.h @@ -0,0 +1,168 @@ +/** + * 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 Detective +{ +namespace Model +{ + + /** + */ + class UpdateInvestigationStateRequest : public DetectiveRequest + { + public: + AWS_DETECTIVE_API UpdateInvestigationStateRequest(); + + // 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 "UpdateInvestigationState"; } + + AWS_DETECTIVE_API Aws::String SerializePayload() const override; + + + /** + *

                The ARN of the behavior graph.

                + */ + inline const Aws::String& GetGraphArn() const{ return m_graphArn; } + + /** + *

                The ARN of the behavior graph.

                + */ + inline bool GraphArnHasBeenSet() const { return m_graphArnHasBeenSet; } + + /** + *

                The ARN of the behavior graph.

                + */ + inline void SetGraphArn(const Aws::String& value) { m_graphArnHasBeenSet = true; m_graphArn = value; } + + /** + *

                The ARN of the behavior graph.

                + */ + inline void SetGraphArn(Aws::String&& value) { m_graphArnHasBeenSet = true; m_graphArn = std::move(value); } + + /** + *

                The ARN of the behavior graph.

                + */ + inline void SetGraphArn(const char* value) { m_graphArnHasBeenSet = true; m_graphArn.assign(value); } + + /** + *

                The ARN of the behavior graph.

                + */ + inline UpdateInvestigationStateRequest& WithGraphArn(const Aws::String& value) { SetGraphArn(value); return *this;} + + /** + *

                The ARN of the behavior graph.

                + */ + inline UpdateInvestigationStateRequest& WithGraphArn(Aws::String&& value) { SetGraphArn(std::move(value)); return *this;} + + /** + *

                The ARN of the behavior graph.

                + */ + inline UpdateInvestigationStateRequest& WithGraphArn(const char* value) { SetGraphArn(value); return *this;} + + + /** + *

                The investigation ID of the investigation report.

                + */ + inline const Aws::String& GetInvestigationId() const{ return m_investigationId; } + + /** + *

                The investigation ID of the investigation report.

                + */ + inline bool InvestigationIdHasBeenSet() const { return m_investigationIdHasBeenSet; } + + /** + *

                The investigation ID of the investigation report.

                + */ + inline void SetInvestigationId(const Aws::String& value) { m_investigationIdHasBeenSet = true; m_investigationId = value; } + + /** + *

                The investigation ID of the investigation report.

                + */ + inline void SetInvestigationId(Aws::String&& value) { m_investigationIdHasBeenSet = true; m_investigationId = std::move(value); } + + /** + *

                The investigation ID of the investigation report.

                + */ + inline void SetInvestigationId(const char* value) { m_investigationIdHasBeenSet = true; m_investigationId.assign(value); } + + /** + *

                The investigation ID of the investigation report.

                + */ + inline UpdateInvestigationStateRequest& WithInvestigationId(const Aws::String& value) { SetInvestigationId(value); return *this;} + + /** + *

                The investigation ID of the investigation report.

                + */ + inline UpdateInvestigationStateRequest& WithInvestigationId(Aws::String&& value) { SetInvestigationId(std::move(value)); return *this;} + + /** + *

                The investigation ID of the investigation report.

                + */ + inline UpdateInvestigationStateRequest& WithInvestigationId(const char* value) { SetInvestigationId(value); return *this;} + + + /** + *

                The current state of the investigation. An archived investigation indicates + * you have completed reviewing the investigation.

                + */ + inline const State& GetState() const{ return m_state; } + + /** + *

                The current state of the investigation. An archived investigation indicates + * you have completed reviewing the investigation.

                + */ + inline bool StateHasBeenSet() const { return m_stateHasBeenSet; } + + /** + *

                The current state of the investigation. An archived investigation indicates + * you have completed reviewing the investigation.

                + */ + inline void SetState(const State& value) { m_stateHasBeenSet = true; m_state = value; } + + /** + *

                The current state of the investigation. An archived investigation indicates + * you have completed reviewing the investigation.

                + */ + inline void SetState(State&& value) { m_stateHasBeenSet = true; m_state = std::move(value); } + + /** + *

                The current state of the investigation. An archived investigation indicates + * you have completed reviewing the investigation.

                + */ + inline UpdateInvestigationStateRequest& WithState(const State& value) { SetState(value); return *this;} + + /** + *

                The current state of the investigation. An archived investigation indicates + * you have completed reviewing the investigation.

                + */ + inline UpdateInvestigationStateRequest& WithState(State&& value) { SetState(std::move(value)); return *this;} + + private: + + Aws::String m_graphArn; + bool m_graphArnHasBeenSet = false; + + Aws::String m_investigationId; + bool m_investigationIdHasBeenSet = false; + + State m_state; + bool m_stateHasBeenSet = false; + }; + +} // namespace Model +} // namespace Detective +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-detective/source/DetectiveClient.cpp b/generated/src/aws-cpp-sdk-detective/source/DetectiveClient.cpp index 5fba33294e5..336ef20e3b6 100644 --- a/generated/src/aws-cpp-sdk-detective/source/DetectiveClient.cpp +++ b/generated/src/aws-cpp-sdk-detective/source/DetectiveClient.cpp @@ -32,18 +32,23 @@ #include #include #include +#include #include #include #include +#include +#include #include #include #include #include #include +#include #include #include #include #include +#include #include #include @@ -475,6 +480,33 @@ EnableOrganizationAdminAccountOutcome DetectiveClient::EnableOrganizationAdminAc {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +GetInvestigationOutcome DetectiveClient::GetInvestigation(const GetInvestigationRequest& request) const +{ + AWS_OPERATION_GUARD(GetInvestigation); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetInvestigation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetInvestigation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetInvestigation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetInvestigation", + {{ 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( + [&]()-> GetInvestigationOutcome { + 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, GetInvestigation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/investigations/getInvestigation"); + return GetInvestigationOutcome(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()}}); +} + GetMembersOutcome DetectiveClient::GetMembers(const GetMembersRequest& request) const { AWS_OPERATION_GUARD(GetMembers); @@ -556,6 +588,60 @@ ListGraphsOutcome DetectiveClient::ListGraphs(const ListGraphsRequest& request) {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +ListIndicatorsOutcome DetectiveClient::ListIndicators(const ListIndicatorsRequest& request) const +{ + AWS_OPERATION_GUARD(ListIndicators); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListIndicators, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListIndicators, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListIndicators, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListIndicators", + {{ 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( + [&]()-> ListIndicatorsOutcome { + 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, ListIndicators, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/investigations/listIndicators"); + return ListIndicatorsOutcome(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()}}); +} + +ListInvestigationsOutcome DetectiveClient::ListInvestigations(const ListInvestigationsRequest& request) const +{ + AWS_OPERATION_GUARD(ListInvestigations); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListInvestigations, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListInvestigations, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListInvestigations, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListInvestigations", + {{ 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( + [&]()-> ListInvestigationsOutcome { + 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, ListInvestigations, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/investigations/listInvestigations"); + return ListInvestigationsOutcome(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()}}); +} + ListInvitationsOutcome DetectiveClient::ListInvitations(const ListInvitationsRequest& request) const { AWS_OPERATION_GUARD(ListInvitations); @@ -697,6 +783,33 @@ RejectInvitationOutcome DetectiveClient::RejectInvitation(const RejectInvitation {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +StartInvestigationOutcome DetectiveClient::StartInvestigation(const StartInvestigationRequest& request) const +{ + AWS_OPERATION_GUARD(StartInvestigation); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, StartInvestigation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, StartInvestigation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, StartInvestigation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".StartInvestigation", + {{ 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( + [&]()-> StartInvestigationOutcome { + 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, StartInvestigation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/investigations/startInvestigation"); + return StartInvestigationOutcome(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()}}); +} + StartMonitoringMemberOutcome DetectiveClient::StartMonitoringMember(const StartMonitoringMemberRequest& request) const { AWS_OPERATION_GUARD(StartMonitoringMember); @@ -822,6 +935,33 @@ UpdateDatasourcePackagesOutcome DetectiveClient::UpdateDatasourcePackages(const {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +UpdateInvestigationStateOutcome DetectiveClient::UpdateInvestigationState(const UpdateInvestigationStateRequest& request) const +{ + AWS_OPERATION_GUARD(UpdateInvestigationState); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UpdateInvestigationState, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, UpdateInvestigationState, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, UpdateInvestigationState, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".UpdateInvestigationState", + {{ 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( + [&]()-> UpdateInvestigationStateOutcome { + 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, UpdateInvestigationState, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/investigations/updateInvestigationState"); + return UpdateInvestigationStateOutcome(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()}}); +} + UpdateOrganizationConfigurationOutcome DetectiveClient::UpdateOrganizationConfiguration(const UpdateOrganizationConfigurationRequest& request) const { AWS_OPERATION_GUARD(UpdateOrganizationConfiguration); diff --git a/generated/src/aws-cpp-sdk-detective/source/DetectiveEndpointRules.cpp b/generated/src/aws-cpp-sdk-detective/source/DetectiveEndpointRules.cpp index 3f119606040..488b7dff9a9 100644 --- a/generated/src/aws-cpp-sdk-detective/source/DetectiveEndpointRules.cpp +++ b/generated/src/aws-cpp-sdk-detective/source/DetectiveEndpointRules.cpp @@ -51,107 +51,107 @@ static constexpr RulesBlobT RulesBlob = {{ ',','"','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','"',':','[','{','"','f','n','"',':','"', 'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', -'d','p','o','i','n','t','"','}',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', -',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', -'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r', -'u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','C','o', -'n','f','i','g','u','r','a','t','i','o','n',':',' ','F','I','P','S',' ','a','n','d',' ','c','u','s', -'t','o','m',' ','e','n','d','p','o','i','n','t',' ','a','r','e',' ','n','o','t',' ','s','u','p','p', -'o','r','t','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e', +'d','p','o','i','n','t','"','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', +'s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':', +'"','I','n','v','a','l','i','d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','F', +'I','P','S',' ','a','n','d',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','a', +'r','e',' ','n','o','t',' ','s','u','p','p','o','r','t','e','d','"',',','"','t','y','p','e','"',':', +'"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"', +'}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i', +'d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','D','u','a','l','s','t','a','c', +'k',' ','a','n','d',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','a','r','e', +' ','n','o','t',' ','s','u','p','p','o','r','t','e','d','"',',','"','t','y','p','e','"',':','"','e', +'r','r','o','r','"','}',',','{','"','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','"',':','{', +'}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e', +'n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s', +'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i', +'o','n','"','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i', +'o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o', +'n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','P','a','r','t','i','t','i','o','n','R', +'e','s','u','l','t','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F', +'I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', 'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', '"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"', -'e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','C','o','n','f','i','g','u','r','a', -'t','i','o','n',':',' ','D','u','a','l','s','t','a','c','k',' ','a','n','d',' ','c','u','s','t','o', -'m',' ','e','n','d','p','o','i','n','t',' ','a','r','e',' ','n','o','t',' ','s','u','p','p','o','r', -'t','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o', +'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R', +'e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','F','I','P','S','"',']','}',']', +'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t', +'r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t', +'i','o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','D','u','a','l', +'S','t','a','c','k','"',']','}',']','}',']',',','"','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','"',':','{','}',',','"','h','e','a','d','e','r','s','"', -':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}', -',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s', -'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i', -'o','n','"','}',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u', -'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', -'"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g', -'n','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',']',',','"','t', -'y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o', -'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', -'s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o', -'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}', -']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o', -'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','t','r','u','e',',', -'{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',', -'"','s','u','p','p','o','r','t','s','F','I','P','S','"',']','}',']','}',',','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','t', -'r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l', -'t','"','}',',','"','s','u','p','p','o','r','t','s','D','u','a','l','S','t','a','c','k','"',']','}', -']','}',']',',','"','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','"',':','"','h','t','t','p','s',':','/','/','a','p','i','.', -'d','e','t','e','c','t','i','v','e','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{', -'P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','u','a','l','S','t','a','c','k', -'D','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':', -'{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"', -'e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[',']',',','"','e','r','r','o','r','"',':','"','F','I','P','S',' ','a','n','d',' ','D','u', -'a','l','S','t','a','c','k',' ','a','r','e',' ','e','n','a','b','l','e','d',',',' ','b','u','t',' ', -'t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ','n','o','t',' ','s', -'u','p','p','o','r','t',' ','o','n','e',' ','o','r',' ','b','o','t','h','"',',','"','t','y','p','e', -'"',':','"','e','r','r','o','r','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}', -',','t','r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r', -'u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', -'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e', -'s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','F','I','P','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','"',':','"','h','t','t','p','s',':','/','/','a','p','i','.','d','e', -'t','e','c','t','i','v','e','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','P','a', -'r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"', -',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s', -'"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']', -'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r', -'"',':','"','F','I','P','S',' ','i','s',' ','e','n','a','b','l','e','d',' ','b','u','t',' ','t','h', -'i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p', -'p','o','r','t',' ','F','I','P','S','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"', -'}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u', -'e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s', -'"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', -'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','t','r', -'u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t', -'"','}',',','"','s','u','p','p','o','r','t','s','D','u','a','l','S','t','a','c','k','"',']','}',']', -'}',']',',','"','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','"',':','"','h','t','t','p','s',':','/','/','a','p','i','.','d', -'e','t','e','c','t','i','v','e','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t', +'"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','a','p','i','.','d','e','t','e','c','t', +'i','v','e','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t', 'i','o','n','R','e','s','u','l','t','#','d','u','a','l','S','t','a','c','k','D','n','s','S','u','f', 'f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e', 'a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i', -'n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"', -'e','r','r','o','r','"',':','"','D','u','a','l','S','t','a','c','k',' ','i','s',' ','e','n','a','b', -'l','e','d',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o', -'e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','D','u','a','l','S','t','a','c','k','"', -',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',',','{','"','c','o','n','d', +'n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','F','I','P', +'S',' ','a','n','d',' ','D','u','a','l','S','t','a','c','k',' ','a','r','e',' ','e','n','a','b','l', +'e','d',',',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o', +'e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','o','n','e',' ','o','r',' ','b','o','t', +'h','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e', +'"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r', +'u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o', +'n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','F','I','P','S','"',']', +'}',',','t','r','u','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','"',':','"','h','t','t','p','s',':','/','/','a','p','i','.','d','e','t','e','c','t','i','v', -'e','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u', -'l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e', -'s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e', -'"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','c','o','n','d','i', +'e','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o', +'n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p', +'e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',', +'"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e', +'"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +']',',','"','e','r','r','o','r','"',':','"','F','I','P','S',' ','i','s',' ','e','n','a','b','l','e', +'d',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s', +' ','n','o','t',' ','s','u','p','p','o','r','t',' ','F','I','P','S','"',',','"','t','y','p','e','"', +':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}', +']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i', +'o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','D','u','a','l','S', +'t','a','c','k','"',']','}',']','}',']',',','"','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','"',':','"','h','t','t','p','s',':','/','/','a','p','i','.','d','e','t','e','c','t','i', +'v','e','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s', +'u','l','t','#','d','u','a','l','S','t','a','c','k','D','n','s','S','u','f','f','i','x','}','"',',', +'"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"', +':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',', +'"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','D','u','a','l','S','t','a','c','k', +' ','i','s',' ','e','n','a','b','l','e','d',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t', +'i','t','i','o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','D','u', +'a','l','S','t','a','c','k','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']', +',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"', +':','"','h','t','t','p','s',':','/','/','a','p','i','.','d','e','t','e','c','t','i','v','e','.','{', +'R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#', +'d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':', +'{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"', +'e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', +'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i', 't','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i', 'd',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','M','i','s','s','i','n','g',' ', 'R','e','g','i','o','n','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}', diff --git a/generated/src/aws-cpp-sdk-detective/source/model/DateFilter.cpp b/generated/src/aws-cpp-sdk-detective/source/model/DateFilter.cpp new file mode 100644 index 00000000000..709a808a668 --- /dev/null +++ b/generated/src/aws-cpp-sdk-detective/source/model/DateFilter.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 Detective +{ +namespace Model +{ + +DateFilter::DateFilter() : + m_startInclusiveHasBeenSet(false), + m_endInclusiveHasBeenSet(false) +{ +} + +DateFilter::DateFilter(JsonView jsonValue) : + m_startInclusiveHasBeenSet(false), + m_endInclusiveHasBeenSet(false) +{ + *this = jsonValue; +} + +DateFilter& DateFilter::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("StartInclusive")) + { + m_startInclusive = jsonValue.GetString("StartInclusive"); + + m_startInclusiveHasBeenSet = true; + } + + if(jsonValue.ValueExists("EndInclusive")) + { + m_endInclusive = jsonValue.GetString("EndInclusive"); + + m_endInclusiveHasBeenSet = true; + } + + return *this; +} + +JsonValue DateFilter::Jsonize() const +{ + JsonValue payload; + + if(m_startInclusiveHasBeenSet) + { + payload.WithString("StartInclusive", m_startInclusive.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + if(m_endInclusiveHasBeenSet) + { + payload.WithString("EndInclusive", m_endInclusive.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + return payload; +} + +} // namespace Model +} // namespace Detective +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-detective/source/model/EntityType.cpp b/generated/src/aws-cpp-sdk-detective/source/model/EntityType.cpp new file mode 100644 index 00000000000..c1c6b6ed49d --- /dev/null +++ b/generated/src/aws-cpp-sdk-detective/source/model/EntityType.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 Detective + { + namespace Model + { + namespace EntityTypeMapper + { + + static const int IAM_ROLE_HASH = HashingUtils::HashString("IAM_ROLE"); + static const int IAM_USER_HASH = HashingUtils::HashString("IAM_USER"); + + + EntityType GetEntityTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == IAM_ROLE_HASH) + { + return EntityType::IAM_ROLE; + } + else if (hashCode == IAM_USER_HASH) + { + return EntityType::IAM_USER; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return EntityType::NOT_SET; + } + + Aws::String GetNameForEntityType(EntityType enumValue) + { + switch(enumValue) + { + case EntityType::NOT_SET: + return {}; + case EntityType::IAM_ROLE: + return "IAM_ROLE"; + case EntityType::IAM_USER: + return "IAM_USER"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace EntityTypeMapper + } // namespace Model + } // namespace Detective +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-detective/source/model/Field.cpp b/generated/src/aws-cpp-sdk-detective/source/model/Field.cpp new file mode 100644 index 00000000000..004cd9eff5a --- /dev/null +++ b/generated/src/aws-cpp-sdk-detective/source/model/Field.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 Detective + { + namespace Model + { + namespace FieldMapper + { + + static const int SEVERITY_HASH = HashingUtils::HashString("SEVERITY"); + static const int STATUS_HASH = HashingUtils::HashString("STATUS"); + static const int CREATED_TIME_HASH = HashingUtils::HashString("CREATED_TIME"); + + + Field GetFieldForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == SEVERITY_HASH) + { + return Field::SEVERITY; + } + else if (hashCode == STATUS_HASH) + { + return Field::STATUS; + } + else if (hashCode == CREATED_TIME_HASH) + { + return Field::CREATED_TIME; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return Field::NOT_SET; + } + + Aws::String GetNameForField(Field enumValue) + { + switch(enumValue) + { + case Field::NOT_SET: + return {}; + case Field::SEVERITY: + return "SEVERITY"; + case Field::STATUS: + return "STATUS"; + case Field::CREATED_TIME: + return "CREATED_TIME"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace FieldMapper + } // namespace Model + } // namespace Detective +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-detective/source/model/FilterCriteria.cpp b/generated/src/aws-cpp-sdk-detective/source/model/FilterCriteria.cpp new file mode 100644 index 00000000000..972c89f6203 --- /dev/null +++ b/generated/src/aws-cpp-sdk-detective/source/model/FilterCriteria.cpp @@ -0,0 +1,119 @@ +/** + * 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 Detective +{ +namespace Model +{ + +FilterCriteria::FilterCriteria() : + m_severityHasBeenSet(false), + m_statusHasBeenSet(false), + m_stateHasBeenSet(false), + m_entityArnHasBeenSet(false), + m_createdTimeHasBeenSet(false) +{ +} + +FilterCriteria::FilterCriteria(JsonView jsonValue) : + m_severityHasBeenSet(false), + m_statusHasBeenSet(false), + m_stateHasBeenSet(false), + m_entityArnHasBeenSet(false), + m_createdTimeHasBeenSet(false) +{ + *this = jsonValue; +} + +FilterCriteria& FilterCriteria::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Severity")) + { + m_severity = jsonValue.GetObject("Severity"); + + m_severityHasBeenSet = true; + } + + if(jsonValue.ValueExists("Status")) + { + m_status = jsonValue.GetObject("Status"); + + m_statusHasBeenSet = true; + } + + if(jsonValue.ValueExists("State")) + { + m_state = jsonValue.GetObject("State"); + + m_stateHasBeenSet = true; + } + + if(jsonValue.ValueExists("EntityArn")) + { + m_entityArn = jsonValue.GetObject("EntityArn"); + + m_entityArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("CreatedTime")) + { + m_createdTime = jsonValue.GetObject("CreatedTime"); + + m_createdTimeHasBeenSet = true; + } + + return *this; +} + +JsonValue FilterCriteria::Jsonize() const +{ + JsonValue payload; + + if(m_severityHasBeenSet) + { + payload.WithObject("Severity", m_severity.Jsonize()); + + } + + if(m_statusHasBeenSet) + { + payload.WithObject("Status", m_status.Jsonize()); + + } + + if(m_stateHasBeenSet) + { + payload.WithObject("State", m_state.Jsonize()); + + } + + if(m_entityArnHasBeenSet) + { + payload.WithObject("EntityArn", m_entityArn.Jsonize()); + + } + + if(m_createdTimeHasBeenSet) + { + payload.WithObject("CreatedTime", m_createdTime.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace Detective +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-detective/source/model/FlaggedIpAddressDetail.cpp b/generated/src/aws-cpp-sdk-detective/source/model/FlaggedIpAddressDetail.cpp new file mode 100644 index 00000000000..48cbfaa4856 --- /dev/null +++ b/generated/src/aws-cpp-sdk-detective/source/model/FlaggedIpAddressDetail.cpp @@ -0,0 +1,75 @@ +/** + * 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 Detective +{ +namespace Model +{ + +FlaggedIpAddressDetail::FlaggedIpAddressDetail() : + m_ipAddressHasBeenSet(false), + m_reason(Reason::NOT_SET), + m_reasonHasBeenSet(false) +{ +} + +FlaggedIpAddressDetail::FlaggedIpAddressDetail(JsonView jsonValue) : + m_ipAddressHasBeenSet(false), + m_reason(Reason::NOT_SET), + m_reasonHasBeenSet(false) +{ + *this = jsonValue; +} + +FlaggedIpAddressDetail& FlaggedIpAddressDetail::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("IpAddress")) + { + m_ipAddress = jsonValue.GetString("IpAddress"); + + m_ipAddressHasBeenSet = true; + } + + if(jsonValue.ValueExists("Reason")) + { + m_reason = ReasonMapper::GetReasonForName(jsonValue.GetString("Reason")); + + m_reasonHasBeenSet = true; + } + + return *this; +} + +JsonValue FlaggedIpAddressDetail::Jsonize() const +{ + JsonValue payload; + + if(m_ipAddressHasBeenSet) + { + payload.WithString("IpAddress", m_ipAddress); + + } + + if(m_reasonHasBeenSet) + { + payload.WithString("Reason", ReasonMapper::GetNameForReason(m_reason)); + } + + return payload; +} + +} // namespace Model +} // namespace Detective +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-detective/source/model/GetInvestigationRequest.cpp b/generated/src/aws-cpp-sdk-detective/source/model/GetInvestigationRequest.cpp new file mode 100644 index 00000000000..ecc70108d3d --- /dev/null +++ b/generated/src/aws-cpp-sdk-detective/source/model/GetInvestigationRequest.cpp @@ -0,0 +1,42 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Detective::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +GetInvestigationRequest::GetInvestigationRequest() : + m_graphArnHasBeenSet(false), + m_investigationIdHasBeenSet(false) +{ +} + +Aws::String GetInvestigationRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_graphArnHasBeenSet) + { + payload.WithString("GraphArn", m_graphArn); + + } + + if(m_investigationIdHasBeenSet) + { + payload.WithString("InvestigationId", m_investigationId); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-detective/source/model/GetInvestigationResult.cpp b/generated/src/aws-cpp-sdk-detective/source/model/GetInvestigationResult.cpp new file mode 100644 index 00000000000..15d2def06e5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-detective/source/model/GetInvestigationResult.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 + +#include + +using namespace Aws::Detective::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetInvestigationResult::GetInvestigationResult() : + m_entityType(EntityType::NOT_SET), + m_status(Status::NOT_SET), + m_severity(Severity::NOT_SET), + m_state(State::NOT_SET) +{ +} + +GetInvestigationResult::GetInvestigationResult(const Aws::AmazonWebServiceResult& result) : + m_entityType(EntityType::NOT_SET), + m_status(Status::NOT_SET), + m_severity(Severity::NOT_SET), + m_state(State::NOT_SET) +{ + *this = result; +} + +GetInvestigationResult& GetInvestigationResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("GraphArn")) + { + m_graphArn = jsonValue.GetString("GraphArn"); + + } + + if(jsonValue.ValueExists("InvestigationId")) + { + m_investigationId = jsonValue.GetString("InvestigationId"); + + } + + if(jsonValue.ValueExists("EntityArn")) + { + m_entityArn = jsonValue.GetString("EntityArn"); + + } + + if(jsonValue.ValueExists("EntityType")) + { + m_entityType = EntityTypeMapper::GetEntityTypeForName(jsonValue.GetString("EntityType")); + + } + + if(jsonValue.ValueExists("CreatedTime")) + { + m_createdTime = jsonValue.GetString("CreatedTime"); + + } + + if(jsonValue.ValueExists("ScopeStartTime")) + { + m_scopeStartTime = jsonValue.GetString("ScopeStartTime"); + + } + + if(jsonValue.ValueExists("ScopeEndTime")) + { + m_scopeEndTime = jsonValue.GetString("ScopeEndTime"); + + } + + if(jsonValue.ValueExists("Status")) + { + m_status = StatusMapper::GetStatusForName(jsonValue.GetString("Status")); + + } + + if(jsonValue.ValueExists("Severity")) + { + m_severity = SeverityMapper::GetSeverityForName(jsonValue.GetString("Severity")); + + } + + if(jsonValue.ValueExists("State")) + { + m_state = StateMapper::GetStateForName(jsonValue.GetString("State")); + + } + + + 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-detective/source/model/ImpossibleTravelDetail.cpp b/generated/src/aws-cpp-sdk-detective/source/model/ImpossibleTravelDetail.cpp new file mode 100644 index 00000000000..b4138a4224f --- /dev/null +++ b/generated/src/aws-cpp-sdk-detective/source/model/ImpossibleTravelDetail.cpp @@ -0,0 +1,121 @@ +/** + * 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 Detective +{ +namespace Model +{ + +ImpossibleTravelDetail::ImpossibleTravelDetail() : + m_startingIpAddressHasBeenSet(false), + m_endingIpAddressHasBeenSet(false), + m_startingLocationHasBeenSet(false), + m_endingLocationHasBeenSet(false), + m_hourlyTimeDelta(0), + m_hourlyTimeDeltaHasBeenSet(false) +{ +} + +ImpossibleTravelDetail::ImpossibleTravelDetail(JsonView jsonValue) : + m_startingIpAddressHasBeenSet(false), + m_endingIpAddressHasBeenSet(false), + m_startingLocationHasBeenSet(false), + m_endingLocationHasBeenSet(false), + m_hourlyTimeDelta(0), + m_hourlyTimeDeltaHasBeenSet(false) +{ + *this = jsonValue; +} + +ImpossibleTravelDetail& ImpossibleTravelDetail::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("StartingIpAddress")) + { + m_startingIpAddress = jsonValue.GetString("StartingIpAddress"); + + m_startingIpAddressHasBeenSet = true; + } + + if(jsonValue.ValueExists("EndingIpAddress")) + { + m_endingIpAddress = jsonValue.GetString("EndingIpAddress"); + + m_endingIpAddressHasBeenSet = true; + } + + if(jsonValue.ValueExists("StartingLocation")) + { + m_startingLocation = jsonValue.GetString("StartingLocation"); + + m_startingLocationHasBeenSet = true; + } + + if(jsonValue.ValueExists("EndingLocation")) + { + m_endingLocation = jsonValue.GetString("EndingLocation"); + + m_endingLocationHasBeenSet = true; + } + + if(jsonValue.ValueExists("HourlyTimeDelta")) + { + m_hourlyTimeDelta = jsonValue.GetInteger("HourlyTimeDelta"); + + m_hourlyTimeDeltaHasBeenSet = true; + } + + return *this; +} + +JsonValue ImpossibleTravelDetail::Jsonize() const +{ + JsonValue payload; + + if(m_startingIpAddressHasBeenSet) + { + payload.WithString("StartingIpAddress", m_startingIpAddress); + + } + + if(m_endingIpAddressHasBeenSet) + { + payload.WithString("EndingIpAddress", m_endingIpAddress); + + } + + if(m_startingLocationHasBeenSet) + { + payload.WithString("StartingLocation", m_startingLocation); + + } + + if(m_endingLocationHasBeenSet) + { + payload.WithString("EndingLocation", m_endingLocation); + + } + + if(m_hourlyTimeDeltaHasBeenSet) + { + payload.WithInteger("HourlyTimeDelta", m_hourlyTimeDelta); + + } + + return payload; +} + +} // namespace Model +} // namespace Detective +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-detective/source/model/Indicator.cpp b/generated/src/aws-cpp-sdk-detective/source/model/Indicator.cpp new file mode 100644 index 00000000000..a61f89e06ae --- /dev/null +++ b/generated/src/aws-cpp-sdk-detective/source/model/Indicator.cpp @@ -0,0 +1,75 @@ +/** + * 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 Detective +{ +namespace Model +{ + +Indicator::Indicator() : + m_indicatorType(IndicatorType::NOT_SET), + m_indicatorTypeHasBeenSet(false), + m_indicatorDetailHasBeenSet(false) +{ +} + +Indicator::Indicator(JsonView jsonValue) : + m_indicatorType(IndicatorType::NOT_SET), + m_indicatorTypeHasBeenSet(false), + m_indicatorDetailHasBeenSet(false) +{ + *this = jsonValue; +} + +Indicator& Indicator::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("IndicatorType")) + { + m_indicatorType = IndicatorTypeMapper::GetIndicatorTypeForName(jsonValue.GetString("IndicatorType")); + + m_indicatorTypeHasBeenSet = true; + } + + if(jsonValue.ValueExists("IndicatorDetail")) + { + m_indicatorDetail = jsonValue.GetObject("IndicatorDetail"); + + m_indicatorDetailHasBeenSet = true; + } + + return *this; +} + +JsonValue Indicator::Jsonize() const +{ + JsonValue payload; + + if(m_indicatorTypeHasBeenSet) + { + payload.WithString("IndicatorType", IndicatorTypeMapper::GetNameForIndicatorType(m_indicatorType)); + } + + if(m_indicatorDetailHasBeenSet) + { + payload.WithObject("IndicatorDetail", m_indicatorDetail.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace Detective +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-detective/source/model/IndicatorDetail.cpp b/generated/src/aws-cpp-sdk-detective/source/model/IndicatorDetail.cpp new file mode 100644 index 00000000000..a0102955274 --- /dev/null +++ b/generated/src/aws-cpp-sdk-detective/source/model/IndicatorDetail.cpp @@ -0,0 +1,164 @@ +/** + * 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 Detective +{ +namespace Model +{ + +IndicatorDetail::IndicatorDetail() : + m_tTPsObservedDetailHasBeenSet(false), + m_impossibleTravelDetailHasBeenSet(false), + m_flaggedIpAddressDetailHasBeenSet(false), + m_newGeolocationDetailHasBeenSet(false), + m_newAsoDetailHasBeenSet(false), + m_newUserAgentDetailHasBeenSet(false), + m_relatedFindingDetailHasBeenSet(false), + m_relatedFindingGroupDetailHasBeenSet(false) +{ +} + +IndicatorDetail::IndicatorDetail(JsonView jsonValue) : + m_tTPsObservedDetailHasBeenSet(false), + m_impossibleTravelDetailHasBeenSet(false), + m_flaggedIpAddressDetailHasBeenSet(false), + m_newGeolocationDetailHasBeenSet(false), + m_newAsoDetailHasBeenSet(false), + m_newUserAgentDetailHasBeenSet(false), + m_relatedFindingDetailHasBeenSet(false), + m_relatedFindingGroupDetailHasBeenSet(false) +{ + *this = jsonValue; +} + +IndicatorDetail& IndicatorDetail::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("TTPsObservedDetail")) + { + m_tTPsObservedDetail = jsonValue.GetObject("TTPsObservedDetail"); + + m_tTPsObservedDetailHasBeenSet = true; + } + + if(jsonValue.ValueExists("ImpossibleTravelDetail")) + { + m_impossibleTravelDetail = jsonValue.GetObject("ImpossibleTravelDetail"); + + m_impossibleTravelDetailHasBeenSet = true; + } + + if(jsonValue.ValueExists("FlaggedIpAddressDetail")) + { + m_flaggedIpAddressDetail = jsonValue.GetObject("FlaggedIpAddressDetail"); + + m_flaggedIpAddressDetailHasBeenSet = true; + } + + if(jsonValue.ValueExists("NewGeolocationDetail")) + { + m_newGeolocationDetail = jsonValue.GetObject("NewGeolocationDetail"); + + m_newGeolocationDetailHasBeenSet = true; + } + + if(jsonValue.ValueExists("NewAsoDetail")) + { + m_newAsoDetail = jsonValue.GetObject("NewAsoDetail"); + + m_newAsoDetailHasBeenSet = true; + } + + if(jsonValue.ValueExists("NewUserAgentDetail")) + { + m_newUserAgentDetail = jsonValue.GetObject("NewUserAgentDetail"); + + m_newUserAgentDetailHasBeenSet = true; + } + + if(jsonValue.ValueExists("RelatedFindingDetail")) + { + m_relatedFindingDetail = jsonValue.GetObject("RelatedFindingDetail"); + + m_relatedFindingDetailHasBeenSet = true; + } + + if(jsonValue.ValueExists("RelatedFindingGroupDetail")) + { + m_relatedFindingGroupDetail = jsonValue.GetObject("RelatedFindingGroupDetail"); + + m_relatedFindingGroupDetailHasBeenSet = true; + } + + return *this; +} + +JsonValue IndicatorDetail::Jsonize() const +{ + JsonValue payload; + + if(m_tTPsObservedDetailHasBeenSet) + { + payload.WithObject("TTPsObservedDetail", m_tTPsObservedDetail.Jsonize()); + + } + + if(m_impossibleTravelDetailHasBeenSet) + { + payload.WithObject("ImpossibleTravelDetail", m_impossibleTravelDetail.Jsonize()); + + } + + if(m_flaggedIpAddressDetailHasBeenSet) + { + payload.WithObject("FlaggedIpAddressDetail", m_flaggedIpAddressDetail.Jsonize()); + + } + + if(m_newGeolocationDetailHasBeenSet) + { + payload.WithObject("NewGeolocationDetail", m_newGeolocationDetail.Jsonize()); + + } + + if(m_newAsoDetailHasBeenSet) + { + payload.WithObject("NewAsoDetail", m_newAsoDetail.Jsonize()); + + } + + if(m_newUserAgentDetailHasBeenSet) + { + payload.WithObject("NewUserAgentDetail", m_newUserAgentDetail.Jsonize()); + + } + + if(m_relatedFindingDetailHasBeenSet) + { + payload.WithObject("RelatedFindingDetail", m_relatedFindingDetail.Jsonize()); + + } + + if(m_relatedFindingGroupDetailHasBeenSet) + { + payload.WithObject("RelatedFindingGroupDetail", m_relatedFindingGroupDetail.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace Detective +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-detective/source/model/IndicatorType.cpp b/generated/src/aws-cpp-sdk-detective/source/model/IndicatorType.cpp new file mode 100644 index 00000000000..ccac340ec89 --- /dev/null +++ b/generated/src/aws-cpp-sdk-detective/source/model/IndicatorType.cpp @@ -0,0 +1,114 @@ +/** + * 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 Detective + { + namespace Model + { + namespace IndicatorTypeMapper + { + + static const int TTP_OBSERVED_HASH = HashingUtils::HashString("TTP_OBSERVED"); + static const int IMPOSSIBLE_TRAVEL_HASH = HashingUtils::HashString("IMPOSSIBLE_TRAVEL"); + static const int FLAGGED_IP_ADDRESS_HASH = HashingUtils::HashString("FLAGGED_IP_ADDRESS"); + static const int NEW_GEOLOCATION_HASH = HashingUtils::HashString("NEW_GEOLOCATION"); + static const int NEW_ASO_HASH = HashingUtils::HashString("NEW_ASO"); + static const int NEW_USER_AGENT_HASH = HashingUtils::HashString("NEW_USER_AGENT"); + static const int RELATED_FINDING_HASH = HashingUtils::HashString("RELATED_FINDING"); + static const int RELATED_FINDING_GROUP_HASH = HashingUtils::HashString("RELATED_FINDING_GROUP"); + + + IndicatorType GetIndicatorTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == TTP_OBSERVED_HASH) + { + return IndicatorType::TTP_OBSERVED; + } + else if (hashCode == IMPOSSIBLE_TRAVEL_HASH) + { + return IndicatorType::IMPOSSIBLE_TRAVEL; + } + else if (hashCode == FLAGGED_IP_ADDRESS_HASH) + { + return IndicatorType::FLAGGED_IP_ADDRESS; + } + else if (hashCode == NEW_GEOLOCATION_HASH) + { + return IndicatorType::NEW_GEOLOCATION; + } + else if (hashCode == NEW_ASO_HASH) + { + return IndicatorType::NEW_ASO; + } + else if (hashCode == NEW_USER_AGENT_HASH) + { + return IndicatorType::NEW_USER_AGENT; + } + else if (hashCode == RELATED_FINDING_HASH) + { + return IndicatorType::RELATED_FINDING; + } + else if (hashCode == RELATED_FINDING_GROUP_HASH) + { + return IndicatorType::RELATED_FINDING_GROUP; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return IndicatorType::NOT_SET; + } + + Aws::String GetNameForIndicatorType(IndicatorType enumValue) + { + switch(enumValue) + { + case IndicatorType::NOT_SET: + return {}; + case IndicatorType::TTP_OBSERVED: + return "TTP_OBSERVED"; + case IndicatorType::IMPOSSIBLE_TRAVEL: + return "IMPOSSIBLE_TRAVEL"; + case IndicatorType::FLAGGED_IP_ADDRESS: + return "FLAGGED_IP_ADDRESS"; + case IndicatorType::NEW_GEOLOCATION: + return "NEW_GEOLOCATION"; + case IndicatorType::NEW_ASO: + return "NEW_ASO"; + case IndicatorType::NEW_USER_AGENT: + return "NEW_USER_AGENT"; + case IndicatorType::RELATED_FINDING: + return "RELATED_FINDING"; + case IndicatorType::RELATED_FINDING_GROUP: + return "RELATED_FINDING_GROUP"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace IndicatorTypeMapper + } // namespace Model + } // namespace Detective +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-detective/source/model/InvestigationDetail.cpp b/generated/src/aws-cpp-sdk-detective/source/model/InvestigationDetail.cpp new file mode 100644 index 00000000000..510b041847f --- /dev/null +++ b/generated/src/aws-cpp-sdk-detective/source/model/InvestigationDetail.cpp @@ -0,0 +1,152 @@ +/** + * 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 Detective +{ +namespace Model +{ + +InvestigationDetail::InvestigationDetail() : + m_investigationIdHasBeenSet(false), + m_severity(Severity::NOT_SET), + m_severityHasBeenSet(false), + m_status(Status::NOT_SET), + m_statusHasBeenSet(false), + m_state(State::NOT_SET), + m_stateHasBeenSet(false), + m_createdTimeHasBeenSet(false), + m_entityArnHasBeenSet(false), + m_entityType(EntityType::NOT_SET), + m_entityTypeHasBeenSet(false) +{ +} + +InvestigationDetail::InvestigationDetail(JsonView jsonValue) : + m_investigationIdHasBeenSet(false), + m_severity(Severity::NOT_SET), + m_severityHasBeenSet(false), + m_status(Status::NOT_SET), + m_statusHasBeenSet(false), + m_state(State::NOT_SET), + m_stateHasBeenSet(false), + m_createdTimeHasBeenSet(false), + m_entityArnHasBeenSet(false), + m_entityType(EntityType::NOT_SET), + m_entityTypeHasBeenSet(false) +{ + *this = jsonValue; +} + +InvestigationDetail& InvestigationDetail::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("InvestigationId")) + { + m_investigationId = jsonValue.GetString("InvestigationId"); + + m_investigationIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("Severity")) + { + m_severity = SeverityMapper::GetSeverityForName(jsonValue.GetString("Severity")); + + m_severityHasBeenSet = true; + } + + if(jsonValue.ValueExists("Status")) + { + m_status = StatusMapper::GetStatusForName(jsonValue.GetString("Status")); + + m_statusHasBeenSet = true; + } + + if(jsonValue.ValueExists("State")) + { + m_state = StateMapper::GetStateForName(jsonValue.GetString("State")); + + m_stateHasBeenSet = true; + } + + if(jsonValue.ValueExists("CreatedTime")) + { + m_createdTime = jsonValue.GetString("CreatedTime"); + + m_createdTimeHasBeenSet = true; + } + + if(jsonValue.ValueExists("EntityArn")) + { + m_entityArn = jsonValue.GetString("EntityArn"); + + m_entityArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("EntityType")) + { + m_entityType = EntityTypeMapper::GetEntityTypeForName(jsonValue.GetString("EntityType")); + + m_entityTypeHasBeenSet = true; + } + + return *this; +} + +JsonValue InvestigationDetail::Jsonize() const +{ + JsonValue payload; + + if(m_investigationIdHasBeenSet) + { + payload.WithString("InvestigationId", m_investigationId); + + } + + if(m_severityHasBeenSet) + { + payload.WithString("Severity", SeverityMapper::GetNameForSeverity(m_severity)); + } + + if(m_statusHasBeenSet) + { + payload.WithString("Status", StatusMapper::GetNameForStatus(m_status)); + } + + if(m_stateHasBeenSet) + { + payload.WithString("State", StateMapper::GetNameForState(m_state)); + } + + if(m_createdTimeHasBeenSet) + { + payload.WithString("CreatedTime", m_createdTime.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + if(m_entityArnHasBeenSet) + { + payload.WithString("EntityArn", m_entityArn); + + } + + if(m_entityTypeHasBeenSet) + { + payload.WithString("EntityType", EntityTypeMapper::GetNameForEntityType(m_entityType)); + } + + return payload; +} + +} // namespace Model +} // namespace Detective +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-detective/source/model/ListIndicatorsRequest.cpp b/generated/src/aws-cpp-sdk-detective/source/model/ListIndicatorsRequest.cpp new file mode 100644 index 00000000000..43fd59d149c --- /dev/null +++ b/generated/src/aws-cpp-sdk-detective/source/model/ListIndicatorsRequest.cpp @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Detective::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +ListIndicatorsRequest::ListIndicatorsRequest() : + m_graphArnHasBeenSet(false), + m_investigationIdHasBeenSet(false), + m_indicatorType(IndicatorType::NOT_SET), + m_indicatorTypeHasBeenSet(false), + m_nextTokenHasBeenSet(false), + m_maxResults(0), + m_maxResultsHasBeenSet(false) +{ +} + +Aws::String ListIndicatorsRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_graphArnHasBeenSet) + { + payload.WithString("GraphArn", m_graphArn); + + } + + if(m_investigationIdHasBeenSet) + { + payload.WithString("InvestigationId", m_investigationId); + + } + + if(m_indicatorTypeHasBeenSet) + { + payload.WithString("IndicatorType", IndicatorTypeMapper::GetNameForIndicatorType(m_indicatorType)); + } + + if(m_nextTokenHasBeenSet) + { + payload.WithString("NextToken", m_nextToken); + + } + + if(m_maxResultsHasBeenSet) + { + payload.WithInteger("MaxResults", m_maxResults); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-detective/source/model/ListIndicatorsResult.cpp b/generated/src/aws-cpp-sdk-detective/source/model/ListIndicatorsResult.cpp new file mode 100644 index 00000000000..0570396f030 --- /dev/null +++ b/generated/src/aws-cpp-sdk-detective/source/model/ListIndicatorsResult.cpp @@ -0,0 +1,69 @@ +/** + * 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::Detective::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListIndicatorsResult::ListIndicatorsResult() +{ +} + +ListIndicatorsResult::ListIndicatorsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListIndicatorsResult& ListIndicatorsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("GraphArn")) + { + m_graphArn = jsonValue.GetString("GraphArn"); + + } + + if(jsonValue.ValueExists("InvestigationId")) + { + m_investigationId = jsonValue.GetString("InvestigationId"); + + } + + if(jsonValue.ValueExists("NextToken")) + { + m_nextToken = jsonValue.GetString("NextToken"); + + } + + if(jsonValue.ValueExists("Indicators")) + { + Aws::Utils::Array indicatorsJsonList = jsonValue.GetArray("Indicators"); + for(unsigned indicatorsIndex = 0; indicatorsIndex < indicatorsJsonList.GetLength(); ++indicatorsIndex) + { + m_indicators.push_back(indicatorsJsonList[indicatorsIndex].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-detective/source/model/ListInvestigationsRequest.cpp b/generated/src/aws-cpp-sdk-detective/source/model/ListInvestigationsRequest.cpp new file mode 100644 index 00000000000..96248f709f9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-detective/source/model/ListInvestigationsRequest.cpp @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Detective::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +ListInvestigationsRequest::ListInvestigationsRequest() : + m_graphArnHasBeenSet(false), + m_nextTokenHasBeenSet(false), + m_maxResults(0), + m_maxResultsHasBeenSet(false), + m_filterCriteriaHasBeenSet(false), + m_sortCriteriaHasBeenSet(false) +{ +} + +Aws::String ListInvestigationsRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_graphArnHasBeenSet) + { + payload.WithString("GraphArn", m_graphArn); + + } + + if(m_nextTokenHasBeenSet) + { + payload.WithString("NextToken", m_nextToken); + + } + + if(m_maxResultsHasBeenSet) + { + payload.WithInteger("MaxResults", m_maxResults); + + } + + if(m_filterCriteriaHasBeenSet) + { + payload.WithObject("FilterCriteria", m_filterCriteria.Jsonize()); + + } + + if(m_sortCriteriaHasBeenSet) + { + payload.WithObject("SortCriteria", m_sortCriteria.Jsonize()); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-detective/source/model/ListInvestigationsResult.cpp b/generated/src/aws-cpp-sdk-detective/source/model/ListInvestigationsResult.cpp new file mode 100644 index 00000000000..21b62a8f204 --- /dev/null +++ b/generated/src/aws-cpp-sdk-detective/source/model/ListInvestigationsResult.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::Detective::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListInvestigationsResult::ListInvestigationsResult() +{ +} + +ListInvestigationsResult::ListInvestigationsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListInvestigationsResult& ListInvestigationsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("InvestigationDetails")) + { + Aws::Utils::Array investigationDetailsJsonList = jsonValue.GetArray("InvestigationDetails"); + for(unsigned investigationDetailsIndex = 0; investigationDetailsIndex < investigationDetailsJsonList.GetLength(); ++investigationDetailsIndex) + { + m_investigationDetails.push_back(investigationDetailsJsonList[investigationDetailsIndex].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-detective/source/model/NewAsoDetail.cpp b/generated/src/aws-cpp-sdk-detective/source/model/NewAsoDetail.cpp new file mode 100644 index 00000000000..5103b491530 --- /dev/null +++ b/generated/src/aws-cpp-sdk-detective/source/model/NewAsoDetail.cpp @@ -0,0 +1,76 @@ +/** + * 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 Detective +{ +namespace Model +{ + +NewAsoDetail::NewAsoDetail() : + m_asoHasBeenSet(false), + m_isNewForEntireAccount(false), + m_isNewForEntireAccountHasBeenSet(false) +{ +} + +NewAsoDetail::NewAsoDetail(JsonView jsonValue) : + m_asoHasBeenSet(false), + m_isNewForEntireAccount(false), + m_isNewForEntireAccountHasBeenSet(false) +{ + *this = jsonValue; +} + +NewAsoDetail& NewAsoDetail::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Aso")) + { + m_aso = jsonValue.GetString("Aso"); + + m_asoHasBeenSet = true; + } + + if(jsonValue.ValueExists("IsNewForEntireAccount")) + { + m_isNewForEntireAccount = jsonValue.GetBool("IsNewForEntireAccount"); + + m_isNewForEntireAccountHasBeenSet = true; + } + + return *this; +} + +JsonValue NewAsoDetail::Jsonize() const +{ + JsonValue payload; + + if(m_asoHasBeenSet) + { + payload.WithString("Aso", m_aso); + + } + + if(m_isNewForEntireAccountHasBeenSet) + { + payload.WithBool("IsNewForEntireAccount", m_isNewForEntireAccount); + + } + + return payload; +} + +} // namespace Model +} // namespace Detective +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-detective/source/model/NewGeolocationDetail.cpp b/generated/src/aws-cpp-sdk-detective/source/model/NewGeolocationDetail.cpp new file mode 100644 index 00000000000..0985abc82e9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-detective/source/model/NewGeolocationDetail.cpp @@ -0,0 +1,91 @@ +/** + * 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 Detective +{ +namespace Model +{ + +NewGeolocationDetail::NewGeolocationDetail() : + m_locationHasBeenSet(false), + m_ipAddressHasBeenSet(false), + m_isNewForEntireAccount(false), + m_isNewForEntireAccountHasBeenSet(false) +{ +} + +NewGeolocationDetail::NewGeolocationDetail(JsonView jsonValue) : + m_locationHasBeenSet(false), + m_ipAddressHasBeenSet(false), + m_isNewForEntireAccount(false), + m_isNewForEntireAccountHasBeenSet(false) +{ + *this = jsonValue; +} + +NewGeolocationDetail& NewGeolocationDetail::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Location")) + { + m_location = jsonValue.GetString("Location"); + + m_locationHasBeenSet = true; + } + + if(jsonValue.ValueExists("IpAddress")) + { + m_ipAddress = jsonValue.GetString("IpAddress"); + + m_ipAddressHasBeenSet = true; + } + + if(jsonValue.ValueExists("IsNewForEntireAccount")) + { + m_isNewForEntireAccount = jsonValue.GetBool("IsNewForEntireAccount"); + + m_isNewForEntireAccountHasBeenSet = true; + } + + return *this; +} + +JsonValue NewGeolocationDetail::Jsonize() const +{ + JsonValue payload; + + if(m_locationHasBeenSet) + { + payload.WithString("Location", m_location); + + } + + if(m_ipAddressHasBeenSet) + { + payload.WithString("IpAddress", m_ipAddress); + + } + + if(m_isNewForEntireAccountHasBeenSet) + { + payload.WithBool("IsNewForEntireAccount", m_isNewForEntireAccount); + + } + + return payload; +} + +} // namespace Model +} // namespace Detective +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-detective/source/model/NewUserAgentDetail.cpp b/generated/src/aws-cpp-sdk-detective/source/model/NewUserAgentDetail.cpp new file mode 100644 index 00000000000..9274ace59cc --- /dev/null +++ b/generated/src/aws-cpp-sdk-detective/source/model/NewUserAgentDetail.cpp @@ -0,0 +1,76 @@ +/** + * 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 Detective +{ +namespace Model +{ + +NewUserAgentDetail::NewUserAgentDetail() : + m_userAgentHasBeenSet(false), + m_isNewForEntireAccount(false), + m_isNewForEntireAccountHasBeenSet(false) +{ +} + +NewUserAgentDetail::NewUserAgentDetail(JsonView jsonValue) : + m_userAgentHasBeenSet(false), + m_isNewForEntireAccount(false), + m_isNewForEntireAccountHasBeenSet(false) +{ + *this = jsonValue; +} + +NewUserAgentDetail& NewUserAgentDetail::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("UserAgent")) + { + m_userAgent = jsonValue.GetString("UserAgent"); + + m_userAgentHasBeenSet = true; + } + + if(jsonValue.ValueExists("IsNewForEntireAccount")) + { + m_isNewForEntireAccount = jsonValue.GetBool("IsNewForEntireAccount"); + + m_isNewForEntireAccountHasBeenSet = true; + } + + return *this; +} + +JsonValue NewUserAgentDetail::Jsonize() const +{ + JsonValue payload; + + if(m_userAgentHasBeenSet) + { + payload.WithString("UserAgent", m_userAgent); + + } + + if(m_isNewForEntireAccountHasBeenSet) + { + payload.WithBool("IsNewForEntireAccount", m_isNewForEntireAccount); + + } + + return payload; +} + +} // namespace Model +} // namespace Detective +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-detective/source/model/Reason.cpp b/generated/src/aws-cpp-sdk-detective/source/model/Reason.cpp new file mode 100644 index 00000000000..aca50522966 --- /dev/null +++ b/generated/src/aws-cpp-sdk-detective/source/model/Reason.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 Detective + { + namespace Model + { + namespace ReasonMapper + { + + static const int AWS_THREAT_INTELLIGENCE_HASH = HashingUtils::HashString("AWS_THREAT_INTELLIGENCE"); + + + Reason GetReasonForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == AWS_THREAT_INTELLIGENCE_HASH) + { + return Reason::AWS_THREAT_INTELLIGENCE; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return Reason::NOT_SET; + } + + Aws::String GetNameForReason(Reason enumValue) + { + switch(enumValue) + { + case Reason::NOT_SET: + return {}; + case Reason::AWS_THREAT_INTELLIGENCE: + return "AWS_THREAT_INTELLIGENCE"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ReasonMapper + } // namespace Model + } // namespace Detective +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-detective/source/model/RelatedFindingDetail.cpp b/generated/src/aws-cpp-sdk-detective/source/model/RelatedFindingDetail.cpp new file mode 100644 index 00000000000..2781ce97459 --- /dev/null +++ b/generated/src/aws-cpp-sdk-detective/source/model/RelatedFindingDetail.cpp @@ -0,0 +1,89 @@ +/** + * 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 Detective +{ +namespace Model +{ + +RelatedFindingDetail::RelatedFindingDetail() : + m_arnHasBeenSet(false), + m_typeHasBeenSet(false), + m_ipAddressHasBeenSet(false) +{ +} + +RelatedFindingDetail::RelatedFindingDetail(JsonView jsonValue) : + m_arnHasBeenSet(false), + m_typeHasBeenSet(false), + m_ipAddressHasBeenSet(false) +{ + *this = jsonValue; +} + +RelatedFindingDetail& RelatedFindingDetail::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Arn")) + { + m_arn = jsonValue.GetString("Arn"); + + m_arnHasBeenSet = true; + } + + if(jsonValue.ValueExists("Type")) + { + m_type = jsonValue.GetString("Type"); + + m_typeHasBeenSet = true; + } + + if(jsonValue.ValueExists("IpAddress")) + { + m_ipAddress = jsonValue.GetString("IpAddress"); + + m_ipAddressHasBeenSet = true; + } + + return *this; +} + +JsonValue RelatedFindingDetail::Jsonize() const +{ + JsonValue payload; + + if(m_arnHasBeenSet) + { + payload.WithString("Arn", m_arn); + + } + + if(m_typeHasBeenSet) + { + payload.WithString("Type", m_type); + + } + + if(m_ipAddressHasBeenSet) + { + payload.WithString("IpAddress", m_ipAddress); + + } + + return payload; +} + +} // namespace Model +} // namespace Detective +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-detective/source/model/RelatedFindingGroupDetail.cpp b/generated/src/aws-cpp-sdk-detective/source/model/RelatedFindingGroupDetail.cpp new file mode 100644 index 00000000000..2cce81847e5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-detective/source/model/RelatedFindingGroupDetail.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 Detective +{ +namespace Model +{ + +RelatedFindingGroupDetail::RelatedFindingGroupDetail() : + m_idHasBeenSet(false) +{ +} + +RelatedFindingGroupDetail::RelatedFindingGroupDetail(JsonView jsonValue) : + m_idHasBeenSet(false) +{ + *this = jsonValue; +} + +RelatedFindingGroupDetail& RelatedFindingGroupDetail::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Id")) + { + m_id = jsonValue.GetString("Id"); + + m_idHasBeenSet = true; + } + + return *this; +} + +JsonValue RelatedFindingGroupDetail::Jsonize() const +{ + JsonValue payload; + + if(m_idHasBeenSet) + { + payload.WithString("Id", m_id); + + } + + return payload; +} + +} // namespace Model +} // namespace Detective +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-detective/source/model/Severity.cpp b/generated/src/aws-cpp-sdk-detective/source/model/Severity.cpp new file mode 100644 index 00000000000..122a3364e24 --- /dev/null +++ b/generated/src/aws-cpp-sdk-detective/source/model/Severity.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 Detective + { + namespace Model + { + namespace SeverityMapper + { + + static const int INFORMATIONAL_HASH = HashingUtils::HashString("INFORMATIONAL"); + static const int LOW_HASH = HashingUtils::HashString("LOW"); + static const int MEDIUM_HASH = HashingUtils::HashString("MEDIUM"); + static const int HIGH_HASH = HashingUtils::HashString("HIGH"); + static const int CRITICAL_HASH = HashingUtils::HashString("CRITICAL"); + + + Severity GetSeverityForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == INFORMATIONAL_HASH) + { + return Severity::INFORMATIONAL; + } + else if (hashCode == LOW_HASH) + { + return Severity::LOW; + } + else if (hashCode == MEDIUM_HASH) + { + return Severity::MEDIUM; + } + else if (hashCode == HIGH_HASH) + { + return Severity::HIGH; + } + else if (hashCode == CRITICAL_HASH) + { + return Severity::CRITICAL; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return Severity::NOT_SET; + } + + Aws::String GetNameForSeverity(Severity enumValue) + { + switch(enumValue) + { + case Severity::NOT_SET: + return {}; + case Severity::INFORMATIONAL: + return "INFORMATIONAL"; + case Severity::LOW: + return "LOW"; + case Severity::MEDIUM: + return "MEDIUM"; + case Severity::HIGH: + return "HIGH"; + case Severity::CRITICAL: + return "CRITICAL"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace SeverityMapper + } // namespace Model + } // namespace Detective +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-detective/source/model/SortCriteria.cpp b/generated/src/aws-cpp-sdk-detective/source/model/SortCriteria.cpp new file mode 100644 index 00000000000..11a1467b90b --- /dev/null +++ b/generated/src/aws-cpp-sdk-detective/source/model/SortCriteria.cpp @@ -0,0 +1,76 @@ +/** + * 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 Detective +{ +namespace Model +{ + +SortCriteria::SortCriteria() : + m_field(Field::NOT_SET), + m_fieldHasBeenSet(false), + m_sortOrder(SortOrder::NOT_SET), + m_sortOrderHasBeenSet(false) +{ +} + +SortCriteria::SortCriteria(JsonView jsonValue) : + m_field(Field::NOT_SET), + m_fieldHasBeenSet(false), + m_sortOrder(SortOrder::NOT_SET), + m_sortOrderHasBeenSet(false) +{ + *this = jsonValue; +} + +SortCriteria& SortCriteria::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Field")) + { + m_field = FieldMapper::GetFieldForName(jsonValue.GetString("Field")); + + m_fieldHasBeenSet = true; + } + + if(jsonValue.ValueExists("SortOrder")) + { + m_sortOrder = SortOrderMapper::GetSortOrderForName(jsonValue.GetString("SortOrder")); + + m_sortOrderHasBeenSet = true; + } + + return *this; +} + +JsonValue SortCriteria::Jsonize() const +{ + JsonValue payload; + + if(m_fieldHasBeenSet) + { + payload.WithString("Field", FieldMapper::GetNameForField(m_field)); + } + + if(m_sortOrderHasBeenSet) + { + payload.WithString("SortOrder", SortOrderMapper::GetNameForSortOrder(m_sortOrder)); + } + + return payload; +} + +} // namespace Model +} // namespace Detective +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-detective/source/model/SortOrder.cpp b/generated/src/aws-cpp-sdk-detective/source/model/SortOrder.cpp new file mode 100644 index 00000000000..19db9f43edb --- /dev/null +++ b/generated/src/aws-cpp-sdk-detective/source/model/SortOrder.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 Detective + { + namespace Model + { + namespace SortOrderMapper + { + + static const int ASC_HASH = HashingUtils::HashString("ASC"); + static const int DESC_HASH = HashingUtils::HashString("DESC"); + + + SortOrder GetSortOrderForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == ASC_HASH) + { + return SortOrder::ASC; + } + else if (hashCode == DESC_HASH) + { + return SortOrder::DESC; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return SortOrder::NOT_SET; + } + + Aws::String GetNameForSortOrder(SortOrder enumValue) + { + switch(enumValue) + { + case SortOrder::NOT_SET: + return {}; + case SortOrder::ASC: + return "ASC"; + case SortOrder::DESC: + return "DESC"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace SortOrderMapper + } // namespace Model + } // namespace Detective +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-detective/source/model/StartInvestigationRequest.cpp b/generated/src/aws-cpp-sdk-detective/source/model/StartInvestigationRequest.cpp new file mode 100644 index 00000000000..074ccd5167d --- /dev/null +++ b/generated/src/aws-cpp-sdk-detective/source/model/StartInvestigationRequest.cpp @@ -0,0 +1,54 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Detective::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +StartInvestigationRequest::StartInvestigationRequest() : + m_graphArnHasBeenSet(false), + m_entityArnHasBeenSet(false), + m_scopeStartTimeHasBeenSet(false), + m_scopeEndTimeHasBeenSet(false) +{ +} + +Aws::String StartInvestigationRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_graphArnHasBeenSet) + { + payload.WithString("GraphArn", m_graphArn); + + } + + if(m_entityArnHasBeenSet) + { + payload.WithString("EntityArn", m_entityArn); + + } + + if(m_scopeStartTimeHasBeenSet) + { + payload.WithString("ScopeStartTime", m_scopeStartTime.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + if(m_scopeEndTimeHasBeenSet) + { + payload.WithString("ScopeEndTime", m_scopeEndTime.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-detective/source/model/StartInvestigationResult.cpp b/generated/src/aws-cpp-sdk-detective/source/model/StartInvestigationResult.cpp new file mode 100644 index 00000000000..433b64d4f7a --- /dev/null +++ b/generated/src/aws-cpp-sdk-detective/source/model/StartInvestigationResult.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::Detective::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +StartInvestigationResult::StartInvestigationResult() +{ +} + +StartInvestigationResult::StartInvestigationResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +StartInvestigationResult& StartInvestigationResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("InvestigationId")) + { + m_investigationId = jsonValue.GetString("InvestigationId"); + + } + + + 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-detective/source/model/State.cpp b/generated/src/aws-cpp-sdk-detective/source/model/State.cpp new file mode 100644 index 00000000000..dcbaed9dde1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-detective/source/model/State.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 Detective + { + namespace Model + { + namespace StateMapper + { + + static const int ACTIVE_HASH = HashingUtils::HashString("ACTIVE"); + static const int ARCHIVED_HASH = HashingUtils::HashString("ARCHIVED"); + + + State GetStateForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == ACTIVE_HASH) + { + return State::ACTIVE; + } + else if (hashCode == ARCHIVED_HASH) + { + return State::ARCHIVED; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return State::NOT_SET; + } + + Aws::String GetNameForState(State enumValue) + { + switch(enumValue) + { + case State::NOT_SET: + return {}; + case State::ACTIVE: + return "ACTIVE"; + case State::ARCHIVED: + return "ARCHIVED"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace StateMapper + } // namespace Model + } // namespace Detective +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-detective/source/model/Status.cpp b/generated/src/aws-cpp-sdk-detective/source/model/Status.cpp new file mode 100644 index 00000000000..51e21af860a --- /dev/null +++ b/generated/src/aws-cpp-sdk-detective/source/model/Status.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 Detective + { + namespace Model + { + namespace StatusMapper + { + + static const int RUNNING_HASH = HashingUtils::HashString("RUNNING"); + static const int FAILED_HASH = HashingUtils::HashString("FAILED"); + static const int SUCCESSFUL_HASH = HashingUtils::HashString("SUCCESSFUL"); + + + Status GetStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == RUNNING_HASH) + { + return Status::RUNNING; + } + else if (hashCode == FAILED_HASH) + { + return Status::FAILED; + } + else if (hashCode == SUCCESSFUL_HASH) + { + return Status::SUCCESSFUL; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return Status::NOT_SET; + } + + Aws::String GetNameForStatus(Status enumValue) + { + switch(enumValue) + { + case Status::NOT_SET: + return {}; + case Status::RUNNING: + return "RUNNING"; + case Status::FAILED: + return "FAILED"; + case Status::SUCCESSFUL: + return "SUCCESSFUL"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace StatusMapper + } // namespace Model + } // namespace Detective +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-detective/source/model/StringFilter.cpp b/generated/src/aws-cpp-sdk-detective/source/model/StringFilter.cpp new file mode 100644 index 00000000000..650e72bf952 --- /dev/null +++ b/generated/src/aws-cpp-sdk-detective/source/model/StringFilter.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 Detective +{ +namespace Model +{ + +StringFilter::StringFilter() : + m_valueHasBeenSet(false) +{ +} + +StringFilter::StringFilter(JsonView jsonValue) : + m_valueHasBeenSet(false) +{ + *this = jsonValue; +} + +StringFilter& StringFilter::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Value")) + { + m_value = jsonValue.GetString("Value"); + + m_valueHasBeenSet = true; + } + + return *this; +} + +JsonValue StringFilter::Jsonize() const +{ + JsonValue payload; + + if(m_valueHasBeenSet) + { + payload.WithString("Value", m_value); + + } + + return payload; +} + +} // namespace Model +} // namespace Detective +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-detective/source/model/TTPsObservedDetail.cpp b/generated/src/aws-cpp-sdk-detective/source/model/TTPsObservedDetail.cpp new file mode 100644 index 00000000000..fadd3992570 --- /dev/null +++ b/generated/src/aws-cpp-sdk-detective/source/model/TTPsObservedDetail.cpp @@ -0,0 +1,153 @@ +/** + * 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 Detective +{ +namespace Model +{ + +TTPsObservedDetail::TTPsObservedDetail() : + m_tacticHasBeenSet(false), + m_techniqueHasBeenSet(false), + m_procedureHasBeenSet(false), + m_ipAddressHasBeenSet(false), + m_aPINameHasBeenSet(false), + m_aPISuccessCount(0), + m_aPISuccessCountHasBeenSet(false), + m_aPIFailureCount(0), + m_aPIFailureCountHasBeenSet(false) +{ +} + +TTPsObservedDetail::TTPsObservedDetail(JsonView jsonValue) : + m_tacticHasBeenSet(false), + m_techniqueHasBeenSet(false), + m_procedureHasBeenSet(false), + m_ipAddressHasBeenSet(false), + m_aPINameHasBeenSet(false), + m_aPISuccessCount(0), + m_aPISuccessCountHasBeenSet(false), + m_aPIFailureCount(0), + m_aPIFailureCountHasBeenSet(false) +{ + *this = jsonValue; +} + +TTPsObservedDetail& TTPsObservedDetail::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Tactic")) + { + m_tactic = jsonValue.GetString("Tactic"); + + m_tacticHasBeenSet = true; + } + + if(jsonValue.ValueExists("Technique")) + { + m_technique = jsonValue.GetString("Technique"); + + m_techniqueHasBeenSet = true; + } + + if(jsonValue.ValueExists("Procedure")) + { + m_procedure = jsonValue.GetString("Procedure"); + + m_procedureHasBeenSet = true; + } + + if(jsonValue.ValueExists("IpAddress")) + { + m_ipAddress = jsonValue.GetString("IpAddress"); + + m_ipAddressHasBeenSet = true; + } + + if(jsonValue.ValueExists("APIName")) + { + m_aPIName = jsonValue.GetString("APIName"); + + m_aPINameHasBeenSet = true; + } + + if(jsonValue.ValueExists("APISuccessCount")) + { + m_aPISuccessCount = jsonValue.GetInt64("APISuccessCount"); + + m_aPISuccessCountHasBeenSet = true; + } + + if(jsonValue.ValueExists("APIFailureCount")) + { + m_aPIFailureCount = jsonValue.GetInt64("APIFailureCount"); + + m_aPIFailureCountHasBeenSet = true; + } + + return *this; +} + +JsonValue TTPsObservedDetail::Jsonize() const +{ + JsonValue payload; + + if(m_tacticHasBeenSet) + { + payload.WithString("Tactic", m_tactic); + + } + + if(m_techniqueHasBeenSet) + { + payload.WithString("Technique", m_technique); + + } + + if(m_procedureHasBeenSet) + { + payload.WithString("Procedure", m_procedure); + + } + + if(m_ipAddressHasBeenSet) + { + payload.WithString("IpAddress", m_ipAddress); + + } + + if(m_aPINameHasBeenSet) + { + payload.WithString("APIName", m_aPIName); + + } + + if(m_aPISuccessCountHasBeenSet) + { + payload.WithInt64("APISuccessCount", m_aPISuccessCount); + + } + + if(m_aPIFailureCountHasBeenSet) + { + payload.WithInt64("APIFailureCount", m_aPIFailureCount); + + } + + return payload; +} + +} // namespace Model +} // namespace Detective +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-detective/source/model/UpdateInvestigationStateRequest.cpp b/generated/src/aws-cpp-sdk-detective/source/model/UpdateInvestigationStateRequest.cpp new file mode 100644 index 00000000000..0dc5ab7231a --- /dev/null +++ b/generated/src/aws-cpp-sdk-detective/source/model/UpdateInvestigationStateRequest.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Detective::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +UpdateInvestigationStateRequest::UpdateInvestigationStateRequest() : + m_graphArnHasBeenSet(false), + m_investigationIdHasBeenSet(false), + m_state(State::NOT_SET), + m_stateHasBeenSet(false) +{ +} + +Aws::String UpdateInvestigationStateRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_graphArnHasBeenSet) + { + payload.WithString("GraphArn", m_graphArn); + + } + + if(m_investigationIdHasBeenSet) + { + payload.WithString("InvestigationId", m_investigationId); + + } + + if(m_stateHasBeenSet) + { + payload.WithString("State", StateMapper::GetNameForState(m_state)); + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/ECSClient.h b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/ECSClient.h index 46fc52a6f71..dae87fd7e92 100644 --- a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/ECSClient.h +++ b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/ECSClient.h @@ -30,7 +30,7 @@ namespace ECS * resource needs, isolation policies, and availability requirements. With Amazon * ECS, you don't need to operate your own cluster management and configuration * management systems. You also don't need to worry about scaling your management - * infrastructure.

                + * infrastructure.

                */ class AWS_ECS_API ECSClient : public Aws::Client::AWSJsonClient, public Aws::Client::ClientWithAsyncTemplateMethods { @@ -1234,7 +1234,14 @@ namespace ECS * Amazon * Web Services Fargate task maintenance in the Amazon ECS Developer - * Guide.

                See Also:

                .

                The guardDutyActivate parameter is read-only in + * Amazon ECS and indicates whether Amazon ECS Runtime Monitoring is enabled or + * disabled by your security administrator in your Amazon ECS account. Amazon + * GuardDuty controls this account setting on your behalf. For more information, + * see Protecting + * Amazon ECS workloads with Amazon ECS Runtime Monitoring.

                See + * Also:

                AWS * API Reference

                */ diff --git a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/PutAccountSettingDefaultRequest.h b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/PutAccountSettingDefaultRequest.h index 71c0f788eb3..3c416a35374 100644 --- a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/PutAccountSettingDefaultRequest.h +++ b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/PutAccountSettingDefaultRequest.h @@ -67,7 +67,13 @@ namespace Model * maintenance, see Amazon * Web Services Fargate task maintenance in the Amazon ECS Developer - * Guide.

                + * Guide.

                The guardDutyActivate parameter is read-only in + * Amazon ECS and indicates whether Amazon ECS Runtime Monitoring is enabled or + * disabled by your security administrator in your Amazon ECS account. Amazon + * GuardDuty controls this account setting on your behalf. For more information, + * see Protecting + * Amazon ECS workloads with Amazon ECS Runtime Monitoring.

                */ inline const SettingName& GetName() const{ return m_name; } @@ -103,7 +109,13 @@ namespace Model * maintenance, see Amazon * Web Services Fargate task maintenance in the Amazon ECS Developer - * Guide.

                + * Guide.

                The guardDutyActivate parameter is read-only in + * Amazon ECS and indicates whether Amazon ECS Runtime Monitoring is enabled or + * disabled by your security administrator in your Amazon ECS account. Amazon + * GuardDuty controls this account setting on your behalf. For more information, + * see Protecting + * Amazon ECS workloads with Amazon ECS Runtime Monitoring.

                */ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } @@ -139,7 +151,13 @@ namespace Model * maintenance, see Amazon * Web Services Fargate task maintenance in the Amazon ECS Developer - * Guide.

                + * Guide.

                The guardDutyActivate parameter is read-only in + * Amazon ECS and indicates whether Amazon ECS Runtime Monitoring is enabled or + * disabled by your security administrator in your Amazon ECS account. Amazon + * GuardDuty controls this account setting on your behalf. For more information, + * see Protecting + * Amazon ECS workloads with Amazon ECS Runtime Monitoring.

                */ inline void SetName(const SettingName& value) { m_nameHasBeenSet = true; m_name = value; } @@ -175,7 +193,13 @@ namespace Model * maintenance, see Amazon * Web Services Fargate task maintenance in the Amazon ECS Developer - * Guide.

                + * Guide.

                The guardDutyActivate parameter is read-only in + * Amazon ECS and indicates whether Amazon ECS Runtime Monitoring is enabled or + * disabled by your security administrator in your Amazon ECS account. Amazon + * GuardDuty controls this account setting on your behalf. For more information, + * see Protecting + * Amazon ECS workloads with Amazon ECS Runtime Monitoring.

                */ inline void SetName(SettingName&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } @@ -211,7 +235,13 @@ namespace Model * maintenance, see Amazon * Web Services Fargate task maintenance in the Amazon ECS Developer - * Guide.

                + * Guide.

                The guardDutyActivate parameter is read-only in + * Amazon ECS and indicates whether Amazon ECS Runtime Monitoring is enabled or + * disabled by your security administrator in your Amazon ECS account. Amazon + * GuardDuty controls this account setting on your behalf. For more information, + * see Protecting + * Amazon ECS workloads with Amazon ECS Runtime Monitoring.

                */ inline PutAccountSettingDefaultRequest& WithName(const SettingName& value) { SetName(value); return *this;} @@ -247,7 +277,13 @@ namespace Model * maintenance, see Amazon * Web Services Fargate task maintenance in the Amazon ECS Developer - * Guide.

                + * Guide.

                The guardDutyActivate parameter is read-only in + * Amazon ECS and indicates whether Amazon ECS Runtime Monitoring is enabled or + * disabled by your security administrator in your Amazon ECS account. Amazon + * GuardDuty controls this account setting on your behalf. For more information, + * see Protecting + * Amazon ECS workloads with Amazon ECS Runtime Monitoring.

                */ inline PutAccountSettingDefaultRequest& WithName(SettingName&& value) { SetName(std::move(value)); return *this;} diff --git a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/PutAccountSettingRequest.h b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/PutAccountSettingRequest.h index 52a64e9f25d..55db720c32f 100644 --- a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/PutAccountSettingRequest.h +++ b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/PutAccountSettingRequest.h @@ -53,7 +53,13 @@ namespace Model * href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-account-settings.html#tag-resources">Tagging * authorization timeline in the Amazon ECS Developer Guide. If you * specify fargateTaskRetirementWaitPeriod, the wait time to retire a - * Fargate task is affected.

                + * Fargate task is affected.

                The guardDutyActivate parameter is + * read-only in Amazon ECS and indicates whether Amazon ECS Runtime Monitoring is + * enabled or disabled by your security administrator in your Amazon ECS account. + * Amazon GuardDuty controls this account setting on your behalf. For more + * information, see Protecting + * Amazon ECS workloads with Amazon ECS Runtime Monitoring.

                */ inline const SettingName& GetName() const{ return m_name; } @@ -75,7 +81,13 @@ namespace Model * href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-account-settings.html#tag-resources">Tagging * authorization timeline in the Amazon ECS Developer Guide. If you * specify fargateTaskRetirementWaitPeriod, the wait time to retire a - * Fargate task is affected.

                + * Fargate task is affected.

                The guardDutyActivate parameter is + * read-only in Amazon ECS and indicates whether Amazon ECS Runtime Monitoring is + * enabled or disabled by your security administrator in your Amazon ECS account. + * Amazon GuardDuty controls this account setting on your behalf. For more + * information, see Protecting + * Amazon ECS workloads with Amazon ECS Runtime Monitoring.

                */ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } @@ -97,7 +109,13 @@ namespace Model * href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-account-settings.html#tag-resources">Tagging * authorization timeline in the Amazon ECS Developer Guide. If you * specify fargateTaskRetirementWaitPeriod, the wait time to retire a - * Fargate task is affected.

                + * Fargate task is affected.

                The guardDutyActivate parameter is + * read-only in Amazon ECS and indicates whether Amazon ECS Runtime Monitoring is + * enabled or disabled by your security administrator in your Amazon ECS account. + * Amazon GuardDuty controls this account setting on your behalf. For more + * information, see Protecting + * Amazon ECS workloads with Amazon ECS Runtime Monitoring.

                */ inline void SetName(const SettingName& value) { m_nameHasBeenSet = true; m_name = value; } @@ -119,7 +137,13 @@ namespace Model * href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-account-settings.html#tag-resources">Tagging * authorization timeline in the Amazon ECS Developer Guide. If you * specify fargateTaskRetirementWaitPeriod, the wait time to retire a - * Fargate task is affected.

                + * Fargate task is affected.

                The guardDutyActivate parameter is + * read-only in Amazon ECS and indicates whether Amazon ECS Runtime Monitoring is + * enabled or disabled by your security administrator in your Amazon ECS account. + * Amazon GuardDuty controls this account setting on your behalf. For more + * information, see Protecting + * Amazon ECS workloads with Amazon ECS Runtime Monitoring.

                */ inline void SetName(SettingName&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } @@ -141,7 +165,13 @@ namespace Model * href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-account-settings.html#tag-resources">Tagging * authorization timeline in the Amazon ECS Developer Guide. If you * specify fargateTaskRetirementWaitPeriod, the wait time to retire a - * Fargate task is affected.

                + * Fargate task is affected.

                The guardDutyActivate parameter is + * read-only in Amazon ECS and indicates whether Amazon ECS Runtime Monitoring is + * enabled or disabled by your security administrator in your Amazon ECS account. + * Amazon GuardDuty controls this account setting on your behalf. For more + * information, see Protecting + * Amazon ECS workloads with Amazon ECS Runtime Monitoring.

                */ inline PutAccountSettingRequest& WithName(const SettingName& value) { SetName(value); return *this;} @@ -163,7 +193,13 @@ namespace Model * href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-account-settings.html#tag-resources">Tagging * authorization timeline in the Amazon ECS Developer Guide. If you * specify fargateTaskRetirementWaitPeriod, the wait time to retire a - * Fargate task is affected.

                + * Fargate task is affected.

                The guardDutyActivate parameter is + * read-only in Amazon ECS and indicates whether Amazon ECS Runtime Monitoring is + * enabled or disabled by your security administrator in your Amazon ECS account. + * Amazon GuardDuty controls this account setting on your behalf. For more + * information, see Protecting + * Amazon ECS workloads with Amazon ECS Runtime Monitoring.

                */ inline PutAccountSettingRequest& WithName(SettingName&& value) { SetName(std::move(value)); return *this;} diff --git a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/Setting.h b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/Setting.h index 3798f20a41c..e962ce675ba 100644 --- a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/Setting.h +++ b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/Setting.h @@ -7,6 +7,7 @@ #include #include #include +#include #include namespace Aws @@ -166,6 +167,61 @@ namespace Model */ inline Setting& WithPrincipalArn(const char* value) { SetPrincipalArn(value); return *this;} + + /** + *

                Indicates whether Amazon Web Services manages the account setting, or if the + * user manages it.

                aws_managed account settings are + * read-only, as Amazon Web Services manages such on the customer's behalf. + * Currently, the guardDutyActivate account setting is the only one + * Amazon Web Services manages.

                + */ + inline const SettingType& GetType() const{ return m_type; } + + /** + *

                Indicates whether Amazon Web Services manages the account setting, or if the + * user manages it.

                aws_managed account settings are + * read-only, as Amazon Web Services manages such on the customer's behalf. + * Currently, the guardDutyActivate account setting is the only one + * Amazon Web Services manages.

                + */ + inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } + + /** + *

                Indicates whether Amazon Web Services manages the account setting, or if the + * user manages it.

                aws_managed account settings are + * read-only, as Amazon Web Services manages such on the customer's behalf. + * Currently, the guardDutyActivate account setting is the only one + * Amazon Web Services manages.

                + */ + inline void SetType(const SettingType& value) { m_typeHasBeenSet = true; m_type = value; } + + /** + *

                Indicates whether Amazon Web Services manages the account setting, or if the + * user manages it.

                aws_managed account settings are + * read-only, as Amazon Web Services manages such on the customer's behalf. + * Currently, the guardDutyActivate account setting is the only one + * Amazon Web Services manages.

                + */ + inline void SetType(SettingType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } + + /** + *

                Indicates whether Amazon Web Services manages the account setting, or if the + * user manages it.

                aws_managed account settings are + * read-only, as Amazon Web Services manages such on the customer's behalf. + * Currently, the guardDutyActivate account setting is the only one + * Amazon Web Services manages.

                + */ + inline Setting& WithType(const SettingType& value) { SetType(value); return *this;} + + /** + *

                Indicates whether Amazon Web Services manages the account setting, or if the + * user manages it.

                aws_managed account settings are + * read-only, as Amazon Web Services manages such on the customer's behalf. + * Currently, the guardDutyActivate account setting is the only one + * Amazon Web Services manages.

                + */ + inline Setting& WithType(SettingType&& value) { SetType(std::move(value)); return *this;} + private: SettingName m_name; @@ -176,6 +232,9 @@ namespace Model Aws::String m_principalArn; bool m_principalArnHasBeenSet = false; + + SettingType m_type; + bool m_typeHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/SettingName.h b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/SettingName.h index 96bf8244738..08ed20f2f22 100644 --- a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/SettingName.h +++ b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/SettingName.h @@ -23,7 +23,8 @@ namespace Model containerInsights, fargateFIPSMode, tagResourceAuthorization, - fargateTaskRetirementWaitPeriod + fargateTaskRetirementWaitPeriod, + guardDutyActivate }; namespace SettingNameMapper diff --git a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/SettingType.h b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/SettingType.h new file mode 100644 index 00000000000..e5adac4b29d --- /dev/null +++ b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/SettingType.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 ECS +{ +namespace Model +{ + enum class SettingType + { + NOT_SET, + user, + aws_managed + }; + +namespace SettingTypeMapper +{ +AWS_ECS_API SettingType GetSettingTypeForName(const Aws::String& name); + +AWS_ECS_API Aws::String GetNameForSettingType(SettingType value); +} // namespace SettingTypeMapper +} // namespace Model +} // namespace ECS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ecs/source/model/Setting.cpp b/generated/src/aws-cpp-sdk-ecs/source/model/Setting.cpp index ed009b90519..330e802e5a9 100644 --- a/generated/src/aws-cpp-sdk-ecs/source/model/Setting.cpp +++ b/generated/src/aws-cpp-sdk-ecs/source/model/Setting.cpp @@ -22,7 +22,9 @@ Setting::Setting() : m_name(SettingName::NOT_SET), m_nameHasBeenSet(false), m_valueHasBeenSet(false), - m_principalArnHasBeenSet(false) + m_principalArnHasBeenSet(false), + m_type(SettingType::NOT_SET), + m_typeHasBeenSet(false) { } @@ -30,7 +32,9 @@ Setting::Setting(JsonView jsonValue) : m_name(SettingName::NOT_SET), m_nameHasBeenSet(false), m_valueHasBeenSet(false), - m_principalArnHasBeenSet(false) + m_principalArnHasBeenSet(false), + m_type(SettingType::NOT_SET), + m_typeHasBeenSet(false) { *this = jsonValue; } @@ -58,6 +62,13 @@ Setting& Setting::operator =(JsonView jsonValue) m_principalArnHasBeenSet = true; } + if(jsonValue.ValueExists("type")) + { + m_type = SettingTypeMapper::GetSettingTypeForName(jsonValue.GetString("type")); + + m_typeHasBeenSet = true; + } + return *this; } @@ -82,6 +93,11 @@ JsonValue Setting::Jsonize() const } + if(m_typeHasBeenSet) + { + payload.WithString("type", SettingTypeMapper::GetNameForSettingType(m_type)); + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-ecs/source/model/SettingName.cpp b/generated/src/aws-cpp-sdk-ecs/source/model/SettingName.cpp index f090a3aee25..2e8a89e1a64 100644 --- a/generated/src/aws-cpp-sdk-ecs/source/model/SettingName.cpp +++ b/generated/src/aws-cpp-sdk-ecs/source/model/SettingName.cpp @@ -28,6 +28,7 @@ namespace Aws static const int fargateFIPSMode_HASH = HashingUtils::HashString("fargateFIPSMode"); static const int tagResourceAuthorization_HASH = HashingUtils::HashString("tagResourceAuthorization"); static const int fargateTaskRetirementWaitPeriod_HASH = HashingUtils::HashString("fargateTaskRetirementWaitPeriod"); + static const int guardDutyActivate_HASH = HashingUtils::HashString("guardDutyActivate"); SettingName GetSettingNameForName(const Aws::String& name) @@ -65,6 +66,10 @@ namespace Aws { return SettingName::fargateTaskRetirementWaitPeriod; } + else if (hashCode == guardDutyActivate_HASH) + { + return SettingName::guardDutyActivate; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -97,6 +102,8 @@ namespace Aws return "tagResourceAuthorization"; case SettingName::fargateTaskRetirementWaitPeriod: return "fargateTaskRetirementWaitPeriod"; + case SettingName::guardDutyActivate: + return "guardDutyActivate"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-ecs/source/model/SettingType.cpp b/generated/src/aws-cpp-sdk-ecs/source/model/SettingType.cpp new file mode 100644 index 00000000000..e3498f9142a --- /dev/null +++ b/generated/src/aws-cpp-sdk-ecs/source/model/SettingType.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 ECS + { + namespace Model + { + namespace SettingTypeMapper + { + + static const int user_HASH = HashingUtils::HashString("user"); + static const int aws_managed_HASH = HashingUtils::HashString("aws_managed"); + + + SettingType GetSettingTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == user_HASH) + { + return SettingType::user; + } + else if (hashCode == aws_managed_HASH) + { + return SettingType::aws_managed; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return SettingType::NOT_SET; + } + + Aws::String GetNameForSettingType(SettingType enumValue) + { + switch(enumValue) + { + case SettingType::NOT_SET: + return {}; + case SettingType::user: + return "user"; + case SettingType::aws_managed: + return "aws_managed"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace SettingTypeMapper + } // namespace Model + } // namespace ECS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-eks-auth/CMakeLists.txt b/generated/src/aws-cpp-sdk-eks-auth/CMakeLists.txt new file mode 100644 index 00000000000..fcf4a89cdc3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks-auth/CMakeLists.txt @@ -0,0 +1,76 @@ +add_project(aws-cpp-sdk-eks-auth "C++ SDK for the AWS eks-auth service" aws-cpp-sdk-core) + +file(GLOB AWS_EKS-AUTH_HEADERS + "include/aws/eks-auth/*.h" +) + +file(GLOB AWS_EKS-AUTH_MODEL_HEADERS + "include/aws/eks-auth/model/*.h" +) + +file(GLOB AWS_EKS-AUTH_SOURCE + "source/*.cpp" +) + +file(GLOB AWS_EKS-AUTH_MODEL_SOURCE + "source/model/*.cpp" +) + +file(GLOB EKS-AUTH_UNIFIED_HEADERS + ${AWS_EKS-AUTH_HEADERS} + ${AWS_EKS-AUTH_MODEL_HEADERS} +) + +file(GLOB EKS-AUTH_UNITY_SRC + ${AWS_EKS-AUTH_SOURCE} + ${AWS_EKS-AUTH_MODEL_SOURCE} +) + +if(ENABLE_UNITY_BUILD) + enable_unity_build("EKS-AUTH" EKS-AUTH_UNITY_SRC) +endif() + +file(GLOB EKS-AUTH_SRC + ${EKS-AUTH_UNIFIED_HEADERS} + ${EKS-AUTH_UNITY_SRC} +) + +if(WIN32) + #if we are compiling for visual studio, create a sane directory tree. + if(MSVC) + source_group("Header Files\\aws\\eks-auth" FILES ${AWS_EKS-AUTH_HEADERS}) + source_group("Header Files\\aws\\eks-auth\\model" FILES ${AWS_EKS-AUTH_MODEL_HEADERS}) + source_group("Source Files" FILES ${AWS_EKS-AUTH_SOURCE}) + source_group("Source Files\\model" FILES ${AWS_EKS-AUTH_MODEL_SOURCE}) + endif(MSVC) +endif() + +set(EKS-AUTH_INCLUDES + "${CMAKE_CURRENT_SOURCE_DIR}/include/" +) + +add_library(${PROJECT_NAME} ${EKS-AUTH_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_EKSAUTH_EXPORTS") +endif() + +target_include_directories(${PROJECT_NAME} PUBLIC + $ + $) + +target_link_libraries(${PROJECT_NAME} PRIVATE ${PLATFORM_DEP_LIBS} ${PROJECT_LIBS}) + + +setup_install() + +install (FILES ${AWS_EKS-AUTH_HEADERS} DESTINATION ${INCLUDE_DIRECTORY}/aws/eks-auth) +install (FILES ${AWS_EKS-AUTH_MODEL_HEADERS} DESTINATION ${INCLUDE_DIRECTORY}/aws/eks-auth/model) + +do_packaging() + + diff --git a/generated/src/aws-cpp-sdk-eks-auth/include/aws/eks-auth/EKSAuthClient.h b/generated/src/aws-cpp-sdk-eks-auth/include/aws/eks-auth/EKSAuthClient.h new file mode 100644 index 00000000000..e21d4794cb1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks-auth/include/aws/eks-auth/EKSAuthClient.h @@ -0,0 +1,123 @@ +/** + * 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 EKSAuth +{ + /** + *

                The Amazon EKS Auth API and the AssumeRoleForPodIdentity action + * are only used by the EKS Pod Identity Agent.

                + */ + class AWS_EKSAUTH_API EKSAuthClient : public Aws::Client::AWSJsonClient, public Aws::Client::ClientWithAsyncTemplateMethods + { + public: + typedef Aws::Client::AWSJsonClient BASECLASS; + static const char* SERVICE_NAME; + static const char* ALLOCATION_TAG; + + typedef EKSAuthClientConfiguration ClientConfigurationType; + typedef EKSAuthEndpointProvider 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. + */ + EKSAuthClient(const Aws::EKSAuth::EKSAuthClientConfiguration& clientConfiguration = Aws::EKSAuth::EKSAuthClientConfiguration(), + std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG)); + + /** + * 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. + */ + EKSAuthClient(const Aws::Auth::AWSCredentials& credentials, + std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG), + const Aws::EKSAuth::EKSAuthClientConfiguration& clientConfiguration = Aws::EKSAuth::EKSAuthClientConfiguration()); + + /** + * 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 + */ + EKSAuthClient(const std::shared_ptr& credentialsProvider, + std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG), + const Aws::EKSAuth::EKSAuthClientConfiguration& clientConfiguration = Aws::EKSAuth::EKSAuthClientConfiguration()); + + + /* 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. + */ + EKSAuthClient(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. + */ + EKSAuthClient(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 + */ + EKSAuthClient(const std::shared_ptr& credentialsProvider, + const Aws::Client::ClientConfiguration& clientConfiguration); + + /* End of legacy constructors due deprecation */ + virtual ~EKSAuthClient(); + + /** + *

                The Amazon EKS Auth API and the AssumeRoleForPodIdentity action + * are only used by the EKS Pod Identity Agent.

                We recommend that + * applications use the Amazon Web Services SDKs to connect to Amazon Web Services + * services; if credentials from an EKS Pod Identity association are available in + * the pod, the latest versions of the SDKs use them automatically.

                See + * Also:

                AWS + * API Reference

                + */ + virtual Model::AssumeRoleForPodIdentityOutcome AssumeRoleForPodIdentity(const Model::AssumeRoleForPodIdentityRequest& request) const; + + /** + * A Callable wrapper for AssumeRoleForPodIdentity that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::AssumeRoleForPodIdentityOutcomeCallable AssumeRoleForPodIdentityCallable(const AssumeRoleForPodIdentityRequestT& request) const + { + return SubmitCallable(&EKSAuthClient::AssumeRoleForPodIdentity, request); + } + + /** + * An Async wrapper for AssumeRoleForPodIdentity that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void AssumeRoleForPodIdentityAsync(const AssumeRoleForPodIdentityRequestT& request, const AssumeRoleForPodIdentityResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&EKSAuthClient::AssumeRoleForPodIdentity, request, handler, context); + } + + + void OverrideEndpoint(const Aws::String& endpoint); + std::shared_ptr& accessEndpointProvider(); + private: + friend class Aws::Client::ClientWithAsyncTemplateMethods; + void init(const EKSAuthClientConfiguration& clientConfiguration); + + EKSAuthClientConfiguration m_clientConfiguration; + std::shared_ptr m_executor; + std::shared_ptr m_endpointProvider; + }; + +} // namespace EKSAuth +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-eks-auth/include/aws/eks-auth/EKSAuthEndpointProvider.h b/generated/src/aws-cpp-sdk-eks-auth/include/aws/eks-auth/EKSAuthEndpointProvider.h new file mode 100644 index 00000000000..3c10a01211b --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks-auth/include/aws/eks-auth/EKSAuthEndpointProvider.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 EKSAuth +{ +namespace Endpoint +{ +using EndpointParameters = Aws::Endpoint::EndpointParameters; +using Aws::Endpoint::EndpointProviderBase; +using Aws::Endpoint::DefaultEndpointProvider; + +using EKSAuthClientContextParameters = Aws::Endpoint::ClientContextParameters; + +using EKSAuthClientConfiguration = Aws::Client::GenericClientConfiguration; +using EKSAuthBuiltInParameters = Aws::Endpoint::BuiltInParameters; + +/** + * The type for the EKSAuth 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 EKSAuthEndpointProviderBase = + EndpointProviderBase; + +using EKSAuthDefaultEpProviderBase = + DefaultEndpointProvider; + +/** + * Default endpoint provider used for this service + */ +class AWS_EKSAUTH_API EKSAuthEndpointProvider : public EKSAuthDefaultEpProviderBase +{ +public: + using EKSAuthResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; + + EKSAuthEndpointProvider() + : EKSAuthDefaultEpProviderBase(Aws::EKSAuth::EKSAuthEndpointRules::GetRulesBlob(), Aws::EKSAuth::EKSAuthEndpointRules::RulesBlobSize) + {} + + ~EKSAuthEndpointProvider() + { + } +}; +} // namespace Endpoint +} // namespace EKSAuth +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-eks-auth/include/aws/eks-auth/EKSAuthEndpointRules.h b/generated/src/aws-cpp-sdk-eks-auth/include/aws/eks-auth/EKSAuthEndpointRules.h new file mode 100644 index 00000000000..dd335a279d7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks-auth/include/aws/eks-auth/EKSAuthEndpointRules.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 EKSAuth +{ +class EKSAuthEndpointRules +{ +public: + static const size_t RulesBlobStrLen; + static const size_t RulesBlobSize; + + static const char* GetRulesBlob(); +}; +} // namespace EKSAuth +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-eks-auth/include/aws/eks-auth/EKSAuthErrorMarshaller.h b/generated/src/aws-cpp-sdk-eks-auth/include/aws/eks-auth/EKSAuthErrorMarshaller.h new file mode 100644 index 00000000000..b7b111f0cd0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks-auth/include/aws/eks-auth/EKSAuthErrorMarshaller.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_EKSAUTH_API EKSAuthErrorMarshaller : public Aws::Client::JsonErrorMarshaller +{ +public: + Aws::Client::AWSError FindErrorByName(const char* exceptionName) const override; +}; + +} // namespace Client +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-eks-auth/include/aws/eks-auth/EKSAuthErrors.h b/generated/src/aws-cpp-sdk-eks-auth/include/aws/eks-auth/EKSAuthErrors.h new file mode 100644 index 00000000000..de8b73ec56a --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks-auth/include/aws/eks-auth/EKSAuthErrors.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 EKSAuth +{ +enum class EKSAuthErrors +{ + //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, + /////////////////////////////////////////////////////////////////////////////////////////// + + EXPIRED_TOKEN= static_cast(Aws::Client::CoreErrors::SERVICE_EXTENSION_START_RANGE) + 1, + INTERNAL_SERVER, + INVALID_PARAMETER, + INVALID_REQUEST, + INVALID_TOKEN +}; + +class AWS_EKSAUTH_API EKSAuthError : public Aws::Client::AWSError +{ +public: + EKSAuthError() {} + EKSAuthError(const Aws::Client::AWSError& rhs) : Aws::Client::AWSError(rhs) {} + EKSAuthError(Aws::Client::AWSError&& rhs) : Aws::Client::AWSError(rhs) {} + EKSAuthError(const Aws::Client::AWSError& rhs) : Aws::Client::AWSError(rhs) {} + EKSAuthError(Aws::Client::AWSError&& rhs) : Aws::Client::AWSError(rhs) {} + + template + T GetModeledError(); +}; + +namespace EKSAuthErrorMapper +{ + AWS_EKSAUTH_API Aws::Client::AWSError GetErrorForName(const char* errorName); +} + +} // namespace EKSAuth +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-eks-auth/include/aws/eks-auth/EKSAuthRequest.h b/generated/src/aws-cpp-sdk-eks-auth/include/aws/eks-auth/EKSAuthRequest.h new file mode 100644 index 00000000000..8e202c2b5d1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks-auth/include/aws/eks-auth/EKSAuthRequest.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 EKSAuth +{ + class AWS_EKSAUTH_API EKSAuthRequest : public Aws::AmazonSerializableWebServiceRequest + { + public: + using EndpointParameter = Aws::Endpoint::EndpointParameter; + using EndpointParameters = Aws::Endpoint::EndpointParameters; + + virtual ~EKSAuthRequest () {} + + 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, "2023-11-26")); + return headers; + } + + protected: + virtual Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const { return Aws::Http::HeaderValueCollection(); } + + }; + + +} // namespace EKSAuth +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-eks-auth/include/aws/eks-auth/EKSAuthServiceClientModel.h b/generated/src/aws-cpp-sdk-eks-auth/include/aws/eks-auth/EKSAuthServiceClientModel.h new file mode 100644 index 00000000000..6eff79e690d --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks-auth/include/aws/eks-auth/EKSAuthServiceClientModel.h @@ -0,0 +1,80 @@ +/** + * 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 EKSAuthClient header */ +#include +/* End of service model headers required in EKSAuthClient 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 EKSAuth + { + using EKSAuthClientConfiguration = Aws::Client::GenericClientConfiguration; + using EKSAuthEndpointProviderBase = Aws::EKSAuth::Endpoint::EKSAuthEndpointProviderBase; + using EKSAuthEndpointProvider = Aws::EKSAuth::Endpoint::EKSAuthEndpointProvider; + + namespace Model + { + /* Service model forward declarations required in EKSAuthClient header */ + class AssumeRoleForPodIdentityRequest; + /* End of service model forward declarations required in EKSAuthClient header */ + + /* Service model Outcome class definitions */ + typedef Aws::Utils::Outcome AssumeRoleForPodIdentityOutcome; + /* End of service model Outcome class definitions */ + + /* Service model Outcome callable definitions */ + typedef std::future AssumeRoleForPodIdentityOutcomeCallable; + /* End of service model Outcome callable definitions */ + } // namespace Model + + class EKSAuthClient; + + /* Service model async handlers definitions */ + typedef std::function&) > AssumeRoleForPodIdentityResponseReceivedHandler; + /* End of service model async handlers definitions */ + } // namespace EKSAuth +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-eks-auth/include/aws/eks-auth/EKSAuth_EXPORTS.h b/generated/src/aws-cpp-sdk-eks-auth/include/aws/eks-auth/EKSAuth_EXPORTS.h new file mode 100644 index 00000000000..542afc62bfc --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks-auth/include/aws/eks-auth/EKSAuth_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_EKSAUTH_EXPORTS + #define AWS_EKSAUTH_API __declspec(dllexport) + #else + #define AWS_EKSAUTH_API __declspec(dllimport) + #endif /* AWS_EKSAUTH_EXPORTS */ + #define AWS_EKSAUTH_EXTERN + #else + #define AWS_EKSAUTH_API + #define AWS_EKSAUTH_EXTERN extern + #endif // USE_IMPORT_EXPORT +#else // defined (USE_WINDOWS_DLL_SEMANTICS) || defined (WIN32) + #define AWS_EKSAUTH_API + #define AWS_EKSAUTH_EXTERN extern +#endif // defined (USE_WINDOWS_DLL_SEMANTICS) || defined (WIN32) diff --git a/generated/src/aws-cpp-sdk-eks-auth/include/aws/eks-auth/model/AssumeRoleForPodIdentityRequest.h b/generated/src/aws-cpp-sdk-eks-auth/include/aws/eks-auth/model/AssumeRoleForPodIdentityRequest.h new file mode 100644 index 00000000000..8b254cd00c9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks-auth/include/aws/eks-auth/model/AssumeRoleForPodIdentityRequest.h @@ -0,0 +1,127 @@ +/** + * 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 EKSAuth +{ +namespace Model +{ + + /** + */ + class AssumeRoleForPodIdentityRequest : public EKSAuthRequest + { + public: + AWS_EKSAUTH_API AssumeRoleForPodIdentityRequest(); + + // 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 "AssumeRoleForPodIdentity"; } + + AWS_EKSAUTH_API Aws::String SerializePayload() const override; + + + /** + *

                The name of the cluster for the request.

                + */ + inline const Aws::String& GetClusterName() const{ return m_clusterName; } + + /** + *

                The name of the cluster for the request.

                + */ + inline bool ClusterNameHasBeenSet() const { return m_clusterNameHasBeenSet; } + + /** + *

                The name of the cluster for the request.

                + */ + inline void SetClusterName(const Aws::String& value) { m_clusterNameHasBeenSet = true; m_clusterName = value; } + + /** + *

                The name of the cluster for the request.

                + */ + inline void SetClusterName(Aws::String&& value) { m_clusterNameHasBeenSet = true; m_clusterName = std::move(value); } + + /** + *

                The name of the cluster for the request.

                + */ + inline void SetClusterName(const char* value) { m_clusterNameHasBeenSet = true; m_clusterName.assign(value); } + + /** + *

                The name of the cluster for the request.

                + */ + inline AssumeRoleForPodIdentityRequest& WithClusterName(const Aws::String& value) { SetClusterName(value); return *this;} + + /** + *

                The name of the cluster for the request.

                + */ + inline AssumeRoleForPodIdentityRequest& WithClusterName(Aws::String&& value) { SetClusterName(std::move(value)); return *this;} + + /** + *

                The name of the cluster for the request.

                + */ + inline AssumeRoleForPodIdentityRequest& WithClusterName(const char* value) { SetClusterName(value); return *this;} + + + /** + *

                The token of the Kubernetes service account for the pod.

                + */ + inline const Aws::String& GetToken() const{ return m_token; } + + /** + *

                The token of the Kubernetes service account for the pod.

                + */ + inline bool TokenHasBeenSet() const { return m_tokenHasBeenSet; } + + /** + *

                The token of the Kubernetes service account for the pod.

                + */ + inline void SetToken(const Aws::String& value) { m_tokenHasBeenSet = true; m_token = value; } + + /** + *

                The token of the Kubernetes service account for the pod.

                + */ + inline void SetToken(Aws::String&& value) { m_tokenHasBeenSet = true; m_token = std::move(value); } + + /** + *

                The token of the Kubernetes service account for the pod.

                + */ + inline void SetToken(const char* value) { m_tokenHasBeenSet = true; m_token.assign(value); } + + /** + *

                The token of the Kubernetes service account for the pod.

                + */ + inline AssumeRoleForPodIdentityRequest& WithToken(const Aws::String& value) { SetToken(value); return *this;} + + /** + *

                The token of the Kubernetes service account for the pod.

                + */ + inline AssumeRoleForPodIdentityRequest& WithToken(Aws::String&& value) { SetToken(std::move(value)); return *this;} + + /** + *

                The token of the Kubernetes service account for the pod.

                + */ + inline AssumeRoleForPodIdentityRequest& WithToken(const char* value) { SetToken(value); return *this;} + + private: + + Aws::String m_clusterName; + bool m_clusterNameHasBeenSet = false; + + Aws::String m_token; + bool m_tokenHasBeenSet = false; + }; + +} // namespace Model +} // namespace EKSAuth +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-eks-auth/include/aws/eks-auth/model/AssumeRoleForPodIdentityResult.h b/generated/src/aws-cpp-sdk-eks-auth/include/aws/eks-auth/model/AssumeRoleForPodIdentityResult.h new file mode 100644 index 00000000000..5ab968c566a --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks-auth/include/aws/eks-auth/model/AssumeRoleForPodIdentityResult.h @@ -0,0 +1,274 @@ +/** + * 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 EKSAuth +{ +namespace Model +{ + class AssumeRoleForPodIdentityResult + { + public: + AWS_EKSAUTH_API AssumeRoleForPodIdentityResult(); + AWS_EKSAUTH_API AssumeRoleForPodIdentityResult(const Aws::AmazonWebServiceResult& result); + AWS_EKSAUTH_API AssumeRoleForPodIdentityResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

                The name of the Kubernetes service account inside the cluster to associate + * the IAM credentials with.

                + */ + inline const Subject& GetSubject() const{ return m_subject; } + + /** + *

                The name of the Kubernetes service account inside the cluster to associate + * the IAM credentials with.

                + */ + inline void SetSubject(const Subject& value) { m_subject = value; } + + /** + *

                The name of the Kubernetes service account inside the cluster to associate + * the IAM credentials with.

                + */ + inline void SetSubject(Subject&& value) { m_subject = std::move(value); } + + /** + *

                The name of the Kubernetes service account inside the cluster to associate + * the IAM credentials with.

                + */ + inline AssumeRoleForPodIdentityResult& WithSubject(const Subject& value) { SetSubject(value); return *this;} + + /** + *

                The name of the Kubernetes service account inside the cluster to associate + * the IAM credentials with.

                + */ + inline AssumeRoleForPodIdentityResult& WithSubject(Subject&& value) { SetSubject(std::move(value)); return *this;} + + + /** + *

                The identity that is allowed to use the credentials. This value is always + * pods.eks.amazonaws.com.

                + */ + inline const Aws::String& GetAudience() const{ return m_audience; } + + /** + *

                The identity that is allowed to use the credentials. This value is always + * pods.eks.amazonaws.com.

                + */ + inline void SetAudience(const Aws::String& value) { m_audience = value; } + + /** + *

                The identity that is allowed to use the credentials. This value is always + * pods.eks.amazonaws.com.

                + */ + inline void SetAudience(Aws::String&& value) { m_audience = std::move(value); } + + /** + *

                The identity that is allowed to use the credentials. This value is always + * pods.eks.amazonaws.com.

                + */ + inline void SetAudience(const char* value) { m_audience.assign(value); } + + /** + *

                The identity that is allowed to use the credentials. This value is always + * pods.eks.amazonaws.com.

                + */ + inline AssumeRoleForPodIdentityResult& WithAudience(const Aws::String& value) { SetAudience(value); return *this;} + + /** + *

                The identity that is allowed to use the credentials. This value is always + * pods.eks.amazonaws.com.

                + */ + inline AssumeRoleForPodIdentityResult& WithAudience(Aws::String&& value) { SetAudience(std::move(value)); return *this;} + + /** + *

                The identity that is allowed to use the credentials. This value is always + * pods.eks.amazonaws.com.

                + */ + inline AssumeRoleForPodIdentityResult& WithAudience(const char* value) { SetAudience(value); return *this;} + + + /** + *

                The Amazon Resource Name (ARN) and ID of the EKS Pod Identity + * association.

                + */ + inline const PodIdentityAssociation& GetPodIdentityAssociation() const{ return m_podIdentityAssociation; } + + /** + *

                The Amazon Resource Name (ARN) and ID of the EKS Pod Identity + * association.

                + */ + inline void SetPodIdentityAssociation(const PodIdentityAssociation& value) { m_podIdentityAssociation = value; } + + /** + *

                The Amazon Resource Name (ARN) and ID of the EKS Pod Identity + * association.

                + */ + inline void SetPodIdentityAssociation(PodIdentityAssociation&& value) { m_podIdentityAssociation = std::move(value); } + + /** + *

                The Amazon Resource Name (ARN) and ID of the EKS Pod Identity + * association.

                + */ + inline AssumeRoleForPodIdentityResult& WithPodIdentityAssociation(const PodIdentityAssociation& value) { SetPodIdentityAssociation(value); return *this;} + + /** + *

                The Amazon Resource Name (ARN) and ID of the EKS Pod Identity + * association.

                + */ + inline AssumeRoleForPodIdentityResult& WithPodIdentityAssociation(PodIdentityAssociation&& value) { SetPodIdentityAssociation(std::move(value)); return *this;} + + + /** + *

                An object with the permanent IAM role identity and the temporary session + * name.

                The ARN of the IAM role that the temporary credentials authenticate + * to.

                The session name of the temporary session requested to STS. The value + * is a unique identifier that contains the role ID, a colon (:), and + * the role session name of the role that is being assumed. The role ID is + * generated by IAM when the role is created. The role session name part of the + * value follows this format: eks-clustername-podname-random + * UUID

                + */ + inline const AssumedRoleUser& GetAssumedRoleUser() const{ return m_assumedRoleUser; } + + /** + *

                An object with the permanent IAM role identity and the temporary session + * name.

                The ARN of the IAM role that the temporary credentials authenticate + * to.

                The session name of the temporary session requested to STS. The value + * is a unique identifier that contains the role ID, a colon (:), and + * the role session name of the role that is being assumed. The role ID is + * generated by IAM when the role is created. The role session name part of the + * value follows this format: eks-clustername-podname-random + * UUID

                + */ + inline void SetAssumedRoleUser(const AssumedRoleUser& value) { m_assumedRoleUser = value; } + + /** + *

                An object with the permanent IAM role identity and the temporary session + * name.

                The ARN of the IAM role that the temporary credentials authenticate + * to.

                The session name of the temporary session requested to STS. The value + * is a unique identifier that contains the role ID, a colon (:), and + * the role session name of the role that is being assumed. The role ID is + * generated by IAM when the role is created. The role session name part of the + * value follows this format: eks-clustername-podname-random + * UUID

                + */ + inline void SetAssumedRoleUser(AssumedRoleUser&& value) { m_assumedRoleUser = std::move(value); } + + /** + *

                An object with the permanent IAM role identity and the temporary session + * name.

                The ARN of the IAM role that the temporary credentials authenticate + * to.

                The session name of the temporary session requested to STS. The value + * is a unique identifier that contains the role ID, a colon (:), and + * the role session name of the role that is being assumed. The role ID is + * generated by IAM when the role is created. The role session name part of the + * value follows this format: eks-clustername-podname-random + * UUID

                + */ + inline AssumeRoleForPodIdentityResult& WithAssumedRoleUser(const AssumedRoleUser& value) { SetAssumedRoleUser(value); return *this;} + + /** + *

                An object with the permanent IAM role identity and the temporary session + * name.

                The ARN of the IAM role that the temporary credentials authenticate + * to.

                The session name of the temporary session requested to STS. The value + * is a unique identifier that contains the role ID, a colon (:), and + * the role session name of the role that is being assumed. The role ID is + * generated by IAM when the role is created. The role session name part of the + * value follows this format: eks-clustername-podname-random + * UUID

                + */ + inline AssumeRoleForPodIdentityResult& WithAssumedRoleUser(AssumedRoleUser&& value) { SetAssumedRoleUser(std::move(value)); return *this;} + + + /** + *

                The Amazon Web Services Signature Version 4 type of temporary + * credentials.

                + */ + inline const Credentials& GetCredentials() const{ return m_credentials; } + + /** + *

                The Amazon Web Services Signature Version 4 type of temporary + * credentials.

                + */ + inline void SetCredentials(const Credentials& value) { m_credentials = value; } + + /** + *

                The Amazon Web Services Signature Version 4 type of temporary + * credentials.

                + */ + inline void SetCredentials(Credentials&& value) { m_credentials = std::move(value); } + + /** + *

                The Amazon Web Services Signature Version 4 type of temporary + * credentials.

                + */ + inline AssumeRoleForPodIdentityResult& WithCredentials(const Credentials& value) { SetCredentials(value); return *this;} + + /** + *

                The Amazon Web Services Signature Version 4 type of temporary + * credentials.

                + */ + inline AssumeRoleForPodIdentityResult& WithCredentials(Credentials&& value) { SetCredentials(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 AssumeRoleForPodIdentityResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline AssumeRoleForPodIdentityResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline AssumeRoleForPodIdentityResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Subject m_subject; + + Aws::String m_audience; + + PodIdentityAssociation m_podIdentityAssociation; + + AssumedRoleUser m_assumedRoleUser; + + Credentials m_credentials; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace EKSAuth +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-eks-auth/include/aws/eks-auth/model/AssumedRoleUser.h b/generated/src/aws-cpp-sdk-eks-auth/include/aws/eks-auth/model/AssumedRoleUser.h new file mode 100644 index 00000000000..71057d173ac --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks-auth/include/aws/eks-auth/model/AssumedRoleUser.h @@ -0,0 +1,173 @@ +/** + * 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 EKSAuth +{ +namespace Model +{ + + /** + *

                An object with the permanent IAM role identity and the temporary session + * name.

                See Also:

                AWS + * API Reference

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

                The ARN of the IAM role that the temporary credentials authenticate to.

                + */ + inline const Aws::String& GetArn() const{ return m_arn; } + + /** + *

                The ARN of the IAM role that the temporary credentials authenticate to.

                + */ + inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } + + /** + *

                The ARN of the IAM role that the temporary credentials authenticate to.

                + */ + inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } + + /** + *

                The ARN of the IAM role that the temporary credentials authenticate to.

                + */ + inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } + + /** + *

                The ARN of the IAM role that the temporary credentials authenticate to.

                + */ + inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } + + /** + *

                The ARN of the IAM role that the temporary credentials authenticate to.

                + */ + inline AssumedRoleUser& WithArn(const Aws::String& value) { SetArn(value); return *this;} + + /** + *

                The ARN of the IAM role that the temporary credentials authenticate to.

                + */ + inline AssumedRoleUser& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} + + /** + *

                The ARN of the IAM role that the temporary credentials authenticate to.

                + */ + inline AssumedRoleUser& WithArn(const char* value) { SetArn(value); return *this;} + + + /** + *

                The session name of the temporary session requested to STS. The value is a + * unique identifier that contains the role ID, a colon (:), and the + * role session name of the role that is being assumed. The role ID is generated by + * IAM when the role is created. The role session name part of the value follows + * this format: eks-clustername-podname-random UUID + *

                + */ + inline const Aws::String& GetAssumeRoleId() const{ return m_assumeRoleId; } + + /** + *

                The session name of the temporary session requested to STS. The value is a + * unique identifier that contains the role ID, a colon (:), and the + * role session name of the role that is being assumed. The role ID is generated by + * IAM when the role is created. The role session name part of the value follows + * this format: eks-clustername-podname-random UUID + *

                + */ + inline bool AssumeRoleIdHasBeenSet() const { return m_assumeRoleIdHasBeenSet; } + + /** + *

                The session name of the temporary session requested to STS. The value is a + * unique identifier that contains the role ID, a colon (:), and the + * role session name of the role that is being assumed. The role ID is generated by + * IAM when the role is created. The role session name part of the value follows + * this format: eks-clustername-podname-random UUID + *

                + */ + inline void SetAssumeRoleId(const Aws::String& value) { m_assumeRoleIdHasBeenSet = true; m_assumeRoleId = value; } + + /** + *

                The session name of the temporary session requested to STS. The value is a + * unique identifier that contains the role ID, a colon (:), and the + * role session name of the role that is being assumed. The role ID is generated by + * IAM when the role is created. The role session name part of the value follows + * this format: eks-clustername-podname-random UUID + *

                + */ + inline void SetAssumeRoleId(Aws::String&& value) { m_assumeRoleIdHasBeenSet = true; m_assumeRoleId = std::move(value); } + + /** + *

                The session name of the temporary session requested to STS. The value is a + * unique identifier that contains the role ID, a colon (:), and the + * role session name of the role that is being assumed. The role ID is generated by + * IAM when the role is created. The role session name part of the value follows + * this format: eks-clustername-podname-random UUID + *

                + */ + inline void SetAssumeRoleId(const char* value) { m_assumeRoleIdHasBeenSet = true; m_assumeRoleId.assign(value); } + + /** + *

                The session name of the temporary session requested to STS. The value is a + * unique identifier that contains the role ID, a colon (:), and the + * role session name of the role that is being assumed. The role ID is generated by + * IAM when the role is created. The role session name part of the value follows + * this format: eks-clustername-podname-random UUID + *

                + */ + inline AssumedRoleUser& WithAssumeRoleId(const Aws::String& value) { SetAssumeRoleId(value); return *this;} + + /** + *

                The session name of the temporary session requested to STS. The value is a + * unique identifier that contains the role ID, a colon (:), and the + * role session name of the role that is being assumed. The role ID is generated by + * IAM when the role is created. The role session name part of the value follows + * this format: eks-clustername-podname-random UUID + *

                + */ + inline AssumedRoleUser& WithAssumeRoleId(Aws::String&& value) { SetAssumeRoleId(std::move(value)); return *this;} + + /** + *

                The session name of the temporary session requested to STS. The value is a + * unique identifier that contains the role ID, a colon (:), and the + * role session name of the role that is being assumed. The role ID is generated by + * IAM when the role is created. The role session name part of the value follows + * this format: eks-clustername-podname-random UUID + *

                + */ + inline AssumedRoleUser& WithAssumeRoleId(const char* value) { SetAssumeRoleId(value); return *this;} + + private: + + Aws::String m_arn; + bool m_arnHasBeenSet = false; + + Aws::String m_assumeRoleId; + bool m_assumeRoleIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace EKSAuth +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-eks-auth/include/aws/eks-auth/model/Credentials.h b/generated/src/aws-cpp-sdk-eks-auth/include/aws/eks-auth/model/Credentials.h new file mode 100644 index 00000000000..a5fc37f400b --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks-auth/include/aws/eks-auth/model/Credentials.h @@ -0,0 +1,228 @@ +/** + * 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 EKSAuth +{ +namespace Model +{ + + /** + *

                The Amazon Web Services Signature Version 4 type of temporary + * credentials.

                See Also:

                AWS + * API Reference

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

                The token that applications inside the pods must pass to any service API to + * use the temporary credentials.

                + */ + inline const Aws::String& GetSessionToken() const{ return m_sessionToken; } + + /** + *

                The token that applications inside the pods must pass to any service API to + * use the temporary credentials.

                + */ + inline bool SessionTokenHasBeenSet() const { return m_sessionTokenHasBeenSet; } + + /** + *

                The token that applications inside the pods must pass to any service API to + * use the temporary credentials.

                + */ + inline void SetSessionToken(const Aws::String& value) { m_sessionTokenHasBeenSet = true; m_sessionToken = value; } + + /** + *

                The token that applications inside the pods must pass to any service API to + * use the temporary credentials.

                + */ + inline void SetSessionToken(Aws::String&& value) { m_sessionTokenHasBeenSet = true; m_sessionToken = std::move(value); } + + /** + *

                The token that applications inside the pods must pass to any service API to + * use the temporary credentials.

                + */ + inline void SetSessionToken(const char* value) { m_sessionTokenHasBeenSet = true; m_sessionToken.assign(value); } + + /** + *

                The token that applications inside the pods must pass to any service API to + * use the temporary credentials.

                + */ + inline Credentials& WithSessionToken(const Aws::String& value) { SetSessionToken(value); return *this;} + + /** + *

                The token that applications inside the pods must pass to any service API to + * use the temporary credentials.

                + */ + inline Credentials& WithSessionToken(Aws::String&& value) { SetSessionToken(std::move(value)); return *this;} + + /** + *

                The token that applications inside the pods must pass to any service API to + * use the temporary credentials.

                + */ + inline Credentials& WithSessionToken(const char* value) { SetSessionToken(value); return *this;} + + + /** + *

                The secret access key that applications inside the pods use to sign + * requests.

                + */ + inline const Aws::String& GetSecretAccessKey() const{ return m_secretAccessKey; } + + /** + *

                The secret access key that applications inside the pods use to sign + * requests.

                + */ + inline bool SecretAccessKeyHasBeenSet() const { return m_secretAccessKeyHasBeenSet; } + + /** + *

                The secret access key that applications inside the pods use to sign + * requests.

                + */ + inline void SetSecretAccessKey(const Aws::String& value) { m_secretAccessKeyHasBeenSet = true; m_secretAccessKey = value; } + + /** + *

                The secret access key that applications inside the pods use to sign + * requests.

                + */ + inline void SetSecretAccessKey(Aws::String&& value) { m_secretAccessKeyHasBeenSet = true; m_secretAccessKey = std::move(value); } + + /** + *

                The secret access key that applications inside the pods use to sign + * requests.

                + */ + inline void SetSecretAccessKey(const char* value) { m_secretAccessKeyHasBeenSet = true; m_secretAccessKey.assign(value); } + + /** + *

                The secret access key that applications inside the pods use to sign + * requests.

                + */ + inline Credentials& WithSecretAccessKey(const Aws::String& value) { SetSecretAccessKey(value); return *this;} + + /** + *

                The secret access key that applications inside the pods use to sign + * requests.

                + */ + inline Credentials& WithSecretAccessKey(Aws::String&& value) { SetSecretAccessKey(std::move(value)); return *this;} + + /** + *

                The secret access key that applications inside the pods use to sign + * requests.

                + */ + inline Credentials& WithSecretAccessKey(const char* value) { SetSecretAccessKey(value); return *this;} + + + /** + *

                The access key ID that identifies the temporary security credentials.

                + */ + inline const Aws::String& GetAccessKeyId() const{ return m_accessKeyId; } + + /** + *

                The access key ID that identifies the temporary security credentials.

                + */ + inline bool AccessKeyIdHasBeenSet() const { return m_accessKeyIdHasBeenSet; } + + /** + *

                The access key ID that identifies the temporary security credentials.

                + */ + inline void SetAccessKeyId(const Aws::String& value) { m_accessKeyIdHasBeenSet = true; m_accessKeyId = value; } + + /** + *

                The access key ID that identifies the temporary security credentials.

                + */ + inline void SetAccessKeyId(Aws::String&& value) { m_accessKeyIdHasBeenSet = true; m_accessKeyId = std::move(value); } + + /** + *

                The access key ID that identifies the temporary security credentials.

                + */ + inline void SetAccessKeyId(const char* value) { m_accessKeyIdHasBeenSet = true; m_accessKeyId.assign(value); } + + /** + *

                The access key ID that identifies the temporary security credentials.

                + */ + inline Credentials& WithAccessKeyId(const Aws::String& value) { SetAccessKeyId(value); return *this;} + + /** + *

                The access key ID that identifies the temporary security credentials.

                + */ + inline Credentials& WithAccessKeyId(Aws::String&& value) { SetAccessKeyId(std::move(value)); return *this;} + + /** + *

                The access key ID that identifies the temporary security credentials.

                + */ + inline Credentials& WithAccessKeyId(const char* value) { SetAccessKeyId(value); return *this;} + + + /** + *

                The Unix epoch timestamp in seconds when the current credentials expire.

                + */ + inline const Aws::Utils::DateTime& GetExpiration() const{ return m_expiration; } + + /** + *

                The Unix epoch timestamp in seconds when the current credentials expire.

                + */ + inline bool ExpirationHasBeenSet() const { return m_expirationHasBeenSet; } + + /** + *

                The Unix epoch timestamp in seconds when the current credentials expire.

                + */ + inline void SetExpiration(const Aws::Utils::DateTime& value) { m_expirationHasBeenSet = true; m_expiration = value; } + + /** + *

                The Unix epoch timestamp in seconds when the current credentials expire.

                + */ + inline void SetExpiration(Aws::Utils::DateTime&& value) { m_expirationHasBeenSet = true; m_expiration = std::move(value); } + + /** + *

                The Unix epoch timestamp in seconds when the current credentials expire.

                + */ + inline Credentials& WithExpiration(const Aws::Utils::DateTime& value) { SetExpiration(value); return *this;} + + /** + *

                The Unix epoch timestamp in seconds when the current credentials expire.

                + */ + inline Credentials& WithExpiration(Aws::Utils::DateTime&& value) { SetExpiration(std::move(value)); return *this;} + + private: + + Aws::String m_sessionToken; + bool m_sessionTokenHasBeenSet = false; + + Aws::String m_secretAccessKey; + bool m_secretAccessKeyHasBeenSet = false; + + Aws::String m_accessKeyId; + bool m_accessKeyIdHasBeenSet = false; + + Aws::Utils::DateTime m_expiration; + bool m_expirationHasBeenSet = false; + }; + +} // namespace Model +} // namespace EKSAuth +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-eks-auth/include/aws/eks-auth/model/PodIdentityAssociation.h b/generated/src/aws-cpp-sdk-eks-auth/include/aws/eks-auth/model/PodIdentityAssociation.h new file mode 100644 index 00000000000..3151e8c5c00 --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks-auth/include/aws/eks-auth/model/PodIdentityAssociation.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 + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace EKSAuth +{ +namespace Model +{ + + /** + *

                Amazon EKS Pod Identity associations provide the ability to manage + * credentials for your applications, similar to the way that Amazon EC2 instance + * profiles provide credentials to Amazon EC2 instances.

                See Also:

                + * AWS + * API Reference

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

                The Amazon Resource Name (ARN) of the EKS Pod Identity association.

                + */ + inline const Aws::String& GetAssociationArn() const{ return m_associationArn; } + + /** + *

                The Amazon Resource Name (ARN) of the EKS Pod Identity association.

                + */ + inline bool AssociationArnHasBeenSet() const { return m_associationArnHasBeenSet; } + + /** + *

                The Amazon Resource Name (ARN) of the EKS Pod Identity association.

                + */ + inline void SetAssociationArn(const Aws::String& value) { m_associationArnHasBeenSet = true; m_associationArn = value; } + + /** + *

                The Amazon Resource Name (ARN) of the EKS Pod Identity association.

                + */ + inline void SetAssociationArn(Aws::String&& value) { m_associationArnHasBeenSet = true; m_associationArn = std::move(value); } + + /** + *

                The Amazon Resource Name (ARN) of the EKS Pod Identity association.

                + */ + inline void SetAssociationArn(const char* value) { m_associationArnHasBeenSet = true; m_associationArn.assign(value); } + + /** + *

                The Amazon Resource Name (ARN) of the EKS Pod Identity association.

                + */ + inline PodIdentityAssociation& WithAssociationArn(const Aws::String& value) { SetAssociationArn(value); return *this;} + + /** + *

                The Amazon Resource Name (ARN) of the EKS Pod Identity association.

                + */ + inline PodIdentityAssociation& WithAssociationArn(Aws::String&& value) { SetAssociationArn(std::move(value)); return *this;} + + /** + *

                The Amazon Resource Name (ARN) of the EKS Pod Identity association.

                + */ + inline PodIdentityAssociation& WithAssociationArn(const char* value) { SetAssociationArn(value); return *this;} + + + /** + *

                The ID of the association.

                + */ + inline const Aws::String& GetAssociationId() const{ return m_associationId; } + + /** + *

                The ID of the association.

                + */ + inline bool AssociationIdHasBeenSet() const { return m_associationIdHasBeenSet; } + + /** + *

                The ID of the association.

                + */ + inline void SetAssociationId(const Aws::String& value) { m_associationIdHasBeenSet = true; m_associationId = value; } + + /** + *

                The ID of the association.

                + */ + inline void SetAssociationId(Aws::String&& value) { m_associationIdHasBeenSet = true; m_associationId = std::move(value); } + + /** + *

                The ID of the association.

                + */ + inline void SetAssociationId(const char* value) { m_associationIdHasBeenSet = true; m_associationId.assign(value); } + + /** + *

                The ID of the association.

                + */ + inline PodIdentityAssociation& WithAssociationId(const Aws::String& value) { SetAssociationId(value); return *this;} + + /** + *

                The ID of the association.

                + */ + inline PodIdentityAssociation& WithAssociationId(Aws::String&& value) { SetAssociationId(std::move(value)); return *this;} + + /** + *

                The ID of the association.

                + */ + inline PodIdentityAssociation& WithAssociationId(const char* value) { SetAssociationId(value); return *this;} + + private: + + Aws::String m_associationArn; + bool m_associationArnHasBeenSet = false; + + Aws::String m_associationId; + bool m_associationIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace EKSAuth +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-eks-auth/include/aws/eks-auth/model/Subject.h b/generated/src/aws-cpp-sdk-eks-auth/include/aws/eks-auth/model/Subject.h new file mode 100644 index 00000000000..6064e762fb2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks-auth/include/aws/eks-auth/model/Subject.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 + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace EKSAuth +{ +namespace Model +{ + + /** + *

                An object containing the name of the Kubernetes service account inside the + * cluster to associate the IAM credentials with.

                See Also:

                AWS + * API Reference

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

                The name of the Kubernetes namespace inside the cluster to create the + * association in. The service account and the pods that use the service account + * must be in this namespace.

                + */ + inline const Aws::String& GetNamespace() const{ return m_namespace; } + + /** + *

                The name of the Kubernetes namespace inside the cluster to create the + * association in. The service account and the pods that use the service account + * must be in this namespace.

                + */ + inline bool NamespaceHasBeenSet() const { return m_namespaceHasBeenSet; } + + /** + *

                The name of the Kubernetes namespace inside the cluster to create the + * association in. The service account and the pods that use the service account + * must be in this namespace.

                + */ + inline void SetNamespace(const Aws::String& value) { m_namespaceHasBeenSet = true; m_namespace = value; } + + /** + *

                The name of the Kubernetes namespace inside the cluster to create the + * association in. The service account and the pods that use the service account + * must be in this namespace.

                + */ + inline void SetNamespace(Aws::String&& value) { m_namespaceHasBeenSet = true; m_namespace = std::move(value); } + + /** + *

                The name of the Kubernetes namespace inside the cluster to create the + * association in. The service account and the pods that use the service account + * must be in this namespace.

                + */ + inline void SetNamespace(const char* value) { m_namespaceHasBeenSet = true; m_namespace.assign(value); } + + /** + *

                The name of the Kubernetes namespace inside the cluster to create the + * association in. The service account and the pods that use the service account + * must be in this namespace.

                + */ + inline Subject& WithNamespace(const Aws::String& value) { SetNamespace(value); return *this;} + + /** + *

                The name of the Kubernetes namespace inside the cluster to create the + * association in. The service account and the pods that use the service account + * must be in this namespace.

                + */ + inline Subject& WithNamespace(Aws::String&& value) { SetNamespace(std::move(value)); return *this;} + + /** + *

                The name of the Kubernetes namespace inside the cluster to create the + * association in. The service account and the pods that use the service account + * must be in this namespace.

                + */ + inline Subject& WithNamespace(const char* value) { SetNamespace(value); return *this;} + + + /** + *

                The name of the Kubernetes service account inside the cluster to associate + * the IAM credentials with.

                + */ + inline const Aws::String& GetServiceAccount() const{ return m_serviceAccount; } + + /** + *

                The name of the Kubernetes service account inside the cluster to associate + * the IAM credentials with.

                + */ + inline bool ServiceAccountHasBeenSet() const { return m_serviceAccountHasBeenSet; } + + /** + *

                The name of the Kubernetes service account inside the cluster to associate + * the IAM credentials with.

                + */ + inline void SetServiceAccount(const Aws::String& value) { m_serviceAccountHasBeenSet = true; m_serviceAccount = value; } + + /** + *

                The name of the Kubernetes service account inside the cluster to associate + * the IAM credentials with.

                + */ + inline void SetServiceAccount(Aws::String&& value) { m_serviceAccountHasBeenSet = true; m_serviceAccount = std::move(value); } + + /** + *

                The name of the Kubernetes service account inside the cluster to associate + * the IAM credentials with.

                + */ + inline void SetServiceAccount(const char* value) { m_serviceAccountHasBeenSet = true; m_serviceAccount.assign(value); } + + /** + *

                The name of the Kubernetes service account inside the cluster to associate + * the IAM credentials with.

                + */ + inline Subject& WithServiceAccount(const Aws::String& value) { SetServiceAccount(value); return *this;} + + /** + *

                The name of the Kubernetes service account inside the cluster to associate + * the IAM credentials with.

                + */ + inline Subject& WithServiceAccount(Aws::String&& value) { SetServiceAccount(std::move(value)); return *this;} + + /** + *

                The name of the Kubernetes service account inside the cluster to associate + * the IAM credentials with.

                + */ + inline Subject& WithServiceAccount(const char* value) { SetServiceAccount(value); return *this;} + + private: + + Aws::String m_namespace; + bool m_namespaceHasBeenSet = false; + + Aws::String m_serviceAccount; + bool m_serviceAccountHasBeenSet = false; + }; + +} // namespace Model +} // namespace EKSAuth +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-eks-auth/source/EKSAuthClient.cpp b/generated/src/aws-cpp-sdk-eks-auth/source/EKSAuthClient.cpp new file mode 100644 index 00000000000..e321a46c968 --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks-auth/source/EKSAuthClient.cpp @@ -0,0 +1,191 @@ +/** + * 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::EKSAuth; +using namespace Aws::EKSAuth::Model; +using namespace Aws::Http; +using namespace Aws::Utils::Json; +using namespace smithy::components::tracing; +using ResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; + +const char* EKSAuthClient::SERVICE_NAME = "eks-auth"; +const char* EKSAuthClient::ALLOCATION_TAG = "EKSAuthClient"; + +EKSAuthClient::EKSAuthClient(const EKSAuth::EKSAuthClientConfiguration& 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_executor(clientConfiguration.executor), + m_endpointProvider(std::move(endpointProvider)) +{ + init(m_clientConfiguration); +} + +EKSAuthClient::EKSAuthClient(const AWSCredentials& credentials, + std::shared_ptr endpointProvider, + const EKSAuth::EKSAuthClientConfiguration& 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_executor(clientConfiguration.executor), + m_endpointProvider(std::move(endpointProvider)) +{ + init(m_clientConfiguration); +} + +EKSAuthClient::EKSAuthClient(const std::shared_ptr& credentialsProvider, + std::shared_ptr endpointProvider, + const EKSAuth::EKSAuthClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + credentialsProvider, + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_executor(clientConfiguration.executor), + m_endpointProvider(std::move(endpointProvider)) +{ + init(m_clientConfiguration); +} + + /* Legacy constructors due deprecation */ + EKSAuthClient::EKSAuthClient(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_executor(clientConfiguration.executor), + m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +EKSAuthClient::EKSAuthClient(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_executor(clientConfiguration.executor), + m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +EKSAuthClient::EKSAuthClient(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_executor(clientConfiguration.executor), + m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + + /* End of legacy constructors due deprecation */ +EKSAuthClient::~EKSAuthClient() +{ + ShutdownSdkClient(this, -1); +} + +std::shared_ptr& EKSAuthClient::accessEndpointProvider() +{ + return m_endpointProvider; +} + +void EKSAuthClient::init(const EKSAuth::EKSAuthClientConfiguration& config) +{ + AWSClient::SetServiceClientName("EKS Auth"); + AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); + m_endpointProvider->InitBuiltInParameters(config); +} + +void EKSAuthClient::OverrideEndpoint(const Aws::String& endpoint) +{ + AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); + m_endpointProvider->OverrideEndpoint(endpoint); +} + +AssumeRoleForPodIdentityOutcome EKSAuthClient::AssumeRoleForPodIdentity(const AssumeRoleForPodIdentityRequest& request) const +{ + AWS_OPERATION_GUARD(AssumeRoleForPodIdentity); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, AssumeRoleForPodIdentity, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ClusterNameHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("AssumeRoleForPodIdentity", "Required field: ClusterName, is not set"); + return AssumeRoleForPodIdentityOutcome(Aws::Client::AWSError(EKSAuthErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ClusterName]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, AssumeRoleForPodIdentity, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, AssumeRoleForPodIdentity, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".AssumeRoleForPodIdentity", + {{ 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( + [&]()-> AssumeRoleForPodIdentityOutcome { + 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, AssumeRoleForPodIdentity, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/clusters/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetClusterName()); + endpointResolutionOutcome.GetResult().AddPathSegments("/assume-role-for-pod-identity"); + return AssumeRoleForPodIdentityOutcome(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()}}); +} + diff --git a/generated/src/aws-cpp-sdk-eks-auth/source/EKSAuthEndpointProvider.cpp b/generated/src/aws-cpp-sdk-eks-auth/source/EKSAuthEndpointProvider.cpp new file mode 100644 index 00000000000..6a3b7b95375 --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks-auth/source/EKSAuthEndpointProvider.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 EKSAuth +{ +namespace Endpoint +{ +} // namespace Endpoint +} // namespace EKSAuth +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-eks-auth/source/EKSAuthEndpointRules.cpp b/generated/src/aws-cpp-sdk-eks-auth/source/EKSAuthEndpointRules.cpp new file mode 100644 index 00000000000..94df7ccecb1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks-auth/source/EKSAuthEndpointRules.cpp @@ -0,0 +1,132 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +namespace Aws +{ +namespace EKSAuth +{ +const size_t EKSAuthEndpointRules::RulesBlobStrLen = 2649; +const size_t EKSAuthEndpointRules::RulesBlobSize = 2650; + +using RulesBlobT = Aws::Array; +static constexpr RulesBlobT RulesBlob = {{ +'{','"','v','e','r','s','i','o','n','"',':','"','1','.','0','"',',','"','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','"', +':','f','a','l','s','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','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','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n', +'t','"','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P', +'S','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a', +'l','i','d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','F','I','P','S',' ','a', +'n','d',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','a','r','e',' ','n','o', +'t',' ','s','u','p','p','o','r','t','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o', +'r','"','}',',','{','"','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','"',':','{','}',',','"', +'h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p', +'o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"', +'}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}', +']',',','"','a','s','s','i','g','n','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u', +'l','t','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t', +'A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r', +'t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','D', +'u','a','l','S','t','a','c','k','"',']','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', +'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e', +'s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', +'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"', +'s','u','p','p','o','r','t','s','F','I','P','S','"',']','}',',','t','r','u','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','"',':','"','h','t','t','p','s',':', +'/','/','e','k','s','-','a','u','t','h','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.', +'{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','u','a','l','S','t','a','c', +'k','D','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"', +':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':', +'"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', +'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o', +'r','"',':','"','F','I','P','S',' ','i','s',' ','e','n','a','b','l','e','d',' ','b','u','t',' ','t', +'h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u', +'p','p','o','r','t',' ','F','I','P','S','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r', +'"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u', +'r','l','"',':','"','h','t','t','p','s',':','/','/','e','k','s','-','a','u','t','h','.','{','R','e', +'g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','u', +'a','l','S','t','a','c','k','D','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e', +'r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"', +'t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"', +':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u', +'e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n', +'R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','F','I','P','S','"',']','}', +',','t','r','u','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','"',':','"','h','t','t','p','s',':','/','/','e','k','s','-','a','u','t','h','-','f','i','p','s', +'.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l', +'t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s', +'"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"', +':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e', +'e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r', +'o','r','"',':','"','F','I','P','S',' ','i','s',' ','e','n','a','b','l','e','d',' ','b','u','t',' ', +'t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ','n','o','t',' ','s', +'u','p','p','o','r','t',' ','F','I','P','S','"',',','"','t','y','p','e','"',':','"','e','r','r','o', +'r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n', +'d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"', +'u','r','l','"',':','"','h','t','t','p','s',':','/','/','e','k','s','-','a','u','t','h','.','{','R', +'e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d', +'n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{', +'}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e', +'n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}', +']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d', +' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','M','i','s','s','i','n','g',' ','R', +'e','g','i','o','n','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}','\0' +}}; + +const char* EKSAuthEndpointRules::GetRulesBlob() +{ + return RulesBlob.data(); +} + +} // namespace EKSAuth +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-eks-auth/source/EKSAuthErrorMarshaller.cpp b/generated/src/aws-cpp-sdk-eks-auth/source/EKSAuthErrorMarshaller.cpp new file mode 100644 index 00000000000..baa58edf9f5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks-auth/source/EKSAuthErrorMarshaller.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::EKSAuth; + +AWSError EKSAuthErrorMarshaller::FindErrorByName(const char* errorName) const +{ + AWSError error = EKSAuthErrorMapper::GetErrorForName(errorName); + if(error.GetErrorType() != CoreErrors::UNKNOWN) + { + return error; + } + + return AWSErrorMarshaller::FindErrorByName(errorName); +} \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-eks-auth/source/EKSAuthErrors.cpp b/generated/src/aws-cpp-sdk-eks-auth/source/EKSAuthErrors.cpp new file mode 100644 index 00000000000..2e5fc1fddb0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks-auth/source/EKSAuthErrors.cpp @@ -0,0 +1,57 @@ +/** + * 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::Utils; +using namespace Aws::EKSAuth; + +namespace Aws +{ +namespace EKSAuth +{ +namespace EKSAuthErrorMapper +{ + +static const int INTERNAL_SERVER_HASH = HashingUtils::HashString("InternalServerException"); +static const int INVALID_TOKEN_HASH = HashingUtils::HashString("InvalidTokenException"); +static const int INVALID_PARAMETER_HASH = HashingUtils::HashString("InvalidParameterException"); +static const int EXPIRED_TOKEN_HASH = HashingUtils::HashString("ExpiredTokenException"); +static const int INVALID_REQUEST_HASH = HashingUtils::HashString("InvalidRequestException"); + + +AWSError GetErrorForName(const char* errorName) +{ + int hashCode = HashingUtils::HashString(errorName); + + if (hashCode == INTERNAL_SERVER_HASH) + { + return AWSError(static_cast(EKSAuthErrors::INTERNAL_SERVER), false); + } + else if (hashCode == INVALID_TOKEN_HASH) + { + return AWSError(static_cast(EKSAuthErrors::INVALID_TOKEN), false); + } + else if (hashCode == INVALID_PARAMETER_HASH) + { + return AWSError(static_cast(EKSAuthErrors::INVALID_PARAMETER), false); + } + else if (hashCode == EXPIRED_TOKEN_HASH) + { + return AWSError(static_cast(EKSAuthErrors::EXPIRED_TOKEN), false); + } + else if (hashCode == INVALID_REQUEST_HASH) + { + return AWSError(static_cast(EKSAuthErrors::INVALID_REQUEST), false); + } + return AWSError(CoreErrors::UNKNOWN, false); +} + +} // namespace EKSAuthErrorMapper +} // namespace EKSAuth +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-eks-auth/source/EKSAuthRequest.cpp b/generated/src/aws-cpp-sdk-eks-auth/source/EKSAuthRequest.cpp new file mode 100644 index 00000000000..df5769015d9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks-auth/source/EKSAuthRequest.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 EKSAuth +{ +} // namespace EKSAuth +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-eks-auth/source/model/AssumeRoleForPodIdentityRequest.cpp b/generated/src/aws-cpp-sdk-eks-auth/source/model/AssumeRoleForPodIdentityRequest.cpp new file mode 100644 index 00000000000..05284e12de2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks-auth/source/model/AssumeRoleForPodIdentityRequest.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::EKSAuth::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +AssumeRoleForPodIdentityRequest::AssumeRoleForPodIdentityRequest() : + m_clusterNameHasBeenSet(false), + m_tokenHasBeenSet(false) +{ +} + +Aws::String AssumeRoleForPodIdentityRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_tokenHasBeenSet) + { + payload.WithString("token", m_token); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-eks-auth/source/model/AssumeRoleForPodIdentityResult.cpp b/generated/src/aws-cpp-sdk-eks-auth/source/model/AssumeRoleForPodIdentityResult.cpp new file mode 100644 index 00000000000..56ca77b7433 --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks-auth/source/model/AssumeRoleForPodIdentityResult.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::EKSAuth::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +AssumeRoleForPodIdentityResult::AssumeRoleForPodIdentityResult() +{ +} + +AssumeRoleForPodIdentityResult::AssumeRoleForPodIdentityResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +AssumeRoleForPodIdentityResult& AssumeRoleForPodIdentityResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("subject")) + { + m_subject = jsonValue.GetObject("subject"); + + } + + if(jsonValue.ValueExists("audience")) + { + m_audience = jsonValue.GetString("audience"); + + } + + if(jsonValue.ValueExists("podIdentityAssociation")) + { + m_podIdentityAssociation = jsonValue.GetObject("podIdentityAssociation"); + + } + + if(jsonValue.ValueExists("assumedRoleUser")) + { + m_assumedRoleUser = jsonValue.GetObject("assumedRoleUser"); + + } + + if(jsonValue.ValueExists("credentials")) + { + m_credentials = jsonValue.GetObject("credentials"); + + } + + + 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-eks-auth/source/model/AssumedRoleUser.cpp b/generated/src/aws-cpp-sdk-eks-auth/source/model/AssumedRoleUser.cpp new file mode 100644 index 00000000000..531d1ca17bf --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks-auth/source/model/AssumedRoleUser.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 EKSAuth +{ +namespace Model +{ + +AssumedRoleUser::AssumedRoleUser() : + m_arnHasBeenSet(false), + m_assumeRoleIdHasBeenSet(false) +{ +} + +AssumedRoleUser::AssumedRoleUser(JsonView jsonValue) : + m_arnHasBeenSet(false), + m_assumeRoleIdHasBeenSet(false) +{ + *this = jsonValue; +} + +AssumedRoleUser& AssumedRoleUser::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("arn")) + { + m_arn = jsonValue.GetString("arn"); + + m_arnHasBeenSet = true; + } + + if(jsonValue.ValueExists("assumeRoleId")) + { + m_assumeRoleId = jsonValue.GetString("assumeRoleId"); + + m_assumeRoleIdHasBeenSet = true; + } + + return *this; +} + +JsonValue AssumedRoleUser::Jsonize() const +{ + JsonValue payload; + + if(m_arnHasBeenSet) + { + payload.WithString("arn", m_arn); + + } + + if(m_assumeRoleIdHasBeenSet) + { + payload.WithString("assumeRoleId", m_assumeRoleId); + + } + + return payload; +} + +} // namespace Model +} // namespace EKSAuth +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-eks-auth/source/model/Credentials.cpp b/generated/src/aws-cpp-sdk-eks-auth/source/model/Credentials.cpp new file mode 100644 index 00000000000..eea9c8efc93 --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks-auth/source/model/Credentials.cpp @@ -0,0 +1,103 @@ +/** + * 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 EKSAuth +{ +namespace Model +{ + +Credentials::Credentials() : + m_sessionTokenHasBeenSet(false), + m_secretAccessKeyHasBeenSet(false), + m_accessKeyIdHasBeenSet(false), + m_expirationHasBeenSet(false) +{ +} + +Credentials::Credentials(JsonView jsonValue) : + m_sessionTokenHasBeenSet(false), + m_secretAccessKeyHasBeenSet(false), + m_accessKeyIdHasBeenSet(false), + m_expirationHasBeenSet(false) +{ + *this = jsonValue; +} + +Credentials& Credentials::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("sessionToken")) + { + m_sessionToken = jsonValue.GetString("sessionToken"); + + m_sessionTokenHasBeenSet = true; + } + + if(jsonValue.ValueExists("secretAccessKey")) + { + m_secretAccessKey = jsonValue.GetString("secretAccessKey"); + + m_secretAccessKeyHasBeenSet = true; + } + + if(jsonValue.ValueExists("accessKeyId")) + { + m_accessKeyId = jsonValue.GetString("accessKeyId"); + + m_accessKeyIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("expiration")) + { + m_expiration = jsonValue.GetDouble("expiration"); + + m_expirationHasBeenSet = true; + } + + return *this; +} + +JsonValue Credentials::Jsonize() const +{ + JsonValue payload; + + if(m_sessionTokenHasBeenSet) + { + payload.WithString("sessionToken", m_sessionToken); + + } + + if(m_secretAccessKeyHasBeenSet) + { + payload.WithString("secretAccessKey", m_secretAccessKey); + + } + + if(m_accessKeyIdHasBeenSet) + { + payload.WithString("accessKeyId", m_accessKeyId); + + } + + if(m_expirationHasBeenSet) + { + payload.WithDouble("expiration", m_expiration.SecondsWithMSPrecision()); + } + + return payload; +} + +} // namespace Model +} // namespace EKSAuth +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-eks-auth/source/model/PodIdentityAssociation.cpp b/generated/src/aws-cpp-sdk-eks-auth/source/model/PodIdentityAssociation.cpp new file mode 100644 index 00000000000..dca933eeb90 --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks-auth/source/model/PodIdentityAssociation.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 EKSAuth +{ +namespace Model +{ + +PodIdentityAssociation::PodIdentityAssociation() : + m_associationArnHasBeenSet(false), + m_associationIdHasBeenSet(false) +{ +} + +PodIdentityAssociation::PodIdentityAssociation(JsonView jsonValue) : + m_associationArnHasBeenSet(false), + m_associationIdHasBeenSet(false) +{ + *this = jsonValue; +} + +PodIdentityAssociation& PodIdentityAssociation::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("associationArn")) + { + m_associationArn = jsonValue.GetString("associationArn"); + + m_associationArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("associationId")) + { + m_associationId = jsonValue.GetString("associationId"); + + m_associationIdHasBeenSet = true; + } + + return *this; +} + +JsonValue PodIdentityAssociation::Jsonize() const +{ + JsonValue payload; + + if(m_associationArnHasBeenSet) + { + payload.WithString("associationArn", m_associationArn); + + } + + if(m_associationIdHasBeenSet) + { + payload.WithString("associationId", m_associationId); + + } + + return payload; +} + +} // namespace Model +} // namespace EKSAuth +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-eks-auth/source/model/Subject.cpp b/generated/src/aws-cpp-sdk-eks-auth/source/model/Subject.cpp new file mode 100644 index 00000000000..4669e62a6a0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks-auth/source/model/Subject.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 EKSAuth +{ +namespace Model +{ + +Subject::Subject() : + m_namespaceHasBeenSet(false), + m_serviceAccountHasBeenSet(false) +{ +} + +Subject::Subject(JsonView jsonValue) : + m_namespaceHasBeenSet(false), + m_serviceAccountHasBeenSet(false) +{ + *this = jsonValue; +} + +Subject& Subject::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("namespace")) + { + m_namespace = jsonValue.GetString("namespace"); + + m_namespaceHasBeenSet = true; + } + + if(jsonValue.ValueExists("serviceAccount")) + { + m_serviceAccount = jsonValue.GetString("serviceAccount"); + + m_serviceAccountHasBeenSet = true; + } + + return *this; +} + +JsonValue Subject::Jsonize() const +{ + JsonValue payload; + + if(m_namespaceHasBeenSet) + { + payload.WithString("namespace", m_namespace); + + } + + if(m_serviceAccountHasBeenSet) + { + payload.WithString("serviceAccount", m_serviceAccount); + + } + + return payload; +} + +} // namespace Model +} // namespace EKSAuth +} // namespace Aws 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 7a5e2495a76..fabb8f0bf24 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 @@ -192,10 +192,26 @@ namespace EKS * exec, logs, and proxy data flows).

                *

                Amazon EKS nodes run in your Amazon Web Services account and connect to your * cluster's control plane over the Kubernetes API server endpoint and a - * certificate file that is created for your cluster.

                In most cases, it - * takes several minutes to create a cluster. After you create an Amazon EKS - * cluster, you must configure your Kubernetes tooling to communicate with the API - * server and launch nodes into your cluster. For more information, see

                You can use the + * endpointPublicAccess and endpointPrivateAccess + * parameters to enable or disable public and private access to your cluster's + * Kubernetes API server endpoint. By default, public access is enabled, and + * private access is disabled. For more information, see Amazon + * EKS Cluster Endpoint Access Control in the Amazon EKS User Guide + * .

                You can use the logging parameter to 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.

                + *

                In most cases, it takes several minutes to create a cluster. After + * you create an Amazon EKS cluster, you must configure your Kubernetes tooling to + * communicate with the API server and launch nodes into your cluster. For more + * information, see Managing * Cluster Authentication and Launching @@ -338,6 +354,43 @@ namespace EKS return SubmitAsync(&EKSClient::CreateNodegroup, request, handler, context); } + /** + *

                Creates an EKS Pod Identity association between a service account in an + * Amazon EKS cluster and an IAM role with EKS Pod Identity. Use EKS Pod + * Identity to give temporary IAM credentials to pods and the credentials are + * rotated automatically.

                Amazon EKS Pod Identity associations provide the + * ability to manage credentials for your applications, similar to the way that + * 7EC2l instance profiles provide credentials to Amazon EC2 instances.

                If a + * pod uses a service account that has an association, Amazon EKS sets environment + * variables in the containers of the pod. The environment variables configure the + * Amazon Web Services SDKs, including the Command Line Interface, to use the EKS + * Pod Identity credentials.

                Pod Identity is a simpler method than IAM + * roles for service accounts, as this method doesn't use OIDC identity + * providers. Additionally, you can configure a role for Pod Identity once, and + * reuse it across clusters.

                See Also:

                AWS + * API Reference

                + */ + virtual Model::CreatePodIdentityAssociationOutcome CreatePodIdentityAssociation(const Model::CreatePodIdentityAssociationRequest& request) const; + + /** + * A Callable wrapper for CreatePodIdentityAssociation that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::CreatePodIdentityAssociationOutcomeCallable CreatePodIdentityAssociationCallable(const CreatePodIdentityAssociationRequestT& request) const + { + return SubmitCallable(&EKSClient::CreatePodIdentityAssociation, request); + } + + /** + * An Async wrapper for CreatePodIdentityAssociation that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void CreatePodIdentityAssociationAsync(const CreatePodIdentityAssociationRequestT& request, const CreatePodIdentityAssociationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&EKSClient::CreatePodIdentityAssociation, request, handler, context); + } + /** *

                Delete an Amazon EKS add-on.

                When you remove the add-on, it will also * be deleted from the cluster. You can always manually start an add-on on the @@ -400,10 +453,10 @@ namespace EKS } /** - *

                Deletes an expired / inactive subscription. Deleting inactive subscriptions + *

                Deletes an expired or inactive subscription. Deleting inactive subscriptions * removes them from the Amazon Web Services Management Console view and from * list/describe API responses. Subscriptions can only be cancelled within 7 days - * of creation, and are cancelled by creating a ticket in the Amazon Web Services + * of creation and are cancelled by creating a ticket in the Amazon Web Services * Support Center.

                See Also:

                AWS * API Reference

                @@ -485,6 +538,35 @@ namespace EKS return SubmitAsync(&EKSClient::DeleteNodegroup, request, handler, context); } + /** + *

                Deletes a EKS Pod Identity association.

                The temporary Amazon Web + * Services credentials from the previous IAM role session might still be valid + * until the session expiry. If you need to immediately revoke the temporary + * session credentials, then go to the role in the IAM console.

                See + * Also:

                AWS + * API Reference

                + */ + virtual Model::DeletePodIdentityAssociationOutcome DeletePodIdentityAssociation(const Model::DeletePodIdentityAssociationRequest& request) const; + + /** + * A Callable wrapper for DeletePodIdentityAssociation that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DeletePodIdentityAssociationOutcomeCallable DeletePodIdentityAssociationCallable(const DeletePodIdentityAssociationRequestT& request) const + { + return SubmitCallable(&EKSClient::DeletePodIdentityAssociation, request); + } + + /** + * An Async wrapper for DeletePodIdentityAssociation that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DeletePodIdentityAssociationAsync(const DeletePodIdentityAssociationRequestT& request, const DeletePodIdentityAssociationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&EKSClient::DeletePodIdentityAssociation, request, handler, context); + } + /** *

                Deregisters a connected cluster to remove it from the Amazon EKS control * plane.

                See Also:

                Returns descriptive information about an EKS Pod Identity association.

                + *

                This action requires the ID of the association. You can get the ID from the + * response to the CreatePodIdentityAssocation for newly created + * associations. Or, you can list the IDs for associations with + * ListPodIdentityAssociations and filter the list by namespace or + * service account.

                See Also:

                AWS + * API Reference

                + */ + virtual Model::DescribePodIdentityAssociationOutcome DescribePodIdentityAssociation(const Model::DescribePodIdentityAssociationRequest& request) const; + + /** + * A Callable wrapper for DescribePodIdentityAssociation that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DescribePodIdentityAssociationOutcomeCallable DescribePodIdentityAssociationCallable(const DescribePodIdentityAssociationRequestT& request) const + { + return SubmitCallable(&EKSClient::DescribePodIdentityAssociation, request); + } + + /** + * An Async wrapper for DescribePodIdentityAssociation that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DescribePodIdentityAssociationAsync(const DescribePodIdentityAssociationRequestT& request, const DescribePodIdentityAssociationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&EKSClient::DescribePodIdentityAssociation, request, handler, context); + } + /** *

                Returns descriptive information about an update against your Amazon EKS * cluster or associated managed node group or Amazon EKS add-on.

                When the @@ -940,6 +1052,33 @@ namespace EKS return SubmitAsync(&EKSClient::ListNodegroups, request, handler, context); } + /** + *

                List the EKS Pod Identity associations in a cluster. You can filter the list + * by the namespace that the association is in or the service account that the + * association uses.

                See Also:

                AWS + * API Reference

                + */ + virtual Model::ListPodIdentityAssociationsOutcome ListPodIdentityAssociations(const Model::ListPodIdentityAssociationsRequest& request) const; + + /** + * A Callable wrapper for ListPodIdentityAssociations that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListPodIdentityAssociationsOutcomeCallable ListPodIdentityAssociationsCallable(const ListPodIdentityAssociationsRequestT& request) const + { + return SubmitCallable(&EKSClient::ListPodIdentityAssociations, request); + } + + /** + * An Async wrapper for ListPodIdentityAssociations that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListPodIdentityAssociationsAsync(const ListPodIdentityAssociationsRequestT& request, const ListPodIdentityAssociationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&EKSClient::ListPodIdentityAssociations, request, handler, context); + } + /** *

                List the tags for an Amazon EKS resource.

                See Also:

                AWS @@ -1130,12 +1269,17 @@ namespace EKS * see Amazon * EKS cluster endpoint access control in the Amazon EKS User Guide - * .

                You can't update the subnets or security group IDs for - * an existing cluster.

                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 + * .

                You can also use this API operation to choose different subnets and + * security groups for the cluster. You must specify at least two subnets that are + * in different Availability Zones. You can't change which VPC the subnets are + * from, the subnets must be in the same VPC as the subnets that the cluster was + * created with. For more information about the VPC requirements, see https://docs.aws.amazon.com/eks/latest/userguide/network_reqs.html + * in the Amazon EKS User Guide .

                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.

                See Also:

                AWS * API Reference

                @@ -1298,6 +1442,35 @@ namespace EKS return SubmitAsync(&EKSClient::UpdateNodegroupVersion, request, handler, context); } + /** + *

                Updates a EKS Pod Identity association. Only the IAM role can be changed; an + * association can't be moved between clusters, namespaces, or service accounts. If + * you need to edit the namespace or service account, you need to remove the + * association and then create a new association with your desired + * settings.

                See Also:

                AWS + * API Reference

                + */ + virtual Model::UpdatePodIdentityAssociationOutcome UpdatePodIdentityAssociation(const Model::UpdatePodIdentityAssociationRequest& request) const; + + /** + * A Callable wrapper for UpdatePodIdentityAssociation that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::UpdatePodIdentityAssociationOutcomeCallable UpdatePodIdentityAssociationCallable(const UpdatePodIdentityAssociationRequestT& request) const + { + return SubmitCallable(&EKSClient::UpdatePodIdentityAssociation, request); + } + + /** + * An Async wrapper for UpdatePodIdentityAssociation that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void UpdatePodIdentityAssociationAsync(const UpdatePodIdentityAssociationRequestT& request, const UpdatePodIdentityAssociationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&EKSClient::UpdatePodIdentityAssociation, request, handler, context); + } + void OverrideEndpoint(const Aws::String& endpoint); std::shared_ptr& accessEndpointProvider(); diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/EKSServiceClientModel.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/EKSServiceClientModel.h index 3e6a8d894de..a1c47bec871 100644 --- a/generated/src/aws-cpp-sdk-eks/include/aws/eks/EKSServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/EKSServiceClientModel.h @@ -25,11 +25,13 @@ #include #include #include +#include #include #include #include #include #include +#include #include #include #include @@ -39,6 +41,7 @@ #include #include #include +#include #include #include #include @@ -47,6 +50,7 @@ #include #include #include +#include #include #include #include @@ -58,6 +62,7 @@ #include #include #include +#include /* End of service model headers required in EKSClient header */ namespace Aws @@ -105,11 +110,13 @@ namespace Aws class CreateEksAnywhereSubscriptionRequest; class CreateFargateProfileRequest; class CreateNodegroupRequest; + class CreatePodIdentityAssociationRequest; class DeleteAddonRequest; class DeleteClusterRequest; class DeleteEksAnywhereSubscriptionRequest; class DeleteFargateProfileRequest; class DeleteNodegroupRequest; + class DeletePodIdentityAssociationRequest; class DeregisterClusterRequest; class DescribeAddonRequest; class DescribeAddonConfigurationRequest; @@ -119,6 +126,7 @@ namespace Aws class DescribeFargateProfileRequest; class DescribeIdentityProviderConfigRequest; class DescribeNodegroupRequest; + class DescribePodIdentityAssociationRequest; class DescribeUpdateRequest; class DisassociateIdentityProviderConfigRequest; class ListAddonsRequest; @@ -127,6 +135,7 @@ namespace Aws class ListFargateProfilesRequest; class ListIdentityProviderConfigsRequest; class ListNodegroupsRequest; + class ListPodIdentityAssociationsRequest; class ListTagsForResourceRequest; class ListUpdatesRequest; class RegisterClusterRequest; @@ -138,6 +147,7 @@ namespace Aws class UpdateEksAnywhereSubscriptionRequest; class UpdateNodegroupConfigRequest; class UpdateNodegroupVersionRequest; + class UpdatePodIdentityAssociationRequest; /* End of service model forward declarations required in EKSClient header */ /* Service model Outcome class definitions */ @@ -148,11 +158,13 @@ namespace Aws typedef Aws::Utils::Outcome CreateEksAnywhereSubscriptionOutcome; typedef Aws::Utils::Outcome CreateFargateProfileOutcome; typedef Aws::Utils::Outcome CreateNodegroupOutcome; + typedef Aws::Utils::Outcome CreatePodIdentityAssociationOutcome; typedef Aws::Utils::Outcome DeleteAddonOutcome; typedef Aws::Utils::Outcome DeleteClusterOutcome; typedef Aws::Utils::Outcome DeleteEksAnywhereSubscriptionOutcome; typedef Aws::Utils::Outcome DeleteFargateProfileOutcome; typedef Aws::Utils::Outcome DeleteNodegroupOutcome; + typedef Aws::Utils::Outcome DeletePodIdentityAssociationOutcome; typedef Aws::Utils::Outcome DeregisterClusterOutcome; typedef Aws::Utils::Outcome DescribeAddonOutcome; typedef Aws::Utils::Outcome DescribeAddonConfigurationOutcome; @@ -162,6 +174,7 @@ namespace Aws typedef Aws::Utils::Outcome DescribeFargateProfileOutcome; typedef Aws::Utils::Outcome DescribeIdentityProviderConfigOutcome; typedef Aws::Utils::Outcome DescribeNodegroupOutcome; + typedef Aws::Utils::Outcome DescribePodIdentityAssociationOutcome; typedef Aws::Utils::Outcome DescribeUpdateOutcome; typedef Aws::Utils::Outcome DisassociateIdentityProviderConfigOutcome; typedef Aws::Utils::Outcome ListAddonsOutcome; @@ -170,6 +183,7 @@ namespace Aws typedef Aws::Utils::Outcome ListFargateProfilesOutcome; typedef Aws::Utils::Outcome ListIdentityProviderConfigsOutcome; typedef Aws::Utils::Outcome ListNodegroupsOutcome; + typedef Aws::Utils::Outcome ListPodIdentityAssociationsOutcome; typedef Aws::Utils::Outcome ListTagsForResourceOutcome; typedef Aws::Utils::Outcome ListUpdatesOutcome; typedef Aws::Utils::Outcome RegisterClusterOutcome; @@ -181,6 +195,7 @@ namespace Aws typedef Aws::Utils::Outcome UpdateEksAnywhereSubscriptionOutcome; typedef Aws::Utils::Outcome UpdateNodegroupConfigOutcome; typedef Aws::Utils::Outcome UpdateNodegroupVersionOutcome; + typedef Aws::Utils::Outcome UpdatePodIdentityAssociationOutcome; /* End of service model Outcome class definitions */ /* Service model Outcome callable definitions */ @@ -191,11 +206,13 @@ namespace Aws typedef std::future CreateEksAnywhereSubscriptionOutcomeCallable; typedef std::future CreateFargateProfileOutcomeCallable; typedef std::future CreateNodegroupOutcomeCallable; + typedef std::future CreatePodIdentityAssociationOutcomeCallable; typedef std::future DeleteAddonOutcomeCallable; typedef std::future DeleteClusterOutcomeCallable; typedef std::future DeleteEksAnywhereSubscriptionOutcomeCallable; typedef std::future DeleteFargateProfileOutcomeCallable; typedef std::future DeleteNodegroupOutcomeCallable; + typedef std::future DeletePodIdentityAssociationOutcomeCallable; typedef std::future DeregisterClusterOutcomeCallable; typedef std::future DescribeAddonOutcomeCallable; typedef std::future DescribeAddonConfigurationOutcomeCallable; @@ -205,6 +222,7 @@ namespace Aws typedef std::future DescribeFargateProfileOutcomeCallable; typedef std::future DescribeIdentityProviderConfigOutcomeCallable; typedef std::future DescribeNodegroupOutcomeCallable; + typedef std::future DescribePodIdentityAssociationOutcomeCallable; typedef std::future DescribeUpdateOutcomeCallable; typedef std::future DisassociateIdentityProviderConfigOutcomeCallable; typedef std::future ListAddonsOutcomeCallable; @@ -213,6 +231,7 @@ namespace Aws typedef std::future ListFargateProfilesOutcomeCallable; typedef std::future ListIdentityProviderConfigsOutcomeCallable; typedef std::future ListNodegroupsOutcomeCallable; + typedef std::future ListPodIdentityAssociationsOutcomeCallable; typedef std::future ListTagsForResourceOutcomeCallable; typedef std::future ListUpdatesOutcomeCallable; typedef std::future RegisterClusterOutcomeCallable; @@ -224,6 +243,7 @@ namespace Aws typedef std::future UpdateEksAnywhereSubscriptionOutcomeCallable; typedef std::future UpdateNodegroupConfigOutcomeCallable; typedef std::future UpdateNodegroupVersionOutcomeCallable; + typedef std::future UpdatePodIdentityAssociationOutcomeCallable; /* End of service model Outcome callable definitions */ } // namespace Model @@ -237,11 +257,13 @@ namespace Aws typedef std::function&) > CreateEksAnywhereSubscriptionResponseReceivedHandler; typedef std::function&) > CreateFargateProfileResponseReceivedHandler; typedef std::function&) > CreateNodegroupResponseReceivedHandler; + typedef std::function&) > CreatePodIdentityAssociationResponseReceivedHandler; typedef std::function&) > DeleteAddonResponseReceivedHandler; typedef std::function&) > DeleteClusterResponseReceivedHandler; typedef std::function&) > DeleteEksAnywhereSubscriptionResponseReceivedHandler; typedef std::function&) > DeleteFargateProfileResponseReceivedHandler; typedef std::function&) > DeleteNodegroupResponseReceivedHandler; + typedef std::function&) > DeletePodIdentityAssociationResponseReceivedHandler; typedef std::function&) > DeregisterClusterResponseReceivedHandler; typedef std::function&) > DescribeAddonResponseReceivedHandler; typedef std::function&) > DescribeAddonConfigurationResponseReceivedHandler; @@ -251,6 +273,7 @@ namespace Aws typedef std::function&) > DescribeFargateProfileResponseReceivedHandler; typedef std::function&) > DescribeIdentityProviderConfigResponseReceivedHandler; typedef std::function&) > DescribeNodegroupResponseReceivedHandler; + typedef std::function&) > DescribePodIdentityAssociationResponseReceivedHandler; typedef std::function&) > DescribeUpdateResponseReceivedHandler; typedef std::function&) > DisassociateIdentityProviderConfigResponseReceivedHandler; typedef std::function&) > ListAddonsResponseReceivedHandler; @@ -259,6 +282,7 @@ namespace Aws typedef std::function&) > ListFargateProfilesResponseReceivedHandler; typedef std::function&) > ListIdentityProviderConfigsResponseReceivedHandler; typedef std::function&) > ListNodegroupsResponseReceivedHandler; + typedef std::function&) > ListPodIdentityAssociationsResponseReceivedHandler; typedef std::function&) > ListTagsForResourceResponseReceivedHandler; typedef std::function&) > ListUpdatesResponseReceivedHandler; typedef std::function&) > RegisterClusterResponseReceivedHandler; @@ -270,6 +294,7 @@ namespace Aws typedef std::function&) > UpdateEksAnywhereSubscriptionResponseReceivedHandler; typedef std::function&) > UpdateNodegroupConfigResponseReceivedHandler; typedef std::function&) > UpdateNodegroupVersionResponseReceivedHandler; + typedef std::function&) > UpdatePodIdentityAssociationResponseReceivedHandler; /* End of service model async handlers definitions */ } // namespace EKS } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/ClientException.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/ClientException.h index f3f6e0a0cd1..993936b495d 100644 --- a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/ClientException.h +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/ClientException.h @@ -123,28 +123,44 @@ namespace Model inline ClientException& WithNodegroupName(const char* value) { SetNodegroupName(value); return *this;} - + /** + *

                The Amazon EKS add-on name associated with the exception.

                + */ inline const Aws::String& GetAddonName() const{ return m_addonName; } - + /** + *

                The Amazon EKS add-on name associated with the exception.

                + */ inline bool AddonNameHasBeenSet() const { return m_addonNameHasBeenSet; } - + /** + *

                The Amazon EKS add-on name associated with the exception.

                + */ inline void SetAddonName(const Aws::String& value) { m_addonNameHasBeenSet = true; m_addonName = value; } - + /** + *

                The Amazon EKS add-on name associated with the exception.

                + */ inline void SetAddonName(Aws::String&& value) { m_addonNameHasBeenSet = true; m_addonName = std::move(value); } - + /** + *

                The Amazon EKS add-on name associated with the exception.

                + */ inline void SetAddonName(const char* value) { m_addonNameHasBeenSet = true; m_addonName.assign(value); } - + /** + *

                The Amazon EKS add-on name associated with the exception.

                + */ inline ClientException& WithAddonName(const Aws::String& value) { SetAddonName(value); return *this;} - + /** + *

                The Amazon EKS add-on name associated with the exception.

                + */ inline ClientException& WithAddonName(Aws::String&& value) { SetAddonName(std::move(value)); return *this;} - + /** + *

                The Amazon EKS add-on name associated with the exception.

                + */ inline ClientException& WithAddonName(const char* value) { SetAddonName(value); return *this;} @@ -189,28 +205,76 @@ namespace Model inline ClientException& WithSubscriptionId(const char* value) { SetSubscriptionId(value); return *this;} - + /** + *

                These errors are usually caused by a client action. Actions can include using + * an action or resource on behalf of an IAM + * principal that doesn't have permissions to use the action or resource or + * specifying an identifier that is not valid.

                + */ inline const Aws::String& GetMessage() const{ return m_message; } - + /** + *

                These errors are usually caused by a client action. Actions can include using + * an action or resource on behalf of an IAM + * principal that doesn't have permissions to use the action or resource or + * specifying an identifier that is not valid.

                + */ inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } - + /** + *

                These errors are usually caused by a client action. Actions can include using + * an action or resource on behalf of an IAM + * principal that doesn't have permissions to use the action or resource or + * specifying an identifier that is not valid.

                + */ inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; } - + /** + *

                These errors are usually caused by a client action. Actions can include using + * an action or resource on behalf of an IAM + * principal that doesn't have permissions to use the action or resource or + * specifying an identifier that is not valid.

                + */ inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); } - + /** + *

                These errors are usually caused by a client action. Actions can include using + * an action or resource on behalf of an IAM + * principal that doesn't have permissions to use the action or resource or + * specifying an identifier that is not valid.

                + */ inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); } - + /** + *

                These errors are usually caused by a client action. Actions can include using + * an action or resource on behalf of an IAM + * principal that doesn't have permissions to use the action or resource or + * specifying an identifier that is not valid.

                + */ inline ClientException& WithMessage(const Aws::String& value) { SetMessage(value); return *this;} - + /** + *

                These errors are usually caused by a client action. Actions can include using + * an action or resource on behalf of an IAM + * principal that doesn't have permissions to use the action or resource or + * specifying an identifier that is not valid.

                + */ inline ClientException& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;} - + /** + *

                These errors are usually caused by a client action. Actions can include using + * an action or resource on behalf of an IAM + * principal that doesn't have permissions to use the action or resource or + * specifying an identifier that is not valid.

                + */ inline ClientException& WithMessage(const char* value) { SetMessage(value); return *this;} private: diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/CreateEksAnywhereSubscriptionRequest.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/CreateEksAnywhereSubscriptionRequest.h index 95cc903e5e4..fb236ebc026 100644 --- a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/CreateEksAnywhereSubscriptionRequest.h +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/CreateEksAnywhereSubscriptionRequest.h @@ -166,28 +166,28 @@ namespace Model /** *

                The number of licenses to purchase with the subscription. Valid values are - * between 1 and 1000. This value cannot be changed after creating the + * between 1 and 100. This value can't be changed after creating the * subscription.

                */ inline int GetLicenseQuantity() const{ return m_licenseQuantity; } /** *

                The number of licenses to purchase with the subscription. Valid values are - * between 1 and 1000. This value cannot be changed after creating the + * between 1 and 100. This value can't be changed after creating the * subscription.

                */ inline bool LicenseQuantityHasBeenSet() const { return m_licenseQuantityHasBeenSet; } /** *

                The number of licenses to purchase with the subscription. Valid values are - * between 1 and 1000. This value cannot be changed after creating the + * between 1 and 100. This value can't be changed after creating the * subscription.

                */ inline void SetLicenseQuantity(int value) { m_licenseQuantityHasBeenSet = true; m_licenseQuantity = value; } /** *

                The number of licenses to purchase with the subscription. Valid values are - * between 1 and 1000. This value cannot be changed after creating the + * between 1 and 100. This value can't be changed after creating the * subscription.

                */ inline CreateEksAnywhereSubscriptionRequest& WithLicenseQuantity(int value) { SetLicenseQuantity(value); return *this;} @@ -313,7 +313,7 @@ namespace Model /** *

                The metadata for a subscription to assist with categorization and * organization. Each tag consists of a key and an optional value. Subscription - * tags do not propagate to any other resources associated with the + * tags don't propagate to any other resources associated with the * subscription.

                */ inline const Aws::Map& GetTags() const{ return m_tags; } @@ -321,7 +321,7 @@ namespace Model /** *

                The metadata for a subscription to assist with categorization and * organization. Each tag consists of a key and an optional value. Subscription - * tags do not propagate to any other resources associated with the + * tags don't propagate to any other resources associated with the * subscription.

                */ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } @@ -329,7 +329,7 @@ namespace Model /** *

                The metadata for a subscription to assist with categorization and * organization. Each tag consists of a key and an optional value. Subscription - * tags do not propagate to any other resources associated with the + * tags don't propagate to any other resources associated with the * subscription.

                */ inline void SetTags(const Aws::Map& value) { m_tagsHasBeenSet = true; m_tags = value; } @@ -337,7 +337,7 @@ namespace Model /** *

                The metadata for a subscription to assist with categorization and * organization. Each tag consists of a key and an optional value. Subscription - * tags do not propagate to any other resources associated with the + * tags don't propagate to any other resources associated with the * subscription.

                */ inline void SetTags(Aws::Map&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } @@ -345,7 +345,7 @@ namespace Model /** *

                The metadata for a subscription to assist with categorization and * organization. Each tag consists of a key and an optional value. Subscription - * tags do not propagate to any other resources associated with the + * tags don't propagate to any other resources associated with the * subscription.

                */ inline CreateEksAnywhereSubscriptionRequest& WithTags(const Aws::Map& value) { SetTags(value); return *this;} @@ -353,7 +353,7 @@ namespace Model /** *

                The metadata for a subscription to assist with categorization and * organization. Each tag consists of a key and an optional value. Subscription - * tags do not propagate to any other resources associated with the + * tags don't propagate to any other resources associated with the * subscription.

                */ inline CreateEksAnywhereSubscriptionRequest& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} @@ -361,7 +361,7 @@ namespace Model /** *

                The metadata for a subscription to assist with categorization and * organization. Each tag consists of a key and an optional value. Subscription - * tags do not propagate to any other resources associated with the + * tags don't propagate to any other resources associated with the * subscription.

                */ inline CreateEksAnywhereSubscriptionRequest& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } @@ -369,7 +369,7 @@ namespace Model /** *

                The metadata for a subscription to assist with categorization and * organization. Each tag consists of a key and an optional value. Subscription - * tags do not propagate to any other resources associated with the + * tags don't propagate to any other resources associated with the * subscription.

                */ inline CreateEksAnywhereSubscriptionRequest& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } @@ -377,7 +377,7 @@ namespace Model /** *

                The metadata for a subscription to assist with categorization and * organization. Each tag consists of a key and an optional value. Subscription - * tags do not propagate to any other resources associated with the + * tags don't propagate to any other resources associated with the * subscription.

                */ inline CreateEksAnywhereSubscriptionRequest& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } @@ -385,7 +385,7 @@ namespace Model /** *

                The metadata for a subscription to assist with categorization and * organization. Each tag consists of a key and an optional value. Subscription - * tags do not propagate to any other resources associated with the + * tags don't propagate to any other resources associated with the * subscription.

                */ inline CreateEksAnywhereSubscriptionRequest& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } @@ -393,7 +393,7 @@ namespace Model /** *

                The metadata for a subscription to assist with categorization and * organization. Each tag consists of a key and an optional value. Subscription - * tags do not propagate to any other resources associated with the + * tags don't propagate to any other resources associated with the * subscription.

                */ inline CreateEksAnywhereSubscriptionRequest& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } @@ -401,7 +401,7 @@ namespace Model /** *

                The metadata for a subscription to assist with categorization and * organization. Each tag consists of a key and an optional value. Subscription - * tags do not propagate to any other resources associated with the + * tags don't propagate to any other resources associated with the * subscription.

                */ inline CreateEksAnywhereSubscriptionRequest& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } @@ -409,7 +409,7 @@ namespace Model /** *

                The metadata for a subscription to assist with categorization and * organization. Each tag consists of a key and an optional value. Subscription - * tags do not propagate to any other resources associated with the + * tags don't propagate to any other resources associated with the * subscription.

                */ inline CreateEksAnywhereSubscriptionRequest& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/CreatePodIdentityAssociationRequest.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/CreatePodIdentityAssociationRequest.h new file mode 100644 index 00000000000..aa12194d6c5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/CreatePodIdentityAssociationRequest.h @@ -0,0 +1,573 @@ +/** + * 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 EKS +{ +namespace Model +{ + + /** + */ + class CreatePodIdentityAssociationRequest : public EKSRequest + { + public: + AWS_EKS_API CreatePodIdentityAssociationRequest(); + + // 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 "CreatePodIdentityAssociation"; } + + AWS_EKS_API Aws::String SerializePayload() const override; + + + /** + *

                The name of the cluster to create the association in.

                + */ + inline const Aws::String& GetClusterName() const{ return m_clusterName; } + + /** + *

                The name of the cluster to create the association in.

                + */ + inline bool ClusterNameHasBeenSet() const { return m_clusterNameHasBeenSet; } + + /** + *

                The name of the cluster to create the association in.

                + */ + inline void SetClusterName(const Aws::String& value) { m_clusterNameHasBeenSet = true; m_clusterName = value; } + + /** + *

                The name of the cluster to create the association in.

                + */ + inline void SetClusterName(Aws::String&& value) { m_clusterNameHasBeenSet = true; m_clusterName = std::move(value); } + + /** + *

                The name of the cluster to create the association in.

                + */ + inline void SetClusterName(const char* value) { m_clusterNameHasBeenSet = true; m_clusterName.assign(value); } + + /** + *

                The name of the cluster to create the association in.

                + */ + inline CreatePodIdentityAssociationRequest& WithClusterName(const Aws::String& value) { SetClusterName(value); return *this;} + + /** + *

                The name of the cluster to create the association in.

                + */ + inline CreatePodIdentityAssociationRequest& WithClusterName(Aws::String&& value) { SetClusterName(std::move(value)); return *this;} + + /** + *

                The name of the cluster to create the association in.

                + */ + inline CreatePodIdentityAssociationRequest& WithClusterName(const char* value) { SetClusterName(value); return *this;} + + + /** + *

                The name of the Kubernetes namespace inside the cluster to create the + * association in. The service account and the pods that use the service account + * must be in this namespace.

                + */ + inline const Aws::String& GetNamespace() const{ return m_namespace; } + + /** + *

                The name of the Kubernetes namespace inside the cluster to create the + * association in. The service account and the pods that use the service account + * must be in this namespace.

                + */ + inline bool NamespaceHasBeenSet() const { return m_namespaceHasBeenSet; } + + /** + *

                The name of the Kubernetes namespace inside the cluster to create the + * association in. The service account and the pods that use the service account + * must be in this namespace.

                + */ + inline void SetNamespace(const Aws::String& value) { m_namespaceHasBeenSet = true; m_namespace = value; } + + /** + *

                The name of the Kubernetes namespace inside the cluster to create the + * association in. The service account and the pods that use the service account + * must be in this namespace.

                + */ + inline void SetNamespace(Aws::String&& value) { m_namespaceHasBeenSet = true; m_namespace = std::move(value); } + + /** + *

                The name of the Kubernetes namespace inside the cluster to create the + * association in. The service account and the pods that use the service account + * must be in this namespace.

                + */ + inline void SetNamespace(const char* value) { m_namespaceHasBeenSet = true; m_namespace.assign(value); } + + /** + *

                The name of the Kubernetes namespace inside the cluster to create the + * association in. The service account and the pods that use the service account + * must be in this namespace.

                + */ + inline CreatePodIdentityAssociationRequest& WithNamespace(const Aws::String& value) { SetNamespace(value); return *this;} + + /** + *

                The name of the Kubernetes namespace inside the cluster to create the + * association in. The service account and the pods that use the service account + * must be in this namespace.

                + */ + inline CreatePodIdentityAssociationRequest& WithNamespace(Aws::String&& value) { SetNamespace(std::move(value)); return *this;} + + /** + *

                The name of the Kubernetes namespace inside the cluster to create the + * association in. The service account and the pods that use the service account + * must be in this namespace.

                + */ + inline CreatePodIdentityAssociationRequest& WithNamespace(const char* value) { SetNamespace(value); return *this;} + + + /** + *

                The name of the Kubernetes service account inside the cluster to associate + * the IAM credentials with.

                + */ + inline const Aws::String& GetServiceAccount() const{ return m_serviceAccount; } + + /** + *

                The name of the Kubernetes service account inside the cluster to associate + * the IAM credentials with.

                + */ + inline bool ServiceAccountHasBeenSet() const { return m_serviceAccountHasBeenSet; } + + /** + *

                The name of the Kubernetes service account inside the cluster to associate + * the IAM credentials with.

                + */ + inline void SetServiceAccount(const Aws::String& value) { m_serviceAccountHasBeenSet = true; m_serviceAccount = value; } + + /** + *

                The name of the Kubernetes service account inside the cluster to associate + * the IAM credentials with.

                + */ + inline void SetServiceAccount(Aws::String&& value) { m_serviceAccountHasBeenSet = true; m_serviceAccount = std::move(value); } + + /** + *

                The name of the Kubernetes service account inside the cluster to associate + * the IAM credentials with.

                + */ + inline void SetServiceAccount(const char* value) { m_serviceAccountHasBeenSet = true; m_serviceAccount.assign(value); } + + /** + *

                The name of the Kubernetes service account inside the cluster to associate + * the IAM credentials with.

                + */ + inline CreatePodIdentityAssociationRequest& WithServiceAccount(const Aws::String& value) { SetServiceAccount(value); return *this;} + + /** + *

                The name of the Kubernetes service account inside the cluster to associate + * the IAM credentials with.

                + */ + inline CreatePodIdentityAssociationRequest& WithServiceAccount(Aws::String&& value) { SetServiceAccount(std::move(value)); return *this;} + + /** + *

                The name of the Kubernetes service account inside the cluster to associate + * the IAM credentials with.

                + */ + inline CreatePodIdentityAssociationRequest& WithServiceAccount(const char* value) { SetServiceAccount(value); return *this;} + + + /** + *

                The Amazon Resource Name (ARN) of the IAM role to associate with the service + * account. The EKS Pod Identity agent manages credentials to assume this role for + * applications in the containers in the pods that use this service account.

                + */ + inline const Aws::String& GetRoleArn() const{ return m_roleArn; } + + /** + *

                The Amazon Resource Name (ARN) of the IAM role to associate with the service + * account. The EKS Pod Identity agent manages credentials to assume this role for + * applications in the containers in the pods that use this service account.

                + */ + inline bool RoleArnHasBeenSet() const { return m_roleArnHasBeenSet; } + + /** + *

                The Amazon Resource Name (ARN) of the IAM role to associate with the service + * account. The EKS Pod Identity agent manages credentials to assume this role for + * applications in the containers in the pods that use this service account.

                + */ + inline void SetRoleArn(const Aws::String& value) { m_roleArnHasBeenSet = true; m_roleArn = value; } + + /** + *

                The Amazon Resource Name (ARN) of the IAM role to associate with the service + * account. The EKS Pod Identity agent manages credentials to assume this role for + * applications in the containers in the pods that use this service account.

                + */ + inline void SetRoleArn(Aws::String&& value) { m_roleArnHasBeenSet = true; m_roleArn = std::move(value); } + + /** + *

                The Amazon Resource Name (ARN) of the IAM role to associate with the service + * account. The EKS Pod Identity agent manages credentials to assume this role for + * applications in the containers in the pods that use this service account.

                + */ + inline void SetRoleArn(const char* value) { m_roleArnHasBeenSet = true; m_roleArn.assign(value); } + + /** + *

                The Amazon Resource Name (ARN) of the IAM role to associate with the service + * account. The EKS Pod Identity agent manages credentials to assume this role for + * applications in the containers in the pods that use this service account.

                + */ + inline CreatePodIdentityAssociationRequest& WithRoleArn(const Aws::String& value) { SetRoleArn(value); return *this;} + + /** + *

                The Amazon Resource Name (ARN) of the IAM role to associate with the service + * account. The EKS Pod Identity agent manages credentials to assume this role for + * applications in the containers in the pods that use this service account.

                + */ + inline CreatePodIdentityAssociationRequest& WithRoleArn(Aws::String&& value) { SetRoleArn(std::move(value)); return *this;} + + /** + *

                The Amazon Resource Name (ARN) of the IAM role to associate with the service + * account. The EKS Pod Identity agent manages credentials to assume this role for + * applications in the containers in the pods that use this service account.

                + */ + inline CreatePodIdentityAssociationRequest& WithRoleArn(const char* value) { SetRoleArn(value); return *this;} + + + /** + *

                Unique, case-sensitive identifier that you provide to ensure the idempotency + * of the request.

                + */ + inline const Aws::String& GetClientRequestToken() const{ return m_clientRequestToken; } + + /** + *

                Unique, case-sensitive identifier that you provide to ensure the idempotency + * of the request.

                + */ + inline bool ClientRequestTokenHasBeenSet() const { return m_clientRequestTokenHasBeenSet; } + + /** + *

                Unique, case-sensitive identifier that you provide to ensure the idempotency + * of the request.

                + */ + inline void SetClientRequestToken(const Aws::String& value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken = value; } + + /** + *

                Unique, case-sensitive identifier that you provide to ensure the idempotency + * of the request.

                + */ + inline void SetClientRequestToken(Aws::String&& value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken = std::move(value); } + + /** + *

                Unique, case-sensitive identifier that you provide to ensure the idempotency + * of the request.

                + */ + inline void SetClientRequestToken(const char* value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken.assign(value); } + + /** + *

                Unique, case-sensitive identifier that you provide to ensure the idempotency + * of the request.

                + */ + inline CreatePodIdentityAssociationRequest& WithClientRequestToken(const Aws::String& value) { SetClientRequestToken(value); return *this;} + + /** + *

                Unique, case-sensitive identifier that you provide to ensure the idempotency + * of the request.

                + */ + inline CreatePodIdentityAssociationRequest& WithClientRequestToken(Aws::String&& value) { SetClientRequestToken(std::move(value)); return *this;} + + /** + *

                Unique, case-sensitive identifier that you provide to ensure the idempotency + * of the request.

                + */ + inline CreatePodIdentityAssociationRequest& WithClientRequestToken(const char* value) { SetClientRequestToken(value); return *this;} + + + /** + *

                The metadata that you apply to a resource to assist with categorization and + * organization. Each tag consists of a key and an optional value. You define + * both.

                The following basic restrictions apply to tags:

                • + *

                  Maximum number of tags per resource – 50

                • For each resource, + * each tag key must be unique, and each tag key can have only one value.

                • + *
                • Maximum key length – 128 Unicode characters in UTF-8

                • + *

                  Maximum value length – 256 Unicode characters in UTF-8

                • If + * your tagging schema is used across multiple services and resources, remember + * that other services may have restrictions on allowed characters. Generally + * allowed characters are: letters, numbers, and spaces representable in UTF-8, and + * the following characters: + - = . _ : / @.

                • Tag keys and values + * are case-sensitive.

                • Do not use aws:, + * AWS:, or any upper or lowercase combination of such as a prefix for + * either keys or values as it is reserved for Amazon Web Services use. You cannot + * edit or delete tag keys or values with this prefix. Tags with this prefix do not + * count against your tags per resource limit.

                + */ + inline const Aws::Map& GetTags() const{ return m_tags; } + + /** + *

                The metadata that you apply to a resource to assist with categorization and + * organization. Each tag consists of a key and an optional value. You define + * both.

                The following basic restrictions apply to tags:

                • + *

                  Maximum number of tags per resource – 50

                • For each resource, + * each tag key must be unique, and each tag key can have only one value.

                • + *
                • Maximum key length – 128 Unicode characters in UTF-8

                • + *

                  Maximum value length – 256 Unicode characters in UTF-8

                • If + * your tagging schema is used across multiple services and resources, remember + * that other services may have restrictions on allowed characters. Generally + * allowed characters are: letters, numbers, and spaces representable in UTF-8, and + * the following characters: + - = . _ : / @.

                • Tag keys and values + * are case-sensitive.

                • Do not use aws:, + * AWS:, or any upper or lowercase combination of such as a prefix for + * either keys or values as it is reserved for Amazon Web Services use. You cannot + * edit or delete tag keys or values with this prefix. Tags with this prefix do not + * count against your tags per resource limit.

                + */ + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + + /** + *

                The metadata that you apply to a resource to assist with categorization and + * organization. Each tag consists of a key and an optional value. You define + * both.

                The following basic restrictions apply to tags:

                • + *

                  Maximum number of tags per resource – 50

                • For each resource, + * each tag key must be unique, and each tag key can have only one value.

                • + *
                • Maximum key length – 128 Unicode characters in UTF-8

                • + *

                  Maximum value length – 256 Unicode characters in UTF-8

                • If + * your tagging schema is used across multiple services and resources, remember + * that other services may have restrictions on allowed characters. Generally + * allowed characters are: letters, numbers, and spaces representable in UTF-8, and + * the following characters: + - = . _ : / @.

                • Tag keys and values + * are case-sensitive.

                • Do not use aws:, + * AWS:, or any upper or lowercase combination of such as a prefix for + * either keys or values as it is reserved for Amazon Web Services use. You cannot + * edit or delete tag keys or values with this prefix. Tags with this prefix do not + * count against your tags per resource limit.

                + */ + inline void SetTags(const Aws::Map& value) { m_tagsHasBeenSet = true; m_tags = value; } + + /** + *

                The metadata that you apply to a resource to assist with categorization and + * organization. Each tag consists of a key and an optional value. You define + * both.

                The following basic restrictions apply to tags:

                • + *

                  Maximum number of tags per resource – 50

                • For each resource, + * each tag key must be unique, and each tag key can have only one value.

                • + *
                • Maximum key length – 128 Unicode characters in UTF-8

                • + *

                  Maximum value length – 256 Unicode characters in UTF-8

                • If + * your tagging schema is used across multiple services and resources, remember + * that other services may have restrictions on allowed characters. Generally + * allowed characters are: letters, numbers, and spaces representable in UTF-8, and + * the following characters: + - = . _ : / @.

                • Tag keys and values + * are case-sensitive.

                • Do not use aws:, + * AWS:, or any upper or lowercase combination of such as a prefix for + * either keys or values as it is reserved for Amazon Web Services use. You cannot + * edit or delete tag keys or values with this prefix. Tags with this prefix do not + * count against your tags per resource limit.

                + */ + inline void SetTags(Aws::Map&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } + + /** + *

                The metadata that you apply to a resource to assist with categorization and + * organization. Each tag consists of a key and an optional value. You define + * both.

                The following basic restrictions apply to tags:

                • + *

                  Maximum number of tags per resource – 50

                • For each resource, + * each tag key must be unique, and each tag key can have only one value.

                • + *
                • Maximum key length – 128 Unicode characters in UTF-8

                • + *

                  Maximum value length – 256 Unicode characters in UTF-8

                • If + * your tagging schema is used across multiple services and resources, remember + * that other services may have restrictions on allowed characters. Generally + * allowed characters are: letters, numbers, and spaces representable in UTF-8, and + * the following characters: + - = . _ : / @.

                • Tag keys and values + * are case-sensitive.

                • Do not use aws:, + * AWS:, or any upper or lowercase combination of such as a prefix for + * either keys or values as it is reserved for Amazon Web Services use. You cannot + * edit or delete tag keys or values with this prefix. Tags with this prefix do not + * count against your tags per resource limit.

                + */ + inline CreatePodIdentityAssociationRequest& WithTags(const Aws::Map& value) { SetTags(value); return *this;} + + /** + *

                The metadata that you apply to a resource to assist with categorization and + * organization. Each tag consists of a key and an optional value. You define + * both.

                The following basic restrictions apply to tags:

                • + *

                  Maximum number of tags per resource – 50

                • For each resource, + * each tag key must be unique, and each tag key can have only one value.

                • + *
                • Maximum key length – 128 Unicode characters in UTF-8

                • + *

                  Maximum value length – 256 Unicode characters in UTF-8

                • If + * your tagging schema is used across multiple services and resources, remember + * that other services may have restrictions on allowed characters. Generally + * allowed characters are: letters, numbers, and spaces representable in UTF-8, and + * the following characters: + - = . _ : / @.

                • Tag keys and values + * are case-sensitive.

                • Do not use aws:, + * AWS:, or any upper or lowercase combination of such as a prefix for + * either keys or values as it is reserved for Amazon Web Services use. You cannot + * edit or delete tag keys or values with this prefix. Tags with this prefix do not + * count against your tags per resource limit.

                + */ + inline CreatePodIdentityAssociationRequest& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} + + /** + *

                The metadata that you apply to a resource to assist with categorization and + * organization. Each tag consists of a key and an optional value. You define + * both.

                The following basic restrictions apply to tags:

                • + *

                  Maximum number of tags per resource – 50

                • For each resource, + * each tag key must be unique, and each tag key can have only one value.

                • + *
                • Maximum key length – 128 Unicode characters in UTF-8

                • + *

                  Maximum value length – 256 Unicode characters in UTF-8

                • If + * your tagging schema is used across multiple services and resources, remember + * that other services may have restrictions on allowed characters. Generally + * allowed characters are: letters, numbers, and spaces representable in UTF-8, and + * the following characters: + - = . _ : / @.

                • Tag keys and values + * are case-sensitive.

                • Do not use aws:, + * AWS:, or any upper or lowercase combination of such as a prefix for + * either keys or values as it is reserved for Amazon Web Services use. You cannot + * edit or delete tag keys or values with this prefix. Tags with this prefix do not + * count against your tags per resource limit.

                + */ + inline CreatePodIdentityAssociationRequest& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } + + /** + *

                The metadata that you apply to a resource to assist with categorization and + * organization. Each tag consists of a key and an optional value. You define + * both.

                The following basic restrictions apply to tags:

                • + *

                  Maximum number of tags per resource – 50

                • For each resource, + * each tag key must be unique, and each tag key can have only one value.

                • + *
                • Maximum key length – 128 Unicode characters in UTF-8

                • + *

                  Maximum value length – 256 Unicode characters in UTF-8

                • If + * your tagging schema is used across multiple services and resources, remember + * that other services may have restrictions on allowed characters. Generally + * allowed characters are: letters, numbers, and spaces representable in UTF-8, and + * the following characters: + - = . _ : / @.

                • Tag keys and values + * are case-sensitive.

                • Do not use aws:, + * AWS:, or any upper or lowercase combination of such as a prefix for + * either keys or values as it is reserved for Amazon Web Services use. You cannot + * edit or delete tag keys or values with this prefix. Tags with this prefix do not + * count against your tags per resource limit.

                + */ + inline CreatePodIdentityAssociationRequest& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } + + /** + *

                The metadata that you apply to a resource to assist with categorization and + * organization. Each tag consists of a key and an optional value. You define + * both.

                The following basic restrictions apply to tags:

                • + *

                  Maximum number of tags per resource – 50

                • For each resource, + * each tag key must be unique, and each tag key can have only one value.

                • + *
                • Maximum key length – 128 Unicode characters in UTF-8

                • + *

                  Maximum value length – 256 Unicode characters in UTF-8

                • If + * your tagging schema is used across multiple services and resources, remember + * that other services may have restrictions on allowed characters. Generally + * allowed characters are: letters, numbers, and spaces representable in UTF-8, and + * the following characters: + - = . _ : / @.

                • Tag keys and values + * are case-sensitive.

                • Do not use aws:, + * AWS:, or any upper or lowercase combination of such as a prefix for + * either keys or values as it is reserved for Amazon Web Services use. You cannot + * edit or delete tag keys or values with this prefix. Tags with this prefix do not + * count against your tags per resource limit.

                + */ + inline CreatePodIdentityAssociationRequest& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } + + /** + *

                The metadata that you apply to a resource to assist with categorization and + * organization. Each tag consists of a key and an optional value. You define + * both.

                The following basic restrictions apply to tags:

                • + *

                  Maximum number of tags per resource – 50

                • For each resource, + * each tag key must be unique, and each tag key can have only one value.

                • + *
                • Maximum key length – 128 Unicode characters in UTF-8

                • + *

                  Maximum value length – 256 Unicode characters in UTF-8

                • If + * your tagging schema is used across multiple services and resources, remember + * that other services may have restrictions on allowed characters. Generally + * allowed characters are: letters, numbers, and spaces representable in UTF-8, and + * the following characters: + - = . _ : / @.

                • Tag keys and values + * are case-sensitive.

                • Do not use aws:, + * AWS:, or any upper or lowercase combination of such as a prefix for + * either keys or values as it is reserved for Amazon Web Services use. You cannot + * edit or delete tag keys or values with this prefix. Tags with this prefix do not + * count against your tags per resource limit.

                + */ + inline CreatePodIdentityAssociationRequest& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } + + /** + *

                The metadata that you apply to a resource to assist with categorization and + * organization. Each tag consists of a key and an optional value. You define + * both.

                The following basic restrictions apply to tags:

                • + *

                  Maximum number of tags per resource – 50

                • For each resource, + * each tag key must be unique, and each tag key can have only one value.

                • + *
                • Maximum key length – 128 Unicode characters in UTF-8

                • + *

                  Maximum value length – 256 Unicode characters in UTF-8

                • If + * your tagging schema is used across multiple services and resources, remember + * that other services may have restrictions on allowed characters. Generally + * allowed characters are: letters, numbers, and spaces representable in UTF-8, and + * the following characters: + - = . _ : / @.

                • Tag keys and values + * are case-sensitive.

                • Do not use aws:, + * AWS:, or any upper or lowercase combination of such as a prefix for + * either keys or values as it is reserved for Amazon Web Services use. You cannot + * edit or delete tag keys or values with this prefix. Tags with this prefix do not + * count against your tags per resource limit.

                + */ + inline CreatePodIdentityAssociationRequest& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } + + /** + *

                The metadata that you apply to a resource to assist with categorization and + * organization. Each tag consists of a key and an optional value. You define + * both.

                The following basic restrictions apply to tags:

                • + *

                  Maximum number of tags per resource – 50

                • For each resource, + * each tag key must be unique, and each tag key can have only one value.

                • + *
                • Maximum key length – 128 Unicode characters in UTF-8

                • + *

                  Maximum value length – 256 Unicode characters in UTF-8

                • If + * your tagging schema is used across multiple services and resources, remember + * that other services may have restrictions on allowed characters. Generally + * allowed characters are: letters, numbers, and spaces representable in UTF-8, and + * the following characters: + - = . _ : / @.

                • Tag keys and values + * are case-sensitive.

                • Do not use aws:, + * AWS:, or any upper or lowercase combination of such as a prefix for + * either keys or values as it is reserved for Amazon Web Services use. You cannot + * edit or delete tag keys or values with this prefix. Tags with this prefix do not + * count against your tags per resource limit.

                + */ + inline CreatePodIdentityAssociationRequest& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } + + /** + *

                The metadata that you apply to a resource to assist with categorization and + * organization. Each tag consists of a key and an optional value. You define + * both.

                The following basic restrictions apply to tags:

                • + *

                  Maximum number of tags per resource – 50

                • For each resource, + * each tag key must be unique, and each tag key can have only one value.

                • + *
                • Maximum key length – 128 Unicode characters in UTF-8

                • + *

                  Maximum value length – 256 Unicode characters in UTF-8

                • If + * your tagging schema is used across multiple services and resources, remember + * that other services may have restrictions on allowed characters. Generally + * allowed characters are: letters, numbers, and spaces representable in UTF-8, and + * the following characters: + - = . _ : / @.

                • Tag keys and values + * are case-sensitive.

                • Do not use aws:, + * AWS:, or any upper or lowercase combination of such as a prefix for + * either keys or values as it is reserved for Amazon Web Services use. You cannot + * edit or delete tag keys or values with this prefix. Tags with this prefix do not + * count against your tags per resource limit.

                + */ + inline CreatePodIdentityAssociationRequest& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } + + private: + + Aws::String m_clusterName; + bool m_clusterNameHasBeenSet = false; + + Aws::String m_namespace; + bool m_namespaceHasBeenSet = false; + + Aws::String m_serviceAccount; + bool m_serviceAccountHasBeenSet = false; + + Aws::String m_roleArn; + bool m_roleArnHasBeenSet = false; + + Aws::String m_clientRequestToken; + bool m_clientRequestTokenHasBeenSet = false; + + Aws::Map m_tags; + bool m_tagsHasBeenSet = false; + }; + +} // namespace Model +} // namespace EKS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/CreatePodIdentityAssociationResult.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/CreatePodIdentityAssociationResult.h new file mode 100644 index 00000000000..a9eabc9ef83 --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/CreatePodIdentityAssociationResult.h @@ -0,0 +1,102 @@ +/** + * 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 EKS +{ +namespace Model +{ + class CreatePodIdentityAssociationResult + { + public: + AWS_EKS_API CreatePodIdentityAssociationResult(); + AWS_EKS_API CreatePodIdentityAssociationResult(const Aws::AmazonWebServiceResult& result); + AWS_EKS_API CreatePodIdentityAssociationResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

                The full description of your new association.

                The description includes + * an ID for the association. Use the ID of the association in further actions to + * manage the association.

                + */ + inline const PodIdentityAssociation& GetAssociation() const{ return m_association; } + + /** + *

                The full description of your new association.

                The description includes + * an ID for the association. Use the ID of the association in further actions to + * manage the association.

                + */ + inline void SetAssociation(const PodIdentityAssociation& value) { m_association = value; } + + /** + *

                The full description of your new association.

                The description includes + * an ID for the association. Use the ID of the association in further actions to + * manage the association.

                + */ + inline void SetAssociation(PodIdentityAssociation&& value) { m_association = std::move(value); } + + /** + *

                The full description of your new association.

                The description includes + * an ID for the association. Use the ID of the association in further actions to + * manage the association.

                + */ + inline CreatePodIdentityAssociationResult& WithAssociation(const PodIdentityAssociation& value) { SetAssociation(value); return *this;} + + /** + *

                The full description of your new association.

                The description includes + * an ID for the association. Use the ID of the association in further actions to + * manage the association.

                + */ + inline CreatePodIdentityAssociationResult& WithAssociation(PodIdentityAssociation&& value) { SetAssociation(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 CreatePodIdentityAssociationResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline CreatePodIdentityAssociationResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline CreatePodIdentityAssociationResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + PodIdentityAssociation m_association; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace EKS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/DeletePodIdentityAssociationRequest.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/DeletePodIdentityAssociationRequest.h new file mode 100644 index 00000000000..89137ace422 --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/DeletePodIdentityAssociationRequest.h @@ -0,0 +1,127 @@ +/** + * 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 EKS +{ +namespace Model +{ + + /** + */ + class DeletePodIdentityAssociationRequest : public EKSRequest + { + public: + AWS_EKS_API DeletePodIdentityAssociationRequest(); + + // 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 "DeletePodIdentityAssociation"; } + + AWS_EKS_API Aws::String SerializePayload() const override; + + + /** + *

                The cluster name that

                + */ + inline const Aws::String& GetClusterName() const{ return m_clusterName; } + + /** + *

                The cluster name that

                + */ + inline bool ClusterNameHasBeenSet() const { return m_clusterNameHasBeenSet; } + + /** + *

                The cluster name that

                + */ + inline void SetClusterName(const Aws::String& value) { m_clusterNameHasBeenSet = true; m_clusterName = value; } + + /** + *

                The cluster name that

                + */ + inline void SetClusterName(Aws::String&& value) { m_clusterNameHasBeenSet = true; m_clusterName = std::move(value); } + + /** + *

                The cluster name that

                + */ + inline void SetClusterName(const char* value) { m_clusterNameHasBeenSet = true; m_clusterName.assign(value); } + + /** + *

                The cluster name that

                + */ + inline DeletePodIdentityAssociationRequest& WithClusterName(const Aws::String& value) { SetClusterName(value); return *this;} + + /** + *

                The cluster name that

                + */ + inline DeletePodIdentityAssociationRequest& WithClusterName(Aws::String&& value) { SetClusterName(std::move(value)); return *this;} + + /** + *

                The cluster name that

                + */ + inline DeletePodIdentityAssociationRequest& WithClusterName(const char* value) { SetClusterName(value); return *this;} + + + /** + *

                The ID of the association to be deleted.

                + */ + inline const Aws::String& GetAssociationId() const{ return m_associationId; } + + /** + *

                The ID of the association to be deleted.

                + */ + inline bool AssociationIdHasBeenSet() const { return m_associationIdHasBeenSet; } + + /** + *

                The ID of the association to be deleted.

                + */ + inline void SetAssociationId(const Aws::String& value) { m_associationIdHasBeenSet = true; m_associationId = value; } + + /** + *

                The ID of the association to be deleted.

                + */ + inline void SetAssociationId(Aws::String&& value) { m_associationIdHasBeenSet = true; m_associationId = std::move(value); } + + /** + *

                The ID of the association to be deleted.

                + */ + inline void SetAssociationId(const char* value) { m_associationIdHasBeenSet = true; m_associationId.assign(value); } + + /** + *

                The ID of the association to be deleted.

                + */ + inline DeletePodIdentityAssociationRequest& WithAssociationId(const Aws::String& value) { SetAssociationId(value); return *this;} + + /** + *

                The ID of the association to be deleted.

                + */ + inline DeletePodIdentityAssociationRequest& WithAssociationId(Aws::String&& value) { SetAssociationId(std::move(value)); return *this;} + + /** + *

                The ID of the association to be deleted.

                + */ + inline DeletePodIdentityAssociationRequest& WithAssociationId(const char* value) { SetAssociationId(value); return *this;} + + private: + + Aws::String m_clusterName; + bool m_clusterNameHasBeenSet = false; + + Aws::String m_associationId; + bool m_associationIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace EKS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/DeletePodIdentityAssociationResult.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/DeletePodIdentityAssociationResult.h new file mode 100644 index 00000000000..c39c85b7114 --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/DeletePodIdentityAssociationResult.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 + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace EKS +{ +namespace Model +{ + class DeletePodIdentityAssociationResult + { + public: + AWS_EKS_API DeletePodIdentityAssociationResult(); + AWS_EKS_API DeletePodIdentityAssociationResult(const Aws::AmazonWebServiceResult& result); + AWS_EKS_API DeletePodIdentityAssociationResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

                The full description of the EKS Pod Identity association that was + * deleted.

                + */ + inline const PodIdentityAssociation& GetAssociation() const{ return m_association; } + + /** + *

                The full description of the EKS Pod Identity association that was + * deleted.

                + */ + inline void SetAssociation(const PodIdentityAssociation& value) { m_association = value; } + + /** + *

                The full description of the EKS Pod Identity association that was + * deleted.

                + */ + inline void SetAssociation(PodIdentityAssociation&& value) { m_association = std::move(value); } + + /** + *

                The full description of the EKS Pod Identity association that was + * deleted.

                + */ + inline DeletePodIdentityAssociationResult& WithAssociation(const PodIdentityAssociation& value) { SetAssociation(value); return *this;} + + /** + *

                The full description of the EKS Pod Identity association that was + * deleted.

                + */ + inline DeletePodIdentityAssociationResult& WithAssociation(PodIdentityAssociation&& value) { SetAssociation(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 DeletePodIdentityAssociationResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline DeletePodIdentityAssociationResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline DeletePodIdentityAssociationResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + PodIdentityAssociation m_association; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace EKS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/DescribeAddonVersionsResult.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/DescribeAddonVersionsResult.h index 03818ee7ff1..6e207dfe6c4 100644 --- a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/DescribeAddonVersionsResult.h +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/DescribeAddonVersionsResult.h @@ -78,79 +78,79 @@ namespace Model /** - *

                The nextToken value returned from a previous paginated - * DescribeAddonVersionsResponse where maxResults was - * used and the results exceeded the value of that parameter. Pagination continues - * from the end of the previous results that returned the nextToken - * value.

                This token should be treated as an opaque identifier that - * is used only to retrieve the next items in a list and not for other programmatic - * purposes.

                + *

                The nextToken value to include in a future + * DescribeAddonVersions request. When the results of a + * DescribeAddonVersions request exceed maxResults, you + * can use this value to retrieve the next page of results. This value is + * null when there are no more results to return.

                This + * token should be treated as an opaque identifier that is used only to retrieve + * the next items in a list and not for other programmatic purposes.

                */ inline const Aws::String& GetNextToken() const{ return m_nextToken; } /** - *

                The nextToken value returned from a previous paginated - * DescribeAddonVersionsResponse where maxResults was - * used and the results exceeded the value of that parameter. Pagination continues - * from the end of the previous results that returned the nextToken - * value.

                This token should be treated as an opaque identifier that - * is used only to retrieve the next items in a list and not for other programmatic - * purposes.

                + *

                The nextToken value to include in a future + * DescribeAddonVersions request. When the results of a + * DescribeAddonVersions request exceed maxResults, you + * can use this value to retrieve the next page of results. This value is + * null when there are no more results to return.

                This + * token should be treated as an opaque identifier that is used only to retrieve + * the next items in a list and not for other programmatic purposes.

                */ inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } /** - *

                The nextToken value returned from a previous paginated - * DescribeAddonVersionsResponse where maxResults was - * used and the results exceeded the value of that parameter. Pagination continues - * from the end of the previous results that returned the nextToken - * value.

                This token should be treated as an opaque identifier that - * is used only to retrieve the next items in a list and not for other programmatic - * purposes.

                + *

                The nextToken value to include in a future + * DescribeAddonVersions request. When the results of a + * DescribeAddonVersions request exceed maxResults, you + * can use this value to retrieve the next page of results. This value is + * null when there are no more results to return.

                This + * token should be treated as an opaque identifier that is used only to retrieve + * the next items in a list and not for other programmatic purposes.

                */ inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } /** - *

                The nextToken value returned from a previous paginated - * DescribeAddonVersionsResponse where maxResults was - * used and the results exceeded the value of that parameter. Pagination continues - * from the end of the previous results that returned the nextToken - * value.

                This token should be treated as an opaque identifier that - * is used only to retrieve the next items in a list and not for other programmatic - * purposes.

                + *

                The nextToken value to include in a future + * DescribeAddonVersions request. When the results of a + * DescribeAddonVersions request exceed maxResults, you + * can use this value to retrieve the next page of results. This value is + * null when there are no more results to return.

                This + * token should be treated as an opaque identifier that is used only to retrieve + * the next items in a list and not for other programmatic purposes.

                */ inline void SetNextToken(const char* value) { m_nextToken.assign(value); } /** - *

                The nextToken value returned from a previous paginated - * DescribeAddonVersionsResponse where maxResults was - * used and the results exceeded the value of that parameter. Pagination continues - * from the end of the previous results that returned the nextToken - * value.

                This token should be treated as an opaque identifier that - * is used only to retrieve the next items in a list and not for other programmatic - * purposes.

                + *

                The nextToken value to include in a future + * DescribeAddonVersions request. When the results of a + * DescribeAddonVersions request exceed maxResults, you + * can use this value to retrieve the next page of results. This value is + * null when there are no more results to return.

                This + * token should be treated as an opaque identifier that is used only to retrieve + * the next items in a list and not for other programmatic purposes.

                */ inline DescribeAddonVersionsResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} /** - *

                The nextToken value returned from a previous paginated - * DescribeAddonVersionsResponse where maxResults was - * used and the results exceeded the value of that parameter. Pagination continues - * from the end of the previous results that returned the nextToken - * value.

                This token should be treated as an opaque identifier that - * is used only to retrieve the next items in a list and not for other programmatic - * purposes.

                + *

                The nextToken value to include in a future + * DescribeAddonVersions request. When the results of a + * DescribeAddonVersions request exceed maxResults, you + * can use this value to retrieve the next page of results. This value is + * null when there are no more results to return.

                This + * token should be treated as an opaque identifier that is used only to retrieve + * the next items in a list and not for other programmatic purposes.

                */ inline DescribeAddonVersionsResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} /** - *

                The nextToken value returned from a previous paginated - * DescribeAddonVersionsResponse where maxResults was - * used and the results exceeded the value of that parameter. Pagination continues - * from the end of the previous results that returned the nextToken - * value.

                This token should be treated as an opaque identifier that - * is used only to retrieve the next items in a list and not for other programmatic - * purposes.

                + *

                The nextToken value to include in a future + * DescribeAddonVersions request. When the results of a + * DescribeAddonVersions request exceed maxResults, you + * can use this value to retrieve the next page of results. This value is + * null when there are no more results to return.

                This + * token should be treated as an opaque identifier that is used only to retrieve + * the next items in a list and not for other programmatic purposes.

                */ inline DescribeAddonVersionsResult& WithNextToken(const char* value) { SetNextToken(value); return *this;} diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/DescribePodIdentityAssociationRequest.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/DescribePodIdentityAssociationRequest.h new file mode 100644 index 00000000000..af7cca1dfaf --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/DescribePodIdentityAssociationRequest.h @@ -0,0 +1,127 @@ +/** + * 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 EKS +{ +namespace Model +{ + + /** + */ + class DescribePodIdentityAssociationRequest : public EKSRequest + { + public: + AWS_EKS_API DescribePodIdentityAssociationRequest(); + + // 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 "DescribePodIdentityAssociation"; } + + AWS_EKS_API Aws::String SerializePayload() const override; + + + /** + *

                The name of the cluster that the association is in.

                + */ + inline const Aws::String& GetClusterName() const{ return m_clusterName; } + + /** + *

                The name of the cluster that the association is in.

                + */ + inline bool ClusterNameHasBeenSet() const { return m_clusterNameHasBeenSet; } + + /** + *

                The name of the cluster that the association is in.

                + */ + inline void SetClusterName(const Aws::String& value) { m_clusterNameHasBeenSet = true; m_clusterName = value; } + + /** + *

                The name of the cluster that the association is in.

                + */ + inline void SetClusterName(Aws::String&& value) { m_clusterNameHasBeenSet = true; m_clusterName = std::move(value); } + + /** + *

                The name of the cluster that the association is in.

                + */ + inline void SetClusterName(const char* value) { m_clusterNameHasBeenSet = true; m_clusterName.assign(value); } + + /** + *

                The name of the cluster that the association is in.

                + */ + inline DescribePodIdentityAssociationRequest& WithClusterName(const Aws::String& value) { SetClusterName(value); return *this;} + + /** + *

                The name of the cluster that the association is in.

                + */ + inline DescribePodIdentityAssociationRequest& WithClusterName(Aws::String&& value) { SetClusterName(std::move(value)); return *this;} + + /** + *

                The name of the cluster that the association is in.

                + */ + inline DescribePodIdentityAssociationRequest& WithClusterName(const char* value) { SetClusterName(value); return *this;} + + + /** + *

                The ID of the association that you want the description of.

                + */ + inline const Aws::String& GetAssociationId() const{ return m_associationId; } + + /** + *

                The ID of the association that you want the description of.

                + */ + inline bool AssociationIdHasBeenSet() const { return m_associationIdHasBeenSet; } + + /** + *

                The ID of the association that you want the description of.

                + */ + inline void SetAssociationId(const Aws::String& value) { m_associationIdHasBeenSet = true; m_associationId = value; } + + /** + *

                The ID of the association that you want the description of.

                + */ + inline void SetAssociationId(Aws::String&& value) { m_associationIdHasBeenSet = true; m_associationId = std::move(value); } + + /** + *

                The ID of the association that you want the description of.

                + */ + inline void SetAssociationId(const char* value) { m_associationIdHasBeenSet = true; m_associationId.assign(value); } + + /** + *

                The ID of the association that you want the description of.

                + */ + inline DescribePodIdentityAssociationRequest& WithAssociationId(const Aws::String& value) { SetAssociationId(value); return *this;} + + /** + *

                The ID of the association that you want the description of.

                + */ + inline DescribePodIdentityAssociationRequest& WithAssociationId(Aws::String&& value) { SetAssociationId(std::move(value)); return *this;} + + /** + *

                The ID of the association that you want the description of.

                + */ + inline DescribePodIdentityAssociationRequest& WithAssociationId(const char* value) { SetAssociationId(value); return *this;} + + private: + + Aws::String m_clusterName; + bool m_clusterNameHasBeenSet = false; + + Aws::String m_associationId; + bool m_associationIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace EKS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/DescribePodIdentityAssociationResult.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/DescribePodIdentityAssociationResult.h new file mode 100644 index 00000000000..fd03a270021 --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/DescribePodIdentityAssociationResult.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 + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace EKS +{ +namespace Model +{ + class DescribePodIdentityAssociationResult + { + public: + AWS_EKS_API DescribePodIdentityAssociationResult(); + AWS_EKS_API DescribePodIdentityAssociationResult(const Aws::AmazonWebServiceResult& result); + AWS_EKS_API DescribePodIdentityAssociationResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

                The full description of the EKS Pod Identity association.

                + */ + inline const PodIdentityAssociation& GetAssociation() const{ return m_association; } + + /** + *

                The full description of the EKS Pod Identity association.

                + */ + inline void SetAssociation(const PodIdentityAssociation& value) { m_association = value; } + + /** + *

                The full description of the EKS Pod Identity association.

                + */ + inline void SetAssociation(PodIdentityAssociation&& value) { m_association = std::move(value); } + + /** + *

                The full description of the EKS Pod Identity association.

                + */ + inline DescribePodIdentityAssociationResult& WithAssociation(const PodIdentityAssociation& value) { SetAssociation(value); return *this;} + + /** + *

                The full description of the EKS Pod Identity association.

                + */ + inline DescribePodIdentityAssociationResult& WithAssociation(PodIdentityAssociation&& value) { SetAssociation(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 DescribePodIdentityAssociationResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline DescribePodIdentityAssociationResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline DescribePodIdentityAssociationResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + PodIdentityAssociation m_association; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace EKS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/EksAnywhereSubscription.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/EksAnywhereSubscription.h index 7d8cacea45d..ffed49f9419 100644 --- a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/EksAnywhereSubscription.h +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/EksAnywhereSubscription.h @@ -227,25 +227,25 @@ namespace Model /** *

                The number of licenses included in a subscription. Valid values are between 1 - * and 1000.

                + * and 100.

                */ inline int GetLicenseQuantity() const{ return m_licenseQuantity; } /** *

                The number of licenses included in a subscription. Valid values are between 1 - * and 1000.

                + * and 100.

                */ inline bool LicenseQuantityHasBeenSet() const { return m_licenseQuantityHasBeenSet; } /** *

                The number of licenses included in a subscription. Valid values are between 1 - * and 1000.

                + * and 100.

                */ inline void SetLicenseQuantity(int value) { m_licenseQuantityHasBeenSet = true; m_licenseQuantity = value; } /** *

                The number of licenses included in a subscription. Valid values are between 1 - * and 1000.

                + * and 100.

                */ inline EksAnywhereSubscription& WithLicenseQuantity(int value) { SetLicenseQuantity(value); return *this;} @@ -391,47 +391,47 @@ namespace Model /** - *

                License Manager License ARNs associated with the subscription.

                + *

                Amazon Web Services License Manager ARN associated with the subscription.

                */ inline const Aws::Vector& GetLicenseArns() const{ return m_licenseArns; } /** - *

                License Manager License ARNs associated with the subscription.

                + *

                Amazon Web Services License Manager ARN associated with the subscription.

                */ inline bool LicenseArnsHasBeenSet() const { return m_licenseArnsHasBeenSet; } /** - *

                License Manager License ARNs associated with the subscription.

                + *

                Amazon Web Services License Manager ARN associated with the subscription.

                */ inline void SetLicenseArns(const Aws::Vector& value) { m_licenseArnsHasBeenSet = true; m_licenseArns = value; } /** - *

                License Manager License ARNs associated with the subscription.

                + *

                Amazon Web Services License Manager ARN associated with the subscription.

                */ inline void SetLicenseArns(Aws::Vector&& value) { m_licenseArnsHasBeenSet = true; m_licenseArns = std::move(value); } /** - *

                License Manager License ARNs associated with the subscription.

                + *

                Amazon Web Services License Manager ARN associated with the subscription.

                */ inline EksAnywhereSubscription& WithLicenseArns(const Aws::Vector& value) { SetLicenseArns(value); return *this;} /** - *

                License Manager License ARNs associated with the subscription.

                + *

                Amazon Web Services License Manager ARN associated with the subscription.

                */ inline EksAnywhereSubscription& WithLicenseArns(Aws::Vector&& value) { SetLicenseArns(std::move(value)); return *this;} /** - *

                License Manager License ARNs associated with the subscription.

                + *

                Amazon Web Services License Manager ARN associated with the subscription.

                */ inline EksAnywhereSubscription& AddLicenseArns(const Aws::String& value) { m_licenseArnsHasBeenSet = true; m_licenseArns.push_back(value); return *this; } /** - *

                License Manager License ARNs associated with the subscription.

                + *

                Amazon Web Services License Manager ARN associated with the subscription.

                */ inline EksAnywhereSubscription& AddLicenseArns(Aws::String&& value) { m_licenseArnsHasBeenSet = true; m_licenseArns.push_back(std::move(value)); return *this; } /** - *

                License Manager License ARNs associated with the subscription.

                + *

                Amazon Web Services License Manager ARN associated with the subscription.

                */ inline EksAnywhereSubscription& AddLicenseArns(const char* value) { m_licenseArnsHasBeenSet = true; m_licenseArns.push_back(value); return *this; } diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/EksAnywhereSubscriptionTerm.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/EksAnywhereSubscriptionTerm.h index 18bac5208ba..c4eb6093499 100644 --- a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/EksAnywhereSubscriptionTerm.h +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/EksAnywhereSubscriptionTerm.h @@ -66,32 +66,32 @@ namespace Model /** - *

                The term unit of the subscription. Valid value is MONTHS.

                + *

                The term unit of the subscription. Valid value is MONTHS.

                */ inline const EksAnywhereSubscriptionTermUnit& GetUnit() const{ return m_unit; } /** - *

                The term unit of the subscription. Valid value is MONTHS.

                + *

                The term unit of the subscription. Valid value is MONTHS.

                */ inline bool UnitHasBeenSet() const { return m_unitHasBeenSet; } /** - *

                The term unit of the subscription. Valid value is MONTHS.

                + *

                The term unit of the subscription. Valid value is MONTHS.

                */ inline void SetUnit(const EksAnywhereSubscriptionTermUnit& value) { m_unitHasBeenSet = true; m_unit = value; } /** - *

                The term unit of the subscription. Valid value is MONTHS.

                + *

                The term unit of the subscription. Valid value is MONTHS.

                */ inline void SetUnit(EksAnywhereSubscriptionTermUnit&& value) { m_unitHasBeenSet = true; m_unit = std::move(value); } /** - *

                The term unit of the subscription. Valid value is MONTHS.

                + *

                The term unit of the subscription. Valid value is MONTHS.

                */ inline EksAnywhereSubscriptionTerm& WithUnit(const EksAnywhereSubscriptionTermUnit& value) { SetUnit(value); return *this;} /** - *

                The term unit of the subscription. Valid value is MONTHS.

                + *

                The term unit of the subscription. Valid value is MONTHS.

                */ inline EksAnywhereSubscriptionTerm& WithUnit(EksAnywhereSubscriptionTermUnit&& value) { SetUnit(std::move(value)); return *this;} diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/InvalidParameterException.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/InvalidParameterException.h index a048e1f7f0d..b545564f90b 100644 --- a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/InvalidParameterException.h +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/InvalidParameterException.h @@ -161,28 +161,52 @@ namespace Model inline InvalidParameterException& WithFargateProfileName(const char* value) { SetFargateProfileName(value); return *this;} - + /** + *

                The specified parameter for the add-on name is invalid. Review the available + * parameters for the API request

                + */ inline const Aws::String& GetAddonName() const{ return m_addonName; } - + /** + *

                The specified parameter for the add-on name is invalid. Review the available + * parameters for the API request

                + */ inline bool AddonNameHasBeenSet() const { return m_addonNameHasBeenSet; } - + /** + *

                The specified parameter for the add-on name is invalid. Review the available + * parameters for the API request

                + */ inline void SetAddonName(const Aws::String& value) { m_addonNameHasBeenSet = true; m_addonName = value; } - + /** + *

                The specified parameter for the add-on name is invalid. Review the available + * parameters for the API request

                + */ inline void SetAddonName(Aws::String&& value) { m_addonNameHasBeenSet = true; m_addonName = std::move(value); } - + /** + *

                The specified parameter for the add-on name is invalid. Review the available + * parameters for the API request

                + */ inline void SetAddonName(const char* value) { m_addonNameHasBeenSet = true; m_addonName.assign(value); } - + /** + *

                The specified parameter for the add-on name is invalid. Review the available + * parameters for the API request

                + */ inline InvalidParameterException& WithAddonName(const Aws::String& value) { SetAddonName(value); return *this;} - + /** + *

                The specified parameter for the add-on name is invalid. Review the available + * parameters for the API request

                + */ inline InvalidParameterException& WithAddonName(Aws::String&& value) { SetAddonName(std::move(value)); return *this;} - + /** + *

                The specified parameter for the add-on name is invalid. Review the available + * parameters for the API request

                + */ inline InvalidParameterException& WithAddonName(const char* value) { SetAddonName(value); return *this;} @@ -227,28 +251,52 @@ namespace Model inline InvalidParameterException& WithSubscriptionId(const char* value) { SetSubscriptionId(value); return *this;} - + /** + *

                The specified parameter is invalid. Review the available parameters for the + * API request.

                + */ inline const Aws::String& GetMessage() const{ return m_message; } - + /** + *

                The specified parameter is invalid. Review the available parameters for the + * API request.

                + */ inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } - + /** + *

                The specified parameter is invalid. Review the available parameters for the + * API request.

                + */ inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; } - + /** + *

                The specified parameter is invalid. Review the available parameters for the + * API request.

                + */ inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); } - + /** + *

                The specified parameter is invalid. Review the available parameters for the + * API request.

                + */ inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); } - + /** + *

                The specified parameter is invalid. Review the available parameters for the + * API request.

                + */ inline InvalidParameterException& WithMessage(const Aws::String& value) { SetMessage(value); return *this;} - + /** + *

                The specified parameter is invalid. Review the available parameters for the + * API request.

                + */ inline InvalidParameterException& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;} - + /** + *

                The specified parameter is invalid. Review the available parameters for the + * API request.

                + */ inline InvalidParameterException& WithMessage(const char* value) { SetMessage(value); return *this;} private: diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/InvalidRequestException.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/InvalidRequestException.h index 8b96851e545..fe188c1edcc 100644 --- a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/InvalidRequestException.h +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/InvalidRequestException.h @@ -120,28 +120,52 @@ namespace Model inline InvalidRequestException& WithNodegroupName(const char* value) { SetNodegroupName(value); return *this;} - + /** + *

                The request is invalid given the state of the add-on name. Check the state of + * the cluster and the associated operations.

                + */ inline const Aws::String& GetAddonName() const{ return m_addonName; } - + /** + *

                The request is invalid given the state of the add-on name. Check the state of + * the cluster and the associated operations.

                + */ inline bool AddonNameHasBeenSet() const { return m_addonNameHasBeenSet; } - + /** + *

                The request is invalid given the state of the add-on name. Check the state of + * the cluster and the associated operations.

                + */ inline void SetAddonName(const Aws::String& value) { m_addonNameHasBeenSet = true; m_addonName = value; } - + /** + *

                The request is invalid given the state of the add-on name. Check the state of + * the cluster and the associated operations.

                + */ inline void SetAddonName(Aws::String&& value) { m_addonNameHasBeenSet = true; m_addonName = std::move(value); } - + /** + *

                The request is invalid given the state of the add-on name. Check the state of + * the cluster and the associated operations.

                + */ inline void SetAddonName(const char* value) { m_addonNameHasBeenSet = true; m_addonName.assign(value); } - + /** + *

                The request is invalid given the state of the add-on name. Check the state of + * the cluster and the associated operations.

                + */ inline InvalidRequestException& WithAddonName(const Aws::String& value) { SetAddonName(value); return *this;} - + /** + *

                The request is invalid given the state of the add-on name. Check the state of + * the cluster and the associated operations.

                + */ inline InvalidRequestException& WithAddonName(Aws::String&& value) { SetAddonName(std::move(value)); return *this;} - + /** + *

                The request is invalid given the state of the add-on name. Check the state of + * the cluster and the associated operations.

                + */ inline InvalidRequestException& WithAddonName(const char* value) { SetAddonName(value); return *this;} @@ -186,28 +210,44 @@ namespace Model inline InvalidRequestException& WithSubscriptionId(const char* value) { SetSubscriptionId(value); return *this;} - + /** + *

                The Amazon EKS add-on name associated with the exception.

                + */ inline const Aws::String& GetMessage() const{ return m_message; } - + /** + *

                The Amazon EKS add-on name associated with the exception.

                + */ inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } - + /** + *

                The Amazon EKS add-on name associated with the exception.

                + */ inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; } - + /** + *

                The Amazon EKS add-on name associated with the exception.

                + */ inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); } - + /** + *

                The Amazon EKS add-on name associated with the exception.

                + */ inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); } - + /** + *

                The Amazon EKS add-on name associated with the exception.

                + */ inline InvalidRequestException& WithMessage(const Aws::String& value) { SetMessage(value); return *this;} - + /** + *

                The Amazon EKS add-on name associated with the exception.

                + */ inline InvalidRequestException& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;} - + /** + *

                The Amazon EKS add-on name associated with the exception.

                + */ inline InvalidRequestException& WithMessage(const char* value) { SetMessage(value); return *this;} private: diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/ListAddonsResult.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/ListAddonsResult.h index a1be1f305e5..941f7dbfef4 100644 --- a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/ListAddonsResult.h +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/ListAddonsResult.h @@ -75,79 +75,79 @@ namespace Model /** - *

                The nextToken value returned from a previous paginated - * ListAddonsResponse where maxResults was used and the - * results exceeded the value of that parameter. Pagination continues from the end - * of the previous results that returned the nextToken value.

                - *

                This token should be treated as an opaque identifier that is used only - * to retrieve the next items in a list and not for other programmatic - * purposes.

                + *

                The nextToken value to include in a future + * ListAddons request. When the results of a ListAddons + * request exceed maxResults, you can use this value to retrieve the + * next page of results. This value is null when there are no more + * results to return.

                This token should be treated as an opaque + * identifier that is used only to retrieve the next items in a list and not for + * other programmatic purposes.

                */ inline const Aws::String& GetNextToken() const{ return m_nextToken; } /** - *

                The nextToken value returned from a previous paginated - * ListAddonsResponse where maxResults was used and the - * results exceeded the value of that parameter. Pagination continues from the end - * of the previous results that returned the nextToken value.

                - *

                This token should be treated as an opaque identifier that is used only - * to retrieve the next items in a list and not for other programmatic - * purposes.

                + *

                The nextToken value to include in a future + * ListAddons request. When the results of a ListAddons + * request exceed maxResults, you can use this value to retrieve the + * next page of results. This value is null when there are no more + * results to return.

                This token should be treated as an opaque + * identifier that is used only to retrieve the next items in a list and not for + * other programmatic purposes.

                */ inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } /** - *

                The nextToken value returned from a previous paginated - * ListAddonsResponse where maxResults was used and the - * results exceeded the value of that parameter. Pagination continues from the end - * of the previous results that returned the nextToken value.

                - *

                This token should be treated as an opaque identifier that is used only - * to retrieve the next items in a list and not for other programmatic - * purposes.

                + *

                The nextToken value to include in a future + * ListAddons request. When the results of a ListAddons + * request exceed maxResults, you can use this value to retrieve the + * next page of results. This value is null when there are no more + * results to return.

                This token should be treated as an opaque + * identifier that is used only to retrieve the next items in a list and not for + * other programmatic purposes.

                */ inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } /** - *

                The nextToken value returned from a previous paginated - * ListAddonsResponse where maxResults was used and the - * results exceeded the value of that parameter. Pagination continues from the end - * of the previous results that returned the nextToken value.

                - *

                This token should be treated as an opaque identifier that is used only - * to retrieve the next items in a list and not for other programmatic - * purposes.

                + *

                The nextToken value to include in a future + * ListAddons request. When the results of a ListAddons + * request exceed maxResults, you can use this value to retrieve the + * next page of results. This value is null when there are no more + * results to return.

                This token should be treated as an opaque + * identifier that is used only to retrieve the next items in a list and not for + * other programmatic purposes.

                */ inline void SetNextToken(const char* value) { m_nextToken.assign(value); } /** - *

                The nextToken value returned from a previous paginated - * ListAddonsResponse where maxResults was used and the - * results exceeded the value of that parameter. Pagination continues from the end - * of the previous results that returned the nextToken value.

                - *

                This token should be treated as an opaque identifier that is used only - * to retrieve the next items in a list and not for other programmatic - * purposes.

                + *

                The nextToken value to include in a future + * ListAddons request. When the results of a ListAddons + * request exceed maxResults, you can use this value to retrieve the + * next page of results. This value is null when there are no more + * results to return.

                This token should be treated as an opaque + * identifier that is used only to retrieve the next items in a list and not for + * other programmatic purposes.

                */ inline ListAddonsResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} /** - *

                The nextToken value returned from a previous paginated - * ListAddonsResponse where maxResults was used and the - * results exceeded the value of that parameter. Pagination continues from the end - * of the previous results that returned the nextToken value.

                - *

                This token should be treated as an opaque identifier that is used only - * to retrieve the next items in a list and not for other programmatic - * purposes.

                + *

                The nextToken value to include in a future + * ListAddons request. When the results of a ListAddons + * request exceed maxResults, you can use this value to retrieve the + * next page of results. This value is null when there are no more + * results to return.

                This token should be treated as an opaque + * identifier that is used only to retrieve the next items in a list and not for + * other programmatic purposes.

                */ inline ListAddonsResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} /** - *

                The nextToken value returned from a previous paginated - * ListAddonsResponse where maxResults was used and the - * results exceeded the value of that parameter. Pagination continues from the end - * of the previous results that returned the nextToken value.

                - *

                This token should be treated as an opaque identifier that is used only - * to retrieve the next items in a list and not for other programmatic - * purposes.

                + *

                The nextToken value to include in a future + * ListAddons request. When the results of a ListAddons + * request exceed maxResults, you can use this value to retrieve the + * next page of results. This value is null when there are no more + * results to return.

                This token should be treated as an opaque + * identifier that is used only to retrieve the next items in a list and not for + * other programmatic purposes.

                */ inline ListAddonsResult& WithNextToken(const char* value) { SetNextToken(value); return *this;} diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/ListEksAnywhereSubscriptionsRequest.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/ListEksAnywhereSubscriptionsRequest.h index 4c94f0e1834..0b2a106c971 100644 --- a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/ListEksAnywhereSubscriptionsRequest.h +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/ListEksAnywhereSubscriptionsRequest.h @@ -90,66 +90,74 @@ namespace Model /** - *

                The nextToken value to include in a future ListEksAnywhereSubscriptions - * request. When the results of a ListEksAnywhereSubscriptions request exceed - * maxResults, you can use this value to retrieve the next page of results. This - * value is null when there are no more results to return.

                + *

                The nextToken value returned from a previous paginated + * ListEksAnywhereSubscriptions request where maxResults + * was used and the results exceeded the value of that parameter. Pagination + * continues from the end of the previous results that returned the + * nextToken value.

                */ inline const Aws::String& GetNextToken() const{ return m_nextToken; } /** - *

                The nextToken value to include in a future ListEksAnywhereSubscriptions - * request. When the results of a ListEksAnywhereSubscriptions request exceed - * maxResults, you can use this value to retrieve the next page of results. This - * value is null when there are no more results to return.

                + *

                The nextToken value returned from a previous paginated + * ListEksAnywhereSubscriptions request where maxResults + * was used and the results exceeded the value of that parameter. Pagination + * continues from the end of the previous results that returned the + * nextToken value.

                */ inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } /** - *

                The nextToken value to include in a future ListEksAnywhereSubscriptions - * request. When the results of a ListEksAnywhereSubscriptions request exceed - * maxResults, you can use this value to retrieve the next page of results. This - * value is null when there are no more results to return.

                + *

                The nextToken value returned from a previous paginated + * ListEksAnywhereSubscriptions request where maxResults + * was used and the results exceeded the value of that parameter. Pagination + * continues from the end of the previous results that returned the + * nextToken value.

                */ inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } /** - *

                The nextToken value to include in a future ListEksAnywhereSubscriptions - * request. When the results of a ListEksAnywhereSubscriptions request exceed - * maxResults, you can use this value to retrieve the next page of results. This - * value is null when there are no more results to return.

                + *

                The nextToken value returned from a previous paginated + * ListEksAnywhereSubscriptions request where maxResults + * was used and the results exceeded the value of that parameter. Pagination + * continues from the end of the previous results that returned the + * nextToken value.

                */ inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } /** - *

                The nextToken value to include in a future ListEksAnywhereSubscriptions - * request. When the results of a ListEksAnywhereSubscriptions request exceed - * maxResults, you can use this value to retrieve the next page of results. This - * value is null when there are no more results to return.

                + *

                The nextToken value returned from a previous paginated + * ListEksAnywhereSubscriptions request where maxResults + * was used and the results exceeded the value of that parameter. Pagination + * continues from the end of the previous results that returned the + * nextToken value.

                */ inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } /** - *

                The nextToken value to include in a future ListEksAnywhereSubscriptions - * request. When the results of a ListEksAnywhereSubscriptions request exceed - * maxResults, you can use this value to retrieve the next page of results. This - * value is null when there are no more results to return.

                + *

                The nextToken value returned from a previous paginated + * ListEksAnywhereSubscriptions request where maxResults + * was used and the results exceeded the value of that parameter. Pagination + * continues from the end of the previous results that returned the + * nextToken value.

                */ inline ListEksAnywhereSubscriptionsRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} /** - *

                The nextToken value to include in a future ListEksAnywhereSubscriptions - * request. When the results of a ListEksAnywhereSubscriptions request exceed - * maxResults, you can use this value to retrieve the next page of results. This - * value is null when there are no more results to return.

                + *

                The nextToken value returned from a previous paginated + * ListEksAnywhereSubscriptions request where maxResults + * was used and the results exceeded the value of that parameter. Pagination + * continues from the end of the previous results that returned the + * nextToken value.

                */ inline ListEksAnywhereSubscriptionsRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} /** - *

                The nextToken value to include in a future ListEksAnywhereSubscriptions - * request. When the results of a ListEksAnywhereSubscriptions request exceed - * maxResults, you can use this value to retrieve the next page of results. This - * value is null when there are no more results to return.

                + *

                The nextToken value returned from a previous paginated + * ListEksAnywhereSubscriptions request where maxResults + * was used and the results exceeded the value of that parameter. Pagination + * continues from the end of the previous results that returned the + * nextToken value.

                */ inline ListEksAnywhereSubscriptionsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/ListIdentityProviderConfigsResult.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/ListIdentityProviderConfigsResult.h index 2066ac0b922..0ecc8e8b518 100644 --- a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/ListIdentityProviderConfigsResult.h +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/ListIdentityProviderConfigsResult.h @@ -71,65 +71,72 @@ namespace Model /** - *

                The nextToken value returned from a previous paginated - * ListIdentityProviderConfigsResponse where maxResults - * was used and the results exceeded the value of that parameter. Pagination - * continues from the end of the previous results that returned the - * nextToken value.

                + *

                The nextToken value to include in a future + * ListIdentityProviderConfigsResponse request. When the results of a + * ListIdentityProviderConfigsResponse request exceed + * maxResults, you can use this value to retrieve the next page of + * results. This value is null when there are no more results to + * return.

                */ inline const Aws::String& GetNextToken() const{ return m_nextToken; } /** - *

                The nextToken value returned from a previous paginated - * ListIdentityProviderConfigsResponse where maxResults - * was used and the results exceeded the value of that parameter. Pagination - * continues from the end of the previous results that returned the - * nextToken value.

                + *

                The nextToken value to include in a future + * ListIdentityProviderConfigsResponse request. When the results of a + * ListIdentityProviderConfigsResponse request exceed + * maxResults, you can use this value to retrieve the next page of + * results. This value is null when there are no more results to + * return.

                */ inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } /** - *

                The nextToken value returned from a previous paginated - * ListIdentityProviderConfigsResponse where maxResults - * was used and the results exceeded the value of that parameter. Pagination - * continues from the end of the previous results that returned the - * nextToken value.

                + *

                The nextToken value to include in a future + * ListIdentityProviderConfigsResponse request. When the results of a + * ListIdentityProviderConfigsResponse request exceed + * maxResults, you can use this value to retrieve the next page of + * results. This value is null when there are no more results to + * return.

                */ inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } /** - *

                The nextToken value returned from a previous paginated - * ListIdentityProviderConfigsResponse where maxResults - * was used and the results exceeded the value of that parameter. Pagination - * continues from the end of the previous results that returned the - * nextToken value.

                + *

                The nextToken value to include in a future + * ListIdentityProviderConfigsResponse request. When the results of a + * ListIdentityProviderConfigsResponse request exceed + * maxResults, you can use this value to retrieve the next page of + * results. This value is null when there are no more results to + * return.

                */ inline void SetNextToken(const char* value) { m_nextToken.assign(value); } /** - *

                The nextToken value returned from a previous paginated - * ListIdentityProviderConfigsResponse where maxResults - * was used and the results exceeded the value of that parameter. Pagination - * continues from the end of the previous results that returned the - * nextToken value.

                + *

                The nextToken value to include in a future + * ListIdentityProviderConfigsResponse request. When the results of a + * ListIdentityProviderConfigsResponse request exceed + * maxResults, you can use this value to retrieve the next page of + * results. This value is null when there are no more results to + * return.

                */ inline ListIdentityProviderConfigsResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} /** - *

                The nextToken value returned from a previous paginated - * ListIdentityProviderConfigsResponse where maxResults - * was used and the results exceeded the value of that parameter. Pagination - * continues from the end of the previous results that returned the - * nextToken value.

                + *

                The nextToken value to include in a future + * ListIdentityProviderConfigsResponse request. When the results of a + * ListIdentityProviderConfigsResponse request exceed + * maxResults, you can use this value to retrieve the next page of + * results. This value is null when there are no more results to + * return.

                */ inline ListIdentityProviderConfigsResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} /** - *

                The nextToken value returned from a previous paginated - * ListIdentityProviderConfigsResponse where maxResults - * was used and the results exceeded the value of that parameter. Pagination - * continues from the end of the previous results that returned the - * nextToken value.

                + *

                The nextToken value to include in a future + * ListIdentityProviderConfigsResponse request. When the results of a + * ListIdentityProviderConfigsResponse request exceed + * maxResults, you can use this value to retrieve the next page of + * results. This value is null when there are no more results to + * return.

                */ inline ListIdentityProviderConfigsResult& WithNextToken(const char* value) { SetNextToken(value); return *this;} diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/ListPodIdentityAssociationsRequest.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/ListPodIdentityAssociationsRequest.h new file mode 100644 index 00000000000..ca5834d6889 --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/ListPodIdentityAssociationsRequest.h @@ -0,0 +1,337 @@ +/** + * 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 EKS +{ +namespace Model +{ + + /** + */ + class ListPodIdentityAssociationsRequest : public EKSRequest + { + public: + AWS_EKS_API ListPodIdentityAssociationsRequest(); + + // 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 "ListPodIdentityAssociations"; } + + AWS_EKS_API Aws::String SerializePayload() const override; + + AWS_EKS_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + /** + *

                The name of the cluster that the associations are in.

                + */ + inline const Aws::String& GetClusterName() const{ return m_clusterName; } + + /** + *

                The name of the cluster that the associations are in.

                + */ + inline bool ClusterNameHasBeenSet() const { return m_clusterNameHasBeenSet; } + + /** + *

                The name of the cluster that the associations are in.

                + */ + inline void SetClusterName(const Aws::String& value) { m_clusterNameHasBeenSet = true; m_clusterName = value; } + + /** + *

                The name of the cluster that the associations are in.

                + */ + inline void SetClusterName(Aws::String&& value) { m_clusterNameHasBeenSet = true; m_clusterName = std::move(value); } + + /** + *

                The name of the cluster that the associations are in.

                + */ + inline void SetClusterName(const char* value) { m_clusterNameHasBeenSet = true; m_clusterName.assign(value); } + + /** + *

                The name of the cluster that the associations are in.

                + */ + inline ListPodIdentityAssociationsRequest& WithClusterName(const Aws::String& value) { SetClusterName(value); return *this;} + + /** + *

                The name of the cluster that the associations are in.

                + */ + inline ListPodIdentityAssociationsRequest& WithClusterName(Aws::String&& value) { SetClusterName(std::move(value)); return *this;} + + /** + *

                The name of the cluster that the associations are in.

                + */ + inline ListPodIdentityAssociationsRequest& WithClusterName(const char* value) { SetClusterName(value); return *this;} + + + /** + *

                The name of the Kubernetes namespace inside the cluster that the associations + * are in.

                + */ + inline const Aws::String& GetNamespace() const{ return m_namespace; } + + /** + *

                The name of the Kubernetes namespace inside the cluster that the associations + * are in.

                + */ + inline bool NamespaceHasBeenSet() const { return m_namespaceHasBeenSet; } + + /** + *

                The name of the Kubernetes namespace inside the cluster that the associations + * are in.

                + */ + inline void SetNamespace(const Aws::String& value) { m_namespaceHasBeenSet = true; m_namespace = value; } + + /** + *

                The name of the Kubernetes namespace inside the cluster that the associations + * are in.

                + */ + inline void SetNamespace(Aws::String&& value) { m_namespaceHasBeenSet = true; m_namespace = std::move(value); } + + /** + *

                The name of the Kubernetes namespace inside the cluster that the associations + * are in.

                + */ + inline void SetNamespace(const char* value) { m_namespaceHasBeenSet = true; m_namespace.assign(value); } + + /** + *

                The name of the Kubernetes namespace inside the cluster that the associations + * are in.

                + */ + inline ListPodIdentityAssociationsRequest& WithNamespace(const Aws::String& value) { SetNamespace(value); return *this;} + + /** + *

                The name of the Kubernetes namespace inside the cluster that the associations + * are in.

                + */ + inline ListPodIdentityAssociationsRequest& WithNamespace(Aws::String&& value) { SetNamespace(std::move(value)); return *this;} + + /** + *

                The name of the Kubernetes namespace inside the cluster that the associations + * are in.

                + */ + inline ListPodIdentityAssociationsRequest& WithNamespace(const char* value) { SetNamespace(value); return *this;} + + + /** + *

                The name of the Kubernetes service account that the associations use.

                + */ + inline const Aws::String& GetServiceAccount() const{ return m_serviceAccount; } + + /** + *

                The name of the Kubernetes service account that the associations use.

                + */ + inline bool ServiceAccountHasBeenSet() const { return m_serviceAccountHasBeenSet; } + + /** + *

                The name of the Kubernetes service account that the associations use.

                + */ + inline void SetServiceAccount(const Aws::String& value) { m_serviceAccountHasBeenSet = true; m_serviceAccount = value; } + + /** + *

                The name of the Kubernetes service account that the associations use.

                + */ + inline void SetServiceAccount(Aws::String&& value) { m_serviceAccountHasBeenSet = true; m_serviceAccount = std::move(value); } + + /** + *

                The name of the Kubernetes service account that the associations use.

                + */ + inline void SetServiceAccount(const char* value) { m_serviceAccountHasBeenSet = true; m_serviceAccount.assign(value); } + + /** + *

                The name of the Kubernetes service account that the associations use.

                + */ + inline ListPodIdentityAssociationsRequest& WithServiceAccount(const Aws::String& value) { SetServiceAccount(value); return *this;} + + /** + *

                The name of the Kubernetes service account that the associations use.

                + */ + inline ListPodIdentityAssociationsRequest& WithServiceAccount(Aws::String&& value) { SetServiceAccount(std::move(value)); return *this;} + + /** + *

                The name of the Kubernetes service account that the associations use.

                + */ + inline ListPodIdentityAssociationsRequest& WithServiceAccount(const char* value) { SetServiceAccount(value); return *this;} + + + /** + *

                The maximum number of EKS Pod Identity association results returned by + * ListPodIdentityAssociations in paginated output. When you use this + * parameter, ListPodIdentityAssociations returns only + * maxResults results in a single page along with a + * nextToken response element. You can see the remaining results of + * the initial request by sending another ListPodIdentityAssociations + * request with the returned nextToken value. This value can be + * between 1 and 100. If you don't use this parameter, + * ListPodIdentityAssociations returns up to 100 results and a + * nextToken value if applicable.

                + */ + inline int GetMaxResults() const{ return m_maxResults; } + + /** + *

                The maximum number of EKS Pod Identity association results returned by + * ListPodIdentityAssociations in paginated output. When you use this + * parameter, ListPodIdentityAssociations returns only + * maxResults results in a single page along with a + * nextToken response element. You can see the remaining results of + * the initial request by sending another ListPodIdentityAssociations + * request with the returned nextToken value. This value can be + * between 1 and 100. If you don't use this parameter, + * ListPodIdentityAssociations returns up to 100 results and a + * nextToken value if applicable.

                + */ + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + + /** + *

                The maximum number of EKS Pod Identity association results returned by + * ListPodIdentityAssociations in paginated output. When you use this + * parameter, ListPodIdentityAssociations returns only + * maxResults results in a single page along with a + * nextToken response element. You can see the remaining results of + * the initial request by sending another ListPodIdentityAssociations + * request with the returned nextToken value. This value can be + * between 1 and 100. If you don't use this parameter, + * ListPodIdentityAssociations returns up to 100 results and a + * nextToken value if applicable.

                + */ + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + + /** + *

                The maximum number of EKS Pod Identity association results returned by + * ListPodIdentityAssociations in paginated output. When you use this + * parameter, ListPodIdentityAssociations returns only + * maxResults results in a single page along with a + * nextToken response element. You can see the remaining results of + * the initial request by sending another ListPodIdentityAssociations + * request with the returned nextToken value. This value can be + * between 1 and 100. If you don't use this parameter, + * ListPodIdentityAssociations returns up to 100 results and a + * nextToken value if applicable.

                + */ + inline ListPodIdentityAssociationsRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + + + /** + *

                The nextToken value returned from a previous paginated + * ListUpdates request where maxResults was used and the + * results exceeded the value of that parameter. Pagination continues from the end + * of the previous results that returned the nextToken value.

                + *

                This token should be treated as an opaque identifier that is used only + * to retrieve the next items in a list and not for other programmatic + * purposes.

                + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + + /** + *

                The nextToken value returned from a previous paginated + * ListUpdates request where maxResults was used and the + * results exceeded the value of that parameter. Pagination continues from the end + * of the previous results that returned the nextToken value.

                + *

                This token should be treated as an opaque identifier that is used only + * to retrieve the next items in a list and not for other programmatic + * purposes.

                + */ + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + + /** + *

                The nextToken value returned from a previous paginated + * ListUpdates request where maxResults was used and the + * results exceeded the value of that parameter. Pagination continues from the end + * of the previous results that returned the nextToken value.

                + *

                This token should be treated as an opaque identifier that is used only + * to retrieve the next items in a list and not for other programmatic + * purposes.

                + */ + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + + /** + *

                The nextToken value returned from a previous paginated + * ListUpdates request where maxResults was used and the + * results exceeded the value of that parameter. Pagination continues from the end + * of the previous results that returned the nextToken value.

                + *

                This token should be treated as an opaque identifier that is used only + * to retrieve the next items in a list and not for other programmatic + * purposes.

                + */ + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + + /** + *

                The nextToken value returned from a previous paginated + * ListUpdates request where maxResults was used and the + * results exceeded the value of that parameter. Pagination continues from the end + * of the previous results that returned the nextToken value.

                + *

                This token should be treated as an opaque identifier that is used only + * to retrieve the next items in a list and not for other programmatic + * purposes.

                + */ + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + + /** + *

                The nextToken value returned from a previous paginated + * ListUpdates request where maxResults was used and the + * results exceeded the value of that parameter. Pagination continues from the end + * of the previous results that returned the nextToken value.

                + *

                This token should be treated as an opaque identifier that is used only + * to retrieve the next items in a list and not for other programmatic + * purposes.

                + */ + inline ListPodIdentityAssociationsRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + + /** + *

                The nextToken value returned from a previous paginated + * ListUpdates request where maxResults was used and the + * results exceeded the value of that parameter. Pagination continues from the end + * of the previous results that returned the nextToken value.

                + *

                This token should be treated as an opaque identifier that is used only + * to retrieve the next items in a list and not for other programmatic + * purposes.

                + */ + inline ListPodIdentityAssociationsRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + + /** + *

                The nextToken value returned from a previous paginated + * ListUpdates request where maxResults was used and the + * results exceeded the value of that parameter. Pagination continues from the end + * of the previous results that returned the nextToken value.

                + *

                This token should be treated as an opaque identifier that is used only + * to retrieve the next items in a list and not for other programmatic + * purposes.

                + */ + inline ListPodIdentityAssociationsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + + private: + + Aws::String m_clusterName; + bool m_clusterNameHasBeenSet = false; + + Aws::String m_namespace; + bool m_namespaceHasBeenSet = false; + + Aws::String m_serviceAccount; + bool m_serviceAccountHasBeenSet = false; + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + }; + +} // namespace Model +} // namespace EKS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/ListPodIdentityAssociationsResult.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/ListPodIdentityAssociationsResult.h new file mode 100644 index 00000000000..b561f346156 --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/ListPodIdentityAssociationsResult.h @@ -0,0 +1,232 @@ +/** + * 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 EKS +{ +namespace Model +{ + class ListPodIdentityAssociationsResult + { + public: + AWS_EKS_API ListPodIdentityAssociationsResult(); + AWS_EKS_API ListPodIdentityAssociationsResult(const Aws::AmazonWebServiceResult& result); + AWS_EKS_API ListPodIdentityAssociationsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

                The list of summarized descriptions of the associations that are in the + * cluster and match any filters that you provided.

                Each summary is + * simplified by removing these fields compared to the full + * PodIdentityAssociation :

                • The IAM role: + * roleArn

                • The timestamp that the association was + * created at: createdAt

                • The most recent timestamp + * that the association was modified at:. modifiedAt

                • + *

                  The tags on the association: tags

                + */ + inline const Aws::Vector& GetAssociations() const{ return m_associations; } + + /** + *

                The list of summarized descriptions of the associations that are in the + * cluster and match any filters that you provided.

                Each summary is + * simplified by removing these fields compared to the full + * PodIdentityAssociation :

                • The IAM role: + * roleArn

                • The timestamp that the association was + * created at: createdAt

                • The most recent timestamp + * that the association was modified at:. modifiedAt

                • + *

                  The tags on the association: tags

                + */ + inline void SetAssociations(const Aws::Vector& value) { m_associations = value; } + + /** + *

                The list of summarized descriptions of the associations that are in the + * cluster and match any filters that you provided.

                Each summary is + * simplified by removing these fields compared to the full + * PodIdentityAssociation :

                • The IAM role: + * roleArn

                • The timestamp that the association was + * created at: createdAt

                • The most recent timestamp + * that the association was modified at:. modifiedAt

                • + *

                  The tags on the association: tags

                + */ + inline void SetAssociations(Aws::Vector&& value) { m_associations = std::move(value); } + + /** + *

                The list of summarized descriptions of the associations that are in the + * cluster and match any filters that you provided.

                Each summary is + * simplified by removing these fields compared to the full + * PodIdentityAssociation :

                • The IAM role: + * roleArn

                • The timestamp that the association was + * created at: createdAt

                • The most recent timestamp + * that the association was modified at:. modifiedAt

                • + *

                  The tags on the association: tags

                + */ + inline ListPodIdentityAssociationsResult& WithAssociations(const Aws::Vector& value) { SetAssociations(value); return *this;} + + /** + *

                The list of summarized descriptions of the associations that are in the + * cluster and match any filters that you provided.

                Each summary is + * simplified by removing these fields compared to the full + * PodIdentityAssociation :

                • The IAM role: + * roleArn

                • The timestamp that the association was + * created at: createdAt

                • The most recent timestamp + * that the association was modified at:. modifiedAt

                • + *

                  The tags on the association: tags

                + */ + inline ListPodIdentityAssociationsResult& WithAssociations(Aws::Vector&& value) { SetAssociations(std::move(value)); return *this;} + + /** + *

                The list of summarized descriptions of the associations that are in the + * cluster and match any filters that you provided.

                Each summary is + * simplified by removing these fields compared to the full + * PodIdentityAssociation :

                • The IAM role: + * roleArn

                • The timestamp that the association was + * created at: createdAt

                • The most recent timestamp + * that the association was modified at:. modifiedAt

                • + *

                  The tags on the association: tags

                + */ + inline ListPodIdentityAssociationsResult& AddAssociations(const PodIdentityAssociationSummary& value) { m_associations.push_back(value); return *this; } + + /** + *

                The list of summarized descriptions of the associations that are in the + * cluster and match any filters that you provided.

                Each summary is + * simplified by removing these fields compared to the full + * PodIdentityAssociation :

                • The IAM role: + * roleArn

                • The timestamp that the association was + * created at: createdAt

                • The most recent timestamp + * that the association was modified at:. modifiedAt

                • + *

                  The tags on the association: tags

                + */ + inline ListPodIdentityAssociationsResult& AddAssociations(PodIdentityAssociationSummary&& value) { m_associations.push_back(std::move(value)); return *this; } + + + /** + *

                The nextToken value to include in a future + * ListPodIdentityAssociations request. When the results of a + * ListPodIdentityAssociations request exceed maxResults, + * you can use this value to retrieve the next page of results. This value is + * null when there are no more results to return.

                This + * token should be treated as an opaque identifier that is used only to retrieve + * the next items in a list and not for other programmatic purposes.

                + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + + /** + *

                The nextToken value to include in a future + * ListPodIdentityAssociations request. When the results of a + * ListPodIdentityAssociations request exceed maxResults, + * you can use this value to retrieve the next page of results. This value is + * null when there are no more results to return.

                This + * token should be treated as an opaque identifier that is used only to retrieve + * the next items in a list and not for other programmatic purposes.

                + */ + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + + /** + *

                The nextToken value to include in a future + * ListPodIdentityAssociations request. When the results of a + * ListPodIdentityAssociations request exceed maxResults, + * you can use this value to retrieve the next page of results. This value is + * null when there are no more results to return.

                This + * token should be treated as an opaque identifier that is used only to retrieve + * the next items in a list and not for other programmatic purposes.

                + */ + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + + /** + *

                The nextToken value to include in a future + * ListPodIdentityAssociations request. When the results of a + * ListPodIdentityAssociations request exceed maxResults, + * you can use this value to retrieve the next page of results. This value is + * null when there are no more results to return.

                This + * token should be treated as an opaque identifier that is used only to retrieve + * the next items in a list and not for other programmatic purposes.

                + */ + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + + /** + *

                The nextToken value to include in a future + * ListPodIdentityAssociations request. When the results of a + * ListPodIdentityAssociations request exceed maxResults, + * you can use this value to retrieve the next page of results. This value is + * null when there are no more results to return.

                This + * token should be treated as an opaque identifier that is used only to retrieve + * the next items in a list and not for other programmatic purposes.

                + */ + inline ListPodIdentityAssociationsResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + + /** + *

                The nextToken value to include in a future + * ListPodIdentityAssociations request. When the results of a + * ListPodIdentityAssociations request exceed maxResults, + * you can use this value to retrieve the next page of results. This value is + * null when there are no more results to return.

                This + * token should be treated as an opaque identifier that is used only to retrieve + * the next items in a list and not for other programmatic purposes.

                + */ + inline ListPodIdentityAssociationsResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + + /** + *

                The nextToken value to include in a future + * ListPodIdentityAssociations request. When the results of a + * ListPodIdentityAssociations request exceed maxResults, + * you can use this value to retrieve the next page of results. This value is + * null when there are no more results to return.

                This + * token should be treated as an opaque identifier that is used only to retrieve + * the next items in a list and not for other programmatic purposes.

                + */ + inline ListPodIdentityAssociationsResult& 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 ListPodIdentityAssociationsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline ListPodIdentityAssociationsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline ListPodIdentityAssociationsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::Vector m_associations; + + Aws::String m_nextToken; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace EKS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/PodIdentityAssociation.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/PodIdentityAssociation.h new file mode 100644 index 00000000000..32aa84bf1a2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/PodIdentityAssociation.h @@ -0,0 +1,685 @@ +/** + * 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 EKS +{ +namespace Model +{ + + /** + *

                Amazon EKS Pod Identity associations provide the ability to manage + * credentials for your applications, similar to the way that 7EC2l instance + * profiles provide credentials to Amazon EC2 instances.

                See Also:

                + * AWS + * API Reference

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

                The name of the cluster that the association is in.

                + */ + inline const Aws::String& GetClusterName() const{ return m_clusterName; } + + /** + *

                The name of the cluster that the association is in.

                + */ + inline bool ClusterNameHasBeenSet() const { return m_clusterNameHasBeenSet; } + + /** + *

                The name of the cluster that the association is in.

                + */ + inline void SetClusterName(const Aws::String& value) { m_clusterNameHasBeenSet = true; m_clusterName = value; } + + /** + *

                The name of the cluster that the association is in.

                + */ + inline void SetClusterName(Aws::String&& value) { m_clusterNameHasBeenSet = true; m_clusterName = std::move(value); } + + /** + *

                The name of the cluster that the association is in.

                + */ + inline void SetClusterName(const char* value) { m_clusterNameHasBeenSet = true; m_clusterName.assign(value); } + + /** + *

                The name of the cluster that the association is in.

                + */ + inline PodIdentityAssociation& WithClusterName(const Aws::String& value) { SetClusterName(value); return *this;} + + /** + *

                The name of the cluster that the association is in.

                + */ + inline PodIdentityAssociation& WithClusterName(Aws::String&& value) { SetClusterName(std::move(value)); return *this;} + + /** + *

                The name of the cluster that the association is in.

                + */ + inline PodIdentityAssociation& WithClusterName(const char* value) { SetClusterName(value); return *this;} + + + /** + *

                The name of the Kubernetes namespace inside the cluster to create the + * association in. The service account and the pods that use the service account + * must be in this namespace.

                + */ + inline const Aws::String& GetNamespace() const{ return m_namespace; } + + /** + *

                The name of the Kubernetes namespace inside the cluster to create the + * association in. The service account and the pods that use the service account + * must be in this namespace.

                + */ + inline bool NamespaceHasBeenSet() const { return m_namespaceHasBeenSet; } + + /** + *

                The name of the Kubernetes namespace inside the cluster to create the + * association in. The service account and the pods that use the service account + * must be in this namespace.

                + */ + inline void SetNamespace(const Aws::String& value) { m_namespaceHasBeenSet = true; m_namespace = value; } + + /** + *

                The name of the Kubernetes namespace inside the cluster to create the + * association in. The service account and the pods that use the service account + * must be in this namespace.

                + */ + inline void SetNamespace(Aws::String&& value) { m_namespaceHasBeenSet = true; m_namespace = std::move(value); } + + /** + *

                The name of the Kubernetes namespace inside the cluster to create the + * association in. The service account and the pods that use the service account + * must be in this namespace.

                + */ + inline void SetNamespace(const char* value) { m_namespaceHasBeenSet = true; m_namespace.assign(value); } + + /** + *

                The name of the Kubernetes namespace inside the cluster to create the + * association in. The service account and the pods that use the service account + * must be in this namespace.

                + */ + inline PodIdentityAssociation& WithNamespace(const Aws::String& value) { SetNamespace(value); return *this;} + + /** + *

                The name of the Kubernetes namespace inside the cluster to create the + * association in. The service account and the pods that use the service account + * must be in this namespace.

                + */ + inline PodIdentityAssociation& WithNamespace(Aws::String&& value) { SetNamespace(std::move(value)); return *this;} + + /** + *

                The name of the Kubernetes namespace inside the cluster to create the + * association in. The service account and the pods that use the service account + * must be in this namespace.

                + */ + inline PodIdentityAssociation& WithNamespace(const char* value) { SetNamespace(value); return *this;} + + + /** + *

                The name of the Kubernetes service account inside the cluster to associate + * the IAM credentials with.

                + */ + inline const Aws::String& GetServiceAccount() const{ return m_serviceAccount; } + + /** + *

                The name of the Kubernetes service account inside the cluster to associate + * the IAM credentials with.

                + */ + inline bool ServiceAccountHasBeenSet() const { return m_serviceAccountHasBeenSet; } + + /** + *

                The name of the Kubernetes service account inside the cluster to associate + * the IAM credentials with.

                + */ + inline void SetServiceAccount(const Aws::String& value) { m_serviceAccountHasBeenSet = true; m_serviceAccount = value; } + + /** + *

                The name of the Kubernetes service account inside the cluster to associate + * the IAM credentials with.

                + */ + inline void SetServiceAccount(Aws::String&& value) { m_serviceAccountHasBeenSet = true; m_serviceAccount = std::move(value); } + + /** + *

                The name of the Kubernetes service account inside the cluster to associate + * the IAM credentials with.

                + */ + inline void SetServiceAccount(const char* value) { m_serviceAccountHasBeenSet = true; m_serviceAccount.assign(value); } + + /** + *

                The name of the Kubernetes service account inside the cluster to associate + * the IAM credentials with.

                + */ + inline PodIdentityAssociation& WithServiceAccount(const Aws::String& value) { SetServiceAccount(value); return *this;} + + /** + *

                The name of the Kubernetes service account inside the cluster to associate + * the IAM credentials with.

                + */ + inline PodIdentityAssociation& WithServiceAccount(Aws::String&& value) { SetServiceAccount(std::move(value)); return *this;} + + /** + *

                The name of the Kubernetes service account inside the cluster to associate + * the IAM credentials with.

                + */ + inline PodIdentityAssociation& WithServiceAccount(const char* value) { SetServiceAccount(value); return *this;} + + + /** + *

                The Amazon Resource Name (ARN) of the IAM role to associate with the service + * account. The EKS Pod Identity agent manages credentials to assume this role for + * applications in the containers in the pods that use this service account.

                + */ + inline const Aws::String& GetRoleArn() const{ return m_roleArn; } + + /** + *

                The Amazon Resource Name (ARN) of the IAM role to associate with the service + * account. The EKS Pod Identity agent manages credentials to assume this role for + * applications in the containers in the pods that use this service account.

                + */ + inline bool RoleArnHasBeenSet() const { return m_roleArnHasBeenSet; } + + /** + *

                The Amazon Resource Name (ARN) of the IAM role to associate with the service + * account. The EKS Pod Identity agent manages credentials to assume this role for + * applications in the containers in the pods that use this service account.

                + */ + inline void SetRoleArn(const Aws::String& value) { m_roleArnHasBeenSet = true; m_roleArn = value; } + + /** + *

                The Amazon Resource Name (ARN) of the IAM role to associate with the service + * account. The EKS Pod Identity agent manages credentials to assume this role for + * applications in the containers in the pods that use this service account.

                + */ + inline void SetRoleArn(Aws::String&& value) { m_roleArnHasBeenSet = true; m_roleArn = std::move(value); } + + /** + *

                The Amazon Resource Name (ARN) of the IAM role to associate with the service + * account. The EKS Pod Identity agent manages credentials to assume this role for + * applications in the containers in the pods that use this service account.

                + */ + inline void SetRoleArn(const char* value) { m_roleArnHasBeenSet = true; m_roleArn.assign(value); } + + /** + *

                The Amazon Resource Name (ARN) of the IAM role to associate with the service + * account. The EKS Pod Identity agent manages credentials to assume this role for + * applications in the containers in the pods that use this service account.

                + */ + inline PodIdentityAssociation& WithRoleArn(const Aws::String& value) { SetRoleArn(value); return *this;} + + /** + *

                The Amazon Resource Name (ARN) of the IAM role to associate with the service + * account. The EKS Pod Identity agent manages credentials to assume this role for + * applications in the containers in the pods that use this service account.

                + */ + inline PodIdentityAssociation& WithRoleArn(Aws::String&& value) { SetRoleArn(std::move(value)); return *this;} + + /** + *

                The Amazon Resource Name (ARN) of the IAM role to associate with the service + * account. The EKS Pod Identity agent manages credentials to assume this role for + * applications in the containers in the pods that use this service account.

                + */ + inline PodIdentityAssociation& WithRoleArn(const char* value) { SetRoleArn(value); return *this;} + + + /** + *

                The Amazon Resource Name (ARN) of the association.

                + */ + inline const Aws::String& GetAssociationArn() const{ return m_associationArn; } + + /** + *

                The Amazon Resource Name (ARN) of the association.

                + */ + inline bool AssociationArnHasBeenSet() const { return m_associationArnHasBeenSet; } + + /** + *

                The Amazon Resource Name (ARN) of the association.

                + */ + inline void SetAssociationArn(const Aws::String& value) { m_associationArnHasBeenSet = true; m_associationArn = value; } + + /** + *

                The Amazon Resource Name (ARN) of the association.

                + */ + inline void SetAssociationArn(Aws::String&& value) { m_associationArnHasBeenSet = true; m_associationArn = std::move(value); } + + /** + *

                The Amazon Resource Name (ARN) of the association.

                + */ + inline void SetAssociationArn(const char* value) { m_associationArnHasBeenSet = true; m_associationArn.assign(value); } + + /** + *

                The Amazon Resource Name (ARN) of the association.

                + */ + inline PodIdentityAssociation& WithAssociationArn(const Aws::String& value) { SetAssociationArn(value); return *this;} + + /** + *

                The Amazon Resource Name (ARN) of the association.

                + */ + inline PodIdentityAssociation& WithAssociationArn(Aws::String&& value) { SetAssociationArn(std::move(value)); return *this;} + + /** + *

                The Amazon Resource Name (ARN) of the association.

                + */ + inline PodIdentityAssociation& WithAssociationArn(const char* value) { SetAssociationArn(value); return *this;} + + + /** + *

                The ID of the association.

                + */ + inline const Aws::String& GetAssociationId() const{ return m_associationId; } + + /** + *

                The ID of the association.

                + */ + inline bool AssociationIdHasBeenSet() const { return m_associationIdHasBeenSet; } + + /** + *

                The ID of the association.

                + */ + inline void SetAssociationId(const Aws::String& value) { m_associationIdHasBeenSet = true; m_associationId = value; } + + /** + *

                The ID of the association.

                + */ + inline void SetAssociationId(Aws::String&& value) { m_associationIdHasBeenSet = true; m_associationId = std::move(value); } + + /** + *

                The ID of the association.

                + */ + inline void SetAssociationId(const char* value) { m_associationIdHasBeenSet = true; m_associationId.assign(value); } + + /** + *

                The ID of the association.

                + */ + inline PodIdentityAssociation& WithAssociationId(const Aws::String& value) { SetAssociationId(value); return *this;} + + /** + *

                The ID of the association.

                + */ + inline PodIdentityAssociation& WithAssociationId(Aws::String&& value) { SetAssociationId(std::move(value)); return *this;} + + /** + *

                The ID of the association.

                + */ + inline PodIdentityAssociation& WithAssociationId(const char* value) { SetAssociationId(value); return *this;} + + + /** + *

                The metadata that you apply to a resource to assist with categorization and + * organization. Each tag consists of a key and an optional value. You define + * both.

                The following basic restrictions apply to tags:

                • + *

                  Maximum number of tags per resource – 50

                • For each resource, + * each tag key must be unique, and each tag key can have only one value.

                • + *
                • Maximum key length – 128 Unicode characters in UTF-8

                • + *

                  Maximum value length – 256 Unicode characters in UTF-8

                • If + * your tagging schema is used across multiple services and resources, remember + * that other services may have restrictions on allowed characters. Generally + * allowed characters are: letters, numbers, and spaces representable in UTF-8, and + * the following characters: + - = . _ : / @.

                • Tag keys and values + * are case-sensitive.

                • Do not use aws:, + * AWS:, or any upper or lowercase combination of such as a prefix for + * either keys or values as it is reserved for Amazon Web Services use. You cannot + * edit or delete tag keys or values with this prefix. Tags with this prefix do not + * count against your tags per resource limit.

                + */ + inline const Aws::Map& GetTags() const{ return m_tags; } + + /** + *

                The metadata that you apply to a resource to assist with categorization and + * organization. Each tag consists of a key and an optional value. You define + * both.

                The following basic restrictions apply to tags:

                • + *

                  Maximum number of tags per resource – 50

                • For each resource, + * each tag key must be unique, and each tag key can have only one value.

                • + *
                • Maximum key length – 128 Unicode characters in UTF-8

                • + *

                  Maximum value length – 256 Unicode characters in UTF-8

                • If + * your tagging schema is used across multiple services and resources, remember + * that other services may have restrictions on allowed characters. Generally + * allowed characters are: letters, numbers, and spaces representable in UTF-8, and + * the following characters: + - = . _ : / @.

                • Tag keys and values + * are case-sensitive.

                • Do not use aws:, + * AWS:, or any upper or lowercase combination of such as a prefix for + * either keys or values as it is reserved for Amazon Web Services use. You cannot + * edit or delete tag keys or values with this prefix. Tags with this prefix do not + * count against your tags per resource limit.

                + */ + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + + /** + *

                The metadata that you apply to a resource to assist with categorization and + * organization. Each tag consists of a key and an optional value. You define + * both.

                The following basic restrictions apply to tags:

                • + *

                  Maximum number of tags per resource – 50

                • For each resource, + * each tag key must be unique, and each tag key can have only one value.

                • + *
                • Maximum key length – 128 Unicode characters in UTF-8

                • + *

                  Maximum value length – 256 Unicode characters in UTF-8

                • If + * your tagging schema is used across multiple services and resources, remember + * that other services may have restrictions on allowed characters. Generally + * allowed characters are: letters, numbers, and spaces representable in UTF-8, and + * the following characters: + - = . _ : / @.

                • Tag keys and values + * are case-sensitive.

                • Do not use aws:, + * AWS:, or any upper or lowercase combination of such as a prefix for + * either keys or values as it is reserved for Amazon Web Services use. You cannot + * edit or delete tag keys or values with this prefix. Tags with this prefix do not + * count against your tags per resource limit.

                + */ + inline void SetTags(const Aws::Map& value) { m_tagsHasBeenSet = true; m_tags = value; } + + /** + *

                The metadata that you apply to a resource to assist with categorization and + * organization. Each tag consists of a key and an optional value. You define + * both.

                The following basic restrictions apply to tags:

                • + *

                  Maximum number of tags per resource – 50

                • For each resource, + * each tag key must be unique, and each tag key can have only one value.

                • + *
                • Maximum key length – 128 Unicode characters in UTF-8

                • + *

                  Maximum value length – 256 Unicode characters in UTF-8

                • If + * your tagging schema is used across multiple services and resources, remember + * that other services may have restrictions on allowed characters. Generally + * allowed characters are: letters, numbers, and spaces representable in UTF-8, and + * the following characters: + - = . _ : / @.

                • Tag keys and values + * are case-sensitive.

                • Do not use aws:, + * AWS:, or any upper or lowercase combination of such as a prefix for + * either keys or values as it is reserved for Amazon Web Services use. You cannot + * edit or delete tag keys or values with this prefix. Tags with this prefix do not + * count against your tags per resource limit.

                + */ + inline void SetTags(Aws::Map&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } + + /** + *

                The metadata that you apply to a resource to assist with categorization and + * organization. Each tag consists of a key and an optional value. You define + * both.

                The following basic restrictions apply to tags:

                • + *

                  Maximum number of tags per resource – 50

                • For each resource, + * each tag key must be unique, and each tag key can have only one value.

                • + *
                • Maximum key length – 128 Unicode characters in UTF-8

                • + *

                  Maximum value length – 256 Unicode characters in UTF-8

                • If + * your tagging schema is used across multiple services and resources, remember + * that other services may have restrictions on allowed characters. Generally + * allowed characters are: letters, numbers, and spaces representable in UTF-8, and + * the following characters: + - = . _ : / @.

                • Tag keys and values + * are case-sensitive.

                • Do not use aws:, + * AWS:, or any upper or lowercase combination of such as a prefix for + * either keys or values as it is reserved for Amazon Web Services use. You cannot + * edit or delete tag keys or values with this prefix. Tags with this prefix do not + * count against your tags per resource limit.

                + */ + inline PodIdentityAssociation& WithTags(const Aws::Map& value) { SetTags(value); return *this;} + + /** + *

                The metadata that you apply to a resource to assist with categorization and + * organization. Each tag consists of a key and an optional value. You define + * both.

                The following basic restrictions apply to tags:

                • + *

                  Maximum number of tags per resource – 50

                • For each resource, + * each tag key must be unique, and each tag key can have only one value.

                • + *
                • Maximum key length – 128 Unicode characters in UTF-8

                • + *

                  Maximum value length – 256 Unicode characters in UTF-8

                • If + * your tagging schema is used across multiple services and resources, remember + * that other services may have restrictions on allowed characters. Generally + * allowed characters are: letters, numbers, and spaces representable in UTF-8, and + * the following characters: + - = . _ : / @.

                • Tag keys and values + * are case-sensitive.

                • Do not use aws:, + * AWS:, or any upper or lowercase combination of such as a prefix for + * either keys or values as it is reserved for Amazon Web Services use. You cannot + * edit or delete tag keys or values with this prefix. Tags with this prefix do not + * count against your tags per resource limit.

                + */ + inline PodIdentityAssociation& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} + + /** + *

                The metadata that you apply to a resource to assist with categorization and + * organization. Each tag consists of a key and an optional value. You define + * both.

                The following basic restrictions apply to tags:

                • + *

                  Maximum number of tags per resource – 50

                • For each resource, + * each tag key must be unique, and each tag key can have only one value.

                • + *
                • Maximum key length – 128 Unicode characters in UTF-8

                • + *

                  Maximum value length – 256 Unicode characters in UTF-8

                • If + * your tagging schema is used across multiple services and resources, remember + * that other services may have restrictions on allowed characters. Generally + * allowed characters are: letters, numbers, and spaces representable in UTF-8, and + * the following characters: + - = . _ : / @.

                • Tag keys and values + * are case-sensitive.

                • Do not use aws:, + * AWS:, or any upper or lowercase combination of such as a prefix for + * either keys or values as it is reserved for Amazon Web Services use. You cannot + * edit or delete tag keys or values with this prefix. Tags with this prefix do not + * count against your tags per resource limit.

                + */ + inline PodIdentityAssociation& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } + + /** + *

                The metadata that you apply to a resource to assist with categorization and + * organization. Each tag consists of a key and an optional value. You define + * both.

                The following basic restrictions apply to tags:

                • + *

                  Maximum number of tags per resource – 50

                • For each resource, + * each tag key must be unique, and each tag key can have only one value.

                • + *
                • Maximum key length – 128 Unicode characters in UTF-8

                • + *

                  Maximum value length – 256 Unicode characters in UTF-8

                • If + * your tagging schema is used across multiple services and resources, remember + * that other services may have restrictions on allowed characters. Generally + * allowed characters are: letters, numbers, and spaces representable in UTF-8, and + * the following characters: + - = . _ : / @.

                • Tag keys and values + * are case-sensitive.

                • Do not use aws:, + * AWS:, or any upper or lowercase combination of such as a prefix for + * either keys or values as it is reserved for Amazon Web Services use. You cannot + * edit or delete tag keys or values with this prefix. Tags with this prefix do not + * count against your tags per resource limit.

                + */ + inline PodIdentityAssociation& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } + + /** + *

                The metadata that you apply to a resource to assist with categorization and + * organization. Each tag consists of a key and an optional value. You define + * both.

                The following basic restrictions apply to tags:

                • + *

                  Maximum number of tags per resource – 50

                • For each resource, + * each tag key must be unique, and each tag key can have only one value.

                • + *
                • Maximum key length – 128 Unicode characters in UTF-8

                • + *

                  Maximum value length – 256 Unicode characters in UTF-8

                • If + * your tagging schema is used across multiple services and resources, remember + * that other services may have restrictions on allowed characters. Generally + * allowed characters are: letters, numbers, and spaces representable in UTF-8, and + * the following characters: + - = . _ : / @.

                • Tag keys and values + * are case-sensitive.

                • Do not use aws:, + * AWS:, or any upper or lowercase combination of such as a prefix for + * either keys or values as it is reserved for Amazon Web Services use. You cannot + * edit or delete tag keys or values with this prefix. Tags with this prefix do not + * count against your tags per resource limit.

                + */ + inline PodIdentityAssociation& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } + + /** + *

                The metadata that you apply to a resource to assist with categorization and + * organization. Each tag consists of a key and an optional value. You define + * both.

                The following basic restrictions apply to tags:

                • + *

                  Maximum number of tags per resource – 50

                • For each resource, + * each tag key must be unique, and each tag key can have only one value.

                • + *
                • Maximum key length – 128 Unicode characters in UTF-8

                • + *

                  Maximum value length – 256 Unicode characters in UTF-8

                • If + * your tagging schema is used across multiple services and resources, remember + * that other services may have restrictions on allowed characters. Generally + * allowed characters are: letters, numbers, and spaces representable in UTF-8, and + * the following characters: + - = . _ : / @.

                • Tag keys and values + * are case-sensitive.

                • Do not use aws:, + * AWS:, or any upper or lowercase combination of such as a prefix for + * either keys or values as it is reserved for Amazon Web Services use. You cannot + * edit or delete tag keys or values with this prefix. Tags with this prefix do not + * count against your tags per resource limit.

                + */ + inline PodIdentityAssociation& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } + + /** + *

                The metadata that you apply to a resource to assist with categorization and + * organization. Each tag consists of a key and an optional value. You define + * both.

                The following basic restrictions apply to tags:

                • + *

                  Maximum number of tags per resource – 50

                • For each resource, + * each tag key must be unique, and each tag key can have only one value.

                • + *
                • Maximum key length – 128 Unicode characters in UTF-8

                • + *

                  Maximum value length – 256 Unicode characters in UTF-8

                • If + * your tagging schema is used across multiple services and resources, remember + * that other services may have restrictions on allowed characters. Generally + * allowed characters are: letters, numbers, and spaces representable in UTF-8, and + * the following characters: + - = . _ : / @.

                • Tag keys and values + * are case-sensitive.

                • Do not use aws:, + * AWS:, or any upper or lowercase combination of such as a prefix for + * either keys or values as it is reserved for Amazon Web Services use. You cannot + * edit or delete tag keys or values with this prefix. Tags with this prefix do not + * count against your tags per resource limit.

                + */ + inline PodIdentityAssociation& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } + + /** + *

                The metadata that you apply to a resource to assist with categorization and + * organization. Each tag consists of a key and an optional value. You define + * both.

                The following basic restrictions apply to tags:

                • + *

                  Maximum number of tags per resource – 50

                • For each resource, + * each tag key must be unique, and each tag key can have only one value.

                • + *
                • Maximum key length – 128 Unicode characters in UTF-8

                • + *

                  Maximum value length – 256 Unicode characters in UTF-8

                • If + * your tagging schema is used across multiple services and resources, remember + * that other services may have restrictions on allowed characters. Generally + * allowed characters are: letters, numbers, and spaces representable in UTF-8, and + * the following characters: + - = . _ : / @.

                • Tag keys and values + * are case-sensitive.

                • Do not use aws:, + * AWS:, or any upper or lowercase combination of such as a prefix for + * either keys or values as it is reserved for Amazon Web Services use. You cannot + * edit or delete tag keys or values with this prefix. Tags with this prefix do not + * count against your tags per resource limit.

                + */ + inline PodIdentityAssociation& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } + + /** + *

                The metadata that you apply to a resource to assist with categorization and + * organization. Each tag consists of a key and an optional value. You define + * both.

                The following basic restrictions apply to tags:

                • + *

                  Maximum number of tags per resource – 50

                • For each resource, + * each tag key must be unique, and each tag key can have only one value.

                • + *
                • Maximum key length – 128 Unicode characters in UTF-8

                • + *

                  Maximum value length – 256 Unicode characters in UTF-8

                • If + * your tagging schema is used across multiple services and resources, remember + * that other services may have restrictions on allowed characters. Generally + * allowed characters are: letters, numbers, and spaces representable in UTF-8, and + * the following characters: + - = . _ : / @.

                • Tag keys and values + * are case-sensitive.

                • Do not use aws:, + * AWS:, or any upper or lowercase combination of such as a prefix for + * either keys or values as it is reserved for Amazon Web Services use. You cannot + * edit or delete tag keys or values with this prefix. Tags with this prefix do not + * count against your tags per resource limit.

                + */ + inline PodIdentityAssociation& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } + + + /** + *

                The timestamp that the association was created at.

                + */ + inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } + + /** + *

                The timestamp that the association was created at.

                + */ + inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } + + /** + *

                The timestamp that the association was created at.

                + */ + inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAtHasBeenSet = true; m_createdAt = value; } + + /** + *

                The timestamp that the association was created at.

                + */ + inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::move(value); } + + /** + *

                The timestamp that the association was created at.

                + */ + inline PodIdentityAssociation& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} + + /** + *

                The timestamp that the association was created at.

                + */ + inline PodIdentityAssociation& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} + + + /** + *

                The most recent timestamp that the association was modified at

                + */ + inline const Aws::Utils::DateTime& GetModifiedAt() const{ return m_modifiedAt; } + + /** + *

                The most recent timestamp that the association was modified at

                + */ + inline bool ModifiedAtHasBeenSet() const { return m_modifiedAtHasBeenSet; } + + /** + *

                The most recent timestamp that the association was modified at

                + */ + inline void SetModifiedAt(const Aws::Utils::DateTime& value) { m_modifiedAtHasBeenSet = true; m_modifiedAt = value; } + + /** + *

                The most recent timestamp that the association was modified at

                + */ + inline void SetModifiedAt(Aws::Utils::DateTime&& value) { m_modifiedAtHasBeenSet = true; m_modifiedAt = std::move(value); } + + /** + *

                The most recent timestamp that the association was modified at

                + */ + inline PodIdentityAssociation& WithModifiedAt(const Aws::Utils::DateTime& value) { SetModifiedAt(value); return *this;} + + /** + *

                The most recent timestamp that the association was modified at

                + */ + inline PodIdentityAssociation& WithModifiedAt(Aws::Utils::DateTime&& value) { SetModifiedAt(std::move(value)); return *this;} + + private: + + Aws::String m_clusterName; + bool m_clusterNameHasBeenSet = false; + + Aws::String m_namespace; + bool m_namespaceHasBeenSet = false; + + Aws::String m_serviceAccount; + bool m_serviceAccountHasBeenSet = false; + + Aws::String m_roleArn; + bool m_roleArnHasBeenSet = false; + + Aws::String m_associationArn; + bool m_associationArnHasBeenSet = false; + + Aws::String m_associationId; + bool m_associationIdHasBeenSet = false; + + Aws::Map m_tags; + bool m_tagsHasBeenSet = false; + + Aws::Utils::DateTime m_createdAt; + bool m_createdAtHasBeenSet = false; + + Aws::Utils::DateTime m_modifiedAt; + bool m_modifiedAtHasBeenSet = false; + }; + +} // namespace Model +} // namespace EKS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/PodIdentityAssociationSummary.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/PodIdentityAssociationSummary.h new file mode 100644 index 00000000000..1d44c5856b1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/PodIdentityAssociationSummary.h @@ -0,0 +1,295 @@ +/** + * 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 EKS +{ +namespace Model +{ + + /** + *

                The summarized description of the association.

                Each summary is + * simplified by removing these fields compared to the full + * PodIdentityAssociation :

                • The IAM role: + * roleArn

                • The timestamp that the association was + * created at: createdAt

                • The most recent timestamp + * that the association was modified at:. modifiedAt

                • + *

                  The tags on the association: tags

                See + * Also:

                AWS + * API Reference

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

                The name of the cluster that the association is in.

                + */ + inline const Aws::String& GetClusterName() const{ return m_clusterName; } + + /** + *

                The name of the cluster that the association is in.

                + */ + inline bool ClusterNameHasBeenSet() const { return m_clusterNameHasBeenSet; } + + /** + *

                The name of the cluster that the association is in.

                + */ + inline void SetClusterName(const Aws::String& value) { m_clusterNameHasBeenSet = true; m_clusterName = value; } + + /** + *

                The name of the cluster that the association is in.

                + */ + inline void SetClusterName(Aws::String&& value) { m_clusterNameHasBeenSet = true; m_clusterName = std::move(value); } + + /** + *

                The name of the cluster that the association is in.

                + */ + inline void SetClusterName(const char* value) { m_clusterNameHasBeenSet = true; m_clusterName.assign(value); } + + /** + *

                The name of the cluster that the association is in.

                + */ + inline PodIdentityAssociationSummary& WithClusterName(const Aws::String& value) { SetClusterName(value); return *this;} + + /** + *

                The name of the cluster that the association is in.

                + */ + inline PodIdentityAssociationSummary& WithClusterName(Aws::String&& value) { SetClusterName(std::move(value)); return *this;} + + /** + *

                The name of the cluster that the association is in.

                + */ + inline PodIdentityAssociationSummary& WithClusterName(const char* value) { SetClusterName(value); return *this;} + + + /** + *

                The name of the Kubernetes namespace inside the cluster to create the + * association in. The service account and the pods that use the service account + * must be in this namespace.

                + */ + inline const Aws::String& GetNamespace() const{ return m_namespace; } + + /** + *

                The name of the Kubernetes namespace inside the cluster to create the + * association in. The service account and the pods that use the service account + * must be in this namespace.

                + */ + inline bool NamespaceHasBeenSet() const { return m_namespaceHasBeenSet; } + + /** + *

                The name of the Kubernetes namespace inside the cluster to create the + * association in. The service account and the pods that use the service account + * must be in this namespace.

                + */ + inline void SetNamespace(const Aws::String& value) { m_namespaceHasBeenSet = true; m_namespace = value; } + + /** + *

                The name of the Kubernetes namespace inside the cluster to create the + * association in. The service account and the pods that use the service account + * must be in this namespace.

                + */ + inline void SetNamespace(Aws::String&& value) { m_namespaceHasBeenSet = true; m_namespace = std::move(value); } + + /** + *

                The name of the Kubernetes namespace inside the cluster to create the + * association in. The service account and the pods that use the service account + * must be in this namespace.

                + */ + inline void SetNamespace(const char* value) { m_namespaceHasBeenSet = true; m_namespace.assign(value); } + + /** + *

                The name of the Kubernetes namespace inside the cluster to create the + * association in. The service account and the pods that use the service account + * must be in this namespace.

                + */ + inline PodIdentityAssociationSummary& WithNamespace(const Aws::String& value) { SetNamespace(value); return *this;} + + /** + *

                The name of the Kubernetes namespace inside the cluster to create the + * association in. The service account and the pods that use the service account + * must be in this namespace.

                + */ + inline PodIdentityAssociationSummary& WithNamespace(Aws::String&& value) { SetNamespace(std::move(value)); return *this;} + + /** + *

                The name of the Kubernetes namespace inside the cluster to create the + * association in. The service account and the pods that use the service account + * must be in this namespace.

                + */ + inline PodIdentityAssociationSummary& WithNamespace(const char* value) { SetNamespace(value); return *this;} + + + /** + *

                The name of the Kubernetes service account inside the cluster to associate + * the IAM credentials with.

                + */ + inline const Aws::String& GetServiceAccount() const{ return m_serviceAccount; } + + /** + *

                The name of the Kubernetes service account inside the cluster to associate + * the IAM credentials with.

                + */ + inline bool ServiceAccountHasBeenSet() const { return m_serviceAccountHasBeenSet; } + + /** + *

                The name of the Kubernetes service account inside the cluster to associate + * the IAM credentials with.

                + */ + inline void SetServiceAccount(const Aws::String& value) { m_serviceAccountHasBeenSet = true; m_serviceAccount = value; } + + /** + *

                The name of the Kubernetes service account inside the cluster to associate + * the IAM credentials with.

                + */ + inline void SetServiceAccount(Aws::String&& value) { m_serviceAccountHasBeenSet = true; m_serviceAccount = std::move(value); } + + /** + *

                The name of the Kubernetes service account inside the cluster to associate + * the IAM credentials with.

                + */ + inline void SetServiceAccount(const char* value) { m_serviceAccountHasBeenSet = true; m_serviceAccount.assign(value); } + + /** + *

                The name of the Kubernetes service account inside the cluster to associate + * the IAM credentials with.

                + */ + inline PodIdentityAssociationSummary& WithServiceAccount(const Aws::String& value) { SetServiceAccount(value); return *this;} + + /** + *

                The name of the Kubernetes service account inside the cluster to associate + * the IAM credentials with.

                + */ + inline PodIdentityAssociationSummary& WithServiceAccount(Aws::String&& value) { SetServiceAccount(std::move(value)); return *this;} + + /** + *

                The name of the Kubernetes service account inside the cluster to associate + * the IAM credentials with.

                + */ + inline PodIdentityAssociationSummary& WithServiceAccount(const char* value) { SetServiceAccount(value); return *this;} + + + /** + *

                The Amazon Resource Name (ARN) of the association.

                + */ + inline const Aws::String& GetAssociationArn() const{ return m_associationArn; } + + /** + *

                The Amazon Resource Name (ARN) of the association.

                + */ + inline bool AssociationArnHasBeenSet() const { return m_associationArnHasBeenSet; } + + /** + *

                The Amazon Resource Name (ARN) of the association.

                + */ + inline void SetAssociationArn(const Aws::String& value) { m_associationArnHasBeenSet = true; m_associationArn = value; } + + /** + *

                The Amazon Resource Name (ARN) of the association.

                + */ + inline void SetAssociationArn(Aws::String&& value) { m_associationArnHasBeenSet = true; m_associationArn = std::move(value); } + + /** + *

                The Amazon Resource Name (ARN) of the association.

                + */ + inline void SetAssociationArn(const char* value) { m_associationArnHasBeenSet = true; m_associationArn.assign(value); } + + /** + *

                The Amazon Resource Name (ARN) of the association.

                + */ + inline PodIdentityAssociationSummary& WithAssociationArn(const Aws::String& value) { SetAssociationArn(value); return *this;} + + /** + *

                The Amazon Resource Name (ARN) of the association.

                + */ + inline PodIdentityAssociationSummary& WithAssociationArn(Aws::String&& value) { SetAssociationArn(std::move(value)); return *this;} + + /** + *

                The Amazon Resource Name (ARN) of the association.

                + */ + inline PodIdentityAssociationSummary& WithAssociationArn(const char* value) { SetAssociationArn(value); return *this;} + + + /** + *

                The ID of the association.

                + */ + inline const Aws::String& GetAssociationId() const{ return m_associationId; } + + /** + *

                The ID of the association.

                + */ + inline bool AssociationIdHasBeenSet() const { return m_associationIdHasBeenSet; } + + /** + *

                The ID of the association.

                + */ + inline void SetAssociationId(const Aws::String& value) { m_associationIdHasBeenSet = true; m_associationId = value; } + + /** + *

                The ID of the association.

                + */ + inline void SetAssociationId(Aws::String&& value) { m_associationIdHasBeenSet = true; m_associationId = std::move(value); } + + /** + *

                The ID of the association.

                + */ + inline void SetAssociationId(const char* value) { m_associationIdHasBeenSet = true; m_associationId.assign(value); } + + /** + *

                The ID of the association.

                + */ + inline PodIdentityAssociationSummary& WithAssociationId(const Aws::String& value) { SetAssociationId(value); return *this;} + + /** + *

                The ID of the association.

                + */ + inline PodIdentityAssociationSummary& WithAssociationId(Aws::String&& value) { SetAssociationId(std::move(value)); return *this;} + + /** + *

                The ID of the association.

                + */ + inline PodIdentityAssociationSummary& WithAssociationId(const char* value) { SetAssociationId(value); return *this;} + + private: + + Aws::String m_clusterName; + bool m_clusterNameHasBeenSet = false; + + Aws::String m_namespace; + bool m_namespaceHasBeenSet = false; + + Aws::String m_serviceAccount; + bool m_serviceAccountHasBeenSet = false; + + Aws::String m_associationArn; + bool m_associationArnHasBeenSet = false; + + Aws::String m_associationId; + bool m_associationIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace EKS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/ResourceInUseException.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/ResourceInUseException.h index 063b7fbd570..57168637ac3 100644 --- a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/ResourceInUseException.h +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/ResourceInUseException.h @@ -119,53 +119,85 @@ namespace Model inline ResourceInUseException& WithNodegroupName(const char* value) { SetNodegroupName(value); return *this;} - + /** + *

                The specified add-on name is in use.

                + */ inline const Aws::String& GetAddonName() const{ return m_addonName; } - + /** + *

                The specified add-on name is in use.

                + */ inline bool AddonNameHasBeenSet() const { return m_addonNameHasBeenSet; } - + /** + *

                The specified add-on name is in use.

                + */ inline void SetAddonName(const Aws::String& value) { m_addonNameHasBeenSet = true; m_addonName = value; } - + /** + *

                The specified add-on name is in use.

                + */ inline void SetAddonName(Aws::String&& value) { m_addonNameHasBeenSet = true; m_addonName = std::move(value); } - + /** + *

                The specified add-on name is in use.

                + */ inline void SetAddonName(const char* value) { m_addonNameHasBeenSet = true; m_addonName.assign(value); } - + /** + *

                The specified add-on name is in use.

                + */ inline ResourceInUseException& WithAddonName(const Aws::String& value) { SetAddonName(value); return *this;} - + /** + *

                The specified add-on name is in use.

                + */ inline ResourceInUseException& WithAddonName(Aws::String&& value) { SetAddonName(std::move(value)); return *this;} - + /** + *

                The specified add-on name is in use.

                + */ inline ResourceInUseException& WithAddonName(const char* value) { SetAddonName(value); return *this;} - + /** + *

                The Amazon EKS message associated with the exception.

                + */ inline const Aws::String& GetMessage() const{ return m_message; } - + /** + *

                The Amazon EKS message associated with the exception.

                + */ inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } - + /** + *

                The Amazon EKS message associated with the exception.

                + */ inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; } - + /** + *

                The Amazon EKS message associated with the exception.

                + */ inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); } - + /** + *

                The Amazon EKS message associated with the exception.

                + */ inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); } - + /** + *

                The Amazon EKS message associated with the exception.

                + */ inline ResourceInUseException& WithMessage(const Aws::String& value) { SetMessage(value); return *this;} - + /** + *

                The Amazon EKS message associated with the exception.

                + */ inline ResourceInUseException& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;} - + /** + *

                The Amazon EKS message associated with the exception.

                + */ inline ResourceInUseException& WithMessage(const char* value) { SetMessage(value); return *this;} private: diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/ResourceLimitExceededException.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/ResourceLimitExceededException.h index 389466cb5fe..1c211a6a278 100644 --- a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/ResourceLimitExceededException.h +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/ResourceLimitExceededException.h @@ -161,28 +161,44 @@ namespace Model inline ResourceLimitExceededException& WithSubscriptionId(const char* value) { SetSubscriptionId(value); return *this;} - + /** + *

                The Amazon EKS message associated with the exception.

                + */ inline const Aws::String& GetMessage() const{ return m_message; } - + /** + *

                The Amazon EKS message associated with the exception.

                + */ inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } - + /** + *

                The Amazon EKS message associated with the exception.

                + */ inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; } - + /** + *

                The Amazon EKS message associated with the exception.

                + */ inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); } - + /** + *

                The Amazon EKS message associated with the exception.

                + */ inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); } - + /** + *

                The Amazon EKS message associated with the exception.

                + */ inline ResourceLimitExceededException& WithMessage(const Aws::String& value) { SetMessage(value); return *this;} - + /** + *

                The Amazon EKS message associated with the exception.

                + */ inline ResourceLimitExceededException& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;} - + /** + *

                The Amazon EKS message associated with the exception.

                + */ inline ResourceLimitExceededException& WithMessage(const char* value) { SetMessage(value); return *this;} private: diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/ResourceNotFoundException.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/ResourceNotFoundException.h index 22132f3d637..f759b4cf00b 100644 --- a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/ResourceNotFoundException.h +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/ResourceNotFoundException.h @@ -163,28 +163,44 @@ namespace Model inline ResourceNotFoundException& WithFargateProfileName(const char* value) { SetFargateProfileName(value); return *this;} - + /** + *

                The Amazon EKS add-on name associated with the exception.

                + */ inline const Aws::String& GetAddonName() const{ return m_addonName; } - + /** + *

                The Amazon EKS add-on name associated with the exception.

                + */ inline bool AddonNameHasBeenSet() const { return m_addonNameHasBeenSet; } - + /** + *

                The Amazon EKS add-on name associated with the exception.

                + */ inline void SetAddonName(const Aws::String& value) { m_addonNameHasBeenSet = true; m_addonName = value; } - + /** + *

                The Amazon EKS add-on name associated with the exception.

                + */ inline void SetAddonName(Aws::String&& value) { m_addonNameHasBeenSet = true; m_addonName = std::move(value); } - + /** + *

                The Amazon EKS add-on name associated with the exception.

                + */ inline void SetAddonName(const char* value) { m_addonNameHasBeenSet = true; m_addonName.assign(value); } - + /** + *

                The Amazon EKS add-on name associated with the exception.

                + */ inline ResourceNotFoundException& WithAddonName(const Aws::String& value) { SetAddonName(value); return *this;} - + /** + *

                The Amazon EKS add-on name associated with the exception.

                + */ inline ResourceNotFoundException& WithAddonName(Aws::String&& value) { SetAddonName(std::move(value)); return *this;} - + /** + *

                The Amazon EKS add-on name associated with the exception.

                + */ inline ResourceNotFoundException& WithAddonName(const char* value) { SetAddonName(value); return *this;} @@ -229,28 +245,44 @@ namespace Model inline ResourceNotFoundException& WithSubscriptionId(const char* value) { SetSubscriptionId(value); return *this;} - + /** + *

                The Amazon EKS message associated with the exception.

                + */ inline const Aws::String& GetMessage() const{ return m_message; } - + /** + *

                The Amazon EKS message associated with the exception.

                + */ inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } - + /** + *

                The Amazon EKS message associated with the exception.

                + */ inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; } - + /** + *

                The Amazon EKS message associated with the exception.

                + */ inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); } - + /** + *

                The Amazon EKS message associated with the exception.

                + */ inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); } - + /** + *

                The Amazon EKS message associated with the exception.

                + */ inline ResourceNotFoundException& WithMessage(const Aws::String& value) { SetMessage(value); return *this;} - + /** + *

                The Amazon EKS message associated with the exception.

                + */ inline ResourceNotFoundException& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;} - + /** + *

                The Amazon EKS message associated with the exception.

                + */ inline ResourceNotFoundException& WithMessage(const char* value) { SetMessage(value); return *this;} private: diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/ServerException.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/ServerException.h index 6dfea3aaf9f..a7b6b3e3252 100644 --- a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/ServerException.h +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/ServerException.h @@ -120,28 +120,44 @@ namespace Model inline ServerException& WithNodegroupName(const char* value) { SetNodegroupName(value); return *this;} - + /** + *

                The Amazon EKS add-on name associated with the exception.

                + */ inline const Aws::String& GetAddonName() const{ return m_addonName; } - + /** + *

                The Amazon EKS add-on name associated with the exception.

                + */ inline bool AddonNameHasBeenSet() const { return m_addonNameHasBeenSet; } - + /** + *

                The Amazon EKS add-on name associated with the exception.

                + */ inline void SetAddonName(const Aws::String& value) { m_addonNameHasBeenSet = true; m_addonName = value; } - + /** + *

                The Amazon EKS add-on name associated with the exception.

                + */ inline void SetAddonName(Aws::String&& value) { m_addonNameHasBeenSet = true; m_addonName = std::move(value); } - + /** + *

                The Amazon EKS add-on name associated with the exception.

                + */ inline void SetAddonName(const char* value) { m_addonNameHasBeenSet = true; m_addonName.assign(value); } - + /** + *

                The Amazon EKS add-on name associated with the exception.

                + */ inline ServerException& WithAddonName(const Aws::String& value) { SetAddonName(value); return *this;} - + /** + *

                The Amazon EKS add-on name associated with the exception.

                + */ inline ServerException& WithAddonName(Aws::String&& value) { SetAddonName(std::move(value)); return *this;} - + /** + *

                The Amazon EKS add-on name associated with the exception.

                + */ inline ServerException& WithAddonName(const char* value) { SetAddonName(value); return *this;} @@ -186,28 +202,44 @@ namespace Model inline ServerException& WithSubscriptionId(const char* value) { SetSubscriptionId(value); return *this;} - + /** + *

                These errors are usually caused by a server-side issue.

                + */ inline const Aws::String& GetMessage() const{ return m_message; } - + /** + *

                These errors are usually caused by a server-side issue.

                + */ inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } - + /** + *

                These errors are usually caused by a server-side issue.

                + */ inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; } - + /** + *

                These errors are usually caused by a server-side issue.

                + */ inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); } - + /** + *

                These errors are usually caused by a server-side issue.

                + */ inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); } - + /** + *

                These errors are usually caused by a server-side issue.

                + */ inline ServerException& WithMessage(const Aws::String& value) { SetMessage(value); return *this;} - + /** + *

                These errors are usually caused by a server-side issue.

                + */ inline ServerException& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;} - + /** + *

                These errors are usually caused by a server-side issue.

                + */ inline ServerException& WithMessage(const char* value) { SetMessage(value); return *this;} private: diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/UnsupportedAvailabilityZoneException.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/UnsupportedAvailabilityZoneException.h index 791b10466ff..59f37ca2111 100644 --- a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/UnsupportedAvailabilityZoneException.h +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/UnsupportedAvailabilityZoneException.h @@ -41,28 +41,68 @@ namespace Model AWS_EKS_API Aws::Utils::Json::JsonValue Jsonize() const; - + /** + *

                At least one of your specified cluster subnets is in an Availability Zone + * that does not support Amazon EKS. The exception output specifies the supported + * Availability Zones for your account, from which you can choose subnets for your + * cluster.

                + */ inline const Aws::String& GetMessage() const{ return m_message; } - + /** + *

                At least one of your specified cluster subnets is in an Availability Zone + * that does not support Amazon EKS. The exception output specifies the supported + * Availability Zones for your account, from which you can choose subnets for your + * cluster.

                + */ inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } - + /** + *

                At least one of your specified cluster subnets is in an Availability Zone + * that does not support Amazon EKS. The exception output specifies the supported + * Availability Zones for your account, from which you can choose subnets for your + * cluster.

                + */ inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; } - + /** + *

                At least one of your specified cluster subnets is in an Availability Zone + * that does not support Amazon EKS. The exception output specifies the supported + * Availability Zones for your account, from which you can choose subnets for your + * cluster.

                + */ inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); } - + /** + *

                At least one of your specified cluster subnets is in an Availability Zone + * that does not support Amazon EKS. The exception output specifies the supported + * Availability Zones for your account, from which you can choose subnets for your + * cluster.

                + */ inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); } - + /** + *

                At least one of your specified cluster subnets is in an Availability Zone + * that does not support Amazon EKS. The exception output specifies the supported + * Availability Zones for your account, from which you can choose subnets for your + * cluster.

                + */ inline UnsupportedAvailabilityZoneException& WithMessage(const Aws::String& value) { SetMessage(value); return *this;} - + /** + *

                At least one of your specified cluster subnets is in an Availability Zone + * that does not support Amazon EKS. The exception output specifies the supported + * Availability Zones for your account, from which you can choose subnets for your + * cluster.

                + */ inline UnsupportedAvailabilityZoneException& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;} - + /** + *

                At least one of your specified cluster subnets is in an Availability Zone + * that does not support Amazon EKS. The exception output specifies the supported + * Availability Zones for your account, from which you can choose subnets for your + * cluster.

                + */ inline UnsupportedAvailabilityZoneException& WithMessage(const char* value) { SetMessage(value); return *this;} diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/UpdateEksAnywhereSubscriptionRequest.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/UpdateEksAnywhereSubscriptionRequest.h index 17d74a26907..3ba6e687be0 100644 --- a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/UpdateEksAnywhereSubscriptionRequest.h +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/UpdateEksAnywhereSubscriptionRequest.h @@ -34,42 +34,42 @@ namespace Model /** - *

                + *

                The ID of the subscription.

                */ inline const Aws::String& GetId() const{ return m_id; } /** - *

                + *

                The ID of the subscription.

                */ inline bool IdHasBeenSet() const { return m_idHasBeenSet; } /** - *

                + *

                The ID of the subscription.

                */ inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } /** - *

                + *

                The ID of the subscription.

                */ inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } /** - *

                + *

                The ID of the subscription.

                */ inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } /** - *

                + *

                The ID of the subscription.

                */ inline UpdateEksAnywhereSubscriptionRequest& WithId(const Aws::String& value) { SetId(value); return *this;} /** - *

                + *

                The ID of the subscription.

                */ inline UpdateEksAnywhereSubscriptionRequest& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} /** - *

                + *

                The ID of the subscription.

                */ inline UpdateEksAnywhereSubscriptionRequest& WithId(const char* value) { SetId(value); return *this;} diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/UpdatePodIdentityAssociationRequest.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/UpdatePodIdentityAssociationRequest.h new file mode 100644 index 00000000000..f4d732768c5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/UpdatePodIdentityAssociationRequest.h @@ -0,0 +1,224 @@ +/** + * 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 EKS +{ +namespace Model +{ + + /** + */ + class UpdatePodIdentityAssociationRequest : public EKSRequest + { + public: + AWS_EKS_API UpdatePodIdentityAssociationRequest(); + + // 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 "UpdatePodIdentityAssociation"; } + + AWS_EKS_API Aws::String SerializePayload() const override; + + + /** + *

                The name of the cluster that you want to update the association in.

                + */ + inline const Aws::String& GetClusterName() const{ return m_clusterName; } + + /** + *

                The name of the cluster that you want to update the association in.

                + */ + inline bool ClusterNameHasBeenSet() const { return m_clusterNameHasBeenSet; } + + /** + *

                The name of the cluster that you want to update the association in.

                + */ + inline void SetClusterName(const Aws::String& value) { m_clusterNameHasBeenSet = true; m_clusterName = value; } + + /** + *

                The name of the cluster that you want to update the association in.

                + */ + inline void SetClusterName(Aws::String&& value) { m_clusterNameHasBeenSet = true; m_clusterName = std::move(value); } + + /** + *

                The name of the cluster that you want to update the association in.

                + */ + inline void SetClusterName(const char* value) { m_clusterNameHasBeenSet = true; m_clusterName.assign(value); } + + /** + *

                The name of the cluster that you want to update the association in.

                + */ + inline UpdatePodIdentityAssociationRequest& WithClusterName(const Aws::String& value) { SetClusterName(value); return *this;} + + /** + *

                The name of the cluster that you want to update the association in.

                + */ + inline UpdatePodIdentityAssociationRequest& WithClusterName(Aws::String&& value) { SetClusterName(std::move(value)); return *this;} + + /** + *

                The name of the cluster that you want to update the association in.

                + */ + inline UpdatePodIdentityAssociationRequest& WithClusterName(const char* value) { SetClusterName(value); return *this;} + + + /** + *

                The ID of the association to be updated.

                + */ + inline const Aws::String& GetAssociationId() const{ return m_associationId; } + + /** + *

                The ID of the association to be updated.

                + */ + inline bool AssociationIdHasBeenSet() const { return m_associationIdHasBeenSet; } + + /** + *

                The ID of the association to be updated.

                + */ + inline void SetAssociationId(const Aws::String& value) { m_associationIdHasBeenSet = true; m_associationId = value; } + + /** + *

                The ID of the association to be updated.

                + */ + inline void SetAssociationId(Aws::String&& value) { m_associationIdHasBeenSet = true; m_associationId = std::move(value); } + + /** + *

                The ID of the association to be updated.

                + */ + inline void SetAssociationId(const char* value) { m_associationIdHasBeenSet = true; m_associationId.assign(value); } + + /** + *

                The ID of the association to be updated.

                + */ + inline UpdatePodIdentityAssociationRequest& WithAssociationId(const Aws::String& value) { SetAssociationId(value); return *this;} + + /** + *

                The ID of the association to be updated.

                + */ + inline UpdatePodIdentityAssociationRequest& WithAssociationId(Aws::String&& value) { SetAssociationId(std::move(value)); return *this;} + + /** + *

                The ID of the association to be updated.

                + */ + inline UpdatePodIdentityAssociationRequest& WithAssociationId(const char* value) { SetAssociationId(value); return *this;} + + + /** + *

                The new IAM role to change the

                + */ + inline const Aws::String& GetRoleArn() const{ return m_roleArn; } + + /** + *

                The new IAM role to change the

                + */ + inline bool RoleArnHasBeenSet() const { return m_roleArnHasBeenSet; } + + /** + *

                The new IAM role to change the

                + */ + inline void SetRoleArn(const Aws::String& value) { m_roleArnHasBeenSet = true; m_roleArn = value; } + + /** + *

                The new IAM role to change the

                + */ + inline void SetRoleArn(Aws::String&& value) { m_roleArnHasBeenSet = true; m_roleArn = std::move(value); } + + /** + *

                The new IAM role to change the

                + */ + inline void SetRoleArn(const char* value) { m_roleArnHasBeenSet = true; m_roleArn.assign(value); } + + /** + *

                The new IAM role to change the

                + */ + inline UpdatePodIdentityAssociationRequest& WithRoleArn(const Aws::String& value) { SetRoleArn(value); return *this;} + + /** + *

                The new IAM role to change the

                + */ + inline UpdatePodIdentityAssociationRequest& WithRoleArn(Aws::String&& value) { SetRoleArn(std::move(value)); return *this;} + + /** + *

                The new IAM role to change the

                + */ + inline UpdatePodIdentityAssociationRequest& WithRoleArn(const char* value) { SetRoleArn(value); return *this;} + + + /** + *

                Unique, case-sensitive identifier that you provide to ensure the idempotency + * of the request.

                + */ + inline const Aws::String& GetClientRequestToken() const{ return m_clientRequestToken; } + + /** + *

                Unique, case-sensitive identifier that you provide to ensure the idempotency + * of the request.

                + */ + inline bool ClientRequestTokenHasBeenSet() const { return m_clientRequestTokenHasBeenSet; } + + /** + *

                Unique, case-sensitive identifier that you provide to ensure the idempotency + * of the request.

                + */ + inline void SetClientRequestToken(const Aws::String& value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken = value; } + + /** + *

                Unique, case-sensitive identifier that you provide to ensure the idempotency + * of the request.

                + */ + inline void SetClientRequestToken(Aws::String&& value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken = std::move(value); } + + /** + *

                Unique, case-sensitive identifier that you provide to ensure the idempotency + * of the request.

                + */ + inline void SetClientRequestToken(const char* value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken.assign(value); } + + /** + *

                Unique, case-sensitive identifier that you provide to ensure the idempotency + * of the request.

                + */ + inline UpdatePodIdentityAssociationRequest& WithClientRequestToken(const Aws::String& value) { SetClientRequestToken(value); return *this;} + + /** + *

                Unique, case-sensitive identifier that you provide to ensure the idempotency + * of the request.

                + */ + inline UpdatePodIdentityAssociationRequest& WithClientRequestToken(Aws::String&& value) { SetClientRequestToken(std::move(value)); return *this;} + + /** + *

                Unique, case-sensitive identifier that you provide to ensure the idempotency + * of the request.

                + */ + inline UpdatePodIdentityAssociationRequest& WithClientRequestToken(const char* value) { SetClientRequestToken(value); return *this;} + + private: + + Aws::String m_clusterName; + bool m_clusterNameHasBeenSet = false; + + Aws::String m_associationId; + bool m_associationIdHasBeenSet = false; + + Aws::String m_roleArn; + bool m_roleArnHasBeenSet = false; + + Aws::String m_clientRequestToken; + bool m_clientRequestTokenHasBeenSet = false; + }; + +} // namespace Model +} // namespace EKS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/UpdatePodIdentityAssociationResult.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/UpdatePodIdentityAssociationResult.h new file mode 100644 index 00000000000..92cd18d65c4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/UpdatePodIdentityAssociationResult.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 + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace EKS +{ +namespace Model +{ + class UpdatePodIdentityAssociationResult + { + public: + AWS_EKS_API UpdatePodIdentityAssociationResult(); + AWS_EKS_API UpdatePodIdentityAssociationResult(const Aws::AmazonWebServiceResult& result); + AWS_EKS_API UpdatePodIdentityAssociationResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

                The full description of the EKS Pod Identity association that was + * updated.

                + */ + inline const PodIdentityAssociation& GetAssociation() const{ return m_association; } + + /** + *

                The full description of the EKS Pod Identity association that was + * updated.

                + */ + inline void SetAssociation(const PodIdentityAssociation& value) { m_association = value; } + + /** + *

                The full description of the EKS Pod Identity association that was + * updated.

                + */ + inline void SetAssociation(PodIdentityAssociation&& value) { m_association = std::move(value); } + + /** + *

                The full description of the EKS Pod Identity association that was + * updated.

                + */ + inline UpdatePodIdentityAssociationResult& WithAssociation(const PodIdentityAssociation& value) { SetAssociation(value); return *this;} + + /** + *

                The full description of the EKS Pod Identity association that was + * updated.

                + */ + inline UpdatePodIdentityAssociationResult& WithAssociation(PodIdentityAssociation&& value) { SetAssociation(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 UpdatePodIdentityAssociationResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline UpdatePodIdentityAssociationResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline UpdatePodIdentityAssociationResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + PodIdentityAssociation m_association; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace EKS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-eks/source/EKSClient.cpp b/generated/src/aws-cpp-sdk-eks/source/EKSClient.cpp index ac41f8f6617..d3c9136d72b 100644 --- a/generated/src/aws-cpp-sdk-eks/source/EKSClient.cpp +++ b/generated/src/aws-cpp-sdk-eks/source/EKSClient.cpp @@ -28,11 +28,13 @@ #include #include #include +#include #include #include #include #include #include +#include #include #include #include @@ -42,6 +44,7 @@ #include #include #include +#include #include #include #include @@ -50,6 +53,7 @@ #include #include #include +#include #include #include #include @@ -61,6 +65,7 @@ #include #include #include +#include #include @@ -418,6 +423,40 @@ CreateNodegroupOutcome EKSClient::CreateNodegroup(const CreateNodegroupRequest& {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +CreatePodIdentityAssociationOutcome EKSClient::CreatePodIdentityAssociation(const CreatePodIdentityAssociationRequest& request) const +{ + AWS_OPERATION_GUARD(CreatePodIdentityAssociation); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CreatePodIdentityAssociation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ClusterNameHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("CreatePodIdentityAssociation", "Required field: ClusterName, is not set"); + return CreatePodIdentityAssociationOutcome(Aws::Client::AWSError(EKSErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ClusterName]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, CreatePodIdentityAssociation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CreatePodIdentityAssociation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".CreatePodIdentityAssociation", + {{ 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( + [&]()-> CreatePodIdentityAssociationOutcome { + 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, CreatePodIdentityAssociation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/clusters/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetClusterName()); + endpointResolutionOutcome.GetResult().AddPathSegments("/pod-identity-associations"); + return CreatePodIdentityAssociationOutcome(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()}}); +} + DeleteAddonOutcome EKSClient::DeleteAddon(const DeleteAddonRequest& request) const { AWS_OPERATION_GUARD(DeleteAddon); @@ -604,6 +643,46 @@ DeleteNodegroupOutcome EKSClient::DeleteNodegroup(const DeleteNodegroupRequest& {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +DeletePodIdentityAssociationOutcome EKSClient::DeletePodIdentityAssociation(const DeletePodIdentityAssociationRequest& request) const +{ + AWS_OPERATION_GUARD(DeletePodIdentityAssociation); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeletePodIdentityAssociation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ClusterNameHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeletePodIdentityAssociation", "Required field: ClusterName, is not set"); + return DeletePodIdentityAssociationOutcome(Aws::Client::AWSError(EKSErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ClusterName]", false)); + } + if (!request.AssociationIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeletePodIdentityAssociation", "Required field: AssociationId, is not set"); + return DeletePodIdentityAssociationOutcome(Aws::Client::AWSError(EKSErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [AssociationId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DeletePodIdentityAssociation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DeletePodIdentityAssociation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DeletePodIdentityAssociation", + {{ 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( + [&]()-> DeletePodIdentityAssociationOutcome { + 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, DeletePodIdentityAssociation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/clusters/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetClusterName()); + endpointResolutionOutcome.GetResult().AddPathSegments("/pod-identity-associations/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetAssociationId()); + return DeletePodIdentityAssociationOutcome(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()}}); +} + DeregisterClusterOutcome EKSClient::DeregisterCluster(const DeregisterClusterRequest& request) const { AWS_OPERATION_GUARD(DeregisterCluster); @@ -921,6 +1000,46 @@ DescribeNodegroupOutcome EKSClient::DescribeNodegroup(const DescribeNodegroupReq {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +DescribePodIdentityAssociationOutcome EKSClient::DescribePodIdentityAssociation(const DescribePodIdentityAssociationRequest& request) const +{ + AWS_OPERATION_GUARD(DescribePodIdentityAssociation); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DescribePodIdentityAssociation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ClusterNameHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DescribePodIdentityAssociation", "Required field: ClusterName, is not set"); + return DescribePodIdentityAssociationOutcome(Aws::Client::AWSError(EKSErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ClusterName]", false)); + } + if (!request.AssociationIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DescribePodIdentityAssociation", "Required field: AssociationId, is not set"); + return DescribePodIdentityAssociationOutcome(Aws::Client::AWSError(EKSErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [AssociationId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DescribePodIdentityAssociation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DescribePodIdentityAssociation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DescribePodIdentityAssociation", + {{ 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( + [&]()-> DescribePodIdentityAssociationOutcome { + 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, DescribePodIdentityAssociation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/clusters/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetClusterName()); + endpointResolutionOutcome.GetResult().AddPathSegments("/pod-identity-associations/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetAssociationId()); + return DescribePodIdentityAssociationOutcome(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()}}); +} + DescribeUpdateOutcome EKSClient::DescribeUpdate(const DescribeUpdateRequest& request) const { AWS_OPERATION_GUARD(DescribeUpdate); @@ -1185,6 +1304,40 @@ ListNodegroupsOutcome EKSClient::ListNodegroups(const ListNodegroupsRequest& req {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +ListPodIdentityAssociationsOutcome EKSClient::ListPodIdentityAssociations(const ListPodIdentityAssociationsRequest& request) const +{ + AWS_OPERATION_GUARD(ListPodIdentityAssociations); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListPodIdentityAssociations, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ClusterNameHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("ListPodIdentityAssociations", "Required field: ClusterName, is not set"); + return ListPodIdentityAssociationsOutcome(Aws::Client::AWSError(EKSErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ClusterName]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListPodIdentityAssociations, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListPodIdentityAssociations, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListPodIdentityAssociations", + {{ 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( + [&]()-> ListPodIdentityAssociationsOutcome { + 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, ListPodIdentityAssociations, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/clusters/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetClusterName()); + endpointResolutionOutcome.GetResult().AddPathSegments("/pod-identity-associations"); + return ListPodIdentityAssociationsOutcome(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 EKSClient::ListTagsForResource(const ListTagsForResourceRequest& request) const { AWS_OPERATION_GUARD(ListTagsForResource); @@ -1574,3 +1727,43 @@ UpdateNodegroupVersionOutcome EKSClient::UpdateNodegroupVersion(const UpdateNode {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +UpdatePodIdentityAssociationOutcome EKSClient::UpdatePodIdentityAssociation(const UpdatePodIdentityAssociationRequest& request) const +{ + AWS_OPERATION_GUARD(UpdatePodIdentityAssociation); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UpdatePodIdentityAssociation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ClusterNameHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("UpdatePodIdentityAssociation", "Required field: ClusterName, is not set"); + return UpdatePodIdentityAssociationOutcome(Aws::Client::AWSError(EKSErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ClusterName]", false)); + } + if (!request.AssociationIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("UpdatePodIdentityAssociation", "Required field: AssociationId, is not set"); + return UpdatePodIdentityAssociationOutcome(Aws::Client::AWSError(EKSErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [AssociationId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, UpdatePodIdentityAssociation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, UpdatePodIdentityAssociation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".UpdatePodIdentityAssociation", + {{ 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( + [&]()-> UpdatePodIdentityAssociationOutcome { + 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, UpdatePodIdentityAssociation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/clusters/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetClusterName()); + endpointResolutionOutcome.GetResult().AddPathSegments("/pod-identity-associations/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetAssociationId()); + return UpdatePodIdentityAssociationOutcome(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()}}); +} + diff --git a/generated/src/aws-cpp-sdk-eks/source/model/CreatePodIdentityAssociationRequest.cpp b/generated/src/aws-cpp-sdk-eks/source/model/CreatePodIdentityAssociationRequest.cpp new file mode 100644 index 00000000000..59fcb8e1821 --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks/source/model/CreatePodIdentityAssociationRequest.cpp @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::EKS::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +CreatePodIdentityAssociationRequest::CreatePodIdentityAssociationRequest() : + m_clusterNameHasBeenSet(false), + m_namespaceHasBeenSet(false), + m_serviceAccountHasBeenSet(false), + m_roleArnHasBeenSet(false), + m_clientRequestToken(Aws::Utils::UUID::PseudoRandomUUID()), + m_clientRequestTokenHasBeenSet(true), + m_tagsHasBeenSet(false) +{ +} + +Aws::String CreatePodIdentityAssociationRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_namespaceHasBeenSet) + { + payload.WithString("namespace", m_namespace); + + } + + if(m_serviceAccountHasBeenSet) + { + payload.WithString("serviceAccount", m_serviceAccount); + + } + + if(m_roleArnHasBeenSet) + { + payload.WithString("roleArn", m_roleArn); + + } + + if(m_clientRequestTokenHasBeenSet) + { + payload.WithString("clientRequestToken", m_clientRequestToken); + + } + + if(m_tagsHasBeenSet) + { + JsonValue tagsJsonMap; + for(auto& tagsItem : m_tags) + { + tagsJsonMap.WithString(tagsItem.first, tagsItem.second); + } + payload.WithObject("tags", std::move(tagsJsonMap)); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-eks/source/model/CreatePodIdentityAssociationResult.cpp b/generated/src/aws-cpp-sdk-eks/source/model/CreatePodIdentityAssociationResult.cpp new file mode 100644 index 00000000000..4813f8fb316 --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks/source/model/CreatePodIdentityAssociationResult.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::EKS::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +CreatePodIdentityAssociationResult::CreatePodIdentityAssociationResult() +{ +} + +CreatePodIdentityAssociationResult::CreatePodIdentityAssociationResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +CreatePodIdentityAssociationResult& CreatePodIdentityAssociationResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("association")) + { + m_association = jsonValue.GetObject("association"); + + } + + + 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-eks/source/model/DeletePodIdentityAssociationRequest.cpp b/generated/src/aws-cpp-sdk-eks/source/model/DeletePodIdentityAssociationRequest.cpp new file mode 100644 index 00000000000..a1a9232c057 --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks/source/model/DeletePodIdentityAssociationRequest.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::EKS::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +DeletePodIdentityAssociationRequest::DeletePodIdentityAssociationRequest() : + m_clusterNameHasBeenSet(false), + m_associationIdHasBeenSet(false) +{ +} + +Aws::String DeletePodIdentityAssociationRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-eks/source/model/DeletePodIdentityAssociationResult.cpp b/generated/src/aws-cpp-sdk-eks/source/model/DeletePodIdentityAssociationResult.cpp new file mode 100644 index 00000000000..2ff78548698 --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks/source/model/DeletePodIdentityAssociationResult.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::EKS::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DeletePodIdentityAssociationResult::DeletePodIdentityAssociationResult() +{ +} + +DeletePodIdentityAssociationResult::DeletePodIdentityAssociationResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DeletePodIdentityAssociationResult& DeletePodIdentityAssociationResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("association")) + { + m_association = jsonValue.GetObject("association"); + + } + + + 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-eks/source/model/DescribePodIdentityAssociationRequest.cpp b/generated/src/aws-cpp-sdk-eks/source/model/DescribePodIdentityAssociationRequest.cpp new file mode 100644 index 00000000000..e5d792668d1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks/source/model/DescribePodIdentityAssociationRequest.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::EKS::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +DescribePodIdentityAssociationRequest::DescribePodIdentityAssociationRequest() : + m_clusterNameHasBeenSet(false), + m_associationIdHasBeenSet(false) +{ +} + +Aws::String DescribePodIdentityAssociationRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-eks/source/model/DescribePodIdentityAssociationResult.cpp b/generated/src/aws-cpp-sdk-eks/source/model/DescribePodIdentityAssociationResult.cpp new file mode 100644 index 00000000000..f3fb85d112f --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks/source/model/DescribePodIdentityAssociationResult.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::EKS::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DescribePodIdentityAssociationResult::DescribePodIdentityAssociationResult() +{ +} + +DescribePodIdentityAssociationResult::DescribePodIdentityAssociationResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DescribePodIdentityAssociationResult& DescribePodIdentityAssociationResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("association")) + { + m_association = jsonValue.GetObject("association"); + + } + + + 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-eks/source/model/ListPodIdentityAssociationsRequest.cpp b/generated/src/aws-cpp-sdk-eks/source/model/ListPodIdentityAssociationsRequest.cpp new file mode 100644 index 00000000000..1307b86d8e4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks/source/model/ListPodIdentityAssociationsRequest.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::EKS::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +ListPodIdentityAssociationsRequest::ListPodIdentityAssociationsRequest() : + m_clusterNameHasBeenSet(false), + m_namespaceHasBeenSet(false), + m_serviceAccountHasBeenSet(false), + m_maxResults(0), + m_maxResultsHasBeenSet(false), + m_nextTokenHasBeenSet(false) +{ +} + +Aws::String ListPodIdentityAssociationsRequest::SerializePayload() const +{ + return {}; +} + +void ListPodIdentityAssociationsRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_namespaceHasBeenSet) + { + ss << m_namespace; + uri.AddQueryStringParameter("namespace", ss.str()); + ss.str(""); + } + + if(m_serviceAccountHasBeenSet) + { + ss << m_serviceAccount; + uri.AddQueryStringParameter("serviceAccount", ss.str()); + ss.str(""); + } + + if(m_maxResultsHasBeenSet) + { + ss << m_maxResults; + uri.AddQueryStringParameter("maxResults", ss.str()); + ss.str(""); + } + + if(m_nextTokenHasBeenSet) + { + ss << m_nextToken; + uri.AddQueryStringParameter("nextToken", ss.str()); + ss.str(""); + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-eks/source/model/ListPodIdentityAssociationsResult.cpp b/generated/src/aws-cpp-sdk-eks/source/model/ListPodIdentityAssociationsResult.cpp new file mode 100644 index 00000000000..253a001c020 --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks/source/model/ListPodIdentityAssociationsResult.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::EKS::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListPodIdentityAssociationsResult::ListPodIdentityAssociationsResult() +{ +} + +ListPodIdentityAssociationsResult::ListPodIdentityAssociationsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListPodIdentityAssociationsResult& ListPodIdentityAssociationsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("associations")) + { + Aws::Utils::Array associationsJsonList = jsonValue.GetArray("associations"); + for(unsigned associationsIndex = 0; associationsIndex < associationsJsonList.GetLength(); ++associationsIndex) + { + m_associations.push_back(associationsJsonList[associationsIndex].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-eks/source/model/PodIdentityAssociation.cpp b/generated/src/aws-cpp-sdk-eks/source/model/PodIdentityAssociation.cpp new file mode 100644 index 00000000000..200484289f1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks/source/model/PodIdentityAssociation.cpp @@ -0,0 +1,185 @@ +/** + * 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 EKS +{ +namespace Model +{ + +PodIdentityAssociation::PodIdentityAssociation() : + m_clusterNameHasBeenSet(false), + m_namespaceHasBeenSet(false), + m_serviceAccountHasBeenSet(false), + m_roleArnHasBeenSet(false), + m_associationArnHasBeenSet(false), + m_associationIdHasBeenSet(false), + m_tagsHasBeenSet(false), + m_createdAtHasBeenSet(false), + m_modifiedAtHasBeenSet(false) +{ +} + +PodIdentityAssociation::PodIdentityAssociation(JsonView jsonValue) : + m_clusterNameHasBeenSet(false), + m_namespaceHasBeenSet(false), + m_serviceAccountHasBeenSet(false), + m_roleArnHasBeenSet(false), + m_associationArnHasBeenSet(false), + m_associationIdHasBeenSet(false), + m_tagsHasBeenSet(false), + m_createdAtHasBeenSet(false), + m_modifiedAtHasBeenSet(false) +{ + *this = jsonValue; +} + +PodIdentityAssociation& PodIdentityAssociation::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("clusterName")) + { + m_clusterName = jsonValue.GetString("clusterName"); + + m_clusterNameHasBeenSet = true; + } + + if(jsonValue.ValueExists("namespace")) + { + m_namespace = jsonValue.GetString("namespace"); + + m_namespaceHasBeenSet = true; + } + + if(jsonValue.ValueExists("serviceAccount")) + { + m_serviceAccount = jsonValue.GetString("serviceAccount"); + + m_serviceAccountHasBeenSet = true; + } + + if(jsonValue.ValueExists("roleArn")) + { + m_roleArn = jsonValue.GetString("roleArn"); + + m_roleArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("associationArn")) + { + m_associationArn = jsonValue.GetString("associationArn"); + + m_associationArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("associationId")) + { + m_associationId = jsonValue.GetString("associationId"); + + m_associationIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("tags")) + { + Aws::Map tagsJsonMap = jsonValue.GetObject("tags").GetAllObjects(); + for(auto& tagsItem : tagsJsonMap) + { + m_tags[tagsItem.first] = tagsItem.second.AsString(); + } + m_tagsHasBeenSet = true; + } + + if(jsonValue.ValueExists("createdAt")) + { + m_createdAt = jsonValue.GetDouble("createdAt"); + + m_createdAtHasBeenSet = true; + } + + if(jsonValue.ValueExists("modifiedAt")) + { + m_modifiedAt = jsonValue.GetDouble("modifiedAt"); + + m_modifiedAtHasBeenSet = true; + } + + return *this; +} + +JsonValue PodIdentityAssociation::Jsonize() const +{ + JsonValue payload; + + if(m_clusterNameHasBeenSet) + { + payload.WithString("clusterName", m_clusterName); + + } + + if(m_namespaceHasBeenSet) + { + payload.WithString("namespace", m_namespace); + + } + + if(m_serviceAccountHasBeenSet) + { + payload.WithString("serviceAccount", m_serviceAccount); + + } + + if(m_roleArnHasBeenSet) + { + payload.WithString("roleArn", m_roleArn); + + } + + if(m_associationArnHasBeenSet) + { + payload.WithString("associationArn", m_associationArn); + + } + + if(m_associationIdHasBeenSet) + { + payload.WithString("associationId", m_associationId); + + } + + if(m_tagsHasBeenSet) + { + JsonValue tagsJsonMap; + for(auto& tagsItem : m_tags) + { + tagsJsonMap.WithString(tagsItem.first, tagsItem.second); + } + payload.WithObject("tags", std::move(tagsJsonMap)); + + } + + if(m_createdAtHasBeenSet) + { + payload.WithDouble("createdAt", m_createdAt.SecondsWithMSPrecision()); + } + + if(m_modifiedAtHasBeenSet) + { + payload.WithDouble("modifiedAt", m_modifiedAt.SecondsWithMSPrecision()); + } + + return payload; +} + +} // namespace Model +} // namespace EKS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-eks/source/model/PodIdentityAssociationSummary.cpp b/generated/src/aws-cpp-sdk-eks/source/model/PodIdentityAssociationSummary.cpp new file mode 100644 index 00000000000..49f05753b57 --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks/source/model/PodIdentityAssociationSummary.cpp @@ -0,0 +1,119 @@ +/** + * 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 EKS +{ +namespace Model +{ + +PodIdentityAssociationSummary::PodIdentityAssociationSummary() : + m_clusterNameHasBeenSet(false), + m_namespaceHasBeenSet(false), + m_serviceAccountHasBeenSet(false), + m_associationArnHasBeenSet(false), + m_associationIdHasBeenSet(false) +{ +} + +PodIdentityAssociationSummary::PodIdentityAssociationSummary(JsonView jsonValue) : + m_clusterNameHasBeenSet(false), + m_namespaceHasBeenSet(false), + m_serviceAccountHasBeenSet(false), + m_associationArnHasBeenSet(false), + m_associationIdHasBeenSet(false) +{ + *this = jsonValue; +} + +PodIdentityAssociationSummary& PodIdentityAssociationSummary::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("clusterName")) + { + m_clusterName = jsonValue.GetString("clusterName"); + + m_clusterNameHasBeenSet = true; + } + + if(jsonValue.ValueExists("namespace")) + { + m_namespace = jsonValue.GetString("namespace"); + + m_namespaceHasBeenSet = true; + } + + if(jsonValue.ValueExists("serviceAccount")) + { + m_serviceAccount = jsonValue.GetString("serviceAccount"); + + m_serviceAccountHasBeenSet = true; + } + + if(jsonValue.ValueExists("associationArn")) + { + m_associationArn = jsonValue.GetString("associationArn"); + + m_associationArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("associationId")) + { + m_associationId = jsonValue.GetString("associationId"); + + m_associationIdHasBeenSet = true; + } + + return *this; +} + +JsonValue PodIdentityAssociationSummary::Jsonize() const +{ + JsonValue payload; + + if(m_clusterNameHasBeenSet) + { + payload.WithString("clusterName", m_clusterName); + + } + + if(m_namespaceHasBeenSet) + { + payload.WithString("namespace", m_namespace); + + } + + if(m_serviceAccountHasBeenSet) + { + payload.WithString("serviceAccount", m_serviceAccount); + + } + + if(m_associationArnHasBeenSet) + { + payload.WithString("associationArn", m_associationArn); + + } + + if(m_associationIdHasBeenSet) + { + payload.WithString("associationId", m_associationId); + + } + + return payload; +} + +} // namespace Model +} // namespace EKS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-eks/source/model/UpdatePodIdentityAssociationRequest.cpp b/generated/src/aws-cpp-sdk-eks/source/model/UpdatePodIdentityAssociationRequest.cpp new file mode 100644 index 00000000000..c40f58821cf --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks/source/model/UpdatePodIdentityAssociationRequest.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::EKS::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +UpdatePodIdentityAssociationRequest::UpdatePodIdentityAssociationRequest() : + m_clusterNameHasBeenSet(false), + m_associationIdHasBeenSet(false), + m_roleArnHasBeenSet(false), + m_clientRequestToken(Aws::Utils::UUID::PseudoRandomUUID()), + m_clientRequestTokenHasBeenSet(true) +{ +} + +Aws::String UpdatePodIdentityAssociationRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_roleArnHasBeenSet) + { + payload.WithString("roleArn", m_roleArn); + + } + + if(m_clientRequestTokenHasBeenSet) + { + payload.WithString("clientRequestToken", m_clientRequestToken); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-eks/source/model/UpdatePodIdentityAssociationResult.cpp b/generated/src/aws-cpp-sdk-eks/source/model/UpdatePodIdentityAssociationResult.cpp new file mode 100644 index 00000000000..3eaeae76d6d --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks/source/model/UpdatePodIdentityAssociationResult.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::EKS::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +UpdatePodIdentityAssociationResult::UpdatePodIdentityAssociationResult() +{ +} + +UpdatePodIdentityAssociationResult::UpdatePodIdentityAssociationResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +UpdatePodIdentityAssociationResult& UpdatePodIdentityAssociationResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("association")) + { + m_association = jsonValue.GetObject("association"); + + } + + + 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-elasticfilesystem/include/aws/elasticfilesystem/EFSClient.h b/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/EFSClient.h index 8739488b9c0..3251d442105 100644 --- a/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/EFSClient.h +++ b/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/EFSClient.h @@ -143,7 +143,7 @@ namespace EFS *

                Otherwise, this operation returns a FileSystemAlreadyExists * error with the ID of the existing file system.

                For basic use * cases, you can use a randomly generated UUID for the creation token.

                - *

                The idempotent operation allows you to retry a CreateFileSystem + *

                The idempotent operation allows you to retry a CreateFileSystem * call without risk of creating an extra file system. This can happen when an * initial call fails in a way that leaves it uncertain whether or not a file * system was actually created. An example might be that a transport level timeout @@ -158,12 +158,15 @@ namespace EFS * status by calling the DescribeFileSystems operation, which among other * things returns the file system state.

                This operation accepts an * optional PerformanceMode parameter that you choose for your file - * system. We recommend generalPurpose performance mode for most file - * systems. File systems using the maxIO performance mode can scale to - * higher levels of aggregate throughput and operations per second with a tradeoff - * of slightly higher latencies for most file operations. The performance mode - * can't be changed after the file system has been created. For more information, - * see generalPurpose performance mode for all file + * systems. File systems using the maxIO mode is a previous generation + * performance type that is designed for highly parallelized workloads that can + * tolerate higher latencies than the General Purpose mode. Max I/O mode is not + * supported for One Zone file systems or file systems that use Elastic + * throughput.

                Due to the higher per-operation latencies with + * Max I/O, we recommend using General Purpose performance mode for all file + * systems.

                The performance mode can't be changed after the + * file system has been created. For more information, see Amazon * EFS performance modes.

                You can set the throughput mode for the file * system using the ThroughputMode parameter.

                After the file @@ -214,13 +217,12 @@ namespace EFS * If you have multiple subnets in an Availability Zone, you create a mount target * in one of the subnets. EC2 instances do not need to be in the same subnet as the * mount target in order to access their file system.

                You can create only - * one mount target for an EFS file system using One Zone storage classes. You must - * create that mount target in the same Availability Zone in which the file system - * is located. Use the AvailabilityZoneName and - * AvailabiltyZoneId properties in the DescribeFileSystems - * response object to get this information. Use the subnetId - * associated with the file system's Availability Zone when creating the mount - * target.

                For more information, see AvailabilityZoneName and AvailabiltyZoneId properties + * in the DescribeFileSystems response object to get this information. Use + * the subnetId associated with the file system's Availability Zone + * when creating the mount target.

                For more information, see Amazon EFS: * How it Works.

                To create a mount target for a file system, the file * system's lifecycle state must be available. For more information, @@ -330,9 +332,9 @@ namespace EFS * href="https://docs.aws.amazon.com/general/latest/gr/rande-manage.html#rande-manage-enable">Managing * Amazon Web Services Regions in the Amazon Web Services General Reference * Reference Guide

              • Availability Zone - If you want - * the destination file system to use EFS One Zone availability and durability, you - * must specify the Availability Zone to create the file system in. For more - * information about EFS storage classes, see Amazon * EFS storage classes in the Amazon EFS User Guide.

              • * Encryption - All destination file systems are created with encryption at @@ -348,13 +350,12 @@ namespace EFS * The destination file system's throughput mode matches that of the source file * system. After the file system is created, you can modify the throughput * mode.

              The following properties are turned off by default:

              - *
              • Lifecycle management - EFS lifecycle management and EFS - * Intelligent-Tiering are not enabled on the destination file system. After the - * destination file system is created, you can enable EFS lifecycle management and - * EFS Intelligent-Tiering.

              • Automatic backups - Automatic - * daily backups are enabled on the destination file system. After the file system - * is created, you can change this setting.

              For more - * information, see

            • Lifecycle management – Lifecycle management is not enabled + * on the destination file system. After the destination file system is created, + * you can enable it.

            • Automatic backups – Automatic daily + * backups are enabled on the destination file system. After the file system is + * created, you can change this setting.

            For more information, + * see Amazon EFS * replication in the Amazon EFS User Guide.

            See Also:

            * Returns the current LifecycleConfiguration object for the - * specified Amazon EFS file system. EFS lifecycle management uses the - * LifecycleConfiguration object to identify which files to move to - * the EFS Infrequent Access (IA) storage class. For a file system without a + * specified Amazon EFS file system. Llifecycle management uses the + * LifecycleConfiguration object to identify when to move files + * between storage classes. For a file system without a * LifecycleConfiguration object, the call returns an empty array in - * the response.

            When EFS Intelligent-Tiering is enabled, - * TransitionToPrimaryStorageClass has a value of - * AFTER_1_ACCESS.

            This operation requires permissions for the + * the response.

            This operation requires permissions for the * elasticfilesystem:DescribeLifecycleConfiguration * operation.

            See Also:

            AWS @@ -1002,41 +1001,44 @@ namespace EFS } /** - *

            Use this action to manage EFS lifecycle management and EFS - * Intelligent-Tiering. A LifecycleConfiguration consists of one or - * more LifecyclePolicy objects that define the following:

              - *
            • EFS Lifecycle management - When Amazon EFS automatically - * transitions files in a file system into the lower-cost EFS Infrequent Access - * (IA) storage class.

              To enable EFS Lifecycle management, set the value of - * TransitionToIA to one of the available options.

            • - * EFS Intelligent-Tiering - When Amazon EFS automatically transitions files - * from IA back into the file system's primary storage class (EFS Standard or EFS - * One Zone Standard).

              To enable EFS Intelligent-Tiering, set the value of - * TransitionToPrimaryStorageClass to AFTER_1_ACCESS.

              - *

            For more information, see EFS - * Lifecycle Management.

            Each Amazon EFS file system supports one - * lifecycle configuration, which applies to all files in the file system. If a + *

            Use this action to manage storage of your file system. A + * LifecycleConfiguration consists of one or more + * LifecyclePolicy objects that define the following:

            • + *

              TransitionToIA – When to move files in the file system + * from primary storage (Standard storage class) into the Infrequent Access (IA) + * storage.

            • TransitionToArchive – When to + * move files in the file system from their current storage class (either IA or + * Standard storage) into the Archive storage.

              File systems cannot + * transition into Archive storage before transitioning into IA storage. Therefore, + * TransitionToArchive must either not be set or must be later than + * TransitionToIA.

              The Archive storage class is available only for + * file systems that use the Elastic Throughput mode and the General Purpose + * Performance mode.

            • + * TransitionToPrimaryStorageClass – Whether to move files in the + * file system back to primary storage (Standard storage class) after they are + * accessed in IA or Archive storage.

            For more information, see + * + * Managing file system storage.

            Each Amazon EFS file system supports + * one lifecycle configuration, which applies to all files in the file system. If a * LifecycleConfiguration object already exists for the specified file * system, a PutLifecycleConfiguration call modifies the existing * configuration. A PutLifecycleConfiguration call with an empty * LifecyclePolicies array in the request body deletes any existing - * LifecycleConfiguration and turns off lifecycle management and EFS - * Intelligent-Tiering for the file system.

            In the request, specify the - * following:

            • The ID for the file system for which you are - * enabling, disabling, or modifying lifecycle management and EFS - * Intelligent-Tiering.

            • A LifecyclePolicies array of - * LifecyclePolicy objects that define when files are moved into IA - * storage, and when they are moved back to Standard storage.

              Amazon - * EFS requires that each LifecyclePolicy object have only have a - * single transition, so the LifecyclePolicies array needs to be - * structured with separate LifecyclePolicy objects. See the example - * requests in the following section for more information.

            - *

            This operation requires permissions for the - * elasticfilesystem:PutLifecycleConfiguration operation.

            To - * apply a LifecycleConfiguration object to an encrypted file system, - * you need the same Key Management Service permissions as when you created the - * encrypted file system.

            See Also:

            LifecycleConfiguration for the file system.

            In the request, + * specify the following:

            • The ID for the file system for which + * you are enabling, disabling, or modifying Lifecycle management.

            • + *

              A LifecyclePolicies array of LifecyclePolicy + * objects that define when to move files to IA storage, to Archive storage, and + * back to primary storage.

              Amazon EFS requires that each + * LifecyclePolicy object have only have a single transition, so the + * LifecyclePolicies array needs to be structured with separate + * LifecyclePolicy objects. See the example requests in the following + * section for more information.

            This operation requires + * permissions for the elasticfilesystem:PutLifecycleConfiguration + * operation.

            To apply a LifecycleConfiguration object to an + * encrypted file system, you need the same Key Management Service permissions as + * when you created the encrypted file system.

            See Also:

            AWS * API Reference

            */ diff --git a/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/AccessPointDescription.h b/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/AccessPointDescription.h index be4f1ac01af..6b08b58be58 100644 --- a/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/AccessPointDescription.h +++ b/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/AccessPointDescription.h @@ -349,38 +349,38 @@ namespace Model /** - *

            The directory on the Amazon EFS file system that the access point exposes as - * the root directory to NFS clients using the access point.

            + *

            The directory on the EFS file system that the access point exposes as the + * root directory to NFS clients using the access point.

            */ inline const RootDirectory& GetRootDirectory() const{ return m_rootDirectory; } /** - *

            The directory on the Amazon EFS file system that the access point exposes as - * the root directory to NFS clients using the access point.

            + *

            The directory on the EFS file system that the access point exposes as the + * root directory to NFS clients using the access point.

            */ inline bool RootDirectoryHasBeenSet() const { return m_rootDirectoryHasBeenSet; } /** - *

            The directory on the Amazon EFS file system that the access point exposes as - * the root directory to NFS clients using the access point.

            + *

            The directory on the EFS file system that the access point exposes as the + * root directory to NFS clients using the access point.

            */ inline void SetRootDirectory(const RootDirectory& value) { m_rootDirectoryHasBeenSet = true; m_rootDirectory = value; } /** - *

            The directory on the Amazon EFS file system that the access point exposes as - * the root directory to NFS clients using the access point.

            + *

            The directory on the EFS file system that the access point exposes as the + * root directory to NFS clients using the access point.

            */ inline void SetRootDirectory(RootDirectory&& value) { m_rootDirectoryHasBeenSet = true; m_rootDirectory = std::move(value); } /** - *

            The directory on the Amazon EFS file system that the access point exposes as - * the root directory to NFS clients using the access point.

            + *

            The directory on the EFS file system that the access point exposes as the + * root directory to NFS clients using the access point.

            */ inline AccessPointDescription& WithRootDirectory(const RootDirectory& value) { SetRootDirectory(value); return *this;} /** - *

            The directory on the Amazon EFS file system that the access point exposes as - * the root directory to NFS clients using the access point.

            + *

            The directory on the EFS file system that the access point exposes as the + * root directory to NFS clients using the access point.

            */ inline AccessPointDescription& WithRootDirectory(RootDirectory&& value) { SetRootDirectory(std::move(value)); return *this;} diff --git a/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/BackupPolicy.h b/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/BackupPolicy.h index 4cab8f22083..82bf1a56386 100644 --- a/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/BackupPolicy.h +++ b/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/BackupPolicy.h @@ -43,66 +43,66 @@ namespace Model /** *

            Describes the status of the file system's backup policy.

            • - * ENABLED - EFS is automatically backing up the file - * system.

            • ENABLING - EFS is turning on + * ENABLED – EFS is automatically backing up the file + * system.

            • ENABLING – EFS is turning on * automatic backups for the file system.

            • - * DISABLED - Automatic back ups are turned off for the file - * system.

            • DISABLING - EFS is turning off + * DISABLED – Automatic back ups are turned off for the file + * system.

            • DISABLING – EFS is turning off * automatic backups for the file system.

            */ inline const Status& GetStatus() const{ return m_status; } /** *

            Describes the status of the file system's backup policy.

            • - * ENABLED - EFS is automatically backing up the file - * system.

            • ENABLING - EFS is turning on + * ENABLED – EFS is automatically backing up the file + * system.

            • ENABLING – EFS is turning on * automatic backups for the file system.

            • - * DISABLED - Automatic back ups are turned off for the file - * system.

            • DISABLING - EFS is turning off + * DISABLED – Automatic back ups are turned off for the file + * system.

            • DISABLING – EFS is turning off * automatic backups for the file system.

            */ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *

            Describes the status of the file system's backup policy.

            • - * ENABLED - EFS is automatically backing up the file - * system.

            • ENABLING - EFS is turning on + * ENABLED – EFS is automatically backing up the file + * system.

            • ENABLING – EFS is turning on * automatic backups for the file system.

            • - * DISABLED - Automatic back ups are turned off for the file - * system.

            • DISABLING - EFS is turning off + * DISABLED – Automatic back ups are turned off for the file + * system.

            • DISABLING – EFS is turning off * automatic backups for the file system.

            */ inline void SetStatus(const Status& value) { m_statusHasBeenSet = true; m_status = value; } /** *

            Describes the status of the file system's backup policy.

            • - * ENABLED - EFS is automatically backing up the file - * system.

            • ENABLING - EFS is turning on + * ENABLED – EFS is automatically backing up the file + * system.

            • ENABLING – EFS is turning on * automatic backups for the file system.

            • - * DISABLED - Automatic back ups are turned off for the file - * system.

            • DISABLING - EFS is turning off + * DISABLED – Automatic back ups are turned off for the file + * system.

            • DISABLING – EFS is turning off * automatic backups for the file system.

            */ inline void SetStatus(Status&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *

            Describes the status of the file system's backup policy.

            • - * ENABLED - EFS is automatically backing up the file - * system.

            • ENABLING - EFS is turning on + * ENABLED – EFS is automatically backing up the file + * system.

            • ENABLING – EFS is turning on * automatic backups for the file system.

            • - * DISABLED - Automatic back ups are turned off for the file - * system.

            • DISABLING - EFS is turning off + * DISABLED – Automatic back ups are turned off for the file + * system.

            • DISABLING – EFS is turning off * automatic backups for the file system.

            */ inline BackupPolicy& WithStatus(const Status& value) { SetStatus(value); return *this;} /** *

            Describes the status of the file system's backup policy.

            • - * ENABLED - EFS is automatically backing up the file - * system.

            • ENABLING - EFS is turning on + * ENABLED – EFS is automatically backing up the file + * system.

            • ENABLING – EFS is turning on * automatic backups for the file system.

            • - * DISABLED - Automatic back ups are turned off for the file - * system.

            • DISABLING - EFS is turning off + * DISABLED – Automatic back ups are turned off for the file + * system.

            • DISABLING – EFS is turning off * automatic backups for the file system.

            */ inline BackupPolicy& WithStatus(Status&& value) { SetStatus(std::move(value)); return *this;} diff --git a/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/CreateAccessPointRequest.h b/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/CreateAccessPointRequest.h index 2b5dbfd0d69..31823449c4e 100644 --- a/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/CreateAccessPointRequest.h +++ b/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/CreateAccessPointRequest.h @@ -238,98 +238,98 @@ namespace Model /** - *

            Specifies the directory on the Amazon EFS file system that the access point - * exposes as the root directory of your file system to NFS clients using the - * access point. The clients using the access point can only access the root - * directory and below. If the RootDirectory > Path - * specified does not exist, EFS creates it and applies the - * CreationInfo settings when a client connects to an access point. - * When specifying a RootDirectory, you must provide the - * Path, and the CreationInfo.

            Amazon EFS creates - * a root directory only if you have provided the CreationInfo: OwnUid, OwnGID, and - * permissions for the directory. If you do not provide this information, Amazon - * EFS does not create the root directory. If the root directory does not exist, - * attempts to mount using the access point will fail.

            + *

            Specifies the directory on the EFS file system that the access point exposes + * as the root directory of your file system to NFS clients using the access point. + * The clients using the access point can only access the root directory and below. + * If the RootDirectory > Path specified does not + * exist, Amazon EFS creates it and applies the CreationInfo settings + * when a client connects to an access point. When specifying a + * RootDirectory, you must provide the Path, and the + * CreationInfo.

            Amazon EFS creates a root directory only if + * you have provided the CreationInfo: OwnUid, OwnGID, and permissions for the + * directory. If you do not provide this information, Amazon EFS does not create + * the root directory. If the root directory does not exist, attempts to mount + * using the access point will fail.

            */ inline const RootDirectory& GetRootDirectory() const{ return m_rootDirectory; } /** - *

            Specifies the directory on the Amazon EFS file system that the access point - * exposes as the root directory of your file system to NFS clients using the - * access point. The clients using the access point can only access the root - * directory and below. If the RootDirectory > Path - * specified does not exist, EFS creates it and applies the - * CreationInfo settings when a client connects to an access point. - * When specifying a RootDirectory, you must provide the - * Path, and the CreationInfo.

            Amazon EFS creates - * a root directory only if you have provided the CreationInfo: OwnUid, OwnGID, and - * permissions for the directory. If you do not provide this information, Amazon - * EFS does not create the root directory. If the root directory does not exist, - * attempts to mount using the access point will fail.

            + *

            Specifies the directory on the EFS file system that the access point exposes + * as the root directory of your file system to NFS clients using the access point. + * The clients using the access point can only access the root directory and below. + * If the RootDirectory > Path specified does not + * exist, Amazon EFS creates it and applies the CreationInfo settings + * when a client connects to an access point. When specifying a + * RootDirectory, you must provide the Path, and the + * CreationInfo.

            Amazon EFS creates a root directory only if + * you have provided the CreationInfo: OwnUid, OwnGID, and permissions for the + * directory. If you do not provide this information, Amazon EFS does not create + * the root directory. If the root directory does not exist, attempts to mount + * using the access point will fail.

            */ inline bool RootDirectoryHasBeenSet() const { return m_rootDirectoryHasBeenSet; } /** - *

            Specifies the directory on the Amazon EFS file system that the access point - * exposes as the root directory of your file system to NFS clients using the - * access point. The clients using the access point can only access the root - * directory and below. If the RootDirectory > Path - * specified does not exist, EFS creates it and applies the - * CreationInfo settings when a client connects to an access point. - * When specifying a RootDirectory, you must provide the - * Path, and the CreationInfo.

            Amazon EFS creates - * a root directory only if you have provided the CreationInfo: OwnUid, OwnGID, and - * permissions for the directory. If you do not provide this information, Amazon - * EFS does not create the root directory. If the root directory does not exist, - * attempts to mount using the access point will fail.

            + *

            Specifies the directory on the EFS file system that the access point exposes + * as the root directory of your file system to NFS clients using the access point. + * The clients using the access point can only access the root directory and below. + * If the RootDirectory > Path specified does not + * exist, Amazon EFS creates it and applies the CreationInfo settings + * when a client connects to an access point. When specifying a + * RootDirectory, you must provide the Path, and the + * CreationInfo.

            Amazon EFS creates a root directory only if + * you have provided the CreationInfo: OwnUid, OwnGID, and permissions for the + * directory. If you do not provide this information, Amazon EFS does not create + * the root directory. If the root directory does not exist, attempts to mount + * using the access point will fail.

            */ inline void SetRootDirectory(const RootDirectory& value) { m_rootDirectoryHasBeenSet = true; m_rootDirectory = value; } /** - *

            Specifies the directory on the Amazon EFS file system that the access point - * exposes as the root directory of your file system to NFS clients using the - * access point. The clients using the access point can only access the root - * directory and below. If the RootDirectory > Path - * specified does not exist, EFS creates it and applies the - * CreationInfo settings when a client connects to an access point. - * When specifying a RootDirectory, you must provide the - * Path, and the CreationInfo.

            Amazon EFS creates - * a root directory only if you have provided the CreationInfo: OwnUid, OwnGID, and - * permissions for the directory. If you do not provide this information, Amazon - * EFS does not create the root directory. If the root directory does not exist, - * attempts to mount using the access point will fail.

            + *

            Specifies the directory on the EFS file system that the access point exposes + * as the root directory of your file system to NFS clients using the access point. + * The clients using the access point can only access the root directory and below. + * If the RootDirectory > Path specified does not + * exist, Amazon EFS creates it and applies the CreationInfo settings + * when a client connects to an access point. When specifying a + * RootDirectory, you must provide the Path, and the + * CreationInfo.

            Amazon EFS creates a root directory only if + * you have provided the CreationInfo: OwnUid, OwnGID, and permissions for the + * directory. If you do not provide this information, Amazon EFS does not create + * the root directory. If the root directory does not exist, attempts to mount + * using the access point will fail.

            */ inline void SetRootDirectory(RootDirectory&& value) { m_rootDirectoryHasBeenSet = true; m_rootDirectory = std::move(value); } /** - *

            Specifies the directory on the Amazon EFS file system that the access point - * exposes as the root directory of your file system to NFS clients using the - * access point. The clients using the access point can only access the root - * directory and below. If the RootDirectory > Path - * specified does not exist, EFS creates it and applies the - * CreationInfo settings when a client connects to an access point. - * When specifying a RootDirectory, you must provide the - * Path, and the CreationInfo.

            Amazon EFS creates - * a root directory only if you have provided the CreationInfo: OwnUid, OwnGID, and - * permissions for the directory. If you do not provide this information, Amazon - * EFS does not create the root directory. If the root directory does not exist, - * attempts to mount using the access point will fail.

            + *

            Specifies the directory on the EFS file system that the access point exposes + * as the root directory of your file system to NFS clients using the access point. + * The clients using the access point can only access the root directory and below. + * If the RootDirectory > Path specified does not + * exist, Amazon EFS creates it and applies the CreationInfo settings + * when a client connects to an access point. When specifying a + * RootDirectory, you must provide the Path, and the + * CreationInfo.

            Amazon EFS creates a root directory only if + * you have provided the CreationInfo: OwnUid, OwnGID, and permissions for the + * directory. If you do not provide this information, Amazon EFS does not create + * the root directory. If the root directory does not exist, attempts to mount + * using the access point will fail.

            */ inline CreateAccessPointRequest& WithRootDirectory(const RootDirectory& value) { SetRootDirectory(value); return *this;} /** - *

            Specifies the directory on the Amazon EFS file system that the access point - * exposes as the root directory of your file system to NFS clients using the - * access point. The clients using the access point can only access the root - * directory and below. If the RootDirectory > Path - * specified does not exist, EFS creates it and applies the - * CreationInfo settings when a client connects to an access point. - * When specifying a RootDirectory, you must provide the - * Path, and the CreationInfo.

            Amazon EFS creates - * a root directory only if you have provided the CreationInfo: OwnUid, OwnGID, and - * permissions for the directory. If you do not provide this information, Amazon - * EFS does not create the root directory. If the root directory does not exist, - * attempts to mount using the access point will fail.

            + *

            Specifies the directory on the EFS file system that the access point exposes + * as the root directory of your file system to NFS clients using the access point. + * The clients using the access point can only access the root directory and below. + * If the RootDirectory > Path specified does not + * exist, Amazon EFS creates it and applies the CreationInfo settings + * when a client connects to an access point. When specifying a + * RootDirectory, you must provide the Path, and the + * CreationInfo.

            Amazon EFS creates a root directory only if + * you have provided the CreationInfo: OwnUid, OwnGID, and permissions for the + * directory. If you do not provide this information, Amazon EFS does not create + * the root directory. If the root directory does not exist, attempts to mount + * using the access point will fail.

            */ inline CreateAccessPointRequest& WithRootDirectory(RootDirectory&& value) { SetRootDirectory(std::move(value)); return *this;} diff --git a/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/CreateAccessPointResult.h b/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/CreateAccessPointResult.h index 51e65a32047..772a80a36aa 100644 --- a/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/CreateAccessPointResult.h +++ b/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/CreateAccessPointResult.h @@ -310,32 +310,32 @@ namespace Model /** - *

            The directory on the Amazon EFS file system that the access point exposes as - * the root directory to NFS clients using the access point.

            + *

            The directory on the EFS file system that the access point exposes as the + * root directory to NFS clients using the access point.

            */ inline const RootDirectory& GetRootDirectory() const{ return m_rootDirectory; } /** - *

            The directory on the Amazon EFS file system that the access point exposes as - * the root directory to NFS clients using the access point.

            + *

            The directory on the EFS file system that the access point exposes as the + * root directory to NFS clients using the access point.

            */ inline void SetRootDirectory(const RootDirectory& value) { m_rootDirectory = value; } /** - *

            The directory on the Amazon EFS file system that the access point exposes as - * the root directory to NFS clients using the access point.

            + *

            The directory on the EFS file system that the access point exposes as the + * root directory to NFS clients using the access point.

            */ inline void SetRootDirectory(RootDirectory&& value) { m_rootDirectory = std::move(value); } /** - *

            The directory on the Amazon EFS file system that the access point exposes as - * the root directory to NFS clients using the access point.

            + *

            The directory on the EFS file system that the access point exposes as the + * root directory to NFS clients using the access point.

            */ inline CreateAccessPointResult& WithRootDirectory(const RootDirectory& value) { SetRootDirectory(value); return *this;} /** - *

            The directory on the Amazon EFS file system that the access point exposes as - * the root directory to NFS clients using the access point.

            + *

            The directory on the EFS file system that the access point exposes as the + * root directory to NFS clients using the access point.

            */ inline CreateAccessPointResult& WithRootDirectory(RootDirectory&& value) { SetRootDirectory(std::move(value)); return *this;} diff --git a/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/CreateFileSystemRequest.h b/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/CreateFileSystemRequest.h index c4adfd62b5b..b3e33b8cf2d 100644 --- a/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/CreateFileSystemRequest.h +++ b/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/CreateFileSystemRequest.h @@ -87,74 +87,86 @@ namespace Model /** - *

            The performance mode of the file system. We recommend - * generalPurpose performance mode for most file systems. File systems + *

            The Performance mode of the file system. We recommend + * generalPurpose performance mode for all file systems. File systems * using the maxIO performance mode can scale to higher levels of * aggregate throughput and operations per second with a tradeoff of slightly * higher latencies for most file operations. The performance mode can't be changed - * after the file system has been created.

            The maxIO - * mode is not supported on file systems using One Zone storage classes.

            - *

            Default is generalPurpose.

            + * after the file system has been created. The maxIO mode is not + * supported on One Zone file systems.

            Due to the higher + * per-operation latencies with Max I/O, we recommend using General Purpose + * performance mode for all file systems.

            Default is + * generalPurpose.

            */ inline const PerformanceMode& GetPerformanceMode() const{ return m_performanceMode; } /** - *

            The performance mode of the file system. We recommend - * generalPurpose performance mode for most file systems. File systems + *

            The Performance mode of the file system. We recommend + * generalPurpose performance mode for all file systems. File systems * using the maxIO performance mode can scale to higher levels of * aggregate throughput and operations per second with a tradeoff of slightly * higher latencies for most file operations. The performance mode can't be changed - * after the file system has been created.

            The maxIO - * mode is not supported on file systems using One Zone storage classes.

            - *

            Default is generalPurpose.

            + * after the file system has been created. The maxIO mode is not + * supported on One Zone file systems.

            Due to the higher + * per-operation latencies with Max I/O, we recommend using General Purpose + * performance mode for all file systems.

            Default is + * generalPurpose.

            */ inline bool PerformanceModeHasBeenSet() const { return m_performanceModeHasBeenSet; } /** - *

            The performance mode of the file system. We recommend - * generalPurpose performance mode for most file systems. File systems + *

            The Performance mode of the file system. We recommend + * generalPurpose performance mode for all file systems. File systems * using the maxIO performance mode can scale to higher levels of * aggregate throughput and operations per second with a tradeoff of slightly * higher latencies for most file operations. The performance mode can't be changed - * after the file system has been created.

            The maxIO - * mode is not supported on file systems using One Zone storage classes.

            - *

            Default is generalPurpose.

            + * after the file system has been created. The maxIO mode is not + * supported on One Zone file systems.

            Due to the higher + * per-operation latencies with Max I/O, we recommend using General Purpose + * performance mode for all file systems.

            Default is + * generalPurpose.

            */ inline void SetPerformanceMode(const PerformanceMode& value) { m_performanceModeHasBeenSet = true; m_performanceMode = value; } /** - *

            The performance mode of the file system. We recommend - * generalPurpose performance mode for most file systems. File systems + *

            The Performance mode of the file system. We recommend + * generalPurpose performance mode for all file systems. File systems * using the maxIO performance mode can scale to higher levels of * aggregate throughput and operations per second with a tradeoff of slightly * higher latencies for most file operations. The performance mode can't be changed - * after the file system has been created.

            The maxIO - * mode is not supported on file systems using One Zone storage classes.

            - *

            Default is generalPurpose.

            + * after the file system has been created. The maxIO mode is not + * supported on One Zone file systems.

            Due to the higher + * per-operation latencies with Max I/O, we recommend using General Purpose + * performance mode for all file systems.

            Default is + * generalPurpose.

            */ inline void SetPerformanceMode(PerformanceMode&& value) { m_performanceModeHasBeenSet = true; m_performanceMode = std::move(value); } /** - *

            The performance mode of the file system. We recommend - * generalPurpose performance mode for most file systems. File systems + *

            The Performance mode of the file system. We recommend + * generalPurpose performance mode for all file systems. File systems * using the maxIO performance mode can scale to higher levels of * aggregate throughput and operations per second with a tradeoff of slightly * higher latencies for most file operations. The performance mode can't be changed - * after the file system has been created.

            The maxIO - * mode is not supported on file systems using One Zone storage classes.

            - *

            Default is generalPurpose.

            + * after the file system has been created. The maxIO mode is not + * supported on One Zone file systems.

            Due to the higher + * per-operation latencies with Max I/O, we recommend using General Purpose + * performance mode for all file systems.

            Default is + * generalPurpose.

            */ inline CreateFileSystemRequest& WithPerformanceMode(const PerformanceMode& value) { SetPerformanceMode(value); return *this;} /** - *

            The performance mode of the file system. We recommend - * generalPurpose performance mode for most file systems. File systems + *

            The Performance mode of the file system. We recommend + * generalPurpose performance mode for all file systems. File systems * using the maxIO performance mode can scale to higher levels of * aggregate throughput and operations per second with a tradeoff of slightly * higher latencies for most file operations. The performance mode can't be changed - * after the file system has been created.

            The maxIO - * mode is not supported on file systems using One Zone storage classes.

            - *

            Default is generalPurpose.

            + * after the file system has been created. The maxIO mode is not + * supported on One Zone file systems.

            Due to the higher + * per-operation latencies with Max I/O, we recommend using General Purpose + * performance mode for all file systems.

            Default is + * generalPurpose.

            */ inline CreateFileSystemRequest& WithPerformanceMode(PerformanceMode&& value) { SetPerformanceMode(std::move(value)); return *this;} @@ -362,9 +374,9 @@ namespace Model * bursting, provisioned, or elastic. If you * set ThroughputMode to provisioned, you must also set a * value for ProvisionedThroughputInMibps. After you create the file - * system, you can decrease your file system's throughput in Provisioned Throughput - * mode or change between the throughput modes, with certain time restrictions. For - * more information, see Specifying * throughput with provisioned mode in the Amazon EFS User Guide.

            *

            Default is bursting.

            @@ -376,9 +388,9 @@ namespace Model * bursting, provisioned, or elastic. If you * set ThroughputMode to provisioned, you must also set a * value for ProvisionedThroughputInMibps. After you create the file - * system, you can decrease your file system's throughput in Provisioned Throughput - * mode or change between the throughput modes, with certain time restrictions. For - * more information, see Specifying * throughput with provisioned mode in the Amazon EFS User Guide.

            *

            Default is bursting.

            @@ -390,9 +402,9 @@ namespace Model * bursting, provisioned, or elastic. If you * set ThroughputMode to provisioned, you must also set a * value for ProvisionedThroughputInMibps. After you create the file - * system, you can decrease your file system's throughput in Provisioned Throughput - * mode or change between the throughput modes, with certain time restrictions. For - * more information, see Specifying * throughput with provisioned mode in the Amazon EFS User Guide.

            *

            Default is bursting.

            @@ -404,9 +416,9 @@ namespace Model * bursting, provisioned, or elastic. If you * set ThroughputMode to provisioned, you must also set a * value for ProvisionedThroughputInMibps. After you create the file - * system, you can decrease your file system's throughput in Provisioned Throughput - * mode or change between the throughput modes, with certain time restrictions. For - * more information, see Specifying * throughput with provisioned mode in the Amazon EFS User Guide.

            *

            Default is bursting.

            @@ -418,9 +430,9 @@ namespace Model * bursting, provisioned, or elastic. If you * set ThroughputMode to provisioned, you must also set a * value for ProvisionedThroughputInMibps. After you create the file - * system, you can decrease your file system's throughput in Provisioned Throughput - * mode or change between the throughput modes, with certain time restrictions. For - * more information, see Specifying * throughput with provisioned mode in the Amazon EFS User Guide.

            *

            Default is bursting.

            @@ -432,9 +444,9 @@ namespace Model * bursting, provisioned, or elastic. If you * set ThroughputMode to provisioned, you must also set a * value for ProvisionedThroughputInMibps. After you create the file - * system, you can decrease your file system's throughput in Provisioned Throughput - * mode or change between the throughput modes, with certain time restrictions. For - * more information, see Specifying * throughput with provisioned mode in the Amazon EFS User Guide.

            *

            Default is bursting.

            @@ -488,98 +500,98 @@ namespace Model /** - *

            Used to create a file system that uses One Zone storage classes. It specifies - * the Amazon Web Services Availability Zone in which to create the file system. - * Use the format us-east-1a to specify the Availability Zone. For - * more information about One Zone storage classes, see Used to create a One Zone file system. It specifies the Amazon Web Services + * Availability Zone in which to create the file system. Use the format + * us-east-1a to specify the Availability Zone. For more information + * about One Zone file systems, see Using EFS * storage classes in the Amazon EFS User Guide.

            One Zone - * storage classes are not available in all Availability Zones in Amazon Web - * Services Regions where Amazon EFS is available.

            + * file systems are not available in all Availability Zones in Amazon Web Services + * Regions where Amazon EFS is available.

            */ inline const Aws::String& GetAvailabilityZoneName() const{ return m_availabilityZoneName; } /** - *

            Used to create a file system that uses One Zone storage classes. It specifies - * the Amazon Web Services Availability Zone in which to create the file system. - * Use the format us-east-1a to specify the Availability Zone. For - * more information about One Zone storage classes, see Used to create a One Zone file system. It specifies the Amazon Web Services + * Availability Zone in which to create the file system. Use the format + * us-east-1a to specify the Availability Zone. For more information + * about One Zone file systems, see Using EFS * storage classes in the Amazon EFS User Guide.

            One Zone - * storage classes are not available in all Availability Zones in Amazon Web - * Services Regions where Amazon EFS is available.

            + * file systems are not available in all Availability Zones in Amazon Web Services + * Regions where Amazon EFS is available.

            */ inline bool AvailabilityZoneNameHasBeenSet() const { return m_availabilityZoneNameHasBeenSet; } /** - *

            Used to create a file system that uses One Zone storage classes. It specifies - * the Amazon Web Services Availability Zone in which to create the file system. - * Use the format us-east-1a to specify the Availability Zone. For - * more information about One Zone storage classes, see Used to create a One Zone file system. It specifies the Amazon Web Services + * Availability Zone in which to create the file system. Use the format + * us-east-1a to specify the Availability Zone. For more information + * about One Zone file systems, see Using EFS * storage classes in the Amazon EFS User Guide.

            One Zone - * storage classes are not available in all Availability Zones in Amazon Web - * Services Regions where Amazon EFS is available.

            + * file systems are not available in all Availability Zones in Amazon Web Services + * Regions where Amazon EFS is available.

            */ inline void SetAvailabilityZoneName(const Aws::String& value) { m_availabilityZoneNameHasBeenSet = true; m_availabilityZoneName = value; } /** - *

            Used to create a file system that uses One Zone storage classes. It specifies - * the Amazon Web Services Availability Zone in which to create the file system. - * Use the format us-east-1a to specify the Availability Zone. For - * more information about One Zone storage classes, see Used to create a One Zone file system. It specifies the Amazon Web Services + * Availability Zone in which to create the file system. Use the format + * us-east-1a to specify the Availability Zone. For more information + * about One Zone file systems, see Using EFS * storage classes in the Amazon EFS User Guide.

            One Zone - * storage classes are not available in all Availability Zones in Amazon Web - * Services Regions where Amazon EFS is available.

            + * file systems are not available in all Availability Zones in Amazon Web Services + * Regions where Amazon EFS is available.

            */ inline void SetAvailabilityZoneName(Aws::String&& value) { m_availabilityZoneNameHasBeenSet = true; m_availabilityZoneName = std::move(value); } /** - *

            Used to create a file system that uses One Zone storage classes. It specifies - * the Amazon Web Services Availability Zone in which to create the file system. - * Use the format us-east-1a to specify the Availability Zone. For - * more information about One Zone storage classes, see Used to create a One Zone file system. It specifies the Amazon Web Services + * Availability Zone in which to create the file system. Use the format + * us-east-1a to specify the Availability Zone. For more information + * about One Zone file systems, see Using EFS * storage classes in the Amazon EFS User Guide.

            One Zone - * storage classes are not available in all Availability Zones in Amazon Web - * Services Regions where Amazon EFS is available.

            + * file systems are not available in all Availability Zones in Amazon Web Services + * Regions where Amazon EFS is available.

            */ inline void SetAvailabilityZoneName(const char* value) { m_availabilityZoneNameHasBeenSet = true; m_availabilityZoneName.assign(value); } /** - *

            Used to create a file system that uses One Zone storage classes. It specifies - * the Amazon Web Services Availability Zone in which to create the file system. - * Use the format us-east-1a to specify the Availability Zone. For - * more information about One Zone storage classes, see Used to create a One Zone file system. It specifies the Amazon Web Services + * Availability Zone in which to create the file system. Use the format + * us-east-1a to specify the Availability Zone. For more information + * about One Zone file systems, see Using EFS * storage classes in the Amazon EFS User Guide.

            One Zone - * storage classes are not available in all Availability Zones in Amazon Web - * Services Regions where Amazon EFS is available.

            + * file systems are not available in all Availability Zones in Amazon Web Services + * Regions where Amazon EFS is available.

            */ inline CreateFileSystemRequest& WithAvailabilityZoneName(const Aws::String& value) { SetAvailabilityZoneName(value); return *this;} /** - *

            Used to create a file system that uses One Zone storage classes. It specifies - * the Amazon Web Services Availability Zone in which to create the file system. - * Use the format us-east-1a to specify the Availability Zone. For - * more information about One Zone storage classes, see Used to create a One Zone file system. It specifies the Amazon Web Services + * Availability Zone in which to create the file system. Use the format + * us-east-1a to specify the Availability Zone. For more information + * about One Zone file systems, see Using EFS * storage classes in the Amazon EFS User Guide.

            One Zone - * storage classes are not available in all Availability Zones in Amazon Web - * Services Regions where Amazon EFS is available.

            + * file systems are not available in all Availability Zones in Amazon Web Services + * Regions where Amazon EFS is available.

            */ inline CreateFileSystemRequest& WithAvailabilityZoneName(Aws::String&& value) { SetAvailabilityZoneName(std::move(value)); return *this;} /** - *

            Used to create a file system that uses One Zone storage classes. It specifies - * the Amazon Web Services Availability Zone in which to create the file system. - * Use the format us-east-1a to specify the Availability Zone. For - * more information about One Zone storage classes, see Used to create a One Zone file system. It specifies the Amazon Web Services + * Availability Zone in which to create the file system. Use the format + * us-east-1a to specify the Availability Zone. For more information + * about One Zone file systems, see Using EFS * storage classes in the Amazon EFS User Guide.

            One Zone - * storage classes are not available in all Availability Zones in Amazon Web - * Services Regions where Amazon EFS is available.

            + * file systems are not available in all Availability Zones in Amazon Web Services + * Regions where Amazon EFS is available.

            */ inline CreateFileSystemRequest& WithAvailabilityZoneName(const char* value) { SetAvailabilityZoneName(value); return *this;} @@ -587,8 +599,8 @@ namespace Model /** *

            Specifies whether automatic backups are enabled on the file system that you * are creating. Set the value to true to enable automatic backups. If - * you are creating a file system that uses One Zone storage classes, automatic - * backups are enabled by default. For more information, see Automatic * backups in the Amazon EFS User Guide.

            Default is * false. However, if you specify an @@ -601,8 +613,8 @@ namespace Model /** *

            Specifies whether automatic backups are enabled on the file system that you * are creating. Set the value to true to enable automatic backups. If - * you are creating a file system that uses One Zone storage classes, automatic - * backups are enabled by default. For more information, see Automatic * backups in the Amazon EFS User Guide.

            Default is * false. However, if you specify an @@ -615,8 +627,8 @@ namespace Model /** *

            Specifies whether automatic backups are enabled on the file system that you * are creating. Set the value to true to enable automatic backups. If - * you are creating a file system that uses One Zone storage classes, automatic - * backups are enabled by default. For more information, see Automatic * backups in the Amazon EFS User Guide.

            Default is * false. However, if you specify an @@ -629,8 +641,8 @@ namespace Model /** *

            Specifies whether automatic backups are enabled on the file system that you * are creating. Set the value to true to enable automatic backups. If - * you are creating a file system that uses One Zone storage classes, automatic - * backups are enabled by default. For more information, see Automatic * backups in the Amazon EFS User Guide.

            Default is * false. However, if you specify an diff --git a/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/CreateFileSystemResult.h b/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/CreateFileSystemResult.h index 0333257d359..2248a5b5321 100644 --- a/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/CreateFileSystemResult.h +++ b/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/CreateFileSystemResult.h @@ -414,27 +414,27 @@ namespace Model /** - *

            The performance mode of the file system.

            + *

            The Performance mode of the file system.

            */ inline const PerformanceMode& GetPerformanceMode() const{ return m_performanceMode; } /** - *

            The performance mode of the file system.

            + *

            The Performance mode of the file system.

            */ inline void SetPerformanceMode(const PerformanceMode& value) { m_performanceMode = value; } /** - *

            The performance mode of the file system.

            + *

            The Performance mode of the file system.

            */ inline void SetPerformanceMode(PerformanceMode&& value) { m_performanceMode = std::move(value); } /** - *

            The performance mode of the file system.

            + *

            The Performance mode of the file system.

            */ inline CreateFileSystemResult& WithPerformanceMode(const PerformanceMode& value) { SetPerformanceMode(value); return *this;} /** - *

            The performance mode of the file system.

            + *

            The Performance mode of the file system.

            */ inline CreateFileSystemResult& WithPerformanceMode(PerformanceMode&& value) { SetPerformanceMode(std::move(value)); return *this;} @@ -554,8 +554,8 @@ namespace Model /** *

            Describes the Amazon Web Services Availability Zone in which the file system - * is located, and is valid only for file systems using One Zone storage classes. - * For more information, see Using EFS * storage classes in the Amazon EFS User Guide.

            */ @@ -563,8 +563,8 @@ namespace Model /** *

            Describes the Amazon Web Services Availability Zone in which the file system - * is located, and is valid only for file systems using One Zone storage classes. - * For more information, see Using EFS * storage classes in the Amazon EFS User Guide.

            */ @@ -572,8 +572,8 @@ namespace Model /** *

            Describes the Amazon Web Services Availability Zone in which the file system - * is located, and is valid only for file systems using One Zone storage classes. - * For more information, see Using EFS * storage classes in the Amazon EFS User Guide.

            */ @@ -581,8 +581,8 @@ namespace Model /** *

            Describes the Amazon Web Services Availability Zone in which the file system - * is located, and is valid only for file systems using One Zone storage classes. - * For more information, see Using EFS * storage classes in the Amazon EFS User Guide.

            */ @@ -590,8 +590,8 @@ namespace Model /** *

            Describes the Amazon Web Services Availability Zone in which the file system - * is located, and is valid only for file systems using One Zone storage classes. - * For more information, see Using EFS * storage classes in the Amazon EFS User Guide.

            */ @@ -599,8 +599,8 @@ namespace Model /** *

            Describes the Amazon Web Services Availability Zone in which the file system - * is located, and is valid only for file systems using One Zone storage classes. - * For more information, see Using EFS * storage classes in the Amazon EFS User Guide.

            */ @@ -608,8 +608,8 @@ namespace Model /** *

            Describes the Amazon Web Services Availability Zone in which the file system - * is located, and is valid only for file systems using One Zone storage classes. - * For more information, see Using EFS * storage classes in the Amazon EFS User Guide.

            */ @@ -618,57 +618,64 @@ namespace Model /** *

            The unique and consistent identifier of the Availability Zone in which the - * file system's One Zone storage classes exist. For example, use1-az1 - * is an Availability Zone ID for the us-east-1 Amazon Web Services Region, and it - * has the same location in every Amazon Web Services account.

            + * file system is located, and is valid only for One Zone file systems. For + * example, use1-az1 is an Availability Zone ID for the us-east-1 + * Amazon Web Services Region, and it has the same location in every Amazon Web + * Services account.

            */ inline const Aws::String& GetAvailabilityZoneId() const{ return m_availabilityZoneId; } /** *

            The unique and consistent identifier of the Availability Zone in which the - * file system's One Zone storage classes exist. For example, use1-az1 - * is an Availability Zone ID for the us-east-1 Amazon Web Services Region, and it - * has the same location in every Amazon Web Services account.

            + * file system is located, and is valid only for One Zone file systems. For + * example, use1-az1 is an Availability Zone ID for the us-east-1 + * Amazon Web Services Region, and it has the same location in every Amazon Web + * Services account.

            */ inline void SetAvailabilityZoneId(const Aws::String& value) { m_availabilityZoneId = value; } /** *

            The unique and consistent identifier of the Availability Zone in which the - * file system's One Zone storage classes exist. For example, use1-az1 - * is an Availability Zone ID for the us-east-1 Amazon Web Services Region, and it - * has the same location in every Amazon Web Services account.

            + * file system is located, and is valid only for One Zone file systems. For + * example, use1-az1 is an Availability Zone ID for the us-east-1 + * Amazon Web Services Region, and it has the same location in every Amazon Web + * Services account.

            */ inline void SetAvailabilityZoneId(Aws::String&& value) { m_availabilityZoneId = std::move(value); } /** *

            The unique and consistent identifier of the Availability Zone in which the - * file system's One Zone storage classes exist. For example, use1-az1 - * is an Availability Zone ID for the us-east-1 Amazon Web Services Region, and it - * has the same location in every Amazon Web Services account.

            + * file system is located, and is valid only for One Zone file systems. For + * example, use1-az1 is an Availability Zone ID for the us-east-1 + * Amazon Web Services Region, and it has the same location in every Amazon Web + * Services account.

            */ inline void SetAvailabilityZoneId(const char* value) { m_availabilityZoneId.assign(value); } /** *

            The unique and consistent identifier of the Availability Zone in which the - * file system's One Zone storage classes exist. For example, use1-az1 - * is an Availability Zone ID for the us-east-1 Amazon Web Services Region, and it - * has the same location in every Amazon Web Services account.

            + * file system is located, and is valid only for One Zone file systems. For + * example, use1-az1 is an Availability Zone ID for the us-east-1 + * Amazon Web Services Region, and it has the same location in every Amazon Web + * Services account.

            */ inline CreateFileSystemResult& WithAvailabilityZoneId(const Aws::String& value) { SetAvailabilityZoneId(value); return *this;} /** *

            The unique and consistent identifier of the Availability Zone in which the - * file system's One Zone storage classes exist. For example, use1-az1 - * is an Availability Zone ID for the us-east-1 Amazon Web Services Region, and it - * has the same location in every Amazon Web Services account.

            + * file system is located, and is valid only for One Zone file systems. For + * example, use1-az1 is an Availability Zone ID for the us-east-1 + * Amazon Web Services Region, and it has the same location in every Amazon Web + * Services account.

            */ inline CreateFileSystemResult& WithAvailabilityZoneId(Aws::String&& value) { SetAvailabilityZoneId(std::move(value)); return *this;} /** *

            The unique and consistent identifier of the Availability Zone in which the - * file system's One Zone storage classes exist. For example, use1-az1 - * is an Availability Zone ID for the us-east-1 Amazon Web Services Region, and it - * has the same location in every Amazon Web Services account.

            + * file system is located, and is valid only for One Zone file systems. For + * example, use1-az1 is an Availability Zone ID for the us-east-1 + * Amazon Web Services Region, and it has the same location in every Amazon Web + * Services account.

            */ inline CreateFileSystemResult& WithAvailabilityZoneId(const char* value) { SetAvailabilityZoneId(value); return *this;} diff --git a/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/CreateMountTargetRequest.h b/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/CreateMountTargetRequest.h index 9320829c129..e776201d66c 100644 --- a/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/CreateMountTargetRequest.h +++ b/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/CreateMountTargetRequest.h @@ -78,58 +78,50 @@ namespace Model /** - *

            The ID of the subnet to add the mount target in. For file systems that use - * One Zone storage classes, use the subnet that is associated with the file - * system's Availability Zone.

            + *

            The ID of the subnet to add the mount target in. For One Zone file systems, + * use the subnet that is associated with the file system's Availability Zone.

            */ inline const Aws::String& GetSubnetId() const{ return m_subnetId; } /** - *

            The ID of the subnet to add the mount target in. For file systems that use - * One Zone storage classes, use the subnet that is associated with the file - * system's Availability Zone.

            + *

            The ID of the subnet to add the mount target in. For One Zone file systems, + * use the subnet that is associated with the file system's Availability Zone.

            */ inline bool SubnetIdHasBeenSet() const { return m_subnetIdHasBeenSet; } /** - *

            The ID of the subnet to add the mount target in. For file systems that use - * One Zone storage classes, use the subnet that is associated with the file - * system's Availability Zone.

            + *

            The ID of the subnet to add the mount target in. For One Zone file systems, + * use the subnet that is associated with the file system's Availability Zone.

            */ inline void SetSubnetId(const Aws::String& value) { m_subnetIdHasBeenSet = true; m_subnetId = value; } /** - *

            The ID of the subnet to add the mount target in. For file systems that use - * One Zone storage classes, use the subnet that is associated with the file - * system's Availability Zone.

            + *

            The ID of the subnet to add the mount target in. For One Zone file systems, + * use the subnet that is associated with the file system's Availability Zone.

            */ inline void SetSubnetId(Aws::String&& value) { m_subnetIdHasBeenSet = true; m_subnetId = std::move(value); } /** - *

            The ID of the subnet to add the mount target in. For file systems that use - * One Zone storage classes, use the subnet that is associated with the file - * system's Availability Zone.

            + *

            The ID of the subnet to add the mount target in. For One Zone file systems, + * use the subnet that is associated with the file system's Availability Zone.

            */ inline void SetSubnetId(const char* value) { m_subnetIdHasBeenSet = true; m_subnetId.assign(value); } /** - *

            The ID of the subnet to add the mount target in. For file systems that use - * One Zone storage classes, use the subnet that is associated with the file - * system's Availability Zone.

            + *

            The ID of the subnet to add the mount target in. For One Zone file systems, + * use the subnet that is associated with the file system's Availability Zone.

            */ inline CreateMountTargetRequest& WithSubnetId(const Aws::String& value) { SetSubnetId(value); return *this;} /** - *

            The ID of the subnet to add the mount target in. For file systems that use - * One Zone storage classes, use the subnet that is associated with the file - * system's Availability Zone.

            + *

            The ID of the subnet to add the mount target in. For One Zone file systems, + * use the subnet that is associated with the file system's Availability Zone.

            */ inline CreateMountTargetRequest& WithSubnetId(Aws::String&& value) { SetSubnetId(std::move(value)); return *this;} /** - *

            The ID of the subnet to add the mount target in. For file systems that use - * One Zone storage classes, use the subnet that is associated with the file - * system's Availability Zone.

            + *

            The ID of the subnet to add the mount target in. For One Zone file systems, + * use the subnet that is associated with the file system's Availability Zone.

            */ inline CreateMountTargetRequest& WithSubnetId(const char* value) { SetSubnetId(value); return *this;} diff --git a/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/CreateReplicationConfigurationResult.h b/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/CreateReplicationConfigurationResult.h index e781b022929..bf740a9b313 100644 --- a/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/CreateReplicationConfigurationResult.h +++ b/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/CreateReplicationConfigurationResult.h @@ -78,43 +78,43 @@ namespace Model /** - *

            The Amazon Web Services Region in which the source Amazon EFS file system is + *

            The Amazon Web Services Region in which the source EFS file system is * located.

            */ inline const Aws::String& GetSourceFileSystemRegion() const{ return m_sourceFileSystemRegion; } /** - *

            The Amazon Web Services Region in which the source Amazon EFS file system is + *

            The Amazon Web Services Region in which the source EFS file system is * located.

            */ inline void SetSourceFileSystemRegion(const Aws::String& value) { m_sourceFileSystemRegion = value; } /** - *

            The Amazon Web Services Region in which the source Amazon EFS file system is + *

            The Amazon Web Services Region in which the source EFS file system is * located.

            */ inline void SetSourceFileSystemRegion(Aws::String&& value) { m_sourceFileSystemRegion = std::move(value); } /** - *

            The Amazon Web Services Region in which the source Amazon EFS file system is + *

            The Amazon Web Services Region in which the source EFS file system is * located.

            */ inline void SetSourceFileSystemRegion(const char* value) { m_sourceFileSystemRegion.assign(value); } /** - *

            The Amazon Web Services Region in which the source Amazon EFS file system is + *

            The Amazon Web Services Region in which the source EFS file system is * located.

            */ inline CreateReplicationConfigurationResult& WithSourceFileSystemRegion(const Aws::String& value) { SetSourceFileSystemRegion(value); return *this;} /** - *

            The Amazon Web Services Region in which the source Amazon EFS file system is + *

            The Amazon Web Services Region in which the source EFS file system is * located.

            */ inline CreateReplicationConfigurationResult& WithSourceFileSystemRegion(Aws::String&& value) { SetSourceFileSystemRegion(std::move(value)); return *this;} /** - *

            The Amazon Web Services Region in which the source Amazon EFS file system is + *

            The Amazon Web Services Region in which the source EFS file system is * located.

            */ inline CreateReplicationConfigurationResult& WithSourceFileSystemRegion(const char* value) { SetSourceFileSystemRegion(value); return *this;} @@ -164,44 +164,44 @@ namespace Model /** - *

            The Amazon Resource Name (ARN) of the original source Amazon EFS file system - * in the replication configuration.

            + *

            The Amazon Resource Name (ARN) of the original source EFS file system in the + * replication configuration.

            */ inline const Aws::String& GetOriginalSourceFileSystemArn() const{ return m_originalSourceFileSystemArn; } /** - *

            The Amazon Resource Name (ARN) of the original source Amazon EFS file system - * in the replication configuration.

            + *

            The Amazon Resource Name (ARN) of the original source EFS file system in the + * replication configuration.

            */ inline void SetOriginalSourceFileSystemArn(const Aws::String& value) { m_originalSourceFileSystemArn = value; } /** - *

            The Amazon Resource Name (ARN) of the original source Amazon EFS file system - * in the replication configuration.

            + *

            The Amazon Resource Name (ARN) of the original source EFS file system in the + * replication configuration.

            */ inline void SetOriginalSourceFileSystemArn(Aws::String&& value) { m_originalSourceFileSystemArn = std::move(value); } /** - *

            The Amazon Resource Name (ARN) of the original source Amazon EFS file system - * in the replication configuration.

            + *

            The Amazon Resource Name (ARN) of the original source EFS file system in the + * replication configuration.

            */ inline void SetOriginalSourceFileSystemArn(const char* value) { m_originalSourceFileSystemArn.assign(value); } /** - *

            The Amazon Resource Name (ARN) of the original source Amazon EFS file system - * in the replication configuration.

            + *

            The Amazon Resource Name (ARN) of the original source EFS file system in the + * replication configuration.

            */ inline CreateReplicationConfigurationResult& WithOriginalSourceFileSystemArn(const Aws::String& value) { SetOriginalSourceFileSystemArn(value); return *this;} /** - *

            The Amazon Resource Name (ARN) of the original source Amazon EFS file system - * in the replication configuration.

            + *

            The Amazon Resource Name (ARN) of the original source EFS file system in the + * replication configuration.

            */ inline CreateReplicationConfigurationResult& WithOriginalSourceFileSystemArn(Aws::String&& value) { SetOriginalSourceFileSystemArn(std::move(value)); return *this;} /** - *

            The Amazon Resource Name (ARN) of the original source Amazon EFS file system - * in the replication configuration.

            + *

            The Amazon Resource Name (ARN) of the original source EFS file system in the + * replication configuration.

            */ inline CreateReplicationConfigurationResult& WithOriginalSourceFileSystemArn(const char* value) { SetOriginalSourceFileSystemArn(value); return *this;} diff --git a/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/DescribeBackupPolicyRequest.h b/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/DescribeBackupPolicyRequest.h index ad335fcadb5..bf2a1e44054 100644 --- a/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/DescribeBackupPolicyRequest.h +++ b/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/DescribeBackupPolicyRequest.h @@ -33,50 +33,50 @@ namespace Model /** - *

            Specifies which EFS file system to retrieve the BackupPolicy - * for.

            + *

            Specifies which EFS file system for which to retrieve the + * BackupPolicy.

            */ inline const Aws::String& GetFileSystemId() const{ return m_fileSystemId; } /** - *

            Specifies which EFS file system to retrieve the BackupPolicy - * for.

            + *

            Specifies which EFS file system for which to retrieve the + * BackupPolicy.

            */ inline bool FileSystemIdHasBeenSet() const { return m_fileSystemIdHasBeenSet; } /** - *

            Specifies which EFS file system to retrieve the BackupPolicy - * for.

            + *

            Specifies which EFS file system for which to retrieve the + * BackupPolicy.

            */ inline void SetFileSystemId(const Aws::String& value) { m_fileSystemIdHasBeenSet = true; m_fileSystemId = value; } /** - *

            Specifies which EFS file system to retrieve the BackupPolicy - * for.

            + *

            Specifies which EFS file system for which to retrieve the + * BackupPolicy.

            */ inline void SetFileSystemId(Aws::String&& value) { m_fileSystemIdHasBeenSet = true; m_fileSystemId = std::move(value); } /** - *

            Specifies which EFS file system to retrieve the BackupPolicy - * for.

            + *

            Specifies which EFS file system for which to retrieve the + * BackupPolicy.

            */ inline void SetFileSystemId(const char* value) { m_fileSystemIdHasBeenSet = true; m_fileSystemId.assign(value); } /** - *

            Specifies which EFS file system to retrieve the BackupPolicy - * for.

            + *

            Specifies which EFS file system for which to retrieve the + * BackupPolicy.

            */ inline DescribeBackupPolicyRequest& WithFileSystemId(const Aws::String& value) { SetFileSystemId(value); return *this;} /** - *

            Specifies which EFS file system to retrieve the BackupPolicy - * for.

            + *

            Specifies which EFS file system for which to retrieve the + * BackupPolicy.

            */ inline DescribeBackupPolicyRequest& WithFileSystemId(Aws::String&& value) { SetFileSystemId(std::move(value)); return *this;} /** - *

            Specifies which EFS file system to retrieve the BackupPolicy - * for.

            + *

            Specifies which EFS file system for which to retrieve the + * BackupPolicy.

            */ inline DescribeBackupPolicyRequest& WithFileSystemId(const char* value) { SetFileSystemId(value); return *this;} diff --git a/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/Destination.h b/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/Destination.h index e3bac4ce684..0922189113b 100644 --- a/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/Destination.h +++ b/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/Destination.h @@ -41,9 +41,9 @@ namespace Model /** - *

            Describes the status of the destination Amazon EFS file system.

            • - *

              The Paused state occurs as a result of opting out of the source - * or destination Region after the replication configuration was created. To resume + *

              Describes the status of the destination EFS file system.

              • The + * Paused state occurs as a result of opting out of the source or + * destination Region after the replication configuration was created. To resume * replication for the file system, you need to again opt in to the Amazon Web * Services Region. For more information, see Managing @@ -60,9 +60,9 @@ namespace Model inline const ReplicationStatus& GetStatus() const{ return m_status; } /** - *

                Describes the status of the destination Amazon EFS file system.

                • - *

                  The Paused state occurs as a result of opting out of the source - * or destination Region after the replication configuration was created. To resume + *

                  Describes the status of the destination EFS file system.

                  • The + * Paused state occurs as a result of opting out of the source or + * destination Region after the replication configuration was created. To resume * replication for the file system, you need to again opt in to the Amazon Web * Services Region. For more information, see Managing @@ -79,9 +79,9 @@ namespace Model inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** - *

                    Describes the status of the destination Amazon EFS file system.

                    • - *

                      The Paused state occurs as a result of opting out of the source - * or destination Region after the replication configuration was created. To resume + *

                      Describes the status of the destination EFS file system.

                      • The + * Paused state occurs as a result of opting out of the source or + * destination Region after the replication configuration was created. To resume * replication for the file system, you need to again opt in to the Amazon Web * Services Region. For more information, see Managing @@ -98,9 +98,9 @@ namespace Model inline void SetStatus(const ReplicationStatus& value) { m_statusHasBeenSet = true; m_status = value; } /** - *

                        Describes the status of the destination Amazon EFS file system.

                        • - *

                          The Paused state occurs as a result of opting out of the source - * or destination Region after the replication configuration was created. To resume + *

                          Describes the status of the destination EFS file system.

                          • The + * Paused state occurs as a result of opting out of the source or + * destination Region after the replication configuration was created. To resume * replication for the file system, you need to again opt in to the Amazon Web * Services Region. For more information, see Managing @@ -117,9 +117,9 @@ namespace Model inline void SetStatus(ReplicationStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** - *

                            Describes the status of the destination Amazon EFS file system.

                            • - *

                              The Paused state occurs as a result of opting out of the source - * or destination Region after the replication configuration was created. To resume + *

                              Describes the status of the destination EFS file system.

                              • The + * Paused state occurs as a result of opting out of the source or + * destination Region after the replication configuration was created. To resume * replication for the file system, you need to again opt in to the Amazon Web * Services Region. For more information, see Managing @@ -136,9 +136,9 @@ namespace Model inline Destination& WithStatus(const ReplicationStatus& value) { SetStatus(value); return *this;} /** - *

                                Describes the status of the destination Amazon EFS file system.

                                • - *

                                  The Paused state occurs as a result of opting out of the source - * or destination Region after the replication configuration was created. To resume + *

                                  Describes the status of the destination EFS file system.

                                  • The + * Paused state occurs as a result of opting out of the source or + * destination Region after the replication configuration was created. To resume * replication for the file system, you need to again opt in to the Amazon Web * Services Region. For more information, see Managing diff --git a/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/DestinationToCreate.h b/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/DestinationToCreate.h index eab500a73bd..cb9e2edcd41 100644 --- a/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/DestinationToCreate.h +++ b/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/DestinationToCreate.h @@ -88,50 +88,50 @@ namespace Model /** - *

                                    To create a file system that uses EFS One Zone storage, specify the name of - * the Availability Zone in which to create the destination file system.

                                    + *

                                    To create a file system that uses One Zone storage, specify the name of the + * Availability Zone in which to create the destination file system.

                                    */ inline const Aws::String& GetAvailabilityZoneName() const{ return m_availabilityZoneName; } /** - *

                                    To create a file system that uses EFS One Zone storage, specify the name of - * the Availability Zone in which to create the destination file system.

                                    + *

                                    To create a file system that uses One Zone storage, specify the name of the + * Availability Zone in which to create the destination file system.

                                    */ inline bool AvailabilityZoneNameHasBeenSet() const { return m_availabilityZoneNameHasBeenSet; } /** - *

                                    To create a file system that uses EFS One Zone storage, specify the name of - * the Availability Zone in which to create the destination file system.

                                    + *

                                    To create a file system that uses One Zone storage, specify the name of the + * Availability Zone in which to create the destination file system.

                                    */ inline void SetAvailabilityZoneName(const Aws::String& value) { m_availabilityZoneNameHasBeenSet = true; m_availabilityZoneName = value; } /** - *

                                    To create a file system that uses EFS One Zone storage, specify the name of - * the Availability Zone in which to create the destination file system.

                                    + *

                                    To create a file system that uses One Zone storage, specify the name of the + * Availability Zone in which to create the destination file system.

                                    */ inline void SetAvailabilityZoneName(Aws::String&& value) { m_availabilityZoneNameHasBeenSet = true; m_availabilityZoneName = std::move(value); } /** - *

                                    To create a file system that uses EFS One Zone storage, specify the name of - * the Availability Zone in which to create the destination file system.

                                    + *

                                    To create a file system that uses One Zone storage, specify the name of the + * Availability Zone in which to create the destination file system.

                                    */ inline void SetAvailabilityZoneName(const char* value) { m_availabilityZoneNameHasBeenSet = true; m_availabilityZoneName.assign(value); } /** - *

                                    To create a file system that uses EFS One Zone storage, specify the name of - * the Availability Zone in which to create the destination file system.

                                    + *

                                    To create a file system that uses One Zone storage, specify the name of the + * Availability Zone in which to create the destination file system.

                                    */ inline DestinationToCreate& WithAvailabilityZoneName(const Aws::String& value) { SetAvailabilityZoneName(value); return *this;} /** - *

                                    To create a file system that uses EFS One Zone storage, specify the name of - * the Availability Zone in which to create the destination file system.

                                    + *

                                    To create a file system that uses One Zone storage, specify the name of the + * Availability Zone in which to create the destination file system.

                                    */ inline DestinationToCreate& WithAvailabilityZoneName(Aws::String&& value) { SetAvailabilityZoneName(std::move(value)); return *this;} /** - *

                                    To create a file system that uses EFS One Zone storage, specify the name of - * the Availability Zone in which to create the destination file system.

                                    + *

                                    To create a file system that uses One Zone storage, specify the name of the + * Availability Zone in which to create the destination file system.

                                    */ inline DestinationToCreate& WithAvailabilityZoneName(const char* value) { SetAvailabilityZoneName(value); return *this;} diff --git a/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/FileSystemDescription.h b/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/FileSystemDescription.h index c436c001333..dd50f8289cd 100644 --- a/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/FileSystemDescription.h +++ b/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/FileSystemDescription.h @@ -476,32 +476,32 @@ namespace Model /** - *

                                    The performance mode of the file system.

                                    + *

                                    The Performance mode of the file system.

                                    */ inline const PerformanceMode& GetPerformanceMode() const{ return m_performanceMode; } /** - *

                                    The performance mode of the file system.

                                    + *

                                    The Performance mode of the file system.

                                    */ inline bool PerformanceModeHasBeenSet() const { return m_performanceModeHasBeenSet; } /** - *

                                    The performance mode of the file system.

                                    + *

                                    The Performance mode of the file system.

                                    */ inline void SetPerformanceMode(const PerformanceMode& value) { m_performanceModeHasBeenSet = true; m_performanceMode = value; } /** - *

                                    The performance mode of the file system.

                                    + *

                                    The Performance mode of the file system.

                                    */ inline void SetPerformanceMode(PerformanceMode&& value) { m_performanceModeHasBeenSet = true; m_performanceMode = std::move(value); } /** - *

                                    The performance mode of the file system.

                                    + *

                                    The Performance mode of the file system.

                                    */ inline FileSystemDescription& WithPerformanceMode(const PerformanceMode& value) { SetPerformanceMode(value); return *this;} /** - *

                                    The performance mode of the file system.

                                    + *

                                    The Performance mode of the file system.

                                    */ inline FileSystemDescription& WithPerformanceMode(PerformanceMode&& value) { SetPerformanceMode(std::move(value)); return *this;} @@ -646,8 +646,8 @@ namespace Model /** *

                                    Describes the Amazon Web Services Availability Zone in which the file system - * is located, and is valid only for file systems using One Zone storage classes. - * For more information, see Using EFS * storage classes in the Amazon EFS User Guide.

                                    */ @@ -655,8 +655,8 @@ namespace Model /** *

                                    Describes the Amazon Web Services Availability Zone in which the file system - * is located, and is valid only for file systems using One Zone storage classes. - * For more information, see Using EFS * storage classes in the Amazon EFS User Guide.

                                    */ @@ -664,8 +664,8 @@ namespace Model /** *

                                    Describes the Amazon Web Services Availability Zone in which the file system - * is located, and is valid only for file systems using One Zone storage classes. - * For more information, see Using EFS * storage classes in the Amazon EFS User Guide.

                                    */ @@ -673,8 +673,8 @@ namespace Model /** *

                                    Describes the Amazon Web Services Availability Zone in which the file system - * is located, and is valid only for file systems using One Zone storage classes. - * For more information, see Using EFS * storage classes in the Amazon EFS User Guide.

                                    */ @@ -682,8 +682,8 @@ namespace Model /** *

                                    Describes the Amazon Web Services Availability Zone in which the file system - * is located, and is valid only for file systems using One Zone storage classes. - * For more information, see Using EFS * storage classes in the Amazon EFS User Guide.

                                    */ @@ -691,8 +691,8 @@ namespace Model /** *

                                    Describes the Amazon Web Services Availability Zone in which the file system - * is located, and is valid only for file systems using One Zone storage classes. - * For more information, see Using EFS * storage classes in the Amazon EFS User Guide.

                                    */ @@ -700,8 +700,8 @@ namespace Model /** *

                                    Describes the Amazon Web Services Availability Zone in which the file system - * is located, and is valid only for file systems using One Zone storage classes. - * For more information, see Using EFS * storage classes in the Amazon EFS User Guide.

                                    */ @@ -709,8 +709,8 @@ namespace Model /** *

                                    Describes the Amazon Web Services Availability Zone in which the file system - * is located, and is valid only for file systems using One Zone storage classes. - * For more information, see Using EFS * storage classes in the Amazon EFS User Guide.

                                    */ @@ -719,65 +719,73 @@ namespace Model /** *

                                    The unique and consistent identifier of the Availability Zone in which the - * file system's One Zone storage classes exist. For example, use1-az1 - * is an Availability Zone ID for the us-east-1 Amazon Web Services Region, and it - * has the same location in every Amazon Web Services account.

                                    + * file system is located, and is valid only for One Zone file systems. For + * example, use1-az1 is an Availability Zone ID for the us-east-1 + * Amazon Web Services Region, and it has the same location in every Amazon Web + * Services account.

                                    */ inline const Aws::String& GetAvailabilityZoneId() const{ return m_availabilityZoneId; } /** *

                                    The unique and consistent identifier of the Availability Zone in which the - * file system's One Zone storage classes exist. For example, use1-az1 - * is an Availability Zone ID for the us-east-1 Amazon Web Services Region, and it - * has the same location in every Amazon Web Services account.

                                    + * file system is located, and is valid only for One Zone file systems. For + * example, use1-az1 is an Availability Zone ID for the us-east-1 + * Amazon Web Services Region, and it has the same location in every Amazon Web + * Services account.

                                    */ inline bool AvailabilityZoneIdHasBeenSet() const { return m_availabilityZoneIdHasBeenSet; } /** *

                                    The unique and consistent identifier of the Availability Zone in which the - * file system's One Zone storage classes exist. For example, use1-az1 - * is an Availability Zone ID for the us-east-1 Amazon Web Services Region, and it - * has the same location in every Amazon Web Services account.

                                    + * file system is located, and is valid only for One Zone file systems. For + * example, use1-az1 is an Availability Zone ID for the us-east-1 + * Amazon Web Services Region, and it has the same location in every Amazon Web + * Services account.

                                    */ inline void SetAvailabilityZoneId(const Aws::String& value) { m_availabilityZoneIdHasBeenSet = true; m_availabilityZoneId = value; } /** *

                                    The unique and consistent identifier of the Availability Zone in which the - * file system's One Zone storage classes exist. For example, use1-az1 - * is an Availability Zone ID for the us-east-1 Amazon Web Services Region, and it - * has the same location in every Amazon Web Services account.

                                    + * file system is located, and is valid only for One Zone file systems. For + * example, use1-az1 is an Availability Zone ID for the us-east-1 + * Amazon Web Services Region, and it has the same location in every Amazon Web + * Services account.

                                    */ inline void SetAvailabilityZoneId(Aws::String&& value) { m_availabilityZoneIdHasBeenSet = true; m_availabilityZoneId = std::move(value); } /** *

                                    The unique and consistent identifier of the Availability Zone in which the - * file system's One Zone storage classes exist. For example, use1-az1 - * is an Availability Zone ID for the us-east-1 Amazon Web Services Region, and it - * has the same location in every Amazon Web Services account.

                                    + * file system is located, and is valid only for One Zone file systems. For + * example, use1-az1 is an Availability Zone ID for the us-east-1 + * Amazon Web Services Region, and it has the same location in every Amazon Web + * Services account.

                                    */ inline void SetAvailabilityZoneId(const char* value) { m_availabilityZoneIdHasBeenSet = true; m_availabilityZoneId.assign(value); } /** *

                                    The unique and consistent identifier of the Availability Zone in which the - * file system's One Zone storage classes exist. For example, use1-az1 - * is an Availability Zone ID for the us-east-1 Amazon Web Services Region, and it - * has the same location in every Amazon Web Services account.

                                    + * file system is located, and is valid only for One Zone file systems. For + * example, use1-az1 is an Availability Zone ID for the us-east-1 + * Amazon Web Services Region, and it has the same location in every Amazon Web + * Services account.

                                    */ inline FileSystemDescription& WithAvailabilityZoneId(const Aws::String& value) { SetAvailabilityZoneId(value); return *this;} /** *

                                    The unique and consistent identifier of the Availability Zone in which the - * file system's One Zone storage classes exist. For example, use1-az1 - * is an Availability Zone ID for the us-east-1 Amazon Web Services Region, and it - * has the same location in every Amazon Web Services account.

                                    + * file system is located, and is valid only for One Zone file systems. For + * example, use1-az1 is an Availability Zone ID for the us-east-1 + * Amazon Web Services Region, and it has the same location in every Amazon Web + * Services account.

                                    */ inline FileSystemDescription& WithAvailabilityZoneId(Aws::String&& value) { SetAvailabilityZoneId(std::move(value)); return *this;} /** *

                                    The unique and consistent identifier of the Availability Zone in which the - * file system's One Zone storage classes exist. For example, use1-az1 - * is an Availability Zone ID for the us-east-1 Amazon Web Services Region, and it - * has the same location in every Amazon Web Services account.

                                    + * file system is located, and is valid only for One Zone file systems. For + * example, use1-az1 is an Availability Zone ID for the us-east-1 + * Amazon Web Services Region, and it has the same location in every Amazon Web + * Services account.

                                    */ inline FileSystemDescription& WithAvailabilityZoneId(const char* value) { SetAvailabilityZoneId(value); return *this;} diff --git a/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/FileSystemSize.h b/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/FileSystemSize.h index 7f750f7f21c..123058830e4 100644 --- a/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/FileSystemSize.h +++ b/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/FileSystemSize.h @@ -161,6 +161,31 @@ namespace Model */ inline FileSystemSize& WithValueInStandard(long long value) { SetValueInStandard(value); return *this;} + + /** + *

                                    The latest known metered size (in bytes) of data stored in the Archive + * storage class.

                                    + */ + inline long long GetValueInArchive() const{ return m_valueInArchive; } + + /** + *

                                    The latest known metered size (in bytes) of data stored in the Archive + * storage class.

                                    + */ + inline bool ValueInArchiveHasBeenSet() const { return m_valueInArchiveHasBeenSet; } + + /** + *

                                    The latest known metered size (in bytes) of data stored in the Archive + * storage class.

                                    + */ + inline void SetValueInArchive(long long value) { m_valueInArchiveHasBeenSet = true; m_valueInArchive = value; } + + /** + *

                                    The latest known metered size (in bytes) of data stored in the Archive + * storage class.

                                    + */ + inline FileSystemSize& WithValueInArchive(long long value) { SetValueInArchive(value); return *this;} + private: long long m_value; @@ -174,6 +199,9 @@ namespace Model long long m_valueInStandard; bool m_valueInStandardHasBeenSet = false; + + long long m_valueInArchive; + bool m_valueInArchiveHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/LifecyclePolicy.h b/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/LifecyclePolicy.h index 4b30d1c5a48..d910a5ab71f 100644 --- a/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/LifecyclePolicy.h +++ b/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/LifecyclePolicy.h @@ -7,6 +7,7 @@ #include #include #include +#include #include namespace Aws @@ -25,18 +26,17 @@ namespace Model { /** - *

                                    Describes a policy used by EFS lifecycle management and EFS - * Intelligent-Tiering that specifies when to transition files into and out of the - * file system's Infrequent Access (IA) storage class. For more information, see EFS - * Intelligent‐Tiering and EFS Lifecycle Management.

                                    When using - * the put-lifecycle-configuration CLI command or the + *

                                    Describes a policy used by Lifecycle management that specifies when to + * transition files into and out of the Infrequent Access (IA) and Archive storage + * classes. For more information, see Managing + * file system storage.

                                    When using the + * put-lifecycle-configuration CLI command or the * PutLifecycleConfiguration API action, Amazon EFS requires that each * LifecyclePolicy object have only a single transition. This means * that in a request body, LifecyclePolicies must be structured as an - * array of LifecyclePolicy objects, one object for each transition, - * TransitionToIA, TransitionToPrimaryStorageClass. For - * more information, see the request examples in + * array of LifecyclePolicy objects, one object for each transition. + * For more information, see the request examples in * PutLifecycleConfiguration.

                                    See Also:

                                    AWS * API Reference

                                    @@ -51,90 +51,145 @@ namespace Model /** - *

                                    Describes the period of time that a file is not accessed, after which it - * transitions to IA storage. Metadata operations such as listing the contents of a - * directory don't count as file access events.

                                    + *

                                    The number of days after files were last accessed in primary storage (the + * Standard storage class) at which to move them to Infrequent Access (IA) storage. + * Metadata operations such as listing the contents of a directory don't count as + * file access events.

                                    */ inline const TransitionToIARules& GetTransitionToIA() const{ return m_transitionToIA; } /** - *

                                    Describes the period of time that a file is not accessed, after which it - * transitions to IA storage. Metadata operations such as listing the contents of a - * directory don't count as file access events.

                                    + *

                                    The number of days after files were last accessed in primary storage (the + * Standard storage class) at which to move them to Infrequent Access (IA) storage. + * Metadata operations such as listing the contents of a directory don't count as + * file access events.

                                    */ inline bool TransitionToIAHasBeenSet() const { return m_transitionToIAHasBeenSet; } /** - *

                                    Describes the period of time that a file is not accessed, after which it - * transitions to IA storage. Metadata operations such as listing the contents of a - * directory don't count as file access events.

                                    + *

                                    The number of days after files were last accessed in primary storage (the + * Standard storage class) at which to move them to Infrequent Access (IA) storage. + * Metadata operations such as listing the contents of a directory don't count as + * file access events.

                                    */ inline void SetTransitionToIA(const TransitionToIARules& value) { m_transitionToIAHasBeenSet = true; m_transitionToIA = value; } /** - *

                                    Describes the period of time that a file is not accessed, after which it - * transitions to IA storage. Metadata operations such as listing the contents of a - * directory don't count as file access events.

                                    + *

                                    The number of days after files were last accessed in primary storage (the + * Standard storage class) at which to move them to Infrequent Access (IA) storage. + * Metadata operations such as listing the contents of a directory don't count as + * file access events.

                                    */ inline void SetTransitionToIA(TransitionToIARules&& value) { m_transitionToIAHasBeenSet = true; m_transitionToIA = std::move(value); } /** - *

                                    Describes the period of time that a file is not accessed, after which it - * transitions to IA storage. Metadata operations such as listing the contents of a - * directory don't count as file access events.

                                    + *

                                    The number of days after files were last accessed in primary storage (the + * Standard storage class) at which to move them to Infrequent Access (IA) storage. + * Metadata operations such as listing the contents of a directory don't count as + * file access events.

                                    */ inline LifecyclePolicy& WithTransitionToIA(const TransitionToIARules& value) { SetTransitionToIA(value); return *this;} /** - *

                                    Describes the period of time that a file is not accessed, after which it - * transitions to IA storage. Metadata operations such as listing the contents of a - * directory don't count as file access events.

                                    + *

                                    The number of days after files were last accessed in primary storage (the + * Standard storage class) at which to move them to Infrequent Access (IA) storage. + * Metadata operations such as listing the contents of a directory don't count as + * file access events.

                                    */ inline LifecyclePolicy& WithTransitionToIA(TransitionToIARules&& value) { SetTransitionToIA(std::move(value)); return *this;} /** - *

                                    Describes when to transition a file from IA storage to primary storage. - * Metadata operations such as listing the contents of a directory don't count as - * file access events.

                                    + *

                                    Whether to move files back to primary (Standard) storage after they are + * accessed in IA or Archive storage. Metadata operations such as listing the + * contents of a directory don't count as file access events.

                                    */ inline const TransitionToPrimaryStorageClassRules& GetTransitionToPrimaryStorageClass() const{ return m_transitionToPrimaryStorageClass; } /** - *

                                    Describes when to transition a file from IA storage to primary storage. - * Metadata operations such as listing the contents of a directory don't count as - * file access events.

                                    + *

                                    Whether to move files back to primary (Standard) storage after they are + * accessed in IA or Archive storage. Metadata operations such as listing the + * contents of a directory don't count as file access events.

                                    */ inline bool TransitionToPrimaryStorageClassHasBeenSet() const { return m_transitionToPrimaryStorageClassHasBeenSet; } /** - *

                                    Describes when to transition a file from IA storage to primary storage. - * Metadata operations such as listing the contents of a directory don't count as - * file access events.

                                    + *

                                    Whether to move files back to primary (Standard) storage after they are + * accessed in IA or Archive storage. Metadata operations such as listing the + * contents of a directory don't count as file access events.

                                    */ inline void SetTransitionToPrimaryStorageClass(const TransitionToPrimaryStorageClassRules& value) { m_transitionToPrimaryStorageClassHasBeenSet = true; m_transitionToPrimaryStorageClass = value; } /** - *

                                    Describes when to transition a file from IA storage to primary storage. - * Metadata operations such as listing the contents of a directory don't count as - * file access events.

                                    + *

                                    Whether to move files back to primary (Standard) storage after they are + * accessed in IA or Archive storage. Metadata operations such as listing the + * contents of a directory don't count as file access events.

                                    */ inline void SetTransitionToPrimaryStorageClass(TransitionToPrimaryStorageClassRules&& value) { m_transitionToPrimaryStorageClassHasBeenSet = true; m_transitionToPrimaryStorageClass = std::move(value); } /** - *

                                    Describes when to transition a file from IA storage to primary storage. - * Metadata operations such as listing the contents of a directory don't count as - * file access events.

                                    + *

                                    Whether to move files back to primary (Standard) storage after they are + * accessed in IA or Archive storage. Metadata operations such as listing the + * contents of a directory don't count as file access events.

                                    */ inline LifecyclePolicy& WithTransitionToPrimaryStorageClass(const TransitionToPrimaryStorageClassRules& value) { SetTransitionToPrimaryStorageClass(value); return *this;} /** - *

                                    Describes when to transition a file from IA storage to primary storage. - * Metadata operations such as listing the contents of a directory don't count as - * file access events.

                                    + *

                                    Whether to move files back to primary (Standard) storage after they are + * accessed in IA or Archive storage. Metadata operations such as listing the + * contents of a directory don't count as file access events.

                                    */ inline LifecyclePolicy& WithTransitionToPrimaryStorageClass(TransitionToPrimaryStorageClassRules&& value) { SetTransitionToPrimaryStorageClass(std::move(value)); return *this;} + + /** + *

                                    The number of days after files were last accessed in primary storage (the + * Standard storage class) files at which to move them to Archive storage. Metadata + * operations such as listing the contents of a directory don't count as file + * access events.

                                    + */ + inline const TransitionToArchiveRules& GetTransitionToArchive() const{ return m_transitionToArchive; } + + /** + *

                                    The number of days after files were last accessed in primary storage (the + * Standard storage class) files at which to move them to Archive storage. Metadata + * operations such as listing the contents of a directory don't count as file + * access events.

                                    + */ + inline bool TransitionToArchiveHasBeenSet() const { return m_transitionToArchiveHasBeenSet; } + + /** + *

                                    The number of days after files were last accessed in primary storage (the + * Standard storage class) files at which to move them to Archive storage. Metadata + * operations such as listing the contents of a directory don't count as file + * access events.

                                    + */ + inline void SetTransitionToArchive(const TransitionToArchiveRules& value) { m_transitionToArchiveHasBeenSet = true; m_transitionToArchive = value; } + + /** + *

                                    The number of days after files were last accessed in primary storage (the + * Standard storage class) files at which to move them to Archive storage. Metadata + * operations such as listing the contents of a directory don't count as file + * access events.

                                    + */ + inline void SetTransitionToArchive(TransitionToArchiveRules&& value) { m_transitionToArchiveHasBeenSet = true; m_transitionToArchive = std::move(value); } + + /** + *

                                    The number of days after files were last accessed in primary storage (the + * Standard storage class) files at which to move them to Archive storage. Metadata + * operations such as listing the contents of a directory don't count as file + * access events.

                                    + */ + inline LifecyclePolicy& WithTransitionToArchive(const TransitionToArchiveRules& value) { SetTransitionToArchive(value); return *this;} + + /** + *

                                    The number of days after files were last accessed in primary storage (the + * Standard storage class) files at which to move them to Archive storage. Metadata + * operations such as listing the contents of a directory don't count as file + * access events.

                                    + */ + inline LifecyclePolicy& WithTransitionToArchive(TransitionToArchiveRules&& value) { SetTransitionToArchive(std::move(value)); return *this;} + private: TransitionToIARules m_transitionToIA; @@ -142,6 +197,9 @@ namespace Model TransitionToPrimaryStorageClassRules m_transitionToPrimaryStorageClass; bool m_transitionToPrimaryStorageClassHasBeenSet = false; + + TransitionToArchiveRules m_transitionToArchive; + bool m_transitionToArchiveHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/PutLifecycleConfigurationRequest.h b/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/PutLifecycleConfigurationRequest.h index 21f283d86f8..653a6e52cef 100644 --- a/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/PutLifecycleConfigurationRequest.h +++ b/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/PutLifecycleConfigurationRequest.h @@ -86,144 +86,216 @@ namespace Model /** *

                                    An array of LifecyclePolicy objects that define the file * system's LifecycleConfiguration object. A - * LifecycleConfiguration object informs EFS lifecycle management and - * EFS Intelligent-Tiering of the following:

                                    • When to move files in - * the file system from primary storage to the IA storage class.

                                    • - *

                                      When to move files that are in IA storage to primary storage.

                                    - *

                                    When using the put-lifecycle-configuration CLI command or - * the PutLifecycleConfiguration API action, Amazon EFS requires that - * each LifecyclePolicy object have only a single transition. This - * means that in a request body, LifecyclePolicies must be structured - * as an array of LifecyclePolicy objects, one object for each - * transition, TransitionToIA, - * TransitionToPrimaryStorageClass. See the example requests in the - * following section for more information.

                                    + * LifecycleConfiguration object informs EFS Lifecycle management of + * the following:

                                    • TransitionToIA – When to + * move files in the file system from primary storage (Standard storage class) into + * the Infrequent Access (IA) storage.

                                    • + * TransitionToArchive – When to move files in the file system + * from their current storage class (either IA or Standard storage) into the + * Archive storage.

                                      File systems cannot transition into Archive storage + * before transitioning into IA storage. Therefore, TransitionToArchive must either + * not be set or must be later than TransitionToIA.

                                      The Archive + * storage class is available only for file systems that use the Elastic Throughput + * mode and the General Purpose Performance mode.

                                    • + * TransitionToPrimaryStorageClass – Whether to move files in the + * file system back to primary storage (Standard storage class) after they are + * accessed in IA or Archive storage.

                                    When using the + * put-lifecycle-configuration CLI command or the + * PutLifecycleConfiguration API action, Amazon EFS requires that each + * LifecyclePolicy object have only a single transition. This means + * that in a request body, LifecyclePolicies must be structured as an + * array of LifecyclePolicy objects, one object for each storage + * transition. See the example requests in the following section for more + * information.

                                    */ inline const Aws::Vector& GetLifecyclePolicies() const{ return m_lifecyclePolicies; } /** *

                                    An array of LifecyclePolicy objects that define the file * system's LifecycleConfiguration object. A - * LifecycleConfiguration object informs EFS lifecycle management and - * EFS Intelligent-Tiering of the following:

                                    • When to move files in - * the file system from primary storage to the IA storage class.

                                    • - *

                                      When to move files that are in IA storage to primary storage.

                                    - *

                                    When using the put-lifecycle-configuration CLI command or - * the PutLifecycleConfiguration API action, Amazon EFS requires that - * each LifecyclePolicy object have only a single transition. This - * means that in a request body, LifecyclePolicies must be structured - * as an array of LifecyclePolicy objects, one object for each - * transition, TransitionToIA, - * TransitionToPrimaryStorageClass. See the example requests in the - * following section for more information.

                                    + * LifecycleConfiguration object informs EFS Lifecycle management of + * the following:

                                    • TransitionToIA – When to + * move files in the file system from primary storage (Standard storage class) into + * the Infrequent Access (IA) storage.

                                    • + * TransitionToArchive – When to move files in the file system + * from their current storage class (either IA or Standard storage) into the + * Archive storage.

                                      File systems cannot transition into Archive storage + * before transitioning into IA storage. Therefore, TransitionToArchive must either + * not be set or must be later than TransitionToIA.

                                      The Archive + * storage class is available only for file systems that use the Elastic Throughput + * mode and the General Purpose Performance mode.

                                    • + * TransitionToPrimaryStorageClass – Whether to move files in the + * file system back to primary storage (Standard storage class) after they are + * accessed in IA or Archive storage.

                                    When using the + * put-lifecycle-configuration CLI command or the + * PutLifecycleConfiguration API action, Amazon EFS requires that each + * LifecyclePolicy object have only a single transition. This means + * that in a request body, LifecyclePolicies must be structured as an + * array of LifecyclePolicy objects, one object for each storage + * transition. See the example requests in the following section for more + * information.

                                    */ inline bool LifecyclePoliciesHasBeenSet() const { return m_lifecyclePoliciesHasBeenSet; } /** *

                                    An array of LifecyclePolicy objects that define the file * system's LifecycleConfiguration object. A - * LifecycleConfiguration object informs EFS lifecycle management and - * EFS Intelligent-Tiering of the following:

                                    • When to move files in - * the file system from primary storage to the IA storage class.

                                    • - *

                                      When to move files that are in IA storage to primary storage.

                                    - *

                                    When using the put-lifecycle-configuration CLI command or - * the PutLifecycleConfiguration API action, Amazon EFS requires that - * each LifecyclePolicy object have only a single transition. This - * means that in a request body, LifecyclePolicies must be structured - * as an array of LifecyclePolicy objects, one object for each - * transition, TransitionToIA, - * TransitionToPrimaryStorageClass. See the example requests in the - * following section for more information.

                                    + * LifecycleConfiguration object informs EFS Lifecycle management of + * the following:

                                    • TransitionToIA – When to + * move files in the file system from primary storage (Standard storage class) into + * the Infrequent Access (IA) storage.

                                    • + * TransitionToArchive – When to move files in the file system + * from their current storage class (either IA or Standard storage) into the + * Archive storage.

                                      File systems cannot transition into Archive storage + * before transitioning into IA storage. Therefore, TransitionToArchive must either + * not be set or must be later than TransitionToIA.

                                      The Archive + * storage class is available only for file systems that use the Elastic Throughput + * mode and the General Purpose Performance mode.

                                    • + * TransitionToPrimaryStorageClass – Whether to move files in the + * file system back to primary storage (Standard storage class) after they are + * accessed in IA or Archive storage.

                                    When using the + * put-lifecycle-configuration CLI command or the + * PutLifecycleConfiguration API action, Amazon EFS requires that each + * LifecyclePolicy object have only a single transition. This means + * that in a request body, LifecyclePolicies must be structured as an + * array of LifecyclePolicy objects, one object for each storage + * transition. See the example requests in the following section for more + * information.

                                    */ inline void SetLifecyclePolicies(const Aws::Vector& value) { m_lifecyclePoliciesHasBeenSet = true; m_lifecyclePolicies = value; } /** *

                                    An array of LifecyclePolicy objects that define the file * system's LifecycleConfiguration object. A - * LifecycleConfiguration object informs EFS lifecycle management and - * EFS Intelligent-Tiering of the following:

                                    • When to move files in - * the file system from primary storage to the IA storage class.

                                    • - *

                                      When to move files that are in IA storage to primary storage.

                                    - *

                                    When using the put-lifecycle-configuration CLI command or - * the PutLifecycleConfiguration API action, Amazon EFS requires that - * each LifecyclePolicy object have only a single transition. This - * means that in a request body, LifecyclePolicies must be structured - * as an array of LifecyclePolicy objects, one object for each - * transition, TransitionToIA, - * TransitionToPrimaryStorageClass. See the example requests in the - * following section for more information.

                                    + * LifecycleConfiguration object informs EFS Lifecycle management of + * the following:

                                    • TransitionToIA – When to + * move files in the file system from primary storage (Standard storage class) into + * the Infrequent Access (IA) storage.

                                    • + * TransitionToArchive – When to move files in the file system + * from their current storage class (either IA or Standard storage) into the + * Archive storage.

                                      File systems cannot transition into Archive storage + * before transitioning into IA storage. Therefore, TransitionToArchive must either + * not be set or must be later than TransitionToIA.

                                      The Archive + * storage class is available only for file systems that use the Elastic Throughput + * mode and the General Purpose Performance mode.

                                    • + * TransitionToPrimaryStorageClass – Whether to move files in the + * file system back to primary storage (Standard storage class) after they are + * accessed in IA or Archive storage.

                                    When using the + * put-lifecycle-configuration CLI command or the + * PutLifecycleConfiguration API action, Amazon EFS requires that each + * LifecyclePolicy object have only a single transition. This means + * that in a request body, LifecyclePolicies must be structured as an + * array of LifecyclePolicy objects, one object for each storage + * transition. See the example requests in the following section for more + * information.

                                    */ inline void SetLifecyclePolicies(Aws::Vector&& value) { m_lifecyclePoliciesHasBeenSet = true; m_lifecyclePolicies = std::move(value); } /** *

                                    An array of LifecyclePolicy objects that define the file * system's LifecycleConfiguration object. A - * LifecycleConfiguration object informs EFS lifecycle management and - * EFS Intelligent-Tiering of the following:

                                    • When to move files in - * the file system from primary storage to the IA storage class.

                                    • - *

                                      When to move files that are in IA storage to primary storage.

                                    - *

                                    When using the put-lifecycle-configuration CLI command or - * the PutLifecycleConfiguration API action, Amazon EFS requires that - * each LifecyclePolicy object have only a single transition. This - * means that in a request body, LifecyclePolicies must be structured - * as an array of LifecyclePolicy objects, one object for each - * transition, TransitionToIA, - * TransitionToPrimaryStorageClass. See the example requests in the - * following section for more information.

                                    + * LifecycleConfiguration object informs EFS Lifecycle management of + * the following:

                                    • TransitionToIA – When to + * move files in the file system from primary storage (Standard storage class) into + * the Infrequent Access (IA) storage.

                                    • + * TransitionToArchive – When to move files in the file system + * from their current storage class (either IA or Standard storage) into the + * Archive storage.

                                      File systems cannot transition into Archive storage + * before transitioning into IA storage. Therefore, TransitionToArchive must either + * not be set or must be later than TransitionToIA.

                                      The Archive + * storage class is available only for file systems that use the Elastic Throughput + * mode and the General Purpose Performance mode.

                                    • + * TransitionToPrimaryStorageClass – Whether to move files in the + * file system back to primary storage (Standard storage class) after they are + * accessed in IA or Archive storage.

                                    When using the + * put-lifecycle-configuration CLI command or the + * PutLifecycleConfiguration API action, Amazon EFS requires that each + * LifecyclePolicy object have only a single transition. This means + * that in a request body, LifecyclePolicies must be structured as an + * array of LifecyclePolicy objects, one object for each storage + * transition. See the example requests in the following section for more + * information.

                                    */ inline PutLifecycleConfigurationRequest& WithLifecyclePolicies(const Aws::Vector& value) { SetLifecyclePolicies(value); return *this;} /** *

                                    An array of LifecyclePolicy objects that define the file * system's LifecycleConfiguration object. A - * LifecycleConfiguration object informs EFS lifecycle management and - * EFS Intelligent-Tiering of the following:

                                    • When to move files in - * the file system from primary storage to the IA storage class.

                                    • - *

                                      When to move files that are in IA storage to primary storage.

                                    - *

                                    When using the put-lifecycle-configuration CLI command or - * the PutLifecycleConfiguration API action, Amazon EFS requires that - * each LifecyclePolicy object have only a single transition. This - * means that in a request body, LifecyclePolicies must be structured - * as an array of LifecyclePolicy objects, one object for each - * transition, TransitionToIA, - * TransitionToPrimaryStorageClass. See the example requests in the - * following section for more information.

                                    + * LifecycleConfiguration object informs EFS Lifecycle management of + * the following:

                                    • TransitionToIA – When to + * move files in the file system from primary storage (Standard storage class) into + * the Infrequent Access (IA) storage.

                                    • + * TransitionToArchive – When to move files in the file system + * from their current storage class (either IA or Standard storage) into the + * Archive storage.

                                      File systems cannot transition into Archive storage + * before transitioning into IA storage. Therefore, TransitionToArchive must either + * not be set or must be later than TransitionToIA.

                                      The Archive + * storage class is available only for file systems that use the Elastic Throughput + * mode and the General Purpose Performance mode.

                                    • + * TransitionToPrimaryStorageClass – Whether to move files in the + * file system back to primary storage (Standard storage class) after they are + * accessed in IA or Archive storage.

                                    When using the + * put-lifecycle-configuration CLI command or the + * PutLifecycleConfiguration API action, Amazon EFS requires that each + * LifecyclePolicy object have only a single transition. This means + * that in a request body, LifecyclePolicies must be structured as an + * array of LifecyclePolicy objects, one object for each storage + * transition. See the example requests in the following section for more + * information.

                                    */ inline PutLifecycleConfigurationRequest& WithLifecyclePolicies(Aws::Vector&& value) { SetLifecyclePolicies(std::move(value)); return *this;} /** *

                                    An array of LifecyclePolicy objects that define the file * system's LifecycleConfiguration object. A - * LifecycleConfiguration object informs EFS lifecycle management and - * EFS Intelligent-Tiering of the following:

                                    • When to move files in - * the file system from primary storage to the IA storage class.

                                    • - *

                                      When to move files that are in IA storage to primary storage.

                                    - *

                                    When using the put-lifecycle-configuration CLI command or - * the PutLifecycleConfiguration API action, Amazon EFS requires that - * each LifecyclePolicy object have only a single transition. This - * means that in a request body, LifecyclePolicies must be structured - * as an array of LifecyclePolicy objects, one object for each - * transition, TransitionToIA, - * TransitionToPrimaryStorageClass. See the example requests in the - * following section for more information.

                                    + * LifecycleConfiguration object informs EFS Lifecycle management of + * the following:

                                    • TransitionToIA – When to + * move files in the file system from primary storage (Standard storage class) into + * the Infrequent Access (IA) storage.

                                    • + * TransitionToArchive – When to move files in the file system + * from their current storage class (either IA or Standard storage) into the + * Archive storage.

                                      File systems cannot transition into Archive storage + * before transitioning into IA storage. Therefore, TransitionToArchive must either + * not be set or must be later than TransitionToIA.

                                      The Archive + * storage class is available only for file systems that use the Elastic Throughput + * mode and the General Purpose Performance mode.

                                    • + * TransitionToPrimaryStorageClass – Whether to move files in the + * file system back to primary storage (Standard storage class) after they are + * accessed in IA or Archive storage.

                                    When using the + * put-lifecycle-configuration CLI command or the + * PutLifecycleConfiguration API action, Amazon EFS requires that each + * LifecyclePolicy object have only a single transition. This means + * that in a request body, LifecyclePolicies must be structured as an + * array of LifecyclePolicy objects, one object for each storage + * transition. See the example requests in the following section for more + * information.

                                    */ inline PutLifecycleConfigurationRequest& AddLifecyclePolicies(const LifecyclePolicy& value) { m_lifecyclePoliciesHasBeenSet = true; m_lifecyclePolicies.push_back(value); return *this; } /** *

                                    An array of LifecyclePolicy objects that define the file * system's LifecycleConfiguration object. A - * LifecycleConfiguration object informs EFS lifecycle management and - * EFS Intelligent-Tiering of the following:

                                    • When to move files in - * the file system from primary storage to the IA storage class.

                                    • - *

                                      When to move files that are in IA storage to primary storage.

                                    - *

                                    When using the put-lifecycle-configuration CLI command or - * the PutLifecycleConfiguration API action, Amazon EFS requires that - * each LifecyclePolicy object have only a single transition. This - * means that in a request body, LifecyclePolicies must be structured - * as an array of LifecyclePolicy objects, one object for each - * transition, TransitionToIA, - * TransitionToPrimaryStorageClass. See the example requests in the - * following section for more information.

                                    + * LifecycleConfiguration object informs EFS Lifecycle management of + * the following:

                                    • TransitionToIA – When to + * move files in the file system from primary storage (Standard storage class) into + * the Infrequent Access (IA) storage.

                                    • + * TransitionToArchive – When to move files in the file system + * from their current storage class (either IA or Standard storage) into the + * Archive storage.

                                      File systems cannot transition into Archive storage + * before transitioning into IA storage. Therefore, TransitionToArchive must either + * not be set or must be later than TransitionToIA.

                                      The Archive + * storage class is available only for file systems that use the Elastic Throughput + * mode and the General Purpose Performance mode.

                                    • + * TransitionToPrimaryStorageClass – Whether to move files in the + * file system back to primary storage (Standard storage class) after they are + * accessed in IA or Archive storage.

                                    When using the + * put-lifecycle-configuration CLI command or the + * PutLifecycleConfiguration API action, Amazon EFS requires that each + * LifecyclePolicy object have only a single transition. This means + * that in a request body, LifecyclePolicies must be structured as an + * array of LifecyclePolicy objects, one object for each storage + * transition. See the example requests in the following section for more + * information.

                                    */ inline PutLifecycleConfigurationRequest& AddLifecyclePolicies(LifecyclePolicy&& value) { m_lifecyclePoliciesHasBeenSet = true; m_lifecyclePolicies.push_back(std::move(value)); return *this; } diff --git a/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/ReplicationConfigurationDescription.h b/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/ReplicationConfigurationDescription.h index 96b90bd75a5..8e2ebbfe9e7 100644 --- a/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/ReplicationConfigurationDescription.h +++ b/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/ReplicationConfigurationDescription.h @@ -83,49 +83,49 @@ namespace Model /** - *

                                    The Amazon Web Services Region in which the source Amazon EFS file system is + *

                                    The Amazon Web Services Region in which the source EFS file system is * located.

                                    */ inline const Aws::String& GetSourceFileSystemRegion() const{ return m_sourceFileSystemRegion; } /** - *

                                    The Amazon Web Services Region in which the source Amazon EFS file system is + *

                                    The Amazon Web Services Region in which the source EFS file system is * located.

                                    */ inline bool SourceFileSystemRegionHasBeenSet() const { return m_sourceFileSystemRegionHasBeenSet; } /** - *

                                    The Amazon Web Services Region in which the source Amazon EFS file system is + *

                                    The Amazon Web Services Region in which the source EFS file system is * located.

                                    */ inline void SetSourceFileSystemRegion(const Aws::String& value) { m_sourceFileSystemRegionHasBeenSet = true; m_sourceFileSystemRegion = value; } /** - *

                                    The Amazon Web Services Region in which the source Amazon EFS file system is + *

                                    The Amazon Web Services Region in which the source EFS file system is * located.

                                    */ inline void SetSourceFileSystemRegion(Aws::String&& value) { m_sourceFileSystemRegionHasBeenSet = true; m_sourceFileSystemRegion = std::move(value); } /** - *

                                    The Amazon Web Services Region in which the source Amazon EFS file system is + *

                                    The Amazon Web Services Region in which the source EFS file system is * located.

                                    */ inline void SetSourceFileSystemRegion(const char* value) { m_sourceFileSystemRegionHasBeenSet = true; m_sourceFileSystemRegion.assign(value); } /** - *

                                    The Amazon Web Services Region in which the source Amazon EFS file system is + *

                                    The Amazon Web Services Region in which the source EFS file system is * located.

                                    */ inline ReplicationConfigurationDescription& WithSourceFileSystemRegion(const Aws::String& value) { SetSourceFileSystemRegion(value); return *this;} /** - *

                                    The Amazon Web Services Region in which the source Amazon EFS file system is + *

                                    The Amazon Web Services Region in which the source EFS file system is * located.

                                    */ inline ReplicationConfigurationDescription& WithSourceFileSystemRegion(Aws::String&& value) { SetSourceFileSystemRegion(std::move(value)); return *this;} /** - *

                                    The Amazon Web Services Region in which the source Amazon EFS file system is + *

                                    The Amazon Web Services Region in which the source EFS file system is * located.

                                    */ inline ReplicationConfigurationDescription& WithSourceFileSystemRegion(const char* value) { SetSourceFileSystemRegion(value); return *this;} @@ -181,50 +181,50 @@ namespace Model /** - *

                                    The Amazon Resource Name (ARN) of the original source Amazon EFS file system - * in the replication configuration.

                                    + *

                                    The Amazon Resource Name (ARN) of the original source EFS file system in the + * replication configuration.

                                    */ inline const Aws::String& GetOriginalSourceFileSystemArn() const{ return m_originalSourceFileSystemArn; } /** - *

                                    The Amazon Resource Name (ARN) of the original source Amazon EFS file system - * in the replication configuration.

                                    + *

                                    The Amazon Resource Name (ARN) of the original source EFS file system in the + * replication configuration.

                                    */ inline bool OriginalSourceFileSystemArnHasBeenSet() const { return m_originalSourceFileSystemArnHasBeenSet; } /** - *

                                    The Amazon Resource Name (ARN) of the original source Amazon EFS file system - * in the replication configuration.

                                    + *

                                    The Amazon Resource Name (ARN) of the original source EFS file system in the + * replication configuration.

                                    */ inline void SetOriginalSourceFileSystemArn(const Aws::String& value) { m_originalSourceFileSystemArnHasBeenSet = true; m_originalSourceFileSystemArn = value; } /** - *

                                    The Amazon Resource Name (ARN) of the original source Amazon EFS file system - * in the replication configuration.

                                    + *

                                    The Amazon Resource Name (ARN) of the original source EFS file system in the + * replication configuration.

                                    */ inline void SetOriginalSourceFileSystemArn(Aws::String&& value) { m_originalSourceFileSystemArnHasBeenSet = true; m_originalSourceFileSystemArn = std::move(value); } /** - *

                                    The Amazon Resource Name (ARN) of the original source Amazon EFS file system - * in the replication configuration.

                                    + *

                                    The Amazon Resource Name (ARN) of the original source EFS file system in the + * replication configuration.

                                    */ inline void SetOriginalSourceFileSystemArn(const char* value) { m_originalSourceFileSystemArnHasBeenSet = true; m_originalSourceFileSystemArn.assign(value); } /** - *

                                    The Amazon Resource Name (ARN) of the original source Amazon EFS file system - * in the replication configuration.

                                    + *

                                    The Amazon Resource Name (ARN) of the original source EFS file system in the + * replication configuration.

                                    */ inline ReplicationConfigurationDescription& WithOriginalSourceFileSystemArn(const Aws::String& value) { SetOriginalSourceFileSystemArn(value); return *this;} /** - *

                                    The Amazon Resource Name (ARN) of the original source Amazon EFS file system - * in the replication configuration.

                                    + *

                                    The Amazon Resource Name (ARN) of the original source EFS file system in the + * replication configuration.

                                    */ inline ReplicationConfigurationDescription& WithOriginalSourceFileSystemArn(Aws::String&& value) { SetOriginalSourceFileSystemArn(std::move(value)); return *this;} /** - *

                                    The Amazon Resource Name (ARN) of the original source Amazon EFS file system - * in the replication configuration.

                                    + *

                                    The Amazon Resource Name (ARN) of the original source EFS file system in the + * replication configuration.

                                    */ inline ReplicationConfigurationDescription& WithOriginalSourceFileSystemArn(const char* value) { SetOriginalSourceFileSystemArn(value); return *this;} diff --git a/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/TransitionToArchiveRules.h b/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/TransitionToArchiveRules.h new file mode 100644 index 00000000000..d4aaba8027d --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/TransitionToArchiveRules.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 EFS +{ +namespace Model +{ + enum class TransitionToArchiveRules + { + NOT_SET, + AFTER_1_DAY, + AFTER_7_DAYS, + AFTER_14_DAYS, + AFTER_30_DAYS, + AFTER_60_DAYS, + AFTER_90_DAYS, + AFTER_180_DAYS, + AFTER_270_DAYS, + AFTER_365_DAYS + }; + +namespace TransitionToArchiveRulesMapper +{ +AWS_EFS_API TransitionToArchiveRules GetTransitionToArchiveRulesForName(const Aws::String& name); + +AWS_EFS_API Aws::String GetNameForTransitionToArchiveRules(TransitionToArchiveRules value); +} // namespace TransitionToArchiveRulesMapper +} // namespace Model +} // namespace EFS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/TransitionToIARules.h b/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/TransitionToIARules.h index afe4f7de83a..0edad4b1281 100644 --- a/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/TransitionToIARules.h +++ b/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/TransitionToIARules.h @@ -21,7 +21,10 @@ namespace Model AFTER_30_DAYS, AFTER_60_DAYS, AFTER_90_DAYS, - AFTER_1_DAY + AFTER_1_DAY, + AFTER_180_DAYS, + AFTER_270_DAYS, + AFTER_365_DAYS }; namespace TransitionToIARulesMapper diff --git a/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/UpdateFileSystemResult.h b/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/UpdateFileSystemResult.h index 81b5da9a4a5..bf4b8d3c496 100644 --- a/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/UpdateFileSystemResult.h +++ b/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/UpdateFileSystemResult.h @@ -414,27 +414,27 @@ namespace Model /** - *

                                    The performance mode of the file system.

                                    + *

                                    The Performance mode of the file system.

                                    */ inline const PerformanceMode& GetPerformanceMode() const{ return m_performanceMode; } /** - *

                                    The performance mode of the file system.

                                    + *

                                    The Performance mode of the file system.

                                    */ inline void SetPerformanceMode(const PerformanceMode& value) { m_performanceMode = value; } /** - *

                                    The performance mode of the file system.

                                    + *

                                    The Performance mode of the file system.

                                    */ inline void SetPerformanceMode(PerformanceMode&& value) { m_performanceMode = std::move(value); } /** - *

                                    The performance mode of the file system.

                                    + *

                                    The Performance mode of the file system.

                                    */ inline UpdateFileSystemResult& WithPerformanceMode(const PerformanceMode& value) { SetPerformanceMode(value); return *this;} /** - *

                                    The performance mode of the file system.

                                    + *

                                    The Performance mode of the file system.

                                    */ inline UpdateFileSystemResult& WithPerformanceMode(PerformanceMode&& value) { SetPerformanceMode(std::move(value)); return *this;} @@ -554,8 +554,8 @@ namespace Model /** *

                                    Describes the Amazon Web Services Availability Zone in which the file system - * is located, and is valid only for file systems using One Zone storage classes. - * For more information, see Using EFS * storage classes in the Amazon EFS User Guide.

                                    */ @@ -563,8 +563,8 @@ namespace Model /** *

                                    Describes the Amazon Web Services Availability Zone in which the file system - * is located, and is valid only for file systems using One Zone storage classes. - * For more information, see Using EFS * storage classes in the Amazon EFS User Guide.

                                    */ @@ -572,8 +572,8 @@ namespace Model /** *

                                    Describes the Amazon Web Services Availability Zone in which the file system - * is located, and is valid only for file systems using One Zone storage classes. - * For more information, see Using EFS * storage classes in the Amazon EFS User Guide.

                                    */ @@ -581,8 +581,8 @@ namespace Model /** *

                                    Describes the Amazon Web Services Availability Zone in which the file system - * is located, and is valid only for file systems using One Zone storage classes. - * For more information, see Using EFS * storage classes in the Amazon EFS User Guide.

                                    */ @@ -590,8 +590,8 @@ namespace Model /** *

                                    Describes the Amazon Web Services Availability Zone in which the file system - * is located, and is valid only for file systems using One Zone storage classes. - * For more information, see Using EFS * storage classes in the Amazon EFS User Guide.

                                    */ @@ -599,8 +599,8 @@ namespace Model /** *

                                    Describes the Amazon Web Services Availability Zone in which the file system - * is located, and is valid only for file systems using One Zone storage classes. - * For more information, see Using EFS * storage classes in the Amazon EFS User Guide.

                                    */ @@ -608,8 +608,8 @@ namespace Model /** *

                                    Describes the Amazon Web Services Availability Zone in which the file system - * is located, and is valid only for file systems using One Zone storage classes. - * For more information, see Using EFS * storage classes in the Amazon EFS User Guide.

                                    */ @@ -618,57 +618,64 @@ namespace Model /** *

                                    The unique and consistent identifier of the Availability Zone in which the - * file system's One Zone storage classes exist. For example, use1-az1 - * is an Availability Zone ID for the us-east-1 Amazon Web Services Region, and it - * has the same location in every Amazon Web Services account.

                                    + * file system is located, and is valid only for One Zone file systems. For + * example, use1-az1 is an Availability Zone ID for the us-east-1 + * Amazon Web Services Region, and it has the same location in every Amazon Web + * Services account.

                                    */ inline const Aws::String& GetAvailabilityZoneId() const{ return m_availabilityZoneId; } /** *

                                    The unique and consistent identifier of the Availability Zone in which the - * file system's One Zone storage classes exist. For example, use1-az1 - * is an Availability Zone ID for the us-east-1 Amazon Web Services Region, and it - * has the same location in every Amazon Web Services account.

                                    + * file system is located, and is valid only for One Zone file systems. For + * example, use1-az1 is an Availability Zone ID for the us-east-1 + * Amazon Web Services Region, and it has the same location in every Amazon Web + * Services account.

                                    */ inline void SetAvailabilityZoneId(const Aws::String& value) { m_availabilityZoneId = value; } /** *

                                    The unique and consistent identifier of the Availability Zone in which the - * file system's One Zone storage classes exist. For example, use1-az1 - * is an Availability Zone ID for the us-east-1 Amazon Web Services Region, and it - * has the same location in every Amazon Web Services account.

                                    + * file system is located, and is valid only for One Zone file systems. For + * example, use1-az1 is an Availability Zone ID for the us-east-1 + * Amazon Web Services Region, and it has the same location in every Amazon Web + * Services account.

                                    */ inline void SetAvailabilityZoneId(Aws::String&& value) { m_availabilityZoneId = std::move(value); } /** *

                                    The unique and consistent identifier of the Availability Zone in which the - * file system's One Zone storage classes exist. For example, use1-az1 - * is an Availability Zone ID for the us-east-1 Amazon Web Services Region, and it - * has the same location in every Amazon Web Services account.

                                    + * file system is located, and is valid only for One Zone file systems. For + * example, use1-az1 is an Availability Zone ID for the us-east-1 + * Amazon Web Services Region, and it has the same location in every Amazon Web + * Services account.

                                    */ inline void SetAvailabilityZoneId(const char* value) { m_availabilityZoneId.assign(value); } /** *

                                    The unique and consistent identifier of the Availability Zone in which the - * file system's One Zone storage classes exist. For example, use1-az1 - * is an Availability Zone ID for the us-east-1 Amazon Web Services Region, and it - * has the same location in every Amazon Web Services account.

                                    + * file system is located, and is valid only for One Zone file systems. For + * example, use1-az1 is an Availability Zone ID for the us-east-1 + * Amazon Web Services Region, and it has the same location in every Amazon Web + * Services account.

                                    */ inline UpdateFileSystemResult& WithAvailabilityZoneId(const Aws::String& value) { SetAvailabilityZoneId(value); return *this;} /** *

                                    The unique and consistent identifier of the Availability Zone in which the - * file system's One Zone storage classes exist. For example, use1-az1 - * is an Availability Zone ID for the us-east-1 Amazon Web Services Region, and it - * has the same location in every Amazon Web Services account.

                                    + * file system is located, and is valid only for One Zone file systems. For + * example, use1-az1 is an Availability Zone ID for the us-east-1 + * Amazon Web Services Region, and it has the same location in every Amazon Web + * Services account.

                                    */ inline UpdateFileSystemResult& WithAvailabilityZoneId(Aws::String&& value) { SetAvailabilityZoneId(std::move(value)); return *this;} /** *

                                    The unique and consistent identifier of the Availability Zone in which the - * file system's One Zone storage classes exist. For example, use1-az1 - * is an Availability Zone ID for the us-east-1 Amazon Web Services Region, and it - * has the same location in every Amazon Web Services account.

                                    + * file system is located, and is valid only for One Zone file systems. For + * example, use1-az1 is an Availability Zone ID for the us-east-1 + * Amazon Web Services Region, and it has the same location in every Amazon Web + * Services account.

                                    */ inline UpdateFileSystemResult& WithAvailabilityZoneId(const char* value) { SetAvailabilityZoneId(value); return *this;} diff --git a/generated/src/aws-cpp-sdk-elasticfilesystem/source/EFSEndpointRules.cpp b/generated/src/aws-cpp-sdk-elasticfilesystem/source/EFSEndpointRules.cpp index ccae41001be..62e96e6d000 100644 --- a/generated/src/aws-cpp-sdk-elasticfilesystem/source/EFSEndpointRules.cpp +++ b/generated/src/aws-cpp-sdk-elasticfilesystem/source/EFSEndpointRules.cpp @@ -51,108 +51,108 @@ static constexpr RulesBlobT RulesBlob = {{ ',','"','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','"',':','[','{','"','f','n','"',':','"', 'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', -'d','p','o','i','n','t','"','}',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', -',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', -'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r', -'u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','C','o', -'n','f','i','g','u','r','a','t','i','o','n',':',' ','F','I','P','S',' ','a','n','d',' ','c','u','s', -'t','o','m',' ','e','n','d','p','o','i','n','t',' ','a','r','e',' ','n','o','t',' ','s','u','p','p', -'o','r','t','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e', +'d','p','o','i','n','t','"','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', +'s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':', +'"','I','n','v','a','l','i','d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','F', +'I','P','S',' ','a','n','d',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','a', +'r','e',' ','n','o','t',' ','s','u','p','p','o','r','t','e','d','"',',','"','t','y','p','e','"',':', +'"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"', +'}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i', +'d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','D','u','a','l','s','t','a','c', +'k',' ','a','n','d',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','a','r','e', +' ','n','o','t',' ','s','u','p','p','o','r','t','e','d','"',',','"','t','y','p','e','"',':','"','e', +'r','r','o','r','"','}',',','{','"','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','"',':','{', +'}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e', +'n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s', +'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i', +'o','n','"','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i', +'o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o', +'n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','P','a','r','t','i','t','i','o','n','R', +'e','s','u','l','t','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F', +'I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', 'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', '"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"', -'e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','C','o','n','f','i','g','u','r','a', -'t','i','o','n',':',' ','D','u','a','l','s','t','a','c','k',' ','a','n','d',' ','c','u','s','t','o', -'m',' ','e','n','d','p','o','i','n','t',' ','a','r','e',' ','n','o','t',' ','s','u','p','p','o','r', -'t','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o', +'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R', +'e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','F','I','P','S','"',']','}',']', +'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t', +'r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t', +'i','o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','D','u','a','l', +'S','t','a','c','k','"',']','}',']','}',']',',','"','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','"',':','{','}',',','"','h','e','a','d','e','r','s','"', -':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}', -',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s', -'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i', -'o','n','"','}',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u', -'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', -'"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g', -'n','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',']',',','"','t', -'y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o', -'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', -'s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o', -'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}', -']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o', -'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','t','r','u','e',',', -'{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',', -'"','s','u','p','p','o','r','t','s','F','I','P','S','"',']','}',']','}',',','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','t', -'r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l', -'t','"','}',',','"','s','u','p','p','o','r','t','s','D','u','a','l','S','t','a','c','k','"',']','}', -']','}',']',',','"','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','"',':','"','h','t','t','p','s',':','/','/','e','l','a','s', -'t','i','c','f','i','l','e','s','y','s','t','e','m','-','f','i','p','s','.','{','R','e','g','i','o', -'n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','u','a','l','S', -'t','a','c','k','D','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i', -'e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', -'e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t', -'i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','F','I','P','S',' ','a','n', -'d',' ','D','u','a','l','S','t','a','c','k',' ','a','r','e',' ','e','n','a','b','l','e','d',',',' ', -'b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ','n', -'o','t',' ','s','u','p','p','o','r','t',' ','o','n','e',' ','o','r',' ','b','o','t','h','"',',','"', -'t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',',','{','"','c','o','n','d','i','t', -'i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I', -'P','S','"','}',',','t','r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', -'"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i', -'o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','F','I','P','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','"',':','"','h','t','t','p','s',':','/','/','e','l', -'a','s','t','i','c','f','i','l','e','s','y','s','t','e','m','-','f','i','p','s','.','{','R','e','g', -'i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s', -'S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',', -'"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d', -'p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', -']',',','"','e','r','r','o','r','"',':','"','F','I','P','S',' ','i','s',' ','e','n','a','b','l','e', -'d',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s', -' ','n','o','t',' ','s','u','p','p','o','r','t',' ','F','I','P','S','"',',','"','t','y','p','e','"', -':','"','e','r','r','o','r','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', -':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a', -'c','k','"','}',',','t','r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', -'"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i', -'o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','D','u','a','l','S', -'t','a','c','k','"',']','}',']','}',']',',','"','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','"',':','"','h','t','t','p','s', -':','/','/','e','l','a','s','t','i','c','f','i','l','e','s','y','s','t','e','m','.','{','R','e','g', -'i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','u','a', -'l','S','t','a','c','k','D','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r', -'t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t', -'y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d', -'i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','D','u','a','l','S', -'t','a','c','k',' ','i','s',' ','e','n','a','b','l','e','d',' ','b','u','t',' ','t','h','i','s',' ', -'p','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r', -'t',' ','D','u','a','l','S','t','a','c','k','"',',','"','t','y','p','e','"',':','"','e','r','r','o', -'r','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e', -'n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/', -'e','l','a','s','t','i','c','f','i','l','e','s','y','s','t','e','m','.','{','R','e','g','i','o','n', -'}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f', -'f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e', -'a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i', -'n','t','"','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']', +'"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','e','l','a','s','t','i','c','f','i','l', +'e','s','y','s','t','e','m','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','P','a', +'r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','u','a','l','S','t','a','c','k','D','n', +'s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}', +',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n', +'d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',', +'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':', +'"','F','I','P','S',' ','a','n','d',' ','D','u','a','l','S','t','a','c','k',' ','a','r','e',' ','e', +'n','a','b','l','e','d',',',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o', +'n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','o','n','e',' ','o','r', +' ','b','o','t','h','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"', +'t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"', +'}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A', +'t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t', +'i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','F','I', +'P','S','"',']','}',',','t','r','u','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','"',':','"','h','t','t','p','s',':','/','/','e','l','a','s','t','i','c','f', +'i','l','e','s','y','s','t','e','m','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{', +'P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x', +'}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e', +'r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"', +'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','F','I','P','S',' ','i', +'s',' ','e','n','a','b','l','e','d',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t', +'i','o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','F','I','P','S', +'"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"', +':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"', +'}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','t','r','u','e',',','{','"','f','n','"',':', +'"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o', +'r','t','s','D','u','a','l','S','t','a','c','k','"',']','}',']','}',']',',','"','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','"',':','"','h','t','t','p','s',':','/','/','e','l','a', +'s','t','i','c','f','i','l','e','s','y','s','t','e','m','.','{','R','e','g','i','o','n','}','.','{', +'P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','u','a','l','S','t','a','c','k', +'D','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':', +'{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"', +'e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', +'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r', +'"',':','"','D','u','a','l','S','t','a','c','k',' ','i','s',' ','e','n','a','b','l','e','d',' ','b', +'u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ','n','o', +'t',' ','s','u','p','p','o','r','t',' ','D','u','a','l','S','t','a','c','k','"',',','"','t','y','p', +'e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', +'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p', +'o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','e','l','a', +'s','t','i','c','f','i','l','e','s','y','s','t','e','m','.','{','R','e','g','i','o','n','}','.','{', +'P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x', +'}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e', +'r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"', +'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e','"', +':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']', ',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','C','o','n','f','i','g','u', 'r','a','t','i','o','n',':',' ','M','i','s','s','i','n','g',' ','R','e','g','i','o','n','"',',','"', 't','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}','\0' diff --git a/generated/src/aws-cpp-sdk-elasticfilesystem/source/model/FileSystemSize.cpp b/generated/src/aws-cpp-sdk-elasticfilesystem/source/model/FileSystemSize.cpp index 383fb4f2a76..6198b85392b 100644 --- a/generated/src/aws-cpp-sdk-elasticfilesystem/source/model/FileSystemSize.cpp +++ b/generated/src/aws-cpp-sdk-elasticfilesystem/source/model/FileSystemSize.cpp @@ -25,7 +25,9 @@ FileSystemSize::FileSystemSize() : m_valueInIA(0), m_valueInIAHasBeenSet(false), m_valueInStandard(0), - m_valueInStandardHasBeenSet(false) + m_valueInStandardHasBeenSet(false), + m_valueInArchive(0), + m_valueInArchiveHasBeenSet(false) { } @@ -36,7 +38,9 @@ FileSystemSize::FileSystemSize(JsonView jsonValue) : m_valueInIA(0), m_valueInIAHasBeenSet(false), m_valueInStandard(0), - m_valueInStandardHasBeenSet(false) + m_valueInStandardHasBeenSet(false), + m_valueInArchive(0), + m_valueInArchiveHasBeenSet(false) { *this = jsonValue; } @@ -71,6 +75,13 @@ FileSystemSize& FileSystemSize::operator =(JsonView jsonValue) m_valueInStandardHasBeenSet = true; } + if(jsonValue.ValueExists("ValueInArchive")) + { + m_valueInArchive = jsonValue.GetInt64("ValueInArchive"); + + m_valueInArchiveHasBeenSet = true; + } + return *this; } @@ -101,6 +112,12 @@ JsonValue FileSystemSize::Jsonize() const } + if(m_valueInArchiveHasBeenSet) + { + payload.WithInt64("ValueInArchive", m_valueInArchive); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-elasticfilesystem/source/model/LifecyclePolicy.cpp b/generated/src/aws-cpp-sdk-elasticfilesystem/source/model/LifecyclePolicy.cpp index 23b4b507c6d..97793083685 100644 --- a/generated/src/aws-cpp-sdk-elasticfilesystem/source/model/LifecyclePolicy.cpp +++ b/generated/src/aws-cpp-sdk-elasticfilesystem/source/model/LifecyclePolicy.cpp @@ -22,7 +22,9 @@ LifecyclePolicy::LifecyclePolicy() : m_transitionToIA(TransitionToIARules::NOT_SET), m_transitionToIAHasBeenSet(false), m_transitionToPrimaryStorageClass(TransitionToPrimaryStorageClassRules::NOT_SET), - m_transitionToPrimaryStorageClassHasBeenSet(false) + m_transitionToPrimaryStorageClassHasBeenSet(false), + m_transitionToArchive(TransitionToArchiveRules::NOT_SET), + m_transitionToArchiveHasBeenSet(false) { } @@ -30,7 +32,9 @@ LifecyclePolicy::LifecyclePolicy(JsonView jsonValue) : m_transitionToIA(TransitionToIARules::NOT_SET), m_transitionToIAHasBeenSet(false), m_transitionToPrimaryStorageClass(TransitionToPrimaryStorageClassRules::NOT_SET), - m_transitionToPrimaryStorageClassHasBeenSet(false) + m_transitionToPrimaryStorageClassHasBeenSet(false), + m_transitionToArchive(TransitionToArchiveRules::NOT_SET), + m_transitionToArchiveHasBeenSet(false) { *this = jsonValue; } @@ -51,6 +55,13 @@ LifecyclePolicy& LifecyclePolicy::operator =(JsonView jsonValue) m_transitionToPrimaryStorageClassHasBeenSet = true; } + if(jsonValue.ValueExists("TransitionToArchive")) + { + m_transitionToArchive = TransitionToArchiveRulesMapper::GetTransitionToArchiveRulesForName(jsonValue.GetString("TransitionToArchive")); + + m_transitionToArchiveHasBeenSet = true; + } + return *this; } @@ -68,6 +79,11 @@ JsonValue LifecyclePolicy::Jsonize() const payload.WithString("TransitionToPrimaryStorageClass", TransitionToPrimaryStorageClassRulesMapper::GetNameForTransitionToPrimaryStorageClassRules(m_transitionToPrimaryStorageClass)); } + if(m_transitionToArchiveHasBeenSet) + { + payload.WithString("TransitionToArchive", TransitionToArchiveRulesMapper::GetNameForTransitionToArchiveRules(m_transitionToArchive)); + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-elasticfilesystem/source/model/TransitionToArchiveRules.cpp b/generated/src/aws-cpp-sdk-elasticfilesystem/source/model/TransitionToArchiveRules.cpp new file mode 100644 index 00000000000..c4383b599b0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticfilesystem/source/model/TransitionToArchiveRules.cpp @@ -0,0 +1,121 @@ +/** + * 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 EFS + { + namespace Model + { + namespace TransitionToArchiveRulesMapper + { + + static const int AFTER_1_DAY_HASH = HashingUtils::HashString("AFTER_1_DAY"); + static const int AFTER_7_DAYS_HASH = HashingUtils::HashString("AFTER_7_DAYS"); + static const int AFTER_14_DAYS_HASH = HashingUtils::HashString("AFTER_14_DAYS"); + static const int AFTER_30_DAYS_HASH = HashingUtils::HashString("AFTER_30_DAYS"); + static const int AFTER_60_DAYS_HASH = HashingUtils::HashString("AFTER_60_DAYS"); + static const int AFTER_90_DAYS_HASH = HashingUtils::HashString("AFTER_90_DAYS"); + static const int AFTER_180_DAYS_HASH = HashingUtils::HashString("AFTER_180_DAYS"); + static const int AFTER_270_DAYS_HASH = HashingUtils::HashString("AFTER_270_DAYS"); + static const int AFTER_365_DAYS_HASH = HashingUtils::HashString("AFTER_365_DAYS"); + + + TransitionToArchiveRules GetTransitionToArchiveRulesForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == AFTER_1_DAY_HASH) + { + return TransitionToArchiveRules::AFTER_1_DAY; + } + else if (hashCode == AFTER_7_DAYS_HASH) + { + return TransitionToArchiveRules::AFTER_7_DAYS; + } + else if (hashCode == AFTER_14_DAYS_HASH) + { + return TransitionToArchiveRules::AFTER_14_DAYS; + } + else if (hashCode == AFTER_30_DAYS_HASH) + { + return TransitionToArchiveRules::AFTER_30_DAYS; + } + else if (hashCode == AFTER_60_DAYS_HASH) + { + return TransitionToArchiveRules::AFTER_60_DAYS; + } + else if (hashCode == AFTER_90_DAYS_HASH) + { + return TransitionToArchiveRules::AFTER_90_DAYS; + } + else if (hashCode == AFTER_180_DAYS_HASH) + { + return TransitionToArchiveRules::AFTER_180_DAYS; + } + else if (hashCode == AFTER_270_DAYS_HASH) + { + return TransitionToArchiveRules::AFTER_270_DAYS; + } + else if (hashCode == AFTER_365_DAYS_HASH) + { + return TransitionToArchiveRules::AFTER_365_DAYS; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return TransitionToArchiveRules::NOT_SET; + } + + Aws::String GetNameForTransitionToArchiveRules(TransitionToArchiveRules enumValue) + { + switch(enumValue) + { + case TransitionToArchiveRules::NOT_SET: + return {}; + case TransitionToArchiveRules::AFTER_1_DAY: + return "AFTER_1_DAY"; + case TransitionToArchiveRules::AFTER_7_DAYS: + return "AFTER_7_DAYS"; + case TransitionToArchiveRules::AFTER_14_DAYS: + return "AFTER_14_DAYS"; + case TransitionToArchiveRules::AFTER_30_DAYS: + return "AFTER_30_DAYS"; + case TransitionToArchiveRules::AFTER_60_DAYS: + return "AFTER_60_DAYS"; + case TransitionToArchiveRules::AFTER_90_DAYS: + return "AFTER_90_DAYS"; + case TransitionToArchiveRules::AFTER_180_DAYS: + return "AFTER_180_DAYS"; + case TransitionToArchiveRules::AFTER_270_DAYS: + return "AFTER_270_DAYS"; + case TransitionToArchiveRules::AFTER_365_DAYS: + return "AFTER_365_DAYS"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace TransitionToArchiveRulesMapper + } // namespace Model + } // namespace EFS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-elasticfilesystem/source/model/TransitionToIARules.cpp b/generated/src/aws-cpp-sdk-elasticfilesystem/source/model/TransitionToIARules.cpp index 267efcc47d1..5943c693c94 100644 --- a/generated/src/aws-cpp-sdk-elasticfilesystem/source/model/TransitionToIARules.cpp +++ b/generated/src/aws-cpp-sdk-elasticfilesystem/source/model/TransitionToIARules.cpp @@ -26,6 +26,9 @@ namespace Aws static const int AFTER_60_DAYS_HASH = HashingUtils::HashString("AFTER_60_DAYS"); static const int AFTER_90_DAYS_HASH = HashingUtils::HashString("AFTER_90_DAYS"); static const int AFTER_1_DAY_HASH = HashingUtils::HashString("AFTER_1_DAY"); + static const int AFTER_180_DAYS_HASH = HashingUtils::HashString("AFTER_180_DAYS"); + static const int AFTER_270_DAYS_HASH = HashingUtils::HashString("AFTER_270_DAYS"); + static const int AFTER_365_DAYS_HASH = HashingUtils::HashString("AFTER_365_DAYS"); TransitionToIARules GetTransitionToIARulesForName(const Aws::String& name) @@ -55,6 +58,18 @@ namespace Aws { return TransitionToIARules::AFTER_1_DAY; } + else if (hashCode == AFTER_180_DAYS_HASH) + { + return TransitionToIARules::AFTER_180_DAYS; + } + else if (hashCode == AFTER_270_DAYS_HASH) + { + return TransitionToIARules::AFTER_270_DAYS; + } + else if (hashCode == AFTER_365_DAYS_HASH) + { + return TransitionToIARules::AFTER_365_DAYS; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -83,6 +98,12 @@ namespace Aws return "AFTER_90_DAYS"; case TransitionToIARules::AFTER_1_DAY: return "AFTER_1_DAY"; + case TransitionToIARules::AFTER_180_DAYS: + return "AFTER_180_DAYS"; + case TransitionToIARules::AFTER_270_DAYS: + return "AFTER_270_DAYS"; + case TransitionToIARules::AFTER_365_DAYS: + return "AFTER_365_DAYS"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/ElasticLoadBalancingv2Client.h b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/ElasticLoadBalancingv2Client.h index 5c9e7af953a..3c26e2b4f0b 100644 --- a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/ElasticLoadBalancingv2Client.h +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/ElasticLoadBalancingv2Client.h @@ -141,9 +141,10 @@ namespace ElasticLoadBalancingv2 /** *

                                    Adds the specified tags to the specified Elastic Load Balancing resource. You * can tag your Application Load Balancers, Network Load Balancers, Gateway Load - * Balancers, target groups, listeners, and rules.

                                    Each tag consists of a - * key and an optional value. If a resource already has a tag with the same key, - * AddTags updates its value.

                                    See Also:

                                    Each tag + * consists of a key and an optional value. If a resource already has a tag with + * the same key, AddTags updates its value.

                                    See Also:

                                    + *
                                    AWS * API Reference

                                    */ @@ -167,6 +168,32 @@ namespace ElasticLoadBalancingv2 return SubmitAsync(&ElasticLoadBalancingv2Client::AddTags, request, handler, context); } + /** + *

                                    Adds the specified revocation file to the specified trust + * store.

                                    See Also:

                                    AWS + * API Reference

                                    + */ + virtual Model::AddTrustStoreRevocationsOutcome AddTrustStoreRevocations(const Model::AddTrustStoreRevocationsRequest& request) const; + + /** + * A Callable wrapper for AddTrustStoreRevocations that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::AddTrustStoreRevocationsOutcomeCallable AddTrustStoreRevocationsCallable(const AddTrustStoreRevocationsRequestT& request) const + { + return SubmitCallable(&ElasticLoadBalancingv2Client::AddTrustStoreRevocations, request); + } + + /** + * An Async wrapper for AddTrustStoreRevocations that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void AddTrustStoreRevocationsAsync(const AddTrustStoreRevocationsRequestT& request, const AddTrustStoreRevocationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&ElasticLoadBalancingv2Client::AddTrustStoreRevocations, request, handler, context); + } + /** *

                                    Creates a listener for the specified Application Load Balancer, Network Load * Balancer, or Gateway Load Balancer.

                                    For more information, see the @@ -306,6 +333,31 @@ namespace ElasticLoadBalancingv2 return SubmitAsync(&ElasticLoadBalancingv2Client::CreateTargetGroup, request, handler, context); } + /** + *

                                    Creates a trust store.

                                    See Also:

                                    AWS + * API Reference

                                    + */ + virtual Model::CreateTrustStoreOutcome CreateTrustStore(const Model::CreateTrustStoreRequest& request) const; + + /** + * A Callable wrapper for CreateTrustStore that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::CreateTrustStoreOutcomeCallable CreateTrustStoreCallable(const CreateTrustStoreRequestT& request) const + { + return SubmitCallable(&ElasticLoadBalancingv2Client::CreateTrustStore, request); + } + + /** + * An Async wrapper for CreateTrustStore that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void CreateTrustStoreAsync(const CreateTrustStoreRequestT& request, const CreateTrustStoreResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&ElasticLoadBalancingv2Client::CreateTrustStore, request, handler, context); + } + /** *

                                    Deletes the specified listener.

                                    Alternatively, your listener is * deleted when you delete the load balancer to which it is attached.

                                    See @@ -420,6 +472,31 @@ namespace ElasticLoadBalancingv2 return SubmitAsync(&ElasticLoadBalancingv2Client::DeleteTargetGroup, request, handler, context); } + /** + *

                                    Deletes a trust store.

                                    See Also:

                                    AWS + * API Reference

                                    + */ + virtual Model::DeleteTrustStoreOutcome DeleteTrustStore(const Model::DeleteTrustStoreRequest& request) const; + + /** + * A Callable wrapper for DeleteTrustStore that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DeleteTrustStoreOutcomeCallable DeleteTrustStoreCallable(const DeleteTrustStoreRequestT& request) const + { + return SubmitCallable(&ElasticLoadBalancingv2Client::DeleteTrustStore, request); + } + + /** + * An Async wrapper for DeleteTrustStore that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DeleteTrustStoreAsync(const DeleteTrustStoreRequestT& request, const DeleteTrustStoreResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&ElasticLoadBalancingv2Client::DeleteTrustStore, request, handler, context); + } + /** *

                                    Deregisters the specified targets from the specified target group. After the * targets are deregistered, they no longer receive traffic from the load @@ -794,6 +871,136 @@ namespace ElasticLoadBalancingv2 return SubmitAsync(&ElasticLoadBalancingv2Client::DescribeTargetHealth, request, handler, context); } + /** + *

                                    Describes all resources associated with the specified trust + * store.

                                    See Also:

                                    AWS + * API Reference

                                    + */ + virtual Model::DescribeTrustStoreAssociationsOutcome DescribeTrustStoreAssociations(const Model::DescribeTrustStoreAssociationsRequest& request) const; + + /** + * A Callable wrapper for DescribeTrustStoreAssociations that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DescribeTrustStoreAssociationsOutcomeCallable DescribeTrustStoreAssociationsCallable(const DescribeTrustStoreAssociationsRequestT& request) const + { + return SubmitCallable(&ElasticLoadBalancingv2Client::DescribeTrustStoreAssociations, request); + } + + /** + * An Async wrapper for DescribeTrustStoreAssociations that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DescribeTrustStoreAssociationsAsync(const DescribeTrustStoreAssociationsRequestT& request, const DescribeTrustStoreAssociationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&ElasticLoadBalancingv2Client::DescribeTrustStoreAssociations, request, handler, context); + } + + /** + *

                                    Describes the revocation files in use by the specified trust store arn, or + * revocation ID.

                                    See Also:

                                    AWS + * API Reference

                                    + */ + virtual Model::DescribeTrustStoreRevocationsOutcome DescribeTrustStoreRevocations(const Model::DescribeTrustStoreRevocationsRequest& request) const; + + /** + * A Callable wrapper for DescribeTrustStoreRevocations that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DescribeTrustStoreRevocationsOutcomeCallable DescribeTrustStoreRevocationsCallable(const DescribeTrustStoreRevocationsRequestT& request) const + { + return SubmitCallable(&ElasticLoadBalancingv2Client::DescribeTrustStoreRevocations, request); + } + + /** + * An Async wrapper for DescribeTrustStoreRevocations that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DescribeTrustStoreRevocationsAsync(const DescribeTrustStoreRevocationsRequestT& request, const DescribeTrustStoreRevocationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&ElasticLoadBalancingv2Client::DescribeTrustStoreRevocations, request, handler, context); + } + + /** + *

                                    Describes all trust stores for a given account by trust store arn’s or + * name.

                                    See Also:

                                    AWS + * API Reference

                                    + */ + virtual Model::DescribeTrustStoresOutcome DescribeTrustStores(const Model::DescribeTrustStoresRequest& request) const; + + /** + * A Callable wrapper for DescribeTrustStores that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DescribeTrustStoresOutcomeCallable DescribeTrustStoresCallable(const DescribeTrustStoresRequestT& request) const + { + return SubmitCallable(&ElasticLoadBalancingv2Client::DescribeTrustStores, request); + } + + /** + * An Async wrapper for DescribeTrustStores that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DescribeTrustStoresAsync(const DescribeTrustStoresRequestT& request, const DescribeTrustStoresResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&ElasticLoadBalancingv2Client::DescribeTrustStores, request, handler, context); + } + + /** + *

                                    Retrieves the ca certificate bundle.

                                    This action returns a pre-signed + * S3 URI which is active for ten minutes.

                                    See Also:

                                    AWS + * API Reference

                                    + */ + virtual Model::GetTrustStoreCaCertificatesBundleOutcome GetTrustStoreCaCertificatesBundle(const Model::GetTrustStoreCaCertificatesBundleRequest& request) const; + + /** + * A Callable wrapper for GetTrustStoreCaCertificatesBundle that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetTrustStoreCaCertificatesBundleOutcomeCallable GetTrustStoreCaCertificatesBundleCallable(const GetTrustStoreCaCertificatesBundleRequestT& request) const + { + return SubmitCallable(&ElasticLoadBalancingv2Client::GetTrustStoreCaCertificatesBundle, request); + } + + /** + * An Async wrapper for GetTrustStoreCaCertificatesBundle that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetTrustStoreCaCertificatesBundleAsync(const GetTrustStoreCaCertificatesBundleRequestT& request, const GetTrustStoreCaCertificatesBundleResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&ElasticLoadBalancingv2Client::GetTrustStoreCaCertificatesBundle, request, handler, context); + } + + /** + *

                                    Retrieves the specified revocation file.

                                    This action returns a + * pre-signed S3 URI which is active for ten minutes.

                                    See Also:

                                    AWS + * API Reference

                                    + */ + virtual Model::GetTrustStoreRevocationContentOutcome GetTrustStoreRevocationContent(const Model::GetTrustStoreRevocationContentRequest& request) const; + + /** + * A Callable wrapper for GetTrustStoreRevocationContent that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetTrustStoreRevocationContentOutcomeCallable GetTrustStoreRevocationContentCallable(const GetTrustStoreRevocationContentRequestT& request) const + { + return SubmitCallable(&ElasticLoadBalancingv2Client::GetTrustStoreRevocationContent, request); + } + + /** + * An Async wrapper for GetTrustStoreRevocationContent that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetTrustStoreRevocationContentAsync(const GetTrustStoreRevocationContentRequestT& request, const GetTrustStoreRevocationContentResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&ElasticLoadBalancingv2Client::GetTrustStoreRevocationContent, request, handler, context); + } + /** *

                                    Replaces the specified properties of the specified listener. Any properties * that you do not specify remain unchanged.

                                    Changing the protocol from @@ -937,6 +1144,32 @@ namespace ElasticLoadBalancingv2 return SubmitAsync(&ElasticLoadBalancingv2Client::ModifyTargetGroupAttributes, request, handler, context); } + /** + *

                                    Update the ca certificate bundle for a given trust store.

                                    See + * Also:

                                    AWS + * API Reference

                                    + */ + virtual Model::ModifyTrustStoreOutcome ModifyTrustStore(const Model::ModifyTrustStoreRequest& request) const; + + /** + * A Callable wrapper for ModifyTrustStore that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ModifyTrustStoreOutcomeCallable ModifyTrustStoreCallable(const ModifyTrustStoreRequestT& request) const + { + return SubmitCallable(&ElasticLoadBalancingv2Client::ModifyTrustStore, request); + } + + /** + * An Async wrapper for ModifyTrustStore that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ModifyTrustStoreAsync(const ModifyTrustStoreRequestT& request, const ModifyTrustStoreResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&ElasticLoadBalancingv2Client::ModifyTrustStore, request, handler, context); + } + /** *

                                    Registers the specified targets with the specified target group.

                                    If * the target is an EC2 instance, it must be in the running state when @@ -1025,6 +1258,32 @@ namespace ElasticLoadBalancingv2 return SubmitAsync(&ElasticLoadBalancingv2Client::RemoveTags, request, handler, context); } + /** + *

                                    Removes the specified revocation file from the specified trust + * store.

                                    See Also:

                                    AWS + * API Reference

                                    + */ + virtual Model::RemoveTrustStoreRevocationsOutcome RemoveTrustStoreRevocations(const Model::RemoveTrustStoreRevocationsRequest& request) const; + + /** + * A Callable wrapper for RemoveTrustStoreRevocations that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::RemoveTrustStoreRevocationsOutcomeCallable RemoveTrustStoreRevocationsCallable(const RemoveTrustStoreRevocationsRequestT& request) const + { + return SubmitCallable(&ElasticLoadBalancingv2Client::RemoveTrustStoreRevocations, request); + } + + /** + * An Async wrapper for RemoveTrustStoreRevocations that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void RemoveTrustStoreRevocationsAsync(const RemoveTrustStoreRevocationsRequestT& request, const RemoveTrustStoreRevocationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&ElasticLoadBalancingv2Client::RemoveTrustStoreRevocations, request, handler, context); + } + /** *

                                    Sets the type of IP addresses used by the subnets of the specified load * balancer.

                                    See Also:

                                    (Aws::Client::CoreErrors::SERVICE_EXTENSION_START_RANGE) + 1, AVAILABILITY_ZONE_NOT_SUPPORTED, A_L_P_N_POLICY_NOT_SUPPORTED, + CA_CERTIFICATES_BUNDLE_NOT_FOUND, CERTIFICATE_NOT_FOUND, DUPLICATE_LISTENER, DUPLICATE_LOAD_BALANCER_NAME, DUPLICATE_TAG_KEYS, DUPLICATE_TARGET_GROUP_NAME, + DUPLICATE_TRUST_STORE_NAME, HEALTH_UNAVAILABLE, INCOMPATIBLE_PROTOCOLS, + INVALID_CA_CERTIFICATES_BUNDLE, INVALID_CONFIGURATION_REQUEST, INVALID_LOAD_BALANCER_ACTION, + INVALID_REVOCATION_CONTENT, INVALID_SCHEME, INVALID_SECURITY_GROUP, INVALID_SUBNET, @@ -68,6 +72,8 @@ enum class ElasticLoadBalancingv2Errors OPERATION_NOT_PERMITTED, PRIORITY_IN_USE, RESOURCE_IN_USE, + REVOCATION_CONTENT_NOT_FOUND, + REVOCATION_ID_NOT_FOUND, RULE_NOT_FOUND, SUBNET_NOT_FOUND, S_S_L_POLICY_NOT_FOUND, @@ -82,7 +88,12 @@ enum class ElasticLoadBalancingv2Errors TOO_MANY_TAGS, TOO_MANY_TARGETS, TOO_MANY_TARGET_GROUPS, + TOO_MANY_TRUST_STORES, + TOO_MANY_TRUST_STORE_REVOCATION_ENTRIES, TOO_MANY_UNIQUE_TARGET_GROUPS_PER_LOAD_BALANCER, + TRUST_STORE_IN_USE, + TRUST_STORE_NOT_FOUND, + TRUST_STORE_NOT_READY, UNSUPPORTED_PROTOCOL }; diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/ElasticLoadBalancingv2ServiceClientModel.h b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/ElasticLoadBalancingv2ServiceClientModel.h index a28746642f2..3c16a7d118e 100644 --- a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/ElasticLoadBalancingv2ServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/ElasticLoadBalancingv2ServiceClientModel.h @@ -20,14 +20,17 @@ /* Service model headers required in ElasticLoadBalancingv2Client header */ #include #include +#include #include #include #include #include +#include #include #include #include #include +#include #include #include #include @@ -40,14 +43,21 @@ #include #include #include +#include +#include +#include +#include +#include #include #include #include #include #include +#include #include #include #include +#include #include #include #include @@ -94,14 +104,17 @@ namespace Aws /* Service model forward declarations required in ElasticLoadBalancingv2Client header */ class AddListenerCertificatesRequest; class AddTagsRequest; + class AddTrustStoreRevocationsRequest; class CreateListenerRequest; class CreateLoadBalancerRequest; class CreateRuleRequest; class CreateTargetGroupRequest; + class CreateTrustStoreRequest; class DeleteListenerRequest; class DeleteLoadBalancerRequest; class DeleteRuleRequest; class DeleteTargetGroupRequest; + class DeleteTrustStoreRequest; class DeregisterTargetsRequest; class DescribeAccountLimitsRequest; class DescribeListenerCertificatesRequest; @@ -114,14 +127,21 @@ namespace Aws class DescribeTargetGroupAttributesRequest; class DescribeTargetGroupsRequest; class DescribeTargetHealthRequest; + class DescribeTrustStoreAssociationsRequest; + class DescribeTrustStoreRevocationsRequest; + class DescribeTrustStoresRequest; + class GetTrustStoreCaCertificatesBundleRequest; + class GetTrustStoreRevocationContentRequest; class ModifyListenerRequest; class ModifyLoadBalancerAttributesRequest; class ModifyRuleRequest; class ModifyTargetGroupRequest; class ModifyTargetGroupAttributesRequest; + class ModifyTrustStoreRequest; class RegisterTargetsRequest; class RemoveListenerCertificatesRequest; class RemoveTagsRequest; + class RemoveTrustStoreRevocationsRequest; class SetIpAddressTypeRequest; class SetRulePrioritiesRequest; class SetSecurityGroupsRequest; @@ -131,14 +151,17 @@ namespace Aws /* Service model Outcome class definitions */ typedef Aws::Utils::Outcome AddListenerCertificatesOutcome; typedef Aws::Utils::Outcome AddTagsOutcome; + typedef Aws::Utils::Outcome AddTrustStoreRevocationsOutcome; typedef Aws::Utils::Outcome CreateListenerOutcome; typedef Aws::Utils::Outcome CreateLoadBalancerOutcome; typedef Aws::Utils::Outcome CreateRuleOutcome; typedef Aws::Utils::Outcome CreateTargetGroupOutcome; + typedef Aws::Utils::Outcome CreateTrustStoreOutcome; typedef Aws::Utils::Outcome DeleteListenerOutcome; typedef Aws::Utils::Outcome DeleteLoadBalancerOutcome; typedef Aws::Utils::Outcome DeleteRuleOutcome; typedef Aws::Utils::Outcome DeleteTargetGroupOutcome; + typedef Aws::Utils::Outcome DeleteTrustStoreOutcome; typedef Aws::Utils::Outcome DeregisterTargetsOutcome; typedef Aws::Utils::Outcome DescribeAccountLimitsOutcome; typedef Aws::Utils::Outcome DescribeListenerCertificatesOutcome; @@ -151,14 +174,21 @@ namespace Aws typedef Aws::Utils::Outcome DescribeTargetGroupAttributesOutcome; typedef Aws::Utils::Outcome DescribeTargetGroupsOutcome; typedef Aws::Utils::Outcome DescribeTargetHealthOutcome; + typedef Aws::Utils::Outcome DescribeTrustStoreAssociationsOutcome; + typedef Aws::Utils::Outcome DescribeTrustStoreRevocationsOutcome; + typedef Aws::Utils::Outcome DescribeTrustStoresOutcome; + typedef Aws::Utils::Outcome GetTrustStoreCaCertificatesBundleOutcome; + typedef Aws::Utils::Outcome GetTrustStoreRevocationContentOutcome; typedef Aws::Utils::Outcome ModifyListenerOutcome; typedef Aws::Utils::Outcome ModifyLoadBalancerAttributesOutcome; typedef Aws::Utils::Outcome ModifyRuleOutcome; typedef Aws::Utils::Outcome ModifyTargetGroupOutcome; typedef Aws::Utils::Outcome ModifyTargetGroupAttributesOutcome; + typedef Aws::Utils::Outcome ModifyTrustStoreOutcome; typedef Aws::Utils::Outcome RegisterTargetsOutcome; typedef Aws::Utils::Outcome RemoveListenerCertificatesOutcome; typedef Aws::Utils::Outcome RemoveTagsOutcome; + typedef Aws::Utils::Outcome RemoveTrustStoreRevocationsOutcome; typedef Aws::Utils::Outcome SetIpAddressTypeOutcome; typedef Aws::Utils::Outcome SetRulePrioritiesOutcome; typedef Aws::Utils::Outcome SetSecurityGroupsOutcome; @@ -168,14 +198,17 @@ namespace Aws /* Service model Outcome callable definitions */ typedef std::future AddListenerCertificatesOutcomeCallable; typedef std::future AddTagsOutcomeCallable; + typedef std::future AddTrustStoreRevocationsOutcomeCallable; typedef std::future CreateListenerOutcomeCallable; typedef std::future CreateLoadBalancerOutcomeCallable; typedef std::future CreateRuleOutcomeCallable; typedef std::future CreateTargetGroupOutcomeCallable; + typedef std::future CreateTrustStoreOutcomeCallable; typedef std::future DeleteListenerOutcomeCallable; typedef std::future DeleteLoadBalancerOutcomeCallable; typedef std::future DeleteRuleOutcomeCallable; typedef std::future DeleteTargetGroupOutcomeCallable; + typedef std::future DeleteTrustStoreOutcomeCallable; typedef std::future DeregisterTargetsOutcomeCallable; typedef std::future DescribeAccountLimitsOutcomeCallable; typedef std::future DescribeListenerCertificatesOutcomeCallable; @@ -188,14 +221,21 @@ namespace Aws typedef std::future DescribeTargetGroupAttributesOutcomeCallable; typedef std::future DescribeTargetGroupsOutcomeCallable; typedef std::future DescribeTargetHealthOutcomeCallable; + typedef std::future DescribeTrustStoreAssociationsOutcomeCallable; + typedef std::future DescribeTrustStoreRevocationsOutcomeCallable; + typedef std::future DescribeTrustStoresOutcomeCallable; + typedef std::future GetTrustStoreCaCertificatesBundleOutcomeCallable; + typedef std::future GetTrustStoreRevocationContentOutcomeCallable; typedef std::future ModifyListenerOutcomeCallable; typedef std::future ModifyLoadBalancerAttributesOutcomeCallable; typedef std::future ModifyRuleOutcomeCallable; typedef std::future ModifyTargetGroupOutcomeCallable; typedef std::future ModifyTargetGroupAttributesOutcomeCallable; + typedef std::future ModifyTrustStoreOutcomeCallable; typedef std::future RegisterTargetsOutcomeCallable; typedef std::future RemoveListenerCertificatesOutcomeCallable; typedef std::future RemoveTagsOutcomeCallable; + typedef std::future RemoveTrustStoreRevocationsOutcomeCallable; typedef std::future SetIpAddressTypeOutcomeCallable; typedef std::future SetRulePrioritiesOutcomeCallable; typedef std::future SetSecurityGroupsOutcomeCallable; @@ -208,14 +248,17 @@ namespace Aws /* Service model async handlers definitions */ typedef std::function&) > AddListenerCertificatesResponseReceivedHandler; typedef std::function&) > AddTagsResponseReceivedHandler; + typedef std::function&) > AddTrustStoreRevocationsResponseReceivedHandler; typedef std::function&) > CreateListenerResponseReceivedHandler; typedef std::function&) > CreateLoadBalancerResponseReceivedHandler; typedef std::function&) > CreateRuleResponseReceivedHandler; typedef std::function&) > CreateTargetGroupResponseReceivedHandler; + typedef std::function&) > CreateTrustStoreResponseReceivedHandler; typedef std::function&) > DeleteListenerResponseReceivedHandler; typedef std::function&) > DeleteLoadBalancerResponseReceivedHandler; typedef std::function&) > DeleteRuleResponseReceivedHandler; typedef std::function&) > DeleteTargetGroupResponseReceivedHandler; + typedef std::function&) > DeleteTrustStoreResponseReceivedHandler; typedef std::function&) > DeregisterTargetsResponseReceivedHandler; typedef std::function&) > DescribeAccountLimitsResponseReceivedHandler; typedef std::function&) > DescribeListenerCertificatesResponseReceivedHandler; @@ -228,14 +271,21 @@ namespace Aws typedef std::function&) > DescribeTargetGroupAttributesResponseReceivedHandler; typedef std::function&) > DescribeTargetGroupsResponseReceivedHandler; typedef std::function&) > DescribeTargetHealthResponseReceivedHandler; + typedef std::function&) > DescribeTrustStoreAssociationsResponseReceivedHandler; + typedef std::function&) > DescribeTrustStoreRevocationsResponseReceivedHandler; + typedef std::function&) > DescribeTrustStoresResponseReceivedHandler; + typedef std::function&) > GetTrustStoreCaCertificatesBundleResponseReceivedHandler; + typedef std::function&) > GetTrustStoreRevocationContentResponseReceivedHandler; typedef std::function&) > ModifyListenerResponseReceivedHandler; typedef std::function&) > ModifyLoadBalancerAttributesResponseReceivedHandler; typedef std::function&) > ModifyRuleResponseReceivedHandler; typedef std::function&) > ModifyTargetGroupResponseReceivedHandler; typedef std::function&) > ModifyTargetGroupAttributesResponseReceivedHandler; + typedef std::function&) > ModifyTrustStoreResponseReceivedHandler; typedef std::function&) > RegisterTargetsResponseReceivedHandler; typedef std::function&) > RemoveListenerCertificatesResponseReceivedHandler; typedef std::function&) > RemoveTagsResponseReceivedHandler; + typedef std::function&) > RemoveTrustStoreRevocationsResponseReceivedHandler; typedef std::function&) > SetIpAddressTypeResponseReceivedHandler; typedef std::function&) > SetRulePrioritiesResponseReceivedHandler; typedef std::function&) > SetSecurityGroupsResponseReceivedHandler; diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/AddTrustStoreRevocationsRequest.h b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/AddTrustStoreRevocationsRequest.h new file mode 100644 index 00000000000..9bc54f4b5cd --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/AddTrustStoreRevocationsRequest.h @@ -0,0 +1,133 @@ +/** + * 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 ElasticLoadBalancingv2 +{ +namespace Model +{ + + /** + */ + class AddTrustStoreRevocationsRequest : public ElasticLoadBalancingv2Request + { + public: + AWS_ELASTICLOADBALANCINGV2_API AddTrustStoreRevocationsRequest(); + + // 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 "AddTrustStoreRevocations"; } + + AWS_ELASTICLOADBALANCINGV2_API Aws::String SerializePayload() const override; + + protected: + AWS_ELASTICLOADBALANCINGV2_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + + /** + *

                                    The Amazon Resource Name (ARN) of the trust store.

                                    + */ + inline const Aws::String& GetTrustStoreArn() const{ return m_trustStoreArn; } + + /** + *

                                    The Amazon Resource Name (ARN) of the trust store.

                                    + */ + inline bool TrustStoreArnHasBeenSet() const { return m_trustStoreArnHasBeenSet; } + + /** + *

                                    The Amazon Resource Name (ARN) of the trust store.

                                    + */ + inline void SetTrustStoreArn(const Aws::String& value) { m_trustStoreArnHasBeenSet = true; m_trustStoreArn = value; } + + /** + *

                                    The Amazon Resource Name (ARN) of the trust store.

                                    + */ + inline void SetTrustStoreArn(Aws::String&& value) { m_trustStoreArnHasBeenSet = true; m_trustStoreArn = std::move(value); } + + /** + *

                                    The Amazon Resource Name (ARN) of the trust store.

                                    + */ + inline void SetTrustStoreArn(const char* value) { m_trustStoreArnHasBeenSet = true; m_trustStoreArn.assign(value); } + + /** + *

                                    The Amazon Resource Name (ARN) of the trust store.

                                    + */ + inline AddTrustStoreRevocationsRequest& WithTrustStoreArn(const Aws::String& value) { SetTrustStoreArn(value); return *this;} + + /** + *

                                    The Amazon Resource Name (ARN) of the trust store.

                                    + */ + inline AddTrustStoreRevocationsRequest& WithTrustStoreArn(Aws::String&& value) { SetTrustStoreArn(std::move(value)); return *this;} + + /** + *

                                    The Amazon Resource Name (ARN) of the trust store.

                                    + */ + inline AddTrustStoreRevocationsRequest& WithTrustStoreArn(const char* value) { SetTrustStoreArn(value); return *this;} + + + /** + *

                                    The revocation file to add.

                                    + */ + inline const Aws::Vector& GetRevocationContents() const{ return m_revocationContents; } + + /** + *

                                    The revocation file to add.

                                    + */ + inline bool RevocationContentsHasBeenSet() const { return m_revocationContentsHasBeenSet; } + + /** + *

                                    The revocation file to add.

                                    + */ + inline void SetRevocationContents(const Aws::Vector& value) { m_revocationContentsHasBeenSet = true; m_revocationContents = value; } + + /** + *

                                    The revocation file to add.

                                    + */ + inline void SetRevocationContents(Aws::Vector&& value) { m_revocationContentsHasBeenSet = true; m_revocationContents = std::move(value); } + + /** + *

                                    The revocation file to add.

                                    + */ + inline AddTrustStoreRevocationsRequest& WithRevocationContents(const Aws::Vector& value) { SetRevocationContents(value); return *this;} + + /** + *

                                    The revocation file to add.

                                    + */ + inline AddTrustStoreRevocationsRequest& WithRevocationContents(Aws::Vector&& value) { SetRevocationContents(std::move(value)); return *this;} + + /** + *

                                    The revocation file to add.

                                    + */ + inline AddTrustStoreRevocationsRequest& AddRevocationContents(const RevocationContent& value) { m_revocationContentsHasBeenSet = true; m_revocationContents.push_back(value); return *this; } + + /** + *

                                    The revocation file to add.

                                    + */ + inline AddTrustStoreRevocationsRequest& AddRevocationContents(RevocationContent&& value) { m_revocationContentsHasBeenSet = true; m_revocationContents.push_back(std::move(value)); return *this; } + + private: + + Aws::String m_trustStoreArn; + bool m_trustStoreArnHasBeenSet = false; + + Aws::Vector m_revocationContents; + bool m_revocationContentsHasBeenSet = false; + }; + +} // namespace Model +} // namespace ElasticLoadBalancingv2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/AddTrustStoreRevocationsResult.h b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/AddTrustStoreRevocationsResult.h new file mode 100644 index 00000000000..e319254dc84 --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/AddTrustStoreRevocationsResult.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 + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace ElasticLoadBalancingv2 +{ +namespace Model +{ + class AddTrustStoreRevocationsResult + { + public: + AWS_ELASTICLOADBALANCINGV2_API AddTrustStoreRevocationsResult(); + AWS_ELASTICLOADBALANCINGV2_API AddTrustStoreRevocationsResult(const Aws::AmazonWebServiceResult& result); + AWS_ELASTICLOADBALANCINGV2_API AddTrustStoreRevocationsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

                                    Information about the revocation file added to the trust store.

                                    + */ + inline const Aws::Vector& GetTrustStoreRevocations() const{ return m_trustStoreRevocations; } + + /** + *

                                    Information about the revocation file added to the trust store.

                                    + */ + inline void SetTrustStoreRevocations(const Aws::Vector& value) { m_trustStoreRevocations = value; } + + /** + *

                                    Information about the revocation file added to the trust store.

                                    + */ + inline void SetTrustStoreRevocations(Aws::Vector&& value) { m_trustStoreRevocations = std::move(value); } + + /** + *

                                    Information about the revocation file added to the trust store.

                                    + */ + inline AddTrustStoreRevocationsResult& WithTrustStoreRevocations(const Aws::Vector& value) { SetTrustStoreRevocations(value); return *this;} + + /** + *

                                    Information about the revocation file added to the trust store.

                                    + */ + inline AddTrustStoreRevocationsResult& WithTrustStoreRevocations(Aws::Vector&& value) { SetTrustStoreRevocations(std::move(value)); return *this;} + + /** + *

                                    Information about the revocation file added to the trust store.

                                    + */ + inline AddTrustStoreRevocationsResult& AddTrustStoreRevocations(const TrustStoreRevocation& value) { m_trustStoreRevocations.push_back(value); return *this; } + + /** + *

                                    Information about the revocation file added to the trust store.

                                    + */ + inline AddTrustStoreRevocationsResult& AddTrustStoreRevocations(TrustStoreRevocation&& value) { m_trustStoreRevocations.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 AddTrustStoreRevocationsResult& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} + + + inline AddTrustStoreRevocationsResult& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} + + private: + + Aws::Vector m_trustStoreRevocations; + + ResponseMetadata m_responseMetadata; + }; + +} // namespace Model +} // namespace ElasticLoadBalancingv2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/AnomalyDetection.h b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/AnomalyDetection.h new file mode 100644 index 00000000000..5b2cf33aece --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/AnomalyDetection.h @@ -0,0 +1,116 @@ +/** + * 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 ElasticLoadBalancingv2 +{ +namespace Model +{ + + /** + *

                                    Information about anomaly detection and mitigation.

                                    See Also:

                                    + *
                                    AWS + * API Reference

                                    + */ + class AnomalyDetection + { + public: + AWS_ELASTICLOADBALANCINGV2_API AnomalyDetection(); + AWS_ELASTICLOADBALANCINGV2_API AnomalyDetection(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_ELASTICLOADBALANCINGV2_API AnomalyDetection& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_ELASTICLOADBALANCINGV2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; + AWS_ELASTICLOADBALANCINGV2_API void OutputToStream(Aws::OStream& oStream, const char* location) const; + + + /** + *

                                    The latest anomaly detection result.

                                    + */ + inline const AnomalyResultEnum& GetResult() const{ return m_result; } + + /** + *

                                    The latest anomaly detection result.

                                    + */ + inline bool ResultHasBeenSet() const { return m_resultHasBeenSet; } + + /** + *

                                    The latest anomaly detection result.

                                    + */ + inline void SetResult(const AnomalyResultEnum& value) { m_resultHasBeenSet = true; m_result = value; } + + /** + *

                                    The latest anomaly detection result.

                                    + */ + inline void SetResult(AnomalyResultEnum&& value) { m_resultHasBeenSet = true; m_result = std::move(value); } + + /** + *

                                    The latest anomaly detection result.

                                    + */ + inline AnomalyDetection& WithResult(const AnomalyResultEnum& value) { SetResult(value); return *this;} + + /** + *

                                    The latest anomaly detection result.

                                    + */ + inline AnomalyDetection& WithResult(AnomalyResultEnum&& value) { SetResult(std::move(value)); return *this;} + + + /** + *

                                    Indicates whether anomaly mitigation is in progress.

                                    + */ + inline const MitigationInEffectEnum& GetMitigationInEffect() const{ return m_mitigationInEffect; } + + /** + *

                                    Indicates whether anomaly mitigation is in progress.

                                    + */ + inline bool MitigationInEffectHasBeenSet() const { return m_mitigationInEffectHasBeenSet; } + + /** + *

                                    Indicates whether anomaly mitigation is in progress.

                                    + */ + inline void SetMitigationInEffect(const MitigationInEffectEnum& value) { m_mitigationInEffectHasBeenSet = true; m_mitigationInEffect = value; } + + /** + *

                                    Indicates whether anomaly mitigation is in progress.

                                    + */ + inline void SetMitigationInEffect(MitigationInEffectEnum&& value) { m_mitigationInEffectHasBeenSet = true; m_mitigationInEffect = std::move(value); } + + /** + *

                                    Indicates whether anomaly mitigation is in progress.

                                    + */ + inline AnomalyDetection& WithMitigationInEffect(const MitigationInEffectEnum& value) { SetMitigationInEffect(value); return *this;} + + /** + *

                                    Indicates whether anomaly mitigation is in progress.

                                    + */ + inline AnomalyDetection& WithMitigationInEffect(MitigationInEffectEnum&& value) { SetMitigationInEffect(std::move(value)); return *this;} + + private: + + AnomalyResultEnum m_result; + bool m_resultHasBeenSet = false; + + MitigationInEffectEnum m_mitigationInEffect; + bool m_mitigationInEffectHasBeenSet = false; + }; + +} // namespace Model +} // namespace ElasticLoadBalancingv2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/AnomalyResultEnum.h b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/AnomalyResultEnum.h new file mode 100644 index 00000000000..3ecf3df1dfe --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/AnomalyResultEnum.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 ElasticLoadBalancingv2 +{ +namespace Model +{ + enum class AnomalyResultEnum + { + NOT_SET, + anomalous, + normal + }; + +namespace AnomalyResultEnumMapper +{ +AWS_ELASTICLOADBALANCINGV2_API AnomalyResultEnum GetAnomalyResultEnumForName(const Aws::String& name); + +AWS_ELASTICLOADBALANCINGV2_API Aws::String GetNameForAnomalyResultEnum(AnomalyResultEnum value); +} // namespace AnomalyResultEnumMapper +} // namespace Model +} // namespace ElasticLoadBalancingv2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/CreateListenerRequest.h b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/CreateListenerRequest.h index 7c220a166a1..a53f28350f5 100644 --- a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/CreateListenerRequest.h +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/CreateListenerRequest.h @@ -9,6 +9,7 @@ #include #include #include +#include #include #include #include @@ -490,6 +491,37 @@ namespace Model */ inline CreateListenerRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } + + /** + *

                                    The mutual authentication configuration information.

                                    + */ + inline const MutualAuthenticationAttributes& GetMutualAuthentication() const{ return m_mutualAuthentication; } + + /** + *

                                    The mutual authentication configuration information.

                                    + */ + inline bool MutualAuthenticationHasBeenSet() const { return m_mutualAuthenticationHasBeenSet; } + + /** + *

                                    The mutual authentication configuration information.

                                    + */ + inline void SetMutualAuthentication(const MutualAuthenticationAttributes& value) { m_mutualAuthenticationHasBeenSet = true; m_mutualAuthentication = value; } + + /** + *

                                    The mutual authentication configuration information.

                                    + */ + inline void SetMutualAuthentication(MutualAuthenticationAttributes&& value) { m_mutualAuthenticationHasBeenSet = true; m_mutualAuthentication = std::move(value); } + + /** + *

                                    The mutual authentication configuration information.

                                    + */ + inline CreateListenerRequest& WithMutualAuthentication(const MutualAuthenticationAttributes& value) { SetMutualAuthentication(value); return *this;} + + /** + *

                                    The mutual authentication configuration information.

                                    + */ + inline CreateListenerRequest& WithMutualAuthentication(MutualAuthenticationAttributes&& value) { SetMutualAuthentication(std::move(value)); return *this;} + private: Aws::String m_loadBalancerArn; @@ -515,6 +547,9 @@ namespace Model Aws::Vector m_tags; bool m_tagsHasBeenSet = false; + + MutualAuthenticationAttributes m_mutualAuthentication; + bool m_mutualAuthenticationHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/CreateTrustStoreRequest.h b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/CreateTrustStoreRequest.h new file mode 100644 index 00000000000..fea5d1d6f86 --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/CreateTrustStoreRequest.h @@ -0,0 +1,281 @@ +/** + * 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 ElasticLoadBalancingv2 +{ +namespace Model +{ + + /** + */ + class CreateTrustStoreRequest : public ElasticLoadBalancingv2Request + { + public: + AWS_ELASTICLOADBALANCINGV2_API CreateTrustStoreRequest(); + + // 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 "CreateTrustStore"; } + + AWS_ELASTICLOADBALANCINGV2_API Aws::String SerializePayload() const override; + + protected: + AWS_ELASTICLOADBALANCINGV2_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + + /** + *

                                    The name of the trust store.

                                    This name must be unique per region and + * cannot be changed after creation.

                                    + */ + inline const Aws::String& GetName() const{ return m_name; } + + /** + *

                                    The name of the trust store.

                                    This name must be unique per region and + * cannot be changed after creation.

                                    + */ + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + + /** + *

                                    The name of the trust store.

                                    This name must be unique per region and + * cannot be changed after creation.

                                    + */ + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + + /** + *

                                    The name of the trust store.

                                    This name must be unique per region and + * cannot be changed after creation.

                                    + */ + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + + /** + *

                                    The name of the trust store.

                                    This name must be unique per region and + * cannot be changed after creation.

                                    + */ + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + + /** + *

                                    The name of the trust store.

                                    This name must be unique per region and + * cannot be changed after creation.

                                    + */ + inline CreateTrustStoreRequest& WithName(const Aws::String& value) { SetName(value); return *this;} + + /** + *

                                    The name of the trust store.

                                    This name must be unique per region and + * cannot be changed after creation.

                                    + */ + inline CreateTrustStoreRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + + /** + *

                                    The name of the trust store.

                                    This name must be unique per region and + * cannot be changed after creation.

                                    + */ + inline CreateTrustStoreRequest& WithName(const char* value) { SetName(value); return *this;} + + + /** + *

                                    The Amazon S3 bucket for the ca certificates bundle.

                                    + */ + inline const Aws::String& GetCaCertificatesBundleS3Bucket() const{ return m_caCertificatesBundleS3Bucket; } + + /** + *

                                    The Amazon S3 bucket for the ca certificates bundle.

                                    + */ + inline bool CaCertificatesBundleS3BucketHasBeenSet() const { return m_caCertificatesBundleS3BucketHasBeenSet; } + + /** + *

                                    The Amazon S3 bucket for the ca certificates bundle.

                                    + */ + inline void SetCaCertificatesBundleS3Bucket(const Aws::String& value) { m_caCertificatesBundleS3BucketHasBeenSet = true; m_caCertificatesBundleS3Bucket = value; } + + /** + *

                                    The Amazon S3 bucket for the ca certificates bundle.

                                    + */ + inline void SetCaCertificatesBundleS3Bucket(Aws::String&& value) { m_caCertificatesBundleS3BucketHasBeenSet = true; m_caCertificatesBundleS3Bucket = std::move(value); } + + /** + *

                                    The Amazon S3 bucket for the ca certificates bundle.

                                    + */ + inline void SetCaCertificatesBundleS3Bucket(const char* value) { m_caCertificatesBundleS3BucketHasBeenSet = true; m_caCertificatesBundleS3Bucket.assign(value); } + + /** + *

                                    The Amazon S3 bucket for the ca certificates bundle.

                                    + */ + inline CreateTrustStoreRequest& WithCaCertificatesBundleS3Bucket(const Aws::String& value) { SetCaCertificatesBundleS3Bucket(value); return *this;} + + /** + *

                                    The Amazon S3 bucket for the ca certificates bundle.

                                    + */ + inline CreateTrustStoreRequest& WithCaCertificatesBundleS3Bucket(Aws::String&& value) { SetCaCertificatesBundleS3Bucket(std::move(value)); return *this;} + + /** + *

                                    The Amazon S3 bucket for the ca certificates bundle.

                                    + */ + inline CreateTrustStoreRequest& WithCaCertificatesBundleS3Bucket(const char* value) { SetCaCertificatesBundleS3Bucket(value); return *this;} + + + /** + *

                                    The Amazon S3 path for the ca certificates bundle.

                                    + */ + inline const Aws::String& GetCaCertificatesBundleS3Key() const{ return m_caCertificatesBundleS3Key; } + + /** + *

                                    The Amazon S3 path for the ca certificates bundle.

                                    + */ + inline bool CaCertificatesBundleS3KeyHasBeenSet() const { return m_caCertificatesBundleS3KeyHasBeenSet; } + + /** + *

                                    The Amazon S3 path for the ca certificates bundle.

                                    + */ + inline void SetCaCertificatesBundleS3Key(const Aws::String& value) { m_caCertificatesBundleS3KeyHasBeenSet = true; m_caCertificatesBundleS3Key = value; } + + /** + *

                                    The Amazon S3 path for the ca certificates bundle.

                                    + */ + inline void SetCaCertificatesBundleS3Key(Aws::String&& value) { m_caCertificatesBundleS3KeyHasBeenSet = true; m_caCertificatesBundleS3Key = std::move(value); } + + /** + *

                                    The Amazon S3 path for the ca certificates bundle.

                                    + */ + inline void SetCaCertificatesBundleS3Key(const char* value) { m_caCertificatesBundleS3KeyHasBeenSet = true; m_caCertificatesBundleS3Key.assign(value); } + + /** + *

                                    The Amazon S3 path for the ca certificates bundle.

                                    + */ + inline CreateTrustStoreRequest& WithCaCertificatesBundleS3Key(const Aws::String& value) { SetCaCertificatesBundleS3Key(value); return *this;} + + /** + *

                                    The Amazon S3 path for the ca certificates bundle.

                                    + */ + inline CreateTrustStoreRequest& WithCaCertificatesBundleS3Key(Aws::String&& value) { SetCaCertificatesBundleS3Key(std::move(value)); return *this;} + + /** + *

                                    The Amazon S3 path for the ca certificates bundle.

                                    + */ + inline CreateTrustStoreRequest& WithCaCertificatesBundleS3Key(const char* value) { SetCaCertificatesBundleS3Key(value); return *this;} + + + /** + *

                                    The Amazon S3 object version for the ca certificates bundle. If undefined the + * current version is used.

                                    + */ + inline const Aws::String& GetCaCertificatesBundleS3ObjectVersion() const{ return m_caCertificatesBundleS3ObjectVersion; } + + /** + *

                                    The Amazon S3 object version for the ca certificates bundle. If undefined the + * current version is used.

                                    + */ + inline bool CaCertificatesBundleS3ObjectVersionHasBeenSet() const { return m_caCertificatesBundleS3ObjectVersionHasBeenSet; } + + /** + *

                                    The Amazon S3 object version for the ca certificates bundle. If undefined the + * current version is used.

                                    + */ + inline void SetCaCertificatesBundleS3ObjectVersion(const Aws::String& value) { m_caCertificatesBundleS3ObjectVersionHasBeenSet = true; m_caCertificatesBundleS3ObjectVersion = value; } + + /** + *

                                    The Amazon S3 object version for the ca certificates bundle. If undefined the + * current version is used.

                                    + */ + inline void SetCaCertificatesBundleS3ObjectVersion(Aws::String&& value) { m_caCertificatesBundleS3ObjectVersionHasBeenSet = true; m_caCertificatesBundleS3ObjectVersion = std::move(value); } + + /** + *

                                    The Amazon S3 object version for the ca certificates bundle. If undefined the + * current version is used.

                                    + */ + inline void SetCaCertificatesBundleS3ObjectVersion(const char* value) { m_caCertificatesBundleS3ObjectVersionHasBeenSet = true; m_caCertificatesBundleS3ObjectVersion.assign(value); } + + /** + *

                                    The Amazon S3 object version for the ca certificates bundle. If undefined the + * current version is used.

                                    + */ + inline CreateTrustStoreRequest& WithCaCertificatesBundleS3ObjectVersion(const Aws::String& value) { SetCaCertificatesBundleS3ObjectVersion(value); return *this;} + + /** + *

                                    The Amazon S3 object version for the ca certificates bundle. If undefined the + * current version is used.

                                    + */ + inline CreateTrustStoreRequest& WithCaCertificatesBundleS3ObjectVersion(Aws::String&& value) { SetCaCertificatesBundleS3ObjectVersion(std::move(value)); return *this;} + + /** + *

                                    The Amazon S3 object version for the ca certificates bundle. If undefined the + * current version is used.

                                    + */ + inline CreateTrustStoreRequest& WithCaCertificatesBundleS3ObjectVersion(const char* value) { SetCaCertificatesBundleS3ObjectVersion(value); return *this;} + + + /** + *

                                    The tags to assign to the trust store.

                                    + */ + inline const Aws::Vector& GetTags() const{ return m_tags; } + + /** + *

                                    The tags to assign to the trust store.

                                    + */ + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + + /** + *

                                    The tags to assign to the trust store.

                                    + */ + inline void SetTags(const Aws::Vector& value) { m_tagsHasBeenSet = true; m_tags = value; } + + /** + *

                                    The tags to assign to the trust store.

                                    + */ + inline void SetTags(Aws::Vector&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } + + /** + *

                                    The tags to assign to the trust store.

                                    + */ + inline CreateTrustStoreRequest& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} + + /** + *

                                    The tags to assign to the trust store.

                                    + */ + inline CreateTrustStoreRequest& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} + + /** + *

                                    The tags to assign to the trust store.

                                    + */ + inline CreateTrustStoreRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } + + /** + *

                                    The tags to assign to the trust store.

                                    + */ + inline CreateTrustStoreRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } + + private: + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::String m_caCertificatesBundleS3Bucket; + bool m_caCertificatesBundleS3BucketHasBeenSet = false; + + Aws::String m_caCertificatesBundleS3Key; + bool m_caCertificatesBundleS3KeyHasBeenSet = false; + + Aws::String m_caCertificatesBundleS3ObjectVersion; + bool m_caCertificatesBundleS3ObjectVersionHasBeenSet = false; + + Aws::Vector m_tags; + bool m_tagsHasBeenSet = false; + }; + +} // namespace Model +} // namespace ElasticLoadBalancingv2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/CreateTrustStoreResult.h b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/CreateTrustStoreResult.h new file mode 100644 index 00000000000..ba7af9493a5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/CreateTrustStoreResult.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 + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace ElasticLoadBalancingv2 +{ +namespace Model +{ + class CreateTrustStoreResult + { + public: + AWS_ELASTICLOADBALANCINGV2_API CreateTrustStoreResult(); + AWS_ELASTICLOADBALANCINGV2_API CreateTrustStoreResult(const Aws::AmazonWebServiceResult& result); + AWS_ELASTICLOADBALANCINGV2_API CreateTrustStoreResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

                                    Information about the trust store created.

                                    + */ + inline const Aws::Vector& GetTrustStores() const{ return m_trustStores; } + + /** + *

                                    Information about the trust store created.

                                    + */ + inline void SetTrustStores(const Aws::Vector& value) { m_trustStores = value; } + + /** + *

                                    Information about the trust store created.

                                    + */ + inline void SetTrustStores(Aws::Vector&& value) { m_trustStores = std::move(value); } + + /** + *

                                    Information about the trust store created.

                                    + */ + inline CreateTrustStoreResult& WithTrustStores(const Aws::Vector& value) { SetTrustStores(value); return *this;} + + /** + *

                                    Information about the trust store created.

                                    + */ + inline CreateTrustStoreResult& WithTrustStores(Aws::Vector&& value) { SetTrustStores(std::move(value)); return *this;} + + /** + *

                                    Information about the trust store created.

                                    + */ + inline CreateTrustStoreResult& AddTrustStores(const TrustStore& value) { m_trustStores.push_back(value); return *this; } + + /** + *

                                    Information about the trust store created.

                                    + */ + inline CreateTrustStoreResult& AddTrustStores(TrustStore&& value) { m_trustStores.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 CreateTrustStoreResult& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} + + + inline CreateTrustStoreResult& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} + + private: + + Aws::Vector m_trustStores; + + ResponseMetadata m_responseMetadata; + }; + +} // namespace Model +} // namespace ElasticLoadBalancingv2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/DeleteTrustStoreRequest.h b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/DeleteTrustStoreRequest.h new file mode 100644 index 00000000000..642fb5b9d06 --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/DeleteTrustStoreRequest.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 + +namespace Aws +{ +namespace ElasticLoadBalancingv2 +{ +namespace Model +{ + + /** + */ + class DeleteTrustStoreRequest : public ElasticLoadBalancingv2Request + { + public: + AWS_ELASTICLOADBALANCINGV2_API DeleteTrustStoreRequest(); + + // 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 "DeleteTrustStore"; } + + AWS_ELASTICLOADBALANCINGV2_API Aws::String SerializePayload() const override; + + protected: + AWS_ELASTICLOADBALANCINGV2_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + + /** + *

                                    The Amazon Resource Name (ARN) of the trust store.

                                    + */ + inline const Aws::String& GetTrustStoreArn() const{ return m_trustStoreArn; } + + /** + *

                                    The Amazon Resource Name (ARN) of the trust store.

                                    + */ + inline bool TrustStoreArnHasBeenSet() const { return m_trustStoreArnHasBeenSet; } + + /** + *

                                    The Amazon Resource Name (ARN) of the trust store.

                                    + */ + inline void SetTrustStoreArn(const Aws::String& value) { m_trustStoreArnHasBeenSet = true; m_trustStoreArn = value; } + + /** + *

                                    The Amazon Resource Name (ARN) of the trust store.

                                    + */ + inline void SetTrustStoreArn(Aws::String&& value) { m_trustStoreArnHasBeenSet = true; m_trustStoreArn = std::move(value); } + + /** + *

                                    The Amazon Resource Name (ARN) of the trust store.

                                    + */ + inline void SetTrustStoreArn(const char* value) { m_trustStoreArnHasBeenSet = true; m_trustStoreArn.assign(value); } + + /** + *

                                    The Amazon Resource Name (ARN) of the trust store.

                                    + */ + inline DeleteTrustStoreRequest& WithTrustStoreArn(const Aws::String& value) { SetTrustStoreArn(value); return *this;} + + /** + *

                                    The Amazon Resource Name (ARN) of the trust store.

                                    + */ + inline DeleteTrustStoreRequest& WithTrustStoreArn(Aws::String&& value) { SetTrustStoreArn(std::move(value)); return *this;} + + /** + *

                                    The Amazon Resource Name (ARN) of the trust store.

                                    + */ + inline DeleteTrustStoreRequest& WithTrustStoreArn(const char* value) { SetTrustStoreArn(value); return *this;} + + private: + + Aws::String m_trustStoreArn; + bool m_trustStoreArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace ElasticLoadBalancingv2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/DeleteTrustStoreResult.h b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/DeleteTrustStoreResult.h new file mode 100644 index 00000000000..ad46591fa67 --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/DeleteTrustStoreResult.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 + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace ElasticLoadBalancingv2 +{ +namespace Model +{ + class DeleteTrustStoreResult + { + public: + AWS_ELASTICLOADBALANCINGV2_API DeleteTrustStoreResult(); + AWS_ELASTICLOADBALANCINGV2_API DeleteTrustStoreResult(const Aws::AmazonWebServiceResult& result); + AWS_ELASTICLOADBALANCINGV2_API DeleteTrustStoreResult& 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 DeleteTrustStoreResult& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} + + + inline DeleteTrustStoreResult& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} + + private: + + ResponseMetadata m_responseMetadata; + }; + +} // namespace Model +} // namespace ElasticLoadBalancingv2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/DescribeTargetHealthInputIncludeEnum.h b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/DescribeTargetHealthInputIncludeEnum.h new file mode 100644 index 00000000000..d1111292172 --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/DescribeTargetHealthInputIncludeEnum.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 ElasticLoadBalancingv2 +{ +namespace Model +{ + enum class DescribeTargetHealthInputIncludeEnum + { + NOT_SET, + AnomalyDetection, + All + }; + +namespace DescribeTargetHealthInputIncludeEnumMapper +{ +AWS_ELASTICLOADBALANCINGV2_API DescribeTargetHealthInputIncludeEnum GetDescribeTargetHealthInputIncludeEnumForName(const Aws::String& name); + +AWS_ELASTICLOADBALANCINGV2_API Aws::String GetNameForDescribeTargetHealthInputIncludeEnum(DescribeTargetHealthInputIncludeEnum value); +} // namespace DescribeTargetHealthInputIncludeEnumMapper +} // namespace Model +} // namespace ElasticLoadBalancingv2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/DescribeTargetHealthRequest.h b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/DescribeTargetHealthRequest.h index 02cd54992a0..0e4b3a0288f 100644 --- a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/DescribeTargetHealthRequest.h +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/DescribeTargetHealthRequest.h @@ -9,6 +9,7 @@ #include #include #include +#include #include namespace Aws @@ -119,6 +120,47 @@ namespace Model */ inline DescribeTargetHealthRequest& AddTargets(TargetDescription&& value) { m_targetsHasBeenSet = true; m_targets.push_back(std::move(value)); return *this; } + + /** + *

                                    Used to inclue anomaly detection information.

                                    + */ + inline const Aws::Vector& GetInclude() const{ return m_include; } + + /** + *

                                    Used to inclue anomaly detection information.

                                    + */ + inline bool IncludeHasBeenSet() const { return m_includeHasBeenSet; } + + /** + *

                                    Used to inclue anomaly detection information.

                                    + */ + inline void SetInclude(const Aws::Vector& value) { m_includeHasBeenSet = true; m_include = value; } + + /** + *

                                    Used to inclue anomaly detection information.

                                    + */ + inline void SetInclude(Aws::Vector&& value) { m_includeHasBeenSet = true; m_include = std::move(value); } + + /** + *

                                    Used to inclue anomaly detection information.

                                    + */ + inline DescribeTargetHealthRequest& WithInclude(const Aws::Vector& value) { SetInclude(value); return *this;} + + /** + *

                                    Used to inclue anomaly detection information.

                                    + */ + inline DescribeTargetHealthRequest& WithInclude(Aws::Vector&& value) { SetInclude(std::move(value)); return *this;} + + /** + *

                                    Used to inclue anomaly detection information.

                                    + */ + inline DescribeTargetHealthRequest& AddInclude(const DescribeTargetHealthInputIncludeEnum& value) { m_includeHasBeenSet = true; m_include.push_back(value); return *this; } + + /** + *

                                    Used to inclue anomaly detection information.

                                    + */ + inline DescribeTargetHealthRequest& AddInclude(DescribeTargetHealthInputIncludeEnum&& value) { m_includeHasBeenSet = true; m_include.push_back(std::move(value)); return *this; } + private: Aws::String m_targetGroupArn; @@ -126,6 +168,9 @@ namespace Model Aws::Vector m_targets; bool m_targetsHasBeenSet = false; + + Aws::Vector m_include; + bool m_includeHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/DescribeTrustStoreAssociationsRequest.h b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/DescribeTrustStoreAssociationsRequest.h new file mode 100644 index 00000000000..5d86191623f --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/DescribeTrustStoreAssociationsRequest.h @@ -0,0 +1,163 @@ +/** + * 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 ElasticLoadBalancingv2 +{ +namespace Model +{ + + /** + */ + class DescribeTrustStoreAssociationsRequest : public ElasticLoadBalancingv2Request + { + public: + AWS_ELASTICLOADBALANCINGV2_API DescribeTrustStoreAssociationsRequest(); + + // 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 "DescribeTrustStoreAssociations"; } + + AWS_ELASTICLOADBALANCINGV2_API Aws::String SerializePayload() const override; + + protected: + AWS_ELASTICLOADBALANCINGV2_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + + /** + *

                                    The Amazon Resource Name (ARN) of the trust store.

                                    + */ + inline const Aws::String& GetTrustStoreArn() const{ return m_trustStoreArn; } + + /** + *

                                    The Amazon Resource Name (ARN) of the trust store.

                                    + */ + inline bool TrustStoreArnHasBeenSet() const { return m_trustStoreArnHasBeenSet; } + + /** + *

                                    The Amazon Resource Name (ARN) of the trust store.

                                    + */ + inline void SetTrustStoreArn(const Aws::String& value) { m_trustStoreArnHasBeenSet = true; m_trustStoreArn = value; } + + /** + *

                                    The Amazon Resource Name (ARN) of the trust store.

                                    + */ + inline void SetTrustStoreArn(Aws::String&& value) { m_trustStoreArnHasBeenSet = true; m_trustStoreArn = std::move(value); } + + /** + *

                                    The Amazon Resource Name (ARN) of the trust store.

                                    + */ + inline void SetTrustStoreArn(const char* value) { m_trustStoreArnHasBeenSet = true; m_trustStoreArn.assign(value); } + + /** + *

                                    The Amazon Resource Name (ARN) of the trust store.

                                    + */ + inline DescribeTrustStoreAssociationsRequest& WithTrustStoreArn(const Aws::String& value) { SetTrustStoreArn(value); return *this;} + + /** + *

                                    The Amazon Resource Name (ARN) of the trust store.

                                    + */ + inline DescribeTrustStoreAssociationsRequest& WithTrustStoreArn(Aws::String&& value) { SetTrustStoreArn(std::move(value)); return *this;} + + /** + *

                                    The Amazon Resource Name (ARN) of the trust store.

                                    + */ + inline DescribeTrustStoreAssociationsRequest& WithTrustStoreArn(const char* value) { SetTrustStoreArn(value); return *this;} + + + /** + *

                                    The marker for the next set of results. (You received this marker from a + * previous call.)

                                    + */ + inline const Aws::String& GetMarker() const{ return m_marker; } + + /** + *

                                    The marker for the next set of results. (You received this marker from a + * previous call.)

                                    + */ + inline bool MarkerHasBeenSet() const { return m_markerHasBeenSet; } + + /** + *

                                    The marker for the next set of results. (You received this marker from a + * previous call.)

                                    + */ + inline void SetMarker(const Aws::String& value) { m_markerHasBeenSet = true; m_marker = value; } + + /** + *

                                    The marker for the next set of results. (You received this marker from a + * previous call.)

                                    + */ + inline void SetMarker(Aws::String&& value) { m_markerHasBeenSet = true; m_marker = std::move(value); } + + /** + *

                                    The marker for the next set of results. (You received this marker from a + * previous call.)

                                    + */ + inline void SetMarker(const char* value) { m_markerHasBeenSet = true; m_marker.assign(value); } + + /** + *

                                    The marker for the next set of results. (You received this marker from a + * previous call.)

                                    + */ + inline DescribeTrustStoreAssociationsRequest& WithMarker(const Aws::String& value) { SetMarker(value); return *this;} + + /** + *

                                    The marker for the next set of results. (You received this marker from a + * previous call.)

                                    + */ + inline DescribeTrustStoreAssociationsRequest& WithMarker(Aws::String&& value) { SetMarker(std::move(value)); return *this;} + + /** + *

                                    The marker for the next set of results. (You received this marker from a + * previous call.)

                                    + */ + inline DescribeTrustStoreAssociationsRequest& WithMarker(const char* value) { SetMarker(value); return *this;} + + + /** + *

                                    The maximum number of results to return with this call.

                                    + */ + inline int GetPageSize() const{ return m_pageSize; } + + /** + *

                                    The maximum number of results to return with this call.

                                    + */ + inline bool PageSizeHasBeenSet() const { return m_pageSizeHasBeenSet; } + + /** + *

                                    The maximum number of results to return with this call.

                                    + */ + inline void SetPageSize(int value) { m_pageSizeHasBeenSet = true; m_pageSize = value; } + + /** + *

                                    The maximum number of results to return with this call.

                                    + */ + inline DescribeTrustStoreAssociationsRequest& WithPageSize(int value) { SetPageSize(value); return *this;} + + private: + + Aws::String m_trustStoreArn; + bool m_trustStoreArnHasBeenSet = false; + + Aws::String m_marker; + bool m_markerHasBeenSet = false; + + int m_pageSize; + bool m_pageSizeHasBeenSet = false; + }; + +} // namespace Model +} // namespace ElasticLoadBalancingv2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/DescribeTrustStoreAssociationsResult.h b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/DescribeTrustStoreAssociationsResult.h new file mode 100644 index 00000000000..211e3af7c3c --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/DescribeTrustStoreAssociationsResult.h @@ -0,0 +1,143 @@ +/** + * 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 ElasticLoadBalancingv2 +{ +namespace Model +{ + class DescribeTrustStoreAssociationsResult + { + public: + AWS_ELASTICLOADBALANCINGV2_API DescribeTrustStoreAssociationsResult(); + AWS_ELASTICLOADBALANCINGV2_API DescribeTrustStoreAssociationsResult(const Aws::AmazonWebServiceResult& result); + AWS_ELASTICLOADBALANCINGV2_API DescribeTrustStoreAssociationsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

                                    Information about the resources the trust store is associated to.

                                    + */ + inline const Aws::Vector& GetTrustStoreAssociations() const{ return m_trustStoreAssociations; } + + /** + *

                                    Information about the resources the trust store is associated to.

                                    + */ + inline void SetTrustStoreAssociations(const Aws::Vector& value) { m_trustStoreAssociations = value; } + + /** + *

                                    Information about the resources the trust store is associated to.

                                    + */ + inline void SetTrustStoreAssociations(Aws::Vector&& value) { m_trustStoreAssociations = std::move(value); } + + /** + *

                                    Information about the resources the trust store is associated to.

                                    + */ + inline DescribeTrustStoreAssociationsResult& WithTrustStoreAssociations(const Aws::Vector& value) { SetTrustStoreAssociations(value); return *this;} + + /** + *

                                    Information about the resources the trust store is associated to.

                                    + */ + inline DescribeTrustStoreAssociationsResult& WithTrustStoreAssociations(Aws::Vector&& value) { SetTrustStoreAssociations(std::move(value)); return *this;} + + /** + *

                                    Information about the resources the trust store is associated to.

                                    + */ + inline DescribeTrustStoreAssociationsResult& AddTrustStoreAssociations(const TrustStoreAssociation& value) { m_trustStoreAssociations.push_back(value); return *this; } + + /** + *

                                    Information about the resources the trust store is associated to.

                                    + */ + inline DescribeTrustStoreAssociationsResult& AddTrustStoreAssociations(TrustStoreAssociation&& value) { m_trustStoreAssociations.push_back(std::move(value)); return *this; } + + + /** + *

                                    If there are additional results, this is the marker for the next set of + * results. Otherwise, this is null.

                                    + */ + inline const Aws::String& GetNextMarker() const{ return m_nextMarker; } + + /** + *

                                    If there are additional results, this is the marker for the next set of + * results. Otherwise, this is null.

                                    + */ + inline void SetNextMarker(const Aws::String& value) { m_nextMarker = value; } + + /** + *

                                    If there are additional results, this is the marker for the next set of + * results. Otherwise, this is null.

                                    + */ + inline void SetNextMarker(Aws::String&& value) { m_nextMarker = std::move(value); } + + /** + *

                                    If there are additional results, this is the marker for the next set of + * results. Otherwise, this is null.

                                    + */ + inline void SetNextMarker(const char* value) { m_nextMarker.assign(value); } + + /** + *

                                    If there are additional results, this is the marker for the next set of + * results. Otherwise, this is null.

                                    + */ + inline DescribeTrustStoreAssociationsResult& WithNextMarker(const Aws::String& value) { SetNextMarker(value); return *this;} + + /** + *

                                    If there are additional results, this is the marker for the next set of + * results. Otherwise, this is null.

                                    + */ + inline DescribeTrustStoreAssociationsResult& WithNextMarker(Aws::String&& value) { SetNextMarker(std::move(value)); return *this;} + + /** + *

                                    If there are additional results, this is the marker for the next set of + * results. Otherwise, this is null.

                                    + */ + inline DescribeTrustStoreAssociationsResult& WithNextMarker(const char* value) { SetNextMarker(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 DescribeTrustStoreAssociationsResult& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} + + + inline DescribeTrustStoreAssociationsResult& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} + + private: + + Aws::Vector m_trustStoreAssociations; + + Aws::String m_nextMarker; + + ResponseMetadata m_responseMetadata; + }; + +} // namespace Model +} // namespace ElasticLoadBalancingv2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/DescribeTrustStoreRevocation.h b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/DescribeTrustStoreRevocation.h new file mode 100644 index 00000000000..176eebe091b --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/DescribeTrustStoreRevocation.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 +#include + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace ElasticLoadBalancingv2 +{ +namespace Model +{ + + /** + *

                                    Information about the revocations used by a trust store.

                                    See + * Also:

                                    AWS + * API Reference

                                    + */ + class DescribeTrustStoreRevocation + { + public: + AWS_ELASTICLOADBALANCINGV2_API DescribeTrustStoreRevocation(); + AWS_ELASTICLOADBALANCINGV2_API DescribeTrustStoreRevocation(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_ELASTICLOADBALANCINGV2_API DescribeTrustStoreRevocation& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_ELASTICLOADBALANCINGV2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; + AWS_ELASTICLOADBALANCINGV2_API void OutputToStream(Aws::OStream& oStream, const char* location) const; + + + /** + *

                                    The Amazon Resource Name (ARN) of the trust store.

                                    + */ + inline const Aws::String& GetTrustStoreArn() const{ return m_trustStoreArn; } + + /** + *

                                    The Amazon Resource Name (ARN) of the trust store.

                                    + */ + inline bool TrustStoreArnHasBeenSet() const { return m_trustStoreArnHasBeenSet; } + + /** + *

                                    The Amazon Resource Name (ARN) of the trust store.

                                    + */ + inline void SetTrustStoreArn(const Aws::String& value) { m_trustStoreArnHasBeenSet = true; m_trustStoreArn = value; } + + /** + *

                                    The Amazon Resource Name (ARN) of the trust store.

                                    + */ + inline void SetTrustStoreArn(Aws::String&& value) { m_trustStoreArnHasBeenSet = true; m_trustStoreArn = std::move(value); } + + /** + *

                                    The Amazon Resource Name (ARN) of the trust store.

                                    + */ + inline void SetTrustStoreArn(const char* value) { m_trustStoreArnHasBeenSet = true; m_trustStoreArn.assign(value); } + + /** + *

                                    The Amazon Resource Name (ARN) of the trust store.

                                    + */ + inline DescribeTrustStoreRevocation& WithTrustStoreArn(const Aws::String& value) { SetTrustStoreArn(value); return *this;} + + /** + *

                                    The Amazon Resource Name (ARN) of the trust store.

                                    + */ + inline DescribeTrustStoreRevocation& WithTrustStoreArn(Aws::String&& value) { SetTrustStoreArn(std::move(value)); return *this;} + + /** + *

                                    The Amazon Resource Name (ARN) of the trust store.

                                    + */ + inline DescribeTrustStoreRevocation& WithTrustStoreArn(const char* value) { SetTrustStoreArn(value); return *this;} + + + /** + *

                                    The revocation ID of a revocation file in use.

                                    + */ + inline long long GetRevocationId() const{ return m_revocationId; } + + /** + *

                                    The revocation ID of a revocation file in use.

                                    + */ + inline bool RevocationIdHasBeenSet() const { return m_revocationIdHasBeenSet; } + + /** + *

                                    The revocation ID of a revocation file in use.

                                    + */ + inline void SetRevocationId(long long value) { m_revocationIdHasBeenSet = true; m_revocationId = value; } + + /** + *

                                    The revocation ID of a revocation file in use.

                                    + */ + inline DescribeTrustStoreRevocation& WithRevocationId(long long value) { SetRevocationId(value); return *this;} + + + /** + *

                                    The type of revocation file.

                                    + */ + inline const RevocationType& GetRevocationType() const{ return m_revocationType; } + + /** + *

                                    The type of revocation file.

                                    + */ + inline bool RevocationTypeHasBeenSet() const { return m_revocationTypeHasBeenSet; } + + /** + *

                                    The type of revocation file.

                                    + */ + inline void SetRevocationType(const RevocationType& value) { m_revocationTypeHasBeenSet = true; m_revocationType = value; } + + /** + *

                                    The type of revocation file.

                                    + */ + inline void SetRevocationType(RevocationType&& value) { m_revocationTypeHasBeenSet = true; m_revocationType = std::move(value); } + + /** + *

                                    The type of revocation file.

                                    + */ + inline DescribeTrustStoreRevocation& WithRevocationType(const RevocationType& value) { SetRevocationType(value); return *this;} + + /** + *

                                    The type of revocation file.

                                    + */ + inline DescribeTrustStoreRevocation& WithRevocationType(RevocationType&& value) { SetRevocationType(std::move(value)); return *this;} + + + /** + *

                                    The number of revoked certificates.

                                    + */ + inline long long GetNumberOfRevokedEntries() const{ return m_numberOfRevokedEntries; } + + /** + *

                                    The number of revoked certificates.

                                    + */ + inline bool NumberOfRevokedEntriesHasBeenSet() const { return m_numberOfRevokedEntriesHasBeenSet; } + + /** + *

                                    The number of revoked certificates.

                                    + */ + inline void SetNumberOfRevokedEntries(long long value) { m_numberOfRevokedEntriesHasBeenSet = true; m_numberOfRevokedEntries = value; } + + /** + *

                                    The number of revoked certificates.

                                    + */ + inline DescribeTrustStoreRevocation& WithNumberOfRevokedEntries(long long value) { SetNumberOfRevokedEntries(value); return *this;} + + private: + + Aws::String m_trustStoreArn; + bool m_trustStoreArnHasBeenSet = false; + + long long m_revocationId; + bool m_revocationIdHasBeenSet = false; + + RevocationType m_revocationType; + bool m_revocationTypeHasBeenSet = false; + + long long m_numberOfRevokedEntries; + bool m_numberOfRevokedEntriesHasBeenSet = false; + }; + +} // namespace Model +} // namespace ElasticLoadBalancingv2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/DescribeTrustStoreRevocationsRequest.h b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/DescribeTrustStoreRevocationsRequest.h new file mode 100644 index 00000000000..7932e6cefdf --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/DescribeTrustStoreRevocationsRequest.h @@ -0,0 +1,203 @@ +/** + * 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 ElasticLoadBalancingv2 +{ +namespace Model +{ + + /** + */ + class DescribeTrustStoreRevocationsRequest : public ElasticLoadBalancingv2Request + { + public: + AWS_ELASTICLOADBALANCINGV2_API DescribeTrustStoreRevocationsRequest(); + + // 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 "DescribeTrustStoreRevocations"; } + + AWS_ELASTICLOADBALANCINGV2_API Aws::String SerializePayload() const override; + + protected: + AWS_ELASTICLOADBALANCINGV2_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + + /** + *

                                    The Amazon Resource Name (ARN) of the trust store.

                                    + */ + inline const Aws::String& GetTrustStoreArn() const{ return m_trustStoreArn; } + + /** + *

                                    The Amazon Resource Name (ARN) of the trust store.

                                    + */ + inline bool TrustStoreArnHasBeenSet() const { return m_trustStoreArnHasBeenSet; } + + /** + *

                                    The Amazon Resource Name (ARN) of the trust store.

                                    + */ + inline void SetTrustStoreArn(const Aws::String& value) { m_trustStoreArnHasBeenSet = true; m_trustStoreArn = value; } + + /** + *

                                    The Amazon Resource Name (ARN) of the trust store.

                                    + */ + inline void SetTrustStoreArn(Aws::String&& value) { m_trustStoreArnHasBeenSet = true; m_trustStoreArn = std::move(value); } + + /** + *

                                    The Amazon Resource Name (ARN) of the trust store.

                                    + */ + inline void SetTrustStoreArn(const char* value) { m_trustStoreArnHasBeenSet = true; m_trustStoreArn.assign(value); } + + /** + *

                                    The Amazon Resource Name (ARN) of the trust store.

                                    + */ + inline DescribeTrustStoreRevocationsRequest& WithTrustStoreArn(const Aws::String& value) { SetTrustStoreArn(value); return *this;} + + /** + *

                                    The Amazon Resource Name (ARN) of the trust store.

                                    + */ + inline DescribeTrustStoreRevocationsRequest& WithTrustStoreArn(Aws::String&& value) { SetTrustStoreArn(std::move(value)); return *this;} + + /** + *

                                    The Amazon Resource Name (ARN) of the trust store.

                                    + */ + inline DescribeTrustStoreRevocationsRequest& WithTrustStoreArn(const char* value) { SetTrustStoreArn(value); return *this;} + + + /** + *

                                    The revocation IDs of the revocation files you want to describe.

                                    + */ + inline const Aws::Vector& GetRevocationIds() const{ return m_revocationIds; } + + /** + *

                                    The revocation IDs of the revocation files you want to describe.

                                    + */ + inline bool RevocationIdsHasBeenSet() const { return m_revocationIdsHasBeenSet; } + + /** + *

                                    The revocation IDs of the revocation files you want to describe.

                                    + */ + inline void SetRevocationIds(const Aws::Vector& value) { m_revocationIdsHasBeenSet = true; m_revocationIds = value; } + + /** + *

                                    The revocation IDs of the revocation files you want to describe.

                                    + */ + inline void SetRevocationIds(Aws::Vector&& value) { m_revocationIdsHasBeenSet = true; m_revocationIds = std::move(value); } + + /** + *

                                    The revocation IDs of the revocation files you want to describe.

                                    + */ + inline DescribeTrustStoreRevocationsRequest& WithRevocationIds(const Aws::Vector& value) { SetRevocationIds(value); return *this;} + + /** + *

                                    The revocation IDs of the revocation files you want to describe.

                                    + */ + inline DescribeTrustStoreRevocationsRequest& WithRevocationIds(Aws::Vector&& value) { SetRevocationIds(std::move(value)); return *this;} + + /** + *

                                    The revocation IDs of the revocation files you want to describe.

                                    + */ + inline DescribeTrustStoreRevocationsRequest& AddRevocationIds(long long value) { m_revocationIdsHasBeenSet = true; m_revocationIds.push_back(value); return *this; } + + + /** + *

                                    The marker for the next set of results. (You received this marker from a + * previous call.)

                                    + */ + inline const Aws::String& GetMarker() const{ return m_marker; } + + /** + *

                                    The marker for the next set of results. (You received this marker from a + * previous call.)

                                    + */ + inline bool MarkerHasBeenSet() const { return m_markerHasBeenSet; } + + /** + *

                                    The marker for the next set of results. (You received this marker from a + * previous call.)

                                    + */ + inline void SetMarker(const Aws::String& value) { m_markerHasBeenSet = true; m_marker = value; } + + /** + *

                                    The marker for the next set of results. (You received this marker from a + * previous call.)

                                    + */ + inline void SetMarker(Aws::String&& value) { m_markerHasBeenSet = true; m_marker = std::move(value); } + + /** + *

                                    The marker for the next set of results. (You received this marker from a + * previous call.)

                                    + */ + inline void SetMarker(const char* value) { m_markerHasBeenSet = true; m_marker.assign(value); } + + /** + *

                                    The marker for the next set of results. (You received this marker from a + * previous call.)

                                    + */ + inline DescribeTrustStoreRevocationsRequest& WithMarker(const Aws::String& value) { SetMarker(value); return *this;} + + /** + *

                                    The marker for the next set of results. (You received this marker from a + * previous call.)

                                    + */ + inline DescribeTrustStoreRevocationsRequest& WithMarker(Aws::String&& value) { SetMarker(std::move(value)); return *this;} + + /** + *

                                    The marker for the next set of results. (You received this marker from a + * previous call.)

                                    + */ + inline DescribeTrustStoreRevocationsRequest& WithMarker(const char* value) { SetMarker(value); return *this;} + + + /** + *

                                    The maximum number of results to return with this call.

                                    + */ + inline int GetPageSize() const{ return m_pageSize; } + + /** + *

                                    The maximum number of results to return with this call.

                                    + */ + inline bool PageSizeHasBeenSet() const { return m_pageSizeHasBeenSet; } + + /** + *

                                    The maximum number of results to return with this call.

                                    + */ + inline void SetPageSize(int value) { m_pageSizeHasBeenSet = true; m_pageSize = value; } + + /** + *

                                    The maximum number of results to return with this call.

                                    + */ + inline DescribeTrustStoreRevocationsRequest& WithPageSize(int value) { SetPageSize(value); return *this;} + + private: + + Aws::String m_trustStoreArn; + bool m_trustStoreArnHasBeenSet = false; + + Aws::Vector m_revocationIds; + bool m_revocationIdsHasBeenSet = false; + + Aws::String m_marker; + bool m_markerHasBeenSet = false; + + int m_pageSize; + bool m_pageSizeHasBeenSet = false; + }; + +} // namespace Model +} // namespace ElasticLoadBalancingv2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/DescribeTrustStoreRevocationsResult.h b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/DescribeTrustStoreRevocationsResult.h new file mode 100644 index 00000000000..196a426e22f --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/DescribeTrustStoreRevocationsResult.h @@ -0,0 +1,143 @@ +/** + * 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 ElasticLoadBalancingv2 +{ +namespace Model +{ + class DescribeTrustStoreRevocationsResult + { + public: + AWS_ELASTICLOADBALANCINGV2_API DescribeTrustStoreRevocationsResult(); + AWS_ELASTICLOADBALANCINGV2_API DescribeTrustStoreRevocationsResult(const Aws::AmazonWebServiceResult& result); + AWS_ELASTICLOADBALANCINGV2_API DescribeTrustStoreRevocationsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

                                    Information about the revocation file in the trust store.

                                    + */ + inline const Aws::Vector& GetTrustStoreRevocations() const{ return m_trustStoreRevocations; } + + /** + *

                                    Information about the revocation file in the trust store.

                                    + */ + inline void SetTrustStoreRevocations(const Aws::Vector& value) { m_trustStoreRevocations = value; } + + /** + *

                                    Information about the revocation file in the trust store.

                                    + */ + inline void SetTrustStoreRevocations(Aws::Vector&& value) { m_trustStoreRevocations = std::move(value); } + + /** + *

                                    Information about the revocation file in the trust store.

                                    + */ + inline DescribeTrustStoreRevocationsResult& WithTrustStoreRevocations(const Aws::Vector& value) { SetTrustStoreRevocations(value); return *this;} + + /** + *

                                    Information about the revocation file in the trust store.

                                    + */ + inline DescribeTrustStoreRevocationsResult& WithTrustStoreRevocations(Aws::Vector&& value) { SetTrustStoreRevocations(std::move(value)); return *this;} + + /** + *

                                    Information about the revocation file in the trust store.

                                    + */ + inline DescribeTrustStoreRevocationsResult& AddTrustStoreRevocations(const DescribeTrustStoreRevocation& value) { m_trustStoreRevocations.push_back(value); return *this; } + + /** + *

                                    Information about the revocation file in the trust store.

                                    + */ + inline DescribeTrustStoreRevocationsResult& AddTrustStoreRevocations(DescribeTrustStoreRevocation&& value) { m_trustStoreRevocations.push_back(std::move(value)); return *this; } + + + /** + *

                                    If there are additional results, this is the marker for the next set of + * results. Otherwise, this is null.

                                    + */ + inline const Aws::String& GetNextMarker() const{ return m_nextMarker; } + + /** + *

                                    If there are additional results, this is the marker for the next set of + * results. Otherwise, this is null.

                                    + */ + inline void SetNextMarker(const Aws::String& value) { m_nextMarker = value; } + + /** + *

                                    If there are additional results, this is the marker for the next set of + * results. Otherwise, this is null.

                                    + */ + inline void SetNextMarker(Aws::String&& value) { m_nextMarker = std::move(value); } + + /** + *

                                    If there are additional results, this is the marker for the next set of + * results. Otherwise, this is null.

                                    + */ + inline void SetNextMarker(const char* value) { m_nextMarker.assign(value); } + + /** + *

                                    If there are additional results, this is the marker for the next set of + * results. Otherwise, this is null.

                                    + */ + inline DescribeTrustStoreRevocationsResult& WithNextMarker(const Aws::String& value) { SetNextMarker(value); return *this;} + + /** + *

                                    If there are additional results, this is the marker for the next set of + * results. Otherwise, this is null.

                                    + */ + inline DescribeTrustStoreRevocationsResult& WithNextMarker(Aws::String&& value) { SetNextMarker(std::move(value)); return *this;} + + /** + *

                                    If there are additional results, this is the marker for the next set of + * results. Otherwise, this is null.

                                    + */ + inline DescribeTrustStoreRevocationsResult& WithNextMarker(const char* value) { SetNextMarker(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 DescribeTrustStoreRevocationsResult& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} + + + inline DescribeTrustStoreRevocationsResult& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} + + private: + + Aws::Vector m_trustStoreRevocations; + + Aws::String m_nextMarker; + + ResponseMetadata m_responseMetadata; + }; + +} // namespace Model +} // namespace ElasticLoadBalancingv2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/DescribeTrustStoresRequest.h b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/DescribeTrustStoresRequest.h new file mode 100644 index 00000000000..9d426806fd4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/DescribeTrustStoresRequest.h @@ -0,0 +1,218 @@ +/** + * 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 ElasticLoadBalancingv2 +{ +namespace Model +{ + + /** + */ + class DescribeTrustStoresRequest : public ElasticLoadBalancingv2Request + { + public: + AWS_ELASTICLOADBALANCINGV2_API DescribeTrustStoresRequest(); + + // 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 "DescribeTrustStores"; } + + AWS_ELASTICLOADBALANCINGV2_API Aws::String SerializePayload() const override; + + protected: + AWS_ELASTICLOADBALANCINGV2_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + + /** + *

                                    The Amazon Resource Name (ARN) of the trust store.

                                    + */ + inline const Aws::Vector& GetTrustStoreArns() const{ return m_trustStoreArns; } + + /** + *

                                    The Amazon Resource Name (ARN) of the trust store.

                                    + */ + inline bool TrustStoreArnsHasBeenSet() const { return m_trustStoreArnsHasBeenSet; } + + /** + *

                                    The Amazon Resource Name (ARN) of the trust store.

                                    + */ + inline void SetTrustStoreArns(const Aws::Vector& value) { m_trustStoreArnsHasBeenSet = true; m_trustStoreArns = value; } + + /** + *

                                    The Amazon Resource Name (ARN) of the trust store.

                                    + */ + inline void SetTrustStoreArns(Aws::Vector&& value) { m_trustStoreArnsHasBeenSet = true; m_trustStoreArns = std::move(value); } + + /** + *

                                    The Amazon Resource Name (ARN) of the trust store.

                                    + */ + inline DescribeTrustStoresRequest& WithTrustStoreArns(const Aws::Vector& value) { SetTrustStoreArns(value); return *this;} + + /** + *

                                    The Amazon Resource Name (ARN) of the trust store.

                                    + */ + inline DescribeTrustStoresRequest& WithTrustStoreArns(Aws::Vector&& value) { SetTrustStoreArns(std::move(value)); return *this;} + + /** + *

                                    The Amazon Resource Name (ARN) of the trust store.

                                    + */ + inline DescribeTrustStoresRequest& AddTrustStoreArns(const Aws::String& value) { m_trustStoreArnsHasBeenSet = true; m_trustStoreArns.push_back(value); return *this; } + + /** + *

                                    The Amazon Resource Name (ARN) of the trust store.

                                    + */ + inline DescribeTrustStoresRequest& AddTrustStoreArns(Aws::String&& value) { m_trustStoreArnsHasBeenSet = true; m_trustStoreArns.push_back(std::move(value)); return *this; } + + /** + *

                                    The Amazon Resource Name (ARN) of the trust store.

                                    + */ + inline DescribeTrustStoresRequest& AddTrustStoreArns(const char* value) { m_trustStoreArnsHasBeenSet = true; m_trustStoreArns.push_back(value); return *this; } + + + /** + *

                                    The names of the trust stores.

                                    + */ + inline const Aws::Vector& GetNames() const{ return m_names; } + + /** + *

                                    The names of the trust stores.

                                    + */ + inline bool NamesHasBeenSet() const { return m_namesHasBeenSet; } + + /** + *

                                    The names of the trust stores.

                                    + */ + inline void SetNames(const Aws::Vector& value) { m_namesHasBeenSet = true; m_names = value; } + + /** + *

                                    The names of the trust stores.

                                    + */ + inline void SetNames(Aws::Vector&& value) { m_namesHasBeenSet = true; m_names = std::move(value); } + + /** + *

                                    The names of the trust stores.

                                    + */ + inline DescribeTrustStoresRequest& WithNames(const Aws::Vector& value) { SetNames(value); return *this;} + + /** + *

                                    The names of the trust stores.

                                    + */ + inline DescribeTrustStoresRequest& WithNames(Aws::Vector&& value) { SetNames(std::move(value)); return *this;} + + /** + *

                                    The names of the trust stores.

                                    + */ + inline DescribeTrustStoresRequest& AddNames(const Aws::String& value) { m_namesHasBeenSet = true; m_names.push_back(value); return *this; } + + /** + *

                                    The names of the trust stores.

                                    + */ + inline DescribeTrustStoresRequest& AddNames(Aws::String&& value) { m_namesHasBeenSet = true; m_names.push_back(std::move(value)); return *this; } + + /** + *

                                    The names of the trust stores.

                                    + */ + inline DescribeTrustStoresRequest& AddNames(const char* value) { m_namesHasBeenSet = true; m_names.push_back(value); return *this; } + + + /** + *

                                    The marker for the next set of results. (You received this marker from a + * previous call.)

                                    + */ + inline const Aws::String& GetMarker() const{ return m_marker; } + + /** + *

                                    The marker for the next set of results. (You received this marker from a + * previous call.)

                                    + */ + inline bool MarkerHasBeenSet() const { return m_markerHasBeenSet; } + + /** + *

                                    The marker for the next set of results. (You received this marker from a + * previous call.)

                                    + */ + inline void SetMarker(const Aws::String& value) { m_markerHasBeenSet = true; m_marker = value; } + + /** + *

                                    The marker for the next set of results. (You received this marker from a + * previous call.)

                                    + */ + inline void SetMarker(Aws::String&& value) { m_markerHasBeenSet = true; m_marker = std::move(value); } + + /** + *

                                    The marker for the next set of results. (You received this marker from a + * previous call.)

                                    + */ + inline void SetMarker(const char* value) { m_markerHasBeenSet = true; m_marker.assign(value); } + + /** + *

                                    The marker for the next set of results. (You received this marker from a + * previous call.)

                                    + */ + inline DescribeTrustStoresRequest& WithMarker(const Aws::String& value) { SetMarker(value); return *this;} + + /** + *

                                    The marker for the next set of results. (You received this marker from a + * previous call.)

                                    + */ + inline DescribeTrustStoresRequest& WithMarker(Aws::String&& value) { SetMarker(std::move(value)); return *this;} + + /** + *

                                    The marker for the next set of results. (You received this marker from a + * previous call.)

                                    + */ + inline DescribeTrustStoresRequest& WithMarker(const char* value) { SetMarker(value); return *this;} + + + /** + *

                                    The maximum number of results to return with this call.

                                    + */ + inline int GetPageSize() const{ return m_pageSize; } + + /** + *

                                    The maximum number of results to return with this call.

                                    + */ + inline bool PageSizeHasBeenSet() const { return m_pageSizeHasBeenSet; } + + /** + *

                                    The maximum number of results to return with this call.

                                    + */ + inline void SetPageSize(int value) { m_pageSizeHasBeenSet = true; m_pageSize = value; } + + /** + *

                                    The maximum number of results to return with this call.

                                    + */ + inline DescribeTrustStoresRequest& WithPageSize(int value) { SetPageSize(value); return *this;} + + private: + + Aws::Vector m_trustStoreArns; + bool m_trustStoreArnsHasBeenSet = false; + + Aws::Vector m_names; + bool m_namesHasBeenSet = false; + + Aws::String m_marker; + bool m_markerHasBeenSet = false; + + int m_pageSize; + bool m_pageSizeHasBeenSet = false; + }; + +} // namespace Model +} // namespace ElasticLoadBalancingv2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/DescribeTrustStoresResult.h b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/DescribeTrustStoresResult.h new file mode 100644 index 00000000000..0232bf09f71 --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/DescribeTrustStoresResult.h @@ -0,0 +1,143 @@ +/** + * 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 ElasticLoadBalancingv2 +{ +namespace Model +{ + class DescribeTrustStoresResult + { + public: + AWS_ELASTICLOADBALANCINGV2_API DescribeTrustStoresResult(); + AWS_ELASTICLOADBALANCINGV2_API DescribeTrustStoresResult(const Aws::AmazonWebServiceResult& result); + AWS_ELASTICLOADBALANCINGV2_API DescribeTrustStoresResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

                                    Information about the trust stores.

                                    + */ + inline const Aws::Vector& GetTrustStores() const{ return m_trustStores; } + + /** + *

                                    Information about the trust stores.

                                    + */ + inline void SetTrustStores(const Aws::Vector& value) { m_trustStores = value; } + + /** + *

                                    Information about the trust stores.

                                    + */ + inline void SetTrustStores(Aws::Vector&& value) { m_trustStores = std::move(value); } + + /** + *

                                    Information about the trust stores.

                                    + */ + inline DescribeTrustStoresResult& WithTrustStores(const Aws::Vector& value) { SetTrustStores(value); return *this;} + + /** + *

                                    Information about the trust stores.

                                    + */ + inline DescribeTrustStoresResult& WithTrustStores(Aws::Vector&& value) { SetTrustStores(std::move(value)); return *this;} + + /** + *

                                    Information about the trust stores.

                                    + */ + inline DescribeTrustStoresResult& AddTrustStores(const TrustStore& value) { m_trustStores.push_back(value); return *this; } + + /** + *

                                    Information about the trust stores.

                                    + */ + inline DescribeTrustStoresResult& AddTrustStores(TrustStore&& value) { m_trustStores.push_back(std::move(value)); return *this; } + + + /** + *

                                    If there are additional results, this is the marker for the next set of + * results. Otherwise, this is null.

                                    + */ + inline const Aws::String& GetNextMarker() const{ return m_nextMarker; } + + /** + *

                                    If there are additional results, this is the marker for the next set of + * results. Otherwise, this is null.

                                    + */ + inline void SetNextMarker(const Aws::String& value) { m_nextMarker = value; } + + /** + *

                                    If there are additional results, this is the marker for the next set of + * results. Otherwise, this is null.

                                    + */ + inline void SetNextMarker(Aws::String&& value) { m_nextMarker = std::move(value); } + + /** + *

                                    If there are additional results, this is the marker for the next set of + * results. Otherwise, this is null.

                                    + */ + inline void SetNextMarker(const char* value) { m_nextMarker.assign(value); } + + /** + *

                                    If there are additional results, this is the marker for the next set of + * results. Otherwise, this is null.

                                    + */ + inline DescribeTrustStoresResult& WithNextMarker(const Aws::String& value) { SetNextMarker(value); return *this;} + + /** + *

                                    If there are additional results, this is the marker for the next set of + * results. Otherwise, this is null.

                                    + */ + inline DescribeTrustStoresResult& WithNextMarker(Aws::String&& value) { SetNextMarker(std::move(value)); return *this;} + + /** + *

                                    If there are additional results, this is the marker for the next set of + * results. Otherwise, this is null.

                                    + */ + inline DescribeTrustStoresResult& WithNextMarker(const char* value) { SetNextMarker(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 DescribeTrustStoresResult& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} + + + inline DescribeTrustStoresResult& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} + + private: + + Aws::Vector m_trustStores; + + Aws::String m_nextMarker; + + ResponseMetadata m_responseMetadata; + }; + +} // namespace Model +} // namespace ElasticLoadBalancingv2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/GetTrustStoreCaCertificatesBundleRequest.h b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/GetTrustStoreCaCertificatesBundleRequest.h new file mode 100644 index 00000000000..df1066d7f17 --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/GetTrustStoreCaCertificatesBundleRequest.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 + +namespace Aws +{ +namespace ElasticLoadBalancingv2 +{ +namespace Model +{ + + /** + */ + class GetTrustStoreCaCertificatesBundleRequest : public ElasticLoadBalancingv2Request + { + public: + AWS_ELASTICLOADBALANCINGV2_API GetTrustStoreCaCertificatesBundleRequest(); + + // 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 "GetTrustStoreCaCertificatesBundle"; } + + AWS_ELASTICLOADBALANCINGV2_API Aws::String SerializePayload() const override; + + protected: + AWS_ELASTICLOADBALANCINGV2_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + + /** + *

                                    The Amazon Resource Name (ARN) of the trust store.

                                    + */ + inline const Aws::String& GetTrustStoreArn() const{ return m_trustStoreArn; } + + /** + *

                                    The Amazon Resource Name (ARN) of the trust store.

                                    + */ + inline bool TrustStoreArnHasBeenSet() const { return m_trustStoreArnHasBeenSet; } + + /** + *

                                    The Amazon Resource Name (ARN) of the trust store.

                                    + */ + inline void SetTrustStoreArn(const Aws::String& value) { m_trustStoreArnHasBeenSet = true; m_trustStoreArn = value; } + + /** + *

                                    The Amazon Resource Name (ARN) of the trust store.

                                    + */ + inline void SetTrustStoreArn(Aws::String&& value) { m_trustStoreArnHasBeenSet = true; m_trustStoreArn = std::move(value); } + + /** + *

                                    The Amazon Resource Name (ARN) of the trust store.

                                    + */ + inline void SetTrustStoreArn(const char* value) { m_trustStoreArnHasBeenSet = true; m_trustStoreArn.assign(value); } + + /** + *

                                    The Amazon Resource Name (ARN) of the trust store.

                                    + */ + inline GetTrustStoreCaCertificatesBundleRequest& WithTrustStoreArn(const Aws::String& value) { SetTrustStoreArn(value); return *this;} + + /** + *

                                    The Amazon Resource Name (ARN) of the trust store.

                                    + */ + inline GetTrustStoreCaCertificatesBundleRequest& WithTrustStoreArn(Aws::String&& value) { SetTrustStoreArn(std::move(value)); return *this;} + + /** + *

                                    The Amazon Resource Name (ARN) of the trust store.

                                    + */ + inline GetTrustStoreCaCertificatesBundleRequest& WithTrustStoreArn(const char* value) { SetTrustStoreArn(value); return *this;} + + private: + + Aws::String m_trustStoreArn; + bool m_trustStoreArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace ElasticLoadBalancingv2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/GetTrustStoreCaCertificatesBundleResult.h b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/GetTrustStoreCaCertificatesBundleResult.h new file mode 100644 index 00000000000..895c823c5a8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/GetTrustStoreCaCertificatesBundleResult.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 +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace ElasticLoadBalancingv2 +{ +namespace Model +{ + class GetTrustStoreCaCertificatesBundleResult + { + public: + AWS_ELASTICLOADBALANCINGV2_API GetTrustStoreCaCertificatesBundleResult(); + AWS_ELASTICLOADBALANCINGV2_API GetTrustStoreCaCertificatesBundleResult(const Aws::AmazonWebServiceResult& result); + AWS_ELASTICLOADBALANCINGV2_API GetTrustStoreCaCertificatesBundleResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

                                    The ca certificate bundles Amazon S3 URI.

                                    + */ + inline const Aws::String& GetLocation() const{ return m_location; } + + /** + *

                                    The ca certificate bundles Amazon S3 URI.

                                    + */ + inline void SetLocation(const Aws::String& value) { m_location = value; } + + /** + *

                                    The ca certificate bundles Amazon S3 URI.

                                    + */ + inline void SetLocation(Aws::String&& value) { m_location = std::move(value); } + + /** + *

                                    The ca certificate bundles Amazon S3 URI.

                                    + */ + inline void SetLocation(const char* value) { m_location.assign(value); } + + /** + *

                                    The ca certificate bundles Amazon S3 URI.

                                    + */ + inline GetTrustStoreCaCertificatesBundleResult& WithLocation(const Aws::String& value) { SetLocation(value); return *this;} + + /** + *

                                    The ca certificate bundles Amazon S3 URI.

                                    + */ + inline GetTrustStoreCaCertificatesBundleResult& WithLocation(Aws::String&& value) { SetLocation(std::move(value)); return *this;} + + /** + *

                                    The ca certificate bundles Amazon S3 URI.

                                    + */ + inline GetTrustStoreCaCertificatesBundleResult& WithLocation(const char* value) { SetLocation(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 GetTrustStoreCaCertificatesBundleResult& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} + + + inline GetTrustStoreCaCertificatesBundleResult& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} + + private: + + Aws::String m_location; + + ResponseMetadata m_responseMetadata; + }; + +} // namespace Model +} // namespace ElasticLoadBalancingv2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/GetTrustStoreRevocationContentRequest.h b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/GetTrustStoreRevocationContentRequest.h new file mode 100644 index 00000000000..8ecf2a2bfaf --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/GetTrustStoreRevocationContentRequest.h @@ -0,0 +1,111 @@ +/** + * 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 ElasticLoadBalancingv2 +{ +namespace Model +{ + + /** + */ + class GetTrustStoreRevocationContentRequest : public ElasticLoadBalancingv2Request + { + public: + AWS_ELASTICLOADBALANCINGV2_API GetTrustStoreRevocationContentRequest(); + + // 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 "GetTrustStoreRevocationContent"; } + + AWS_ELASTICLOADBALANCINGV2_API Aws::String SerializePayload() const override; + + protected: + AWS_ELASTICLOADBALANCINGV2_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + + /** + *

                                    The Amazon Resource Name (ARN) of the trust store.

                                    + */ + inline const Aws::String& GetTrustStoreArn() const{ return m_trustStoreArn; } + + /** + *

                                    The Amazon Resource Name (ARN) of the trust store.

                                    + */ + inline bool TrustStoreArnHasBeenSet() const { return m_trustStoreArnHasBeenSet; } + + /** + *

                                    The Amazon Resource Name (ARN) of the trust store.

                                    + */ + inline void SetTrustStoreArn(const Aws::String& value) { m_trustStoreArnHasBeenSet = true; m_trustStoreArn = value; } + + /** + *

                                    The Amazon Resource Name (ARN) of the trust store.

                                    + */ + inline void SetTrustStoreArn(Aws::String&& value) { m_trustStoreArnHasBeenSet = true; m_trustStoreArn = std::move(value); } + + /** + *

                                    The Amazon Resource Name (ARN) of the trust store.

                                    + */ + inline void SetTrustStoreArn(const char* value) { m_trustStoreArnHasBeenSet = true; m_trustStoreArn.assign(value); } + + /** + *

                                    The Amazon Resource Name (ARN) of the trust store.

                                    + */ + inline GetTrustStoreRevocationContentRequest& WithTrustStoreArn(const Aws::String& value) { SetTrustStoreArn(value); return *this;} + + /** + *

                                    The Amazon Resource Name (ARN) of the trust store.

                                    + */ + inline GetTrustStoreRevocationContentRequest& WithTrustStoreArn(Aws::String&& value) { SetTrustStoreArn(std::move(value)); return *this;} + + /** + *

                                    The Amazon Resource Name (ARN) of the trust store.

                                    + */ + inline GetTrustStoreRevocationContentRequest& WithTrustStoreArn(const char* value) { SetTrustStoreArn(value); return *this;} + + + /** + *

                                    The revocation ID of the revocation file.

                                    + */ + inline long long GetRevocationId() const{ return m_revocationId; } + + /** + *

                                    The revocation ID of the revocation file.

                                    + */ + inline bool RevocationIdHasBeenSet() const { return m_revocationIdHasBeenSet; } + + /** + *

                                    The revocation ID of the revocation file.

                                    + */ + inline void SetRevocationId(long long value) { m_revocationIdHasBeenSet = true; m_revocationId = value; } + + /** + *

                                    The revocation ID of the revocation file.

                                    + */ + inline GetTrustStoreRevocationContentRequest& WithRevocationId(long long value) { SetRevocationId(value); return *this;} + + private: + + Aws::String m_trustStoreArn; + bool m_trustStoreArnHasBeenSet = false; + + long long m_revocationId; + bool m_revocationIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace ElasticLoadBalancingv2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/GetTrustStoreRevocationContentResult.h b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/GetTrustStoreRevocationContentResult.h new file mode 100644 index 00000000000..fe0794cc768 --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/GetTrustStoreRevocationContentResult.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 +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace ElasticLoadBalancingv2 +{ +namespace Model +{ + class GetTrustStoreRevocationContentResult + { + public: + AWS_ELASTICLOADBALANCINGV2_API GetTrustStoreRevocationContentResult(); + AWS_ELASTICLOADBALANCINGV2_API GetTrustStoreRevocationContentResult(const Aws::AmazonWebServiceResult& result); + AWS_ELASTICLOADBALANCINGV2_API GetTrustStoreRevocationContentResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

                                    The revocation files Amazon S3 URI.

                                    + */ + inline const Aws::String& GetLocation() const{ return m_location; } + + /** + *

                                    The revocation files Amazon S3 URI.

                                    + */ + inline void SetLocation(const Aws::String& value) { m_location = value; } + + /** + *

                                    The revocation files Amazon S3 URI.

                                    + */ + inline void SetLocation(Aws::String&& value) { m_location = std::move(value); } + + /** + *

                                    The revocation files Amazon S3 URI.

                                    + */ + inline void SetLocation(const char* value) { m_location.assign(value); } + + /** + *

                                    The revocation files Amazon S3 URI.

                                    + */ + inline GetTrustStoreRevocationContentResult& WithLocation(const Aws::String& value) { SetLocation(value); return *this;} + + /** + *

                                    The revocation files Amazon S3 URI.

                                    + */ + inline GetTrustStoreRevocationContentResult& WithLocation(Aws::String&& value) { SetLocation(std::move(value)); return *this;} + + /** + *

                                    The revocation files Amazon S3 URI.

                                    + */ + inline GetTrustStoreRevocationContentResult& WithLocation(const char* value) { SetLocation(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 GetTrustStoreRevocationContentResult& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} + + + inline GetTrustStoreRevocationContentResult& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} + + private: + + Aws::String m_location; + + ResponseMetadata m_responseMetadata; + }; + +} // namespace Model +} // namespace ElasticLoadBalancingv2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/Listener.h b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/Listener.h index 4674bce2acc..2530c7089fa 100644 --- a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/Listener.h +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/Listener.h @@ -9,6 +9,7 @@ #include #include #include +#include #include #include #include @@ -362,6 +363,37 @@ namespace Model */ inline Listener& AddAlpnPolicy(const char* value) { m_alpnPolicyHasBeenSet = true; m_alpnPolicy.push_back(value); return *this; } + + /** + *

                                    The mutual authentication configuration information.

                                    + */ + inline const MutualAuthenticationAttributes& GetMutualAuthentication() const{ return m_mutualAuthentication; } + + /** + *

                                    The mutual authentication configuration information.

                                    + */ + inline bool MutualAuthenticationHasBeenSet() const { return m_mutualAuthenticationHasBeenSet; } + + /** + *

                                    The mutual authentication configuration information.

                                    + */ + inline void SetMutualAuthentication(const MutualAuthenticationAttributes& value) { m_mutualAuthenticationHasBeenSet = true; m_mutualAuthentication = value; } + + /** + *

                                    The mutual authentication configuration information.

                                    + */ + inline void SetMutualAuthentication(MutualAuthenticationAttributes&& value) { m_mutualAuthenticationHasBeenSet = true; m_mutualAuthentication = std::move(value); } + + /** + *

                                    The mutual authentication configuration information.

                                    + */ + inline Listener& WithMutualAuthentication(const MutualAuthenticationAttributes& value) { SetMutualAuthentication(value); return *this;} + + /** + *

                                    The mutual authentication configuration information.

                                    + */ + inline Listener& WithMutualAuthentication(MutualAuthenticationAttributes&& value) { SetMutualAuthentication(std::move(value)); return *this;} + private: Aws::String m_listenerArn; @@ -387,6 +419,9 @@ namespace Model Aws::Vector m_alpnPolicy; bool m_alpnPolicyHasBeenSet = false; + + MutualAuthenticationAttributes m_mutualAuthentication; + bool m_mutualAuthenticationHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/LoadBalancerAttribute.h b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/LoadBalancerAttribute.h index 100965d2f0e..afd4b068cae 100644 --- a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/LoadBalancerAttribute.h +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/LoadBalancerAttribute.h @@ -67,6 +67,15 @@ namespace Model * Application Load Balancers:

                                    • * idle_timeout.timeout_seconds - The idle timeout value, in seconds. * The valid range is 1-4000 seconds. The default is 60 seconds.

                                    • + * connection_logs.s3.enabled - Indicates whether connection logs are + * enabled. The value is true or false. The default is + * false.

                                    • connection_logs.s3.bucket - + * The name of the S3 bucket for the connection logs. This attribute is required if + * connection logs are enabled. The bucket must exist in the same region as the + * load balancer and have a bucket policy that grants Elastic Load Balancing + * permissions to write to the bucket.

                                    • + * connection_logs.s3.prefix - The prefix for the location in the S3 + * bucket for the connection logs.

                                    • * routing.http.desync_mitigation_mode - Determines how the load * balancer handles requests that might pose a security risk to your application. * The possible values are monitor, defensive, and @@ -153,6 +162,15 @@ namespace Model * Application Load Balancers:

                                      • * idle_timeout.timeout_seconds - The idle timeout value, in seconds. * The valid range is 1-4000 seconds. The default is 60 seconds.

                                      • + * connection_logs.s3.enabled - Indicates whether connection logs are + * enabled. The value is true or false. The default is + * false.

                                      • connection_logs.s3.bucket - + * The name of the S3 bucket for the connection logs. This attribute is required if + * connection logs are enabled. The bucket must exist in the same region as the + * load balancer and have a bucket policy that grants Elastic Load Balancing + * permissions to write to the bucket.

                                      • + * connection_logs.s3.prefix - The prefix for the location in the S3 + * bucket for the connection logs.

                                      • * routing.http.desync_mitigation_mode - Determines how the load * balancer handles requests that might pose a security risk to your application. * The possible values are monitor, defensive, and @@ -239,6 +257,15 @@ namespace Model * Application Load Balancers:

                                        • * idle_timeout.timeout_seconds - The idle timeout value, in seconds. * The valid range is 1-4000 seconds. The default is 60 seconds.

                                        • + * connection_logs.s3.enabled - Indicates whether connection logs are + * enabled. The value is true or false. The default is + * false.

                                        • connection_logs.s3.bucket - + * The name of the S3 bucket for the connection logs. This attribute is required if + * connection logs are enabled. The bucket must exist in the same region as the + * load balancer and have a bucket policy that grants Elastic Load Balancing + * permissions to write to the bucket.

                                        • + * connection_logs.s3.prefix - The prefix for the location in the S3 + * bucket for the connection logs.

                                        • * routing.http.desync_mitigation_mode - Determines how the load * balancer handles requests that might pose a security risk to your application. * The possible values are monitor, defensive, and @@ -325,6 +352,15 @@ namespace Model * Application Load Balancers:

                                          • * idle_timeout.timeout_seconds - The idle timeout value, in seconds. * The valid range is 1-4000 seconds. The default is 60 seconds.

                                          • + * connection_logs.s3.enabled - Indicates whether connection logs are + * enabled. The value is true or false. The default is + * false.

                                          • connection_logs.s3.bucket - + * The name of the S3 bucket for the connection logs. This attribute is required if + * connection logs are enabled. The bucket must exist in the same region as the + * load balancer and have a bucket policy that grants Elastic Load Balancing + * permissions to write to the bucket.

                                          • + * connection_logs.s3.prefix - The prefix for the location in the S3 + * bucket for the connection logs.

                                          • * routing.http.desync_mitigation_mode - Determines how the load * balancer handles requests that might pose a security risk to your application. * The possible values are monitor, defensive, and @@ -411,6 +447,15 @@ namespace Model * Application Load Balancers:

                                            • * idle_timeout.timeout_seconds - The idle timeout value, in seconds. * The valid range is 1-4000 seconds. The default is 60 seconds.

                                            • + * connection_logs.s3.enabled - Indicates whether connection logs are + * enabled. The value is true or false. The default is + * false.

                                            • connection_logs.s3.bucket - + * The name of the S3 bucket for the connection logs. This attribute is required if + * connection logs are enabled. The bucket must exist in the same region as the + * load balancer and have a bucket policy that grants Elastic Load Balancing + * permissions to write to the bucket.

                                            • + * connection_logs.s3.prefix - The prefix for the location in the S3 + * bucket for the connection logs.

                                            • * routing.http.desync_mitigation_mode - Determines how the load * balancer handles requests that might pose a security risk to your application. * The possible values are monitor, defensive, and @@ -497,6 +542,15 @@ namespace Model * Application Load Balancers:

                                              • * idle_timeout.timeout_seconds - The idle timeout value, in seconds. * The valid range is 1-4000 seconds. The default is 60 seconds.

                                              • + * connection_logs.s3.enabled - Indicates whether connection logs are + * enabled. The value is true or false. The default is + * false.

                                              • connection_logs.s3.bucket - + * The name of the S3 bucket for the connection logs. This attribute is required if + * connection logs are enabled. The bucket must exist in the same region as the + * load balancer and have a bucket policy that grants Elastic Load Balancing + * permissions to write to the bucket.

                                              • + * connection_logs.s3.prefix - The prefix for the location in the S3 + * bucket for the connection logs.

                                              • * routing.http.desync_mitigation_mode - Determines how the load * balancer handles requests that might pose a security risk to your application. * The possible values are monitor, defensive, and @@ -583,6 +637,15 @@ namespace Model * Application Load Balancers:

                                                • * idle_timeout.timeout_seconds - The idle timeout value, in seconds. * The valid range is 1-4000 seconds. The default is 60 seconds.

                                                • + * connection_logs.s3.enabled - Indicates whether connection logs are + * enabled. The value is true or false. The default is + * false.

                                                • connection_logs.s3.bucket - + * The name of the S3 bucket for the connection logs. This attribute is required if + * connection logs are enabled. The bucket must exist in the same region as the + * load balancer and have a bucket policy that grants Elastic Load Balancing + * permissions to write to the bucket.

                                                • + * connection_logs.s3.prefix - The prefix for the location in the S3 + * bucket for the connection logs.

                                                • * routing.http.desync_mitigation_mode - Determines how the load * balancer handles requests that might pose a security risk to your application. * The possible values are monitor, defensive, and @@ -669,6 +732,15 @@ namespace Model * Application Load Balancers:

                                                  • * idle_timeout.timeout_seconds - The idle timeout value, in seconds. * The valid range is 1-4000 seconds. The default is 60 seconds.

                                                  • + * connection_logs.s3.enabled - Indicates whether connection logs are + * enabled. The value is true or false. The default is + * false.

                                                  • connection_logs.s3.bucket - + * The name of the S3 bucket for the connection logs. This attribute is required if + * connection logs are enabled. The bucket must exist in the same region as the + * load balancer and have a bucket policy that grants Elastic Load Balancing + * permissions to write to the bucket.

                                                  • + * connection_logs.s3.prefix - The prefix for the location in the S3 + * bucket for the connection logs.

                                                  • * routing.http.desync_mitigation_mode - Determines how the load * balancer handles requests that might pose a security risk to your application. * The possible values are monitor, defensive, and diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/MitigationInEffectEnum.h b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/MitigationInEffectEnum.h new file mode 100644 index 00000000000..5d3e5943c2f --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/MitigationInEffectEnum.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 ElasticLoadBalancingv2 +{ +namespace Model +{ + enum class MitigationInEffectEnum + { + NOT_SET, + yes, + no + }; + +namespace MitigationInEffectEnumMapper +{ +AWS_ELASTICLOADBALANCINGV2_API MitigationInEffectEnum GetMitigationInEffectEnumForName(const Aws::String& name); + +AWS_ELASTICLOADBALANCINGV2_API Aws::String GetNameForMitigationInEffectEnum(MitigationInEffectEnum value); +} // namespace MitigationInEffectEnumMapper +} // namespace Model +} // namespace ElasticLoadBalancingv2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/ModifyListenerRequest.h b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/ModifyListenerRequest.h index c4448f53027..946e2258368 100644 --- a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/ModifyListenerRequest.h +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/ModifyListenerRequest.h @@ -9,6 +9,7 @@ #include #include #include +#include #include #include #include @@ -448,6 +449,37 @@ namespace Model */ inline ModifyListenerRequest& AddAlpnPolicy(const char* value) { m_alpnPolicyHasBeenSet = true; m_alpnPolicy.push_back(value); return *this; } + + /** + *

                                                    The mutual authentication configuration information.

                                                    + */ + inline const MutualAuthenticationAttributes& GetMutualAuthentication() const{ return m_mutualAuthentication; } + + /** + *

                                                    The mutual authentication configuration information.

                                                    + */ + inline bool MutualAuthenticationHasBeenSet() const { return m_mutualAuthenticationHasBeenSet; } + + /** + *

                                                    The mutual authentication configuration information.

                                                    + */ + inline void SetMutualAuthentication(const MutualAuthenticationAttributes& value) { m_mutualAuthenticationHasBeenSet = true; m_mutualAuthentication = value; } + + /** + *

                                                    The mutual authentication configuration information.

                                                    + */ + inline void SetMutualAuthentication(MutualAuthenticationAttributes&& value) { m_mutualAuthenticationHasBeenSet = true; m_mutualAuthentication = std::move(value); } + + /** + *

                                                    The mutual authentication configuration information.

                                                    + */ + inline ModifyListenerRequest& WithMutualAuthentication(const MutualAuthenticationAttributes& value) { SetMutualAuthentication(value); return *this;} + + /** + *

                                                    The mutual authentication configuration information.

                                                    + */ + inline ModifyListenerRequest& WithMutualAuthentication(MutualAuthenticationAttributes&& value) { SetMutualAuthentication(std::move(value)); return *this;} + private: Aws::String m_listenerArn; @@ -470,6 +502,9 @@ namespace Model Aws::Vector m_alpnPolicy; bool m_alpnPolicyHasBeenSet = false; + + MutualAuthenticationAttributes m_mutualAuthentication; + bool m_mutualAuthenticationHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/ModifyTrustStoreRequest.h b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/ModifyTrustStoreRequest.h new file mode 100644 index 00000000000..372fc481ceb --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/ModifyTrustStoreRequest.h @@ -0,0 +1,227 @@ +/** + * 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 ElasticLoadBalancingv2 +{ +namespace Model +{ + + /** + */ + class ModifyTrustStoreRequest : public ElasticLoadBalancingv2Request + { + public: + AWS_ELASTICLOADBALANCINGV2_API ModifyTrustStoreRequest(); + + // 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 "ModifyTrustStore"; } + + AWS_ELASTICLOADBALANCINGV2_API Aws::String SerializePayload() const override; + + protected: + AWS_ELASTICLOADBALANCINGV2_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + + /** + *

                                                    The Amazon Resource Name (ARN) of the trust store.

                                                    + */ + inline const Aws::String& GetTrustStoreArn() const{ return m_trustStoreArn; } + + /** + *

                                                    The Amazon Resource Name (ARN) of the trust store.

                                                    + */ + inline bool TrustStoreArnHasBeenSet() const { return m_trustStoreArnHasBeenSet; } + + /** + *

                                                    The Amazon Resource Name (ARN) of the trust store.

                                                    + */ + inline void SetTrustStoreArn(const Aws::String& value) { m_trustStoreArnHasBeenSet = true; m_trustStoreArn = value; } + + /** + *

                                                    The Amazon Resource Name (ARN) of the trust store.

                                                    + */ + inline void SetTrustStoreArn(Aws::String&& value) { m_trustStoreArnHasBeenSet = true; m_trustStoreArn = std::move(value); } + + /** + *

                                                    The Amazon Resource Name (ARN) of the trust store.

                                                    + */ + inline void SetTrustStoreArn(const char* value) { m_trustStoreArnHasBeenSet = true; m_trustStoreArn.assign(value); } + + /** + *

                                                    The Amazon Resource Name (ARN) of the trust store.

                                                    + */ + inline ModifyTrustStoreRequest& WithTrustStoreArn(const Aws::String& value) { SetTrustStoreArn(value); return *this;} + + /** + *

                                                    The Amazon Resource Name (ARN) of the trust store.

                                                    + */ + inline ModifyTrustStoreRequest& WithTrustStoreArn(Aws::String&& value) { SetTrustStoreArn(std::move(value)); return *this;} + + /** + *

                                                    The Amazon Resource Name (ARN) of the trust store.

                                                    + */ + inline ModifyTrustStoreRequest& WithTrustStoreArn(const char* value) { SetTrustStoreArn(value); return *this;} + + + /** + *

                                                    The Amazon S3 bucket for the ca certificates bundle.

                                                    + */ + inline const Aws::String& GetCaCertificatesBundleS3Bucket() const{ return m_caCertificatesBundleS3Bucket; } + + /** + *

                                                    The Amazon S3 bucket for the ca certificates bundle.

                                                    + */ + inline bool CaCertificatesBundleS3BucketHasBeenSet() const { return m_caCertificatesBundleS3BucketHasBeenSet; } + + /** + *

                                                    The Amazon S3 bucket for the ca certificates bundle.

                                                    + */ + inline void SetCaCertificatesBundleS3Bucket(const Aws::String& value) { m_caCertificatesBundleS3BucketHasBeenSet = true; m_caCertificatesBundleS3Bucket = value; } + + /** + *

                                                    The Amazon S3 bucket for the ca certificates bundle.

                                                    + */ + inline void SetCaCertificatesBundleS3Bucket(Aws::String&& value) { m_caCertificatesBundleS3BucketHasBeenSet = true; m_caCertificatesBundleS3Bucket = std::move(value); } + + /** + *

                                                    The Amazon S3 bucket for the ca certificates bundle.

                                                    + */ + inline void SetCaCertificatesBundleS3Bucket(const char* value) { m_caCertificatesBundleS3BucketHasBeenSet = true; m_caCertificatesBundleS3Bucket.assign(value); } + + /** + *

                                                    The Amazon S3 bucket for the ca certificates bundle.

                                                    + */ + inline ModifyTrustStoreRequest& WithCaCertificatesBundleS3Bucket(const Aws::String& value) { SetCaCertificatesBundleS3Bucket(value); return *this;} + + /** + *

                                                    The Amazon S3 bucket for the ca certificates bundle.

                                                    + */ + inline ModifyTrustStoreRequest& WithCaCertificatesBundleS3Bucket(Aws::String&& value) { SetCaCertificatesBundleS3Bucket(std::move(value)); return *this;} + + /** + *

                                                    The Amazon S3 bucket for the ca certificates bundle.

                                                    + */ + inline ModifyTrustStoreRequest& WithCaCertificatesBundleS3Bucket(const char* value) { SetCaCertificatesBundleS3Bucket(value); return *this;} + + + /** + *

                                                    The Amazon S3 path for the ca certificates bundle.

                                                    + */ + inline const Aws::String& GetCaCertificatesBundleS3Key() const{ return m_caCertificatesBundleS3Key; } + + /** + *

                                                    The Amazon S3 path for the ca certificates bundle.

                                                    + */ + inline bool CaCertificatesBundleS3KeyHasBeenSet() const { return m_caCertificatesBundleS3KeyHasBeenSet; } + + /** + *

                                                    The Amazon S3 path for the ca certificates bundle.

                                                    + */ + inline void SetCaCertificatesBundleS3Key(const Aws::String& value) { m_caCertificatesBundleS3KeyHasBeenSet = true; m_caCertificatesBundleS3Key = value; } + + /** + *

                                                    The Amazon S3 path for the ca certificates bundle.

                                                    + */ + inline void SetCaCertificatesBundleS3Key(Aws::String&& value) { m_caCertificatesBundleS3KeyHasBeenSet = true; m_caCertificatesBundleS3Key = std::move(value); } + + /** + *

                                                    The Amazon S3 path for the ca certificates bundle.

                                                    + */ + inline void SetCaCertificatesBundleS3Key(const char* value) { m_caCertificatesBundleS3KeyHasBeenSet = true; m_caCertificatesBundleS3Key.assign(value); } + + /** + *

                                                    The Amazon S3 path for the ca certificates bundle.

                                                    + */ + inline ModifyTrustStoreRequest& WithCaCertificatesBundleS3Key(const Aws::String& value) { SetCaCertificatesBundleS3Key(value); return *this;} + + /** + *

                                                    The Amazon S3 path for the ca certificates bundle.

                                                    + */ + inline ModifyTrustStoreRequest& WithCaCertificatesBundleS3Key(Aws::String&& value) { SetCaCertificatesBundleS3Key(std::move(value)); return *this;} + + /** + *

                                                    The Amazon S3 path for the ca certificates bundle.

                                                    + */ + inline ModifyTrustStoreRequest& WithCaCertificatesBundleS3Key(const char* value) { SetCaCertificatesBundleS3Key(value); return *this;} + + + /** + *

                                                    The Amazon S3 object version for the ca certificates bundle. If undefined the + * current version is used.

                                                    + */ + inline const Aws::String& GetCaCertificatesBundleS3ObjectVersion() const{ return m_caCertificatesBundleS3ObjectVersion; } + + /** + *

                                                    The Amazon S3 object version for the ca certificates bundle. If undefined the + * current version is used.

                                                    + */ + inline bool CaCertificatesBundleS3ObjectVersionHasBeenSet() const { return m_caCertificatesBundleS3ObjectVersionHasBeenSet; } + + /** + *

                                                    The Amazon S3 object version for the ca certificates bundle. If undefined the + * current version is used.

                                                    + */ + inline void SetCaCertificatesBundleS3ObjectVersion(const Aws::String& value) { m_caCertificatesBundleS3ObjectVersionHasBeenSet = true; m_caCertificatesBundleS3ObjectVersion = value; } + + /** + *

                                                    The Amazon S3 object version for the ca certificates bundle. If undefined the + * current version is used.

                                                    + */ + inline void SetCaCertificatesBundleS3ObjectVersion(Aws::String&& value) { m_caCertificatesBundleS3ObjectVersionHasBeenSet = true; m_caCertificatesBundleS3ObjectVersion = std::move(value); } + + /** + *

                                                    The Amazon S3 object version for the ca certificates bundle. If undefined the + * current version is used.

                                                    + */ + inline void SetCaCertificatesBundleS3ObjectVersion(const char* value) { m_caCertificatesBundleS3ObjectVersionHasBeenSet = true; m_caCertificatesBundleS3ObjectVersion.assign(value); } + + /** + *

                                                    The Amazon S3 object version for the ca certificates bundle. If undefined the + * current version is used.

                                                    + */ + inline ModifyTrustStoreRequest& WithCaCertificatesBundleS3ObjectVersion(const Aws::String& value) { SetCaCertificatesBundleS3ObjectVersion(value); return *this;} + + /** + *

                                                    The Amazon S3 object version for the ca certificates bundle. If undefined the + * current version is used.

                                                    + */ + inline ModifyTrustStoreRequest& WithCaCertificatesBundleS3ObjectVersion(Aws::String&& value) { SetCaCertificatesBundleS3ObjectVersion(std::move(value)); return *this;} + + /** + *

                                                    The Amazon S3 object version for the ca certificates bundle. If undefined the + * current version is used.

                                                    + */ + inline ModifyTrustStoreRequest& WithCaCertificatesBundleS3ObjectVersion(const char* value) { SetCaCertificatesBundleS3ObjectVersion(value); return *this;} + + private: + + Aws::String m_trustStoreArn; + bool m_trustStoreArnHasBeenSet = false; + + Aws::String m_caCertificatesBundleS3Bucket; + bool m_caCertificatesBundleS3BucketHasBeenSet = false; + + Aws::String m_caCertificatesBundleS3Key; + bool m_caCertificatesBundleS3KeyHasBeenSet = false; + + Aws::String m_caCertificatesBundleS3ObjectVersion; + bool m_caCertificatesBundleS3ObjectVersionHasBeenSet = false; + }; + +} // namespace Model +} // namespace ElasticLoadBalancingv2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/ModifyTrustStoreResult.h b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/ModifyTrustStoreResult.h new file mode 100644 index 00000000000..6adf815df66 --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/ModifyTrustStoreResult.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 + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace ElasticLoadBalancingv2 +{ +namespace Model +{ + class ModifyTrustStoreResult + { + public: + AWS_ELASTICLOADBALANCINGV2_API ModifyTrustStoreResult(); + AWS_ELASTICLOADBALANCINGV2_API ModifyTrustStoreResult(const Aws::AmazonWebServiceResult& result); + AWS_ELASTICLOADBALANCINGV2_API ModifyTrustStoreResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

                                                    Information about the modified trust store.

                                                    + */ + inline const Aws::Vector& GetTrustStores() const{ return m_trustStores; } + + /** + *

                                                    Information about the modified trust store.

                                                    + */ + inline void SetTrustStores(const Aws::Vector& value) { m_trustStores = value; } + + /** + *

                                                    Information about the modified trust store.

                                                    + */ + inline void SetTrustStores(Aws::Vector&& value) { m_trustStores = std::move(value); } + + /** + *

                                                    Information about the modified trust store.

                                                    + */ + inline ModifyTrustStoreResult& WithTrustStores(const Aws::Vector& value) { SetTrustStores(value); return *this;} + + /** + *

                                                    Information about the modified trust store.

                                                    + */ + inline ModifyTrustStoreResult& WithTrustStores(Aws::Vector&& value) { SetTrustStores(std::move(value)); return *this;} + + /** + *

                                                    Information about the modified trust store.

                                                    + */ + inline ModifyTrustStoreResult& AddTrustStores(const TrustStore& value) { m_trustStores.push_back(value); return *this; } + + /** + *

                                                    Information about the modified trust store.

                                                    + */ + inline ModifyTrustStoreResult& AddTrustStores(TrustStore&& value) { m_trustStores.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 ModifyTrustStoreResult& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} + + + inline ModifyTrustStoreResult& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} + + private: + + Aws::Vector m_trustStores; + + ResponseMetadata m_responseMetadata; + }; + +} // namespace Model +} // namespace ElasticLoadBalancingv2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/MutualAuthenticationAttributes.h b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/MutualAuthenticationAttributes.h new file mode 100644 index 00000000000..4fa634d6efb --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/MutualAuthenticationAttributes.h @@ -0,0 +1,175 @@ +/** + * 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 ElasticLoadBalancingv2 +{ +namespace Model +{ + + /** + *

                                                    Information about the mutual authentication attributes of a + * listener.

                                                    See Also:

                                                    AWS + * API Reference

                                                    + */ + class MutualAuthenticationAttributes + { + public: + AWS_ELASTICLOADBALANCINGV2_API MutualAuthenticationAttributes(); + AWS_ELASTICLOADBALANCINGV2_API MutualAuthenticationAttributes(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_ELASTICLOADBALANCINGV2_API MutualAuthenticationAttributes& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_ELASTICLOADBALANCINGV2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; + AWS_ELASTICLOADBALANCINGV2_API void OutputToStream(Aws::OStream& oStream, const char* location) const; + + + /** + *

                                                    The client certificate handling method. Options are off, + * passthrough or verify. The default value is + * off.

                                                    + */ + inline const Aws::String& GetMode() const{ return m_mode; } + + /** + *

                                                    The client certificate handling method. Options are off, + * passthrough or verify. The default value is + * off.

                                                    + */ + inline bool ModeHasBeenSet() const { return m_modeHasBeenSet; } + + /** + *

                                                    The client certificate handling method. Options are off, + * passthrough or verify. The default value is + * off.

                                                    + */ + inline void SetMode(const Aws::String& value) { m_modeHasBeenSet = true; m_mode = value; } + + /** + *

                                                    The client certificate handling method. Options are off, + * passthrough or verify. The default value is + * off.

                                                    + */ + inline void SetMode(Aws::String&& value) { m_modeHasBeenSet = true; m_mode = std::move(value); } + + /** + *

                                                    The client certificate handling method. Options are off, + * passthrough or verify. The default value is + * off.

                                                    + */ + inline void SetMode(const char* value) { m_modeHasBeenSet = true; m_mode.assign(value); } + + /** + *

                                                    The client certificate handling method. Options are off, + * passthrough or verify. The default value is + * off.

                                                    + */ + inline MutualAuthenticationAttributes& WithMode(const Aws::String& value) { SetMode(value); return *this;} + + /** + *

                                                    The client certificate handling method. Options are off, + * passthrough or verify. The default value is + * off.

                                                    + */ + inline MutualAuthenticationAttributes& WithMode(Aws::String&& value) { SetMode(std::move(value)); return *this;} + + /** + *

                                                    The client certificate handling method. Options are off, + * passthrough or verify. The default value is + * off.

                                                    + */ + inline MutualAuthenticationAttributes& WithMode(const char* value) { SetMode(value); return *this;} + + + /** + *

                                                    The Amazon Resource Name (ARN) of the trust store.

                                                    + */ + inline const Aws::String& GetTrustStoreArn() const{ return m_trustStoreArn; } + + /** + *

                                                    The Amazon Resource Name (ARN) of the trust store.

                                                    + */ + inline bool TrustStoreArnHasBeenSet() const { return m_trustStoreArnHasBeenSet; } + + /** + *

                                                    The Amazon Resource Name (ARN) of the trust store.

                                                    + */ + inline void SetTrustStoreArn(const Aws::String& value) { m_trustStoreArnHasBeenSet = true; m_trustStoreArn = value; } + + /** + *

                                                    The Amazon Resource Name (ARN) of the trust store.

                                                    + */ + inline void SetTrustStoreArn(Aws::String&& value) { m_trustStoreArnHasBeenSet = true; m_trustStoreArn = std::move(value); } + + /** + *

                                                    The Amazon Resource Name (ARN) of the trust store.

                                                    + */ + inline void SetTrustStoreArn(const char* value) { m_trustStoreArnHasBeenSet = true; m_trustStoreArn.assign(value); } + + /** + *

                                                    The Amazon Resource Name (ARN) of the trust store.

                                                    + */ + inline MutualAuthenticationAttributes& WithTrustStoreArn(const Aws::String& value) { SetTrustStoreArn(value); return *this;} + + /** + *

                                                    The Amazon Resource Name (ARN) of the trust store.

                                                    + */ + inline MutualAuthenticationAttributes& WithTrustStoreArn(Aws::String&& value) { SetTrustStoreArn(std::move(value)); return *this;} + + /** + *

                                                    The Amazon Resource Name (ARN) of the trust store.

                                                    + */ + inline MutualAuthenticationAttributes& WithTrustStoreArn(const char* value) { SetTrustStoreArn(value); return *this;} + + + /** + *

                                                    Indicates whether expired client certificates are ignored.

                                                    + */ + inline bool GetIgnoreClientCertificateExpiry() const{ return m_ignoreClientCertificateExpiry; } + + /** + *

                                                    Indicates whether expired client certificates are ignored.

                                                    + */ + inline bool IgnoreClientCertificateExpiryHasBeenSet() const { return m_ignoreClientCertificateExpiryHasBeenSet; } + + /** + *

                                                    Indicates whether expired client certificates are ignored.

                                                    + */ + inline void SetIgnoreClientCertificateExpiry(bool value) { m_ignoreClientCertificateExpiryHasBeenSet = true; m_ignoreClientCertificateExpiry = value; } + + /** + *

                                                    Indicates whether expired client certificates are ignored.

                                                    + */ + inline MutualAuthenticationAttributes& WithIgnoreClientCertificateExpiry(bool value) { SetIgnoreClientCertificateExpiry(value); return *this;} + + private: + + Aws::String m_mode; + bool m_modeHasBeenSet = false; + + Aws::String m_trustStoreArn; + bool m_trustStoreArnHasBeenSet = false; + + bool m_ignoreClientCertificateExpiry; + bool m_ignoreClientCertificateExpiryHasBeenSet = false; + }; + +} // namespace Model +} // namespace ElasticLoadBalancingv2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/RemoveTrustStoreRevocationsRequest.h b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/RemoveTrustStoreRevocationsRequest.h new file mode 100644 index 00000000000..656a75d8852 --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/RemoveTrustStoreRevocationsRequest.h @@ -0,0 +1,127 @@ +/** + * 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 ElasticLoadBalancingv2 +{ +namespace Model +{ + + /** + */ + class RemoveTrustStoreRevocationsRequest : public ElasticLoadBalancingv2Request + { + public: + AWS_ELASTICLOADBALANCINGV2_API RemoveTrustStoreRevocationsRequest(); + + // 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 "RemoveTrustStoreRevocations"; } + + AWS_ELASTICLOADBALANCINGV2_API Aws::String SerializePayload() const override; + + protected: + AWS_ELASTICLOADBALANCINGV2_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + + /** + *

                                                    The Amazon Resource Name (ARN) of the trust store.

                                                    + */ + inline const Aws::String& GetTrustStoreArn() const{ return m_trustStoreArn; } + + /** + *

                                                    The Amazon Resource Name (ARN) of the trust store.

                                                    + */ + inline bool TrustStoreArnHasBeenSet() const { return m_trustStoreArnHasBeenSet; } + + /** + *

                                                    The Amazon Resource Name (ARN) of the trust store.

                                                    + */ + inline void SetTrustStoreArn(const Aws::String& value) { m_trustStoreArnHasBeenSet = true; m_trustStoreArn = value; } + + /** + *

                                                    The Amazon Resource Name (ARN) of the trust store.

                                                    + */ + inline void SetTrustStoreArn(Aws::String&& value) { m_trustStoreArnHasBeenSet = true; m_trustStoreArn = std::move(value); } + + /** + *

                                                    The Amazon Resource Name (ARN) of the trust store.

                                                    + */ + inline void SetTrustStoreArn(const char* value) { m_trustStoreArnHasBeenSet = true; m_trustStoreArn.assign(value); } + + /** + *

                                                    The Amazon Resource Name (ARN) of the trust store.

                                                    + */ + inline RemoveTrustStoreRevocationsRequest& WithTrustStoreArn(const Aws::String& value) { SetTrustStoreArn(value); return *this;} + + /** + *

                                                    The Amazon Resource Name (ARN) of the trust store.

                                                    + */ + inline RemoveTrustStoreRevocationsRequest& WithTrustStoreArn(Aws::String&& value) { SetTrustStoreArn(std::move(value)); return *this;} + + /** + *

                                                    The Amazon Resource Name (ARN) of the trust store.

                                                    + */ + inline RemoveTrustStoreRevocationsRequest& WithTrustStoreArn(const char* value) { SetTrustStoreArn(value); return *this;} + + + /** + *

                                                    The revocation IDs of the revocation files you want to remove.

                                                    + */ + inline const Aws::Vector& GetRevocationIds() const{ return m_revocationIds; } + + /** + *

                                                    The revocation IDs of the revocation files you want to remove.

                                                    + */ + inline bool RevocationIdsHasBeenSet() const { return m_revocationIdsHasBeenSet; } + + /** + *

                                                    The revocation IDs of the revocation files you want to remove.

                                                    + */ + inline void SetRevocationIds(const Aws::Vector& value) { m_revocationIdsHasBeenSet = true; m_revocationIds = value; } + + /** + *

                                                    The revocation IDs of the revocation files you want to remove.

                                                    + */ + inline void SetRevocationIds(Aws::Vector&& value) { m_revocationIdsHasBeenSet = true; m_revocationIds = std::move(value); } + + /** + *

                                                    The revocation IDs of the revocation files you want to remove.

                                                    + */ + inline RemoveTrustStoreRevocationsRequest& WithRevocationIds(const Aws::Vector& value) { SetRevocationIds(value); return *this;} + + /** + *

                                                    The revocation IDs of the revocation files you want to remove.

                                                    + */ + inline RemoveTrustStoreRevocationsRequest& WithRevocationIds(Aws::Vector&& value) { SetRevocationIds(std::move(value)); return *this;} + + /** + *

                                                    The revocation IDs of the revocation files you want to remove.

                                                    + */ + inline RemoveTrustStoreRevocationsRequest& AddRevocationIds(long long value) { m_revocationIdsHasBeenSet = true; m_revocationIds.push_back(value); return *this; } + + private: + + Aws::String m_trustStoreArn; + bool m_trustStoreArnHasBeenSet = false; + + Aws::Vector m_revocationIds; + bool m_revocationIdsHasBeenSet = false; + }; + +} // namespace Model +} // namespace ElasticLoadBalancingv2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/RemoveTrustStoreRevocationsResult.h b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/RemoveTrustStoreRevocationsResult.h new file mode 100644 index 00000000000..d5cbf641563 --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/RemoveTrustStoreRevocationsResult.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 + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace ElasticLoadBalancingv2 +{ +namespace Model +{ + class RemoveTrustStoreRevocationsResult + { + public: + AWS_ELASTICLOADBALANCINGV2_API RemoveTrustStoreRevocationsResult(); + AWS_ELASTICLOADBALANCINGV2_API RemoveTrustStoreRevocationsResult(const Aws::AmazonWebServiceResult& result); + AWS_ELASTICLOADBALANCINGV2_API RemoveTrustStoreRevocationsResult& 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 RemoveTrustStoreRevocationsResult& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} + + + inline RemoveTrustStoreRevocationsResult& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} + + private: + + ResponseMetadata m_responseMetadata; + }; + +} // namespace Model +} // namespace ElasticLoadBalancingv2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/RevocationContent.h b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/RevocationContent.h new file mode 100644 index 00000000000..ced87a29ec0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/RevocationContent.h @@ -0,0 +1,213 @@ +/** + * 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 ElasticLoadBalancingv2 +{ +namespace Model +{ + + /** + *

                                                    Information about a revocation file.

                                                    See Also:

                                                    AWS + * API Reference

                                                    + */ + class RevocationContent + { + public: + AWS_ELASTICLOADBALANCINGV2_API RevocationContent(); + AWS_ELASTICLOADBALANCINGV2_API RevocationContent(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_ELASTICLOADBALANCINGV2_API RevocationContent& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_ELASTICLOADBALANCINGV2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; + AWS_ELASTICLOADBALANCINGV2_API void OutputToStream(Aws::OStream& oStream, const char* location) const; + + + /** + *

                                                    The Amazon S3 bucket for the revocation file.

                                                    + */ + inline const Aws::String& GetS3Bucket() const{ return m_s3Bucket; } + + /** + *

                                                    The Amazon S3 bucket for the revocation file.

                                                    + */ + inline bool S3BucketHasBeenSet() const { return m_s3BucketHasBeenSet; } + + /** + *

                                                    The Amazon S3 bucket for the revocation file.

                                                    + */ + inline void SetS3Bucket(const Aws::String& value) { m_s3BucketHasBeenSet = true; m_s3Bucket = value; } + + /** + *

                                                    The Amazon S3 bucket for the revocation file.

                                                    + */ + inline void SetS3Bucket(Aws::String&& value) { m_s3BucketHasBeenSet = true; m_s3Bucket = std::move(value); } + + /** + *

                                                    The Amazon S3 bucket for the revocation file.

                                                    + */ + inline void SetS3Bucket(const char* value) { m_s3BucketHasBeenSet = true; m_s3Bucket.assign(value); } + + /** + *

                                                    The Amazon S3 bucket for the revocation file.

                                                    + */ + inline RevocationContent& WithS3Bucket(const Aws::String& value) { SetS3Bucket(value); return *this;} + + /** + *

                                                    The Amazon S3 bucket for the revocation file.

                                                    + */ + inline RevocationContent& WithS3Bucket(Aws::String&& value) { SetS3Bucket(std::move(value)); return *this;} + + /** + *

                                                    The Amazon S3 bucket for the revocation file.

                                                    + */ + inline RevocationContent& WithS3Bucket(const char* value) { SetS3Bucket(value); return *this;} + + + /** + *

                                                    The Amazon S3 path for the revocation file.

                                                    + */ + inline const Aws::String& GetS3Key() const{ return m_s3Key; } + + /** + *

                                                    The Amazon S3 path for the revocation file.

                                                    + */ + inline bool S3KeyHasBeenSet() const { return m_s3KeyHasBeenSet; } + + /** + *

                                                    The Amazon S3 path for the revocation file.

                                                    + */ + inline void SetS3Key(const Aws::String& value) { m_s3KeyHasBeenSet = true; m_s3Key = value; } + + /** + *

                                                    The Amazon S3 path for the revocation file.

                                                    + */ + inline void SetS3Key(Aws::String&& value) { m_s3KeyHasBeenSet = true; m_s3Key = std::move(value); } + + /** + *

                                                    The Amazon S3 path for the revocation file.

                                                    + */ + inline void SetS3Key(const char* value) { m_s3KeyHasBeenSet = true; m_s3Key.assign(value); } + + /** + *

                                                    The Amazon S3 path for the revocation file.

                                                    + */ + inline RevocationContent& WithS3Key(const Aws::String& value) { SetS3Key(value); return *this;} + + /** + *

                                                    The Amazon S3 path for the revocation file.

                                                    + */ + inline RevocationContent& WithS3Key(Aws::String&& value) { SetS3Key(std::move(value)); return *this;} + + /** + *

                                                    The Amazon S3 path for the revocation file.

                                                    + */ + inline RevocationContent& WithS3Key(const char* value) { SetS3Key(value); return *this;} + + + /** + *

                                                    The Amazon S3 object version of the revocation file.

                                                    + */ + inline const Aws::String& GetS3ObjectVersion() const{ return m_s3ObjectVersion; } + + /** + *

                                                    The Amazon S3 object version of the revocation file.

                                                    + */ + inline bool S3ObjectVersionHasBeenSet() const { return m_s3ObjectVersionHasBeenSet; } + + /** + *

                                                    The Amazon S3 object version of the revocation file.

                                                    + */ + inline void SetS3ObjectVersion(const Aws::String& value) { m_s3ObjectVersionHasBeenSet = true; m_s3ObjectVersion = value; } + + /** + *

                                                    The Amazon S3 object version of the revocation file.

                                                    + */ + inline void SetS3ObjectVersion(Aws::String&& value) { m_s3ObjectVersionHasBeenSet = true; m_s3ObjectVersion = std::move(value); } + + /** + *

                                                    The Amazon S3 object version of the revocation file.

                                                    + */ + inline void SetS3ObjectVersion(const char* value) { m_s3ObjectVersionHasBeenSet = true; m_s3ObjectVersion.assign(value); } + + /** + *

                                                    The Amazon S3 object version of the revocation file.

                                                    + */ + inline RevocationContent& WithS3ObjectVersion(const Aws::String& value) { SetS3ObjectVersion(value); return *this;} + + /** + *

                                                    The Amazon S3 object version of the revocation file.

                                                    + */ + inline RevocationContent& WithS3ObjectVersion(Aws::String&& value) { SetS3ObjectVersion(std::move(value)); return *this;} + + /** + *

                                                    The Amazon S3 object version of the revocation file.

                                                    + */ + inline RevocationContent& WithS3ObjectVersion(const char* value) { SetS3ObjectVersion(value); return *this;} + + + /** + *

                                                    The type of revocation file.

                                                    + */ + inline const RevocationType& GetRevocationType() const{ return m_revocationType; } + + /** + *

                                                    The type of revocation file.

                                                    + */ + inline bool RevocationTypeHasBeenSet() const { return m_revocationTypeHasBeenSet; } + + /** + *

                                                    The type of revocation file.

                                                    + */ + inline void SetRevocationType(const RevocationType& value) { m_revocationTypeHasBeenSet = true; m_revocationType = value; } + + /** + *

                                                    The type of revocation file.

                                                    + */ + inline void SetRevocationType(RevocationType&& value) { m_revocationTypeHasBeenSet = true; m_revocationType = std::move(value); } + + /** + *

                                                    The type of revocation file.

                                                    + */ + inline RevocationContent& WithRevocationType(const RevocationType& value) { SetRevocationType(value); return *this;} + + /** + *

                                                    The type of revocation file.

                                                    + */ + inline RevocationContent& WithRevocationType(RevocationType&& value) { SetRevocationType(std::move(value)); return *this;} + + private: + + Aws::String m_s3Bucket; + bool m_s3BucketHasBeenSet = false; + + Aws::String m_s3Key; + bool m_s3KeyHasBeenSet = false; + + Aws::String m_s3ObjectVersion; + bool m_s3ObjectVersionHasBeenSet = false; + + RevocationType m_revocationType; + bool m_revocationTypeHasBeenSet = false; + }; + +} // namespace Model +} // namespace ElasticLoadBalancingv2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/RevocationType.h b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/RevocationType.h new file mode 100644 index 00000000000..b810380f77e --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/RevocationType.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 ElasticLoadBalancingv2 +{ +namespace Model +{ + enum class RevocationType + { + NOT_SET, + CRL + }; + +namespace RevocationTypeMapper +{ +AWS_ELASTICLOADBALANCINGV2_API RevocationType GetRevocationTypeForName(const Aws::String& name); + +AWS_ELASTICLOADBALANCINGV2_API Aws::String GetNameForRevocationType(RevocationType value); +} // namespace RevocationTypeMapper +} // namespace Model +} // namespace ElasticLoadBalancingv2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/TargetGroupAttribute.h b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/TargetGroupAttribute.h index f1abd7e7548..be800c967fa 100644 --- a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/TargetGroupAttribute.h +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/TargetGroupAttribute.h @@ -87,13 +87,17 @@ namespace Model * Balancer and the target is an instance or an IP address:

                                                    • * load_balancing.algorithm.type - The load balancing algorithm * determines how the load balancer selects targets when routing requests. The - * value is round_robin or least_outstanding_requests. - * The default is round_robin.

                                                    • - * slow_start.duration_seconds - The time period, in seconds, during - * which a newly registered target receives an increasing share of the traffic to - * the target group. After this time period ends, the target receives its full - * share of traffic. The range is 30-900 seconds (15 minutes). The default is 0 - * seconds (disabled).

                                                    • + * value is round_robin, least_outstanding_requests, or + * weighted_random. The default is round_robin.

                                                    • + *
                                                    • load_balancing.algorithm.anomaly_mitigation - Only + * available when load_balancing.algorithm.type is + * weighted_random. Indicates whether anomaly mitigation is enabled. + * The value is on or off. The default is + * off.

                                                    • slow_start.duration_seconds - + * The time period, in seconds, during which a newly registered target receives an + * increasing share of the traffic to the target group. After this time period + * ends, the target receives its full share of traffic. The range is 30-900 seconds + * (15 minutes). The default is 0 seconds (disabled).

                                                    • * stickiness.app_cookie.cookie_name - Indicates the name of the * application-based cookie. Names that start with the following prefixes are not * allowed: AWSALB, AWSALBAPP, and AWSALBTG; @@ -201,13 +205,17 @@ namespace Model * Balancer and the target is an instance or an IP address:

                                                      • * load_balancing.algorithm.type - The load balancing algorithm * determines how the load balancer selects targets when routing requests. The - * value is round_robin or least_outstanding_requests. - * The default is round_robin.

                                                      • - * slow_start.duration_seconds - The time period, in seconds, during - * which a newly registered target receives an increasing share of the traffic to - * the target group. After this time period ends, the target receives its full - * share of traffic. The range is 30-900 seconds (15 minutes). The default is 0 - * seconds (disabled).

                                                      • + * value is round_robin, least_outstanding_requests, or + * weighted_random. The default is round_robin.

                                                      • + *
                                                      • load_balancing.algorithm.anomaly_mitigation - Only + * available when load_balancing.algorithm.type is + * weighted_random. Indicates whether anomaly mitigation is enabled. + * The value is on or off. The default is + * off.

                                                      • slow_start.duration_seconds - + * The time period, in seconds, during which a newly registered target receives an + * increasing share of the traffic to the target group. After this time period + * ends, the target receives its full share of traffic. The range is 30-900 seconds + * (15 minutes). The default is 0 seconds (disabled).

                                                      • * stickiness.app_cookie.cookie_name - Indicates the name of the * application-based cookie. Names that start with the following prefixes are not * allowed: AWSALB, AWSALBAPP, and AWSALBTG; @@ -315,13 +323,17 @@ namespace Model * Balancer and the target is an instance or an IP address:

                                                        • * load_balancing.algorithm.type - The load balancing algorithm * determines how the load balancer selects targets when routing requests. The - * value is round_robin or least_outstanding_requests. - * The default is round_robin.

                                                        • - * slow_start.duration_seconds - The time period, in seconds, during - * which a newly registered target receives an increasing share of the traffic to - * the target group. After this time period ends, the target receives its full - * share of traffic. The range is 30-900 seconds (15 minutes). The default is 0 - * seconds (disabled).

                                                        • + * value is round_robin, least_outstanding_requests, or + * weighted_random. The default is round_robin.

                                                        • + *
                                                        • load_balancing.algorithm.anomaly_mitigation - Only + * available when load_balancing.algorithm.type is + * weighted_random. Indicates whether anomaly mitigation is enabled. + * The value is on or off. The default is + * off.

                                                        • slow_start.duration_seconds - + * The time period, in seconds, during which a newly registered target receives an + * increasing share of the traffic to the target group. After this time period + * ends, the target receives its full share of traffic. The range is 30-900 seconds + * (15 minutes). The default is 0 seconds (disabled).

                                                        • * stickiness.app_cookie.cookie_name - Indicates the name of the * application-based cookie. Names that start with the following prefixes are not * allowed: AWSALB, AWSALBAPP, and AWSALBTG; @@ -429,13 +441,17 @@ namespace Model * Balancer and the target is an instance or an IP address:

                                                          • * load_balancing.algorithm.type - The load balancing algorithm * determines how the load balancer selects targets when routing requests. The - * value is round_robin or least_outstanding_requests. - * The default is round_robin.

                                                          • - * slow_start.duration_seconds - The time period, in seconds, during - * which a newly registered target receives an increasing share of the traffic to - * the target group. After this time period ends, the target receives its full - * share of traffic. The range is 30-900 seconds (15 minutes). The default is 0 - * seconds (disabled).

                                                          • + * value is round_robin, least_outstanding_requests, or + * weighted_random. The default is round_robin.

                                                          • + *
                                                          • load_balancing.algorithm.anomaly_mitigation - Only + * available when load_balancing.algorithm.type is + * weighted_random. Indicates whether anomaly mitigation is enabled. + * The value is on or off. The default is + * off.

                                                          • slow_start.duration_seconds - + * The time period, in seconds, during which a newly registered target receives an + * increasing share of the traffic to the target group. After this time period + * ends, the target receives its full share of traffic. The range is 30-900 seconds + * (15 minutes). The default is 0 seconds (disabled).

                                                          • * stickiness.app_cookie.cookie_name - Indicates the name of the * application-based cookie. Names that start with the following prefixes are not * allowed: AWSALB, AWSALBAPP, and AWSALBTG; @@ -543,13 +559,17 @@ namespace Model * Balancer and the target is an instance or an IP address:

                                                            • * load_balancing.algorithm.type - The load balancing algorithm * determines how the load balancer selects targets when routing requests. The - * value is round_robin or least_outstanding_requests. - * The default is round_robin.

                                                            • - * slow_start.duration_seconds - The time period, in seconds, during - * which a newly registered target receives an increasing share of the traffic to - * the target group. After this time period ends, the target receives its full - * share of traffic. The range is 30-900 seconds (15 minutes). The default is 0 - * seconds (disabled).

                                                            • + * value is round_robin, least_outstanding_requests, or + * weighted_random. The default is round_robin.

                                                            • + *
                                                            • load_balancing.algorithm.anomaly_mitigation - Only + * available when load_balancing.algorithm.type is + * weighted_random. Indicates whether anomaly mitigation is enabled. + * The value is on or off. The default is + * off.

                                                            • slow_start.duration_seconds - + * The time period, in seconds, during which a newly registered target receives an + * increasing share of the traffic to the target group. After this time period + * ends, the target receives its full share of traffic. The range is 30-900 seconds + * (15 minutes). The default is 0 seconds (disabled).

                                                            • * stickiness.app_cookie.cookie_name - Indicates the name of the * application-based cookie. Names that start with the following prefixes are not * allowed: AWSALB, AWSALBAPP, and AWSALBTG; @@ -657,13 +677,17 @@ namespace Model * Balancer and the target is an instance or an IP address:

                                                              • * load_balancing.algorithm.type - The load balancing algorithm * determines how the load balancer selects targets when routing requests. The - * value is round_robin or least_outstanding_requests. - * The default is round_robin.

                                                              • - * slow_start.duration_seconds - The time period, in seconds, during - * which a newly registered target receives an increasing share of the traffic to - * the target group. After this time period ends, the target receives its full - * share of traffic. The range is 30-900 seconds (15 minutes). The default is 0 - * seconds (disabled).

                                                              • + * value is round_robin, least_outstanding_requests, or + * weighted_random. The default is round_robin.

                                                              • + *
                                                              • load_balancing.algorithm.anomaly_mitigation - Only + * available when load_balancing.algorithm.type is + * weighted_random. Indicates whether anomaly mitigation is enabled. + * The value is on or off. The default is + * off.

                                                              • slow_start.duration_seconds - + * The time period, in seconds, during which a newly registered target receives an + * increasing share of the traffic to the target group. After this time period + * ends, the target receives its full share of traffic. The range is 30-900 seconds + * (15 minutes). The default is 0 seconds (disabled).

                                                              • * stickiness.app_cookie.cookie_name - Indicates the name of the * application-based cookie. Names that start with the following prefixes are not * allowed: AWSALB, AWSALBAPP, and AWSALBTG; @@ -771,13 +795,17 @@ namespace Model * Balancer and the target is an instance or an IP address:

                                                                • * load_balancing.algorithm.type - The load balancing algorithm * determines how the load balancer selects targets when routing requests. The - * value is round_robin or least_outstanding_requests. - * The default is round_robin.

                                                                • - * slow_start.duration_seconds - The time period, in seconds, during - * which a newly registered target receives an increasing share of the traffic to - * the target group. After this time period ends, the target receives its full - * share of traffic. The range is 30-900 seconds (15 minutes). The default is 0 - * seconds (disabled).

                                                                • + * value is round_robin, least_outstanding_requests, or + * weighted_random. The default is round_robin.

                                                                • + *
                                                                • load_balancing.algorithm.anomaly_mitigation - Only + * available when load_balancing.algorithm.type is + * weighted_random. Indicates whether anomaly mitigation is enabled. + * The value is on or off. The default is + * off.

                                                                • slow_start.duration_seconds - + * The time period, in seconds, during which a newly registered target receives an + * increasing share of the traffic to the target group. After this time period + * ends, the target receives its full share of traffic. The range is 30-900 seconds + * (15 minutes). The default is 0 seconds (disabled).

                                                                • * stickiness.app_cookie.cookie_name - Indicates the name of the * application-based cookie. Names that start with the following prefixes are not * allowed: AWSALB, AWSALBAPP, and AWSALBTG; @@ -885,13 +913,17 @@ namespace Model * Balancer and the target is an instance or an IP address:

                                                                  • * load_balancing.algorithm.type - The load balancing algorithm * determines how the load balancer selects targets when routing requests. The - * value is round_robin or least_outstanding_requests. - * The default is round_robin.

                                                                  • - * slow_start.duration_seconds - The time period, in seconds, during - * which a newly registered target receives an increasing share of the traffic to - * the target group. After this time period ends, the target receives its full - * share of traffic. The range is 30-900 seconds (15 minutes). The default is 0 - * seconds (disabled).

                                                                  • + * value is round_robin, least_outstanding_requests, or + * weighted_random. The default is round_robin.

                                                                  • + *
                                                                  • load_balancing.algorithm.anomaly_mitigation - Only + * available when load_balancing.algorithm.type is + * weighted_random. Indicates whether anomaly mitigation is enabled. + * The value is on or off. The default is + * off.

                                                                  • slow_start.duration_seconds - + * The time period, in seconds, during which a newly registered target receives an + * increasing share of the traffic to the target group. After this time period + * ends, the target receives its full share of traffic. The range is 30-900 seconds + * (15 minutes). The default is 0 seconds (disabled).

                                                                  • * stickiness.app_cookie.cookie_name - Indicates the name of the * application-based cookie. Names that start with the following prefixes are not * allowed: AWSALB, AWSALBAPP, and AWSALBTG; diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/TargetHealthDescription.h b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/TargetHealthDescription.h index ae8910303d6..1fe07a864d9 100644 --- a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/TargetHealthDescription.h +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/TargetHealthDescription.h @@ -9,6 +9,7 @@ #include #include #include +#include #include namespace Aws @@ -143,6 +144,49 @@ namespace Model */ inline TargetHealthDescription& WithTargetHealth(TargetHealth&& value) { SetTargetHealth(std::move(value)); return *this;} + + /** + *

                                                                    The anomaly detection result for the target.

                                                                    If no anomalies were + * detected, the result is normal.

                                                                    If anomalies were detected, + * the result is anomalous.

                                                                    + */ + inline const AnomalyDetection& GetAnomalyDetection() const{ return m_anomalyDetection; } + + /** + *

                                                                    The anomaly detection result for the target.

                                                                    If no anomalies were + * detected, the result is normal.

                                                                    If anomalies were detected, + * the result is anomalous.

                                                                    + */ + inline bool AnomalyDetectionHasBeenSet() const { return m_anomalyDetectionHasBeenSet; } + + /** + *

                                                                    The anomaly detection result for the target.

                                                                    If no anomalies were + * detected, the result is normal.

                                                                    If anomalies were detected, + * the result is anomalous.

                                                                    + */ + inline void SetAnomalyDetection(const AnomalyDetection& value) { m_anomalyDetectionHasBeenSet = true; m_anomalyDetection = value; } + + /** + *

                                                                    The anomaly detection result for the target.

                                                                    If no anomalies were + * detected, the result is normal.

                                                                    If anomalies were detected, + * the result is anomalous.

                                                                    + */ + inline void SetAnomalyDetection(AnomalyDetection&& value) { m_anomalyDetectionHasBeenSet = true; m_anomalyDetection = std::move(value); } + + /** + *

                                                                    The anomaly detection result for the target.

                                                                    If no anomalies were + * detected, the result is normal.

                                                                    If anomalies were detected, + * the result is anomalous.

                                                                    + */ + inline TargetHealthDescription& WithAnomalyDetection(const AnomalyDetection& value) { SetAnomalyDetection(value); return *this;} + + /** + *

                                                                    The anomaly detection result for the target.

                                                                    If no anomalies were + * detected, the result is normal.

                                                                    If anomalies were detected, + * the result is anomalous.

                                                                    + */ + inline TargetHealthDescription& WithAnomalyDetection(AnomalyDetection&& value) { SetAnomalyDetection(std::move(value)); return *this;} + private: TargetDescription m_target; @@ -153,6 +197,9 @@ namespace Model TargetHealth m_targetHealth; bool m_targetHealthHasBeenSet = false; + + AnomalyDetection m_anomalyDetection; + bool m_anomalyDetectionHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/TrustStore.h b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/TrustStore.h new file mode 100644 index 00000000000..799a7d931d2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/TrustStore.h @@ -0,0 +1,217 @@ +/** + * 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 ElasticLoadBalancingv2 +{ +namespace Model +{ + + /** + *

                                                                    Information about a trust store.

                                                                    See Also:

                                                                    AWS + * API Reference

                                                                    + */ + class TrustStore + { + public: + AWS_ELASTICLOADBALANCINGV2_API TrustStore(); + AWS_ELASTICLOADBALANCINGV2_API TrustStore(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_ELASTICLOADBALANCINGV2_API TrustStore& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_ELASTICLOADBALANCINGV2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; + AWS_ELASTICLOADBALANCINGV2_API void OutputToStream(Aws::OStream& oStream, const char* location) const; + + + /** + *

                                                                    The name of the trust store.

                                                                    + */ + inline const Aws::String& GetName() const{ return m_name; } + + /** + *

                                                                    The name of the trust store.

                                                                    + */ + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + + /** + *

                                                                    The name of the trust store.

                                                                    + */ + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + + /** + *

                                                                    The name of the trust store.

                                                                    + */ + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + + /** + *

                                                                    The name of the trust store.

                                                                    + */ + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + + /** + *

                                                                    The name of the trust store.

                                                                    + */ + inline TrustStore& WithName(const Aws::String& value) { SetName(value); return *this;} + + /** + *

                                                                    The name of the trust store.

                                                                    + */ + inline TrustStore& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + + /** + *

                                                                    The name of the trust store.

                                                                    + */ + inline TrustStore& WithName(const char* value) { SetName(value); return *this;} + + + /** + *

                                                                    The Amazon Resource Name (ARN) of the trust store.

                                                                    + */ + inline const Aws::String& GetTrustStoreArn() const{ return m_trustStoreArn; } + + /** + *

                                                                    The Amazon Resource Name (ARN) of the trust store.

                                                                    + */ + inline bool TrustStoreArnHasBeenSet() const { return m_trustStoreArnHasBeenSet; } + + /** + *

                                                                    The Amazon Resource Name (ARN) of the trust store.

                                                                    + */ + inline void SetTrustStoreArn(const Aws::String& value) { m_trustStoreArnHasBeenSet = true; m_trustStoreArn = value; } + + /** + *

                                                                    The Amazon Resource Name (ARN) of the trust store.

                                                                    + */ + inline void SetTrustStoreArn(Aws::String&& value) { m_trustStoreArnHasBeenSet = true; m_trustStoreArn = std::move(value); } + + /** + *

                                                                    The Amazon Resource Name (ARN) of the trust store.

                                                                    + */ + inline void SetTrustStoreArn(const char* value) { m_trustStoreArnHasBeenSet = true; m_trustStoreArn.assign(value); } + + /** + *

                                                                    The Amazon Resource Name (ARN) of the trust store.

                                                                    + */ + inline TrustStore& WithTrustStoreArn(const Aws::String& value) { SetTrustStoreArn(value); return *this;} + + /** + *

                                                                    The Amazon Resource Name (ARN) of the trust store.

                                                                    + */ + inline TrustStore& WithTrustStoreArn(Aws::String&& value) { SetTrustStoreArn(std::move(value)); return *this;} + + /** + *

                                                                    The Amazon Resource Name (ARN) of the trust store.

                                                                    + */ + inline TrustStore& WithTrustStoreArn(const char* value) { SetTrustStoreArn(value); return *this;} + + + /** + *

                                                                    The current status of the trust store.

                                                                    + */ + inline const TrustStoreStatus& GetStatus() const{ return m_status; } + + /** + *

                                                                    The current status of the trust store.

                                                                    + */ + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + + /** + *

                                                                    The current status of the trust store.

                                                                    + */ + inline void SetStatus(const TrustStoreStatus& value) { m_statusHasBeenSet = true; m_status = value; } + + /** + *

                                                                    The current status of the trust store.

                                                                    + */ + inline void SetStatus(TrustStoreStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } + + /** + *

                                                                    The current status of the trust store.

                                                                    + */ + inline TrustStore& WithStatus(const TrustStoreStatus& value) { SetStatus(value); return *this;} + + /** + *

                                                                    The current status of the trust store.

                                                                    + */ + inline TrustStore& WithStatus(TrustStoreStatus&& value) { SetStatus(std::move(value)); return *this;} + + + /** + *

                                                                    The number of ca certificates in the trust store.

                                                                    + */ + inline int GetNumberOfCaCertificates() const{ return m_numberOfCaCertificates; } + + /** + *

                                                                    The number of ca certificates in the trust store.

                                                                    + */ + inline bool NumberOfCaCertificatesHasBeenSet() const { return m_numberOfCaCertificatesHasBeenSet; } + + /** + *

                                                                    The number of ca certificates in the trust store.

                                                                    + */ + inline void SetNumberOfCaCertificates(int value) { m_numberOfCaCertificatesHasBeenSet = true; m_numberOfCaCertificates = value; } + + /** + *

                                                                    The number of ca certificates in the trust store.

                                                                    + */ + inline TrustStore& WithNumberOfCaCertificates(int value) { SetNumberOfCaCertificates(value); return *this;} + + + /** + *

                                                                    The number of revoked certificates in the trust store.

                                                                    + */ + inline long long GetTotalRevokedEntries() const{ return m_totalRevokedEntries; } + + /** + *

                                                                    The number of revoked certificates in the trust store.

                                                                    + */ + inline bool TotalRevokedEntriesHasBeenSet() const { return m_totalRevokedEntriesHasBeenSet; } + + /** + *

                                                                    The number of revoked certificates in the trust store.

                                                                    + */ + inline void SetTotalRevokedEntries(long long value) { m_totalRevokedEntriesHasBeenSet = true; m_totalRevokedEntries = value; } + + /** + *

                                                                    The number of revoked certificates in the trust store.

                                                                    + */ + inline TrustStore& WithTotalRevokedEntries(long long value) { SetTotalRevokedEntries(value); return *this;} + + private: + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::String m_trustStoreArn; + bool m_trustStoreArnHasBeenSet = false; + + TrustStoreStatus m_status; + bool m_statusHasBeenSet = false; + + int m_numberOfCaCertificates; + bool m_numberOfCaCertificatesHasBeenSet = false; + + long long m_totalRevokedEntries; + bool m_totalRevokedEntriesHasBeenSet = false; + }; + +} // namespace Model +} // namespace ElasticLoadBalancingv2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/TrustStoreAssociation.h b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/TrustStoreAssociation.h new file mode 100644 index 00000000000..c52edc7a1b8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/TrustStoreAssociation.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 Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace ElasticLoadBalancingv2 +{ +namespace Model +{ + + /** + *

                                                                    Information about the resources a trust store is associated + * with.

                                                                    See Also:

                                                                    AWS + * API Reference

                                                                    + */ + class TrustStoreAssociation + { + public: + AWS_ELASTICLOADBALANCINGV2_API TrustStoreAssociation(); + AWS_ELASTICLOADBALANCINGV2_API TrustStoreAssociation(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_ELASTICLOADBALANCINGV2_API TrustStoreAssociation& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_ELASTICLOADBALANCINGV2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; + AWS_ELASTICLOADBALANCINGV2_API void OutputToStream(Aws::OStream& oStream, const char* location) const; + + + /** + *

                                                                    The Amazon Resource Name (ARN) of the resource.

                                                                    + */ + inline const Aws::String& GetResourceArn() const{ return m_resourceArn; } + + /** + *

                                                                    The Amazon Resource Name (ARN) of the resource.

                                                                    + */ + inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; } + + /** + *

                                                                    The Amazon Resource Name (ARN) of the resource.

                                                                    + */ + inline void SetResourceArn(const Aws::String& value) { m_resourceArnHasBeenSet = true; m_resourceArn = value; } + + /** + *

                                                                    The Amazon Resource Name (ARN) of the resource.

                                                                    + */ + inline void SetResourceArn(Aws::String&& value) { m_resourceArnHasBeenSet = true; m_resourceArn = std::move(value); } + + /** + *

                                                                    The Amazon Resource Name (ARN) of the resource.

                                                                    + */ + inline void SetResourceArn(const char* value) { m_resourceArnHasBeenSet = true; m_resourceArn.assign(value); } + + /** + *

                                                                    The Amazon Resource Name (ARN) of the resource.

                                                                    + */ + inline TrustStoreAssociation& WithResourceArn(const Aws::String& value) { SetResourceArn(value); return *this;} + + /** + *

                                                                    The Amazon Resource Name (ARN) of the resource.

                                                                    + */ + inline TrustStoreAssociation& WithResourceArn(Aws::String&& value) { SetResourceArn(std::move(value)); return *this;} + + /** + *

                                                                    The Amazon Resource Name (ARN) of the resource.

                                                                    + */ + inline TrustStoreAssociation& WithResourceArn(const char* value) { SetResourceArn(value); return *this;} + + private: + + Aws::String m_resourceArn; + bool m_resourceArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace ElasticLoadBalancingv2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/TrustStoreRevocation.h b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/TrustStoreRevocation.h new file mode 100644 index 00000000000..fda167851bb --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/TrustStoreRevocation.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 +#include + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace ElasticLoadBalancingv2 +{ +namespace Model +{ + + /** + *

                                                                    Information about a revocation file in use by a trust store.

                                                                    See + * Also:

                                                                    AWS + * API Reference

                                                                    + */ + class TrustStoreRevocation + { + public: + AWS_ELASTICLOADBALANCINGV2_API TrustStoreRevocation(); + AWS_ELASTICLOADBALANCINGV2_API TrustStoreRevocation(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_ELASTICLOADBALANCINGV2_API TrustStoreRevocation& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_ELASTICLOADBALANCINGV2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; + AWS_ELASTICLOADBALANCINGV2_API void OutputToStream(Aws::OStream& oStream, const char* location) const; + + + /** + *

                                                                    The Amazon Resource Name (ARN) of the trust store.

                                                                    + */ + inline const Aws::String& GetTrustStoreArn() const{ return m_trustStoreArn; } + + /** + *

                                                                    The Amazon Resource Name (ARN) of the trust store.

                                                                    + */ + inline bool TrustStoreArnHasBeenSet() const { return m_trustStoreArnHasBeenSet; } + + /** + *

                                                                    The Amazon Resource Name (ARN) of the trust store.

                                                                    + */ + inline void SetTrustStoreArn(const Aws::String& value) { m_trustStoreArnHasBeenSet = true; m_trustStoreArn = value; } + + /** + *

                                                                    The Amazon Resource Name (ARN) of the trust store.

                                                                    + */ + inline void SetTrustStoreArn(Aws::String&& value) { m_trustStoreArnHasBeenSet = true; m_trustStoreArn = std::move(value); } + + /** + *

                                                                    The Amazon Resource Name (ARN) of the trust store.

                                                                    + */ + inline void SetTrustStoreArn(const char* value) { m_trustStoreArnHasBeenSet = true; m_trustStoreArn.assign(value); } + + /** + *

                                                                    The Amazon Resource Name (ARN) of the trust store.

                                                                    + */ + inline TrustStoreRevocation& WithTrustStoreArn(const Aws::String& value) { SetTrustStoreArn(value); return *this;} + + /** + *

                                                                    The Amazon Resource Name (ARN) of the trust store.

                                                                    + */ + inline TrustStoreRevocation& WithTrustStoreArn(Aws::String&& value) { SetTrustStoreArn(std::move(value)); return *this;} + + /** + *

                                                                    The Amazon Resource Name (ARN) of the trust store.

                                                                    + */ + inline TrustStoreRevocation& WithTrustStoreArn(const char* value) { SetTrustStoreArn(value); return *this;} + + + /** + *

                                                                    The revocation ID of the revocation file.

                                                                    + */ + inline long long GetRevocationId() const{ return m_revocationId; } + + /** + *

                                                                    The revocation ID of the revocation file.

                                                                    + */ + inline bool RevocationIdHasBeenSet() const { return m_revocationIdHasBeenSet; } + + /** + *

                                                                    The revocation ID of the revocation file.

                                                                    + */ + inline void SetRevocationId(long long value) { m_revocationIdHasBeenSet = true; m_revocationId = value; } + + /** + *

                                                                    The revocation ID of the revocation file.

                                                                    + */ + inline TrustStoreRevocation& WithRevocationId(long long value) { SetRevocationId(value); return *this;} + + + /** + *

                                                                    The type of revocation file.

                                                                    + */ + inline const RevocationType& GetRevocationType() const{ return m_revocationType; } + + /** + *

                                                                    The type of revocation file.

                                                                    + */ + inline bool RevocationTypeHasBeenSet() const { return m_revocationTypeHasBeenSet; } + + /** + *

                                                                    The type of revocation file.

                                                                    + */ + inline void SetRevocationType(const RevocationType& value) { m_revocationTypeHasBeenSet = true; m_revocationType = value; } + + /** + *

                                                                    The type of revocation file.

                                                                    + */ + inline void SetRevocationType(RevocationType&& value) { m_revocationTypeHasBeenSet = true; m_revocationType = std::move(value); } + + /** + *

                                                                    The type of revocation file.

                                                                    + */ + inline TrustStoreRevocation& WithRevocationType(const RevocationType& value) { SetRevocationType(value); return *this;} + + /** + *

                                                                    The type of revocation file.

                                                                    + */ + inline TrustStoreRevocation& WithRevocationType(RevocationType&& value) { SetRevocationType(std::move(value)); return *this;} + + + /** + *

                                                                    The number of revoked certificates.

                                                                    + */ + inline long long GetNumberOfRevokedEntries() const{ return m_numberOfRevokedEntries; } + + /** + *

                                                                    The number of revoked certificates.

                                                                    + */ + inline bool NumberOfRevokedEntriesHasBeenSet() const { return m_numberOfRevokedEntriesHasBeenSet; } + + /** + *

                                                                    The number of revoked certificates.

                                                                    + */ + inline void SetNumberOfRevokedEntries(long long value) { m_numberOfRevokedEntriesHasBeenSet = true; m_numberOfRevokedEntries = value; } + + /** + *

                                                                    The number of revoked certificates.

                                                                    + */ + inline TrustStoreRevocation& WithNumberOfRevokedEntries(long long value) { SetNumberOfRevokedEntries(value); return *this;} + + private: + + Aws::String m_trustStoreArn; + bool m_trustStoreArnHasBeenSet = false; + + long long m_revocationId; + bool m_revocationIdHasBeenSet = false; + + RevocationType m_revocationType; + bool m_revocationTypeHasBeenSet = false; + + long long m_numberOfRevokedEntries; + bool m_numberOfRevokedEntriesHasBeenSet = false; + }; + +} // namespace Model +} // namespace ElasticLoadBalancingv2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/TrustStoreStatus.h b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/TrustStoreStatus.h new file mode 100644 index 00000000000..76b6eeaa5ea --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/model/TrustStoreStatus.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 ElasticLoadBalancingv2 +{ +namespace Model +{ + enum class TrustStoreStatus + { + NOT_SET, + ACTIVE, + CREATING + }; + +namespace TrustStoreStatusMapper +{ +AWS_ELASTICLOADBALANCINGV2_API TrustStoreStatus GetTrustStoreStatusForName(const Aws::String& name); + +AWS_ELASTICLOADBALANCINGV2_API Aws::String GetNameForTrustStoreStatus(TrustStoreStatus value); +} // namespace TrustStoreStatusMapper +} // namespace Model +} // namespace ElasticLoadBalancingv2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/ElasticLoadBalancingv2Client.cpp b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/ElasticLoadBalancingv2Client.cpp index 6b51e70bce9..2e7d2cf8d72 100644 --- a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/ElasticLoadBalancingv2Client.cpp +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/ElasticLoadBalancingv2Client.cpp @@ -23,14 +23,17 @@ #include #include #include +#include #include #include #include #include +#include #include #include #include #include +#include #include #include #include @@ -43,14 +46,21 @@ #include #include #include +#include +#include +#include +#include +#include #include #include #include #include #include +#include #include #include #include +#include #include #include #include @@ -263,6 +273,32 @@ AddTagsOutcome ElasticLoadBalancingv2Client::AddTags(const AddTagsRequest& reque {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +AddTrustStoreRevocationsOutcome ElasticLoadBalancingv2Client::AddTrustStoreRevocations(const AddTrustStoreRevocationsRequest& request) const +{ + AWS_OPERATION_GUARD(AddTrustStoreRevocations); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, AddTrustStoreRevocations, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, AddTrustStoreRevocations, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, AddTrustStoreRevocations, 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( + [&]()-> AddTrustStoreRevocationsOutcome { + 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, AddTrustStoreRevocations, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return AddTrustStoreRevocationsOutcome(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()}}); +} + CreateListenerOutcome ElasticLoadBalancingv2Client::CreateListener(const CreateListenerRequest& request) const { AWS_OPERATION_GUARD(CreateListener); @@ -367,6 +403,32 @@ CreateTargetGroupOutcome ElasticLoadBalancingv2Client::CreateTargetGroup(const C {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +CreateTrustStoreOutcome ElasticLoadBalancingv2Client::CreateTrustStore(const CreateTrustStoreRequest& request) const +{ + AWS_OPERATION_GUARD(CreateTrustStore); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CreateTrustStore, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, CreateTrustStore, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CreateTrustStore, 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( + [&]()-> CreateTrustStoreOutcome { + 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, CreateTrustStore, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return CreateTrustStoreOutcome(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()}}); +} + DeleteListenerOutcome ElasticLoadBalancingv2Client::DeleteListener(const DeleteListenerRequest& request) const { AWS_OPERATION_GUARD(DeleteListener); @@ -471,6 +533,32 @@ DeleteTargetGroupOutcome ElasticLoadBalancingv2Client::DeleteTargetGroup(const D {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +DeleteTrustStoreOutcome ElasticLoadBalancingv2Client::DeleteTrustStore(const DeleteTrustStoreRequest& request) const +{ + AWS_OPERATION_GUARD(DeleteTrustStore); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteTrustStore, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DeleteTrustStore, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DeleteTrustStore, 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( + [&]()-> DeleteTrustStoreOutcome { + 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, DeleteTrustStore, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return DeleteTrustStoreOutcome(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()}}); +} + DeregisterTargetsOutcome ElasticLoadBalancingv2Client::DeregisterTargets(const DeregisterTargetsRequest& request) const { AWS_OPERATION_GUARD(DeregisterTargets); @@ -783,6 +871,136 @@ DescribeTargetHealthOutcome ElasticLoadBalancingv2Client::DescribeTargetHealth(c {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +DescribeTrustStoreAssociationsOutcome ElasticLoadBalancingv2Client::DescribeTrustStoreAssociations(const DescribeTrustStoreAssociationsRequest& request) const +{ + AWS_OPERATION_GUARD(DescribeTrustStoreAssociations); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DescribeTrustStoreAssociations, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DescribeTrustStoreAssociations, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DescribeTrustStoreAssociations, 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( + [&]()-> DescribeTrustStoreAssociationsOutcome { + 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, DescribeTrustStoreAssociations, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return DescribeTrustStoreAssociationsOutcome(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()}}); +} + +DescribeTrustStoreRevocationsOutcome ElasticLoadBalancingv2Client::DescribeTrustStoreRevocations(const DescribeTrustStoreRevocationsRequest& request) const +{ + AWS_OPERATION_GUARD(DescribeTrustStoreRevocations); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DescribeTrustStoreRevocations, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DescribeTrustStoreRevocations, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DescribeTrustStoreRevocations, 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( + [&]()-> DescribeTrustStoreRevocationsOutcome { + 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, DescribeTrustStoreRevocations, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return DescribeTrustStoreRevocationsOutcome(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()}}); +} + +DescribeTrustStoresOutcome ElasticLoadBalancingv2Client::DescribeTrustStores(const DescribeTrustStoresRequest& request) const +{ + AWS_OPERATION_GUARD(DescribeTrustStores); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DescribeTrustStores, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DescribeTrustStores, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DescribeTrustStores, 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( + [&]()-> DescribeTrustStoresOutcome { + 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, DescribeTrustStores, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return DescribeTrustStoresOutcome(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()}}); +} + +GetTrustStoreCaCertificatesBundleOutcome ElasticLoadBalancingv2Client::GetTrustStoreCaCertificatesBundle(const GetTrustStoreCaCertificatesBundleRequest& request) const +{ + AWS_OPERATION_GUARD(GetTrustStoreCaCertificatesBundle); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetTrustStoreCaCertificatesBundle, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetTrustStoreCaCertificatesBundle, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetTrustStoreCaCertificatesBundle, 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( + [&]()-> GetTrustStoreCaCertificatesBundleOutcome { + 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, GetTrustStoreCaCertificatesBundle, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return GetTrustStoreCaCertificatesBundleOutcome(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()}}); +} + +GetTrustStoreRevocationContentOutcome ElasticLoadBalancingv2Client::GetTrustStoreRevocationContent(const GetTrustStoreRevocationContentRequest& request) const +{ + AWS_OPERATION_GUARD(GetTrustStoreRevocationContent); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetTrustStoreRevocationContent, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetTrustStoreRevocationContent, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetTrustStoreRevocationContent, 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( + [&]()-> GetTrustStoreRevocationContentOutcome { + 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, GetTrustStoreRevocationContent, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return GetTrustStoreRevocationContentOutcome(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()}}); +} + ModifyListenerOutcome ElasticLoadBalancingv2Client::ModifyListener(const ModifyListenerRequest& request) const { AWS_OPERATION_GUARD(ModifyListener); @@ -913,6 +1131,32 @@ ModifyTargetGroupAttributesOutcome ElasticLoadBalancingv2Client::ModifyTargetGro {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +ModifyTrustStoreOutcome ElasticLoadBalancingv2Client::ModifyTrustStore(const ModifyTrustStoreRequest& request) const +{ + AWS_OPERATION_GUARD(ModifyTrustStore); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ModifyTrustStore, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ModifyTrustStore, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ModifyTrustStore, 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( + [&]()-> ModifyTrustStoreOutcome { + 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, ModifyTrustStore, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return ModifyTrustStoreOutcome(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()}}); +} + RegisterTargetsOutcome ElasticLoadBalancingv2Client::RegisterTargets(const RegisterTargetsRequest& request) const { AWS_OPERATION_GUARD(RegisterTargets); @@ -991,6 +1235,32 @@ RemoveTagsOutcome ElasticLoadBalancingv2Client::RemoveTags(const RemoveTagsReque {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +RemoveTrustStoreRevocationsOutcome ElasticLoadBalancingv2Client::RemoveTrustStoreRevocations(const RemoveTrustStoreRevocationsRequest& request) const +{ + AWS_OPERATION_GUARD(RemoveTrustStoreRevocations); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, RemoveTrustStoreRevocations, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, RemoveTrustStoreRevocations, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, RemoveTrustStoreRevocations, 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( + [&]()-> RemoveTrustStoreRevocationsOutcome { + 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, RemoveTrustStoreRevocations, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return RemoveTrustStoreRevocationsOutcome(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()}}); +} + SetIpAddressTypeOutcome ElasticLoadBalancingv2Client::SetIpAddressType(const SetIpAddressTypeRequest& request) const { AWS_OPERATION_GUARD(SetIpAddressType); diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/ElasticLoadBalancingv2EndpointRules.cpp b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/ElasticLoadBalancingv2EndpointRules.cpp index 5336e40d13d..fab58d3aed1 100644 --- a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/ElasticLoadBalancingv2EndpointRules.cpp +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/ElasticLoadBalancingv2EndpointRules.cpp @@ -51,118 +51,118 @@ static constexpr RulesBlobT RulesBlob = {{ ',','"','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','"',':','[','{','"','f','n','"',':','"', 'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', -'d','p','o','i','n','t','"','}',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', -',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', -'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r', -'u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','C','o', -'n','f','i','g','u','r','a','t','i','o','n',':',' ','F','I','P','S',' ','a','n','d',' ','c','u','s', -'t','o','m',' ','e','n','d','p','o','i','n','t',' ','a','r','e',' ','n','o','t',' ','s','u','p','p', -'o','r','t','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e', +'d','p','o','i','n','t','"','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', +'s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':', +'"','I','n','v','a','l','i','d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','F', +'I','P','S',' ','a','n','d',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','a', +'r','e',' ','n','o','t',' ','s','u','p','p','o','r','t','e','d','"',',','"','t','y','p','e','"',':', +'"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"', +'}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i', +'d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','D','u','a','l','s','t','a','c', +'k',' ','a','n','d',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','a','r','e', +' ','n','o','t',' ','s','u','p','p','o','r','t','e','d','"',',','"','t','y','p','e','"',':','"','e', +'r','r','o','r','"','}',',','{','"','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','"',':','{', +'}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e', +'n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s', +'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i', +'o','n','"','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i', +'o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o', +'n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','P','a','r','t','i','t','i','o','n','R', +'e','s','u','l','t','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F', +'I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', 'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', '"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"', -'e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','C','o','n','f','i','g','u','r','a', -'t','i','o','n',':',' ','D','u','a','l','s','t','a','c','k',' ','a','n','d',' ','c','u','s','t','o', -'m',' ','e','n','d','p','o','i','n','t',' ','a','r','e',' ','n','o','t',' ','s','u','p','p','o','r', -'t','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o', +'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R', +'e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','F','I','P','S','"',']','}',']', +'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t', +'r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t', +'i','o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','D','u','a','l', +'S','t','a','c','k','"',']','}',']','}',']',',','"','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','"',':','{','}',',','"','h','e','a','d','e','r','s','"', -':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}', -',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s', -'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i', -'o','n','"','}',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u', -'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', -'"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g', -'n','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',']',',','"','t', -'y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o', -'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', -'s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o', -'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}', -']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o', -'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','t','r','u','e',',', -'{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',', -'"','s','u','p','p','o','r','t','s','F','I','P','S','"',']','}',']','}',',','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','t', -'r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l', -'t','"','}',',','"','s','u','p','p','o','r','t','s','D','u','a','l','S','t','a','c','k','"',']','}', -']','}',']',',','"','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', +'"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','e','l','a','s','t','i','c','l','o','a', +'d','b','a','l','a','n','c','i','n','g','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.', +'{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','u','a','l','S','t','a','c', +'k','D','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"', +':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':', +'"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', +'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o', +'r','"',':','"','F','I','P','S',' ','a','n','d',' ','D','u','a','l','S','t','a','c','k',' ','a','r', +'e',' ','e','n','a','b','l','e','d',',',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i', +'t','i','o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','o','n','e', +' ','o','r',' ','b','o','t','h','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}', +']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I', +'P','S','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a', +'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g', +'e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P', +'a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t', +'s','F','I','P','S','"',']','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':', +'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t', +'r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"', +':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','n','a','m','e', +'"',']','}',',','"','a','w','s','-','u','s','-','g','o','v','"',']','}',']',',','"','e','n','d','p', +'o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','e','l','a', +'s','t','i','c','l','o','a','d','b','a','l','a','n','c','i','n','g','.','{','R','e','g','i','o','n', +'}','.','a','m','a','z','o','n','a','w','s','.','c','o','m','"',',','"','p','r','o','p','e','r','t', +'i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y', +'p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"', +':','"','h','t','t','p','s',':','/','/','e','l','a','s','t','i','c','l','o','a','d','b','a','l','a', +'n','c','i','n','g','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t', +'i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"', +'p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':', +'{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"', +'t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','F','I','P','S',' ','i','s',' ','e','n', +'a','b','l','e','d',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ', +'d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','F','I','P','S','"',',','"','t', +'y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r', +'e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r', +'u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t', +'A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r', +'t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','D', +'u','a','l','S','t','a','c','k','"',']','}',']','}',']',',','"','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','"',':','"','h','t','t','p','s',':','/','/','e','l','a','s','t','i','c', +'l','o','a','d','b','a','l','a','n','c','i','n','g','.','{','R','e','g','i','o','n','}','.','{','P', +'a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','u','a','l','S','t','a','c','k','D', +'n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{', +'}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e', +'n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"', +':','"','D','u','a','l','S','t','a','c','k',' ','i','s',' ','e','n','a','b','l','e','d',' ','b','u', +'t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ','n','o','t', +' ','s','u','p','p','o','r','t',' ','D','u','a','l','S','t','a','c','k','"',',','"','t','y','p','e', +'"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', +'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o', 'i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','e','l','a','s', -'t','i','c','l','o','a','d','b','a','l','a','n','c','i','n','g','-','f','i','p','s','.','{','R','e', -'g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','u', -'a','l','S','t','a','c','k','D','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e', -'r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"', -'t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n', -'d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','F','I','P','S', -' ','a','n','d',' ','D','u','a','l','S','t','a','c','k',' ','a','r','e',' ','e','n','a','b','l','e', -'d',',',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e', -'s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','o','n','e',' ','o','r',' ','b','o','t','h', -'"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',',','{','"','c','o','n', -'d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', -'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', -'e','F','I','P','S','"','}',',','t','r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t', -'r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n', -'s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A', -'t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t', -'i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','F','I', -'P','S','"',']','}',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r', -'u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', -'n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','"','a','w','s','-','u','s','-','g','o','v','"',',','{','"','f','n','"',':','"','g','e','t','A', -'t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t', -'i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','n','a','m','e','"',']','}',']','}',']', -',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s', -':','/','/','e','l','a','s','t','i','c','l','o','a','d','b','a','l','a','n','c','i','n','g','.','{', -'R','e','g','i','o','n','}','.','a','m','a','z','o','n','a','w','s','.','c','o','m','"',',','"','p', -'r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{', -'}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c', -'o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':', -'{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','e','l','a','s','t','i','c','l','o', -'a','d','b','a','l','a','n','c','i','n','g','-','f','i','p','s','.','{','R','e','g','i','o','n','}', +'t','i','c','l','o','a','d','b','a','l','a','n','c','i','n','g','.','{','R','e','g','i','o','n','}', '.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f', 'i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a', 'd','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n', -'t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e', -'r','r','o','r','"',':','"','F','I','P','S',' ','i','s',' ','e','n','a','b','l','e','d',' ','b','u', -'t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ','n','o','t', -' ','s','u','p','p','o','r','t',' ','F','I','P','S','"',',','"','t','y','p','e','"',':','"','e','r', -'r','o','r','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', -'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}', -',','t','r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r', -'u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', -'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e', -'s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','D','u','a','l','S','t','a','c','k', -'"',']','}',']','}',']',',','"','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','"',':','"','h','t','t','p','s',':','/','/','e', -'l','a','s','t','i','c','l','o','a','d','b','a','l','a','n','c','i','n','g','.','{','R','e','g','i', -'o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','u','a','l', -'S','t','a','c','k','D','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t', -'i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y', -'p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i', -'t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','D','u','a','l','S','t', -'a','c','k',' ','i','s',' ','e','n','a','b','l','e','d',' ','b','u','t',' ','t','h','i','s',' ','p', -'a','r','t','i','t','i','o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t', -' ','D','u','a','l','S','t','a','c','k','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r', -'"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n', -'d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','e', -'l','a','s','t','i','c','l','o','a','d','b','a','l','a','n','c','i','n','g','.','{','R','e','g','i', -'o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S', -'u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"', -'h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p', -'o','i','n','t','"','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p', +'e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', '[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','C','o','n','f','i', 'g','u','r','a','t','i','o','n',':',' ','M','i','s','s','i','n','g',' ','R','e','g','i','o','n','"', ',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}','\0' diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/ElasticLoadBalancingv2Errors.cpp b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/ElasticLoadBalancingv2Errors.cpp index bf69838eb91..e5fc5135bc9 100644 --- a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/ElasticLoadBalancingv2Errors.cpp +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/ElasticLoadBalancingv2Errors.cpp @@ -22,6 +22,7 @@ static const int AVAILABILITY_ZONE_NOT_SUPPORTED_HASH = HashingUtils::HashString static const int INVALID_SCHEME_HASH = HashingUtils::HashString("InvalidScheme"); static const int INCOMPATIBLE_PROTOCOLS_HASH = HashingUtils::HashString("IncompatibleProtocols"); static const int TOO_MANY_TARGETS_HASH = HashingUtils::HashString("TooManyTargets"); +static const int CA_CERTIFICATES_BUNDLE_NOT_FOUND_HASH = HashingUtils::HashString("CaCertificatesBundleNotFound"); static const int DUPLICATE_LISTENER_HASH = HashingUtils::HashString("DuplicateListener"); static const int TOO_MANY_RULES_HASH = HashingUtils::HashString("TooManyRules"); static const int LISTENER_NOT_FOUND_HASH = HashingUtils::HashString("ListenerNotFound"); @@ -29,9 +30,11 @@ static const int A_L_P_N_POLICY_NOT_SUPPORTED_HASH = HashingUtils::HashString("A static const int HEALTH_UNAVAILABLE_HASH = HashingUtils::HashString("HealthUnavailable"); static const int TOO_MANY_UNIQUE_TARGET_GROUPS_PER_LOAD_BALANCER_HASH = HashingUtils::HashString("TooManyUniqueTargetGroupsPerLoadBalancer"); static const int TOO_MANY_ACTIONS_HASH = HashingUtils::HashString("TooManyActions"); +static const int REVOCATION_ID_NOT_FOUND_HASH = HashingUtils::HashString("RevocationIdNotFound"); static const int ALLOCATION_ID_NOT_FOUND_HASH = HashingUtils::HashString("AllocationIdNotFound"); static const int TOO_MANY_CERTIFICATES_HASH = HashingUtils::HashString("TooManyCertificates"); static const int TARGET_GROUP_NOT_FOUND_HASH = HashingUtils::HashString("TargetGroupNotFound"); +static const int REVOCATION_CONTENT_NOT_FOUND_HASH = HashingUtils::HashString("RevocationContentNotFound"); static const int RESOURCE_IN_USE_HASH = HashingUtils::HashString("ResourceInUse"); static const int DUPLICATE_LOAD_BALANCER_NAME_HASH = HashingUtils::HashString("DuplicateLoadBalancerName"); static const int LOAD_BALANCER_NOT_FOUND_HASH = HashingUtils::HashString("LoadBalancerNotFound"); @@ -41,18 +44,26 @@ static const int INVALID_LOAD_BALANCER_ACTION_HASH = HashingUtils::HashString("I static const int DUPLICATE_TARGET_GROUP_NAME_HASH = HashingUtils::HashString("DuplicateTargetGroupName"); static const int S_S_L_POLICY_NOT_FOUND_HASH = HashingUtils::HashString("SSLPolicyNotFound"); static const int TOO_MANY_TARGET_GROUPS_HASH = HashingUtils::HashString("TooManyTargetGroups"); +static const int INVALID_CA_CERTIFICATES_BUNDLE_HASH = HashingUtils::HashString("InvalidCaCertificatesBundle"); static const int TOO_MANY_LISTENERS_HASH = HashingUtils::HashString("TooManyListeners"); static const int DUPLICATE_TAG_KEYS_HASH = HashingUtils::HashString("DuplicateTagKeys"); static const int RULE_NOT_FOUND_HASH = HashingUtils::HashString("RuleNotFound"); +static const int TOO_MANY_TRUST_STORE_REVOCATION_ENTRIES_HASH = HashingUtils::HashString("TooManyTrustStoreRevocationEntries"); +static const int TOO_MANY_TRUST_STORES_HASH = HashingUtils::HashString("TooManyTrustStores"); static const int PRIORITY_IN_USE_HASH = HashingUtils::HashString("PriorityInUse"); static const int TOO_MANY_REGISTRATIONS_FOR_TARGET_ID_HASH = HashingUtils::HashString("TooManyRegistrationsForTargetId"); static const int INVALID_CONFIGURATION_REQUEST_HASH = HashingUtils::HashString("InvalidConfigurationRequest"); static const int UNSUPPORTED_PROTOCOL_HASH = HashingUtils::HashString("UnsupportedProtocol"); +static const int TRUST_STORE_IN_USE_HASH = HashingUtils::HashString("TrustStoreInUse"); static const int INVALID_TARGET_HASH = HashingUtils::HashString("InvalidTarget"); static const int TOO_MANY_TAGS_HASH = HashingUtils::HashString("TooManyTags"); static const int SUBNET_NOT_FOUND_HASH = HashingUtils::HashString("SubnetNotFound"); +static const int TRUST_STORE_NOT_READY_HASH = HashingUtils::HashString("TrustStoreNotReady"); static const int INVALID_SECURITY_GROUP_HASH = HashingUtils::HashString("InvalidSecurityGroup"); static const int CERTIFICATE_NOT_FOUND_HASH = HashingUtils::HashString("CertificateNotFound"); +static const int TRUST_STORE_NOT_FOUND_HASH = HashingUtils::HashString("TrustStoreNotFound"); +static const int INVALID_REVOCATION_CONTENT_HASH = HashingUtils::HashString("InvalidRevocationContent"); +static const int DUPLICATE_TRUST_STORE_NAME_HASH = HashingUtils::HashString("DuplicateTrustStoreName"); static const int TARGET_GROUP_ASSOCIATION_LIMIT_HASH = HashingUtils::HashString("TargetGroupAssociationLimit"); static const int TOO_MANY_LOAD_BALANCERS_HASH = HashingUtils::HashString("TooManyLoadBalancers"); @@ -77,6 +88,10 @@ AWSError GetErrorForName(const char* errorName) { return AWSError(static_cast(ElasticLoadBalancingv2Errors::TOO_MANY_TARGETS), false); } + else if (hashCode == CA_CERTIFICATES_BUNDLE_NOT_FOUND_HASH) + { + return AWSError(static_cast(ElasticLoadBalancingv2Errors::CA_CERTIFICATES_BUNDLE_NOT_FOUND), false); + } else if (hashCode == DUPLICATE_LISTENER_HASH) { return AWSError(static_cast(ElasticLoadBalancingv2Errors::DUPLICATE_LISTENER), false); @@ -105,6 +120,10 @@ AWSError GetErrorForName(const char* errorName) { return AWSError(static_cast(ElasticLoadBalancingv2Errors::TOO_MANY_ACTIONS), false); } + else if (hashCode == REVOCATION_ID_NOT_FOUND_HASH) + { + return AWSError(static_cast(ElasticLoadBalancingv2Errors::REVOCATION_ID_NOT_FOUND), false); + } else if (hashCode == ALLOCATION_ID_NOT_FOUND_HASH) { return AWSError(static_cast(ElasticLoadBalancingv2Errors::ALLOCATION_ID_NOT_FOUND), false); @@ -117,6 +136,10 @@ AWSError GetErrorForName(const char* errorName) { return AWSError(static_cast(ElasticLoadBalancingv2Errors::TARGET_GROUP_NOT_FOUND), false); } + else if (hashCode == REVOCATION_CONTENT_NOT_FOUND_HASH) + { + return AWSError(static_cast(ElasticLoadBalancingv2Errors::REVOCATION_CONTENT_NOT_FOUND), false); + } else if (hashCode == RESOURCE_IN_USE_HASH) { return AWSError(static_cast(ElasticLoadBalancingv2Errors::RESOURCE_IN_USE), false); @@ -153,6 +176,10 @@ AWSError GetErrorForName(const char* errorName) { return AWSError(static_cast(ElasticLoadBalancingv2Errors::TOO_MANY_TARGET_GROUPS), false); } + else if (hashCode == INVALID_CA_CERTIFICATES_BUNDLE_HASH) + { + return AWSError(static_cast(ElasticLoadBalancingv2Errors::INVALID_CA_CERTIFICATES_BUNDLE), false); + } else if (hashCode == TOO_MANY_LISTENERS_HASH) { return AWSError(static_cast(ElasticLoadBalancingv2Errors::TOO_MANY_LISTENERS), false); @@ -165,6 +192,14 @@ AWSError GetErrorForName(const char* errorName) { return AWSError(static_cast(ElasticLoadBalancingv2Errors::RULE_NOT_FOUND), false); } + else if (hashCode == TOO_MANY_TRUST_STORE_REVOCATION_ENTRIES_HASH) + { + return AWSError(static_cast(ElasticLoadBalancingv2Errors::TOO_MANY_TRUST_STORE_REVOCATION_ENTRIES), false); + } + else if (hashCode == TOO_MANY_TRUST_STORES_HASH) + { + return AWSError(static_cast(ElasticLoadBalancingv2Errors::TOO_MANY_TRUST_STORES), false); + } else if (hashCode == PRIORITY_IN_USE_HASH) { return AWSError(static_cast(ElasticLoadBalancingv2Errors::PRIORITY_IN_USE), false); @@ -181,6 +216,10 @@ AWSError GetErrorForName(const char* errorName) { return AWSError(static_cast(ElasticLoadBalancingv2Errors::UNSUPPORTED_PROTOCOL), false); } + else if (hashCode == TRUST_STORE_IN_USE_HASH) + { + return AWSError(static_cast(ElasticLoadBalancingv2Errors::TRUST_STORE_IN_USE), false); + } else if (hashCode == INVALID_TARGET_HASH) { return AWSError(static_cast(ElasticLoadBalancingv2Errors::INVALID_TARGET), false); @@ -193,6 +232,10 @@ AWSError GetErrorForName(const char* errorName) { return AWSError(static_cast(ElasticLoadBalancingv2Errors::SUBNET_NOT_FOUND), false); } + else if (hashCode == TRUST_STORE_NOT_READY_HASH) + { + return AWSError(static_cast(ElasticLoadBalancingv2Errors::TRUST_STORE_NOT_READY), false); + } else if (hashCode == INVALID_SECURITY_GROUP_HASH) { return AWSError(static_cast(ElasticLoadBalancingv2Errors::INVALID_SECURITY_GROUP), false); @@ -201,6 +244,18 @@ AWSError GetErrorForName(const char* errorName) { return AWSError(static_cast(ElasticLoadBalancingv2Errors::CERTIFICATE_NOT_FOUND), false); } + else if (hashCode == TRUST_STORE_NOT_FOUND_HASH) + { + return AWSError(static_cast(ElasticLoadBalancingv2Errors::TRUST_STORE_NOT_FOUND), false); + } + else if (hashCode == INVALID_REVOCATION_CONTENT_HASH) + { + return AWSError(static_cast(ElasticLoadBalancingv2Errors::INVALID_REVOCATION_CONTENT), false); + } + else if (hashCode == DUPLICATE_TRUST_STORE_NAME_HASH) + { + return AWSError(static_cast(ElasticLoadBalancingv2Errors::DUPLICATE_TRUST_STORE_NAME), false); + } else if (hashCode == TARGET_GROUP_ASSOCIATION_LIMIT_HASH) { return AWSError(static_cast(ElasticLoadBalancingv2Errors::TARGET_GROUP_ASSOCIATION_LIMIT), false); diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/AddTrustStoreRevocationsRequest.cpp b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/AddTrustStoreRevocationsRequest.cpp new file mode 100644 index 00000000000..6145ba9920c --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/AddTrustStoreRevocationsRequest.cpp @@ -0,0 +1,46 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::ElasticLoadBalancingv2::Model; +using namespace Aws::Utils; + +AddTrustStoreRevocationsRequest::AddTrustStoreRevocationsRequest() : + m_trustStoreArnHasBeenSet(false), + m_revocationContentsHasBeenSet(false) +{ +} + +Aws::String AddTrustStoreRevocationsRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=AddTrustStoreRevocations&"; + if(m_trustStoreArnHasBeenSet) + { + ss << "TrustStoreArn=" << StringUtils::URLEncode(m_trustStoreArn.c_str()) << "&"; + } + + if(m_revocationContentsHasBeenSet) + { + unsigned revocationContentsCount = 1; + for(auto& item : m_revocationContents) + { + item.OutputToStream(ss, "RevocationContents.member.", revocationContentsCount, ""); + revocationContentsCount++; + } + } + + ss << "Version=2015-12-01"; + return ss.str(); +} + + +void AddTrustStoreRevocationsRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/AddTrustStoreRevocationsResult.cpp b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/AddTrustStoreRevocationsResult.cpp new file mode 100644 index 00000000000..384e7a6916b --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/AddTrustStoreRevocationsResult.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::ElasticLoadBalancingv2::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils::Logging; +using namespace Aws::Utils; +using namespace Aws; + +AddTrustStoreRevocationsResult::AddTrustStoreRevocationsResult() +{ +} + +AddTrustStoreRevocationsResult::AddTrustStoreRevocationsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +AddTrustStoreRevocationsResult& AddTrustStoreRevocationsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode rootNode = xmlDocument.GetRootElement(); + XmlNode resultNode = rootNode; + if (!rootNode.IsNull() && (rootNode.GetName() != "AddTrustStoreRevocationsResult")) + { + resultNode = rootNode.FirstChild("AddTrustStoreRevocationsResult"); + } + + if(!resultNode.IsNull()) + { + XmlNode trustStoreRevocationsNode = resultNode.FirstChild("TrustStoreRevocations"); + if(!trustStoreRevocationsNode.IsNull()) + { + XmlNode trustStoreRevocationsMember = trustStoreRevocationsNode.FirstChild("member"); + while(!trustStoreRevocationsMember.IsNull()) + { + m_trustStoreRevocations.push_back(trustStoreRevocationsMember); + trustStoreRevocationsMember = trustStoreRevocationsMember.NextNode("member"); + } + + } + } + + if (!rootNode.IsNull()) { + XmlNode responseMetadataNode = rootNode.FirstChild("ResponseMetadata"); + m_responseMetadata = responseMetadataNode; + AWS_LOGSTREAM_DEBUG("Aws::ElasticLoadBalancingv2::Model::AddTrustStoreRevocationsResult", "x-amzn-request-id: " << m_responseMetadata.GetRequestId() ); + } + return *this; +} diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/AnomalyDetection.cpp b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/AnomalyDetection.cpp new file mode 100644 index 00000000000..353f3aef8e8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/AnomalyDetection.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::Utils::Xml; +using namespace Aws::Utils; + +namespace Aws +{ +namespace ElasticLoadBalancingv2 +{ +namespace Model +{ + +AnomalyDetection::AnomalyDetection() : + m_result(AnomalyResultEnum::NOT_SET), + m_resultHasBeenSet(false), + m_mitigationInEffect(MitigationInEffectEnum::NOT_SET), + m_mitigationInEffectHasBeenSet(false) +{ +} + +AnomalyDetection::AnomalyDetection(const XmlNode& xmlNode) : + m_result(AnomalyResultEnum::NOT_SET), + m_resultHasBeenSet(false), + m_mitigationInEffect(MitigationInEffectEnum::NOT_SET), + m_mitigationInEffectHasBeenSet(false) +{ + *this = xmlNode; +} + +AnomalyDetection& AnomalyDetection::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode anomalyDetectionResultNode = resultNode.FirstChild("Result"); + if(!anomalyDetectionResultNode.IsNull()) + { + m_result = AnomalyResultEnumMapper::GetAnomalyResultEnumForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(anomalyDetectionResultNode.GetText()).c_str()).c_str()); + m_resultHasBeenSet = true; + } + XmlNode mitigationInEffectNode = resultNode.FirstChild("MitigationInEffect"); + if(!mitigationInEffectNode.IsNull()) + { + m_mitigationInEffect = MitigationInEffectEnumMapper::GetMitigationInEffectEnumForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(mitigationInEffectNode.GetText()).c_str()).c_str()); + m_mitigationInEffectHasBeenSet = true; + } + } + + return *this; +} + +void AnomalyDetection::OutputToStream(Aws::OStream& oStream, const char* location, unsigned index, const char* locationValue) const +{ + if(m_resultHasBeenSet) + { + oStream << location << index << locationValue << ".Result=" << AnomalyResultEnumMapper::GetNameForAnomalyResultEnum(m_result) << "&"; + } + + if(m_mitigationInEffectHasBeenSet) + { + oStream << location << index << locationValue << ".MitigationInEffect=" << MitigationInEffectEnumMapper::GetNameForMitigationInEffectEnum(m_mitigationInEffect) << "&"; + } + +} + +void AnomalyDetection::OutputToStream(Aws::OStream& oStream, const char* location) const +{ + if(m_resultHasBeenSet) + { + oStream << location << ".Result=" << AnomalyResultEnumMapper::GetNameForAnomalyResultEnum(m_result) << "&"; + } + if(m_mitigationInEffectHasBeenSet) + { + oStream << location << ".MitigationInEffect=" << MitigationInEffectEnumMapper::GetNameForMitigationInEffectEnum(m_mitigationInEffect) << "&"; + } +} + +} // namespace Model +} // namespace ElasticLoadBalancingv2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/AnomalyResultEnum.cpp b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/AnomalyResultEnum.cpp new file mode 100644 index 00000000000..6f9fd18076f --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/AnomalyResultEnum.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 ElasticLoadBalancingv2 + { + namespace Model + { + namespace AnomalyResultEnumMapper + { + + static const int anomalous_HASH = HashingUtils::HashString("anomalous"); + static const int normal_HASH = HashingUtils::HashString("normal"); + + + AnomalyResultEnum GetAnomalyResultEnumForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == anomalous_HASH) + { + return AnomalyResultEnum::anomalous; + } + else if (hashCode == normal_HASH) + { + return AnomalyResultEnum::normal; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return AnomalyResultEnum::NOT_SET; + } + + Aws::String GetNameForAnomalyResultEnum(AnomalyResultEnum enumValue) + { + switch(enumValue) + { + case AnomalyResultEnum::NOT_SET: + return {}; + case AnomalyResultEnum::anomalous: + return "anomalous"; + case AnomalyResultEnum::normal: + return "normal"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace AnomalyResultEnumMapper + } // namespace Model + } // namespace ElasticLoadBalancingv2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/CreateListenerRequest.cpp b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/CreateListenerRequest.cpp index d3be8860953..26481051473 100644 --- a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/CreateListenerRequest.cpp +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/CreateListenerRequest.cpp @@ -20,7 +20,8 @@ CreateListenerRequest::CreateListenerRequest() : m_certificatesHasBeenSet(false), m_defaultActionsHasBeenSet(false), m_alpnPolicyHasBeenSet(false), - m_tagsHasBeenSet(false) + m_tagsHasBeenSet(false), + m_mutualAuthenticationHasBeenSet(false) { } @@ -89,6 +90,11 @@ Aws::String CreateListenerRequest::SerializePayload() const } } + if(m_mutualAuthenticationHasBeenSet) + { + m_mutualAuthentication.OutputToStream(ss, "MutualAuthentication"); + } + ss << "Version=2015-12-01"; return ss.str(); } diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/CreateTrustStoreRequest.cpp b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/CreateTrustStoreRequest.cpp new file mode 100644 index 00000000000..12f971f3c51 --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/CreateTrustStoreRequest.cpp @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::ElasticLoadBalancingv2::Model; +using namespace Aws::Utils; + +CreateTrustStoreRequest::CreateTrustStoreRequest() : + m_nameHasBeenSet(false), + m_caCertificatesBundleS3BucketHasBeenSet(false), + m_caCertificatesBundleS3KeyHasBeenSet(false), + m_caCertificatesBundleS3ObjectVersionHasBeenSet(false), + m_tagsHasBeenSet(false) +{ +} + +Aws::String CreateTrustStoreRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=CreateTrustStore&"; + if(m_nameHasBeenSet) + { + ss << "Name=" << StringUtils::URLEncode(m_name.c_str()) << "&"; + } + + if(m_caCertificatesBundleS3BucketHasBeenSet) + { + ss << "CaCertificatesBundleS3Bucket=" << StringUtils::URLEncode(m_caCertificatesBundleS3Bucket.c_str()) << "&"; + } + + if(m_caCertificatesBundleS3KeyHasBeenSet) + { + ss << "CaCertificatesBundleS3Key=" << StringUtils::URLEncode(m_caCertificatesBundleS3Key.c_str()) << "&"; + } + + if(m_caCertificatesBundleS3ObjectVersionHasBeenSet) + { + ss << "CaCertificatesBundleS3ObjectVersion=" << StringUtils::URLEncode(m_caCertificatesBundleS3ObjectVersion.c_str()) << "&"; + } + + if(m_tagsHasBeenSet) + { + unsigned tagsCount = 1; + for(auto& item : m_tags) + { + item.OutputToStream(ss, "Tags.member.", tagsCount, ""); + tagsCount++; + } + } + + ss << "Version=2015-12-01"; + return ss.str(); +} + + +void CreateTrustStoreRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/CreateTrustStoreResult.cpp b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/CreateTrustStoreResult.cpp new file mode 100644 index 00000000000..b9147ed7c33 --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/CreateTrustStoreResult.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::ElasticLoadBalancingv2::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils::Logging; +using namespace Aws::Utils; +using namespace Aws; + +CreateTrustStoreResult::CreateTrustStoreResult() +{ +} + +CreateTrustStoreResult::CreateTrustStoreResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +CreateTrustStoreResult& CreateTrustStoreResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode rootNode = xmlDocument.GetRootElement(); + XmlNode resultNode = rootNode; + if (!rootNode.IsNull() && (rootNode.GetName() != "CreateTrustStoreResult")) + { + resultNode = rootNode.FirstChild("CreateTrustStoreResult"); + } + + if(!resultNode.IsNull()) + { + XmlNode trustStoresNode = resultNode.FirstChild("TrustStores"); + if(!trustStoresNode.IsNull()) + { + XmlNode trustStoresMember = trustStoresNode.FirstChild("member"); + while(!trustStoresMember.IsNull()) + { + m_trustStores.push_back(trustStoresMember); + trustStoresMember = trustStoresMember.NextNode("member"); + } + + } + } + + if (!rootNode.IsNull()) { + XmlNode responseMetadataNode = rootNode.FirstChild("ResponseMetadata"); + m_responseMetadata = responseMetadataNode; + AWS_LOGSTREAM_DEBUG("Aws::ElasticLoadBalancingv2::Model::CreateTrustStoreResult", "x-amzn-request-id: " << m_responseMetadata.GetRequestId() ); + } + return *this; +} diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/DeleteTrustStoreRequest.cpp b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/DeleteTrustStoreRequest.cpp new file mode 100644 index 00000000000..c63f4c1d339 --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/DeleteTrustStoreRequest.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::ElasticLoadBalancingv2::Model; +using namespace Aws::Utils; + +DeleteTrustStoreRequest::DeleteTrustStoreRequest() : + m_trustStoreArnHasBeenSet(false) +{ +} + +Aws::String DeleteTrustStoreRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=DeleteTrustStore&"; + if(m_trustStoreArnHasBeenSet) + { + ss << "TrustStoreArn=" << StringUtils::URLEncode(m_trustStoreArn.c_str()) << "&"; + } + + ss << "Version=2015-12-01"; + return ss.str(); +} + + +void DeleteTrustStoreRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/DeleteTrustStoreResult.cpp b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/DeleteTrustStoreResult.cpp new file mode 100644 index 00000000000..911481eb1db --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/DeleteTrustStoreResult.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::ElasticLoadBalancingv2::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils::Logging; +using namespace Aws::Utils; +using namespace Aws; + +DeleteTrustStoreResult::DeleteTrustStoreResult() +{ +} + +DeleteTrustStoreResult::DeleteTrustStoreResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DeleteTrustStoreResult& DeleteTrustStoreResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode rootNode = xmlDocument.GetRootElement(); + XmlNode resultNode = rootNode; + if (!rootNode.IsNull() && (rootNode.GetName() != "DeleteTrustStoreResult")) + { + resultNode = rootNode.FirstChild("DeleteTrustStoreResult"); + } + + if(!resultNode.IsNull()) + { + } + + if (!rootNode.IsNull()) { + XmlNode responseMetadataNode = rootNode.FirstChild("ResponseMetadata"); + m_responseMetadata = responseMetadataNode; + AWS_LOGSTREAM_DEBUG("Aws::ElasticLoadBalancingv2::Model::DeleteTrustStoreResult", "x-amzn-request-id: " << m_responseMetadata.GetRequestId() ); + } + return *this; +} diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/DescribeTargetHealthInputIncludeEnum.cpp b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/DescribeTargetHealthInputIncludeEnum.cpp new file mode 100644 index 00000000000..c3347ff4318 --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/DescribeTargetHealthInputIncludeEnum.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 ElasticLoadBalancingv2 + { + namespace Model + { + namespace DescribeTargetHealthInputIncludeEnumMapper + { + + static const int AnomalyDetection_HASH = HashingUtils::HashString("AnomalyDetection"); + static const int All_HASH = HashingUtils::HashString("All"); + + + DescribeTargetHealthInputIncludeEnum GetDescribeTargetHealthInputIncludeEnumForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == AnomalyDetection_HASH) + { + return DescribeTargetHealthInputIncludeEnum::AnomalyDetection; + } + else if (hashCode == All_HASH) + { + return DescribeTargetHealthInputIncludeEnum::All; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return DescribeTargetHealthInputIncludeEnum::NOT_SET; + } + + Aws::String GetNameForDescribeTargetHealthInputIncludeEnum(DescribeTargetHealthInputIncludeEnum enumValue) + { + switch(enumValue) + { + case DescribeTargetHealthInputIncludeEnum::NOT_SET: + return {}; + case DescribeTargetHealthInputIncludeEnum::AnomalyDetection: + return "AnomalyDetection"; + case DescribeTargetHealthInputIncludeEnum::All: + return "All"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace DescribeTargetHealthInputIncludeEnumMapper + } // namespace Model + } // namespace ElasticLoadBalancingv2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/DescribeTargetHealthRequest.cpp b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/DescribeTargetHealthRequest.cpp index a43c42daddd..a219f093361 100644 --- a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/DescribeTargetHealthRequest.cpp +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/DescribeTargetHealthRequest.cpp @@ -12,7 +12,8 @@ using namespace Aws::Utils; DescribeTargetHealthRequest::DescribeTargetHealthRequest() : m_targetGroupArnHasBeenSet(false), - m_targetsHasBeenSet(false) + m_targetsHasBeenSet(false), + m_includeHasBeenSet(false) { } @@ -35,6 +36,17 @@ Aws::String DescribeTargetHealthRequest::SerializePayload() const } } + if(m_includeHasBeenSet) + { + unsigned includeCount = 1; + for(auto& item : m_include) + { + ss << "Include.member." << includeCount << "=" + << StringUtils::URLEncode(DescribeTargetHealthInputIncludeEnumMapper::GetNameForDescribeTargetHealthInputIncludeEnum(item).c_str()) << "&"; + includeCount++; + } + } + ss << "Version=2015-12-01"; return ss.str(); } diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/DescribeTrustStoreAssociationsRequest.cpp b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/DescribeTrustStoreAssociationsRequest.cpp new file mode 100644 index 00000000000..118be27b2db --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/DescribeTrustStoreAssociationsRequest.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::ElasticLoadBalancingv2::Model; +using namespace Aws::Utils; + +DescribeTrustStoreAssociationsRequest::DescribeTrustStoreAssociationsRequest() : + m_trustStoreArnHasBeenSet(false), + m_markerHasBeenSet(false), + m_pageSize(0), + m_pageSizeHasBeenSet(false) +{ +} + +Aws::String DescribeTrustStoreAssociationsRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=DescribeTrustStoreAssociations&"; + if(m_trustStoreArnHasBeenSet) + { + ss << "TrustStoreArn=" << StringUtils::URLEncode(m_trustStoreArn.c_str()) << "&"; + } + + if(m_markerHasBeenSet) + { + ss << "Marker=" << StringUtils::URLEncode(m_marker.c_str()) << "&"; + } + + if(m_pageSizeHasBeenSet) + { + ss << "PageSize=" << m_pageSize << "&"; + } + + ss << "Version=2015-12-01"; + return ss.str(); +} + + +void DescribeTrustStoreAssociationsRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/DescribeTrustStoreAssociationsResult.cpp b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/DescribeTrustStoreAssociationsResult.cpp new file mode 100644 index 00000000000..dc2950b4d92 --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/DescribeTrustStoreAssociationsResult.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 + +#include + +using namespace Aws::ElasticLoadBalancingv2::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils::Logging; +using namespace Aws::Utils; +using namespace Aws; + +DescribeTrustStoreAssociationsResult::DescribeTrustStoreAssociationsResult() +{ +} + +DescribeTrustStoreAssociationsResult::DescribeTrustStoreAssociationsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DescribeTrustStoreAssociationsResult& DescribeTrustStoreAssociationsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode rootNode = xmlDocument.GetRootElement(); + XmlNode resultNode = rootNode; + if (!rootNode.IsNull() && (rootNode.GetName() != "DescribeTrustStoreAssociationsResult")) + { + resultNode = rootNode.FirstChild("DescribeTrustStoreAssociationsResult"); + } + + if(!resultNode.IsNull()) + { + XmlNode trustStoreAssociationsNode = resultNode.FirstChild("TrustStoreAssociations"); + if(!trustStoreAssociationsNode.IsNull()) + { + XmlNode trustStoreAssociationsMember = trustStoreAssociationsNode.FirstChild("member"); + while(!trustStoreAssociationsMember.IsNull()) + { + m_trustStoreAssociations.push_back(trustStoreAssociationsMember); + trustStoreAssociationsMember = trustStoreAssociationsMember.NextNode("member"); + } + + } + XmlNode nextMarkerNode = resultNode.FirstChild("NextMarker"); + if(!nextMarkerNode.IsNull()) + { + m_nextMarker = Aws::Utils::Xml::DecodeEscapedXmlText(nextMarkerNode.GetText()); + } + } + + if (!rootNode.IsNull()) { + XmlNode responseMetadataNode = rootNode.FirstChild("ResponseMetadata"); + m_responseMetadata = responseMetadataNode; + AWS_LOGSTREAM_DEBUG("Aws::ElasticLoadBalancingv2::Model::DescribeTrustStoreAssociationsResult", "x-amzn-request-id: " << m_responseMetadata.GetRequestId() ); + } + return *this; +} diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/DescribeTrustStoreRevocation.cpp b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/DescribeTrustStoreRevocation.cpp new file mode 100644 index 00000000000..4a83a5dcd20 --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/DescribeTrustStoreRevocation.cpp @@ -0,0 +1,127 @@ +/** + * 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 ElasticLoadBalancingv2 +{ +namespace Model +{ + +DescribeTrustStoreRevocation::DescribeTrustStoreRevocation() : + m_trustStoreArnHasBeenSet(false), + m_revocationId(0), + m_revocationIdHasBeenSet(false), + m_revocationType(RevocationType::NOT_SET), + m_revocationTypeHasBeenSet(false), + m_numberOfRevokedEntries(0), + m_numberOfRevokedEntriesHasBeenSet(false) +{ +} + +DescribeTrustStoreRevocation::DescribeTrustStoreRevocation(const XmlNode& xmlNode) : + m_trustStoreArnHasBeenSet(false), + m_revocationId(0), + m_revocationIdHasBeenSet(false), + m_revocationType(RevocationType::NOT_SET), + m_revocationTypeHasBeenSet(false), + m_numberOfRevokedEntries(0), + m_numberOfRevokedEntriesHasBeenSet(false) +{ + *this = xmlNode; +} + +DescribeTrustStoreRevocation& DescribeTrustStoreRevocation::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode trustStoreArnNode = resultNode.FirstChild("TrustStoreArn"); + if(!trustStoreArnNode.IsNull()) + { + m_trustStoreArn = Aws::Utils::Xml::DecodeEscapedXmlText(trustStoreArnNode.GetText()); + m_trustStoreArnHasBeenSet = true; + } + XmlNode revocationIdNode = resultNode.FirstChild("RevocationId"); + if(!revocationIdNode.IsNull()) + { + m_revocationId = StringUtils::ConvertToInt64(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(revocationIdNode.GetText()).c_str()).c_str()); + m_revocationIdHasBeenSet = true; + } + XmlNode revocationTypeNode = resultNode.FirstChild("RevocationType"); + if(!revocationTypeNode.IsNull()) + { + m_revocationType = RevocationTypeMapper::GetRevocationTypeForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(revocationTypeNode.GetText()).c_str()).c_str()); + m_revocationTypeHasBeenSet = true; + } + XmlNode numberOfRevokedEntriesNode = resultNode.FirstChild("NumberOfRevokedEntries"); + if(!numberOfRevokedEntriesNode.IsNull()) + { + m_numberOfRevokedEntries = StringUtils::ConvertToInt64(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(numberOfRevokedEntriesNode.GetText()).c_str()).c_str()); + m_numberOfRevokedEntriesHasBeenSet = true; + } + } + + return *this; +} + +void DescribeTrustStoreRevocation::OutputToStream(Aws::OStream& oStream, const char* location, unsigned index, const char* locationValue) const +{ + if(m_trustStoreArnHasBeenSet) + { + oStream << location << index << locationValue << ".TrustStoreArn=" << StringUtils::URLEncode(m_trustStoreArn.c_str()) << "&"; + } + + if(m_revocationIdHasBeenSet) + { + oStream << location << index << locationValue << ".RevocationId=" << m_revocationId << "&"; + } + + if(m_revocationTypeHasBeenSet) + { + oStream << location << index << locationValue << ".RevocationType=" << RevocationTypeMapper::GetNameForRevocationType(m_revocationType) << "&"; + } + + if(m_numberOfRevokedEntriesHasBeenSet) + { + oStream << location << index << locationValue << ".NumberOfRevokedEntries=" << m_numberOfRevokedEntries << "&"; + } + +} + +void DescribeTrustStoreRevocation::OutputToStream(Aws::OStream& oStream, const char* location) const +{ + if(m_trustStoreArnHasBeenSet) + { + oStream << location << ".TrustStoreArn=" << StringUtils::URLEncode(m_trustStoreArn.c_str()) << "&"; + } + if(m_revocationIdHasBeenSet) + { + oStream << location << ".RevocationId=" << m_revocationId << "&"; + } + if(m_revocationTypeHasBeenSet) + { + oStream << location << ".RevocationType=" << RevocationTypeMapper::GetNameForRevocationType(m_revocationType) << "&"; + } + if(m_numberOfRevokedEntriesHasBeenSet) + { + oStream << location << ".NumberOfRevokedEntries=" << m_numberOfRevokedEntries << "&"; + } +} + +} // namespace Model +} // namespace ElasticLoadBalancingv2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/DescribeTrustStoreRevocationsRequest.cpp b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/DescribeTrustStoreRevocationsRequest.cpp new file mode 100644 index 00000000000..f129f6966d7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/DescribeTrustStoreRevocationsRequest.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::ElasticLoadBalancingv2::Model; +using namespace Aws::Utils; + +DescribeTrustStoreRevocationsRequest::DescribeTrustStoreRevocationsRequest() : + m_trustStoreArnHasBeenSet(false), + m_revocationIdsHasBeenSet(false), + m_markerHasBeenSet(false), + m_pageSize(0), + m_pageSizeHasBeenSet(false) +{ +} + +Aws::String DescribeTrustStoreRevocationsRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=DescribeTrustStoreRevocations&"; + if(m_trustStoreArnHasBeenSet) + { + ss << "TrustStoreArn=" << StringUtils::URLEncode(m_trustStoreArn.c_str()) << "&"; + } + + if(m_revocationIdsHasBeenSet) + { + unsigned revocationIdsCount = 1; + for(auto& item : m_revocationIds) + { + ss << "RevocationIds.member." << revocationIdsCount << "=" + << item << "&"; + revocationIdsCount++; + } + } + + if(m_markerHasBeenSet) + { + ss << "Marker=" << StringUtils::URLEncode(m_marker.c_str()) << "&"; + } + + if(m_pageSizeHasBeenSet) + { + ss << "PageSize=" << m_pageSize << "&"; + } + + ss << "Version=2015-12-01"; + return ss.str(); +} + + +void DescribeTrustStoreRevocationsRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/DescribeTrustStoreRevocationsResult.cpp b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/DescribeTrustStoreRevocationsResult.cpp new file mode 100644 index 00000000000..140f5fc68b0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/DescribeTrustStoreRevocationsResult.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 + +#include + +using namespace Aws::ElasticLoadBalancingv2::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils::Logging; +using namespace Aws::Utils; +using namespace Aws; + +DescribeTrustStoreRevocationsResult::DescribeTrustStoreRevocationsResult() +{ +} + +DescribeTrustStoreRevocationsResult::DescribeTrustStoreRevocationsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DescribeTrustStoreRevocationsResult& DescribeTrustStoreRevocationsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode rootNode = xmlDocument.GetRootElement(); + XmlNode resultNode = rootNode; + if (!rootNode.IsNull() && (rootNode.GetName() != "DescribeTrustStoreRevocationsResult")) + { + resultNode = rootNode.FirstChild("DescribeTrustStoreRevocationsResult"); + } + + if(!resultNode.IsNull()) + { + XmlNode trustStoreRevocationsNode = resultNode.FirstChild("TrustStoreRevocations"); + if(!trustStoreRevocationsNode.IsNull()) + { + XmlNode trustStoreRevocationsMember = trustStoreRevocationsNode.FirstChild("member"); + while(!trustStoreRevocationsMember.IsNull()) + { + m_trustStoreRevocations.push_back(trustStoreRevocationsMember); + trustStoreRevocationsMember = trustStoreRevocationsMember.NextNode("member"); + } + + } + XmlNode nextMarkerNode = resultNode.FirstChild("NextMarker"); + if(!nextMarkerNode.IsNull()) + { + m_nextMarker = Aws::Utils::Xml::DecodeEscapedXmlText(nextMarkerNode.GetText()); + } + } + + if (!rootNode.IsNull()) { + XmlNode responseMetadataNode = rootNode.FirstChild("ResponseMetadata"); + m_responseMetadata = responseMetadataNode; + AWS_LOGSTREAM_DEBUG("Aws::ElasticLoadBalancingv2::Model::DescribeTrustStoreRevocationsResult", "x-amzn-request-id: " << m_responseMetadata.GetRequestId() ); + } + return *this; +} diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/DescribeTrustStoresRequest.cpp b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/DescribeTrustStoresRequest.cpp new file mode 100644 index 00000000000..693bfaf0f30 --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/DescribeTrustStoresRequest.cpp @@ -0,0 +1,66 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::ElasticLoadBalancingv2::Model; +using namespace Aws::Utils; + +DescribeTrustStoresRequest::DescribeTrustStoresRequest() : + m_trustStoreArnsHasBeenSet(false), + m_namesHasBeenSet(false), + m_markerHasBeenSet(false), + m_pageSize(0), + m_pageSizeHasBeenSet(false) +{ +} + +Aws::String DescribeTrustStoresRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=DescribeTrustStores&"; + if(m_trustStoreArnsHasBeenSet) + { + unsigned trustStoreArnsCount = 1; + for(auto& item : m_trustStoreArns) + { + ss << "TrustStoreArns.member." << trustStoreArnsCount << "=" + << StringUtils::URLEncode(item.c_str()) << "&"; + trustStoreArnsCount++; + } + } + + if(m_namesHasBeenSet) + { + unsigned namesCount = 1; + for(auto& item : m_names) + { + ss << "Names.member." << namesCount << "=" + << StringUtils::URLEncode(item.c_str()) << "&"; + namesCount++; + } + } + + if(m_markerHasBeenSet) + { + ss << "Marker=" << StringUtils::URLEncode(m_marker.c_str()) << "&"; + } + + if(m_pageSizeHasBeenSet) + { + ss << "PageSize=" << m_pageSize << "&"; + } + + ss << "Version=2015-12-01"; + return ss.str(); +} + + +void DescribeTrustStoresRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/DescribeTrustStoresResult.cpp b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/DescribeTrustStoresResult.cpp new file mode 100644 index 00000000000..1d6854113a3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/DescribeTrustStoresResult.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 + +#include + +using namespace Aws::ElasticLoadBalancingv2::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils::Logging; +using namespace Aws::Utils; +using namespace Aws; + +DescribeTrustStoresResult::DescribeTrustStoresResult() +{ +} + +DescribeTrustStoresResult::DescribeTrustStoresResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DescribeTrustStoresResult& DescribeTrustStoresResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode rootNode = xmlDocument.GetRootElement(); + XmlNode resultNode = rootNode; + if (!rootNode.IsNull() && (rootNode.GetName() != "DescribeTrustStoresResult")) + { + resultNode = rootNode.FirstChild("DescribeTrustStoresResult"); + } + + if(!resultNode.IsNull()) + { + XmlNode trustStoresNode = resultNode.FirstChild("TrustStores"); + if(!trustStoresNode.IsNull()) + { + XmlNode trustStoresMember = trustStoresNode.FirstChild("member"); + while(!trustStoresMember.IsNull()) + { + m_trustStores.push_back(trustStoresMember); + trustStoresMember = trustStoresMember.NextNode("member"); + } + + } + XmlNode nextMarkerNode = resultNode.FirstChild("NextMarker"); + if(!nextMarkerNode.IsNull()) + { + m_nextMarker = Aws::Utils::Xml::DecodeEscapedXmlText(nextMarkerNode.GetText()); + } + } + + if (!rootNode.IsNull()) { + XmlNode responseMetadataNode = rootNode.FirstChild("ResponseMetadata"); + m_responseMetadata = responseMetadataNode; + AWS_LOGSTREAM_DEBUG("Aws::ElasticLoadBalancingv2::Model::DescribeTrustStoresResult", "x-amzn-request-id: " << m_responseMetadata.GetRequestId() ); + } + return *this; +} diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/GetTrustStoreCaCertificatesBundleRequest.cpp b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/GetTrustStoreCaCertificatesBundleRequest.cpp new file mode 100644 index 00000000000..e7366fd9ca5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/GetTrustStoreCaCertificatesBundleRequest.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::ElasticLoadBalancingv2::Model; +using namespace Aws::Utils; + +GetTrustStoreCaCertificatesBundleRequest::GetTrustStoreCaCertificatesBundleRequest() : + m_trustStoreArnHasBeenSet(false) +{ +} + +Aws::String GetTrustStoreCaCertificatesBundleRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=GetTrustStoreCaCertificatesBundle&"; + if(m_trustStoreArnHasBeenSet) + { + ss << "TrustStoreArn=" << StringUtils::URLEncode(m_trustStoreArn.c_str()) << "&"; + } + + ss << "Version=2015-12-01"; + return ss.str(); +} + + +void GetTrustStoreCaCertificatesBundleRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/GetTrustStoreCaCertificatesBundleResult.cpp b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/GetTrustStoreCaCertificatesBundleResult.cpp new file mode 100644 index 00000000000..087f9d0d6c6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/GetTrustStoreCaCertificatesBundleResult.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::ElasticLoadBalancingv2::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils::Logging; +using namespace Aws::Utils; +using namespace Aws; + +GetTrustStoreCaCertificatesBundleResult::GetTrustStoreCaCertificatesBundleResult() +{ +} + +GetTrustStoreCaCertificatesBundleResult::GetTrustStoreCaCertificatesBundleResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetTrustStoreCaCertificatesBundleResult& GetTrustStoreCaCertificatesBundleResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode rootNode = xmlDocument.GetRootElement(); + XmlNode resultNode = rootNode; + if (!rootNode.IsNull() && (rootNode.GetName() != "GetTrustStoreCaCertificatesBundleResult")) + { + resultNode = rootNode.FirstChild("GetTrustStoreCaCertificatesBundleResult"); + } + + if(!resultNode.IsNull()) + { + XmlNode locationNode = resultNode.FirstChild("Location"); + if(!locationNode.IsNull()) + { + m_location = Aws::Utils::Xml::DecodeEscapedXmlText(locationNode.GetText()); + } + } + + if (!rootNode.IsNull()) { + XmlNode responseMetadataNode = rootNode.FirstChild("ResponseMetadata"); + m_responseMetadata = responseMetadataNode; + AWS_LOGSTREAM_DEBUG("Aws::ElasticLoadBalancingv2::Model::GetTrustStoreCaCertificatesBundleResult", "x-amzn-request-id: " << m_responseMetadata.GetRequestId() ); + } + return *this; +} diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/GetTrustStoreRevocationContentRequest.cpp b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/GetTrustStoreRevocationContentRequest.cpp new file mode 100644 index 00000000000..a7ca8395327 --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/GetTrustStoreRevocationContentRequest.cpp @@ -0,0 +1,42 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::ElasticLoadBalancingv2::Model; +using namespace Aws::Utils; + +GetTrustStoreRevocationContentRequest::GetTrustStoreRevocationContentRequest() : + m_trustStoreArnHasBeenSet(false), + m_revocationId(0), + m_revocationIdHasBeenSet(false) +{ +} + +Aws::String GetTrustStoreRevocationContentRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=GetTrustStoreRevocationContent&"; + if(m_trustStoreArnHasBeenSet) + { + ss << "TrustStoreArn=" << StringUtils::URLEncode(m_trustStoreArn.c_str()) << "&"; + } + + if(m_revocationIdHasBeenSet) + { + ss << "RevocationId=" << m_revocationId << "&"; + } + + ss << "Version=2015-12-01"; + return ss.str(); +} + + +void GetTrustStoreRevocationContentRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/GetTrustStoreRevocationContentResult.cpp b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/GetTrustStoreRevocationContentResult.cpp new file mode 100644 index 00000000000..b0a8b99b95e --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/GetTrustStoreRevocationContentResult.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::ElasticLoadBalancingv2::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils::Logging; +using namespace Aws::Utils; +using namespace Aws; + +GetTrustStoreRevocationContentResult::GetTrustStoreRevocationContentResult() +{ +} + +GetTrustStoreRevocationContentResult::GetTrustStoreRevocationContentResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetTrustStoreRevocationContentResult& GetTrustStoreRevocationContentResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode rootNode = xmlDocument.GetRootElement(); + XmlNode resultNode = rootNode; + if (!rootNode.IsNull() && (rootNode.GetName() != "GetTrustStoreRevocationContentResult")) + { + resultNode = rootNode.FirstChild("GetTrustStoreRevocationContentResult"); + } + + if(!resultNode.IsNull()) + { + XmlNode locationNode = resultNode.FirstChild("Location"); + if(!locationNode.IsNull()) + { + m_location = Aws::Utils::Xml::DecodeEscapedXmlText(locationNode.GetText()); + } + } + + if (!rootNode.IsNull()) { + XmlNode responseMetadataNode = rootNode.FirstChild("ResponseMetadata"); + m_responseMetadata = responseMetadataNode; + AWS_LOGSTREAM_DEBUG("Aws::ElasticLoadBalancingv2::Model::GetTrustStoreRevocationContentResult", "x-amzn-request-id: " << m_responseMetadata.GetRequestId() ); + } + return *this; +} diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/Listener.cpp b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/Listener.cpp index 9acae55dab5..0b8c3d2a171 100644 --- a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/Listener.cpp +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/Listener.cpp @@ -30,7 +30,8 @@ Listener::Listener() : m_certificatesHasBeenSet(false), m_sslPolicyHasBeenSet(false), m_defaultActionsHasBeenSet(false), - m_alpnPolicyHasBeenSet(false) + m_alpnPolicyHasBeenSet(false), + m_mutualAuthenticationHasBeenSet(false) { } @@ -44,7 +45,8 @@ Listener::Listener(const XmlNode& xmlNode) : m_certificatesHasBeenSet(false), m_sslPolicyHasBeenSet(false), m_defaultActionsHasBeenSet(false), - m_alpnPolicyHasBeenSet(false) + m_alpnPolicyHasBeenSet(false), + m_mutualAuthenticationHasBeenSet(false) { *this = xmlNode; } @@ -121,6 +123,12 @@ Listener& Listener::operator =(const XmlNode& xmlNode) m_alpnPolicyHasBeenSet = true; } + XmlNode mutualAuthenticationNode = resultNode.FirstChild("MutualAuthentication"); + if(!mutualAuthenticationNode.IsNull()) + { + m_mutualAuthentication = mutualAuthenticationNode; + m_mutualAuthenticationHasBeenSet = true; + } } return *this; @@ -184,6 +192,13 @@ void Listener::OutputToStream(Aws::OStream& oStream, const char* location, unsig } } + if(m_mutualAuthenticationHasBeenSet) + { + Aws::StringStream mutualAuthenticationLocationAndMemberSs; + mutualAuthenticationLocationAndMemberSs << location << index << locationValue << ".MutualAuthentication"; + m_mutualAuthentication.OutputToStream(oStream, mutualAuthenticationLocationAndMemberSs.str().c_str()); + } + } void Listener::OutputToStream(Aws::OStream& oStream, const char* location) const @@ -236,6 +251,12 @@ void Listener::OutputToStream(Aws::OStream& oStream, const char* location) const oStream << location << ".AlpnPolicy.member." << alpnPolicyIdx++ << "=" << StringUtils::URLEncode(item.c_str()) << "&"; } } + if(m_mutualAuthenticationHasBeenSet) + { + Aws::String mutualAuthenticationLocationAndMember(location); + mutualAuthenticationLocationAndMember += ".MutualAuthentication"; + m_mutualAuthentication.OutputToStream(oStream, mutualAuthenticationLocationAndMember.c_str()); + } } } // namespace Model diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/MitigationInEffectEnum.cpp b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/MitigationInEffectEnum.cpp new file mode 100644 index 00000000000..90f70b917fe --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/MitigationInEffectEnum.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 ElasticLoadBalancingv2 + { + namespace Model + { + namespace MitigationInEffectEnumMapper + { + + static const int yes_HASH = HashingUtils::HashString("yes"); + static const int no_HASH = HashingUtils::HashString("no"); + + + MitigationInEffectEnum GetMitigationInEffectEnumForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == yes_HASH) + { + return MitigationInEffectEnum::yes; + } + else if (hashCode == no_HASH) + { + return MitigationInEffectEnum::no; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return MitigationInEffectEnum::NOT_SET; + } + + Aws::String GetNameForMitigationInEffectEnum(MitigationInEffectEnum enumValue) + { + switch(enumValue) + { + case MitigationInEffectEnum::NOT_SET: + return {}; + case MitigationInEffectEnum::yes: + return "yes"; + case MitigationInEffectEnum::no: + return "no"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace MitigationInEffectEnumMapper + } // namespace Model + } // namespace ElasticLoadBalancingv2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/ModifyListenerRequest.cpp b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/ModifyListenerRequest.cpp index 6765040d955..d0d678ce947 100644 --- a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/ModifyListenerRequest.cpp +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/ModifyListenerRequest.cpp @@ -19,7 +19,8 @@ ModifyListenerRequest::ModifyListenerRequest() : m_sslPolicyHasBeenSet(false), m_certificatesHasBeenSet(false), m_defaultActionsHasBeenSet(false), - m_alpnPolicyHasBeenSet(false) + m_alpnPolicyHasBeenSet(false), + m_mutualAuthenticationHasBeenSet(false) { } @@ -78,6 +79,11 @@ Aws::String ModifyListenerRequest::SerializePayload() const } } + if(m_mutualAuthenticationHasBeenSet) + { + m_mutualAuthentication.OutputToStream(ss, "MutualAuthentication"); + } + ss << "Version=2015-12-01"; return ss.str(); } diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/ModifyTrustStoreRequest.cpp b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/ModifyTrustStoreRequest.cpp new file mode 100644 index 00000000000..8f548f8ac8c --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/ModifyTrustStoreRequest.cpp @@ -0,0 +1,53 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::ElasticLoadBalancingv2::Model; +using namespace Aws::Utils; + +ModifyTrustStoreRequest::ModifyTrustStoreRequest() : + m_trustStoreArnHasBeenSet(false), + m_caCertificatesBundleS3BucketHasBeenSet(false), + m_caCertificatesBundleS3KeyHasBeenSet(false), + m_caCertificatesBundleS3ObjectVersionHasBeenSet(false) +{ +} + +Aws::String ModifyTrustStoreRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=ModifyTrustStore&"; + if(m_trustStoreArnHasBeenSet) + { + ss << "TrustStoreArn=" << StringUtils::URLEncode(m_trustStoreArn.c_str()) << "&"; + } + + if(m_caCertificatesBundleS3BucketHasBeenSet) + { + ss << "CaCertificatesBundleS3Bucket=" << StringUtils::URLEncode(m_caCertificatesBundleS3Bucket.c_str()) << "&"; + } + + if(m_caCertificatesBundleS3KeyHasBeenSet) + { + ss << "CaCertificatesBundleS3Key=" << StringUtils::URLEncode(m_caCertificatesBundleS3Key.c_str()) << "&"; + } + + if(m_caCertificatesBundleS3ObjectVersionHasBeenSet) + { + ss << "CaCertificatesBundleS3ObjectVersion=" << StringUtils::URLEncode(m_caCertificatesBundleS3ObjectVersion.c_str()) << "&"; + } + + ss << "Version=2015-12-01"; + return ss.str(); +} + + +void ModifyTrustStoreRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/ModifyTrustStoreResult.cpp b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/ModifyTrustStoreResult.cpp new file mode 100644 index 00000000000..57bfdb7a3d5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/ModifyTrustStoreResult.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::ElasticLoadBalancingv2::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils::Logging; +using namespace Aws::Utils; +using namespace Aws; + +ModifyTrustStoreResult::ModifyTrustStoreResult() +{ +} + +ModifyTrustStoreResult::ModifyTrustStoreResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ModifyTrustStoreResult& ModifyTrustStoreResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode rootNode = xmlDocument.GetRootElement(); + XmlNode resultNode = rootNode; + if (!rootNode.IsNull() && (rootNode.GetName() != "ModifyTrustStoreResult")) + { + resultNode = rootNode.FirstChild("ModifyTrustStoreResult"); + } + + if(!resultNode.IsNull()) + { + XmlNode trustStoresNode = resultNode.FirstChild("TrustStores"); + if(!trustStoresNode.IsNull()) + { + XmlNode trustStoresMember = trustStoresNode.FirstChild("member"); + while(!trustStoresMember.IsNull()) + { + m_trustStores.push_back(trustStoresMember); + trustStoresMember = trustStoresMember.NextNode("member"); + } + + } + } + + if (!rootNode.IsNull()) { + XmlNode responseMetadataNode = rootNode.FirstChild("ResponseMetadata"); + m_responseMetadata = responseMetadataNode; + AWS_LOGSTREAM_DEBUG("Aws::ElasticLoadBalancingv2::Model::ModifyTrustStoreResult", "x-amzn-request-id: " << m_responseMetadata.GetRequestId() ); + } + return *this; +} diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/MutualAuthenticationAttributes.cpp b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/MutualAuthenticationAttributes.cpp new file mode 100644 index 00000000000..a7dad6f681b --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/MutualAuthenticationAttributes.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 + +#include + +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +namespace Aws +{ +namespace ElasticLoadBalancingv2 +{ +namespace Model +{ + +MutualAuthenticationAttributes::MutualAuthenticationAttributes() : + m_modeHasBeenSet(false), + m_trustStoreArnHasBeenSet(false), + m_ignoreClientCertificateExpiry(false), + m_ignoreClientCertificateExpiryHasBeenSet(false) +{ +} + +MutualAuthenticationAttributes::MutualAuthenticationAttributes(const XmlNode& xmlNode) : + m_modeHasBeenSet(false), + m_trustStoreArnHasBeenSet(false), + m_ignoreClientCertificateExpiry(false), + m_ignoreClientCertificateExpiryHasBeenSet(false) +{ + *this = xmlNode; +} + +MutualAuthenticationAttributes& MutualAuthenticationAttributes::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode modeNode = resultNode.FirstChild("Mode"); + if(!modeNode.IsNull()) + { + m_mode = Aws::Utils::Xml::DecodeEscapedXmlText(modeNode.GetText()); + m_modeHasBeenSet = true; + } + XmlNode trustStoreArnNode = resultNode.FirstChild("TrustStoreArn"); + if(!trustStoreArnNode.IsNull()) + { + m_trustStoreArn = Aws::Utils::Xml::DecodeEscapedXmlText(trustStoreArnNode.GetText()); + m_trustStoreArnHasBeenSet = true; + } + XmlNode ignoreClientCertificateExpiryNode = resultNode.FirstChild("IgnoreClientCertificateExpiry"); + if(!ignoreClientCertificateExpiryNode.IsNull()) + { + m_ignoreClientCertificateExpiry = StringUtils::ConvertToBool(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(ignoreClientCertificateExpiryNode.GetText()).c_str()).c_str()); + m_ignoreClientCertificateExpiryHasBeenSet = true; + } + } + + return *this; +} + +void MutualAuthenticationAttributes::OutputToStream(Aws::OStream& oStream, const char* location, unsigned index, const char* locationValue) const +{ + if(m_modeHasBeenSet) + { + oStream << location << index << locationValue << ".Mode=" << StringUtils::URLEncode(m_mode.c_str()) << "&"; + } + + if(m_trustStoreArnHasBeenSet) + { + oStream << location << index << locationValue << ".TrustStoreArn=" << StringUtils::URLEncode(m_trustStoreArn.c_str()) << "&"; + } + + if(m_ignoreClientCertificateExpiryHasBeenSet) + { + oStream << location << index << locationValue << ".IgnoreClientCertificateExpiry=" << std::boolalpha << m_ignoreClientCertificateExpiry << "&"; + } + +} + +void MutualAuthenticationAttributes::OutputToStream(Aws::OStream& oStream, const char* location) const +{ + if(m_modeHasBeenSet) + { + oStream << location << ".Mode=" << StringUtils::URLEncode(m_mode.c_str()) << "&"; + } + if(m_trustStoreArnHasBeenSet) + { + oStream << location << ".TrustStoreArn=" << StringUtils::URLEncode(m_trustStoreArn.c_str()) << "&"; + } + if(m_ignoreClientCertificateExpiryHasBeenSet) + { + oStream << location << ".IgnoreClientCertificateExpiry=" << std::boolalpha << m_ignoreClientCertificateExpiry << "&"; + } +} + +} // namespace Model +} // namespace ElasticLoadBalancingv2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/RemoveTrustStoreRevocationsRequest.cpp b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/RemoveTrustStoreRevocationsRequest.cpp new file mode 100644 index 00000000000..f3d59d1b9b9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/RemoveTrustStoreRevocationsRequest.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::ElasticLoadBalancingv2::Model; +using namespace Aws::Utils; + +RemoveTrustStoreRevocationsRequest::RemoveTrustStoreRevocationsRequest() : + m_trustStoreArnHasBeenSet(false), + m_revocationIdsHasBeenSet(false) +{ +} + +Aws::String RemoveTrustStoreRevocationsRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=RemoveTrustStoreRevocations&"; + if(m_trustStoreArnHasBeenSet) + { + ss << "TrustStoreArn=" << StringUtils::URLEncode(m_trustStoreArn.c_str()) << "&"; + } + + if(m_revocationIdsHasBeenSet) + { + unsigned revocationIdsCount = 1; + for(auto& item : m_revocationIds) + { + ss << "RevocationIds.member." << revocationIdsCount << "=" + << item << "&"; + revocationIdsCount++; + } + } + + ss << "Version=2015-12-01"; + return ss.str(); +} + + +void RemoveTrustStoreRevocationsRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/RemoveTrustStoreRevocationsResult.cpp b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/RemoveTrustStoreRevocationsResult.cpp new file mode 100644 index 00000000000..de3dd58dc6e --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/RemoveTrustStoreRevocationsResult.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::ElasticLoadBalancingv2::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils::Logging; +using namespace Aws::Utils; +using namespace Aws; + +RemoveTrustStoreRevocationsResult::RemoveTrustStoreRevocationsResult() +{ +} + +RemoveTrustStoreRevocationsResult::RemoveTrustStoreRevocationsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +RemoveTrustStoreRevocationsResult& RemoveTrustStoreRevocationsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode rootNode = xmlDocument.GetRootElement(); + XmlNode resultNode = rootNode; + if (!rootNode.IsNull() && (rootNode.GetName() != "RemoveTrustStoreRevocationsResult")) + { + resultNode = rootNode.FirstChild("RemoveTrustStoreRevocationsResult"); + } + + if(!resultNode.IsNull()) + { + } + + if (!rootNode.IsNull()) { + XmlNode responseMetadataNode = rootNode.FirstChild("ResponseMetadata"); + m_responseMetadata = responseMetadataNode; + AWS_LOGSTREAM_DEBUG("Aws::ElasticLoadBalancingv2::Model::RemoveTrustStoreRevocationsResult", "x-amzn-request-id: " << m_responseMetadata.GetRequestId() ); + } + return *this; +} diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/RevocationContent.cpp b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/RevocationContent.cpp new file mode 100644 index 00000000000..971ab1ad9ce --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/RevocationContent.cpp @@ -0,0 +1,123 @@ +/** + * 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 ElasticLoadBalancingv2 +{ +namespace Model +{ + +RevocationContent::RevocationContent() : + m_s3BucketHasBeenSet(false), + m_s3KeyHasBeenSet(false), + m_s3ObjectVersionHasBeenSet(false), + m_revocationType(RevocationType::NOT_SET), + m_revocationTypeHasBeenSet(false) +{ +} + +RevocationContent::RevocationContent(const XmlNode& xmlNode) : + m_s3BucketHasBeenSet(false), + m_s3KeyHasBeenSet(false), + m_s3ObjectVersionHasBeenSet(false), + m_revocationType(RevocationType::NOT_SET), + m_revocationTypeHasBeenSet(false) +{ + *this = xmlNode; +} + +RevocationContent& RevocationContent::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode s3BucketNode = resultNode.FirstChild("S3Bucket"); + if(!s3BucketNode.IsNull()) + { + m_s3Bucket = Aws::Utils::Xml::DecodeEscapedXmlText(s3BucketNode.GetText()); + m_s3BucketHasBeenSet = true; + } + XmlNode s3KeyNode = resultNode.FirstChild("S3Key"); + if(!s3KeyNode.IsNull()) + { + m_s3Key = Aws::Utils::Xml::DecodeEscapedXmlText(s3KeyNode.GetText()); + m_s3KeyHasBeenSet = true; + } + XmlNode s3ObjectVersionNode = resultNode.FirstChild("S3ObjectVersion"); + if(!s3ObjectVersionNode.IsNull()) + { + m_s3ObjectVersion = Aws::Utils::Xml::DecodeEscapedXmlText(s3ObjectVersionNode.GetText()); + m_s3ObjectVersionHasBeenSet = true; + } + XmlNode revocationTypeNode = resultNode.FirstChild("RevocationType"); + if(!revocationTypeNode.IsNull()) + { + m_revocationType = RevocationTypeMapper::GetRevocationTypeForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(revocationTypeNode.GetText()).c_str()).c_str()); + m_revocationTypeHasBeenSet = true; + } + } + + return *this; +} + +void RevocationContent::OutputToStream(Aws::OStream& oStream, const char* location, unsigned index, const char* locationValue) const +{ + if(m_s3BucketHasBeenSet) + { + oStream << location << index << locationValue << ".S3Bucket=" << StringUtils::URLEncode(m_s3Bucket.c_str()) << "&"; + } + + if(m_s3KeyHasBeenSet) + { + oStream << location << index << locationValue << ".S3Key=" << StringUtils::URLEncode(m_s3Key.c_str()) << "&"; + } + + if(m_s3ObjectVersionHasBeenSet) + { + oStream << location << index << locationValue << ".S3ObjectVersion=" << StringUtils::URLEncode(m_s3ObjectVersion.c_str()) << "&"; + } + + if(m_revocationTypeHasBeenSet) + { + oStream << location << index << locationValue << ".RevocationType=" << RevocationTypeMapper::GetNameForRevocationType(m_revocationType) << "&"; + } + +} + +void RevocationContent::OutputToStream(Aws::OStream& oStream, const char* location) const +{ + if(m_s3BucketHasBeenSet) + { + oStream << location << ".S3Bucket=" << StringUtils::URLEncode(m_s3Bucket.c_str()) << "&"; + } + if(m_s3KeyHasBeenSet) + { + oStream << location << ".S3Key=" << StringUtils::URLEncode(m_s3Key.c_str()) << "&"; + } + if(m_s3ObjectVersionHasBeenSet) + { + oStream << location << ".S3ObjectVersion=" << StringUtils::URLEncode(m_s3ObjectVersion.c_str()) << "&"; + } + if(m_revocationTypeHasBeenSet) + { + oStream << location << ".RevocationType=" << RevocationTypeMapper::GetNameForRevocationType(m_revocationType) << "&"; + } +} + +} // namespace Model +} // namespace ElasticLoadBalancingv2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/RevocationType.cpp b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/RevocationType.cpp new file mode 100644 index 00000000000..06b255c690d --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/RevocationType.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 ElasticLoadBalancingv2 + { + namespace Model + { + namespace RevocationTypeMapper + { + + static const int CRL_HASH = HashingUtils::HashString("CRL"); + + + RevocationType GetRevocationTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == CRL_HASH) + { + return RevocationType::CRL; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return RevocationType::NOT_SET; + } + + Aws::String GetNameForRevocationType(RevocationType enumValue) + { + switch(enumValue) + { + case RevocationType::NOT_SET: + return {}; + case RevocationType::CRL: + return "CRL"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace RevocationTypeMapper + } // namespace Model + } // namespace ElasticLoadBalancingv2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/TargetHealthDescription.cpp b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/TargetHealthDescription.cpp index 18fc76b3c6a..f91d1f34096 100644 --- a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/TargetHealthDescription.cpp +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/TargetHealthDescription.cpp @@ -23,14 +23,16 @@ namespace Model TargetHealthDescription::TargetHealthDescription() : m_targetHasBeenSet(false), m_healthCheckPortHasBeenSet(false), - m_targetHealthHasBeenSet(false) + m_targetHealthHasBeenSet(false), + m_anomalyDetectionHasBeenSet(false) { } TargetHealthDescription::TargetHealthDescription(const XmlNode& xmlNode) : m_targetHasBeenSet(false), m_healthCheckPortHasBeenSet(false), - m_targetHealthHasBeenSet(false) + m_targetHealthHasBeenSet(false), + m_anomalyDetectionHasBeenSet(false) { *this = xmlNode; } @@ -59,6 +61,12 @@ TargetHealthDescription& TargetHealthDescription::operator =(const XmlNode& xmlN m_targetHealth = targetHealthNode; m_targetHealthHasBeenSet = true; } + XmlNode anomalyDetectionNode = resultNode.FirstChild("AnomalyDetection"); + if(!anomalyDetectionNode.IsNull()) + { + m_anomalyDetection = anomalyDetectionNode; + m_anomalyDetectionHasBeenSet = true; + } } return *this; @@ -85,6 +93,13 @@ void TargetHealthDescription::OutputToStream(Aws::OStream& oStream, const char* m_targetHealth.OutputToStream(oStream, targetHealthLocationAndMemberSs.str().c_str()); } + if(m_anomalyDetectionHasBeenSet) + { + Aws::StringStream anomalyDetectionLocationAndMemberSs; + anomalyDetectionLocationAndMemberSs << location << index << locationValue << ".AnomalyDetection"; + m_anomalyDetection.OutputToStream(oStream, anomalyDetectionLocationAndMemberSs.str().c_str()); + } + } void TargetHealthDescription::OutputToStream(Aws::OStream& oStream, const char* location) const @@ -105,6 +120,12 @@ void TargetHealthDescription::OutputToStream(Aws::OStream& oStream, const char* targetHealthLocationAndMember += ".TargetHealth"; m_targetHealth.OutputToStream(oStream, targetHealthLocationAndMember.c_str()); } + if(m_anomalyDetectionHasBeenSet) + { + Aws::String anomalyDetectionLocationAndMember(location); + anomalyDetectionLocationAndMember += ".AnomalyDetection"; + m_anomalyDetection.OutputToStream(oStream, anomalyDetectionLocationAndMember.c_str()); + } } } // namespace Model diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/TrustStore.cpp b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/TrustStore.cpp new file mode 100644 index 00000000000..b6bbda9d749 --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/TrustStore.cpp @@ -0,0 +1,144 @@ +/** + * 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 ElasticLoadBalancingv2 +{ +namespace Model +{ + +TrustStore::TrustStore() : + m_nameHasBeenSet(false), + m_trustStoreArnHasBeenSet(false), + m_status(TrustStoreStatus::NOT_SET), + m_statusHasBeenSet(false), + m_numberOfCaCertificates(0), + m_numberOfCaCertificatesHasBeenSet(false), + m_totalRevokedEntries(0), + m_totalRevokedEntriesHasBeenSet(false) +{ +} + +TrustStore::TrustStore(const XmlNode& xmlNode) : + m_nameHasBeenSet(false), + m_trustStoreArnHasBeenSet(false), + m_status(TrustStoreStatus::NOT_SET), + m_statusHasBeenSet(false), + m_numberOfCaCertificates(0), + m_numberOfCaCertificatesHasBeenSet(false), + m_totalRevokedEntries(0), + m_totalRevokedEntriesHasBeenSet(false) +{ + *this = xmlNode; +} + +TrustStore& TrustStore::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; + } + XmlNode trustStoreArnNode = resultNode.FirstChild("TrustStoreArn"); + if(!trustStoreArnNode.IsNull()) + { + m_trustStoreArn = Aws::Utils::Xml::DecodeEscapedXmlText(trustStoreArnNode.GetText()); + m_trustStoreArnHasBeenSet = true; + } + XmlNode statusNode = resultNode.FirstChild("Status"); + if(!statusNode.IsNull()) + { + m_status = TrustStoreStatusMapper::GetTrustStoreStatusForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(statusNode.GetText()).c_str()).c_str()); + m_statusHasBeenSet = true; + } + XmlNode numberOfCaCertificatesNode = resultNode.FirstChild("NumberOfCaCertificates"); + if(!numberOfCaCertificatesNode.IsNull()) + { + m_numberOfCaCertificates = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(numberOfCaCertificatesNode.GetText()).c_str()).c_str()); + m_numberOfCaCertificatesHasBeenSet = true; + } + XmlNode totalRevokedEntriesNode = resultNode.FirstChild("TotalRevokedEntries"); + if(!totalRevokedEntriesNode.IsNull()) + { + m_totalRevokedEntries = StringUtils::ConvertToInt64(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(totalRevokedEntriesNode.GetText()).c_str()).c_str()); + m_totalRevokedEntriesHasBeenSet = true; + } + } + + return *this; +} + +void TrustStore::OutputToStream(Aws::OStream& oStream, const char* location, unsigned index, const char* locationValue) const +{ + if(m_nameHasBeenSet) + { + oStream << location << index << locationValue << ".Name=" << StringUtils::URLEncode(m_name.c_str()) << "&"; + } + + if(m_trustStoreArnHasBeenSet) + { + oStream << location << index << locationValue << ".TrustStoreArn=" << StringUtils::URLEncode(m_trustStoreArn.c_str()) << "&"; + } + + if(m_statusHasBeenSet) + { + oStream << location << index << locationValue << ".Status=" << TrustStoreStatusMapper::GetNameForTrustStoreStatus(m_status) << "&"; + } + + if(m_numberOfCaCertificatesHasBeenSet) + { + oStream << location << index << locationValue << ".NumberOfCaCertificates=" << m_numberOfCaCertificates << "&"; + } + + if(m_totalRevokedEntriesHasBeenSet) + { + oStream << location << index << locationValue << ".TotalRevokedEntries=" << m_totalRevokedEntries << "&"; + } + +} + +void TrustStore::OutputToStream(Aws::OStream& oStream, const char* location) const +{ + if(m_nameHasBeenSet) + { + oStream << location << ".Name=" << StringUtils::URLEncode(m_name.c_str()) << "&"; + } + if(m_trustStoreArnHasBeenSet) + { + oStream << location << ".TrustStoreArn=" << StringUtils::URLEncode(m_trustStoreArn.c_str()) << "&"; + } + if(m_statusHasBeenSet) + { + oStream << location << ".Status=" << TrustStoreStatusMapper::GetNameForTrustStoreStatus(m_status) << "&"; + } + if(m_numberOfCaCertificatesHasBeenSet) + { + oStream << location << ".NumberOfCaCertificates=" << m_numberOfCaCertificates << "&"; + } + if(m_totalRevokedEntriesHasBeenSet) + { + oStream << location << ".TotalRevokedEntries=" << m_totalRevokedEntries << "&"; + } +} + +} // namespace Model +} // namespace ElasticLoadBalancingv2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/TrustStoreAssociation.cpp b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/TrustStoreAssociation.cpp new file mode 100644 index 00000000000..cd7adecd58d --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/TrustStoreAssociation.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 ElasticLoadBalancingv2 +{ +namespace Model +{ + +TrustStoreAssociation::TrustStoreAssociation() : + m_resourceArnHasBeenSet(false) +{ +} + +TrustStoreAssociation::TrustStoreAssociation(const XmlNode& xmlNode) : + m_resourceArnHasBeenSet(false) +{ + *this = xmlNode; +} + +TrustStoreAssociation& TrustStoreAssociation::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode resourceArnNode = resultNode.FirstChild("ResourceArn"); + if(!resourceArnNode.IsNull()) + { + m_resourceArn = Aws::Utils::Xml::DecodeEscapedXmlText(resourceArnNode.GetText()); + m_resourceArnHasBeenSet = true; + } + } + + return *this; +} + +void TrustStoreAssociation::OutputToStream(Aws::OStream& oStream, const char* location, unsigned index, const char* locationValue) const +{ + if(m_resourceArnHasBeenSet) + { + oStream << location << index << locationValue << ".ResourceArn=" << StringUtils::URLEncode(m_resourceArn.c_str()) << "&"; + } + +} + +void TrustStoreAssociation::OutputToStream(Aws::OStream& oStream, const char* location) const +{ + if(m_resourceArnHasBeenSet) + { + oStream << location << ".ResourceArn=" << StringUtils::URLEncode(m_resourceArn.c_str()) << "&"; + } +} + +} // namespace Model +} // namespace ElasticLoadBalancingv2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/TrustStoreRevocation.cpp b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/TrustStoreRevocation.cpp new file mode 100644 index 00000000000..75e2ab10c2a --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/TrustStoreRevocation.cpp @@ -0,0 +1,127 @@ +/** + * 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 ElasticLoadBalancingv2 +{ +namespace Model +{ + +TrustStoreRevocation::TrustStoreRevocation() : + m_trustStoreArnHasBeenSet(false), + m_revocationId(0), + m_revocationIdHasBeenSet(false), + m_revocationType(RevocationType::NOT_SET), + m_revocationTypeHasBeenSet(false), + m_numberOfRevokedEntries(0), + m_numberOfRevokedEntriesHasBeenSet(false) +{ +} + +TrustStoreRevocation::TrustStoreRevocation(const XmlNode& xmlNode) : + m_trustStoreArnHasBeenSet(false), + m_revocationId(0), + m_revocationIdHasBeenSet(false), + m_revocationType(RevocationType::NOT_SET), + m_revocationTypeHasBeenSet(false), + m_numberOfRevokedEntries(0), + m_numberOfRevokedEntriesHasBeenSet(false) +{ + *this = xmlNode; +} + +TrustStoreRevocation& TrustStoreRevocation::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode trustStoreArnNode = resultNode.FirstChild("TrustStoreArn"); + if(!trustStoreArnNode.IsNull()) + { + m_trustStoreArn = Aws::Utils::Xml::DecodeEscapedXmlText(trustStoreArnNode.GetText()); + m_trustStoreArnHasBeenSet = true; + } + XmlNode revocationIdNode = resultNode.FirstChild("RevocationId"); + if(!revocationIdNode.IsNull()) + { + m_revocationId = StringUtils::ConvertToInt64(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(revocationIdNode.GetText()).c_str()).c_str()); + m_revocationIdHasBeenSet = true; + } + XmlNode revocationTypeNode = resultNode.FirstChild("RevocationType"); + if(!revocationTypeNode.IsNull()) + { + m_revocationType = RevocationTypeMapper::GetRevocationTypeForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(revocationTypeNode.GetText()).c_str()).c_str()); + m_revocationTypeHasBeenSet = true; + } + XmlNode numberOfRevokedEntriesNode = resultNode.FirstChild("NumberOfRevokedEntries"); + if(!numberOfRevokedEntriesNode.IsNull()) + { + m_numberOfRevokedEntries = StringUtils::ConvertToInt64(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(numberOfRevokedEntriesNode.GetText()).c_str()).c_str()); + m_numberOfRevokedEntriesHasBeenSet = true; + } + } + + return *this; +} + +void TrustStoreRevocation::OutputToStream(Aws::OStream& oStream, const char* location, unsigned index, const char* locationValue) const +{ + if(m_trustStoreArnHasBeenSet) + { + oStream << location << index << locationValue << ".TrustStoreArn=" << StringUtils::URLEncode(m_trustStoreArn.c_str()) << "&"; + } + + if(m_revocationIdHasBeenSet) + { + oStream << location << index << locationValue << ".RevocationId=" << m_revocationId << "&"; + } + + if(m_revocationTypeHasBeenSet) + { + oStream << location << index << locationValue << ".RevocationType=" << RevocationTypeMapper::GetNameForRevocationType(m_revocationType) << "&"; + } + + if(m_numberOfRevokedEntriesHasBeenSet) + { + oStream << location << index << locationValue << ".NumberOfRevokedEntries=" << m_numberOfRevokedEntries << "&"; + } + +} + +void TrustStoreRevocation::OutputToStream(Aws::OStream& oStream, const char* location) const +{ + if(m_trustStoreArnHasBeenSet) + { + oStream << location << ".TrustStoreArn=" << StringUtils::URLEncode(m_trustStoreArn.c_str()) << "&"; + } + if(m_revocationIdHasBeenSet) + { + oStream << location << ".RevocationId=" << m_revocationId << "&"; + } + if(m_revocationTypeHasBeenSet) + { + oStream << location << ".RevocationType=" << RevocationTypeMapper::GetNameForRevocationType(m_revocationType) << "&"; + } + if(m_numberOfRevokedEntriesHasBeenSet) + { + oStream << location << ".NumberOfRevokedEntries=" << m_numberOfRevokedEntries << "&"; + } +} + +} // namespace Model +} // namespace ElasticLoadBalancingv2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/TrustStoreStatus.cpp b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/TrustStoreStatus.cpp new file mode 100644 index 00000000000..1d41fcc279b --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/model/TrustStoreStatus.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 ElasticLoadBalancingv2 + { + namespace Model + { + namespace TrustStoreStatusMapper + { + + static const int ACTIVE_HASH = HashingUtils::HashString("ACTIVE"); + static const int CREATING_HASH = HashingUtils::HashString("CREATING"); + + + TrustStoreStatus GetTrustStoreStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == ACTIVE_HASH) + { + return TrustStoreStatus::ACTIVE; + } + else if (hashCode == CREATING_HASH) + { + return TrustStoreStatus::CREATING; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return TrustStoreStatus::NOT_SET; + } + + Aws::String GetNameForTrustStoreStatus(TrustStoreStatus enumValue) + { + switch(enumValue) + { + case TrustStoreStatus::NOT_SET: + return {}; + case TrustStoreStatus::ACTIVE: + return "ACTIVE"; + case TrustStoreStatus::CREATING: + return "CREATING"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace TrustStoreStatusMapper + } // namespace Model + } // namespace ElasticLoadBalancingv2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-freetier/CMakeLists.txt b/generated/src/aws-cpp-sdk-freetier/CMakeLists.txt new file mode 100644 index 00000000000..4f4eada2b3a --- /dev/null +++ b/generated/src/aws-cpp-sdk-freetier/CMakeLists.txt @@ -0,0 +1,76 @@ +add_project(aws-cpp-sdk-freetier "C++ SDK for the AWS freetier service" aws-cpp-sdk-core) + +file(GLOB AWS_FREETIER_HEADERS + "include/aws/freetier/*.h" +) + +file(GLOB AWS_FREETIER_MODEL_HEADERS + "include/aws/freetier/model/*.h" +) + +file(GLOB AWS_FREETIER_SOURCE + "source/*.cpp" +) + +file(GLOB AWS_FREETIER_MODEL_SOURCE + "source/model/*.cpp" +) + +file(GLOB FREETIER_UNIFIED_HEADERS + ${AWS_FREETIER_HEADERS} + ${AWS_FREETIER_MODEL_HEADERS} +) + +file(GLOB FREETIER_UNITY_SRC + ${AWS_FREETIER_SOURCE} + ${AWS_FREETIER_MODEL_SOURCE} +) + +if(ENABLE_UNITY_BUILD) + enable_unity_build("FREETIER" FREETIER_UNITY_SRC) +endif() + +file(GLOB FREETIER_SRC + ${FREETIER_UNIFIED_HEADERS} + ${FREETIER_UNITY_SRC} +) + +if(WIN32) + #if we are compiling for visual studio, create a sane directory tree. + if(MSVC) + source_group("Header Files\\aws\\freetier" FILES ${AWS_FREETIER_HEADERS}) + source_group("Header Files\\aws\\freetier\\model" FILES ${AWS_FREETIER_MODEL_HEADERS}) + source_group("Source Files" FILES ${AWS_FREETIER_SOURCE}) + source_group("Source Files\\model" FILES ${AWS_FREETIER_MODEL_SOURCE}) + endif(MSVC) +endif() + +set(FREETIER_INCLUDES + "${CMAKE_CURRENT_SOURCE_DIR}/include/" +) + +add_library(${PROJECT_NAME} ${FREETIER_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_FREETIER_EXPORTS") +endif() + +target_include_directories(${PROJECT_NAME} PUBLIC + $ + $) + +target_link_libraries(${PROJECT_NAME} PRIVATE ${PLATFORM_DEP_LIBS} ${PROJECT_LIBS}) + + +setup_install() + +install (FILES ${AWS_FREETIER_HEADERS} DESTINATION ${INCLUDE_DIRECTORY}/aws/freetier) +install (FILES ${AWS_FREETIER_MODEL_HEADERS} DESTINATION ${INCLUDE_DIRECTORY}/aws/freetier/model) + +do_packaging() + + diff --git a/generated/src/aws-cpp-sdk-freetier/include/aws/freetier/FreeTierClient.h b/generated/src/aws-cpp-sdk-freetier/include/aws/freetier/FreeTierClient.h new file mode 100644 index 00000000000..4e16f27e721 --- /dev/null +++ b/generated/src/aws-cpp-sdk-freetier/include/aws/freetier/FreeTierClient.h @@ -0,0 +1,126 @@ +/** + * 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 FreeTier +{ + /** + *

                                                                    You can use the Amazon Web Services Free Tier API to query programmatically + * your Free Tier usage data.

                                                                    Free Tier tracks your monthly usage data for + * all free tier offers that are associated with your Amazon Web Services account. + * You can use the Free Tier API to filter and show only the data that you + * want.

                                                                    Service endpoint

                                                                    The Free Tier API provides the following + * endpoint:

                                                                    • https://freetier.us-east-1.api.aws

                                                                    + *

                                                                    For more information, see Using + * the Amazon Web Services Free Tier in the Billing User Guide.

                                                                    + */ + class AWS_FREETIER_API FreeTierClient : public Aws::Client::AWSJsonClient, public Aws::Client::ClientWithAsyncTemplateMethods + { + public: + typedef Aws::Client::AWSJsonClient BASECLASS; + static const char* SERVICE_NAME; + static const char* ALLOCATION_TAG; + + typedef FreeTierClientConfiguration ClientConfigurationType; + typedef FreeTierEndpointProvider 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. + */ + FreeTierClient(const Aws::FreeTier::FreeTierClientConfiguration& clientConfiguration = Aws::FreeTier::FreeTierClientConfiguration(), + std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG)); + + /** + * 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. + */ + FreeTierClient(const Aws::Auth::AWSCredentials& credentials, + std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG), + const Aws::FreeTier::FreeTierClientConfiguration& clientConfiguration = Aws::FreeTier::FreeTierClientConfiguration()); + + /** + * 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 + */ + FreeTierClient(const std::shared_ptr& credentialsProvider, + std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG), + const Aws::FreeTier::FreeTierClientConfiguration& clientConfiguration = Aws::FreeTier::FreeTierClientConfiguration()); + + + /* 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. + */ + FreeTierClient(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. + */ + FreeTierClient(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 + */ + FreeTierClient(const std::shared_ptr& credentialsProvider, + const Aws::Client::ClientConfiguration& clientConfiguration); + + /* End of legacy constructors due deprecation */ + virtual ~FreeTierClient(); + + /** + *

                                                                    Returns a list of all Free Tier usage objects that match your + * filters.

                                                                    See Also:

                                                                    AWS + * API Reference

                                                                    + */ + virtual Model::GetFreeTierUsageOutcome GetFreeTierUsage(const Model::GetFreeTierUsageRequest& request) const; + + /** + * A Callable wrapper for GetFreeTierUsage that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetFreeTierUsageOutcomeCallable GetFreeTierUsageCallable(const GetFreeTierUsageRequestT& request) const + { + return SubmitCallable(&FreeTierClient::GetFreeTierUsage, request); + } + + /** + * An Async wrapper for GetFreeTierUsage that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetFreeTierUsageAsync(const GetFreeTierUsageRequestT& request, const GetFreeTierUsageResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&FreeTierClient::GetFreeTierUsage, request, handler, context); + } + + + void OverrideEndpoint(const Aws::String& endpoint); + std::shared_ptr& accessEndpointProvider(); + private: + friend class Aws::Client::ClientWithAsyncTemplateMethods; + void init(const FreeTierClientConfiguration& clientConfiguration); + + FreeTierClientConfiguration m_clientConfiguration; + std::shared_ptr m_executor; + std::shared_ptr m_endpointProvider; + }; + +} // namespace FreeTier +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-freetier/include/aws/freetier/FreeTierEndpointProvider.h b/generated/src/aws-cpp-sdk-freetier/include/aws/freetier/FreeTierEndpointProvider.h new file mode 100644 index 00000000000..1226937e006 --- /dev/null +++ b/generated/src/aws-cpp-sdk-freetier/include/aws/freetier/FreeTierEndpointProvider.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 FreeTier +{ +namespace Endpoint +{ +using EndpointParameters = Aws::Endpoint::EndpointParameters; +using Aws::Endpoint::EndpointProviderBase; +using Aws::Endpoint::DefaultEndpointProvider; + +using FreeTierClientContextParameters = Aws::Endpoint::ClientContextParameters; + +using FreeTierClientConfiguration = Aws::Client::GenericClientConfiguration; +using FreeTierBuiltInParameters = Aws::Endpoint::BuiltInParameters; + +/** + * The type for the FreeTier 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 FreeTierEndpointProviderBase = + EndpointProviderBase; + +using FreeTierDefaultEpProviderBase = + DefaultEndpointProvider; + +/** + * Default endpoint provider used for this service + */ +class AWS_FREETIER_API FreeTierEndpointProvider : public FreeTierDefaultEpProviderBase +{ +public: + using FreeTierResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; + + FreeTierEndpointProvider() + : FreeTierDefaultEpProviderBase(Aws::FreeTier::FreeTierEndpointRules::GetRulesBlob(), Aws::FreeTier::FreeTierEndpointRules::RulesBlobSize) + {} + + ~FreeTierEndpointProvider() + { + } +}; +} // namespace Endpoint +} // namespace FreeTier +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-freetier/include/aws/freetier/FreeTierEndpointRules.h b/generated/src/aws-cpp-sdk-freetier/include/aws/freetier/FreeTierEndpointRules.h new file mode 100644 index 00000000000..dad2baa5b2b --- /dev/null +++ b/generated/src/aws-cpp-sdk-freetier/include/aws/freetier/FreeTierEndpointRules.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 FreeTier +{ +class FreeTierEndpointRules +{ +public: + static const size_t RulesBlobStrLen; + static const size_t RulesBlobSize; + + static const char* GetRulesBlob(); +}; +} // namespace FreeTier +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-freetier/include/aws/freetier/FreeTierErrorMarshaller.h b/generated/src/aws-cpp-sdk-freetier/include/aws/freetier/FreeTierErrorMarshaller.h new file mode 100644 index 00000000000..4bac1f09c5a --- /dev/null +++ b/generated/src/aws-cpp-sdk-freetier/include/aws/freetier/FreeTierErrorMarshaller.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_FREETIER_API FreeTierErrorMarshaller : public Aws::Client::JsonErrorMarshaller +{ +public: + Aws::Client::AWSError FindErrorByName(const char* exceptionName) const override; +}; + +} // namespace Client +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-freetier/include/aws/freetier/FreeTierErrors.h b/generated/src/aws-cpp-sdk-freetier/include/aws/freetier/FreeTierErrors.h new file mode 100644 index 00000000000..958d7bfb70a --- /dev/null +++ b/generated/src/aws-cpp-sdk-freetier/include/aws/freetier/FreeTierErrors.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 FreeTier +{ +enum class FreeTierErrors +{ + //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, + /////////////////////////////////////////////////////////////////////////////////////////// + + INTERNAL_SERVER= static_cast(Aws::Client::CoreErrors::SERVICE_EXTENSION_START_RANGE) + 1 +}; + +class AWS_FREETIER_API FreeTierError : public Aws::Client::AWSError +{ +public: + FreeTierError() {} + FreeTierError(const Aws::Client::AWSError& rhs) : Aws::Client::AWSError(rhs) {} + FreeTierError(Aws::Client::AWSError&& rhs) : Aws::Client::AWSError(rhs) {} + FreeTierError(const Aws::Client::AWSError& rhs) : Aws::Client::AWSError(rhs) {} + FreeTierError(Aws::Client::AWSError&& rhs) : Aws::Client::AWSError(rhs) {} + + template + T GetModeledError(); +}; + +namespace FreeTierErrorMapper +{ + AWS_FREETIER_API Aws::Client::AWSError GetErrorForName(const char* errorName); +} + +} // namespace FreeTier +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-freetier/include/aws/freetier/FreeTierRequest.h b/generated/src/aws-cpp-sdk-freetier/include/aws/freetier/FreeTierRequest.h new file mode 100644 index 00000000000..c59e42614a2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-freetier/include/aws/freetier/FreeTierRequest.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 FreeTier +{ + class AWS_FREETIER_API FreeTierRequest : public Aws::AmazonSerializableWebServiceRequest + { + public: + using EndpointParameter = Aws::Endpoint::EndpointParameter; + using EndpointParameters = Aws::Endpoint::EndpointParameters; + + virtual ~FreeTierRequest () {} + + 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, "2023-09-07")); + return headers; + } + + protected: + virtual Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const { return Aws::Http::HeaderValueCollection(); } + + }; + + +} // namespace FreeTier +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-freetier/include/aws/freetier/FreeTierServiceClientModel.h b/generated/src/aws-cpp-sdk-freetier/include/aws/freetier/FreeTierServiceClientModel.h new file mode 100644 index 00000000000..3bd4151ff91 --- /dev/null +++ b/generated/src/aws-cpp-sdk-freetier/include/aws/freetier/FreeTierServiceClientModel.h @@ -0,0 +1,80 @@ +/** + * 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 FreeTierClient header */ +#include +/* End of service model headers required in FreeTierClient 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 FreeTier + { + using FreeTierClientConfiguration = Aws::Client::GenericClientConfiguration; + using FreeTierEndpointProviderBase = Aws::FreeTier::Endpoint::FreeTierEndpointProviderBase; + using FreeTierEndpointProvider = Aws::FreeTier::Endpoint::FreeTierEndpointProvider; + + namespace Model + { + /* Service model forward declarations required in FreeTierClient header */ + class GetFreeTierUsageRequest; + /* End of service model forward declarations required in FreeTierClient header */ + + /* Service model Outcome class definitions */ + typedef Aws::Utils::Outcome GetFreeTierUsageOutcome; + /* End of service model Outcome class definitions */ + + /* Service model Outcome callable definitions */ + typedef std::future GetFreeTierUsageOutcomeCallable; + /* End of service model Outcome callable definitions */ + } // namespace Model + + class FreeTierClient; + + /* Service model async handlers definitions */ + typedef std::function&) > GetFreeTierUsageResponseReceivedHandler; + /* End of service model async handlers definitions */ + } // namespace FreeTier +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-freetier/include/aws/freetier/FreeTier_EXPORTS.h b/generated/src/aws-cpp-sdk-freetier/include/aws/freetier/FreeTier_EXPORTS.h new file mode 100644 index 00000000000..bc84b74a37d --- /dev/null +++ b/generated/src/aws-cpp-sdk-freetier/include/aws/freetier/FreeTier_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_FREETIER_EXPORTS + #define AWS_FREETIER_API __declspec(dllexport) + #else + #define AWS_FREETIER_API __declspec(dllimport) + #endif /* AWS_FREETIER_EXPORTS */ + #define AWS_FREETIER_EXTERN + #else + #define AWS_FREETIER_API + #define AWS_FREETIER_EXTERN extern + #endif // USE_IMPORT_EXPORT +#else // defined (USE_WINDOWS_DLL_SEMANTICS) || defined (WIN32) + #define AWS_FREETIER_API + #define AWS_FREETIER_EXTERN extern +#endif // defined (USE_WINDOWS_DLL_SEMANTICS) || defined (WIN32) diff --git a/generated/src/aws-cpp-sdk-freetier/include/aws/freetier/model/Dimension.h b/generated/src/aws-cpp-sdk-freetier/include/aws/freetier/model/Dimension.h new file mode 100644 index 00000000000..04bfd2b8430 --- /dev/null +++ b/generated/src/aws-cpp-sdk-freetier/include/aws/freetier/model/Dimension.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 FreeTier +{ +namespace Model +{ + enum class Dimension + { + NOT_SET, + SERVICE, + OPERATION, + USAGE_TYPE, + REGION, + FREE_TIER_TYPE, + DESCRIPTION, + USAGE_PERCENTAGE + }; + +namespace DimensionMapper +{ +AWS_FREETIER_API Dimension GetDimensionForName(const Aws::String& name); + +AWS_FREETIER_API Aws::String GetNameForDimension(Dimension value); +} // namespace DimensionMapper +} // namespace Model +} // namespace FreeTier +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-freetier/include/aws/freetier/model/DimensionValues.h b/generated/src/aws-cpp-sdk-freetier/include/aws/freetier/model/DimensionValues.h new file mode 100644 index 00000000000..ed661688e62 --- /dev/null +++ b/generated/src/aws-cpp-sdk-freetier/include/aws/freetier/model/DimensionValues.h @@ -0,0 +1,192 @@ +/** + * 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 FreeTier +{ +namespace Model +{ + + /** + *

                                                                    Contains the specifications for the filters to use for your + * request.

                                                                    See Also:

                                                                    AWS + * API Reference

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

                                                                    The name of the dimension that you want to filter on.

                                                                    + */ + inline const Dimension& GetKey() const{ return m_key; } + + /** + *

                                                                    The name of the dimension that you want to filter on.

                                                                    + */ + inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } + + /** + *

                                                                    The name of the dimension that you want to filter on.

                                                                    + */ + inline void SetKey(const Dimension& value) { m_keyHasBeenSet = true; m_key = value; } + + /** + *

                                                                    The name of the dimension that you want to filter on.

                                                                    + */ + inline void SetKey(Dimension&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } + + /** + *

                                                                    The name of the dimension that you want to filter on.

                                                                    + */ + inline DimensionValues& WithKey(const Dimension& value) { SetKey(value); return *this;} + + /** + *

                                                                    The name of the dimension that you want to filter on.

                                                                    + */ + inline DimensionValues& WithKey(Dimension&& value) { SetKey(std::move(value)); return *this;} + + + /** + *

                                                                    The match options that you can use to filter your results. You can specify + * only one of these values in the array.

                                                                    + */ + inline const Aws::Vector& GetMatchOptions() const{ return m_matchOptions; } + + /** + *

                                                                    The match options that you can use to filter your results. You can specify + * only one of these values in the array.

                                                                    + */ + inline bool MatchOptionsHasBeenSet() const { return m_matchOptionsHasBeenSet; } + + /** + *

                                                                    The match options that you can use to filter your results. You can specify + * only one of these values in the array.

                                                                    + */ + inline void SetMatchOptions(const Aws::Vector& value) { m_matchOptionsHasBeenSet = true; m_matchOptions = value; } + + /** + *

                                                                    The match options that you can use to filter your results. You can specify + * only one of these values in the array.

                                                                    + */ + inline void SetMatchOptions(Aws::Vector&& value) { m_matchOptionsHasBeenSet = true; m_matchOptions = std::move(value); } + + /** + *

                                                                    The match options that you can use to filter your results. You can specify + * only one of these values in the array.

                                                                    + */ + inline DimensionValues& WithMatchOptions(const Aws::Vector& value) { SetMatchOptions(value); return *this;} + + /** + *

                                                                    The match options that you can use to filter your results. You can specify + * only one of these values in the array.

                                                                    + */ + inline DimensionValues& WithMatchOptions(Aws::Vector&& value) { SetMatchOptions(std::move(value)); return *this;} + + /** + *

                                                                    The match options that you can use to filter your results. You can specify + * only one of these values in the array.

                                                                    + */ + inline DimensionValues& AddMatchOptions(const MatchOption& value) { m_matchOptionsHasBeenSet = true; m_matchOptions.push_back(value); return *this; } + + /** + *

                                                                    The match options that you can use to filter your results. You can specify + * only one of these values in the array.

                                                                    + */ + inline DimensionValues& AddMatchOptions(MatchOption&& value) { m_matchOptionsHasBeenSet = true; m_matchOptions.push_back(std::move(value)); return *this; } + + + /** + *

                                                                    The metadata values you can specify to filter upon, so that the results all + * match at least one of the specified values.

                                                                    + */ + inline const Aws::Vector& GetValues() const{ return m_values; } + + /** + *

                                                                    The metadata values you can specify to filter upon, so that the results all + * match at least one of the specified values.

                                                                    + */ + inline bool ValuesHasBeenSet() const { return m_valuesHasBeenSet; } + + /** + *

                                                                    The metadata values you can specify to filter upon, so that the results all + * match at least one of the specified values.

                                                                    + */ + inline void SetValues(const Aws::Vector& value) { m_valuesHasBeenSet = true; m_values = value; } + + /** + *

                                                                    The metadata values you can specify to filter upon, so that the results all + * match at least one of the specified values.

                                                                    + */ + inline void SetValues(Aws::Vector&& value) { m_valuesHasBeenSet = true; m_values = std::move(value); } + + /** + *

                                                                    The metadata values you can specify to filter upon, so that the results all + * match at least one of the specified values.

                                                                    + */ + inline DimensionValues& WithValues(const Aws::Vector& value) { SetValues(value); return *this;} + + /** + *

                                                                    The metadata values you can specify to filter upon, so that the results all + * match at least one of the specified values.

                                                                    + */ + inline DimensionValues& WithValues(Aws::Vector&& value) { SetValues(std::move(value)); return *this;} + + /** + *

                                                                    The metadata values you can specify to filter upon, so that the results all + * match at least one of the specified values.

                                                                    + */ + inline DimensionValues& AddValues(const Aws::String& value) { m_valuesHasBeenSet = true; m_values.push_back(value); return *this; } + + /** + *

                                                                    The metadata values you can specify to filter upon, so that the results all + * match at least one of the specified values.

                                                                    + */ + inline DimensionValues& AddValues(Aws::String&& value) { m_valuesHasBeenSet = true; m_values.push_back(std::move(value)); return *this; } + + /** + *

                                                                    The metadata values you can specify to filter upon, so that the results all + * match at least one of the specified values.

                                                                    + */ + inline DimensionValues& AddValues(const char* value) { m_valuesHasBeenSet = true; m_values.push_back(value); return *this; } + + private: + + Dimension m_key; + bool m_keyHasBeenSet = false; + + Aws::Vector m_matchOptions; + bool m_matchOptionsHasBeenSet = false; + + Aws::Vector m_values; + bool m_valuesHasBeenSet = false; + }; + +} // namespace Model +} // namespace FreeTier +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-freetier/include/aws/freetier/model/Expression.h b/generated/src/aws-cpp-sdk-freetier/include/aws/freetier/model/Expression.h new file mode 100644 index 00000000000..4387d994d93 --- /dev/null +++ b/generated/src/aws-cpp-sdk-freetier/include/aws/freetier/model/Expression.h @@ -0,0 +1,248 @@ +/** + * 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 FreeTier +{ +namespace Model +{ + + /** + *

                                                                    Use Expression to filter in the GetFreeTierUsage + * API operation.

                                                                    You can use the following patterns:

                                                                    • + *

                                                                      Simple dimension values (Dimensions root operator)

                                                                    • + *
                                                                    • Complex expressions with logical operators (AND, + * NOT, and OR root operators).

                                                                    For + * simple dimension values, you can set the dimension name, values, and + * match type for the filters that you plan to use.

                                                                    Example for simple + * dimension values

                                                                    You can filter to match exactly for + * REGION==us-east-1 OR REGION==us-west-1.

                                                                    The corresponding + * Expression appears like the following: { "Dimensions": { + * "Key": "REGION", "Values": [ "us-east-1", "us-west-1" ], "MatchOptions": + * ["EQUALS"] } }

                                                                    As shown in the previous example, lists of + * dimension values are combined with OR when you apply the + * filter.

                                                                    For complex expressions with logical operators, you can + * have nested expressions to use the logical operators and specify advanced + * filtering.

                                                                    Example for complex expressions with logical operators + *

                                                                    You can filter by ((REGION == us-east-1 OR REGION == us-west-1) OR + * (SERVICE CONTAINS AWSLambda)) AND (USAGE_TYPE !CONTAINS + * DataTransfer).

                                                                    The corresponding Expression appears + * like the following: { "And": [ {"Or": [ {"Dimensions": { "Key": "REGION", + * "Values": [ "us-east-1", "us-west-1" ], "MatchOptions": ["EQUALS"] }}, + * {"Dimensions": { "Key": "SERVICE", "Values": ["AWSLambda"], "MatchOptions": + * ["CONTAINS"] } } ]}, {"Not": {"Dimensions": { "Key": "USAGE_TYPE", "Values": + * ["DataTransfer"], "MatchOptions": ["CONTAINS"] }}} ] }

                                                                    In the + * following Contents, you must specify exactly one of the following root + * operators.

                                                                    See Also:

                                                                    AWS + * API Reference

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

                                                                    Return results that match all Expressions that you specified in + * the array.

                                                                    + */ + inline const Aws::Vector& GetAnd() const{ return m_and; } + + /** + *

                                                                    Return results that match all Expressions that you specified in + * the array.

                                                                    + */ + inline bool AndHasBeenSet() const { return m_andHasBeenSet; } + + /** + *

                                                                    Return results that match all Expressions that you specified in + * the array.

                                                                    + */ + inline void SetAnd(const Aws::Vector& value) { m_andHasBeenSet = true; m_and = value; } + + /** + *

                                                                    Return results that match all Expressions that you specified in + * the array.

                                                                    + */ + inline void SetAnd(Aws::Vector&& value) { m_andHasBeenSet = true; m_and = std::move(value); } + + /** + *

                                                                    Return results that match all Expressions that you specified in + * the array.

                                                                    + */ + inline Expression& WithAnd(const Aws::Vector& value) { SetAnd(value); return *this;} + + /** + *

                                                                    Return results that match all Expressions that you specified in + * the array.

                                                                    + */ + inline Expression& WithAnd(Aws::Vector&& value) { SetAnd(std::move(value)); return *this;} + + /** + *

                                                                    Return results that match all Expressions that you specified in + * the array.

                                                                    + */ + inline Expression& AddAnd(const Expression& value) { m_andHasBeenSet = true; m_and.push_back(value); return *this; } + + /** + *

                                                                    Return results that match all Expressions that you specified in + * the array.

                                                                    + */ + inline Expression& AddAnd(Expression&& value) { m_andHasBeenSet = true; m_and.push_back(std::move(value)); return *this; } + + + /** + *

                                                                    The specific dimension, values, and match type to filter objects with.

                                                                    + */ + inline const DimensionValues& GetDimensions() const{ return m_dimensions; } + + /** + *

                                                                    The specific dimension, values, and match type to filter objects with.

                                                                    + */ + inline bool DimensionsHasBeenSet() const { return m_dimensionsHasBeenSet; } + + /** + *

                                                                    The specific dimension, values, and match type to filter objects with.

                                                                    + */ + inline void SetDimensions(const DimensionValues& value) { m_dimensionsHasBeenSet = true; m_dimensions = value; } + + /** + *

                                                                    The specific dimension, values, and match type to filter objects with.

                                                                    + */ + inline void SetDimensions(DimensionValues&& value) { m_dimensionsHasBeenSet = true; m_dimensions = std::move(value); } + + /** + *

                                                                    The specific dimension, values, and match type to filter objects with.

                                                                    + */ + inline Expression& WithDimensions(const DimensionValues& value) { SetDimensions(value); return *this;} + + /** + *

                                                                    The specific dimension, values, and match type to filter objects with.

                                                                    + */ + inline Expression& WithDimensions(DimensionValues&& value) { SetDimensions(std::move(value)); return *this;} + + + /** + *

                                                                    Return results that don’t match the Expression that you + * specified.

                                                                    + */ + AWS_FREETIER_API const Expression& GetNot() const; + + /** + *

                                                                    Return results that don’t match the Expression that you + * specified.

                                                                    + */ + AWS_FREETIER_API bool NotHasBeenSet() const; + + /** + *

                                                                    Return results that don’t match the Expression that you + * specified.

                                                                    + */ + AWS_FREETIER_API void SetNot(const Expression& value); + + /** + *

                                                                    Return results that don’t match the Expression that you + * specified.

                                                                    + */ + AWS_FREETIER_API void SetNot(Expression&& value); + + /** + *

                                                                    Return results that don’t match the Expression that you + * specified.

                                                                    + */ + AWS_FREETIER_API Expression& WithNot(const Expression& value); + + /** + *

                                                                    Return results that don’t match the Expression that you + * specified.

                                                                    + */ + AWS_FREETIER_API Expression& WithNot(Expression&& value); + + + /** + *

                                                                    Return results that match any of the Expressions that you + * specified. in the array.

                                                                    + */ + inline const Aws::Vector& GetOr() const{ return m_or; } + + /** + *

                                                                    Return results that match any of the Expressions that you + * specified. in the array.

                                                                    + */ + inline bool OrHasBeenSet() const { return m_orHasBeenSet; } + + /** + *

                                                                    Return results that match any of the Expressions that you + * specified. in the array.

                                                                    + */ + inline void SetOr(const Aws::Vector& value) { m_orHasBeenSet = true; m_or = value; } + + /** + *

                                                                    Return results that match any of the Expressions that you + * specified. in the array.

                                                                    + */ + inline void SetOr(Aws::Vector&& value) { m_orHasBeenSet = true; m_or = std::move(value); } + + /** + *

                                                                    Return results that match any of the Expressions that you + * specified. in the array.

                                                                    + */ + inline Expression& WithOr(const Aws::Vector& value) { SetOr(value); return *this;} + + /** + *

                                                                    Return results that match any of the Expressions that you + * specified. in the array.

                                                                    + */ + inline Expression& WithOr(Aws::Vector&& value) { SetOr(std::move(value)); return *this;} + + /** + *

                                                                    Return results that match any of the Expressions that you + * specified. in the array.

                                                                    + */ + inline Expression& AddOr(const Expression& value) { m_orHasBeenSet = true; m_or.push_back(value); return *this; } + + /** + *

                                                                    Return results that match any of the Expressions that you + * specified. in the array.

                                                                    + */ + inline Expression& AddOr(Expression&& value) { m_orHasBeenSet = true; m_or.push_back(std::move(value)); return *this; } + + private: + + Aws::Vector m_and; + bool m_andHasBeenSet = false; + + DimensionValues m_dimensions; + bool m_dimensionsHasBeenSet = false; + + std::shared_ptr m_not; + bool m_notHasBeenSet = false; + + Aws::Vector m_or; + bool m_orHasBeenSet = false; + }; + +} // namespace Model +} // namespace FreeTier +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-freetier/include/aws/freetier/model/FreeTierUsage.h b/generated/src/aws-cpp-sdk-freetier/include/aws/freetier/model/FreeTierUsage.h new file mode 100644 index 00000000000..c62b1a82f09 --- /dev/null +++ b/generated/src/aws-cpp-sdk-freetier/include/aws/freetier/model/FreeTierUsage.h @@ -0,0 +1,493 @@ +/** + * 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 FreeTier +{ +namespace Model +{ + + /** + *

                                                                    Consists of a Amazon Web Services Free Tier offer’s metadata and your data + * usage for the offer.

                                                                    See Also:

                                                                    AWS + * API Reference

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

                                                                    Describes the actual usage accrued month-to-day (MTD) that you've used so + * far.

                                                                    + */ + inline double GetActualUsageAmount() const{ return m_actualUsageAmount; } + + /** + *

                                                                    Describes the actual usage accrued month-to-day (MTD) that you've used so + * far.

                                                                    + */ + inline bool ActualUsageAmountHasBeenSet() const { return m_actualUsageAmountHasBeenSet; } + + /** + *

                                                                    Describes the actual usage accrued month-to-day (MTD) that you've used so + * far.

                                                                    + */ + inline void SetActualUsageAmount(double value) { m_actualUsageAmountHasBeenSet = true; m_actualUsageAmount = value; } + + /** + *

                                                                    Describes the actual usage accrued month-to-day (MTD) that you've used so + * far.

                                                                    + */ + inline FreeTierUsage& WithActualUsageAmount(double value) { SetActualUsageAmount(value); return *this;} + + + /** + *

                                                                    The description of the Free Tier offer.

                                                                    + */ + inline const Aws::String& GetDescription() const{ return m_description; } + + /** + *

                                                                    The description of the Free Tier offer.

                                                                    + */ + inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } + + /** + *

                                                                    The description of the Free Tier offer.

                                                                    + */ + inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } + + /** + *

                                                                    The description of the Free Tier offer.

                                                                    + */ + inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } + + /** + *

                                                                    The description of the Free Tier offer.

                                                                    + */ + inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } + + /** + *

                                                                    The description of the Free Tier offer.

                                                                    + */ + inline FreeTierUsage& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} + + /** + *

                                                                    The description of the Free Tier offer.

                                                                    + */ + inline FreeTierUsage& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} + + /** + *

                                                                    The description of the Free Tier offer.

                                                                    + */ + inline FreeTierUsage& WithDescription(const char* value) { SetDescription(value); return *this;} + + + /** + *

                                                                    Describes the forecasted usage by the month that you're expected to use.

                                                                    + */ + inline double GetForecastedUsageAmount() const{ return m_forecastedUsageAmount; } + + /** + *

                                                                    Describes the forecasted usage by the month that you're expected to use.

                                                                    + */ + inline bool ForecastedUsageAmountHasBeenSet() const { return m_forecastedUsageAmountHasBeenSet; } + + /** + *

                                                                    Describes the forecasted usage by the month that you're expected to use.

                                                                    + */ + inline void SetForecastedUsageAmount(double value) { m_forecastedUsageAmountHasBeenSet = true; m_forecastedUsageAmount = value; } + + /** + *

                                                                    Describes the forecasted usage by the month that you're expected to use.

                                                                    + */ + inline FreeTierUsage& WithForecastedUsageAmount(double value) { SetForecastedUsageAmount(value); return *this;} + + + /** + *

                                                                    Describes the type of the Free Tier offer. For example, the offer can be + * "12 Months Free", "Always Free", and "Free + * Trial".

                                                                    + */ + inline const Aws::String& GetFreeTierType() const{ return m_freeTierType; } + + /** + *

                                                                    Describes the type of the Free Tier offer. For example, the offer can be + * "12 Months Free", "Always Free", and "Free + * Trial".

                                                                    + */ + inline bool FreeTierTypeHasBeenSet() const { return m_freeTierTypeHasBeenSet; } + + /** + *

                                                                    Describes the type of the Free Tier offer. For example, the offer can be + * "12 Months Free", "Always Free", and "Free + * Trial".

                                                                    + */ + inline void SetFreeTierType(const Aws::String& value) { m_freeTierTypeHasBeenSet = true; m_freeTierType = value; } + + /** + *

                                                                    Describes the type of the Free Tier offer. For example, the offer can be + * "12 Months Free", "Always Free", and "Free + * Trial".

                                                                    + */ + inline void SetFreeTierType(Aws::String&& value) { m_freeTierTypeHasBeenSet = true; m_freeTierType = std::move(value); } + + /** + *

                                                                    Describes the type of the Free Tier offer. For example, the offer can be + * "12 Months Free", "Always Free", and "Free + * Trial".

                                                                    + */ + inline void SetFreeTierType(const char* value) { m_freeTierTypeHasBeenSet = true; m_freeTierType.assign(value); } + + /** + *

                                                                    Describes the type of the Free Tier offer. For example, the offer can be + * "12 Months Free", "Always Free", and "Free + * Trial".

                                                                    + */ + inline FreeTierUsage& WithFreeTierType(const Aws::String& value) { SetFreeTierType(value); return *this;} + + /** + *

                                                                    Describes the type of the Free Tier offer. For example, the offer can be + * "12 Months Free", "Always Free", and "Free + * Trial".

                                                                    + */ + inline FreeTierUsage& WithFreeTierType(Aws::String&& value) { SetFreeTierType(std::move(value)); return *this;} + + /** + *

                                                                    Describes the type of the Free Tier offer. For example, the offer can be + * "12 Months Free", "Always Free", and "Free + * Trial".

                                                                    + */ + inline FreeTierUsage& WithFreeTierType(const char* value) { SetFreeTierType(value); return *this;} + + + /** + *

                                                                    Describes the maximum usage allowed in Free Tier.

                                                                    + */ + inline double GetLimit() const{ return m_limit; } + + /** + *

                                                                    Describes the maximum usage allowed in Free Tier.

                                                                    + */ + inline bool LimitHasBeenSet() const { return m_limitHasBeenSet; } + + /** + *

                                                                    Describes the maximum usage allowed in Free Tier.

                                                                    + */ + inline void SetLimit(double value) { m_limitHasBeenSet = true; m_limit = value; } + + /** + *

                                                                    Describes the maximum usage allowed in Free Tier.

                                                                    + */ + inline FreeTierUsage& WithLimit(double value) { SetLimit(value); return *this;} + + + /** + *

                                                                    Describes usageType more granularly with the specific Amazon Web + * Service API operation. For example, this can be the RunInstances + * API operation for Amazon Elastic Compute Cloud.

                                                                    + */ + inline const Aws::String& GetOperation() const{ return m_operation; } + + /** + *

                                                                    Describes usageType more granularly with the specific Amazon Web + * Service API operation. For example, this can be the RunInstances + * API operation for Amazon Elastic Compute Cloud.

                                                                    + */ + inline bool OperationHasBeenSet() const { return m_operationHasBeenSet; } + + /** + *

                                                                    Describes usageType more granularly with the specific Amazon Web + * Service API operation. For example, this can be the RunInstances + * API operation for Amazon Elastic Compute Cloud.

                                                                    + */ + inline void SetOperation(const Aws::String& value) { m_operationHasBeenSet = true; m_operation = value; } + + /** + *

                                                                    Describes usageType more granularly with the specific Amazon Web + * Service API operation. For example, this can be the RunInstances + * API operation for Amazon Elastic Compute Cloud.

                                                                    + */ + inline void SetOperation(Aws::String&& value) { m_operationHasBeenSet = true; m_operation = std::move(value); } + + /** + *

                                                                    Describes usageType more granularly with the specific Amazon Web + * Service API operation. For example, this can be the RunInstances + * API operation for Amazon Elastic Compute Cloud.

                                                                    + */ + inline void SetOperation(const char* value) { m_operationHasBeenSet = true; m_operation.assign(value); } + + /** + *

                                                                    Describes usageType more granularly with the specific Amazon Web + * Service API operation. For example, this can be the RunInstances + * API operation for Amazon Elastic Compute Cloud.

                                                                    + */ + inline FreeTierUsage& WithOperation(const Aws::String& value) { SetOperation(value); return *this;} + + /** + *

                                                                    Describes usageType more granularly with the specific Amazon Web + * Service API operation. For example, this can be the RunInstances + * API operation for Amazon Elastic Compute Cloud.

                                                                    + */ + inline FreeTierUsage& WithOperation(Aws::String&& value) { SetOperation(std::move(value)); return *this;} + + /** + *

                                                                    Describes usageType more granularly with the specific Amazon Web + * Service API operation. For example, this can be the RunInstances + * API operation for Amazon Elastic Compute Cloud.

                                                                    + */ + inline FreeTierUsage& WithOperation(const char* value) { SetOperation(value); return *this;} + + + /** + *

                                                                    Describes the Amazon Web Services Region for which this offer is + * applicable

                                                                    + */ + inline const Aws::String& GetRegion() const{ return m_region; } + + /** + *

                                                                    Describes the Amazon Web Services Region for which this offer is + * applicable

                                                                    + */ + inline bool RegionHasBeenSet() const { return m_regionHasBeenSet; } + + /** + *

                                                                    Describes the Amazon Web Services Region for which this offer is + * applicable

                                                                    + */ + inline void SetRegion(const Aws::String& value) { m_regionHasBeenSet = true; m_region = value; } + + /** + *

                                                                    Describes the Amazon Web Services Region for which this offer is + * applicable

                                                                    + */ + inline void SetRegion(Aws::String&& value) { m_regionHasBeenSet = true; m_region = std::move(value); } + + /** + *

                                                                    Describes the Amazon Web Services Region for which this offer is + * applicable

                                                                    + */ + inline void SetRegion(const char* value) { m_regionHasBeenSet = true; m_region.assign(value); } + + /** + *

                                                                    Describes the Amazon Web Services Region for which this offer is + * applicable

                                                                    + */ + inline FreeTierUsage& WithRegion(const Aws::String& value) { SetRegion(value); return *this;} + + /** + *

                                                                    Describes the Amazon Web Services Region for which this offer is + * applicable

                                                                    + */ + inline FreeTierUsage& WithRegion(Aws::String&& value) { SetRegion(std::move(value)); return *this;} + + /** + *

                                                                    Describes the Amazon Web Services Region for which this offer is + * applicable

                                                                    + */ + inline FreeTierUsage& WithRegion(const char* value) { SetRegion(value); return *this;} + + + /** + *

                                                                    The name of the Amazon Web Service providing the Free Tier offer. For + * example, this can be Amazon Elastic Compute Cloud.

                                                                    + */ + inline const Aws::String& GetService() const{ return m_service; } + + /** + *

                                                                    The name of the Amazon Web Service providing the Free Tier offer. For + * example, this can be Amazon Elastic Compute Cloud.

                                                                    + */ + inline bool ServiceHasBeenSet() const { return m_serviceHasBeenSet; } + + /** + *

                                                                    The name of the Amazon Web Service providing the Free Tier offer. For + * example, this can be Amazon Elastic Compute Cloud.

                                                                    + */ + inline void SetService(const Aws::String& value) { m_serviceHasBeenSet = true; m_service = value; } + + /** + *

                                                                    The name of the Amazon Web Service providing the Free Tier offer. For + * example, this can be Amazon Elastic Compute Cloud.

                                                                    + */ + inline void SetService(Aws::String&& value) { m_serviceHasBeenSet = true; m_service = std::move(value); } + + /** + *

                                                                    The name of the Amazon Web Service providing the Free Tier offer. For + * example, this can be Amazon Elastic Compute Cloud.

                                                                    + */ + inline void SetService(const char* value) { m_serviceHasBeenSet = true; m_service.assign(value); } + + /** + *

                                                                    The name of the Amazon Web Service providing the Free Tier offer. For + * example, this can be Amazon Elastic Compute Cloud.

                                                                    + */ + inline FreeTierUsage& WithService(const Aws::String& value) { SetService(value); return *this;} + + /** + *

                                                                    The name of the Amazon Web Service providing the Free Tier offer. For + * example, this can be Amazon Elastic Compute Cloud.

                                                                    + */ + inline FreeTierUsage& WithService(Aws::String&& value) { SetService(std::move(value)); return *this;} + + /** + *

                                                                    The name of the Amazon Web Service providing the Free Tier offer. For + * example, this can be Amazon Elastic Compute Cloud.

                                                                    + */ + inline FreeTierUsage& WithService(const char* value) { SetService(value); return *this;} + + + /** + *

                                                                    Describes the unit of the usageType, such as + * Hrs.

                                                                    + */ + inline const Aws::String& GetUnit() const{ return m_unit; } + + /** + *

                                                                    Describes the unit of the usageType, such as + * Hrs.

                                                                    + */ + inline bool UnitHasBeenSet() const { return m_unitHasBeenSet; } + + /** + *

                                                                    Describes the unit of the usageType, such as + * Hrs.

                                                                    + */ + inline void SetUnit(const Aws::String& value) { m_unitHasBeenSet = true; m_unit = value; } + + /** + *

                                                                    Describes the unit of the usageType, such as + * Hrs.

                                                                    + */ + inline void SetUnit(Aws::String&& value) { m_unitHasBeenSet = true; m_unit = std::move(value); } + + /** + *

                                                                    Describes the unit of the usageType, such as + * Hrs.

                                                                    + */ + inline void SetUnit(const char* value) { m_unitHasBeenSet = true; m_unit.assign(value); } + + /** + *

                                                                    Describes the unit of the usageType, such as + * Hrs.

                                                                    + */ + inline FreeTierUsage& WithUnit(const Aws::String& value) { SetUnit(value); return *this;} + + /** + *

                                                                    Describes the unit of the usageType, such as + * Hrs.

                                                                    + */ + inline FreeTierUsage& WithUnit(Aws::String&& value) { SetUnit(std::move(value)); return *this;} + + /** + *

                                                                    Describes the unit of the usageType, such as + * Hrs.

                                                                    + */ + inline FreeTierUsage& WithUnit(const char* value) { SetUnit(value); return *this;} + + + /** + *

                                                                    Describes the usage details of the offer. For example, this might be + * Global-BoxUsage:freetrial.

                                                                    + */ + inline const Aws::String& GetUsageType() const{ return m_usageType; } + + /** + *

                                                                    Describes the usage details of the offer. For example, this might be + * Global-BoxUsage:freetrial.

                                                                    + */ + inline bool UsageTypeHasBeenSet() const { return m_usageTypeHasBeenSet; } + + /** + *

                                                                    Describes the usage details of the offer. For example, this might be + * Global-BoxUsage:freetrial.

                                                                    + */ + inline void SetUsageType(const Aws::String& value) { m_usageTypeHasBeenSet = true; m_usageType = value; } + + /** + *

                                                                    Describes the usage details of the offer. For example, this might be + * Global-BoxUsage:freetrial.

                                                                    + */ + inline void SetUsageType(Aws::String&& value) { m_usageTypeHasBeenSet = true; m_usageType = std::move(value); } + + /** + *

                                                                    Describes the usage details of the offer. For example, this might be + * Global-BoxUsage:freetrial.

                                                                    + */ + inline void SetUsageType(const char* value) { m_usageTypeHasBeenSet = true; m_usageType.assign(value); } + + /** + *

                                                                    Describes the usage details of the offer. For example, this might be + * Global-BoxUsage:freetrial.

                                                                    + */ + inline FreeTierUsage& WithUsageType(const Aws::String& value) { SetUsageType(value); return *this;} + + /** + *

                                                                    Describes the usage details of the offer. For example, this might be + * Global-BoxUsage:freetrial.

                                                                    + */ + inline FreeTierUsage& WithUsageType(Aws::String&& value) { SetUsageType(std::move(value)); return *this;} + + /** + *

                                                                    Describes the usage details of the offer. For example, this might be + * Global-BoxUsage:freetrial.

                                                                    + */ + inline FreeTierUsage& WithUsageType(const char* value) { SetUsageType(value); return *this;} + + private: + + double m_actualUsageAmount; + bool m_actualUsageAmountHasBeenSet = false; + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + double m_forecastedUsageAmount; + bool m_forecastedUsageAmountHasBeenSet = false; + + Aws::String m_freeTierType; + bool m_freeTierTypeHasBeenSet = false; + + double m_limit; + bool m_limitHasBeenSet = false; + + Aws::String m_operation; + bool m_operationHasBeenSet = false; + + Aws::String m_region; + bool m_regionHasBeenSet = false; + + Aws::String m_service; + bool m_serviceHasBeenSet = false; + + Aws::String m_unit; + bool m_unitHasBeenSet = false; + + Aws::String m_usageType; + bool m_usageTypeHasBeenSet = false; + }; + +} // namespace Model +} // namespace FreeTier +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-freetier/include/aws/freetier/model/GetFreeTierUsageRequest.h b/generated/src/aws-cpp-sdk-freetier/include/aws/freetier/model/GetFreeTierUsageRequest.h new file mode 100644 index 00000000000..9d9fd85e66c --- /dev/null +++ b/generated/src/aws-cpp-sdk-freetier/include/aws/freetier/model/GetFreeTierUsageRequest.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 +#include + +namespace Aws +{ +namespace FreeTier +{ +namespace Model +{ + + /** + */ + class GetFreeTierUsageRequest : public FreeTierRequest + { + public: + AWS_FREETIER_API GetFreeTierUsageRequest(); + + // 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 "GetFreeTierUsage"; } + + AWS_FREETIER_API Aws::String SerializePayload() const override; + + AWS_FREETIER_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + *

                                                                    An expression that specifies the conditions that you want each + * FreeTierUsage object to meet.

                                                                    + */ + inline const Expression& GetFilter() const{ return m_filter; } + + /** + *

                                                                    An expression that specifies the conditions that you want each + * FreeTierUsage object to meet.

                                                                    + */ + inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; } + + /** + *

                                                                    An expression that specifies the conditions that you want each + * FreeTierUsage object to meet.

                                                                    + */ + inline void SetFilter(const Expression& value) { m_filterHasBeenSet = true; m_filter = value; } + + /** + *

                                                                    An expression that specifies the conditions that you want each + * FreeTierUsage object to meet.

                                                                    + */ + inline void SetFilter(Expression&& value) { m_filterHasBeenSet = true; m_filter = std::move(value); } + + /** + *

                                                                    An expression that specifies the conditions that you want each + * FreeTierUsage object to meet.

                                                                    + */ + inline GetFreeTierUsageRequest& WithFilter(const Expression& value) { SetFilter(value); return *this;} + + /** + *

                                                                    An expression that specifies the conditions that you want each + * FreeTierUsage object to meet.

                                                                    + */ + inline GetFreeTierUsageRequest& WithFilter(Expression&& value) { SetFilter(std::move(value)); return *this;} + + + /** + *

                                                                    The maximum number of results to return in the response. + * MaxResults means that there can be up to the specified number of + * values, but there might be fewer results based on your filters.

                                                                    + */ + inline int GetMaxResults() const{ return m_maxResults; } + + /** + *

                                                                    The maximum number of results to return in the response. + * MaxResults means that there can be up to the specified number of + * values, but there might be fewer results based on your filters.

                                                                    + */ + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + + /** + *

                                                                    The maximum number of results to return in the response. + * MaxResults means that there can be up to the specified number of + * values, but there might be fewer results based on your filters.

                                                                    + */ + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + + /** + *

                                                                    The maximum number of results to return in the response. + * MaxResults means that there can be up to the specified number of + * values, but there might be fewer results based on your filters.

                                                                    + */ + inline GetFreeTierUsageRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + + + /** + *

                                                                    The pagination token that indicates the next set of results to retrieve.

                                                                    + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + + /** + *

                                                                    The pagination token that indicates the next set of results to retrieve.

                                                                    + */ + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + + /** + *

                                                                    The pagination token that indicates the next set of results to retrieve.

                                                                    + */ + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + + /** + *

                                                                    The pagination token that indicates the next set of results to retrieve.

                                                                    + */ + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + + /** + *

                                                                    The pagination token that indicates the next set of results to retrieve.

                                                                    + */ + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + + /** + *

                                                                    The pagination token that indicates the next set of results to retrieve.

                                                                    + */ + inline GetFreeTierUsageRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + + /** + *

                                                                    The pagination token that indicates the next set of results to retrieve.

                                                                    + */ + inline GetFreeTierUsageRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + + /** + *

                                                                    The pagination token that indicates the next set of results to retrieve.

                                                                    + */ + inline GetFreeTierUsageRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + + private: + + Expression m_filter; + bool m_filterHasBeenSet = false; + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + }; + +} // namespace Model +} // namespace FreeTier +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-freetier/include/aws/freetier/model/GetFreeTierUsageResult.h b/generated/src/aws-cpp-sdk-freetier/include/aws/freetier/model/GetFreeTierUsageResult.h new file mode 100644 index 00000000000..1f2fe9b9949 --- /dev/null +++ b/generated/src/aws-cpp-sdk-freetier/include/aws/freetier/model/GetFreeTierUsageResult.h @@ -0,0 +1,141 @@ +/** + * 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 FreeTier +{ +namespace Model +{ + class GetFreeTierUsageResult + { + public: + AWS_FREETIER_API GetFreeTierUsageResult(); + AWS_FREETIER_API GetFreeTierUsageResult(const Aws::AmazonWebServiceResult& result); + AWS_FREETIER_API GetFreeTierUsageResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

                                                                    The list of Free Tier usage objects that meet your filter expression.

                                                                    + */ + inline const Aws::Vector& GetFreeTierUsages() const{ return m_freeTierUsages; } + + /** + *

                                                                    The list of Free Tier usage objects that meet your filter expression.

                                                                    + */ + inline void SetFreeTierUsages(const Aws::Vector& value) { m_freeTierUsages = value; } + + /** + *

                                                                    The list of Free Tier usage objects that meet your filter expression.

                                                                    + */ + inline void SetFreeTierUsages(Aws::Vector&& value) { m_freeTierUsages = std::move(value); } + + /** + *

                                                                    The list of Free Tier usage objects that meet your filter expression.

                                                                    + */ + inline GetFreeTierUsageResult& WithFreeTierUsages(const Aws::Vector& value) { SetFreeTierUsages(value); return *this;} + + /** + *

                                                                    The list of Free Tier usage objects that meet your filter expression.

                                                                    + */ + inline GetFreeTierUsageResult& WithFreeTierUsages(Aws::Vector&& value) { SetFreeTierUsages(std::move(value)); return *this;} + + /** + *

                                                                    The list of Free Tier usage objects that meet your filter expression.

                                                                    + */ + inline GetFreeTierUsageResult& AddFreeTierUsages(const FreeTierUsage& value) { m_freeTierUsages.push_back(value); return *this; } + + /** + *

                                                                    The list of Free Tier usage objects that meet your filter expression.

                                                                    + */ + inline GetFreeTierUsageResult& AddFreeTierUsages(FreeTierUsage&& value) { m_freeTierUsages.push_back(std::move(value)); return *this; } + + + /** + *

                                                                    The pagination token that indicates the next set of results to retrieve.

                                                                    + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + + /** + *

                                                                    The pagination token that indicates the next set of results to retrieve.

                                                                    + */ + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + + /** + *

                                                                    The pagination token that indicates the next set of results to retrieve.

                                                                    + */ + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + + /** + *

                                                                    The pagination token that indicates the next set of results to retrieve.

                                                                    + */ + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + + /** + *

                                                                    The pagination token that indicates the next set of results to retrieve.

                                                                    + */ + inline GetFreeTierUsageResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + + /** + *

                                                                    The pagination token that indicates the next set of results to retrieve.

                                                                    + */ + inline GetFreeTierUsageResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + + /** + *

                                                                    The pagination token that indicates the next set of results to retrieve.

                                                                    + */ + inline GetFreeTierUsageResult& 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 GetFreeTierUsageResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline GetFreeTierUsageResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline GetFreeTierUsageResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::Vector m_freeTierUsages; + + Aws::String m_nextToken; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace FreeTier +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-freetier/include/aws/freetier/model/MatchOption.h b/generated/src/aws-cpp-sdk-freetier/include/aws/freetier/model/MatchOption.h new file mode 100644 index 00000000000..30468d80e4a --- /dev/null +++ b/generated/src/aws-cpp-sdk-freetier/include/aws/freetier/model/MatchOption.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 FreeTier +{ +namespace Model +{ + enum class MatchOption + { + NOT_SET, + EQUALS, + STARTS_WITH, + ENDS_WITH, + CONTAINS, + GREATER_THAN_OR_EQUAL + }; + +namespace MatchOptionMapper +{ +AWS_FREETIER_API MatchOption GetMatchOptionForName(const Aws::String& name); + +AWS_FREETIER_API Aws::String GetNameForMatchOption(MatchOption value); +} // namespace MatchOptionMapper +} // namespace Model +} // namespace FreeTier +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-freetier/source/FreeTierClient.cpp b/generated/src/aws-cpp-sdk-freetier/source/FreeTierClient.cpp new file mode 100644 index 00000000000..5971e765c12 --- /dev/null +++ b/generated/src/aws-cpp-sdk-freetier/source/FreeTierClient.cpp @@ -0,0 +1,183 @@ +/** + * 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::FreeTier; +using namespace Aws::FreeTier::Model; +using namespace Aws::Http; +using namespace Aws::Utils::Json; +using namespace smithy::components::tracing; +using ResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; + +const char* FreeTierClient::SERVICE_NAME = "freetier"; +const char* FreeTierClient::ALLOCATION_TAG = "FreeTierClient"; + +FreeTierClient::FreeTierClient(const FreeTier::FreeTierClientConfiguration& 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_executor(clientConfiguration.executor), + m_endpointProvider(std::move(endpointProvider)) +{ + init(m_clientConfiguration); +} + +FreeTierClient::FreeTierClient(const AWSCredentials& credentials, + std::shared_ptr endpointProvider, + const FreeTier::FreeTierClientConfiguration& 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_executor(clientConfiguration.executor), + m_endpointProvider(std::move(endpointProvider)) +{ + init(m_clientConfiguration); +} + +FreeTierClient::FreeTierClient(const std::shared_ptr& credentialsProvider, + std::shared_ptr endpointProvider, + const FreeTier::FreeTierClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + credentialsProvider, + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_executor(clientConfiguration.executor), + m_endpointProvider(std::move(endpointProvider)) +{ + init(m_clientConfiguration); +} + + /* Legacy constructors due deprecation */ + FreeTierClient::FreeTierClient(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_executor(clientConfiguration.executor), + m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +FreeTierClient::FreeTierClient(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_executor(clientConfiguration.executor), + m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +FreeTierClient::FreeTierClient(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_executor(clientConfiguration.executor), + m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + + /* End of legacy constructors due deprecation */ +FreeTierClient::~FreeTierClient() +{ + ShutdownSdkClient(this, -1); +} + +std::shared_ptr& FreeTierClient::accessEndpointProvider() +{ + return m_endpointProvider; +} + +void FreeTierClient::init(const FreeTier::FreeTierClientConfiguration& config) +{ + AWSClient::SetServiceClientName("FreeTier"); + AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); + m_endpointProvider->InitBuiltInParameters(config); +} + +void FreeTierClient::OverrideEndpoint(const Aws::String& endpoint) +{ + AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); + m_endpointProvider->OverrideEndpoint(endpoint); +} + +GetFreeTierUsageOutcome FreeTierClient::GetFreeTierUsage(const GetFreeTierUsageRequest& request) const +{ + AWS_OPERATION_GUARD(GetFreeTierUsage); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetFreeTierUsage, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetFreeTierUsage, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetFreeTierUsage, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetFreeTierUsage", + {{ 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( + [&]()-> GetFreeTierUsageOutcome { + 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, GetFreeTierUsage, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return GetFreeTierUsageOutcome(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()}}); +} + diff --git a/generated/src/aws-cpp-sdk-freetier/source/FreeTierEndpointProvider.cpp b/generated/src/aws-cpp-sdk-freetier/source/FreeTierEndpointProvider.cpp new file mode 100644 index 00000000000..47c0606e5ca --- /dev/null +++ b/generated/src/aws-cpp-sdk-freetier/source/FreeTierEndpointProvider.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 FreeTier +{ +namespace Endpoint +{ +} // namespace Endpoint +} // namespace FreeTier +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-freetier/source/FreeTierEndpointRules.cpp b/generated/src/aws-cpp-sdk-freetier/source/FreeTierEndpointRules.cpp new file mode 100644 index 00000000000..b399af7ea41 --- /dev/null +++ b/generated/src/aws-cpp-sdk-freetier/source/FreeTierEndpointRules.cpp @@ -0,0 +1,189 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +namespace Aws +{ +namespace FreeTier +{ +const size_t FreeTierEndpointRules::RulesBlobStrLen = 4058; +const size_t FreeTierEndpointRules::RulesBlobSize = 4059; + +using RulesBlobT = Aws::Array; +static constexpr RulesBlobT RulesBlob = {{ +'{','"','v','e','r','s','i','o','n','"',':','"','1','.','0','"',',','"','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','"', +':','f','a','l','s','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','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','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n', +'t','"','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P', +'S','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a', +'l','i','d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','F','I','P','S',' ','a', +'n','d',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','a','r','e',' ','n','o', +'t',' ','s','u','p','p','o','r','t','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o', +'r','"','}',',','{','"','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','"',':','{','}',',','"', +'h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p', +'o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"', +'}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}', +']',',','"','a','s','s','i','g','n','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u', +'l','t','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n', +'R','e','s','u','l','t','"','}',',','"','n','a','m','e','"',']','}',',','"','a','w','s','"',']','}', +']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t', +'r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i', +'o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','F','I','P','S','"', +']','}',',','t','r','u','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','"',':','"','h','t','t','p','s',':','/','/','f','r','e','e','t','i','e','r','-','f','i', +'p','s','.','{','R','e','g','i','o','n','}','.','a','p','i','.','a','w','s','"',',','"','p','r','o', +'p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}', +',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p', +'e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[',']',',','"','e','r','r','o','r','"',':','"','F','I','P','S',' ','i','s',' ','e','n','a','b','l', +'e','d',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e', +'s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','F','I','P','S','"',',','"','t','y','p','e', +'"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', +'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o', +'i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','f','r','e','e', +'t','i','e','r','.','u','s','-','e','a','s','t','-','1','.','a','p','i','.','a','w','s','"',',','"', +'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','N','a','m','e','"',':','"','f','r','e','e','t','i','e','r','"',',','"','s','i','g','n','i', +'n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',', +'"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d', +'p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', +'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','t','r','u','e',',','{', +'"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"', +'s','u','p','p','o','r','t','s','D','u','a','l','S','t','a','c','k','"',']','}',']','}',']',',','"', +'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e', +']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s', +'"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R', +'e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','F','I','P','S','"',']','}',',', +'t','r','u','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', +'"',':','"','h','t','t','p','s',':','/','/','f','r','e','e','t','i','e','r','-','f','i','p','s','.', +'{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t', +'#','d','u','a','l','S','t','a','c','k','D','n','s','S','u','f','f','i','x','}','"',',','"','p','r', +'o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}', +'}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y', +'p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[',']',',','"','e','r','r','o','r','"',':','"','F','I','P','S',' ','i','s',' ','e','n','a','b', +'l','e','d',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o', +'e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','F','I','P','S','"',',','"','t','y','p', +'e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', +'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', +'s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','c','n','-','g','l','o', +'b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"', +':','"','h','t','t','p','s',':','/','/','f','r','e','e','t','i','e','r','.','c','n','-','n','o','r', +'t','h','w','e','s','t','-','1','.','a','p','i','.','a','m','a','z','o','n','w','e','b','s','e','r', +'v','i','c','e','s','.','c','o','m','.','c','n','"',',','"','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','N','a','m','e','"',':','"','f', +'r','e','e','t','i','e','r','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':', +'"','c','n','-','n','o','r','t','h','w','e','s','t','-','1','"','}',']','}',',','"','h','e','a','d', +'e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t', +'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p', +'o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','f','r','e', +'e','t','i','e','r','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n', +'R','e','s','u','l','t','#','d','u','a','l','S','t','a','c','k','D','n','s','S','u','f','f','i','x', +'}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e', +'r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"', +'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F', +'I','P','S','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e', +'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', +'g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r', +'t','s','F','I','P','S','"',']','}',',','t','r','u','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','"',':','"','h','t','t','p','s',':','/','/','f','r','e','e', +'t','i','e','r','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i', +'t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p', +'r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{', +'}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t', +'y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', +'"',':','[',']',',','"','e','r','r','o','r','"',':','"','F','I','P','S',' ','i','s',' ','e','n','a', +'b','l','e','d',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d', +'o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','F','I','P','S','"',',','"','t','y', +'p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e', +'e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', +'"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','c','n','-','g','l', +'o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l', +'"',':','"','h','t','t','p','s',':','/','/','f','r','e','e','t','i','e','r','.','c','n','-','n','o', +'r','t','h','w','e','s','t','-','1','.','a','p','i','.','a','m','a','z','o','n','w','e','b','s','e', +'r','v','i','c','e','s','.','c','o','m','.','c','n','"',',','"','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','N','a','m','e','"',':','"', +'f','r','e','e','t','i','e','r','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"', +':','"','c','n','-','n','o','r','t','h','w','e','s','t','-','1','"','}',']','}',',','"','h','e','a', +'d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n', +'t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d', +'p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','f','r', +'e','e','t','i','e','r','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o', +'n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p', +'e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',', +'"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e', +'"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"', +':','"','I','n','v','a','l','i','d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ', +'M','i','s','s','i','n','g',' ','R','e','g','i','o','n','"',',','"','t','y','p','e','"',':','"','e', +'r','r','o','r','"','}',']','}','\0' +}}; + +const char* FreeTierEndpointRules::GetRulesBlob() +{ + return RulesBlob.data(); +} + +} // namespace FreeTier +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-freetier/source/FreeTierErrorMarshaller.cpp b/generated/src/aws-cpp-sdk-freetier/source/FreeTierErrorMarshaller.cpp new file mode 100644 index 00000000000..eb76d300161 --- /dev/null +++ b/generated/src/aws-cpp-sdk-freetier/source/FreeTierErrorMarshaller.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::FreeTier; + +AWSError FreeTierErrorMarshaller::FindErrorByName(const char* errorName) const +{ + AWSError error = FreeTierErrorMapper::GetErrorForName(errorName); + if(error.GetErrorType() != CoreErrors::UNKNOWN) + { + return error; + } + + return AWSErrorMarshaller::FindErrorByName(errorName); +} \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-freetier/source/FreeTierErrors.cpp b/generated/src/aws-cpp-sdk-freetier/source/FreeTierErrors.cpp new file mode 100644 index 00000000000..b4e83edea60 --- /dev/null +++ b/generated/src/aws-cpp-sdk-freetier/source/FreeTierErrors.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::Client; +using namespace Aws::Utils; +using namespace Aws::FreeTier; + +namespace Aws +{ +namespace FreeTier +{ +namespace FreeTierErrorMapper +{ + +static const int INTERNAL_SERVER_HASH = HashingUtils::HashString("InternalServerException"); + + +AWSError GetErrorForName(const char* errorName) +{ + int hashCode = HashingUtils::HashString(errorName); + + if (hashCode == INTERNAL_SERVER_HASH) + { + return AWSError(static_cast(FreeTierErrors::INTERNAL_SERVER), false); + } + return AWSError(CoreErrors::UNKNOWN, false); +} + +} // namespace FreeTierErrorMapper +} // namespace FreeTier +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-freetier/source/FreeTierRequest.cpp b/generated/src/aws-cpp-sdk-freetier/source/FreeTierRequest.cpp new file mode 100644 index 00000000000..cd093caa9b0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-freetier/source/FreeTierRequest.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 FreeTier +{ +} // namespace FreeTier +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-freetier/source/model/Dimension.cpp b/generated/src/aws-cpp-sdk-freetier/source/model/Dimension.cpp new file mode 100644 index 00000000000..b056270d4a1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-freetier/source/model/Dimension.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 + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace FreeTier + { + namespace Model + { + namespace DimensionMapper + { + + static const int SERVICE_HASH = HashingUtils::HashString("SERVICE"); + static const int OPERATION_HASH = HashingUtils::HashString("OPERATION"); + static const int USAGE_TYPE_HASH = HashingUtils::HashString("USAGE_TYPE"); + static const int REGION_HASH = HashingUtils::HashString("REGION"); + static const int FREE_TIER_TYPE_HASH = HashingUtils::HashString("FREE_TIER_TYPE"); + static const int DESCRIPTION_HASH = HashingUtils::HashString("DESCRIPTION"); + static const int USAGE_PERCENTAGE_HASH = HashingUtils::HashString("USAGE_PERCENTAGE"); + + + Dimension GetDimensionForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == SERVICE_HASH) + { + return Dimension::SERVICE; + } + else if (hashCode == OPERATION_HASH) + { + return Dimension::OPERATION; + } + else if (hashCode == USAGE_TYPE_HASH) + { + return Dimension::USAGE_TYPE; + } + else if (hashCode == REGION_HASH) + { + return Dimension::REGION; + } + else if (hashCode == FREE_TIER_TYPE_HASH) + { + return Dimension::FREE_TIER_TYPE; + } + else if (hashCode == DESCRIPTION_HASH) + { + return Dimension::DESCRIPTION; + } + else if (hashCode == USAGE_PERCENTAGE_HASH) + { + return Dimension::USAGE_PERCENTAGE; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return Dimension::NOT_SET; + } + + Aws::String GetNameForDimension(Dimension enumValue) + { + switch(enumValue) + { + case Dimension::NOT_SET: + return {}; + case Dimension::SERVICE: + return "SERVICE"; + case Dimension::OPERATION: + return "OPERATION"; + case Dimension::USAGE_TYPE: + return "USAGE_TYPE"; + case Dimension::REGION: + return "REGION"; + case Dimension::FREE_TIER_TYPE: + return "FREE_TIER_TYPE"; + case Dimension::DESCRIPTION: + return "DESCRIPTION"; + case Dimension::USAGE_PERCENTAGE: + return "USAGE_PERCENTAGE"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace DimensionMapper + } // namespace Model + } // namespace FreeTier +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-freetier/source/model/DimensionValues.cpp b/generated/src/aws-cpp-sdk-freetier/source/model/DimensionValues.cpp new file mode 100644 index 00000000000..dce8a135cd0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-freetier/source/model/DimensionValues.cpp @@ -0,0 +1,106 @@ +/** + * 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 FreeTier +{ +namespace Model +{ + +DimensionValues::DimensionValues() : + m_key(Dimension::NOT_SET), + m_keyHasBeenSet(false), + m_matchOptionsHasBeenSet(false), + m_valuesHasBeenSet(false) +{ +} + +DimensionValues::DimensionValues(JsonView jsonValue) : + m_key(Dimension::NOT_SET), + m_keyHasBeenSet(false), + m_matchOptionsHasBeenSet(false), + m_valuesHasBeenSet(false) +{ + *this = jsonValue; +} + +DimensionValues& DimensionValues::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Key")) + { + m_key = DimensionMapper::GetDimensionForName(jsonValue.GetString("Key")); + + m_keyHasBeenSet = true; + } + + if(jsonValue.ValueExists("MatchOptions")) + { + Aws::Utils::Array matchOptionsJsonList = jsonValue.GetArray("MatchOptions"); + for(unsigned matchOptionsIndex = 0; matchOptionsIndex < matchOptionsJsonList.GetLength(); ++matchOptionsIndex) + { + m_matchOptions.push_back(MatchOptionMapper::GetMatchOptionForName(matchOptionsJsonList[matchOptionsIndex].AsString())); + } + m_matchOptionsHasBeenSet = true; + } + + if(jsonValue.ValueExists("Values")) + { + Aws::Utils::Array valuesJsonList = jsonValue.GetArray("Values"); + for(unsigned valuesIndex = 0; valuesIndex < valuesJsonList.GetLength(); ++valuesIndex) + { + m_values.push_back(valuesJsonList[valuesIndex].AsString()); + } + m_valuesHasBeenSet = true; + } + + return *this; +} + +JsonValue DimensionValues::Jsonize() const +{ + JsonValue payload; + + if(m_keyHasBeenSet) + { + payload.WithString("Key", DimensionMapper::GetNameForDimension(m_key)); + } + + if(m_matchOptionsHasBeenSet) + { + Aws::Utils::Array matchOptionsJsonList(m_matchOptions.size()); + for(unsigned matchOptionsIndex = 0; matchOptionsIndex < matchOptionsJsonList.GetLength(); ++matchOptionsIndex) + { + matchOptionsJsonList[matchOptionsIndex].AsString(MatchOptionMapper::GetNameForMatchOption(m_matchOptions[matchOptionsIndex])); + } + payload.WithArray("MatchOptions", std::move(matchOptionsJsonList)); + + } + + if(m_valuesHasBeenSet) + { + Aws::Utils::Array valuesJsonList(m_values.size()); + for(unsigned valuesIndex = 0; valuesIndex < valuesJsonList.GetLength(); ++valuesIndex) + { + valuesJsonList[valuesIndex].AsString(m_values[valuesIndex]); + } + payload.WithArray("Values", std::move(valuesJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace FreeTier +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-freetier/source/model/Expression.cpp b/generated/src/aws-cpp-sdk-freetier/source/model/Expression.cpp new file mode 100644 index 00000000000..7996e44b8e4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-freetier/source/model/Expression.cpp @@ -0,0 +1,127 @@ +/** + * 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 FreeTier +{ +namespace Model +{ + +Expression::Expression() : + m_andHasBeenSet(false), + m_dimensionsHasBeenSet(false), + m_notHasBeenSet(false), + m_orHasBeenSet(false) +{ +} + +Expression::Expression(JsonView jsonValue) : + m_andHasBeenSet(false), + m_dimensionsHasBeenSet(false), + m_notHasBeenSet(false), + m_orHasBeenSet(false) +{ + *this = jsonValue; +} + +const Expression& Expression::GetNot() const{ return *m_not; } +bool Expression::NotHasBeenSet() const { return m_notHasBeenSet; } +void Expression::SetNot(const Expression& value) { m_notHasBeenSet = true; m_not = Aws::MakeShared("Expression", value); } +void Expression::SetNot(Expression&& value) { m_notHasBeenSet = true; m_not = Aws::MakeShared("Expression", std::move(value)); } +Expression& Expression::WithNot(const Expression& value) { SetNot(value); return *this;} +Expression& Expression::WithNot(Expression&& value) { SetNot(std::move(value)); return *this;} + +Expression& Expression::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("And")) + { + Aws::Utils::Array andJsonList = jsonValue.GetArray("And"); + for(unsigned andIndex = 0; andIndex < andJsonList.GetLength(); ++andIndex) + { + m_and.push_back(andJsonList[andIndex].AsObject()); + } + m_andHasBeenSet = true; + } + + if(jsonValue.ValueExists("Dimensions")) + { + m_dimensions = jsonValue.GetObject("Dimensions"); + + m_dimensionsHasBeenSet = true; + } + + if(jsonValue.ValueExists("Not")) + { + m_not = Aws::MakeShared("Expression", jsonValue.GetObject("Not")); + + m_notHasBeenSet = true; + } + + if(jsonValue.ValueExists("Or")) + { + Aws::Utils::Array orJsonList = jsonValue.GetArray("Or"); + for(unsigned orIndex = 0; orIndex < orJsonList.GetLength(); ++orIndex) + { + m_or.push_back(orJsonList[orIndex].AsObject()); + } + m_orHasBeenSet = true; + } + + return *this; +} + +JsonValue Expression::Jsonize() const +{ + JsonValue payload; + + if(m_andHasBeenSet) + { + Aws::Utils::Array andJsonList(m_and.size()); + for(unsigned andIndex = 0; andIndex < andJsonList.GetLength(); ++andIndex) + { + andJsonList[andIndex].AsObject(m_and[andIndex].Jsonize()); + } + payload.WithArray("And", std::move(andJsonList)); + + } + + if(m_dimensionsHasBeenSet) + { + payload.WithObject("Dimensions", m_dimensions.Jsonize()); + + } + + if(m_notHasBeenSet) + { + payload.WithObject("Not", m_not->Jsonize()); + + } + + if(m_orHasBeenSet) + { + Aws::Utils::Array orJsonList(m_or.size()); + for(unsigned orIndex = 0; orIndex < orJsonList.GetLength(); ++orIndex) + { + orJsonList[orIndex].AsObject(m_or[orIndex].Jsonize()); + } + payload.WithArray("Or", std::move(orJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace FreeTier +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-freetier/source/model/FreeTierUsage.cpp b/generated/src/aws-cpp-sdk-freetier/source/model/FreeTierUsage.cpp new file mode 100644 index 00000000000..28a78c7ba7a --- /dev/null +++ b/generated/src/aws-cpp-sdk-freetier/source/model/FreeTierUsage.cpp @@ -0,0 +1,200 @@ +/** + * 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 FreeTier +{ +namespace Model +{ + +FreeTierUsage::FreeTierUsage() : + m_actualUsageAmount(0.0), + m_actualUsageAmountHasBeenSet(false), + m_descriptionHasBeenSet(false), + m_forecastedUsageAmount(0.0), + m_forecastedUsageAmountHasBeenSet(false), + m_freeTierTypeHasBeenSet(false), + m_limit(0.0), + m_limitHasBeenSet(false), + m_operationHasBeenSet(false), + m_regionHasBeenSet(false), + m_serviceHasBeenSet(false), + m_unitHasBeenSet(false), + m_usageTypeHasBeenSet(false) +{ +} + +FreeTierUsage::FreeTierUsage(JsonView jsonValue) : + m_actualUsageAmount(0.0), + m_actualUsageAmountHasBeenSet(false), + m_descriptionHasBeenSet(false), + m_forecastedUsageAmount(0.0), + m_forecastedUsageAmountHasBeenSet(false), + m_freeTierTypeHasBeenSet(false), + m_limit(0.0), + m_limitHasBeenSet(false), + m_operationHasBeenSet(false), + m_regionHasBeenSet(false), + m_serviceHasBeenSet(false), + m_unitHasBeenSet(false), + m_usageTypeHasBeenSet(false) +{ + *this = jsonValue; +} + +FreeTierUsage& FreeTierUsage::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("actualUsageAmount")) + { + m_actualUsageAmount = jsonValue.GetDouble("actualUsageAmount"); + + m_actualUsageAmountHasBeenSet = true; + } + + if(jsonValue.ValueExists("description")) + { + m_description = jsonValue.GetString("description"); + + m_descriptionHasBeenSet = true; + } + + if(jsonValue.ValueExists("forecastedUsageAmount")) + { + m_forecastedUsageAmount = jsonValue.GetDouble("forecastedUsageAmount"); + + m_forecastedUsageAmountHasBeenSet = true; + } + + if(jsonValue.ValueExists("freeTierType")) + { + m_freeTierType = jsonValue.GetString("freeTierType"); + + m_freeTierTypeHasBeenSet = true; + } + + if(jsonValue.ValueExists("limit")) + { + m_limit = jsonValue.GetDouble("limit"); + + m_limitHasBeenSet = true; + } + + if(jsonValue.ValueExists("operation")) + { + m_operation = jsonValue.GetString("operation"); + + m_operationHasBeenSet = true; + } + + if(jsonValue.ValueExists("region")) + { + m_region = jsonValue.GetString("region"); + + m_regionHasBeenSet = true; + } + + if(jsonValue.ValueExists("service")) + { + m_service = jsonValue.GetString("service"); + + m_serviceHasBeenSet = true; + } + + if(jsonValue.ValueExists("unit")) + { + m_unit = jsonValue.GetString("unit"); + + m_unitHasBeenSet = true; + } + + if(jsonValue.ValueExists("usageType")) + { + m_usageType = jsonValue.GetString("usageType"); + + m_usageTypeHasBeenSet = true; + } + + return *this; +} + +JsonValue FreeTierUsage::Jsonize() const +{ + JsonValue payload; + + if(m_actualUsageAmountHasBeenSet) + { + payload.WithDouble("actualUsageAmount", m_actualUsageAmount); + + } + + if(m_descriptionHasBeenSet) + { + payload.WithString("description", m_description); + + } + + if(m_forecastedUsageAmountHasBeenSet) + { + payload.WithDouble("forecastedUsageAmount", m_forecastedUsageAmount); + + } + + if(m_freeTierTypeHasBeenSet) + { + payload.WithString("freeTierType", m_freeTierType); + + } + + if(m_limitHasBeenSet) + { + payload.WithDouble("limit", m_limit); + + } + + if(m_operationHasBeenSet) + { + payload.WithString("operation", m_operation); + + } + + if(m_regionHasBeenSet) + { + payload.WithString("region", m_region); + + } + + if(m_serviceHasBeenSet) + { + payload.WithString("service", m_service); + + } + + if(m_unitHasBeenSet) + { + payload.WithString("unit", m_unit); + + } + + if(m_usageTypeHasBeenSet) + { + payload.WithString("usageType", m_usageType); + + } + + return payload; +} + +} // namespace Model +} // namespace FreeTier +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-freetier/source/model/GetFreeTierUsageRequest.cpp b/generated/src/aws-cpp-sdk-freetier/source/model/GetFreeTierUsageRequest.cpp new file mode 100644 index 00000000000..ce73453fb1e --- /dev/null +++ b/generated/src/aws-cpp-sdk-freetier/source/model/GetFreeTierUsageRequest.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::FreeTier::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +GetFreeTierUsageRequest::GetFreeTierUsageRequest() : + m_filterHasBeenSet(false), + m_maxResults(0), + m_maxResultsHasBeenSet(false), + m_nextTokenHasBeenSet(false) +{ +} + +Aws::String GetFreeTierUsageRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_filterHasBeenSet) + { + payload.WithObject("filter", m_filter.Jsonize()); + + } + + if(m_maxResultsHasBeenSet) + { + payload.WithInteger("maxResults", m_maxResults); + + } + + if(m_nextTokenHasBeenSet) + { + payload.WithString("nextToken", m_nextToken); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection GetFreeTierUsageRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "AWSFreeTierService.GetFreeTierUsage")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-freetier/source/model/GetFreeTierUsageResult.cpp b/generated/src/aws-cpp-sdk-freetier/source/model/GetFreeTierUsageResult.cpp new file mode 100644 index 00000000000..00f82d5d3cb --- /dev/null +++ b/generated/src/aws-cpp-sdk-freetier/source/model/GetFreeTierUsageResult.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::FreeTier::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetFreeTierUsageResult::GetFreeTierUsageResult() +{ +} + +GetFreeTierUsageResult::GetFreeTierUsageResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetFreeTierUsageResult& GetFreeTierUsageResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("freeTierUsages")) + { + Aws::Utils::Array freeTierUsagesJsonList = jsonValue.GetArray("freeTierUsages"); + for(unsigned freeTierUsagesIndex = 0; freeTierUsagesIndex < freeTierUsagesJsonList.GetLength(); ++freeTierUsagesIndex) + { + m_freeTierUsages.push_back(freeTierUsagesJsonList[freeTierUsagesIndex].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-freetier/source/model/MatchOption.cpp b/generated/src/aws-cpp-sdk-freetier/source/model/MatchOption.cpp new file mode 100644 index 00000000000..2ab2e9071f5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-freetier/source/model/MatchOption.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 FreeTier + { + namespace Model + { + namespace MatchOptionMapper + { + + static const int EQUALS_HASH = HashingUtils::HashString("EQUALS"); + static const int STARTS_WITH_HASH = HashingUtils::HashString("STARTS_WITH"); + static const int ENDS_WITH_HASH = HashingUtils::HashString("ENDS_WITH"); + static const int CONTAINS_HASH = HashingUtils::HashString("CONTAINS"); + static const int GREATER_THAN_OR_EQUAL_HASH = HashingUtils::HashString("GREATER_THAN_OR_EQUAL"); + + + MatchOption GetMatchOptionForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == EQUALS_HASH) + { + return MatchOption::EQUALS; + } + else if (hashCode == STARTS_WITH_HASH) + { + return MatchOption::STARTS_WITH; + } + else if (hashCode == ENDS_WITH_HASH) + { + return MatchOption::ENDS_WITH; + } + else if (hashCode == CONTAINS_HASH) + { + return MatchOption::CONTAINS; + } + else if (hashCode == GREATER_THAN_OR_EQUAL_HASH) + { + return MatchOption::GREATER_THAN_OR_EQUAL; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return MatchOption::NOT_SET; + } + + Aws::String GetNameForMatchOption(MatchOption enumValue) + { + switch(enumValue) + { + case MatchOption::NOT_SET: + return {}; + case MatchOption::EQUALS: + return "EQUALS"; + case MatchOption::STARTS_WITH: + return "STARTS_WITH"; + case MatchOption::ENDS_WITH: + return "ENDS_WITH"; + case MatchOption::CONTAINS: + return "CONTAINS"; + case MatchOption::GREATER_THAN_OR_EQUAL: + return "GREATER_THAN_OR_EQUAL"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace MatchOptionMapper + } // namespace Model + } // namespace FreeTier +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/FSxClient.h b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/FSxClient.h index e1db5f5ec0a..ce90d80a953 100644 --- a/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/FSxClient.h +++ b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/FSxClient.h @@ -200,6 +200,35 @@ namespace FSx return SubmitAsync(&FSxClient::CopyBackup, request, handler, context); } + /** + *

                                                                    Updates an existing volume by using a snapshot from another Amazon FSx for + * OpenZFS file system. For more information, see on-demand + * data replication in the Amazon FSx for OpenZFS User Guide.

                                                                    See + * Also:

                                                                    AWS + * API Reference

                                                                    + */ + virtual Model::CopySnapshotAndUpdateVolumeOutcome CopySnapshotAndUpdateVolume(const Model::CopySnapshotAndUpdateVolumeRequest& request) const; + + /** + * A Callable wrapper for CopySnapshotAndUpdateVolume that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::CopySnapshotAndUpdateVolumeOutcomeCallable CopySnapshotAndUpdateVolumeCallable(const CopySnapshotAndUpdateVolumeRequestT& request) const + { + return SubmitCallable(&FSxClient::CopySnapshotAndUpdateVolume, request); + } + + /** + * An Async wrapper for CopySnapshotAndUpdateVolume that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void CopySnapshotAndUpdateVolumeAsync(const CopySnapshotAndUpdateVolumeRequestT& request, const CopySnapshotAndUpdateVolumeResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&FSxClient::CopySnapshotAndUpdateVolume, request, handler, context); + } + /** *

                                                                    Creates a backup of an existing Amazon FSx for Windows File Server file * system, Amazon FSx for Lustre file system, Amazon FSx for NetApp ONTAP volume, @@ -1098,6 +1127,35 @@ namespace FSx return SubmitAsync(&FSxClient::DescribeFileSystems, request, handler, context); } + /** + *

                                                                    Indicates whether participant accounts in your organization can create Amazon + * FSx for NetApp ONTAP Multi-AZ file systems in subnets that are shared by a + * virtual private cloud (VPC) owner. For more information, see the Amazon + * FSx for NetApp ONTAP User Guide.

                                                                    See Also:

                                                                    AWS + * API Reference

                                                                    + */ + virtual Model::DescribeSharedVpcConfigurationOutcome DescribeSharedVpcConfiguration(const Model::DescribeSharedVpcConfigurationRequest& request) const; + + /** + * A Callable wrapper for DescribeSharedVpcConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DescribeSharedVpcConfigurationOutcomeCallable DescribeSharedVpcConfigurationCallable(const DescribeSharedVpcConfigurationRequestT& request) const + { + return SubmitCallable(&FSxClient::DescribeSharedVpcConfiguration, request); + } + + /** + * An Async wrapper for DescribeSharedVpcConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DescribeSharedVpcConfigurationAsync(const DescribeSharedVpcConfigurationRequestT& request, const DescribeSharedVpcConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&FSxClient::DescribeSharedVpcConfiguration, request, handler, context); + } + /** *

                                                                    Returns the description of specific Amazon FSx for OpenZFS snapshots, if a * SnapshotIds value is provided. Otherwise, this operation returns @@ -1198,7 +1256,8 @@ namespace FSx *

                                                                    Use this action to disassociate, or remove, one or more Domain Name Service * (DNS) aliases from an Amazon FSx for Windows File Server file system. If you * attempt to disassociate a DNS alias that is not associated with the file system, - * Amazon FSx responds with a 400 Bad Request. For more information, see Working * with DNS Aliases.

                                                                    The system generated response showing the DNS * aliases that Amazon FSx is attempting to disassociate from the file system. Use @@ -1481,12 +1540,13 @@ namespace FSx * AutomaticBackupRetentionDays

                                                                  • * DailyAutomaticBackupStartTime

                                                                  • * DiskIopsConfiguration

                                                                  • - * FsxAdminPassword

                                                                  • - * RemoveRouteTableIds

                                                                  • + * FsxAdminPassword

                                                                  • HAPairs

                                                                    + *
                                                                  • RemoveRouteTableIds

                                                                  • * StorageCapacity

                                                                  • ThroughputCapacity - *

                                                                  • WeeklyMaintenanceStartTime

                                                                  - *

                                                                  For FSx for OpenZFS file systems, you can update the following - * properties:

                                                                  • AddRouteTableIds

                                                                  • + *

                                                                  • ThroughputCapacityPerHAPair

                                                                  • + * WeeklyMaintenanceStartTime

                                                                  For FSx for OpenZFS + * file systems, you can update the following properties:

                                                                  • + * AddRouteTableIds

                                                                  • * AutomaticBackupRetentionDays

                                                                  • * CopyTagsToBackups

                                                                  • * CopyTagsToVolumes

                                                                  • @@ -1519,6 +1579,42 @@ namespace FSx return SubmitAsync(&FSxClient::UpdateFileSystem, request, handler, context); } + /** + *

                                                                    Configures whether participant accounts in your organization can create + * Amazon FSx for NetApp ONTAP Multi-AZ file systems in subnets that are shared by + * a virtual private cloud (VPC) owner. For more information, see the Amazon + * FSx for NetApp ONTAP User Guide.

                                                                    We strongly recommend that + * participant-created Multi-AZ file systems in the shared VPC are deleted before + * you disable this feature. Once the feature is disabled, these file systems will + * enter a MISCONFIGURED state and behave like Single-AZ file systems. + * For more information, see Important + * considerations before disabling shared VPC support for Multi-AZ file + * systems.

                                                                    See Also:

                                                                    AWS + * API Reference

                                                                    + */ + virtual Model::UpdateSharedVpcConfigurationOutcome UpdateSharedVpcConfiguration(const Model::UpdateSharedVpcConfigurationRequest& request) const; + + /** + * A Callable wrapper for UpdateSharedVpcConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::UpdateSharedVpcConfigurationOutcomeCallable UpdateSharedVpcConfigurationCallable(const UpdateSharedVpcConfigurationRequestT& request) const + { + return SubmitCallable(&FSxClient::UpdateSharedVpcConfiguration, request); + } + + /** + * An Async wrapper for UpdateSharedVpcConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void UpdateSharedVpcConfigurationAsync(const UpdateSharedVpcConfigurationRequestT& request, const UpdateSharedVpcConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&FSxClient::UpdateSharedVpcConfiguration, request, handler, context); + } + /** *

                                                                    Updates the name of an Amazon FSx for OpenZFS snapshot.

                                                                    See * Also:

                                                                    #include #include +#include #include #include #include @@ -44,6 +45,7 @@ #include #include #include +#include #include #include #include @@ -57,6 +59,7 @@ #include #include #include +#include #include #include #include @@ -103,6 +106,7 @@ namespace Aws class AssociateFileSystemAliasesRequest; class CancelDataRepositoryTaskRequest; class CopyBackupRequest; + class CopySnapshotAndUpdateVolumeRequest; class CreateBackupRequest; class CreateDataRepositoryAssociationRequest; class CreateDataRepositoryTaskRequest; @@ -126,6 +130,7 @@ namespace Aws class DescribeFileCachesRequest; class DescribeFileSystemAliasesRequest; class DescribeFileSystemsRequest; + class DescribeSharedVpcConfigurationRequest; class DescribeSnapshotsRequest; class DescribeStorageVirtualMachinesRequest; class DescribeVolumesRequest; @@ -139,6 +144,7 @@ namespace Aws class UpdateDataRepositoryAssociationRequest; class UpdateFileCacheRequest; class UpdateFileSystemRequest; + class UpdateSharedVpcConfigurationRequest; class UpdateSnapshotRequest; class UpdateStorageVirtualMachineRequest; class UpdateVolumeRequest; @@ -148,6 +154,7 @@ namespace Aws typedef Aws::Utils::Outcome AssociateFileSystemAliasesOutcome; typedef Aws::Utils::Outcome CancelDataRepositoryTaskOutcome; typedef Aws::Utils::Outcome CopyBackupOutcome; + typedef Aws::Utils::Outcome CopySnapshotAndUpdateVolumeOutcome; typedef Aws::Utils::Outcome CreateBackupOutcome; typedef Aws::Utils::Outcome CreateDataRepositoryAssociationOutcome; typedef Aws::Utils::Outcome CreateDataRepositoryTaskOutcome; @@ -171,6 +178,7 @@ namespace Aws typedef Aws::Utils::Outcome DescribeFileCachesOutcome; typedef Aws::Utils::Outcome DescribeFileSystemAliasesOutcome; typedef Aws::Utils::Outcome DescribeFileSystemsOutcome; + typedef Aws::Utils::Outcome DescribeSharedVpcConfigurationOutcome; typedef Aws::Utils::Outcome DescribeSnapshotsOutcome; typedef Aws::Utils::Outcome DescribeStorageVirtualMachinesOutcome; typedef Aws::Utils::Outcome DescribeVolumesOutcome; @@ -184,6 +192,7 @@ namespace Aws typedef Aws::Utils::Outcome UpdateDataRepositoryAssociationOutcome; typedef Aws::Utils::Outcome UpdateFileCacheOutcome; typedef Aws::Utils::Outcome UpdateFileSystemOutcome; + typedef Aws::Utils::Outcome UpdateSharedVpcConfigurationOutcome; typedef Aws::Utils::Outcome UpdateSnapshotOutcome; typedef Aws::Utils::Outcome UpdateStorageVirtualMachineOutcome; typedef Aws::Utils::Outcome UpdateVolumeOutcome; @@ -193,6 +202,7 @@ namespace Aws typedef std::future AssociateFileSystemAliasesOutcomeCallable; typedef std::future CancelDataRepositoryTaskOutcomeCallable; typedef std::future CopyBackupOutcomeCallable; + typedef std::future CopySnapshotAndUpdateVolumeOutcomeCallable; typedef std::future CreateBackupOutcomeCallable; typedef std::future CreateDataRepositoryAssociationOutcomeCallable; typedef std::future CreateDataRepositoryTaskOutcomeCallable; @@ -216,6 +226,7 @@ namespace Aws typedef std::future DescribeFileCachesOutcomeCallable; typedef std::future DescribeFileSystemAliasesOutcomeCallable; typedef std::future DescribeFileSystemsOutcomeCallable; + typedef std::future DescribeSharedVpcConfigurationOutcomeCallable; typedef std::future DescribeSnapshotsOutcomeCallable; typedef std::future DescribeStorageVirtualMachinesOutcomeCallable; typedef std::future DescribeVolumesOutcomeCallable; @@ -229,6 +240,7 @@ namespace Aws typedef std::future UpdateDataRepositoryAssociationOutcomeCallable; typedef std::future UpdateFileCacheOutcomeCallable; typedef std::future UpdateFileSystemOutcomeCallable; + typedef std::future UpdateSharedVpcConfigurationOutcomeCallable; typedef std::future UpdateSnapshotOutcomeCallable; typedef std::future UpdateStorageVirtualMachineOutcomeCallable; typedef std::future UpdateVolumeOutcomeCallable; @@ -241,6 +253,7 @@ namespace Aws typedef std::function&) > AssociateFileSystemAliasesResponseReceivedHandler; typedef std::function&) > CancelDataRepositoryTaskResponseReceivedHandler; typedef std::function&) > CopyBackupResponseReceivedHandler; + typedef std::function&) > CopySnapshotAndUpdateVolumeResponseReceivedHandler; typedef std::function&) > CreateBackupResponseReceivedHandler; typedef std::function&) > CreateDataRepositoryAssociationResponseReceivedHandler; typedef std::function&) > CreateDataRepositoryTaskResponseReceivedHandler; @@ -264,6 +277,7 @@ namespace Aws typedef std::function&) > DescribeFileCachesResponseReceivedHandler; typedef std::function&) > DescribeFileSystemAliasesResponseReceivedHandler; typedef std::function&) > DescribeFileSystemsResponseReceivedHandler; + typedef std::function&) > DescribeSharedVpcConfigurationResponseReceivedHandler; typedef std::function&) > DescribeSnapshotsResponseReceivedHandler; typedef std::function&) > DescribeStorageVirtualMachinesResponseReceivedHandler; typedef std::function&) > DescribeVolumesResponseReceivedHandler; @@ -277,6 +291,7 @@ namespace Aws typedef std::function&) > UpdateDataRepositoryAssociationResponseReceivedHandler; typedef std::function&) > UpdateFileCacheResponseReceivedHandler; typedef std::function&) > UpdateFileSystemResponseReceivedHandler; + typedef std::function&) > UpdateSharedVpcConfigurationResponseReceivedHandler; typedef std::function&) > UpdateSnapshotResponseReceivedHandler; typedef std::function&) > UpdateStorageVirtualMachineResponseReceivedHandler; typedef std::function&) > UpdateVolumeResponseReceivedHandler; diff --git a/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/AdministrativeAction.h b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/AdministrativeAction.h index f95b57c3478..83fda192867 100644 --- a/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/AdministrativeAction.h +++ b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/AdministrativeAction.h @@ -32,7 +32,8 @@ namespace Model /** *

                                                                    Describes a specific Amazon FSx administrative action for the current - * Windows, Lustre, or OpenZFS file system.

                                                                    See Also:

                                                                    See + * Also:

                                                                    AWS * API Reference

                                                                    */ @@ -125,8 +126,8 @@ namespace Model /** - *

                                                                    Describes the status of the administrative action, as follows:

                                                                    • - *

                                                                      FAILED - Amazon FSx failed to process the administrative action + *

                                                                      The status of the administrative action, as follows:

                                                                      • + * FAILED - Amazon FSx failed to process the administrative action * successfully.

                                                                      • IN_PROGRESS - Amazon FSx is * processing the administrative action.

                                                                      • PENDING - * Amazon FSx is waiting to process the administrative action.

                                                                      • @@ -134,13 +135,13 @@ namespace Model * task.

                                                                      • UPDATED_OPTIMIZING - For a * storage-capacity increase update, Amazon FSx has updated the file system with * the new storage capacity, and is now performing the storage-optimization - * process.

                                                                      + * process.

                                                                    */ inline const Status& GetStatus() const{ return m_status; } /** - *

                                                                    Describes the status of the administrative action, as follows:

                                                                    • - *

                                                                      FAILED - Amazon FSx failed to process the administrative action + *

                                                                      The status of the administrative action, as follows:

                                                                      • + * FAILED - Amazon FSx failed to process the administrative action * successfully.

                                                                      • IN_PROGRESS - Amazon FSx is * processing the administrative action.

                                                                      • PENDING - * Amazon FSx is waiting to process the administrative action.

                                                                      • @@ -148,13 +149,13 @@ namespace Model * task.

                                                                      • UPDATED_OPTIMIZING - For a * storage-capacity increase update, Amazon FSx has updated the file system with * the new storage capacity, and is now performing the storage-optimization - * process.

                                                                      + * process.

                                                                    */ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** - *

                                                                    Describes the status of the administrative action, as follows:

                                                                    • - *

                                                                      FAILED - Amazon FSx failed to process the administrative action + *

                                                                      The status of the administrative action, as follows:

                                                                      • + * FAILED - Amazon FSx failed to process the administrative action * successfully.

                                                                      • IN_PROGRESS - Amazon FSx is * processing the administrative action.

                                                                      • PENDING - * Amazon FSx is waiting to process the administrative action.

                                                                      • @@ -162,13 +163,13 @@ namespace Model * task.

                                                                      • UPDATED_OPTIMIZING - For a * storage-capacity increase update, Amazon FSx has updated the file system with * the new storage capacity, and is now performing the storage-optimization - * process.

                                                                      + * process.

                                                                    */ inline void SetStatus(const Status& value) { m_statusHasBeenSet = true; m_status = value; } /** - *

                                                                    Describes the status of the administrative action, as follows:

                                                                    • - *

                                                                      FAILED - Amazon FSx failed to process the administrative action + *

                                                                      The status of the administrative action, as follows:

                                                                      • + * FAILED - Amazon FSx failed to process the administrative action * successfully.

                                                                      • IN_PROGRESS - Amazon FSx is * processing the administrative action.

                                                                      • PENDING - * Amazon FSx is waiting to process the administrative action.

                                                                      • @@ -176,13 +177,13 @@ namespace Model * task.

                                                                      • UPDATED_OPTIMIZING - For a * storage-capacity increase update, Amazon FSx has updated the file system with * the new storage capacity, and is now performing the storage-optimization - * process.

                                                                      + * process.

                                                                    */ inline void SetStatus(Status&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** - *

                                                                    Describes the status of the administrative action, as follows:

                                                                    • - *

                                                                      FAILED - Amazon FSx failed to process the administrative action + *

                                                                      The status of the administrative action, as follows:

                                                                      • + * FAILED - Amazon FSx failed to process the administrative action * successfully.

                                                                      • IN_PROGRESS - Amazon FSx is * processing the administrative action.

                                                                      • PENDING - * Amazon FSx is waiting to process the administrative action.

                                                                      • @@ -190,13 +191,13 @@ namespace Model * task.

                                                                      • UPDATED_OPTIMIZING - For a * storage-capacity increase update, Amazon FSx has updated the file system with * the new storage capacity, and is now performing the storage-optimization - * process.

                                                                      + * process.

                                                                    */ inline AdministrativeAction& WithStatus(const Status& value) { SetStatus(value); return *this;} /** - *

                                                                    Describes the status of the administrative action, as follows:

                                                                    • - *

                                                                      FAILED - Amazon FSx failed to process the administrative action + *

                                                                      The status of the administrative action, as follows:

                                                                      • + * FAILED - Amazon FSx failed to process the administrative action * successfully.

                                                                      • IN_PROGRESS - Amazon FSx is * processing the administrative action.

                                                                      • PENDING - * Amazon FSx is waiting to process the administrative action.

                                                                      • @@ -204,48 +205,48 @@ namespace Model * task.

                                                                      • UPDATED_OPTIMIZING - For a * storage-capacity increase update, Amazon FSx has updated the file system with * the new storage capacity, and is now performing the storage-optimization - * process.

                                                                      + * process.

                                                                    */ inline AdministrativeAction& WithStatus(Status&& value) { SetStatus(std::move(value)); return *this;} /** - *

                                                                    Describes the target value for the administration action, provided in the + *

                                                                    The target value for the administration action, provided in the * UpdateFileSystem operation. Returned for * FILE_SYSTEM_UPDATE administrative actions.

                                                                    */ AWS_FSX_API const FileSystem& GetTargetFileSystemValues() const; /** - *

                                                                    Describes the target value for the administration action, provided in the + *

                                                                    The target value for the administration action, provided in the * UpdateFileSystem operation. Returned for * FILE_SYSTEM_UPDATE administrative actions.

                                                                    */ AWS_FSX_API bool TargetFileSystemValuesHasBeenSet() const; /** - *

                                                                    Describes the target value for the administration action, provided in the + *

                                                                    The target value for the administration action, provided in the * UpdateFileSystem operation. Returned for * FILE_SYSTEM_UPDATE administrative actions.

                                                                    */ AWS_FSX_API void SetTargetFileSystemValues(const FileSystem& value); /** - *

                                                                    Describes the target value for the administration action, provided in the + *

                                                                    The target value for the administration action, provided in the * UpdateFileSystem operation. Returned for * FILE_SYSTEM_UPDATE administrative actions.

                                                                    */ AWS_FSX_API void SetTargetFileSystemValues(FileSystem&& value); /** - *

                                                                    Describes the target value for the administration action, provided in the + *

                                                                    The target value for the administration action, provided in the * UpdateFileSystem operation. Returned for * FILE_SYSTEM_UPDATE administrative actions.

                                                                    */ AWS_FSX_API AdministrativeAction& WithTargetFileSystemValues(const FileSystem& value); /** - *

                                                                    Describes the target value for the administration action, provided in the + *

                                                                    The target value for the administration action, provided in the * UpdateFileSystem operation. Returned for * FILE_SYSTEM_UPDATE administrative actions.

                                                                    */ @@ -308,6 +309,56 @@ namespace Model AWS_FSX_API AdministrativeAction& WithTargetSnapshotValues(Snapshot&& value); + + /** + *

                                                                    The number of bytes that have transferred for the FSx for OpenZFS snapshot + * that you're copying.

                                                                    + */ + inline long long GetTotalTransferBytes() const{ return m_totalTransferBytes; } + + /** + *

                                                                    The number of bytes that have transferred for the FSx for OpenZFS snapshot + * that you're copying.

                                                                    + */ + inline bool TotalTransferBytesHasBeenSet() const { return m_totalTransferBytesHasBeenSet; } + + /** + *

                                                                    The number of bytes that have transferred for the FSx for OpenZFS snapshot + * that you're copying.

                                                                    + */ + inline void SetTotalTransferBytes(long long value) { m_totalTransferBytesHasBeenSet = true; m_totalTransferBytes = value; } + + /** + *

                                                                    The number of bytes that have transferred for the FSx for OpenZFS snapshot + * that you're copying.

                                                                    + */ + inline AdministrativeAction& WithTotalTransferBytes(long long value) { SetTotalTransferBytes(value); return *this;} + + + /** + *

                                                                    The remaining bytes to transfer for the FSx for OpenZFS snapshot that you're + * copying.

                                                                    + */ + inline long long GetRemainingTransferBytes() const{ return m_remainingTransferBytes; } + + /** + *

                                                                    The remaining bytes to transfer for the FSx for OpenZFS snapshot that you're + * copying.

                                                                    + */ + inline bool RemainingTransferBytesHasBeenSet() const { return m_remainingTransferBytesHasBeenSet; } + + /** + *

                                                                    The remaining bytes to transfer for the FSx for OpenZFS snapshot that you're + * copying.

                                                                    + */ + inline void SetRemainingTransferBytes(long long value) { m_remainingTransferBytesHasBeenSet = true; m_remainingTransferBytes = value; } + + /** + *

                                                                    The remaining bytes to transfer for the FSx for OpenZFS snapshot that you're + * copying.

                                                                    + */ + inline AdministrativeAction& WithRemainingTransferBytes(long long value) { SetRemainingTransferBytes(value); return *this;} + private: AdministrativeActionType m_administrativeActionType; @@ -333,6 +384,12 @@ namespace Model std::shared_ptr m_targetSnapshotValues; bool m_targetSnapshotValuesHasBeenSet = false; + + long long m_totalTransferBytes; + bool m_totalTransferBytesHasBeenSet = false; + + long long m_remainingTransferBytes; + bool m_remainingTransferBytesHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/AdministrativeActionType.h b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/AdministrativeActionType.h index 65c61a4da8d..5d4c001b20c 100644 --- a/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/AdministrativeActionType.h +++ b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/AdministrativeActionType.h @@ -27,7 +27,9 @@ namespace Model THROUGHPUT_OPTIMIZATION, IOPS_OPTIMIZATION, STORAGE_TYPE_OPTIMIZATION, - MISCONFIGURED_STATE_RECOVERY + MISCONFIGURED_STATE_RECOVERY, + VOLUME_UPDATE_WITH_SNAPSHOT, + VOLUME_INITIALIZE_WITH_SNAPSHOT }; namespace AdministrativeActionTypeMapper diff --git a/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/AggregateConfiguration.h b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/AggregateConfiguration.h new file mode 100644 index 00000000000..cd3c6d4ba48 --- /dev/null +++ b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/AggregateConfiguration.h @@ -0,0 +1,213 @@ +/** + * 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 FSx +{ +namespace Model +{ + + /** + *

                                                                    Used to specify configuration options for a volume’s storage aggregate or + * aggregates.

                                                                    See Also:

                                                                    AWS + * API Reference

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

                                                                    The list of aggregates that this volume resides on. Aggregates are storage + * pools which make up your primary storage tier. Each high-availability (HA) pair + * has one aggregate. The names of the aggregates map to the names of the + * aggregates in the ONTAP CLI and REST API. For FlexVols, there will always be a + * single entry.

                                                                    Amazon FSx responds with an HTTP status code 400 (Bad + * Request) for the following conditions:

                                                                    • The strings in the value + * of Aggregates are not are not formatted as aggrX, + * where X is a number between 1 and 6.

                                                                    • The value of + * Aggregates contains aggregates that are not present.

                                                                    • + *

                                                                      One or more of the aggregates supplied are too close to the volume limit to + * support adding more volumes.

                                                                    + */ + inline const Aws::Vector& GetAggregates() const{ return m_aggregates; } + + /** + *

                                                                    The list of aggregates that this volume resides on. Aggregates are storage + * pools which make up your primary storage tier. Each high-availability (HA) pair + * has one aggregate. The names of the aggregates map to the names of the + * aggregates in the ONTAP CLI and REST API. For FlexVols, there will always be a + * single entry.

                                                                    Amazon FSx responds with an HTTP status code 400 (Bad + * Request) for the following conditions:

                                                                    • The strings in the value + * of Aggregates are not are not formatted as aggrX, + * where X is a number between 1 and 6.

                                                                    • The value of + * Aggregates contains aggregates that are not present.

                                                                    • + *

                                                                      One or more of the aggregates supplied are too close to the volume limit to + * support adding more volumes.

                                                                    + */ + inline bool AggregatesHasBeenSet() const { return m_aggregatesHasBeenSet; } + + /** + *

                                                                    The list of aggregates that this volume resides on. Aggregates are storage + * pools which make up your primary storage tier. Each high-availability (HA) pair + * has one aggregate. The names of the aggregates map to the names of the + * aggregates in the ONTAP CLI and REST API. For FlexVols, there will always be a + * single entry.

                                                                    Amazon FSx responds with an HTTP status code 400 (Bad + * Request) for the following conditions:

                                                                    • The strings in the value + * of Aggregates are not are not formatted as aggrX, + * where X is a number between 1 and 6.

                                                                    • The value of + * Aggregates contains aggregates that are not present.

                                                                    • + *

                                                                      One or more of the aggregates supplied are too close to the volume limit to + * support adding more volumes.

                                                                    + */ + inline void SetAggregates(const Aws::Vector& value) { m_aggregatesHasBeenSet = true; m_aggregates = value; } + + /** + *

                                                                    The list of aggregates that this volume resides on. Aggregates are storage + * pools which make up your primary storage tier. Each high-availability (HA) pair + * has one aggregate. The names of the aggregates map to the names of the + * aggregates in the ONTAP CLI and REST API. For FlexVols, there will always be a + * single entry.

                                                                    Amazon FSx responds with an HTTP status code 400 (Bad + * Request) for the following conditions:

                                                                    • The strings in the value + * of Aggregates are not are not formatted as aggrX, + * where X is a number between 1 and 6.

                                                                    • The value of + * Aggregates contains aggregates that are not present.

                                                                    • + *

                                                                      One or more of the aggregates supplied are too close to the volume limit to + * support adding more volumes.

                                                                    + */ + inline void SetAggregates(Aws::Vector&& value) { m_aggregatesHasBeenSet = true; m_aggregates = std::move(value); } + + /** + *

                                                                    The list of aggregates that this volume resides on. Aggregates are storage + * pools which make up your primary storage tier. Each high-availability (HA) pair + * has one aggregate. The names of the aggregates map to the names of the + * aggregates in the ONTAP CLI and REST API. For FlexVols, there will always be a + * single entry.

                                                                    Amazon FSx responds with an HTTP status code 400 (Bad + * Request) for the following conditions:

                                                                    • The strings in the value + * of Aggregates are not are not formatted as aggrX, + * where X is a number between 1 and 6.

                                                                    • The value of + * Aggregates contains aggregates that are not present.

                                                                    • + *

                                                                      One or more of the aggregates supplied are too close to the volume limit to + * support adding more volumes.

                                                                    + */ + inline AggregateConfiguration& WithAggregates(const Aws::Vector& value) { SetAggregates(value); return *this;} + + /** + *

                                                                    The list of aggregates that this volume resides on. Aggregates are storage + * pools which make up your primary storage tier. Each high-availability (HA) pair + * has one aggregate. The names of the aggregates map to the names of the + * aggregates in the ONTAP CLI and REST API. For FlexVols, there will always be a + * single entry.

                                                                    Amazon FSx responds with an HTTP status code 400 (Bad + * Request) for the following conditions:

                                                                    • The strings in the value + * of Aggregates are not are not formatted as aggrX, + * where X is a number between 1 and 6.

                                                                    • The value of + * Aggregates contains aggregates that are not present.

                                                                    • + *

                                                                      One or more of the aggregates supplied are too close to the volume limit to + * support adding more volumes.

                                                                    + */ + inline AggregateConfiguration& WithAggregates(Aws::Vector&& value) { SetAggregates(std::move(value)); return *this;} + + /** + *

                                                                    The list of aggregates that this volume resides on. Aggregates are storage + * pools which make up your primary storage tier. Each high-availability (HA) pair + * has one aggregate. The names of the aggregates map to the names of the + * aggregates in the ONTAP CLI and REST API. For FlexVols, there will always be a + * single entry.

                                                                    Amazon FSx responds with an HTTP status code 400 (Bad + * Request) for the following conditions:

                                                                    • The strings in the value + * of Aggregates are not are not formatted as aggrX, + * where X is a number between 1 and 6.

                                                                    • The value of + * Aggregates contains aggregates that are not present.

                                                                    • + *

                                                                      One or more of the aggregates supplied are too close to the volume limit to + * support adding more volumes.

                                                                    + */ + inline AggregateConfiguration& AddAggregates(const Aws::String& value) { m_aggregatesHasBeenSet = true; m_aggregates.push_back(value); return *this; } + + /** + *

                                                                    The list of aggregates that this volume resides on. Aggregates are storage + * pools which make up your primary storage tier. Each high-availability (HA) pair + * has one aggregate. The names of the aggregates map to the names of the + * aggregates in the ONTAP CLI and REST API. For FlexVols, there will always be a + * single entry.

                                                                    Amazon FSx responds with an HTTP status code 400 (Bad + * Request) for the following conditions:

                                                                    • The strings in the value + * of Aggregates are not are not formatted as aggrX, + * where X is a number between 1 and 6.

                                                                    • The value of + * Aggregates contains aggregates that are not present.

                                                                    • + *

                                                                      One or more of the aggregates supplied are too close to the volume limit to + * support adding more volumes.

                                                                    + */ + inline AggregateConfiguration& AddAggregates(Aws::String&& value) { m_aggregatesHasBeenSet = true; m_aggregates.push_back(std::move(value)); return *this; } + + /** + *

                                                                    The list of aggregates that this volume resides on. Aggregates are storage + * pools which make up your primary storage tier. Each high-availability (HA) pair + * has one aggregate. The names of the aggregates map to the names of the + * aggregates in the ONTAP CLI and REST API. For FlexVols, there will always be a + * single entry.

                                                                    Amazon FSx responds with an HTTP status code 400 (Bad + * Request) for the following conditions:

                                                                    • The strings in the value + * of Aggregates are not are not formatted as aggrX, + * where X is a number between 1 and 6.

                                                                    • The value of + * Aggregates contains aggregates that are not present.

                                                                    • + *

                                                                      One or more of the aggregates supplied are too close to the volume limit to + * support adding more volumes.

                                                                    + */ + inline AggregateConfiguration& AddAggregates(const char* value) { m_aggregatesHasBeenSet = true; m_aggregates.push_back(value); return *this; } + + + /** + *

                                                                    The total number of constituents this FlexGroup volume has. Not applicable + * for FlexVols.

                                                                    + */ + inline int GetTotalConstituents() const{ return m_totalConstituents; } + + /** + *

                                                                    The total number of constituents this FlexGroup volume has. Not applicable + * for FlexVols.

                                                                    + */ + inline bool TotalConstituentsHasBeenSet() const { return m_totalConstituentsHasBeenSet; } + + /** + *

                                                                    The total number of constituents this FlexGroup volume has. Not applicable + * for FlexVols.

                                                                    + */ + inline void SetTotalConstituents(int value) { m_totalConstituentsHasBeenSet = true; m_totalConstituents = value; } + + /** + *

                                                                    The total number of constituents this FlexGroup volume has. Not applicable + * for FlexVols.

                                                                    + */ + inline AggregateConfiguration& WithTotalConstituents(int value) { SetTotalConstituents(value); return *this;} + + private: + + Aws::Vector m_aggregates; + bool m_aggregatesHasBeenSet = false; + + int m_totalConstituents; + bool m_totalConstituentsHasBeenSet = false; + }; + +} // namespace Model +} // namespace FSx +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/CopySnapshotAndUpdateVolumeRequest.h b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/CopySnapshotAndUpdateVolumeRequest.h new file mode 100644 index 00000000000..44469da8569 --- /dev/null +++ b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/CopySnapshotAndUpdateVolumeRequest.h @@ -0,0 +1,341 @@ +/** + * 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 FSx +{ +namespace Model +{ + + /** + */ + class CopySnapshotAndUpdateVolumeRequest : public FSxRequest + { + public: + AWS_FSX_API CopySnapshotAndUpdateVolumeRequest(); + + // 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 "CopySnapshotAndUpdateVolume"; } + + AWS_FSX_API Aws::String SerializePayload() const override; + + AWS_FSX_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + + inline const Aws::String& GetClientRequestToken() const{ return m_clientRequestToken; } + + + inline bool ClientRequestTokenHasBeenSet() const { return m_clientRequestTokenHasBeenSet; } + + + inline void SetClientRequestToken(const Aws::String& value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken = value; } + + + inline void SetClientRequestToken(Aws::String&& value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken = std::move(value); } + + + inline void SetClientRequestToken(const char* value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken.assign(value); } + + + inline CopySnapshotAndUpdateVolumeRequest& WithClientRequestToken(const Aws::String& value) { SetClientRequestToken(value); return *this;} + + + inline CopySnapshotAndUpdateVolumeRequest& WithClientRequestToken(Aws::String&& value) { SetClientRequestToken(std::move(value)); return *this;} + + + inline CopySnapshotAndUpdateVolumeRequest& WithClientRequestToken(const char* value) { SetClientRequestToken(value); return *this;} + + + /** + *

                                                                    Specifies the ID of the volume that you are copying the snapshot to.

                                                                    + */ + inline const Aws::String& GetVolumeId() const{ return m_volumeId; } + + /** + *

                                                                    Specifies the ID of the volume that you are copying the snapshot to.

                                                                    + */ + inline bool VolumeIdHasBeenSet() const { return m_volumeIdHasBeenSet; } + + /** + *

                                                                    Specifies the ID of the volume that you are copying the snapshot to.

                                                                    + */ + inline void SetVolumeId(const Aws::String& value) { m_volumeIdHasBeenSet = true; m_volumeId = value; } + + /** + *

                                                                    Specifies the ID of the volume that you are copying the snapshot to.

                                                                    + */ + inline void SetVolumeId(Aws::String&& value) { m_volumeIdHasBeenSet = true; m_volumeId = std::move(value); } + + /** + *

                                                                    Specifies the ID of the volume that you are copying the snapshot to.

                                                                    + */ + inline void SetVolumeId(const char* value) { m_volumeIdHasBeenSet = true; m_volumeId.assign(value); } + + /** + *

                                                                    Specifies the ID of the volume that you are copying the snapshot to.

                                                                    + */ + inline CopySnapshotAndUpdateVolumeRequest& WithVolumeId(const Aws::String& value) { SetVolumeId(value); return *this;} + + /** + *

                                                                    Specifies the ID of the volume that you are copying the snapshot to.

                                                                    + */ + inline CopySnapshotAndUpdateVolumeRequest& WithVolumeId(Aws::String&& value) { SetVolumeId(std::move(value)); return *this;} + + /** + *

                                                                    Specifies the ID of the volume that you are copying the snapshot to.

                                                                    + */ + inline CopySnapshotAndUpdateVolumeRequest& WithVolumeId(const char* value) { SetVolumeId(value); return *this;} + + + + inline const Aws::String& GetSourceSnapshotARN() const{ return m_sourceSnapshotARN; } + + + inline bool SourceSnapshotARNHasBeenSet() const { return m_sourceSnapshotARNHasBeenSet; } + + + inline void SetSourceSnapshotARN(const Aws::String& value) { m_sourceSnapshotARNHasBeenSet = true; m_sourceSnapshotARN = value; } + + + inline void SetSourceSnapshotARN(Aws::String&& value) { m_sourceSnapshotARNHasBeenSet = true; m_sourceSnapshotARN = std::move(value); } + + + inline void SetSourceSnapshotARN(const char* value) { m_sourceSnapshotARNHasBeenSet = true; m_sourceSnapshotARN.assign(value); } + + + inline CopySnapshotAndUpdateVolumeRequest& WithSourceSnapshotARN(const Aws::String& value) { SetSourceSnapshotARN(value); return *this;} + + + inline CopySnapshotAndUpdateVolumeRequest& WithSourceSnapshotARN(Aws::String&& value) { SetSourceSnapshotARN(std::move(value)); return *this;} + + + inline CopySnapshotAndUpdateVolumeRequest& WithSourceSnapshotARN(const char* value) { SetSourceSnapshotARN(value); return *this;} + + + /** + *

                                                                    Specifies the strategy to use when copying data from a snapshot to the + * volume.

                                                                    • FULL_COPY - Copies all data from the + * snapshot to the volume.

                                                                    • INCREMENTAL_COPY - + * Copies only the snapshot data that's changed since the previous replication.

                                                                      + *

                                                                    CLONE isn't a valid copy strategy option for + * the CopySnapshotAndUpdateVolume operation.

                                                                    + */ + inline const OpenZFSCopyStrategy& GetCopyStrategy() const{ return m_copyStrategy; } + + /** + *

                                                                    Specifies the strategy to use when copying data from a snapshot to the + * volume.

                                                                    • FULL_COPY - Copies all data from the + * snapshot to the volume.

                                                                    • INCREMENTAL_COPY - + * Copies only the snapshot data that's changed since the previous replication.

                                                                      + *

                                                                    CLONE isn't a valid copy strategy option for + * the CopySnapshotAndUpdateVolume operation.

                                                                    + */ + inline bool CopyStrategyHasBeenSet() const { return m_copyStrategyHasBeenSet; } + + /** + *

                                                                    Specifies the strategy to use when copying data from a snapshot to the + * volume.

                                                                    • FULL_COPY - Copies all data from the + * snapshot to the volume.

                                                                    • INCREMENTAL_COPY - + * Copies only the snapshot data that's changed since the previous replication.

                                                                      + *

                                                                    CLONE isn't a valid copy strategy option for + * the CopySnapshotAndUpdateVolume operation.

                                                                    + */ + inline void SetCopyStrategy(const OpenZFSCopyStrategy& value) { m_copyStrategyHasBeenSet = true; m_copyStrategy = value; } + + /** + *

                                                                    Specifies the strategy to use when copying data from a snapshot to the + * volume.

                                                                    • FULL_COPY - Copies all data from the + * snapshot to the volume.

                                                                    • INCREMENTAL_COPY - + * Copies only the snapshot data that's changed since the previous replication.

                                                                      + *

                                                                    CLONE isn't a valid copy strategy option for + * the CopySnapshotAndUpdateVolume operation.

                                                                    + */ + inline void SetCopyStrategy(OpenZFSCopyStrategy&& value) { m_copyStrategyHasBeenSet = true; m_copyStrategy = std::move(value); } + + /** + *

                                                                    Specifies the strategy to use when copying data from a snapshot to the + * volume.

                                                                    • FULL_COPY - Copies all data from the + * snapshot to the volume.

                                                                    • INCREMENTAL_COPY - + * Copies only the snapshot data that's changed since the previous replication.

                                                                      + *

                                                                    CLONE isn't a valid copy strategy option for + * the CopySnapshotAndUpdateVolume operation.

                                                                    + */ + inline CopySnapshotAndUpdateVolumeRequest& WithCopyStrategy(const OpenZFSCopyStrategy& value) { SetCopyStrategy(value); return *this;} + + /** + *

                                                                    Specifies the strategy to use when copying data from a snapshot to the + * volume.

                                                                    • FULL_COPY - Copies all data from the + * snapshot to the volume.

                                                                    • INCREMENTAL_COPY - + * Copies only the snapshot data that's changed since the previous replication.

                                                                      + *

                                                                    CLONE isn't a valid copy strategy option for + * the CopySnapshotAndUpdateVolume operation.

                                                                    + */ + inline CopySnapshotAndUpdateVolumeRequest& WithCopyStrategy(OpenZFSCopyStrategy&& value) { SetCopyStrategy(std::move(value)); return *this;} + + + /** + *

                                                                    Confirms that you want to delete data on the destination volume that wasn’t + * there during the previous snapshot replication.

                                                                    Your replication will + * fail if you don’t include an option for a specific type of data and that data is + * on your destination. For example, if you don’t include + * DELETE_INTERMEDIATE_SNAPSHOTS and there are intermediate snapshots + * on the destination, you can’t copy the snapshot.

                                                                    • + * DELETE_INTERMEDIATE_SNAPSHOTS - Deletes snapshots on the + * destination volume that aren’t on the source volume.

                                                                    • + * DELETE_CLONED_VOLUMES - Deletes snapshot clones on the destination + * volume that aren't on the source volume.

                                                                    • + * DELETE_INTERMEDIATE_DATA - Overwrites snapshots on the destination + * volume that don’t match the source snapshot that you’re copying.

                                                                    + */ + inline const Aws::Vector& GetOptions() const{ return m_options; } + + /** + *

                                                                    Confirms that you want to delete data on the destination volume that wasn’t + * there during the previous snapshot replication.

                                                                    Your replication will + * fail if you don’t include an option for a specific type of data and that data is + * on your destination. For example, if you don’t include + * DELETE_INTERMEDIATE_SNAPSHOTS and there are intermediate snapshots + * on the destination, you can’t copy the snapshot.

                                                                    • + * DELETE_INTERMEDIATE_SNAPSHOTS - Deletes snapshots on the + * destination volume that aren’t on the source volume.

                                                                    • + * DELETE_CLONED_VOLUMES - Deletes snapshot clones on the destination + * volume that aren't on the source volume.

                                                                    • + * DELETE_INTERMEDIATE_DATA - Overwrites snapshots on the destination + * volume that don’t match the source snapshot that you’re copying.

                                                                    + */ + inline bool OptionsHasBeenSet() const { return m_optionsHasBeenSet; } + + /** + *

                                                                    Confirms that you want to delete data on the destination volume that wasn’t + * there during the previous snapshot replication.

                                                                    Your replication will + * fail if you don’t include an option for a specific type of data and that data is + * on your destination. For example, if you don’t include + * DELETE_INTERMEDIATE_SNAPSHOTS and there are intermediate snapshots + * on the destination, you can’t copy the snapshot.

                                                                    • + * DELETE_INTERMEDIATE_SNAPSHOTS - Deletes snapshots on the + * destination volume that aren’t on the source volume.

                                                                    • + * DELETE_CLONED_VOLUMES - Deletes snapshot clones on the destination + * volume that aren't on the source volume.

                                                                    • + * DELETE_INTERMEDIATE_DATA - Overwrites snapshots on the destination + * volume that don’t match the source snapshot that you’re copying.

                                                                    + */ + inline void SetOptions(const Aws::Vector& value) { m_optionsHasBeenSet = true; m_options = value; } + + /** + *

                                                                    Confirms that you want to delete data on the destination volume that wasn’t + * there during the previous snapshot replication.

                                                                    Your replication will + * fail if you don’t include an option for a specific type of data and that data is + * on your destination. For example, if you don’t include + * DELETE_INTERMEDIATE_SNAPSHOTS and there are intermediate snapshots + * on the destination, you can’t copy the snapshot.

                                                                    • + * DELETE_INTERMEDIATE_SNAPSHOTS - Deletes snapshots on the + * destination volume that aren’t on the source volume.

                                                                    • + * DELETE_CLONED_VOLUMES - Deletes snapshot clones on the destination + * volume that aren't on the source volume.

                                                                    • + * DELETE_INTERMEDIATE_DATA - Overwrites snapshots on the destination + * volume that don’t match the source snapshot that you’re copying.

                                                                    + */ + inline void SetOptions(Aws::Vector&& value) { m_optionsHasBeenSet = true; m_options = std::move(value); } + + /** + *

                                                                    Confirms that you want to delete data on the destination volume that wasn’t + * there during the previous snapshot replication.

                                                                    Your replication will + * fail if you don’t include an option for a specific type of data and that data is + * on your destination. For example, if you don’t include + * DELETE_INTERMEDIATE_SNAPSHOTS and there are intermediate snapshots + * on the destination, you can’t copy the snapshot.

                                                                    • + * DELETE_INTERMEDIATE_SNAPSHOTS - Deletes snapshots on the + * destination volume that aren’t on the source volume.

                                                                    • + * DELETE_CLONED_VOLUMES - Deletes snapshot clones on the destination + * volume that aren't on the source volume.

                                                                    • + * DELETE_INTERMEDIATE_DATA - Overwrites snapshots on the destination + * volume that don’t match the source snapshot that you’re copying.

                                                                    + */ + inline CopySnapshotAndUpdateVolumeRequest& WithOptions(const Aws::Vector& value) { SetOptions(value); return *this;} + + /** + *

                                                                    Confirms that you want to delete data on the destination volume that wasn’t + * there during the previous snapshot replication.

                                                                    Your replication will + * fail if you don’t include an option for a specific type of data and that data is + * on your destination. For example, if you don’t include + * DELETE_INTERMEDIATE_SNAPSHOTS and there are intermediate snapshots + * on the destination, you can’t copy the snapshot.

                                                                    • + * DELETE_INTERMEDIATE_SNAPSHOTS - Deletes snapshots on the + * destination volume that aren’t on the source volume.

                                                                    • + * DELETE_CLONED_VOLUMES - Deletes snapshot clones on the destination + * volume that aren't on the source volume.

                                                                    • + * DELETE_INTERMEDIATE_DATA - Overwrites snapshots on the destination + * volume that don’t match the source snapshot that you’re copying.

                                                                    + */ + inline CopySnapshotAndUpdateVolumeRequest& WithOptions(Aws::Vector&& value) { SetOptions(std::move(value)); return *this;} + + /** + *

                                                                    Confirms that you want to delete data on the destination volume that wasn’t + * there during the previous snapshot replication.

                                                                    Your replication will + * fail if you don’t include an option for a specific type of data and that data is + * on your destination. For example, if you don’t include + * DELETE_INTERMEDIATE_SNAPSHOTS and there are intermediate snapshots + * on the destination, you can’t copy the snapshot.

                                                                    • + * DELETE_INTERMEDIATE_SNAPSHOTS - Deletes snapshots on the + * destination volume that aren’t on the source volume.

                                                                    • + * DELETE_CLONED_VOLUMES - Deletes snapshot clones on the destination + * volume that aren't on the source volume.

                                                                    • + * DELETE_INTERMEDIATE_DATA - Overwrites snapshots on the destination + * volume that don’t match the source snapshot that you’re copying.

                                                                    + */ + inline CopySnapshotAndUpdateVolumeRequest& AddOptions(const UpdateOpenZFSVolumeOption& value) { m_optionsHasBeenSet = true; m_options.push_back(value); return *this; } + + /** + *

                                                                    Confirms that you want to delete data on the destination volume that wasn’t + * there during the previous snapshot replication.

                                                                    Your replication will + * fail if you don’t include an option for a specific type of data and that data is + * on your destination. For example, if you don’t include + * DELETE_INTERMEDIATE_SNAPSHOTS and there are intermediate snapshots + * on the destination, you can’t copy the snapshot.

                                                                    • + * DELETE_INTERMEDIATE_SNAPSHOTS - Deletes snapshots on the + * destination volume that aren’t on the source volume.

                                                                    • + * DELETE_CLONED_VOLUMES - Deletes snapshot clones on the destination + * volume that aren't on the source volume.

                                                                    • + * DELETE_INTERMEDIATE_DATA - Overwrites snapshots on the destination + * volume that don’t match the source snapshot that you’re copying.

                                                                    + */ + inline CopySnapshotAndUpdateVolumeRequest& AddOptions(UpdateOpenZFSVolumeOption&& value) { m_optionsHasBeenSet = true; m_options.push_back(std::move(value)); return *this; } + + private: + + Aws::String m_clientRequestToken; + bool m_clientRequestTokenHasBeenSet = false; + + Aws::String m_volumeId; + bool m_volumeIdHasBeenSet = false; + + Aws::String m_sourceSnapshotARN; + bool m_sourceSnapshotARNHasBeenSet = false; + + OpenZFSCopyStrategy m_copyStrategy; + bool m_copyStrategyHasBeenSet = false; + + Aws::Vector m_options; + bool m_optionsHasBeenSet = false; + }; + +} // namespace Model +} // namespace FSx +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/CopySnapshotAndUpdateVolumeResult.h b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/CopySnapshotAndUpdateVolumeResult.h new file mode 100644 index 00000000000..32a4614fef6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/CopySnapshotAndUpdateVolumeResult.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 + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace FSx +{ +namespace Model +{ + class CopySnapshotAndUpdateVolumeResult + { + public: + AWS_FSX_API CopySnapshotAndUpdateVolumeResult(); + AWS_FSX_API CopySnapshotAndUpdateVolumeResult(const Aws::AmazonWebServiceResult& result); + AWS_FSX_API CopySnapshotAndUpdateVolumeResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

                                                                    The ID of the volume that you copied the snapshot to.

                                                                    + */ + inline const Aws::String& GetVolumeId() const{ return m_volumeId; } + + /** + *

                                                                    The ID of the volume that you copied the snapshot to.

                                                                    + */ + inline void SetVolumeId(const Aws::String& value) { m_volumeId = value; } + + /** + *

                                                                    The ID of the volume that you copied the snapshot to.

                                                                    + */ + inline void SetVolumeId(Aws::String&& value) { m_volumeId = std::move(value); } + + /** + *

                                                                    The ID of the volume that you copied the snapshot to.

                                                                    + */ + inline void SetVolumeId(const char* value) { m_volumeId.assign(value); } + + /** + *

                                                                    The ID of the volume that you copied the snapshot to.

                                                                    + */ + inline CopySnapshotAndUpdateVolumeResult& WithVolumeId(const Aws::String& value) { SetVolumeId(value); return *this;} + + /** + *

                                                                    The ID of the volume that you copied the snapshot to.

                                                                    + */ + inline CopySnapshotAndUpdateVolumeResult& WithVolumeId(Aws::String&& value) { SetVolumeId(std::move(value)); return *this;} + + /** + *

                                                                    The ID of the volume that you copied the snapshot to.

                                                                    + */ + inline CopySnapshotAndUpdateVolumeResult& WithVolumeId(const char* value) { SetVolumeId(value); return *this;} + + + /** + *

                                                                    The lifecycle state of the destination volume.

                                                                    + */ + inline const VolumeLifecycle& GetLifecycle() const{ return m_lifecycle; } + + /** + *

                                                                    The lifecycle state of the destination volume.

                                                                    + */ + inline void SetLifecycle(const VolumeLifecycle& value) { m_lifecycle = value; } + + /** + *

                                                                    The lifecycle state of the destination volume.

                                                                    + */ + inline void SetLifecycle(VolumeLifecycle&& value) { m_lifecycle = std::move(value); } + + /** + *

                                                                    The lifecycle state of the destination volume.

                                                                    + */ + inline CopySnapshotAndUpdateVolumeResult& WithLifecycle(const VolumeLifecycle& value) { SetLifecycle(value); return *this;} + + /** + *

                                                                    The lifecycle state of the destination volume.

                                                                    + */ + inline CopySnapshotAndUpdateVolumeResult& WithLifecycle(VolumeLifecycle&& value) { SetLifecycle(std::move(value)); return *this;} + + + /** + *

                                                                    A list of administrative actions for the file system that are in process or + * waiting to be processed. Administrative actions describe changes to the Amazon + * FSx system.

                                                                    + */ + inline const Aws::Vector& GetAdministrativeActions() const{ return m_administrativeActions; } + + /** + *

                                                                    A list of administrative actions for the file system that are in process or + * waiting to be processed. Administrative actions describe changes to the Amazon + * FSx system.

                                                                    + */ + inline void SetAdministrativeActions(const Aws::Vector& value) { m_administrativeActions = value; } + + /** + *

                                                                    A list of administrative actions for the file system that are in process or + * waiting to be processed. Administrative actions describe changes to the Amazon + * FSx system.

                                                                    + */ + inline void SetAdministrativeActions(Aws::Vector&& value) { m_administrativeActions = std::move(value); } + + /** + *

                                                                    A list of administrative actions for the file system that are in process or + * waiting to be processed. Administrative actions describe changes to the Amazon + * FSx system.

                                                                    + */ + inline CopySnapshotAndUpdateVolumeResult& WithAdministrativeActions(const Aws::Vector& value) { SetAdministrativeActions(value); return *this;} + + /** + *

                                                                    A list of administrative actions for the file system that are in process or + * waiting to be processed. Administrative actions describe changes to the Amazon + * FSx system.

                                                                    + */ + inline CopySnapshotAndUpdateVolumeResult& WithAdministrativeActions(Aws::Vector&& value) { SetAdministrativeActions(std::move(value)); return *this;} + + /** + *

                                                                    A list of administrative actions for the file system that are in process or + * waiting to be processed. Administrative actions describe changes to the Amazon + * FSx system.

                                                                    + */ + inline CopySnapshotAndUpdateVolumeResult& AddAdministrativeActions(const AdministrativeAction& value) { m_administrativeActions.push_back(value); return *this; } + + /** + *

                                                                    A list of administrative actions for the file system that are in process or + * waiting to be processed. Administrative actions describe changes to the Amazon + * FSx system.

                                                                    + */ + inline CopySnapshotAndUpdateVolumeResult& AddAdministrativeActions(AdministrativeAction&& value) { m_administrativeActions.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 CopySnapshotAndUpdateVolumeResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline CopySnapshotAndUpdateVolumeResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline CopySnapshotAndUpdateVolumeResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::String m_volumeId; + + VolumeLifecycle m_lifecycle; + + Aws::Vector m_administrativeActions; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace FSx +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/CreateAggregateConfiguration.h b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/CreateAggregateConfiguration.h new file mode 100644 index 00000000000..fa510202892 --- /dev/null +++ b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/CreateAggregateConfiguration.h @@ -0,0 +1,140 @@ +/** + * 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 FSx +{ +namespace Model +{ + + /** + *

                                                                    Used to specify the configuration options for a volume's storage aggregate or + * aggregates.

                                                                    See Also:

                                                                    AWS + * API Reference

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

                                                                    Used to specify the names of aggregates on which the volume will be + * created.

                                                                    + */ + inline const Aws::Vector& GetAggregates() const{ return m_aggregates; } + + /** + *

                                                                    Used to specify the names of aggregates on which the volume will be + * created.

                                                                    + */ + inline bool AggregatesHasBeenSet() const { return m_aggregatesHasBeenSet; } + + /** + *

                                                                    Used to specify the names of aggregates on which the volume will be + * created.

                                                                    + */ + inline void SetAggregates(const Aws::Vector& value) { m_aggregatesHasBeenSet = true; m_aggregates = value; } + + /** + *

                                                                    Used to specify the names of aggregates on which the volume will be + * created.

                                                                    + */ + inline void SetAggregates(Aws::Vector&& value) { m_aggregatesHasBeenSet = true; m_aggregates = std::move(value); } + + /** + *

                                                                    Used to specify the names of aggregates on which the volume will be + * created.

                                                                    + */ + inline CreateAggregateConfiguration& WithAggregates(const Aws::Vector& value) { SetAggregates(value); return *this;} + + /** + *

                                                                    Used to specify the names of aggregates on which the volume will be + * created.

                                                                    + */ + inline CreateAggregateConfiguration& WithAggregates(Aws::Vector&& value) { SetAggregates(std::move(value)); return *this;} + + /** + *

                                                                    Used to specify the names of aggregates on which the volume will be + * created.

                                                                    + */ + inline CreateAggregateConfiguration& AddAggregates(const Aws::String& value) { m_aggregatesHasBeenSet = true; m_aggregates.push_back(value); return *this; } + + /** + *

                                                                    Used to specify the names of aggregates on which the volume will be + * created.

                                                                    + */ + inline CreateAggregateConfiguration& AddAggregates(Aws::String&& value) { m_aggregatesHasBeenSet = true; m_aggregates.push_back(std::move(value)); return *this; } + + /** + *

                                                                    Used to specify the names of aggregates on which the volume will be + * created.

                                                                    + */ + inline CreateAggregateConfiguration& AddAggregates(const char* value) { m_aggregatesHasBeenSet = true; m_aggregates.push_back(value); return *this; } + + + /** + *

                                                                    Used to explicitly set the number of constituents within the FlexGroup per + * storage aggregate. This field is optional when creating a FlexGroup volume. If + * unspecified, the default value will be 8. This field cannot be provided when + * creating a FlexVol volume.

                                                                    + */ + inline int GetConstituentsPerAggregate() const{ return m_constituentsPerAggregate; } + + /** + *

                                                                    Used to explicitly set the number of constituents within the FlexGroup per + * storage aggregate. This field is optional when creating a FlexGroup volume. If + * unspecified, the default value will be 8. This field cannot be provided when + * creating a FlexVol volume.

                                                                    + */ + inline bool ConstituentsPerAggregateHasBeenSet() const { return m_constituentsPerAggregateHasBeenSet; } + + /** + *

                                                                    Used to explicitly set the number of constituents within the FlexGroup per + * storage aggregate. This field is optional when creating a FlexGroup volume. If + * unspecified, the default value will be 8. This field cannot be provided when + * creating a FlexVol volume.

                                                                    + */ + inline void SetConstituentsPerAggregate(int value) { m_constituentsPerAggregateHasBeenSet = true; m_constituentsPerAggregate = value; } + + /** + *

                                                                    Used to explicitly set the number of constituents within the FlexGroup per + * storage aggregate. This field is optional when creating a FlexGroup volume. If + * unspecified, the default value will be 8. This field cannot be provided when + * creating a FlexVol volume.

                                                                    + */ + inline CreateAggregateConfiguration& WithConstituentsPerAggregate(int value) { SetConstituentsPerAggregate(value); return *this;} + + private: + + Aws::Vector m_aggregates; + bool m_aggregatesHasBeenSet = false; + + int m_constituentsPerAggregate; + bool m_constituentsPerAggregateHasBeenSet = false; + }; + +} // namespace Model +} // namespace FSx +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/CreateFileSystemFromBackupRequest.h b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/CreateFileSystemFromBackupRequest.h index 3641d43cb8c..3b2060b3200 100644 --- a/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/CreateFileSystemFromBackupRequest.h +++ b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/CreateFileSystemFromBackupRequest.h @@ -682,7 +682,7 @@ namespace Model * StorageCapacity value.

                                                                    If used to create a file system other * than OpenZFS, you must provide a value that matches the backup's * StorageCapacity value. If you provide any other value, Amazon FSx - * responds with a 400 Bad Request.

                                                                    + * responds with with an HTTP status code 400 Bad Request.

                                                                    */ inline int GetStorageCapacity() const{ return m_storageCapacity; } @@ -695,7 +695,7 @@ namespace Model * StorageCapacity value.

                                                                    If used to create a file system other * than OpenZFS, you must provide a value that matches the backup's * StorageCapacity value. If you provide any other value, Amazon FSx - * responds with a 400 Bad Request.

                                                                    + * responds with with an HTTP status code 400 Bad Request.

                                                                    */ inline bool StorageCapacityHasBeenSet() const { return m_storageCapacityHasBeenSet; } @@ -708,7 +708,7 @@ namespace Model * StorageCapacity value.

                                                                    If used to create a file system other * than OpenZFS, you must provide a value that matches the backup's * StorageCapacity value. If you provide any other value, Amazon FSx - * responds with a 400 Bad Request.

                                                                    + * responds with with an HTTP status code 400 Bad Request.

                                                                    */ inline void SetStorageCapacity(int value) { m_storageCapacityHasBeenSet = true; m_storageCapacity = value; } @@ -721,7 +721,7 @@ namespace Model * StorageCapacity value.

                                                                    If used to create a file system other * than OpenZFS, you must provide a value that matches the backup's * StorageCapacity value. If you provide any other value, Amazon FSx - * responds with a 400 Bad Request.

                                                                    + * responds with with an HTTP status code 400 Bad Request.

                                                                    */ inline CreateFileSystemFromBackupRequest& WithStorageCapacity(int value) { SetStorageCapacity(value); return *this;} diff --git a/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/CreateFileSystemOntapConfiguration.h b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/CreateFileSystemOntapConfiguration.h index aa81dbd4b3d..aa1729b1d8f 100644 --- a/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/CreateFileSystemOntapConfiguration.h +++ b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/CreateFileSystemOntapConfiguration.h @@ -85,6 +85,8 @@ namespace Model * availability file system configured for Multi-AZ redundancy to tolerate * temporary Availability Zone (AZ) unavailability.

                                                                  • * SINGLE_AZ_1 - A file system configured for Single-AZ + * redundancy.

                                                                  • SINGLE_AZ_2 - A file system + * configured with multiple high-availability (HA) pairs for Single-AZ * redundancy.

                                                                  For information about the use cases for Multi-AZ * and Single-AZ deployments, refer to Choosing @@ -98,6 +100,8 @@ namespace Model * availability file system configured for Multi-AZ redundancy to tolerate * temporary Availability Zone (AZ) unavailability.

                                                                • * SINGLE_AZ_1 - A file system configured for Single-AZ + * redundancy.

                                                                • SINGLE_AZ_2 - A file system + * configured with multiple high-availability (HA) pairs for Single-AZ * redundancy.

                                                                For information about the use cases for Multi-AZ * and Single-AZ deployments, refer to Choosing @@ -111,6 +115,8 @@ namespace Model * availability file system configured for Multi-AZ redundancy to tolerate * temporary Availability Zone (AZ) unavailability.

                                                              • * SINGLE_AZ_1 - A file system configured for Single-AZ + * redundancy.

                                                              • SINGLE_AZ_2 - A file system + * configured with multiple high-availability (HA) pairs for Single-AZ * redundancy.

                                                              For information about the use cases for Multi-AZ * and Single-AZ deployments, refer to Choosing @@ -124,6 +130,8 @@ namespace Model * availability file system configured for Multi-AZ redundancy to tolerate * temporary Availability Zone (AZ) unavailability.

                                                            • * SINGLE_AZ_1 - A file system configured for Single-AZ + * redundancy.

                                                            • SINGLE_AZ_2 - A file system + * configured with multiple high-availability (HA) pairs for Single-AZ * redundancy.

                                                            For information about the use cases for Multi-AZ * and Single-AZ deployments, refer to Choosing @@ -137,6 +145,8 @@ namespace Model * availability file system configured for Multi-AZ redundancy to tolerate * temporary Availability Zone (AZ) unavailability.

                                                          • * SINGLE_AZ_1 - A file system configured for Single-AZ + * redundancy.

                                                          • SINGLE_AZ_2 - A file system + * configured with multiple high-availability (HA) pairs for Single-AZ * redundancy.

                                                          For information about the use cases for Multi-AZ * and Single-AZ deployments, refer to Choosing @@ -150,6 +160,8 @@ namespace Model * availability file system configured for Multi-AZ redundancy to tolerate * temporary Availability Zone (AZ) unavailability.

                                                        • * SINGLE_AZ_1 - A file system configured for Single-AZ + * redundancy.

                                                        • SINGLE_AZ_2 - A file system + * configured with multiple high-availability (HA) pairs for Single-AZ * redundancy.

                                                        For information about the use cases for Multi-AZ * and Single-AZ deployments, refer to Choosing @@ -483,26 +495,58 @@ namespace Model /** - *

                                                        Sets the throughput capacity for the file system that you're creating. Valid - * values are 128, 256, 512, 1024, 2048, and 4096 MBps.

                                                        + *

                                                        Sets the throughput capacity for the file system that you're creating in + * megabytes per second (MBps). For more information, see Managing + * throughput capacity in the FSx for ONTAP User Guide.

                                                        Amazon FSx + * responds with an HTTP status code 400 (Bad Request) for the following + * conditions:

                                                        • The value of ThroughputCapacity and + * ThroughputCapacityPerHAPair are not the same value.

                                                        • + *

                                                          The value of ThroughputCapacity when divided by the value of + * HAPairs is outside of the valid range for + * ThroughputCapacity.

                                                        */ inline int GetThroughputCapacity() const{ return m_throughputCapacity; } /** - *

                                                        Sets the throughput capacity for the file system that you're creating. Valid - * values are 128, 256, 512, 1024, 2048, and 4096 MBps.

                                                        + *

                                                        Sets the throughput capacity for the file system that you're creating in + * megabytes per second (MBps). For more information, see Managing + * throughput capacity in the FSx for ONTAP User Guide.

                                                        Amazon FSx + * responds with an HTTP status code 400 (Bad Request) for the following + * conditions:

                                                        • The value of ThroughputCapacity and + * ThroughputCapacityPerHAPair are not the same value.

                                                        • + *

                                                          The value of ThroughputCapacity when divided by the value of + * HAPairs is outside of the valid range for + * ThroughputCapacity.

                                                        */ inline bool ThroughputCapacityHasBeenSet() const { return m_throughputCapacityHasBeenSet; } /** - *

                                                        Sets the throughput capacity for the file system that you're creating. Valid - * values are 128, 256, 512, 1024, 2048, and 4096 MBps.

                                                        + *

                                                        Sets the throughput capacity for the file system that you're creating in + * megabytes per second (MBps). For more information, see Managing + * throughput capacity in the FSx for ONTAP User Guide.

                                                        Amazon FSx + * responds with an HTTP status code 400 (Bad Request) for the following + * conditions:

                                                        • The value of ThroughputCapacity and + * ThroughputCapacityPerHAPair are not the same value.

                                                        • + *

                                                          The value of ThroughputCapacity when divided by the value of + * HAPairs is outside of the valid range for + * ThroughputCapacity.

                                                        */ inline void SetThroughputCapacity(int value) { m_throughputCapacityHasBeenSet = true; m_throughputCapacity = value; } /** - *

                                                        Sets the throughput capacity for the file system that you're creating. Valid - * values are 128, 256, 512, 1024, 2048, and 4096 MBps.

                                                        + *

                                                        Sets the throughput capacity for the file system that you're creating in + * megabytes per second (MBps). For more information, see Managing + * throughput capacity in the FSx for ONTAP User Guide.

                                                        Amazon FSx + * responds with an HTTP status code 400 (Bad Request) for the following + * conditions:

                                                        • The value of ThroughputCapacity and + * ThroughputCapacityPerHAPair are not the same value.

                                                        • + *

                                                          The value of ThroughputCapacity when divided by the value of + * HAPairs is outside of the valid range for + * ThroughputCapacity.

                                                        */ inline CreateFileSystemOntapConfiguration& WithThroughputCapacity(int value) { SetThroughputCapacity(value); return *this;} @@ -531,6 +575,132 @@ namespace Model inline CreateFileSystemOntapConfiguration& WithWeeklyMaintenanceStartTime(const char* value) { SetWeeklyMaintenanceStartTime(value); return *this;} + + /** + *

                                                        Specifies how many high-availability (HA) pairs the file system will have. + * The default value is 1. The value of this property affects the values of + * StorageCapacity, Iops, and + * ThroughputCapacity. For more information, see High-availability + * (HA) pairs in the FSx for ONTAP user guide.

                                                        Amazon FSx responds with + * an HTTP status code 400 (Bad Request) for the following conditions:

                                                          + *
                                                        • The value of HAPairs is less than 1 or greater than 6.

                                                          + *
                                                        • The value of HAPairs is greater than 1 and the value + * of DeploymentType is SINGLE_AZ_1 or + * MULTI_AZ_1.

                                                        + */ + inline int GetHAPairs() const{ return m_hAPairs; } + + /** + *

                                                        Specifies how many high-availability (HA) pairs the file system will have. + * The default value is 1. The value of this property affects the values of + * StorageCapacity, Iops, and + * ThroughputCapacity. For more information, see High-availability + * (HA) pairs in the FSx for ONTAP user guide.

                                                        Amazon FSx responds with + * an HTTP status code 400 (Bad Request) for the following conditions:

                                                          + *
                                                        • The value of HAPairs is less than 1 or greater than 6.

                                                          + *
                                                        • The value of HAPairs is greater than 1 and the value + * of DeploymentType is SINGLE_AZ_1 or + * MULTI_AZ_1.

                                                        + */ + inline bool HAPairsHasBeenSet() const { return m_hAPairsHasBeenSet; } + + /** + *

                                                        Specifies how many high-availability (HA) pairs the file system will have. + * The default value is 1. The value of this property affects the values of + * StorageCapacity, Iops, and + * ThroughputCapacity. For more information, see High-availability + * (HA) pairs in the FSx for ONTAP user guide.

                                                        Amazon FSx responds with + * an HTTP status code 400 (Bad Request) for the following conditions:

                                                          + *
                                                        • The value of HAPairs is less than 1 or greater than 6.

                                                          + *
                                                        • The value of HAPairs is greater than 1 and the value + * of DeploymentType is SINGLE_AZ_1 or + * MULTI_AZ_1.

                                                        + */ + inline void SetHAPairs(int value) { m_hAPairsHasBeenSet = true; m_hAPairs = value; } + + /** + *

                                                        Specifies how many high-availability (HA) pairs the file system will have. + * The default value is 1. The value of this property affects the values of + * StorageCapacity, Iops, and + * ThroughputCapacity. For more information, see High-availability + * (HA) pairs in the FSx for ONTAP user guide.

                                                        Amazon FSx responds with + * an HTTP status code 400 (Bad Request) for the following conditions:

                                                          + *
                                                        • The value of HAPairs is less than 1 or greater than 6.

                                                          + *
                                                        • The value of HAPairs is greater than 1 and the value + * of DeploymentType is SINGLE_AZ_1 or + * MULTI_AZ_1.

                                                        + */ + inline CreateFileSystemOntapConfiguration& WithHAPairs(int value) { SetHAPairs(value); return *this;} + + + /** + *

                                                        Use to choose the throughput capacity per HA pair, rather than the total + * throughput for the file system.

                                                        This field and + * ThroughputCapacity cannot be defined in the same API call, but one + * is required.

                                                        This field and ThroughputCapacity are the same + * for file systems with one HA pair.

                                                        • For SINGLE_AZ_1 + * and MULTI_AZ_1, valid values are 128, 256, 512, 1024, 2048, or 4096 + * MBps.

                                                        • For SINGLE_AZ_2, valid values are 3072 or + * 6144 MBps.

                                                        Amazon FSx responds with an HTTP status code 400 + * (Bad Request) for the following conditions:

                                                        • The value of + * ThroughputCapacity and ThroughputCapacityPerHAPair are + * not the same value

                                                        • The value of + * ThroughputCapacityPerHAPair is not a valid value.

                                                        + */ + inline int GetThroughputCapacityPerHAPair() const{ return m_throughputCapacityPerHAPair; } + + /** + *

                                                        Use to choose the throughput capacity per HA pair, rather than the total + * throughput for the file system.

                                                        This field and + * ThroughputCapacity cannot be defined in the same API call, but one + * is required.

                                                        This field and ThroughputCapacity are the same + * for file systems with one HA pair.

                                                        • For SINGLE_AZ_1 + * and MULTI_AZ_1, valid values are 128, 256, 512, 1024, 2048, or 4096 + * MBps.

                                                        • For SINGLE_AZ_2, valid values are 3072 or + * 6144 MBps.

                                                        Amazon FSx responds with an HTTP status code 400 + * (Bad Request) for the following conditions:

                                                        • The value of + * ThroughputCapacity and ThroughputCapacityPerHAPair are + * not the same value

                                                        • The value of + * ThroughputCapacityPerHAPair is not a valid value.

                                                        + */ + inline bool ThroughputCapacityPerHAPairHasBeenSet() const { return m_throughputCapacityPerHAPairHasBeenSet; } + + /** + *

                                                        Use to choose the throughput capacity per HA pair, rather than the total + * throughput for the file system.

                                                        This field and + * ThroughputCapacity cannot be defined in the same API call, but one + * is required.

                                                        This field and ThroughputCapacity are the same + * for file systems with one HA pair.

                                                        • For SINGLE_AZ_1 + * and MULTI_AZ_1, valid values are 128, 256, 512, 1024, 2048, or 4096 + * MBps.

                                                        • For SINGLE_AZ_2, valid values are 3072 or + * 6144 MBps.

                                                        Amazon FSx responds with an HTTP status code 400 + * (Bad Request) for the following conditions:

                                                        • The value of + * ThroughputCapacity and ThroughputCapacityPerHAPair are + * not the same value

                                                        • The value of + * ThroughputCapacityPerHAPair is not a valid value.

                                                        + */ + inline void SetThroughputCapacityPerHAPair(int value) { m_throughputCapacityPerHAPairHasBeenSet = true; m_throughputCapacityPerHAPair = value; } + + /** + *

                                                        Use to choose the throughput capacity per HA pair, rather than the total + * throughput for the file system.

                                                        This field and + * ThroughputCapacity cannot be defined in the same API call, but one + * is required.

                                                        This field and ThroughputCapacity are the same + * for file systems with one HA pair.

                                                        • For SINGLE_AZ_1 + * and MULTI_AZ_1, valid values are 128, 256, 512, 1024, 2048, or 4096 + * MBps.

                                                        • For SINGLE_AZ_2, valid values are 3072 or + * 6144 MBps.

                                                        Amazon FSx responds with an HTTP status code 400 + * (Bad Request) for the following conditions:

                                                        • The value of + * ThroughputCapacity and ThroughputCapacityPerHAPair are + * not the same value

                                                        • The value of + * ThroughputCapacityPerHAPair is not a valid value.

                                                        + */ + inline CreateFileSystemOntapConfiguration& WithThroughputCapacityPerHAPair(int value) { SetThroughputCapacityPerHAPair(value); return *this;} + private: int m_automaticBackupRetentionDays; @@ -562,6 +732,12 @@ namespace Model Aws::String m_weeklyMaintenanceStartTime; bool m_weeklyMaintenanceStartTimeHasBeenSet = false; + + int m_hAPairs; + bool m_hAPairsHasBeenSet = false; + + int m_throughputCapacityPerHAPair; + bool m_throughputCapacityPerHAPairHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/CreateFileSystemRequest.h b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/CreateFileSystemRequest.h index 5c97e06b912..ec2a64818e7 100644 --- a/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/CreateFileSystemRequest.h +++ b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/CreateFileSystemRequest.h @@ -160,14 +160,15 @@ namespace Model * systems.

                                                      • For SCRATCH_1 deployment type, valid * values are 1200 GiB, 2400 GiB, and increments of 3600 GiB.

                                                      * FSx for ONTAP file systems - The amount of storage capacity that you can - * configure is from 1024 GiB up to 196,608 GiB (192 TiB).

                                                      FSx for - * OpenZFS file systems - The amount of storage capacity that you can configure - * is from 64 GiB up to 524,288 GiB (512 TiB).

                                                      FSx for Windows File - * Server file systems - The amount of storage capacity that you can configure - * depends on the value that you set for StorageType as follows:

                                                      - *
                                                      • For SSD storage, valid values are 32 GiB-65,536 GiB (64 TiB).

                                                        - *
                                                      • For HDD storage, valid values are 2000 GiB-65,536 GiB (64 - * TiB).

                                                      + * configure depends on the value of the HAPairs property. The minimum + * value is calculated as 1,024 * HAPairs and the maxium is calculated + * as 524,288 * HAPairs..

                                                      FSx for OpenZFS file systems + * - The amount of storage capacity that you can configure is from 64 GiB up to + * 524,288 GiB (512 TiB).

                                                      FSx for Windows File Server file systems - + * The amount of storage capacity that you can configure depends on the value that + * you set for StorageType as follows:

                                                      • For SSD + * storage, valid values are 32 GiB-65,536 GiB (64 TiB).

                                                      • For HDD + * storage, valid values are 2000 GiB-65,536 GiB (64 TiB).

                                                      */ inline int GetStorageCapacity() const{ return m_storageCapacity; } @@ -184,14 +185,15 @@ namespace Model * systems.

                                                    • For SCRATCH_1 deployment type, valid * values are 1200 GiB, 2400 GiB, and increments of 3600 GiB.

                                                    * FSx for ONTAP file systems - The amount of storage capacity that you can - * configure is from 1024 GiB up to 196,608 GiB (192 TiB).

                                                    FSx for - * OpenZFS file systems - The amount of storage capacity that you can configure - * is from 64 GiB up to 524,288 GiB (512 TiB).

                                                    FSx for Windows File - * Server file systems - The amount of storage capacity that you can configure - * depends on the value that you set for StorageType as follows:

                                                    - *
                                                    • For SSD storage, valid values are 32 GiB-65,536 GiB (64 TiB).

                                                      - *
                                                    • For HDD storage, valid values are 2000 GiB-65,536 GiB (64 - * TiB).

                                                    + * configure depends on the value of the HAPairs property. The minimum + * value is calculated as 1,024 * HAPairs and the maxium is calculated + * as 524,288 * HAPairs..

                                                    FSx for OpenZFS file systems + * - The amount of storage capacity that you can configure is from 64 GiB up to + * 524,288 GiB (512 TiB).

                                                    FSx for Windows File Server file systems - + * The amount of storage capacity that you can configure depends on the value that + * you set for StorageType as follows:

                                                    • For SSD + * storage, valid values are 32 GiB-65,536 GiB (64 TiB).

                                                    • For HDD + * storage, valid values are 2000 GiB-65,536 GiB (64 TiB).

                                                    */ inline bool StorageCapacityHasBeenSet() const { return m_storageCapacityHasBeenSet; } @@ -208,14 +210,15 @@ namespace Model * systems.

                                                  • For SCRATCH_1 deployment type, valid * values are 1200 GiB, 2400 GiB, and increments of 3600 GiB.

                                                  * FSx for ONTAP file systems - The amount of storage capacity that you can - * configure is from 1024 GiB up to 196,608 GiB (192 TiB).

                                                  FSx for - * OpenZFS file systems - The amount of storage capacity that you can configure - * is from 64 GiB up to 524,288 GiB (512 TiB).

                                                  FSx for Windows File - * Server file systems - The amount of storage capacity that you can configure - * depends on the value that you set for StorageType as follows:

                                                  - *
                                                  • For SSD storage, valid values are 32 GiB-65,536 GiB (64 TiB).

                                                    - *
                                                  • For HDD storage, valid values are 2000 GiB-65,536 GiB (64 - * TiB).

                                                  + * configure depends on the value of the HAPairs property. The minimum + * value is calculated as 1,024 * HAPairs and the maxium is calculated + * as 524,288 * HAPairs..

                                                  FSx for OpenZFS file systems + * - The amount of storage capacity that you can configure is from 64 GiB up to + * 524,288 GiB (512 TiB).

                                                  FSx for Windows File Server file systems - + * The amount of storage capacity that you can configure depends on the value that + * you set for StorageType as follows:

                                                  • For SSD + * storage, valid values are 32 GiB-65,536 GiB (64 TiB).

                                                  • For HDD + * storage, valid values are 2000 GiB-65,536 GiB (64 TiB).

                                                  */ inline void SetStorageCapacity(int value) { m_storageCapacityHasBeenSet = true; m_storageCapacity = value; } @@ -232,14 +235,15 @@ namespace Model * systems.

                                                • For SCRATCH_1 deployment type, valid * values are 1200 GiB, 2400 GiB, and increments of 3600 GiB.

                                                * FSx for ONTAP file systems - The amount of storage capacity that you can - * configure is from 1024 GiB up to 196,608 GiB (192 TiB).

                                                FSx for - * OpenZFS file systems - The amount of storage capacity that you can configure - * is from 64 GiB up to 524,288 GiB (512 TiB).

                                                FSx for Windows File - * Server file systems - The amount of storage capacity that you can configure - * depends on the value that you set for StorageType as follows:

                                                - *
                                                • For SSD storage, valid values are 32 GiB-65,536 GiB (64 TiB).

                                                  - *
                                                • For HDD storage, valid values are 2000 GiB-65,536 GiB (64 - * TiB).

                                                + * configure depends on the value of the HAPairs property. The minimum + * value is calculated as 1,024 * HAPairs and the maxium is calculated + * as 524,288 * HAPairs..

                                                FSx for OpenZFS file systems + * - The amount of storage capacity that you can configure is from 64 GiB up to + * 524,288 GiB (512 TiB).

                                                FSx for Windows File Server file systems - + * The amount of storage capacity that you can configure depends on the value that + * you set for StorageType as follows:

                                                • For SSD + * storage, valid values are 32 GiB-65,536 GiB (64 TiB).

                                                • For HDD + * storage, valid values are 2000 GiB-65,536 GiB (64 TiB).

                                                */ inline CreateFileSystemRequest& WithStorageCapacity(int value) { SetStorageCapacity(value); return *this;} diff --git a/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/CreateOntapVolumeConfiguration.h b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/CreateOntapVolumeConfiguration.h index 98559cba6f8..4b443411a44 100644 --- a/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/CreateOntapVolumeConfiguration.h +++ b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/CreateOntapVolumeConfiguration.h @@ -10,6 +10,8 @@ #include #include #include +#include +#include #include namespace Aws @@ -214,31 +216,6 @@ namespace Model inline CreateOntapVolumeConfiguration& WithSecurityStyle(SecurityStyle&& value) { SetSecurityStyle(std::move(value)); return *this;} - /** - *

                                                Specifies the size of the volume, in megabytes (MB), that you are - * creating.

                                                - */ - inline int GetSizeInMegabytes() const{ return m_sizeInMegabytes; } - - /** - *

                                                Specifies the size of the volume, in megabytes (MB), that you are - * creating.

                                                - */ - inline bool SizeInMegabytesHasBeenSet() const { return m_sizeInMegabytesHasBeenSet; } - - /** - *

                                                Specifies the size of the volume, in megabytes (MB), that you are - * creating.

                                                - */ - inline void SetSizeInMegabytes(int value) { m_sizeInMegabytesHasBeenSet = true; m_sizeInMegabytes = value; } - - /** - *

                                                Specifies the size of the volume, in megabytes (MB), that you are - * creating.

                                                - */ - inline CreateOntapVolumeConfiguration& WithSizeInMegabytes(int value) { SetSizeInMegabytes(value); return *this;} - - /** *

                                                Set to true to enable deduplication, compression, and compaction storage * efficiency features on the volume, or set to false to disable them. This @@ -621,6 +598,113 @@ namespace Model */ inline CreateOntapVolumeConfiguration& WithSnaplockConfiguration(CreateSnaplockConfiguration&& value) { SetSnaplockConfiguration(std::move(value)); return *this;} + + /** + *

                                                Use to specify the style of an ONTAP volume. For more information about + * FlexVols and FlexGroups, see Volume + * types in Amazon FSx for NetApp ONTAP User Guide.

                                                + */ + inline const VolumeStyle& GetVolumeStyle() const{ return m_volumeStyle; } + + /** + *

                                                Use to specify the style of an ONTAP volume. For more information about + * FlexVols and FlexGroups, see Volume + * types in Amazon FSx for NetApp ONTAP User Guide.

                                                + */ + inline bool VolumeStyleHasBeenSet() const { return m_volumeStyleHasBeenSet; } + + /** + *

                                                Use to specify the style of an ONTAP volume. For more information about + * FlexVols and FlexGroups, see Volume + * types in Amazon FSx for NetApp ONTAP User Guide.

                                                + */ + inline void SetVolumeStyle(const VolumeStyle& value) { m_volumeStyleHasBeenSet = true; m_volumeStyle = value; } + + /** + *

                                                Use to specify the style of an ONTAP volume. For more information about + * FlexVols and FlexGroups, see Volume + * types in Amazon FSx for NetApp ONTAP User Guide.

                                                + */ + inline void SetVolumeStyle(VolumeStyle&& value) { m_volumeStyleHasBeenSet = true; m_volumeStyle = std::move(value); } + + /** + *

                                                Use to specify the style of an ONTAP volume. For more information about + * FlexVols and FlexGroups, see Volume + * types in Amazon FSx for NetApp ONTAP User Guide.

                                                + */ + inline CreateOntapVolumeConfiguration& WithVolumeStyle(const VolumeStyle& value) { SetVolumeStyle(value); return *this;} + + /** + *

                                                Use to specify the style of an ONTAP volume. For more information about + * FlexVols and FlexGroups, see Volume + * types in Amazon FSx for NetApp ONTAP User Guide.

                                                + */ + inline CreateOntapVolumeConfiguration& WithVolumeStyle(VolumeStyle&& value) { SetVolumeStyle(std::move(value)); return *this;} + + + /** + *

                                                Use to specify configuration options for a volume’s storage aggregate or + * aggregates.

                                                + */ + inline const CreateAggregateConfiguration& GetAggregateConfiguration() const{ return m_aggregateConfiguration; } + + /** + *

                                                Use to specify configuration options for a volume’s storage aggregate or + * aggregates.

                                                + */ + inline bool AggregateConfigurationHasBeenSet() const { return m_aggregateConfigurationHasBeenSet; } + + /** + *

                                                Use to specify configuration options for a volume’s storage aggregate or + * aggregates.

                                                + */ + inline void SetAggregateConfiguration(const CreateAggregateConfiguration& value) { m_aggregateConfigurationHasBeenSet = true; m_aggregateConfiguration = value; } + + /** + *

                                                Use to specify configuration options for a volume’s storage aggregate or + * aggregates.

                                                + */ + inline void SetAggregateConfiguration(CreateAggregateConfiguration&& value) { m_aggregateConfigurationHasBeenSet = true; m_aggregateConfiguration = std::move(value); } + + /** + *

                                                Use to specify configuration options for a volume’s storage aggregate or + * aggregates.

                                                + */ + inline CreateOntapVolumeConfiguration& WithAggregateConfiguration(const CreateAggregateConfiguration& value) { SetAggregateConfiguration(value); return *this;} + + /** + *

                                                Use to specify configuration options for a volume’s storage aggregate or + * aggregates.

                                                + */ + inline CreateOntapVolumeConfiguration& WithAggregateConfiguration(CreateAggregateConfiguration&& value) { SetAggregateConfiguration(std::move(value)); return *this;} + + + /** + *

                                                The configured size of the volume, in bytes.

                                                + */ + inline long long GetSizeInBytes() const{ return m_sizeInBytes; } + + /** + *

                                                The configured size of the volume, in bytes.

                                                + */ + inline bool SizeInBytesHasBeenSet() const { return m_sizeInBytesHasBeenSet; } + + /** + *

                                                The configured size of the volume, in bytes.

                                                + */ + inline void SetSizeInBytes(long long value) { m_sizeInBytesHasBeenSet = true; m_sizeInBytes = value; } + + /** + *

                                                The configured size of the volume, in bytes.

                                                + */ + inline CreateOntapVolumeConfiguration& WithSizeInBytes(long long value) { SetSizeInBytes(value); return *this;} + private: Aws::String m_junctionPath; @@ -629,9 +713,6 @@ namespace Model SecurityStyle m_securityStyle; bool m_securityStyleHasBeenSet = false; - int m_sizeInMegabytes; - bool m_sizeInMegabytesHasBeenSet = false; - bool m_storageEfficiencyEnabled; bool m_storageEfficiencyEnabledHasBeenSet = false; @@ -652,6 +733,15 @@ namespace Model CreateSnaplockConfiguration m_snaplockConfiguration; bool m_snaplockConfigurationHasBeenSet = false; + + VolumeStyle m_volumeStyle; + bool m_volumeStyleHasBeenSet = false; + + CreateAggregateConfiguration m_aggregateConfiguration; + bool m_aggregateConfigurationHasBeenSet = false; + + long long m_sizeInBytes; + bool m_sizeInBytesHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/CreateOpenZFSOriginSnapshotConfiguration.h b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/CreateOpenZFSOriginSnapshotConfiguration.h index 86f6d748e65..355dd5790cb 100644 --- a/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/CreateOpenZFSOriginSnapshotConfiguration.h +++ b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/CreateOpenZFSOriginSnapshotConfiguration.h @@ -25,8 +25,8 @@ namespace Model { /** - *

                                                The snapshot configuration to use when creating an OpenZFS volume from a - * snapshot.

                                                See Also:

                                                The snapshot configuration to use when creating an Amazon FSx for OpenZFS + * volume from a snapshot.

                                                See Also:

                                                AWS * API Reference

                                                */ @@ -65,68 +65,104 @@ namespace Model /** - *

                                                The strategy used when copying data from the snapshot to the new volume.

                                                - *
                                                • CLONE - The new volume references the data in the - * origin snapshot. Cloning a snapshot is faster than copying data from the - * snapshot to a new volume and doesn't consume disk throughput. However, the - * origin snapshot can't be deleted if there is a volume using its copied data. - *

                                                • FULL_COPY - Copies all data from the snapshot - * to the new volume.

                                                + *

                                                Specifies the strategy used when copying data from the snapshot to the new + * volume.

                                                • CLONE - The new volume references the + * data in the origin snapshot. Cloning a snapshot is faster than copying data from + * the snapshot to a new volume and doesn't consume disk throughput. However, the + * origin snapshot can't be deleted if there is a volume using its copied data.

                                                  + *
                                                • FULL_COPY - Copies all data from the snapshot to the + * new volume.

                                                  Specify this option to create the volume from a snapshot on + * another FSx for OpenZFS file system.

                                                The + * INCREMENTAL_COPY option is only for updating an existing volume by + * using a snapshot from another FSx for OpenZFS file system. For more information, + * see CopySnapshotAndUpdateVolume.

                                                + * */ inline const OpenZFSCopyStrategy& GetCopyStrategy() const{ return m_copyStrategy; } /** - *

                                                The strategy used when copying data from the snapshot to the new volume.

                                                - *
                                                • CLONE - The new volume references the data in the - * origin snapshot. Cloning a snapshot is faster than copying data from the - * snapshot to a new volume and doesn't consume disk throughput. However, the - * origin snapshot can't be deleted if there is a volume using its copied data. - *

                                                • FULL_COPY - Copies all data from the snapshot - * to the new volume.

                                                + *

                                                Specifies the strategy used when copying data from the snapshot to the new + * volume.

                                                • CLONE - The new volume references the + * data in the origin snapshot. Cloning a snapshot is faster than copying data from + * the snapshot to a new volume and doesn't consume disk throughput. However, the + * origin snapshot can't be deleted if there is a volume using its copied data.

                                                  + *
                                                • FULL_COPY - Copies all data from the snapshot to the + * new volume.

                                                  Specify this option to create the volume from a snapshot on + * another FSx for OpenZFS file system.

                                                The + * INCREMENTAL_COPY option is only for updating an existing volume by + * using a snapshot from another FSx for OpenZFS file system. For more information, + * see CopySnapshotAndUpdateVolume.

                                                + * */ inline bool CopyStrategyHasBeenSet() const { return m_copyStrategyHasBeenSet; } /** - *

                                                The strategy used when copying data from the snapshot to the new volume.

                                                - *
                                                • CLONE - The new volume references the data in the - * origin snapshot. Cloning a snapshot is faster than copying data from the - * snapshot to a new volume and doesn't consume disk throughput. However, the - * origin snapshot can't be deleted if there is a volume using its copied data. - *

                                                • FULL_COPY - Copies all data from the snapshot - * to the new volume.

                                                + *

                                                Specifies the strategy used when copying data from the snapshot to the new + * volume.

                                                • CLONE - The new volume references the + * data in the origin snapshot. Cloning a snapshot is faster than copying data from + * the snapshot to a new volume and doesn't consume disk throughput. However, the + * origin snapshot can't be deleted if there is a volume using its copied data.

                                                  + *
                                                • FULL_COPY - Copies all data from the snapshot to the + * new volume.

                                                  Specify this option to create the volume from a snapshot on + * another FSx for OpenZFS file system.

                                                The + * INCREMENTAL_COPY option is only for updating an existing volume by + * using a snapshot from another FSx for OpenZFS file system. For more information, + * see CopySnapshotAndUpdateVolume.

                                                + * */ inline void SetCopyStrategy(const OpenZFSCopyStrategy& value) { m_copyStrategyHasBeenSet = true; m_copyStrategy = value; } /** - *

                                                The strategy used when copying data from the snapshot to the new volume.

                                                - *
                                                • CLONE - The new volume references the data in the - * origin snapshot. Cloning a snapshot is faster than copying data from the - * snapshot to a new volume and doesn't consume disk throughput. However, the - * origin snapshot can't be deleted if there is a volume using its copied data. - *

                                                • FULL_COPY - Copies all data from the snapshot - * to the new volume.

                                                + *

                                                Specifies the strategy used when copying data from the snapshot to the new + * volume.

                                                • CLONE - The new volume references the + * data in the origin snapshot. Cloning a snapshot is faster than copying data from + * the snapshot to a new volume and doesn't consume disk throughput. However, the + * origin snapshot can't be deleted if there is a volume using its copied data.

                                                  + *
                                                • FULL_COPY - Copies all data from the snapshot to the + * new volume.

                                                  Specify this option to create the volume from a snapshot on + * another FSx for OpenZFS file system.

                                                The + * INCREMENTAL_COPY option is only for updating an existing volume by + * using a snapshot from another FSx for OpenZFS file system. For more information, + * see CopySnapshotAndUpdateVolume.

                                                + * */ inline void SetCopyStrategy(OpenZFSCopyStrategy&& value) { m_copyStrategyHasBeenSet = true; m_copyStrategy = std::move(value); } /** - *

                                                The strategy used when copying data from the snapshot to the new volume.

                                                - *
                                                • CLONE - The new volume references the data in the - * origin snapshot. Cloning a snapshot is faster than copying data from the - * snapshot to a new volume and doesn't consume disk throughput. However, the - * origin snapshot can't be deleted if there is a volume using its copied data. - *

                                                • FULL_COPY - Copies all data from the snapshot - * to the new volume.

                                                + *

                                                Specifies the strategy used when copying data from the snapshot to the new + * volume.

                                                • CLONE - The new volume references the + * data in the origin snapshot. Cloning a snapshot is faster than copying data from + * the snapshot to a new volume and doesn't consume disk throughput. However, the + * origin snapshot can't be deleted if there is a volume using its copied data.

                                                  + *
                                                • FULL_COPY - Copies all data from the snapshot to the + * new volume.

                                                  Specify this option to create the volume from a snapshot on + * another FSx for OpenZFS file system.

                                                The + * INCREMENTAL_COPY option is only for updating an existing volume by + * using a snapshot from another FSx for OpenZFS file system. For more information, + * see CopySnapshotAndUpdateVolume.

                                                + * */ inline CreateOpenZFSOriginSnapshotConfiguration& WithCopyStrategy(const OpenZFSCopyStrategy& value) { SetCopyStrategy(value); return *this;} /** - *

                                                The strategy used when copying data from the snapshot to the new volume.

                                                - *
                                                • CLONE - The new volume references the data in the - * origin snapshot. Cloning a snapshot is faster than copying data from the - * snapshot to a new volume and doesn't consume disk throughput. However, the - * origin snapshot can't be deleted if there is a volume using its copied data. - *

                                                • FULL_COPY - Copies all data from the snapshot - * to the new volume.

                                                + *

                                                Specifies the strategy used when copying data from the snapshot to the new + * volume.

                                                • CLONE - The new volume references the + * data in the origin snapshot. Cloning a snapshot is faster than copying data from + * the snapshot to a new volume and doesn't consume disk throughput. However, the + * origin snapshot can't be deleted if there is a volume using its copied data.

                                                  + *
                                                • FULL_COPY - Copies all data from the snapshot to the + * new volume.

                                                  Specify this option to create the volume from a snapshot on + * another FSx for OpenZFS file system.

                                                The + * INCREMENTAL_COPY option is only for updating an existing volume by + * using a snapshot from another FSx for OpenZFS file system. For more information, + * see CopySnapshotAndUpdateVolume.

                                                + * */ inline CreateOpenZFSOriginSnapshotConfiguration& WithCopyStrategy(OpenZFSCopyStrategy&& value) { SetCopyStrategy(std::move(value)); return *this;} diff --git a/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/DescribeSharedVpcConfigurationRequest.h b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/DescribeSharedVpcConfigurationRequest.h new file mode 100644 index 00000000000..7ec1896e760 --- /dev/null +++ b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/DescribeSharedVpcConfigurationRequest.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 FSx +{ +namespace Model +{ + + /** + */ + class DescribeSharedVpcConfigurationRequest : public FSxRequest + { + public: + AWS_FSX_API DescribeSharedVpcConfigurationRequest(); + + // 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 "DescribeSharedVpcConfiguration"; } + + AWS_FSX_API Aws::String SerializePayload() const override; + + AWS_FSX_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + }; + +} // namespace Model +} // namespace FSx +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/DescribeSharedVpcConfigurationResult.h b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/DescribeSharedVpcConfigurationResult.h new file mode 100644 index 00000000000..704103ac916 --- /dev/null +++ b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/DescribeSharedVpcConfigurationResult.h @@ -0,0 +1,108 @@ +/** + * 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 FSx +{ +namespace Model +{ + class DescribeSharedVpcConfigurationResult + { + public: + AWS_FSX_API DescribeSharedVpcConfigurationResult(); + AWS_FSX_API DescribeSharedVpcConfigurationResult(const Aws::AmazonWebServiceResult& result); + AWS_FSX_API DescribeSharedVpcConfigurationResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

                                                Indicates whether participant accounts can create FSx for ONTAP Multi-AZ file + * systems in shared subnets.

                                                + */ + inline const Aws::String& GetEnableFsxRouteTableUpdatesFromParticipantAccounts() const{ return m_enableFsxRouteTableUpdatesFromParticipantAccounts; } + + /** + *

                                                Indicates whether participant accounts can create FSx for ONTAP Multi-AZ file + * systems in shared subnets.

                                                + */ + inline void SetEnableFsxRouteTableUpdatesFromParticipantAccounts(const Aws::String& value) { m_enableFsxRouteTableUpdatesFromParticipantAccounts = value; } + + /** + *

                                                Indicates whether participant accounts can create FSx for ONTAP Multi-AZ file + * systems in shared subnets.

                                                + */ + inline void SetEnableFsxRouteTableUpdatesFromParticipantAccounts(Aws::String&& value) { m_enableFsxRouteTableUpdatesFromParticipantAccounts = std::move(value); } + + /** + *

                                                Indicates whether participant accounts can create FSx for ONTAP Multi-AZ file + * systems in shared subnets.

                                                + */ + inline void SetEnableFsxRouteTableUpdatesFromParticipantAccounts(const char* value) { m_enableFsxRouteTableUpdatesFromParticipantAccounts.assign(value); } + + /** + *

                                                Indicates whether participant accounts can create FSx for ONTAP Multi-AZ file + * systems in shared subnets.

                                                + */ + inline DescribeSharedVpcConfigurationResult& WithEnableFsxRouteTableUpdatesFromParticipantAccounts(const Aws::String& value) { SetEnableFsxRouteTableUpdatesFromParticipantAccounts(value); return *this;} + + /** + *

                                                Indicates whether participant accounts can create FSx for ONTAP Multi-AZ file + * systems in shared subnets.

                                                + */ + inline DescribeSharedVpcConfigurationResult& WithEnableFsxRouteTableUpdatesFromParticipantAccounts(Aws::String&& value) { SetEnableFsxRouteTableUpdatesFromParticipantAccounts(std::move(value)); return *this;} + + /** + *

                                                Indicates whether participant accounts can create FSx for ONTAP Multi-AZ file + * systems in shared subnets.

                                                + */ + inline DescribeSharedVpcConfigurationResult& WithEnableFsxRouteTableUpdatesFromParticipantAccounts(const char* value) { SetEnableFsxRouteTableUpdatesFromParticipantAccounts(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 DescribeSharedVpcConfigurationResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline DescribeSharedVpcConfigurationResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline DescribeSharedVpcConfigurationResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::String m_enableFsxRouteTableUpdatesFromParticipantAccounts; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace FSx +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/DiskIopsConfiguration.h b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/DiskIopsConfiguration.h index 997828ba17c..8dee26d1938 100644 --- a/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/DiskIopsConfiguration.h +++ b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/DiskIopsConfiguration.h @@ -87,22 +87,50 @@ namespace Model /** - *

                                                The total number of SSD IOPS provisioned for the file system.

                                                + *

                                                The total number of SSD IOPS provisioned for the file system.

                                                The + * minimum and maximum values for this property depend on the value of + * HAPairs and StorageCapacity. The minimum value is + * calculated as StorageCapacity * 3 * HAPairs (3 IOPS + * per GB of StorageCapacity). The maximum value is calculated as + * 200,000 * HAPairs.

                                                Amazon FSx responds with an HTTP status + * code 400 (Bad Request) if the value of Iops is outside of the + * minimum or maximum values.

                                                */ inline long long GetIops() const{ return m_iops; } /** - *

                                                The total number of SSD IOPS provisioned for the file system.

                                                + *

                                                The total number of SSD IOPS provisioned for the file system.

                                                The + * minimum and maximum values for this property depend on the value of + * HAPairs and StorageCapacity. The minimum value is + * calculated as StorageCapacity * 3 * HAPairs (3 IOPS + * per GB of StorageCapacity). The maximum value is calculated as + * 200,000 * HAPairs.

                                                Amazon FSx responds with an HTTP status + * code 400 (Bad Request) if the value of Iops is outside of the + * minimum or maximum values.

                                                */ inline bool IopsHasBeenSet() const { return m_iopsHasBeenSet; } /** - *

                                                The total number of SSD IOPS provisioned for the file system.

                                                + *

                                                The total number of SSD IOPS provisioned for the file system.

                                                The + * minimum and maximum values for this property depend on the value of + * HAPairs and StorageCapacity. The minimum value is + * calculated as StorageCapacity * 3 * HAPairs (3 IOPS + * per GB of StorageCapacity). The maximum value is calculated as + * 200,000 * HAPairs.

                                                Amazon FSx responds with an HTTP status + * code 400 (Bad Request) if the value of Iops is outside of the + * minimum or maximum values.

                                                */ inline void SetIops(long long value) { m_iopsHasBeenSet = true; m_iops = value; } /** - *

                                                The total number of SSD IOPS provisioned for the file system.

                                                + *

                                                The total number of SSD IOPS provisioned for the file system.

                                                The + * minimum and maximum values for this property depend on the value of + * HAPairs and StorageCapacity. The minimum value is + * calculated as StorageCapacity * 3 * HAPairs (3 IOPS + * per GB of StorageCapacity). The maximum value is calculated as + * 200,000 * HAPairs.

                                                Amazon FSx responds with an HTTP status + * code 400 (Bad Request) if the value of Iops is outside of the + * minimum or maximum values.

                                                */ inline DiskIopsConfiguration& WithIops(long long value) { SetIops(value); return *this;} diff --git a/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/FileSystem.h b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/FileSystem.h index a5fb6c8a9cf..e2243bbfc03 100644 --- a/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/FileSystem.h +++ b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/FileSystem.h @@ -351,22 +351,30 @@ namespace Model /** - *

                                                The storage capacity of the file system in gibibytes (GiB).

                                                + *

                                                The storage capacity of the file system in gibibytes (GiB).

                                                Amazon FSx + * responds with an HTTP status code 400 (Bad Request) if the value of + * StorageCapacity is outside of the minimum or maximum values.

                                                */ inline int GetStorageCapacity() const{ return m_storageCapacity; } /** - *

                                                The storage capacity of the file system in gibibytes (GiB).

                                                + *

                                                The storage capacity of the file system in gibibytes (GiB).

                                                Amazon FSx + * responds with an HTTP status code 400 (Bad Request) if the value of + * StorageCapacity is outside of the minimum or maximum values.

                                                */ inline bool StorageCapacityHasBeenSet() const { return m_storageCapacityHasBeenSet; } /** - *

                                                The storage capacity of the file system in gibibytes (GiB).

                                                + *

                                                The storage capacity of the file system in gibibytes (GiB).

                                                Amazon FSx + * responds with an HTTP status code 400 (Bad Request) if the value of + * StorageCapacity is outside of the minimum or maximum values.

                                                */ inline void SetStorageCapacity(int value) { m_storageCapacityHasBeenSet = true; m_storageCapacity = value; } /** - *

                                                The storage capacity of the file system in gibibytes (GiB).

                                                + *

                                                The storage capacity of the file system in gibibytes (GiB).

                                                Amazon FSx + * responds with an HTTP status code 400 (Bad Request) if the value of + * StorageCapacity is outside of the minimum or maximum values.

                                                */ inline FileSystem& WithStorageCapacity(int value) { SetStorageCapacity(value); return *this;} diff --git a/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/OntapDeploymentType.h b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/OntapDeploymentType.h index d777592e98f..7a933255a49 100644 --- a/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/OntapDeploymentType.h +++ b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/OntapDeploymentType.h @@ -17,7 +17,8 @@ namespace Model { NOT_SET, MULTI_AZ_1, - SINGLE_AZ_1 + SINGLE_AZ_1, + SINGLE_AZ_2 }; namespace OntapDeploymentTypeMapper diff --git a/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/OntapFileSystemConfiguration.h b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/OntapFileSystemConfiguration.h index 8294a1d6234..45fbcd355e1 100644 --- a/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/OntapFileSystemConfiguration.h +++ b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/OntapFileSystemConfiguration.h @@ -86,6 +86,8 @@ namespace Model * availability file system configured for Multi-AZ redundancy to tolerate * temporary Availability Zone (AZ) unavailability.

                                              • * SINGLE_AZ_1 - A file system configured for Single-AZ + * redundancy.

                                              • SINGLE_AZ_2 - A file system + * configured with multiple high-availability (HA) pairs for Single-AZ * redundancy.

                                              For information about the use cases for Multi-AZ * and Single-AZ deployments, refer to Choosing @@ -99,6 +101,8 @@ namespace Model * availability file system configured for Multi-AZ redundancy to tolerate * temporary Availability Zone (AZ) unavailability.

                                            • * SINGLE_AZ_1 - A file system configured for Single-AZ + * redundancy.

                                            • SINGLE_AZ_2 - A file system + * configured with multiple high-availability (HA) pairs for Single-AZ * redundancy.

                                            For information about the use cases for Multi-AZ * and Single-AZ deployments, refer to Choosing @@ -112,6 +116,8 @@ namespace Model * availability file system configured for Multi-AZ redundancy to tolerate * temporary Availability Zone (AZ) unavailability.

                                          • * SINGLE_AZ_1 - A file system configured for Single-AZ + * redundancy.

                                          • SINGLE_AZ_2 - A file system + * configured with multiple high-availability (HA) pairs for Single-AZ * redundancy.

                                          For information about the use cases for Multi-AZ * and Single-AZ deployments, refer to Choosing @@ -125,6 +131,8 @@ namespace Model * availability file system configured for Multi-AZ redundancy to tolerate * temporary Availability Zone (AZ) unavailability.

                                        • * SINGLE_AZ_1 - A file system configured for Single-AZ + * redundancy.

                                        • SINGLE_AZ_2 - A file system + * configured with multiple high-availability (HA) pairs for Single-AZ * redundancy.

                                        For information about the use cases for Multi-AZ * and Single-AZ deployments, refer to Choosing @@ -138,6 +146,8 @@ namespace Model * availability file system configured for Multi-AZ redundancy to tolerate * temporary Availability Zone (AZ) unavailability.

                                      • * SINGLE_AZ_1 - A file system configured for Single-AZ + * redundancy.

                                      • SINGLE_AZ_2 - A file system + * configured with multiple high-availability (HA) pairs for Single-AZ * redundancy.

                                      For information about the use cases for Multi-AZ * and Single-AZ deployments, refer to Choosing @@ -151,6 +161,8 @@ namespace Model * availability file system configured for Multi-AZ redundancy to tolerate * temporary Availability Zone (AZ) unavailability.

                                    • * SINGLE_AZ_1 - A file system configured for Single-AZ + * redundancy.

                                    • SINGLE_AZ_2 - A file system + * configured with multiple high-availability (HA) pairs for Single-AZ * redundancy.

                                    For information about the use cases for Multi-AZ * and Single-AZ deployments, refer to Choosing @@ -494,6 +506,152 @@ namespace Model */ inline OntapFileSystemConfiguration& WithFsxAdminPassword(const char* value) { SetFsxAdminPassword(value); return *this;} + + /** + *

                                    Specifies how many high-availability (HA) file server pairs the file system + * will have. The default value is 1. The value of this property affects the values + * of StorageCapacity, Iops, and + * ThroughputCapacity. For more information, see High-availability + * (HA) pairs in the FSx for ONTAP user guide.

                                    Amazon FSx responds with + * an HTTP status code 400 (Bad Request) for the following conditions:

                                      + *
                                    • The value of HAPairs is less than 1 or greater than 6.

                                      + *
                                    • The value of HAPairs is greater than 1 and the value + * of DeploymentType is SINGLE_AZ_1 or + * MULTI_AZ_1.

                                    + */ + inline int GetHAPairs() const{ return m_hAPairs; } + + /** + *

                                    Specifies how many high-availability (HA) file server pairs the file system + * will have. The default value is 1. The value of this property affects the values + * of StorageCapacity, Iops, and + * ThroughputCapacity. For more information, see High-availability + * (HA) pairs in the FSx for ONTAP user guide.

                                    Amazon FSx responds with + * an HTTP status code 400 (Bad Request) for the following conditions:

                                      + *
                                    • The value of HAPairs is less than 1 or greater than 6.

                                      + *
                                    • The value of HAPairs is greater than 1 and the value + * of DeploymentType is SINGLE_AZ_1 or + * MULTI_AZ_1.

                                    + */ + inline bool HAPairsHasBeenSet() const { return m_hAPairsHasBeenSet; } + + /** + *

                                    Specifies how many high-availability (HA) file server pairs the file system + * will have. The default value is 1. The value of this property affects the values + * of StorageCapacity, Iops, and + * ThroughputCapacity. For more information, see High-availability + * (HA) pairs in the FSx for ONTAP user guide.

                                    Amazon FSx responds with + * an HTTP status code 400 (Bad Request) for the following conditions:

                                      + *
                                    • The value of HAPairs is less than 1 or greater than 6.

                                      + *
                                    • The value of HAPairs is greater than 1 and the value + * of DeploymentType is SINGLE_AZ_1 or + * MULTI_AZ_1.

                                    + */ + inline void SetHAPairs(int value) { m_hAPairsHasBeenSet = true; m_hAPairs = value; } + + /** + *

                                    Specifies how many high-availability (HA) file server pairs the file system + * will have. The default value is 1. The value of this property affects the values + * of StorageCapacity, Iops, and + * ThroughputCapacity. For more information, see High-availability + * (HA) pairs in the FSx for ONTAP user guide.

                                    Amazon FSx responds with + * an HTTP status code 400 (Bad Request) for the following conditions:

                                      + *
                                    • The value of HAPairs is less than 1 or greater than 6.

                                      + *
                                    • The value of HAPairs is greater than 1 and the value + * of DeploymentType is SINGLE_AZ_1 or + * MULTI_AZ_1.

                                    + */ + inline OntapFileSystemConfiguration& WithHAPairs(int value) { SetHAPairs(value); return *this;} + + + /** + *

                                    Use to choose the throughput capacity per HA pair. When the value of + * HAPairs is equal to 1, the value of + * ThroughputCapacityPerHAPair is the total throughput for the file + * system.

                                    This field and ThroughputCapacity cannot be defined + * in the same API call, but one is required.

                                    This field and + * ThroughputCapacity are the same for file systems with one HA + * pair.

                                    • For SINGLE_AZ_1 and MULTI_AZ_1, + * valid values are 128, 256, 512, 1024, 2048, or 4096 MBps.

                                    • For + * SINGLE_AZ_2, valid values are 3072 or 6144 MBps.

                                    + *

                                    Amazon FSx responds with an HTTP status code 400 (Bad Request) for the + * following conditions:

                                    • The value of + * ThroughputCapacity and ThroughputCapacityPerHAPair are + * not the same value.

                                    • The value of deployment type is + * SINGLE_AZ_2 and ThroughputCapacity / + * ThroughputCapacityPerHAPair is a valid HA pair (a value between 2 + * and 6).

                                    • The value of ThroughputCapacityPerHAPair + * is not a valid value.

                                    + */ + inline int GetThroughputCapacityPerHAPair() const{ return m_throughputCapacityPerHAPair; } + + /** + *

                                    Use to choose the throughput capacity per HA pair. When the value of + * HAPairs is equal to 1, the value of + * ThroughputCapacityPerHAPair is the total throughput for the file + * system.

                                    This field and ThroughputCapacity cannot be defined + * in the same API call, but one is required.

                                    This field and + * ThroughputCapacity are the same for file systems with one HA + * pair.

                                    • For SINGLE_AZ_1 and MULTI_AZ_1, + * valid values are 128, 256, 512, 1024, 2048, or 4096 MBps.

                                    • For + * SINGLE_AZ_2, valid values are 3072 or 6144 MBps.

                                    + *

                                    Amazon FSx responds with an HTTP status code 400 (Bad Request) for the + * following conditions:

                                    • The value of + * ThroughputCapacity and ThroughputCapacityPerHAPair are + * not the same value.

                                    • The value of deployment type is + * SINGLE_AZ_2 and ThroughputCapacity / + * ThroughputCapacityPerHAPair is a valid HA pair (a value between 2 + * and 6).

                                    • The value of ThroughputCapacityPerHAPair + * is not a valid value.

                                    + */ + inline bool ThroughputCapacityPerHAPairHasBeenSet() const { return m_throughputCapacityPerHAPairHasBeenSet; } + + /** + *

                                    Use to choose the throughput capacity per HA pair. When the value of + * HAPairs is equal to 1, the value of + * ThroughputCapacityPerHAPair is the total throughput for the file + * system.

                                    This field and ThroughputCapacity cannot be defined + * in the same API call, but one is required.

                                    This field and + * ThroughputCapacity are the same for file systems with one HA + * pair.

                                    • For SINGLE_AZ_1 and MULTI_AZ_1, + * valid values are 128, 256, 512, 1024, 2048, or 4096 MBps.

                                    • For + * SINGLE_AZ_2, valid values are 3072 or 6144 MBps.

                                    + *

                                    Amazon FSx responds with an HTTP status code 400 (Bad Request) for the + * following conditions:

                                    • The value of + * ThroughputCapacity and ThroughputCapacityPerHAPair are + * not the same value.

                                    • The value of deployment type is + * SINGLE_AZ_2 and ThroughputCapacity / + * ThroughputCapacityPerHAPair is a valid HA pair (a value between 2 + * and 6).

                                    • The value of ThroughputCapacityPerHAPair + * is not a valid value.

                                    + */ + inline void SetThroughputCapacityPerHAPair(int value) { m_throughputCapacityPerHAPairHasBeenSet = true; m_throughputCapacityPerHAPair = value; } + + /** + *

                                    Use to choose the throughput capacity per HA pair. When the value of + * HAPairs is equal to 1, the value of + * ThroughputCapacityPerHAPair is the total throughput for the file + * system.

                                    This field and ThroughputCapacity cannot be defined + * in the same API call, but one is required.

                                    This field and + * ThroughputCapacity are the same for file systems with one HA + * pair.

                                    • For SINGLE_AZ_1 and MULTI_AZ_1, + * valid values are 128, 256, 512, 1024, 2048, or 4096 MBps.

                                    • For + * SINGLE_AZ_2, valid values are 3072 or 6144 MBps.

                                    + *

                                    Amazon FSx responds with an HTTP status code 400 (Bad Request) for the + * following conditions:

                                    • The value of + * ThroughputCapacity and ThroughputCapacityPerHAPair are + * not the same value.

                                    • The value of deployment type is + * SINGLE_AZ_2 and ThroughputCapacity / + * ThroughputCapacityPerHAPair is a valid HA pair (a value between 2 + * and 6).

                                    • The value of ThroughputCapacityPerHAPair + * is not a valid value.

                                    + */ + inline OntapFileSystemConfiguration& WithThroughputCapacityPerHAPair(int value) { SetThroughputCapacityPerHAPair(value); return *this;} + private: int m_automaticBackupRetentionDays; @@ -528,6 +686,12 @@ namespace Model Aws::String m_fsxAdminPassword; bool m_fsxAdminPasswordHasBeenSet = false; + + int m_hAPairs; + bool m_hAPairsHasBeenSet = false; + + int m_throughputCapacityPerHAPair; + bool m_throughputCapacityPerHAPairHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/OntapVolumeConfiguration.h b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/OntapVolumeConfiguration.h index aecae10d96c..35a7c0a671c 100644 --- a/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/OntapVolumeConfiguration.h +++ b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/OntapVolumeConfiguration.h @@ -11,6 +11,8 @@ #include #include #include +#include +#include #include namespace Aws @@ -517,7 +519,7 @@ namespace Model * provide the name of a custom policy that you created with the ONTAP CLI or REST * API.

                                    For more information, see Snapshot - * policies in the Amazon FSx for NetApp ONTAP User Guide.

                                    + * policies in the Amazon FSx for NetApp ONTAP User Guide.

                                    */ inline const Aws::String& GetSnapshotPolicy() const{ return m_snapshotPolicy; } @@ -535,7 +537,7 @@ namespace Model * provide the name of a custom policy that you created with the ONTAP CLI or REST * API.

                                    For more information, see Snapshot - * policies in the Amazon FSx for NetApp ONTAP User Guide.

                                    + * policies in the Amazon FSx for NetApp ONTAP User Guide.

                                    */ inline bool SnapshotPolicyHasBeenSet() const { return m_snapshotPolicyHasBeenSet; } @@ -553,7 +555,7 @@ namespace Model * provide the name of a custom policy that you created with the ONTAP CLI or REST * API.

                                    For more information, see Snapshot - * policies in the Amazon FSx for NetApp ONTAP User Guide.

                                    + * policies in the Amazon FSx for NetApp ONTAP User Guide.

                                    */ inline void SetSnapshotPolicy(const Aws::String& value) { m_snapshotPolicyHasBeenSet = true; m_snapshotPolicy = value; } @@ -571,7 +573,7 @@ namespace Model * provide the name of a custom policy that you created with the ONTAP CLI or REST * API.

                                    For more information, see Snapshot - * policies in the Amazon FSx for NetApp ONTAP User Guide.

                                    + * policies in the Amazon FSx for NetApp ONTAP User Guide.

                                    */ inline void SetSnapshotPolicy(Aws::String&& value) { m_snapshotPolicyHasBeenSet = true; m_snapshotPolicy = std::move(value); } @@ -589,7 +591,7 @@ namespace Model * provide the name of a custom policy that you created with the ONTAP CLI or REST * API.

                                    For more information, see Snapshot - * policies in the Amazon FSx for NetApp ONTAP User Guide.

                                    + * policies in the Amazon FSx for NetApp ONTAP User Guide.

                                    */ inline void SetSnapshotPolicy(const char* value) { m_snapshotPolicyHasBeenSet = true; m_snapshotPolicy.assign(value); } @@ -607,7 +609,7 @@ namespace Model * provide the name of a custom policy that you created with the ONTAP CLI or REST * API.

                                    For more information, see Snapshot - * policies in the Amazon FSx for NetApp ONTAP User Guide.

                                    + * policies in the Amazon FSx for NetApp ONTAP User Guide.

                                    */ inline OntapVolumeConfiguration& WithSnapshotPolicy(const Aws::String& value) { SetSnapshotPolicy(value); return *this;} @@ -625,7 +627,7 @@ namespace Model * provide the name of a custom policy that you created with the ONTAP CLI or REST * API.

                                    For more information, see Snapshot - * policies in the Amazon FSx for NetApp ONTAP User Guide.

                                    + * policies in the Amazon FSx for NetApp ONTAP User Guide.

                                    */ inline OntapVolumeConfiguration& WithSnapshotPolicy(Aws::String&& value) { SetSnapshotPolicy(std::move(value)); return *this;} @@ -643,7 +645,7 @@ namespace Model * provide the name of a custom policy that you created with the ONTAP CLI or REST * API.

                                    For more information, see Snapshot - * policies in the Amazon FSx for NetApp ONTAP User Guide.

                                    + * policies in the Amazon FSx for NetApp ONTAP User Guide.

                                    */ inline OntapVolumeConfiguration& WithSnapshotPolicy(const char* value) { SetSnapshotPolicy(value); return *this;} @@ -723,6 +725,113 @@ namespace Model */ inline OntapVolumeConfiguration& WithSnaplockConfiguration(SnaplockConfiguration&& value) { SetSnaplockConfiguration(std::move(value)); return *this;} + + /** + *

                                    Use to specify the style of an ONTAP volume. For more information about + * FlexVols and FlexGroups, see Volume + * types in Amazon FSx for NetApp ONTAP User Guide.

                                    + */ + inline const VolumeStyle& GetVolumeStyle() const{ return m_volumeStyle; } + + /** + *

                                    Use to specify the style of an ONTAP volume. For more information about + * FlexVols and FlexGroups, see Volume + * types in Amazon FSx for NetApp ONTAP User Guide.

                                    + */ + inline bool VolumeStyleHasBeenSet() const { return m_volumeStyleHasBeenSet; } + + /** + *

                                    Use to specify the style of an ONTAP volume. For more information about + * FlexVols and FlexGroups, see Volume + * types in Amazon FSx for NetApp ONTAP User Guide.

                                    + */ + inline void SetVolumeStyle(const VolumeStyle& value) { m_volumeStyleHasBeenSet = true; m_volumeStyle = value; } + + /** + *

                                    Use to specify the style of an ONTAP volume. For more information about + * FlexVols and FlexGroups, see Volume + * types in Amazon FSx for NetApp ONTAP User Guide.

                                    + */ + inline void SetVolumeStyle(VolumeStyle&& value) { m_volumeStyleHasBeenSet = true; m_volumeStyle = std::move(value); } + + /** + *

                                    Use to specify the style of an ONTAP volume. For more information about + * FlexVols and FlexGroups, see Volume + * types in Amazon FSx for NetApp ONTAP User Guide.

                                    + */ + inline OntapVolumeConfiguration& WithVolumeStyle(const VolumeStyle& value) { SetVolumeStyle(value); return *this;} + + /** + *

                                    Use to specify the style of an ONTAP volume. For more information about + * FlexVols and FlexGroups, see Volume + * types in Amazon FSx for NetApp ONTAP User Guide.

                                    + */ + inline OntapVolumeConfiguration& WithVolumeStyle(VolumeStyle&& value) { SetVolumeStyle(std::move(value)); return *this;} + + + /** + *

                                    This structure specifies configuration options for a volume’s storage + * aggregate or aggregates.

                                    + */ + inline const AggregateConfiguration& GetAggregateConfiguration() const{ return m_aggregateConfiguration; } + + /** + *

                                    This structure specifies configuration options for a volume’s storage + * aggregate or aggregates.

                                    + */ + inline bool AggregateConfigurationHasBeenSet() const { return m_aggregateConfigurationHasBeenSet; } + + /** + *

                                    This structure specifies configuration options for a volume’s storage + * aggregate or aggregates.

                                    + */ + inline void SetAggregateConfiguration(const AggregateConfiguration& value) { m_aggregateConfigurationHasBeenSet = true; m_aggregateConfiguration = value; } + + /** + *

                                    This structure specifies configuration options for a volume’s storage + * aggregate or aggregates.

                                    + */ + inline void SetAggregateConfiguration(AggregateConfiguration&& value) { m_aggregateConfigurationHasBeenSet = true; m_aggregateConfiguration = std::move(value); } + + /** + *

                                    This structure specifies configuration options for a volume’s storage + * aggregate or aggregates.

                                    + */ + inline OntapVolumeConfiguration& WithAggregateConfiguration(const AggregateConfiguration& value) { SetAggregateConfiguration(value); return *this;} + + /** + *

                                    This structure specifies configuration options for a volume’s storage + * aggregate or aggregates.

                                    + */ + inline OntapVolumeConfiguration& WithAggregateConfiguration(AggregateConfiguration&& value) { SetAggregateConfiguration(std::move(value)); return *this;} + + + /** + *

                                    The configured size of the volume, in bytes.

                                    + */ + inline long long GetSizeInBytes() const{ return m_sizeInBytes; } + + /** + *

                                    The configured size of the volume, in bytes.

                                    + */ + inline bool SizeInBytesHasBeenSet() const { return m_sizeInBytesHasBeenSet; } + + /** + *

                                    The configured size of the volume, in bytes.

                                    + */ + inline void SetSizeInBytes(long long value) { m_sizeInBytesHasBeenSet = true; m_sizeInBytes = value; } + + /** + *

                                    The configured size of the volume, in bytes.

                                    + */ + inline OntapVolumeConfiguration& WithSizeInBytes(long long value) { SetSizeInBytes(value); return *this;} + private: FlexCacheEndpointType m_flexCacheEndpointType; @@ -763,6 +872,15 @@ namespace Model SnaplockConfiguration m_snaplockConfiguration; bool m_snaplockConfigurationHasBeenSet = false; + + VolumeStyle m_volumeStyle; + bool m_volumeStyleHasBeenSet = false; + + AggregateConfiguration m_aggregateConfiguration; + bool m_aggregateConfigurationHasBeenSet = false; + + long long m_sizeInBytes; + bool m_sizeInBytesHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/OpenZFSCopyStrategy.h b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/OpenZFSCopyStrategy.h index d51d3135236..26b981162e4 100644 --- a/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/OpenZFSCopyStrategy.h +++ b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/OpenZFSCopyStrategy.h @@ -17,7 +17,8 @@ namespace Model { NOT_SET, CLONE, - FULL_COPY + FULL_COPY, + INCREMENTAL_COPY }; namespace OpenZFSCopyStrategyMapper diff --git a/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/OpenZFSOriginSnapshotConfiguration.h b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/OpenZFSOriginSnapshotConfiguration.h index aee80b8ee36..5bc8efee5ab 100644 --- a/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/OpenZFSOriginSnapshotConfiguration.h +++ b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/OpenZFSOriginSnapshotConfiguration.h @@ -25,8 +25,8 @@ namespace Model { /** - *

                                    The snapshot configuration to use when creating an OpenZFS volume from a - * snapshot.

                                    See Also:

                                    The snapshot configuration used when creating an Amazon FSx for OpenZFS + * volume from a snapshot.

                                    See Also:

                                    AWS * API Reference

                                    */ @@ -71,7 +71,11 @@ namespace Model * snapshot to a new volume and doesn't consume disk throughput. However, the * origin snapshot can't be deleted if there is a volume using its copied data. *

                                  • FULL_COPY - Copies all data from the snapshot - * to the new volume.

                                  + * to the new volume.

                                The INCREMENTAL_COPY + * option is only for updating an existing volume by using a snapshot from another + * FSx for OpenZFS file system. For more information, see CopySnapshotAndUpdateVolume.

                                + * */ inline const OpenZFSCopyStrategy& GetCopyStrategy() const{ return m_copyStrategy; } @@ -82,7 +86,11 @@ namespace Model * snapshot to a new volume and doesn't consume disk throughput. However, the * origin snapshot can't be deleted if there is a volume using its copied data. *

                              • FULL_COPY - Copies all data from the snapshot - * to the new volume.

                              + * to the new volume.

                            The INCREMENTAL_COPY + * option is only for updating an existing volume by using a snapshot from another + * FSx for OpenZFS file system. For more information, see CopySnapshotAndUpdateVolume.

                            + * */ inline bool CopyStrategyHasBeenSet() const { return m_copyStrategyHasBeenSet; } @@ -93,7 +101,11 @@ namespace Model * snapshot to a new volume and doesn't consume disk throughput. However, the * origin snapshot can't be deleted if there is a volume using its copied data. *

                          • FULL_COPY - Copies all data from the snapshot - * to the new volume.

                          + * to the new volume.

                        The INCREMENTAL_COPY + * option is only for updating an existing volume by using a snapshot from another + * FSx for OpenZFS file system. For more information, see CopySnapshotAndUpdateVolume.

                        + * */ inline void SetCopyStrategy(const OpenZFSCopyStrategy& value) { m_copyStrategyHasBeenSet = true; m_copyStrategy = value; } @@ -104,7 +116,11 @@ namespace Model * snapshot to a new volume and doesn't consume disk throughput. However, the * origin snapshot can't be deleted if there is a volume using its copied data. *

                      • FULL_COPY - Copies all data from the snapshot - * to the new volume.

                      + * to the new volume.

                    The INCREMENTAL_COPY + * option is only for updating an existing volume by using a snapshot from another + * FSx for OpenZFS file system. For more information, see CopySnapshotAndUpdateVolume.

                    + * */ inline void SetCopyStrategy(OpenZFSCopyStrategy&& value) { m_copyStrategyHasBeenSet = true; m_copyStrategy = std::move(value); } @@ -115,7 +131,11 @@ namespace Model * snapshot to a new volume and doesn't consume disk throughput. However, the * origin snapshot can't be deleted if there is a volume using its copied data. *

                  • FULL_COPY - Copies all data from the snapshot - * to the new volume.

                  + * to the new volume.

                The INCREMENTAL_COPY + * option is only for updating an existing volume by using a snapshot from another + * FSx for OpenZFS file system. For more information, see CopySnapshotAndUpdateVolume.

                + * */ inline OpenZFSOriginSnapshotConfiguration& WithCopyStrategy(const OpenZFSCopyStrategy& value) { SetCopyStrategy(value); return *this;} @@ -126,7 +146,11 @@ namespace Model * snapshot to a new volume and doesn't consume disk throughput. However, the * origin snapshot can't be deleted if there is a volume using its copied data. *

              • FULL_COPY - Copies all data from the snapshot - * to the new volume.

              + * to the new volume.

            The INCREMENTAL_COPY + * option is only for updating an existing volume by using a snapshot from another + * FSx for OpenZFS file system. For more information, see CopySnapshotAndUpdateVolume.

            + * */ inline OpenZFSOriginSnapshotConfiguration& WithCopyStrategy(OpenZFSCopyStrategy&& value) { SetCopyStrategy(std::move(value)); return *this;} diff --git a/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/OpenZFSVolumeConfiguration.h b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/OpenZFSVolumeConfiguration.h index a1a1a413836..c2b8827d8f1 100644 --- a/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/OpenZFSVolumeConfiguration.h +++ b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/OpenZFSVolumeConfiguration.h @@ -598,6 +598,109 @@ namespace Model */ inline OpenZFSVolumeConfiguration& WithDeleteClonedVolumes(bool value) { SetDeleteClonedVolumes(value); return *this;} + + /** + *

            A Boolean value indicating whether snapshot data that differs between the + * current state and the specified snapshot should be overwritten when a volume is + * restored from a snapshot.

            + */ + inline bool GetDeleteIntermediateData() const{ return m_deleteIntermediateData; } + + /** + *

            A Boolean value indicating whether snapshot data that differs between the + * current state and the specified snapshot should be overwritten when a volume is + * restored from a snapshot.

            + */ + inline bool DeleteIntermediateDataHasBeenSet() const { return m_deleteIntermediateDataHasBeenSet; } + + /** + *

            A Boolean value indicating whether snapshot data that differs between the + * current state and the specified snapshot should be overwritten when a volume is + * restored from a snapshot.

            + */ + inline void SetDeleteIntermediateData(bool value) { m_deleteIntermediateDataHasBeenSet = true; m_deleteIntermediateData = value; } + + /** + *

            A Boolean value indicating whether snapshot data that differs between the + * current state and the specified snapshot should be overwritten when a volume is + * restored from a snapshot.

            + */ + inline OpenZFSVolumeConfiguration& WithDeleteIntermediateData(bool value) { SetDeleteIntermediateData(value); return *this;} + + + + inline const Aws::String& GetSourceSnapshotARN() const{ return m_sourceSnapshotARN; } + + + inline bool SourceSnapshotARNHasBeenSet() const { return m_sourceSnapshotARNHasBeenSet; } + + + inline void SetSourceSnapshotARN(const Aws::String& value) { m_sourceSnapshotARNHasBeenSet = true; m_sourceSnapshotARN = value; } + + + inline void SetSourceSnapshotARN(Aws::String&& value) { m_sourceSnapshotARNHasBeenSet = true; m_sourceSnapshotARN = std::move(value); } + + + inline void SetSourceSnapshotARN(const char* value) { m_sourceSnapshotARNHasBeenSet = true; m_sourceSnapshotARN.assign(value); } + + + inline OpenZFSVolumeConfiguration& WithSourceSnapshotARN(const Aws::String& value) { SetSourceSnapshotARN(value); return *this;} + + + inline OpenZFSVolumeConfiguration& WithSourceSnapshotARN(Aws::String&& value) { SetSourceSnapshotARN(std::move(value)); return *this;} + + + inline OpenZFSVolumeConfiguration& WithSourceSnapshotARN(const char* value) { SetSourceSnapshotARN(value); return *this;} + + + /** + *

            The ID of the snapshot that's being copied or was most recently copied to the + * destination volume.

            + */ + inline const Aws::String& GetDestinationSnapshot() const{ return m_destinationSnapshot; } + + /** + *

            The ID of the snapshot that's being copied or was most recently copied to the + * destination volume.

            + */ + inline bool DestinationSnapshotHasBeenSet() const { return m_destinationSnapshotHasBeenSet; } + + /** + *

            The ID of the snapshot that's being copied or was most recently copied to the + * destination volume.

            + */ + inline void SetDestinationSnapshot(const Aws::String& value) { m_destinationSnapshotHasBeenSet = true; m_destinationSnapshot = value; } + + /** + *

            The ID of the snapshot that's being copied or was most recently copied to the + * destination volume.

            + */ + inline void SetDestinationSnapshot(Aws::String&& value) { m_destinationSnapshotHasBeenSet = true; m_destinationSnapshot = std::move(value); } + + /** + *

            The ID of the snapshot that's being copied or was most recently copied to the + * destination volume.

            + */ + inline void SetDestinationSnapshot(const char* value) { m_destinationSnapshotHasBeenSet = true; m_destinationSnapshot.assign(value); } + + /** + *

            The ID of the snapshot that's being copied or was most recently copied to the + * destination volume.

            + */ + inline OpenZFSVolumeConfiguration& WithDestinationSnapshot(const Aws::String& value) { SetDestinationSnapshot(value); return *this;} + + /** + *

            The ID of the snapshot that's being copied or was most recently copied to the + * destination volume.

            + */ + inline OpenZFSVolumeConfiguration& WithDestinationSnapshot(Aws::String&& value) { SetDestinationSnapshot(std::move(value)); return *this;} + + /** + *

            The ID of the snapshot that's being copied or was most recently copied to the + * destination volume.

            + */ + inline OpenZFSVolumeConfiguration& WithDestinationSnapshot(const char* value) { SetDestinationSnapshot(value); return *this;} + private: Aws::String m_parentVolumeId; @@ -641,6 +744,15 @@ namespace Model bool m_deleteClonedVolumes; bool m_deleteClonedVolumesHasBeenSet = false; + + bool m_deleteIntermediateData; + bool m_deleteIntermediateDataHasBeenSet = false; + + Aws::String m_sourceSnapshotARN; + bool m_sourceSnapshotARNHasBeenSet = false; + + Aws::String m_destinationSnapshot; + bool m_destinationSnapshotHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/UpdateFileSystemOntapConfiguration.h b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/UpdateFileSystemOntapConfiguration.h index 928da17b801..2435114cac5 100644 --- a/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/UpdateFileSystemOntapConfiguration.h +++ b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/UpdateFileSystemOntapConfiguration.h @@ -251,41 +251,57 @@ namespace Model /** *

            Enter a new value to change the amount of throughput capacity for the file - * system. Throughput capacity is measured in megabytes per second (MBps). Valid - * values are 128, 256, 512, 1024, 2048, and 4096 MBps. For more information, see - * Managing - * throughput capacity in the FSx for ONTAP User Guide.

            + * throughput capacity in the FSx for ONTAP User Guide.

            Amazon FSx + * responds with an HTTP status code 400 (Bad Request) for the following + * conditions:

            • The value of ThroughputCapacity and + * ThroughputCapacityPerHAPair are not the same value.

            • + *

              The value of ThroughputCapacity when divided by the value of + * HAPairs is outside of the valid range for + * ThroughputCapacity.

            */ inline int GetThroughputCapacity() const{ return m_throughputCapacity; } /** *

            Enter a new value to change the amount of throughput capacity for the file - * system. Throughput capacity is measured in megabytes per second (MBps). Valid - * values are 128, 256, 512, 1024, 2048, and 4096 MBps. For more information, see - * Managing - * throughput capacity in the FSx for ONTAP User Guide.

            + * throughput capacity in the FSx for ONTAP User Guide.

            Amazon FSx + * responds with an HTTP status code 400 (Bad Request) for the following + * conditions:

            • The value of ThroughputCapacity and + * ThroughputCapacityPerHAPair are not the same value.

            • + *

              The value of ThroughputCapacity when divided by the value of + * HAPairs is outside of the valid range for + * ThroughputCapacity.

            */ inline bool ThroughputCapacityHasBeenSet() const { return m_throughputCapacityHasBeenSet; } /** *

            Enter a new value to change the amount of throughput capacity for the file - * system. Throughput capacity is measured in megabytes per second (MBps). Valid - * values are 128, 256, 512, 1024, 2048, and 4096 MBps. For more information, see - * Managing - * throughput capacity in the FSx for ONTAP User Guide.

            + * throughput capacity in the FSx for ONTAP User Guide.

            Amazon FSx + * responds with an HTTP status code 400 (Bad Request) for the following + * conditions:

            • The value of ThroughputCapacity and + * ThroughputCapacityPerHAPair are not the same value.

            • + *

              The value of ThroughputCapacity when divided by the value of + * HAPairs is outside of the valid range for + * ThroughputCapacity.

            */ inline void SetThroughputCapacity(int value) { m_throughputCapacityHasBeenSet = true; m_throughputCapacity = value; } /** *

            Enter a new value to change the amount of throughput capacity for the file - * system. Throughput capacity is measured in megabytes per second (MBps). Valid - * values are 128, 256, 512, 1024, 2048, and 4096 MBps. For more information, see - * Managing - * throughput capacity in the FSx for ONTAP User Guide.

            + * throughput capacity in the FSx for ONTAP User Guide.

            Amazon FSx + * responds with an HTTP status code 400 (Bad Request) for the following + * conditions:

            • The value of ThroughputCapacity and + * ThroughputCapacityPerHAPair are not the same value.

            • + *

              The value of ThroughputCapacity when divided by the value of + * HAPairs is outside of the valid range for + * ThroughputCapacity.

            */ inline UpdateFileSystemOntapConfiguration& WithThroughputCapacity(int value) { SetThroughputCapacity(value); return *this;} @@ -417,6 +433,71 @@ namespace Model */ inline UpdateFileSystemOntapConfiguration& AddRemoveRouteTableIds(const char* value) { m_removeRouteTableIdsHasBeenSet = true; m_removeRouteTableIds.push_back(value); return *this; } + + /** + *

            Use to choose the throughput capacity per HA pair, rather than the total + * throughput for the file system.

            This field and + * ThroughputCapacity cannot be defined in the same API call, but one + * is required.

            This field and ThroughputCapacity are the same + * for file systems with one HA pair.

            • For SINGLE_AZ_1 + * and MULTI_AZ_1, valid values are 128, 256, 512, 1024, 2048, or 4096 + * MBps.

            • For SINGLE_AZ_2, valid values are 3072 or + * 6144 MBps.

            Amazon FSx responds with an HTTP status code 400 + * (Bad Request) for the following conditions:

            The value of + * ThroughputCapacity and ThroughputCapacityPerHAPair are + * not the same value.

            The value of ThroughputCapacityPerHAPair + * is not a valid value.

            + */ + inline int GetThroughputCapacityPerHAPair() const{ return m_throughputCapacityPerHAPair; } + + /** + *

            Use to choose the throughput capacity per HA pair, rather than the total + * throughput for the file system.

            This field and + * ThroughputCapacity cannot be defined in the same API call, but one + * is required.

            This field and ThroughputCapacity are the same + * for file systems with one HA pair.

            • For SINGLE_AZ_1 + * and MULTI_AZ_1, valid values are 128, 256, 512, 1024, 2048, or 4096 + * MBps.

            • For SINGLE_AZ_2, valid values are 3072 or + * 6144 MBps.

            Amazon FSx responds with an HTTP status code 400 + * (Bad Request) for the following conditions:

            The value of + * ThroughputCapacity and ThroughputCapacityPerHAPair are + * not the same value.

            The value of ThroughputCapacityPerHAPair + * is not a valid value.

            + */ + inline bool ThroughputCapacityPerHAPairHasBeenSet() const { return m_throughputCapacityPerHAPairHasBeenSet; } + + /** + *

            Use to choose the throughput capacity per HA pair, rather than the total + * throughput for the file system.

            This field and + * ThroughputCapacity cannot be defined in the same API call, but one + * is required.

            This field and ThroughputCapacity are the same + * for file systems with one HA pair.

            • For SINGLE_AZ_1 + * and MULTI_AZ_1, valid values are 128, 256, 512, 1024, 2048, or 4096 + * MBps.

            • For SINGLE_AZ_2, valid values are 3072 or + * 6144 MBps.

            Amazon FSx responds with an HTTP status code 400 + * (Bad Request) for the following conditions:

            The value of + * ThroughputCapacity and ThroughputCapacityPerHAPair are + * not the same value.

            The value of ThroughputCapacityPerHAPair + * is not a valid value.

            + */ + inline void SetThroughputCapacityPerHAPair(int value) { m_throughputCapacityPerHAPairHasBeenSet = true; m_throughputCapacityPerHAPair = value; } + + /** + *

            Use to choose the throughput capacity per HA pair, rather than the total + * throughput for the file system.

            This field and + * ThroughputCapacity cannot be defined in the same API call, but one + * is required.

            This field and ThroughputCapacity are the same + * for file systems with one HA pair.

            • For SINGLE_AZ_1 + * and MULTI_AZ_1, valid values are 128, 256, 512, 1024, 2048, or 4096 + * MBps.

            • For SINGLE_AZ_2, valid values are 3072 or + * 6144 MBps.

            Amazon FSx responds with an HTTP status code 400 + * (Bad Request) for the following conditions:

            The value of + * ThroughputCapacity and ThroughputCapacityPerHAPair are + * not the same value.

            The value of ThroughputCapacityPerHAPair + * is not a valid value.

            + */ + inline UpdateFileSystemOntapConfiguration& WithThroughputCapacityPerHAPair(int value) { SetThroughputCapacityPerHAPair(value); return *this;} + private: int m_automaticBackupRetentionDays; @@ -442,6 +523,9 @@ namespace Model Aws::Vector m_removeRouteTableIds; bool m_removeRouteTableIdsHasBeenSet = false; + + int m_throughputCapacityPerHAPair; + bool m_throughputCapacityPerHAPairHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/UpdateOntapVolumeConfiguration.h b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/UpdateOntapVolumeConfiguration.h index a812f088eb1..b5fb52e3194 100644 --- a/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/UpdateOntapVolumeConfiguration.h +++ b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/UpdateOntapVolumeConfiguration.h @@ -438,6 +438,27 @@ namespace Model */ inline UpdateOntapVolumeConfiguration& WithSnaplockConfiguration(UpdateSnaplockConfiguration&& value) { SetSnaplockConfiguration(std::move(value)); return *this;} + + /** + *

            The configured size of the volume, in bytes.

            + */ + inline long long GetSizeInBytes() const{ return m_sizeInBytes; } + + /** + *

            The configured size of the volume, in bytes.

            + */ + inline bool SizeInBytesHasBeenSet() const { return m_sizeInBytesHasBeenSet; } + + /** + *

            The configured size of the volume, in bytes.

            + */ + inline void SetSizeInBytes(long long value) { m_sizeInBytesHasBeenSet = true; m_sizeInBytes = value; } + + /** + *

            The configured size of the volume, in bytes.

            + */ + inline UpdateOntapVolumeConfiguration& WithSizeInBytes(long long value) { SetSizeInBytes(value); return *this;} + private: Aws::String m_junctionPath; @@ -463,6 +484,9 @@ namespace Model UpdateSnaplockConfiguration m_snaplockConfiguration; bool m_snaplockConfigurationHasBeenSet = false; + + long long m_sizeInBytes; + bool m_sizeInBytesHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/UpdateOpenZFSVolumeOption.h b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/UpdateOpenZFSVolumeOption.h new file mode 100644 index 00000000000..765dcbc9c73 --- /dev/null +++ b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/UpdateOpenZFSVolumeOption.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 FSx +{ +namespace Model +{ + enum class UpdateOpenZFSVolumeOption + { + NOT_SET, + DELETE_INTERMEDIATE_SNAPSHOTS, + DELETE_CLONED_VOLUMES, + DELETE_INTERMEDIATE_DATA + }; + +namespace UpdateOpenZFSVolumeOptionMapper +{ +AWS_FSX_API UpdateOpenZFSVolumeOption GetUpdateOpenZFSVolumeOptionForName(const Aws::String& name); + +AWS_FSX_API Aws::String GetNameForUpdateOpenZFSVolumeOption(UpdateOpenZFSVolumeOption value); +} // namespace UpdateOpenZFSVolumeOptionMapper +} // namespace Model +} // namespace FSx +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/UpdateSharedVpcConfigurationRequest.h b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/UpdateSharedVpcConfigurationRequest.h new file mode 100644 index 00000000000..c3b94682d18 --- /dev/null +++ b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/UpdateSharedVpcConfigurationRequest.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 + +namespace Aws +{ +namespace FSx +{ +namespace Model +{ + + /** + */ + class UpdateSharedVpcConfigurationRequest : public FSxRequest + { + public: + AWS_FSX_API UpdateSharedVpcConfigurationRequest(); + + // 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 "UpdateSharedVpcConfiguration"; } + + AWS_FSX_API Aws::String SerializePayload() const override; + + AWS_FSX_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + *

            Specifies whether participant accounts can create FSx for ONTAP Multi-AZ file + * systems in shared subnets. Set to true to enable or + * false to disable.

            + */ + inline const Aws::String& GetEnableFsxRouteTableUpdatesFromParticipantAccounts() const{ return m_enableFsxRouteTableUpdatesFromParticipantAccounts; } + + /** + *

            Specifies whether participant accounts can create FSx for ONTAP Multi-AZ file + * systems in shared subnets. Set to true to enable or + * false to disable.

            + */ + inline bool EnableFsxRouteTableUpdatesFromParticipantAccountsHasBeenSet() const { return m_enableFsxRouteTableUpdatesFromParticipantAccountsHasBeenSet; } + + /** + *

            Specifies whether participant accounts can create FSx for ONTAP Multi-AZ file + * systems in shared subnets. Set to true to enable or + * false to disable.

            + */ + inline void SetEnableFsxRouteTableUpdatesFromParticipantAccounts(const Aws::String& value) { m_enableFsxRouteTableUpdatesFromParticipantAccountsHasBeenSet = true; m_enableFsxRouteTableUpdatesFromParticipantAccounts = value; } + + /** + *

            Specifies whether participant accounts can create FSx for ONTAP Multi-AZ file + * systems in shared subnets. Set to true to enable or + * false to disable.

            + */ + inline void SetEnableFsxRouteTableUpdatesFromParticipantAccounts(Aws::String&& value) { m_enableFsxRouteTableUpdatesFromParticipantAccountsHasBeenSet = true; m_enableFsxRouteTableUpdatesFromParticipantAccounts = std::move(value); } + + /** + *

            Specifies whether participant accounts can create FSx for ONTAP Multi-AZ file + * systems in shared subnets. Set to true to enable or + * false to disable.

            + */ + inline void SetEnableFsxRouteTableUpdatesFromParticipantAccounts(const char* value) { m_enableFsxRouteTableUpdatesFromParticipantAccountsHasBeenSet = true; m_enableFsxRouteTableUpdatesFromParticipantAccounts.assign(value); } + + /** + *

            Specifies whether participant accounts can create FSx for ONTAP Multi-AZ file + * systems in shared subnets. Set to true to enable or + * false to disable.

            + */ + inline UpdateSharedVpcConfigurationRequest& WithEnableFsxRouteTableUpdatesFromParticipantAccounts(const Aws::String& value) { SetEnableFsxRouteTableUpdatesFromParticipantAccounts(value); return *this;} + + /** + *

            Specifies whether participant accounts can create FSx for ONTAP Multi-AZ file + * systems in shared subnets. Set to true to enable or + * false to disable.

            + */ + inline UpdateSharedVpcConfigurationRequest& WithEnableFsxRouteTableUpdatesFromParticipantAccounts(Aws::String&& value) { SetEnableFsxRouteTableUpdatesFromParticipantAccounts(std::move(value)); return *this;} + + /** + *

            Specifies whether participant accounts can create FSx for ONTAP Multi-AZ file + * systems in shared subnets. Set to true to enable or + * false to disable.

            + */ + inline UpdateSharedVpcConfigurationRequest& WithEnableFsxRouteTableUpdatesFromParticipantAccounts(const char* value) { SetEnableFsxRouteTableUpdatesFromParticipantAccounts(value); return *this;} + + + + inline const Aws::String& GetClientRequestToken() const{ return m_clientRequestToken; } + + + inline bool ClientRequestTokenHasBeenSet() const { return m_clientRequestTokenHasBeenSet; } + + + inline void SetClientRequestToken(const Aws::String& value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken = value; } + + + inline void SetClientRequestToken(Aws::String&& value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken = std::move(value); } + + + inline void SetClientRequestToken(const char* value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken.assign(value); } + + + inline UpdateSharedVpcConfigurationRequest& WithClientRequestToken(const Aws::String& value) { SetClientRequestToken(value); return *this;} + + + inline UpdateSharedVpcConfigurationRequest& WithClientRequestToken(Aws::String&& value) { SetClientRequestToken(std::move(value)); return *this;} + + + inline UpdateSharedVpcConfigurationRequest& WithClientRequestToken(const char* value) { SetClientRequestToken(value); return *this;} + + private: + + Aws::String m_enableFsxRouteTableUpdatesFromParticipantAccounts; + bool m_enableFsxRouteTableUpdatesFromParticipantAccountsHasBeenSet = false; + + Aws::String m_clientRequestToken; + bool m_clientRequestTokenHasBeenSet = false; + }; + +} // namespace Model +} // namespace FSx +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/UpdateSharedVpcConfigurationResult.h b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/UpdateSharedVpcConfigurationResult.h new file mode 100644 index 00000000000..104ed138189 --- /dev/null +++ b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/UpdateSharedVpcConfigurationResult.h @@ -0,0 +1,108 @@ +/** + * 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 FSx +{ +namespace Model +{ + class UpdateSharedVpcConfigurationResult + { + public: + AWS_FSX_API UpdateSharedVpcConfigurationResult(); + AWS_FSX_API UpdateSharedVpcConfigurationResult(const Aws::AmazonWebServiceResult& result); + AWS_FSX_API UpdateSharedVpcConfigurationResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

            Indicates whether participant accounts can create FSx for ONTAP Multi-AZ file + * systems in shared subnets.

            + */ + inline const Aws::String& GetEnableFsxRouteTableUpdatesFromParticipantAccounts() const{ return m_enableFsxRouteTableUpdatesFromParticipantAccounts; } + + /** + *

            Indicates whether participant accounts can create FSx for ONTAP Multi-AZ file + * systems in shared subnets.

            + */ + inline void SetEnableFsxRouteTableUpdatesFromParticipantAccounts(const Aws::String& value) { m_enableFsxRouteTableUpdatesFromParticipantAccounts = value; } + + /** + *

            Indicates whether participant accounts can create FSx for ONTAP Multi-AZ file + * systems in shared subnets.

            + */ + inline void SetEnableFsxRouteTableUpdatesFromParticipantAccounts(Aws::String&& value) { m_enableFsxRouteTableUpdatesFromParticipantAccounts = std::move(value); } + + /** + *

            Indicates whether participant accounts can create FSx for ONTAP Multi-AZ file + * systems in shared subnets.

            + */ + inline void SetEnableFsxRouteTableUpdatesFromParticipantAccounts(const char* value) { m_enableFsxRouteTableUpdatesFromParticipantAccounts.assign(value); } + + /** + *

            Indicates whether participant accounts can create FSx for ONTAP Multi-AZ file + * systems in shared subnets.

            + */ + inline UpdateSharedVpcConfigurationResult& WithEnableFsxRouteTableUpdatesFromParticipantAccounts(const Aws::String& value) { SetEnableFsxRouteTableUpdatesFromParticipantAccounts(value); return *this;} + + /** + *

            Indicates whether participant accounts can create FSx for ONTAP Multi-AZ file + * systems in shared subnets.

            + */ + inline UpdateSharedVpcConfigurationResult& WithEnableFsxRouteTableUpdatesFromParticipantAccounts(Aws::String&& value) { SetEnableFsxRouteTableUpdatesFromParticipantAccounts(std::move(value)); return *this;} + + /** + *

            Indicates whether participant accounts can create FSx for ONTAP Multi-AZ file + * systems in shared subnets.

            + */ + inline UpdateSharedVpcConfigurationResult& WithEnableFsxRouteTableUpdatesFromParticipantAccounts(const char* value) { SetEnableFsxRouteTableUpdatesFromParticipantAccounts(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 UpdateSharedVpcConfigurationResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline UpdateSharedVpcConfigurationResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline UpdateSharedVpcConfigurationResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::String m_enableFsxRouteTableUpdatesFromParticipantAccounts; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace FSx +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/Volume.h b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/Volume.h index 98f5afc881a..3e4a478a4e9 100644 --- a/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/Volume.h +++ b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/Volume.h @@ -34,8 +34,7 @@ namespace Model class AdministrativeAction; /** - *

            Describes an Amazon FSx for NetApp ONTAP or Amazon FSx for OpenZFS - * volume.

            See Also:

            Describes an Amazon FSx volume.

            See Also:

            AWS API * Reference

            */ diff --git a/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/VolumeStyle.h b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/VolumeStyle.h new file mode 100644 index 00000000000..5e9455f5bd5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/model/VolumeStyle.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 FSx +{ +namespace Model +{ + enum class VolumeStyle + { + NOT_SET, + FLEXVOL, + FLEXGROUP + }; + +namespace VolumeStyleMapper +{ +AWS_FSX_API VolumeStyle GetVolumeStyleForName(const Aws::String& name); + +AWS_FSX_API Aws::String GetNameForVolumeStyle(VolumeStyle value); +} // namespace VolumeStyleMapper +} // namespace Model +} // namespace FSx +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-fsx/source/FSxClient.cpp b/generated/src/aws-cpp-sdk-fsx/source/FSxClient.cpp index e3dff428ff9..336832cca86 100644 --- a/generated/src/aws-cpp-sdk-fsx/source/FSxClient.cpp +++ b/generated/src/aws-cpp-sdk-fsx/source/FSxClient.cpp @@ -24,6 +24,7 @@ #include #include #include +#include #include #include #include @@ -47,6 +48,7 @@ #include #include #include +#include #include #include #include @@ -60,6 +62,7 @@ #include #include #include +#include #include #include #include @@ -274,6 +277,32 @@ CopyBackupOutcome FSxClient::CopyBackup(const CopyBackupRequest& request) const {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +CopySnapshotAndUpdateVolumeOutcome FSxClient::CopySnapshotAndUpdateVolume(const CopySnapshotAndUpdateVolumeRequest& request) const +{ + AWS_OPERATION_GUARD(CopySnapshotAndUpdateVolume); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CopySnapshotAndUpdateVolume, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, CopySnapshotAndUpdateVolume, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CopySnapshotAndUpdateVolume, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".CopySnapshotAndUpdateVolume", + {{ 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( + [&]()-> CopySnapshotAndUpdateVolumeOutcome { + 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, CopySnapshotAndUpdateVolume, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return CopySnapshotAndUpdateVolumeOutcome(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()}}); +} + CreateBackupOutcome FSxClient::CreateBackup(const CreateBackupRequest& request) const { AWS_OPERATION_GUARD(CreateBackup); @@ -872,6 +901,32 @@ DescribeFileSystemsOutcome FSxClient::DescribeFileSystems(const DescribeFileSyst {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +DescribeSharedVpcConfigurationOutcome FSxClient::DescribeSharedVpcConfiguration(const DescribeSharedVpcConfigurationRequest& request) const +{ + AWS_OPERATION_GUARD(DescribeSharedVpcConfiguration); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DescribeSharedVpcConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DescribeSharedVpcConfiguration, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DescribeSharedVpcConfiguration, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DescribeSharedVpcConfiguration", + {{ 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( + [&]()-> DescribeSharedVpcConfigurationOutcome { + 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, DescribeSharedVpcConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return DescribeSharedVpcConfigurationOutcome(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()}}); +} + DescribeSnapshotsOutcome FSxClient::DescribeSnapshots(const DescribeSnapshotsRequest& request) const { AWS_OPERATION_GUARD(DescribeSnapshots); @@ -1210,6 +1265,32 @@ UpdateFileSystemOutcome FSxClient::UpdateFileSystem(const UpdateFileSystemReques {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +UpdateSharedVpcConfigurationOutcome FSxClient::UpdateSharedVpcConfiguration(const UpdateSharedVpcConfigurationRequest& request) const +{ + AWS_OPERATION_GUARD(UpdateSharedVpcConfiguration); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UpdateSharedVpcConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, UpdateSharedVpcConfiguration, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, UpdateSharedVpcConfiguration, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".UpdateSharedVpcConfiguration", + {{ 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( + [&]()-> UpdateSharedVpcConfigurationOutcome { + 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, UpdateSharedVpcConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return UpdateSharedVpcConfigurationOutcome(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()}}); +} + UpdateSnapshotOutcome FSxClient::UpdateSnapshot(const UpdateSnapshotRequest& request) const { AWS_OPERATION_GUARD(UpdateSnapshot); diff --git a/generated/src/aws-cpp-sdk-fsx/source/model/AdministrativeAction.cpp b/generated/src/aws-cpp-sdk-fsx/source/model/AdministrativeAction.cpp index 69b9dfb541f..5851b869686 100644 --- a/generated/src/aws-cpp-sdk-fsx/source/model/AdministrativeAction.cpp +++ b/generated/src/aws-cpp-sdk-fsx/source/model/AdministrativeAction.cpp @@ -32,7 +32,11 @@ AdministrativeAction::AdministrativeAction() : m_targetFileSystemValuesHasBeenSet(false), m_failureDetailsHasBeenSet(false), m_targetVolumeValuesHasBeenSet(false), - m_targetSnapshotValuesHasBeenSet(false) + m_targetSnapshotValuesHasBeenSet(false), + m_totalTransferBytes(0), + m_totalTransferBytesHasBeenSet(false), + m_remainingTransferBytes(0), + m_remainingTransferBytesHasBeenSet(false) { } @@ -47,7 +51,11 @@ AdministrativeAction::AdministrativeAction(JsonView jsonValue) : m_targetFileSystemValuesHasBeenSet(false), m_failureDetailsHasBeenSet(false), m_targetVolumeValuesHasBeenSet(false), - m_targetSnapshotValuesHasBeenSet(false) + m_targetSnapshotValuesHasBeenSet(false), + m_totalTransferBytes(0), + m_totalTransferBytesHasBeenSet(false), + m_remainingTransferBytes(0), + m_remainingTransferBytesHasBeenSet(false) { *this = jsonValue; } @@ -131,6 +139,20 @@ AdministrativeAction& AdministrativeAction::operator =(JsonView jsonValue) m_targetSnapshotValuesHasBeenSet = true; } + if(jsonValue.ValueExists("TotalTransferBytes")) + { + m_totalTransferBytes = jsonValue.GetInt64("TotalTransferBytes"); + + m_totalTransferBytesHasBeenSet = true; + } + + if(jsonValue.ValueExists("RemainingTransferBytes")) + { + m_remainingTransferBytes = jsonValue.GetInt64("RemainingTransferBytes"); + + m_remainingTransferBytesHasBeenSet = true; + } + return *this; } @@ -183,6 +205,18 @@ JsonValue AdministrativeAction::Jsonize() const } + if(m_totalTransferBytesHasBeenSet) + { + payload.WithInt64("TotalTransferBytes", m_totalTransferBytes); + + } + + if(m_remainingTransferBytesHasBeenSet) + { + payload.WithInt64("RemainingTransferBytes", m_remainingTransferBytes); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-fsx/source/model/AdministrativeActionType.cpp b/generated/src/aws-cpp-sdk-fsx/source/model/AdministrativeActionType.cpp index 2a90bf686d3..182b4ad0099 100644 --- a/generated/src/aws-cpp-sdk-fsx/source/model/AdministrativeActionType.cpp +++ b/generated/src/aws-cpp-sdk-fsx/source/model/AdministrativeActionType.cpp @@ -32,6 +32,8 @@ namespace Aws static const int IOPS_OPTIMIZATION_HASH = HashingUtils::HashString("IOPS_OPTIMIZATION"); static const int STORAGE_TYPE_OPTIMIZATION_HASH = HashingUtils::HashString("STORAGE_TYPE_OPTIMIZATION"); static const int MISCONFIGURED_STATE_RECOVERY_HASH = HashingUtils::HashString("MISCONFIGURED_STATE_RECOVERY"); + static const int VOLUME_UPDATE_WITH_SNAPSHOT_HASH = HashingUtils::HashString("VOLUME_UPDATE_WITH_SNAPSHOT"); + static const int VOLUME_INITIALIZE_WITH_SNAPSHOT_HASH = HashingUtils::HashString("VOLUME_INITIALIZE_WITH_SNAPSHOT"); AdministrativeActionType GetAdministrativeActionTypeForName(const Aws::String& name) @@ -85,6 +87,14 @@ namespace Aws { return AdministrativeActionType::MISCONFIGURED_STATE_RECOVERY; } + else if (hashCode == VOLUME_UPDATE_WITH_SNAPSHOT_HASH) + { + return AdministrativeActionType::VOLUME_UPDATE_WITH_SNAPSHOT; + } + else if (hashCode == VOLUME_INITIALIZE_WITH_SNAPSHOT_HASH) + { + return AdministrativeActionType::VOLUME_INITIALIZE_WITH_SNAPSHOT; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -125,6 +135,10 @@ namespace Aws return "STORAGE_TYPE_OPTIMIZATION"; case AdministrativeActionType::MISCONFIGURED_STATE_RECOVERY: return "MISCONFIGURED_STATE_RECOVERY"; + case AdministrativeActionType::VOLUME_UPDATE_WITH_SNAPSHOT: + return "VOLUME_UPDATE_WITH_SNAPSHOT"; + case AdministrativeActionType::VOLUME_INITIALIZE_WITH_SNAPSHOT: + return "VOLUME_INITIALIZE_WITH_SNAPSHOT"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-fsx/source/model/AggregateConfiguration.cpp b/generated/src/aws-cpp-sdk-fsx/source/model/AggregateConfiguration.cpp new file mode 100644 index 00000000000..cdc577bc227 --- /dev/null +++ b/generated/src/aws-cpp-sdk-fsx/source/model/AggregateConfiguration.cpp @@ -0,0 +1,84 @@ +/** + * 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 FSx +{ +namespace Model +{ + +AggregateConfiguration::AggregateConfiguration() : + m_aggregatesHasBeenSet(false), + m_totalConstituents(0), + m_totalConstituentsHasBeenSet(false) +{ +} + +AggregateConfiguration::AggregateConfiguration(JsonView jsonValue) : + m_aggregatesHasBeenSet(false), + m_totalConstituents(0), + m_totalConstituentsHasBeenSet(false) +{ + *this = jsonValue; +} + +AggregateConfiguration& AggregateConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Aggregates")) + { + Aws::Utils::Array aggregatesJsonList = jsonValue.GetArray("Aggregates"); + for(unsigned aggregatesIndex = 0; aggregatesIndex < aggregatesJsonList.GetLength(); ++aggregatesIndex) + { + m_aggregates.push_back(aggregatesJsonList[aggregatesIndex].AsString()); + } + m_aggregatesHasBeenSet = true; + } + + if(jsonValue.ValueExists("TotalConstituents")) + { + m_totalConstituents = jsonValue.GetInteger("TotalConstituents"); + + m_totalConstituentsHasBeenSet = true; + } + + return *this; +} + +JsonValue AggregateConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_aggregatesHasBeenSet) + { + Aws::Utils::Array aggregatesJsonList(m_aggregates.size()); + for(unsigned aggregatesIndex = 0; aggregatesIndex < aggregatesJsonList.GetLength(); ++aggregatesIndex) + { + aggregatesJsonList[aggregatesIndex].AsString(m_aggregates[aggregatesIndex]); + } + payload.WithArray("Aggregates", std::move(aggregatesJsonList)); + + } + + if(m_totalConstituentsHasBeenSet) + { + payload.WithInteger("TotalConstituents", m_totalConstituents); + + } + + return payload; +} + +} // namespace Model +} // namespace FSx +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-fsx/source/model/CopySnapshotAndUpdateVolumeRequest.cpp b/generated/src/aws-cpp-sdk-fsx/source/model/CopySnapshotAndUpdateVolumeRequest.cpp new file mode 100644 index 00000000000..c52d60fc033 --- /dev/null +++ b/generated/src/aws-cpp-sdk-fsx/source/model/CopySnapshotAndUpdateVolumeRequest.cpp @@ -0,0 +1,77 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::FSx::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +CopySnapshotAndUpdateVolumeRequest::CopySnapshotAndUpdateVolumeRequest() : + m_clientRequestToken(Aws::Utils::UUID::PseudoRandomUUID()), + m_clientRequestTokenHasBeenSet(true), + m_volumeIdHasBeenSet(false), + m_sourceSnapshotARNHasBeenSet(false), + m_copyStrategy(OpenZFSCopyStrategy::NOT_SET), + m_copyStrategyHasBeenSet(false), + m_optionsHasBeenSet(false) +{ +} + +Aws::String CopySnapshotAndUpdateVolumeRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_clientRequestTokenHasBeenSet) + { + payload.WithString("ClientRequestToken", m_clientRequestToken); + + } + + if(m_volumeIdHasBeenSet) + { + payload.WithString("VolumeId", m_volumeId); + + } + + if(m_sourceSnapshotARNHasBeenSet) + { + payload.WithString("SourceSnapshotARN", m_sourceSnapshotARN); + + } + + if(m_copyStrategyHasBeenSet) + { + payload.WithString("CopyStrategy", OpenZFSCopyStrategyMapper::GetNameForOpenZFSCopyStrategy(m_copyStrategy)); + } + + if(m_optionsHasBeenSet) + { + Aws::Utils::Array optionsJsonList(m_options.size()); + for(unsigned optionsIndex = 0; optionsIndex < optionsJsonList.GetLength(); ++optionsIndex) + { + optionsJsonList[optionsIndex].AsString(UpdateOpenZFSVolumeOptionMapper::GetNameForUpdateOpenZFSVolumeOption(m_options[optionsIndex])); + } + payload.WithArray("Options", std::move(optionsJsonList)); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection CopySnapshotAndUpdateVolumeRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "AWSSimbaAPIService_v20180301.CopySnapshotAndUpdateVolume")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-fsx/source/model/CopySnapshotAndUpdateVolumeResult.cpp b/generated/src/aws-cpp-sdk-fsx/source/model/CopySnapshotAndUpdateVolumeResult.cpp new file mode 100644 index 00000000000..675dc038386 --- /dev/null +++ b/generated/src/aws-cpp-sdk-fsx/source/model/CopySnapshotAndUpdateVolumeResult.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 +#include + +#include + +using namespace Aws::FSx::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +CopySnapshotAndUpdateVolumeResult::CopySnapshotAndUpdateVolumeResult() : + m_lifecycle(VolumeLifecycle::NOT_SET) +{ +} + +CopySnapshotAndUpdateVolumeResult::CopySnapshotAndUpdateVolumeResult(const Aws::AmazonWebServiceResult& result) : + m_lifecycle(VolumeLifecycle::NOT_SET) +{ + *this = result; +} + +CopySnapshotAndUpdateVolumeResult& CopySnapshotAndUpdateVolumeResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("VolumeId")) + { + m_volumeId = jsonValue.GetString("VolumeId"); + + } + + if(jsonValue.ValueExists("Lifecycle")) + { + m_lifecycle = VolumeLifecycleMapper::GetVolumeLifecycleForName(jsonValue.GetString("Lifecycle")); + + } + + if(jsonValue.ValueExists("AdministrativeActions")) + { + Aws::Utils::Array administrativeActionsJsonList = jsonValue.GetArray("AdministrativeActions"); + for(unsigned administrativeActionsIndex = 0; administrativeActionsIndex < administrativeActionsJsonList.GetLength(); ++administrativeActionsIndex) + { + m_administrativeActions.push_back(administrativeActionsJsonList[administrativeActionsIndex].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-fsx/source/model/CreateAggregateConfiguration.cpp b/generated/src/aws-cpp-sdk-fsx/source/model/CreateAggregateConfiguration.cpp new file mode 100644 index 00000000000..075f75e19f0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-fsx/source/model/CreateAggregateConfiguration.cpp @@ -0,0 +1,84 @@ +/** + * 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 FSx +{ +namespace Model +{ + +CreateAggregateConfiguration::CreateAggregateConfiguration() : + m_aggregatesHasBeenSet(false), + m_constituentsPerAggregate(0), + m_constituentsPerAggregateHasBeenSet(false) +{ +} + +CreateAggregateConfiguration::CreateAggregateConfiguration(JsonView jsonValue) : + m_aggregatesHasBeenSet(false), + m_constituentsPerAggregate(0), + m_constituentsPerAggregateHasBeenSet(false) +{ + *this = jsonValue; +} + +CreateAggregateConfiguration& CreateAggregateConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Aggregates")) + { + Aws::Utils::Array aggregatesJsonList = jsonValue.GetArray("Aggregates"); + for(unsigned aggregatesIndex = 0; aggregatesIndex < aggregatesJsonList.GetLength(); ++aggregatesIndex) + { + m_aggregates.push_back(aggregatesJsonList[aggregatesIndex].AsString()); + } + m_aggregatesHasBeenSet = true; + } + + if(jsonValue.ValueExists("ConstituentsPerAggregate")) + { + m_constituentsPerAggregate = jsonValue.GetInteger("ConstituentsPerAggregate"); + + m_constituentsPerAggregateHasBeenSet = true; + } + + return *this; +} + +JsonValue CreateAggregateConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_aggregatesHasBeenSet) + { + Aws::Utils::Array aggregatesJsonList(m_aggregates.size()); + for(unsigned aggregatesIndex = 0; aggregatesIndex < aggregatesJsonList.GetLength(); ++aggregatesIndex) + { + aggregatesJsonList[aggregatesIndex].AsString(m_aggregates[aggregatesIndex]); + } + payload.WithArray("Aggregates", std::move(aggregatesJsonList)); + + } + + if(m_constituentsPerAggregateHasBeenSet) + { + payload.WithInteger("ConstituentsPerAggregate", m_constituentsPerAggregate); + + } + + return payload; +} + +} // namespace Model +} // namespace FSx +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-fsx/source/model/CreateFileSystemOntapConfiguration.cpp b/generated/src/aws-cpp-sdk-fsx/source/model/CreateFileSystemOntapConfiguration.cpp index 9e8b302d1b4..02c56b4218a 100644 --- a/generated/src/aws-cpp-sdk-fsx/source/model/CreateFileSystemOntapConfiguration.cpp +++ b/generated/src/aws-cpp-sdk-fsx/source/model/CreateFileSystemOntapConfiguration.cpp @@ -31,7 +31,11 @@ CreateFileSystemOntapConfiguration::CreateFileSystemOntapConfiguration() : m_routeTableIdsHasBeenSet(false), m_throughputCapacity(0), m_throughputCapacityHasBeenSet(false), - m_weeklyMaintenanceStartTimeHasBeenSet(false) + m_weeklyMaintenanceStartTimeHasBeenSet(false), + m_hAPairs(0), + m_hAPairsHasBeenSet(false), + m_throughputCapacityPerHAPair(0), + m_throughputCapacityPerHAPairHasBeenSet(false) { } @@ -48,7 +52,11 @@ CreateFileSystemOntapConfiguration::CreateFileSystemOntapConfiguration(JsonView m_routeTableIdsHasBeenSet(false), m_throughputCapacity(0), m_throughputCapacityHasBeenSet(false), - m_weeklyMaintenanceStartTimeHasBeenSet(false) + m_weeklyMaintenanceStartTimeHasBeenSet(false), + m_hAPairs(0), + m_hAPairsHasBeenSet(false), + m_throughputCapacityPerHAPair(0), + m_throughputCapacityPerHAPairHasBeenSet(false) { *this = jsonValue; } @@ -128,6 +136,20 @@ CreateFileSystemOntapConfiguration& CreateFileSystemOntapConfiguration::operator m_weeklyMaintenanceStartTimeHasBeenSet = true; } + if(jsonValue.ValueExists("HAPairs")) + { + m_hAPairs = jsonValue.GetInteger("HAPairs"); + + m_hAPairsHasBeenSet = true; + } + + if(jsonValue.ValueExists("ThroughputCapacityPerHAPair")) + { + m_throughputCapacityPerHAPair = jsonValue.GetInteger("ThroughputCapacityPerHAPair"); + + m_throughputCapacityPerHAPairHasBeenSet = true; + } + return *this; } @@ -199,6 +221,18 @@ JsonValue CreateFileSystemOntapConfiguration::Jsonize() const } + if(m_hAPairsHasBeenSet) + { + payload.WithInteger("HAPairs", m_hAPairs); + + } + + if(m_throughputCapacityPerHAPairHasBeenSet) + { + payload.WithInteger("ThroughputCapacityPerHAPair", m_throughputCapacityPerHAPair); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-fsx/source/model/CreateOntapVolumeConfiguration.cpp b/generated/src/aws-cpp-sdk-fsx/source/model/CreateOntapVolumeConfiguration.cpp index 56ec4b0f587..ba7de64c3c5 100644 --- a/generated/src/aws-cpp-sdk-fsx/source/model/CreateOntapVolumeConfiguration.cpp +++ b/generated/src/aws-cpp-sdk-fsx/source/model/CreateOntapVolumeConfiguration.cpp @@ -22,8 +22,6 @@ CreateOntapVolumeConfiguration::CreateOntapVolumeConfiguration() : m_junctionPathHasBeenSet(false), m_securityStyle(SecurityStyle::NOT_SET), m_securityStyleHasBeenSet(false), - m_sizeInMegabytes(0), - m_sizeInMegabytesHasBeenSet(false), m_storageEfficiencyEnabled(false), m_storageEfficiencyEnabledHasBeenSet(false), m_storageVirtualMachineIdHasBeenSet(false), @@ -33,7 +31,12 @@ CreateOntapVolumeConfiguration::CreateOntapVolumeConfiguration() : m_snapshotPolicyHasBeenSet(false), m_copyTagsToBackups(false), m_copyTagsToBackupsHasBeenSet(false), - m_snaplockConfigurationHasBeenSet(false) + m_snaplockConfigurationHasBeenSet(false), + m_volumeStyle(VolumeStyle::NOT_SET), + m_volumeStyleHasBeenSet(false), + m_aggregateConfigurationHasBeenSet(false), + m_sizeInBytes(0), + m_sizeInBytesHasBeenSet(false) { } @@ -41,8 +44,6 @@ CreateOntapVolumeConfiguration::CreateOntapVolumeConfiguration(JsonView jsonValu m_junctionPathHasBeenSet(false), m_securityStyle(SecurityStyle::NOT_SET), m_securityStyleHasBeenSet(false), - m_sizeInMegabytes(0), - m_sizeInMegabytesHasBeenSet(false), m_storageEfficiencyEnabled(false), m_storageEfficiencyEnabledHasBeenSet(false), m_storageVirtualMachineIdHasBeenSet(false), @@ -52,7 +53,12 @@ CreateOntapVolumeConfiguration::CreateOntapVolumeConfiguration(JsonView jsonValu m_snapshotPolicyHasBeenSet(false), m_copyTagsToBackups(false), m_copyTagsToBackupsHasBeenSet(false), - m_snaplockConfigurationHasBeenSet(false) + m_snaplockConfigurationHasBeenSet(false), + m_volumeStyle(VolumeStyle::NOT_SET), + m_volumeStyleHasBeenSet(false), + m_aggregateConfigurationHasBeenSet(false), + m_sizeInBytes(0), + m_sizeInBytesHasBeenSet(false) { *this = jsonValue; } @@ -73,13 +79,6 @@ CreateOntapVolumeConfiguration& CreateOntapVolumeConfiguration::operator =(JsonV m_securityStyleHasBeenSet = true; } - if(jsonValue.ValueExists("SizeInMegabytes")) - { - m_sizeInMegabytes = jsonValue.GetInteger("SizeInMegabytes"); - - m_sizeInMegabytesHasBeenSet = true; - } - if(jsonValue.ValueExists("StorageEfficiencyEnabled")) { m_storageEfficiencyEnabled = jsonValue.GetBool("StorageEfficiencyEnabled"); @@ -129,6 +128,27 @@ CreateOntapVolumeConfiguration& CreateOntapVolumeConfiguration::operator =(JsonV m_snaplockConfigurationHasBeenSet = true; } + if(jsonValue.ValueExists("VolumeStyle")) + { + m_volumeStyle = VolumeStyleMapper::GetVolumeStyleForName(jsonValue.GetString("VolumeStyle")); + + m_volumeStyleHasBeenSet = true; + } + + if(jsonValue.ValueExists("AggregateConfiguration")) + { + m_aggregateConfiguration = jsonValue.GetObject("AggregateConfiguration"); + + m_aggregateConfigurationHasBeenSet = true; + } + + if(jsonValue.ValueExists("SizeInBytes")) + { + m_sizeInBytes = jsonValue.GetInt64("SizeInBytes"); + + m_sizeInBytesHasBeenSet = true; + } + return *this; } @@ -147,12 +167,6 @@ JsonValue CreateOntapVolumeConfiguration::Jsonize() const payload.WithString("SecurityStyle", SecurityStyleMapper::GetNameForSecurityStyle(m_securityStyle)); } - if(m_sizeInMegabytesHasBeenSet) - { - payload.WithInteger("SizeInMegabytes", m_sizeInMegabytes); - - } - if(m_storageEfficiencyEnabledHasBeenSet) { payload.WithBool("StorageEfficiencyEnabled", m_storageEfficiencyEnabled); @@ -194,6 +208,23 @@ JsonValue CreateOntapVolumeConfiguration::Jsonize() const } + if(m_volumeStyleHasBeenSet) + { + payload.WithString("VolumeStyle", VolumeStyleMapper::GetNameForVolumeStyle(m_volumeStyle)); + } + + if(m_aggregateConfigurationHasBeenSet) + { + payload.WithObject("AggregateConfiguration", m_aggregateConfiguration.Jsonize()); + + } + + if(m_sizeInBytesHasBeenSet) + { + payload.WithInt64("SizeInBytes", m_sizeInBytes); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-fsx/source/model/DescribeSharedVpcConfigurationRequest.cpp b/generated/src/aws-cpp-sdk-fsx/source/model/DescribeSharedVpcConfigurationRequest.cpp new file mode 100644 index 00000000000..2c9f1428849 --- /dev/null +++ b/generated/src/aws-cpp-sdk-fsx/source/model/DescribeSharedVpcConfigurationRequest.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::FSx::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +DescribeSharedVpcConfigurationRequest::DescribeSharedVpcConfigurationRequest() +{ +} + +Aws::String DescribeSharedVpcConfigurationRequest::SerializePayload() const +{ + return "{}"; +} + +Aws::Http::HeaderValueCollection DescribeSharedVpcConfigurationRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "AWSSimbaAPIService_v20180301.DescribeSharedVpcConfiguration")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-fsx/source/model/DescribeSharedVpcConfigurationResult.cpp b/generated/src/aws-cpp-sdk-fsx/source/model/DescribeSharedVpcConfigurationResult.cpp new file mode 100644 index 00000000000..d877440a3ef --- /dev/null +++ b/generated/src/aws-cpp-sdk-fsx/source/model/DescribeSharedVpcConfigurationResult.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::FSx::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DescribeSharedVpcConfigurationResult::DescribeSharedVpcConfigurationResult() +{ +} + +DescribeSharedVpcConfigurationResult::DescribeSharedVpcConfigurationResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DescribeSharedVpcConfigurationResult& DescribeSharedVpcConfigurationResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("EnableFsxRouteTableUpdatesFromParticipantAccounts")) + { + m_enableFsxRouteTableUpdatesFromParticipantAccounts = jsonValue.GetString("EnableFsxRouteTableUpdatesFromParticipantAccounts"); + + } + + + 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-fsx/source/model/OntapDeploymentType.cpp b/generated/src/aws-cpp-sdk-fsx/source/model/OntapDeploymentType.cpp index bcf213e690d..afc24061494 100644 --- a/generated/src/aws-cpp-sdk-fsx/source/model/OntapDeploymentType.cpp +++ b/generated/src/aws-cpp-sdk-fsx/source/model/OntapDeploymentType.cpp @@ -22,6 +22,7 @@ namespace Aws static const int MULTI_AZ_1_HASH = HashingUtils::HashString("MULTI_AZ_1"); static const int SINGLE_AZ_1_HASH = HashingUtils::HashString("SINGLE_AZ_1"); + static const int SINGLE_AZ_2_HASH = HashingUtils::HashString("SINGLE_AZ_2"); OntapDeploymentType GetOntapDeploymentTypeForName(const Aws::String& name) @@ -35,6 +36,10 @@ namespace Aws { return OntapDeploymentType::SINGLE_AZ_1; } + else if (hashCode == SINGLE_AZ_2_HASH) + { + return OntapDeploymentType::SINGLE_AZ_2; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -55,6 +60,8 @@ namespace Aws return "MULTI_AZ_1"; case OntapDeploymentType::SINGLE_AZ_1: return "SINGLE_AZ_1"; + case OntapDeploymentType::SINGLE_AZ_2: + return "SINGLE_AZ_2"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-fsx/source/model/OntapFileSystemConfiguration.cpp b/generated/src/aws-cpp-sdk-fsx/source/model/OntapFileSystemConfiguration.cpp index 7d0e0914f12..6e1544833c8 100644 --- a/generated/src/aws-cpp-sdk-fsx/source/model/OntapFileSystemConfiguration.cpp +++ b/generated/src/aws-cpp-sdk-fsx/source/model/OntapFileSystemConfiguration.cpp @@ -32,7 +32,11 @@ OntapFileSystemConfiguration::OntapFileSystemConfiguration() : m_throughputCapacity(0), m_throughputCapacityHasBeenSet(false), m_weeklyMaintenanceStartTimeHasBeenSet(false), - m_fsxAdminPasswordHasBeenSet(false) + m_fsxAdminPasswordHasBeenSet(false), + m_hAPairs(0), + m_hAPairsHasBeenSet(false), + m_throughputCapacityPerHAPair(0), + m_throughputCapacityPerHAPairHasBeenSet(false) { } @@ -50,7 +54,11 @@ OntapFileSystemConfiguration::OntapFileSystemConfiguration(JsonView jsonValue) : m_throughputCapacity(0), m_throughputCapacityHasBeenSet(false), m_weeklyMaintenanceStartTimeHasBeenSet(false), - m_fsxAdminPasswordHasBeenSet(false) + m_fsxAdminPasswordHasBeenSet(false), + m_hAPairs(0), + m_hAPairsHasBeenSet(false), + m_throughputCapacityPerHAPair(0), + m_throughputCapacityPerHAPairHasBeenSet(false) { *this = jsonValue; } @@ -137,6 +145,20 @@ OntapFileSystemConfiguration& OntapFileSystemConfiguration::operator =(JsonView m_fsxAdminPasswordHasBeenSet = true; } + if(jsonValue.ValueExists("HAPairs")) + { + m_hAPairs = jsonValue.GetInteger("HAPairs"); + + m_hAPairsHasBeenSet = true; + } + + if(jsonValue.ValueExists("ThroughputCapacityPerHAPair")) + { + m_throughputCapacityPerHAPair = jsonValue.GetInteger("ThroughputCapacityPerHAPair"); + + m_throughputCapacityPerHAPairHasBeenSet = true; + } + return *this; } @@ -214,6 +236,18 @@ JsonValue OntapFileSystemConfiguration::Jsonize() const } + if(m_hAPairsHasBeenSet) + { + payload.WithInteger("HAPairs", m_hAPairs); + + } + + if(m_throughputCapacityPerHAPairHasBeenSet) + { + payload.WithInteger("ThroughputCapacityPerHAPair", m_throughputCapacityPerHAPair); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-fsx/source/model/OntapVolumeConfiguration.cpp b/generated/src/aws-cpp-sdk-fsx/source/model/OntapVolumeConfiguration.cpp index d1b3734c7e1..b8ebc207558 100644 --- a/generated/src/aws-cpp-sdk-fsx/source/model/OntapVolumeConfiguration.cpp +++ b/generated/src/aws-cpp-sdk-fsx/source/model/OntapVolumeConfiguration.cpp @@ -38,7 +38,12 @@ OntapVolumeConfiguration::OntapVolumeConfiguration() : m_snapshotPolicyHasBeenSet(false), m_copyTagsToBackups(false), m_copyTagsToBackupsHasBeenSet(false), - m_snaplockConfigurationHasBeenSet(false) + m_snaplockConfigurationHasBeenSet(false), + m_volumeStyle(VolumeStyle::NOT_SET), + m_volumeStyleHasBeenSet(false), + m_aggregateConfigurationHasBeenSet(false), + m_sizeInBytes(0), + m_sizeInBytesHasBeenSet(false) { } @@ -62,7 +67,12 @@ OntapVolumeConfiguration::OntapVolumeConfiguration(JsonView jsonValue) : m_snapshotPolicyHasBeenSet(false), m_copyTagsToBackups(false), m_copyTagsToBackupsHasBeenSet(false), - m_snaplockConfigurationHasBeenSet(false) + m_snaplockConfigurationHasBeenSet(false), + m_volumeStyle(VolumeStyle::NOT_SET), + m_volumeStyleHasBeenSet(false), + m_aggregateConfigurationHasBeenSet(false), + m_sizeInBytes(0), + m_sizeInBytesHasBeenSet(false) { *this = jsonValue; } @@ -160,6 +170,27 @@ OntapVolumeConfiguration& OntapVolumeConfiguration::operator =(JsonView jsonValu m_snaplockConfigurationHasBeenSet = true; } + if(jsonValue.ValueExists("VolumeStyle")) + { + m_volumeStyle = VolumeStyleMapper::GetVolumeStyleForName(jsonValue.GetString("VolumeStyle")); + + m_volumeStyleHasBeenSet = true; + } + + if(jsonValue.ValueExists("AggregateConfiguration")) + { + m_aggregateConfiguration = jsonValue.GetObject("AggregateConfiguration"); + + m_aggregateConfigurationHasBeenSet = true; + } + + if(jsonValue.ValueExists("SizeInBytes")) + { + m_sizeInBytes = jsonValue.GetInt64("SizeInBytes"); + + m_sizeInBytesHasBeenSet = true; + } + return *this; } @@ -242,6 +273,23 @@ JsonValue OntapVolumeConfiguration::Jsonize() const } + if(m_volumeStyleHasBeenSet) + { + payload.WithString("VolumeStyle", VolumeStyleMapper::GetNameForVolumeStyle(m_volumeStyle)); + } + + if(m_aggregateConfigurationHasBeenSet) + { + payload.WithObject("AggregateConfiguration", m_aggregateConfiguration.Jsonize()); + + } + + if(m_sizeInBytesHasBeenSet) + { + payload.WithInt64("SizeInBytes", m_sizeInBytes); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-fsx/source/model/OpenZFSCopyStrategy.cpp b/generated/src/aws-cpp-sdk-fsx/source/model/OpenZFSCopyStrategy.cpp index cf7b623478b..dbd6e74498e 100644 --- a/generated/src/aws-cpp-sdk-fsx/source/model/OpenZFSCopyStrategy.cpp +++ b/generated/src/aws-cpp-sdk-fsx/source/model/OpenZFSCopyStrategy.cpp @@ -22,6 +22,7 @@ namespace Aws static const int CLONE_HASH = HashingUtils::HashString("CLONE"); static const int FULL_COPY_HASH = HashingUtils::HashString("FULL_COPY"); + static const int INCREMENTAL_COPY_HASH = HashingUtils::HashString("INCREMENTAL_COPY"); OpenZFSCopyStrategy GetOpenZFSCopyStrategyForName(const Aws::String& name) @@ -35,6 +36,10 @@ namespace Aws { return OpenZFSCopyStrategy::FULL_COPY; } + else if (hashCode == INCREMENTAL_COPY_HASH) + { + return OpenZFSCopyStrategy::INCREMENTAL_COPY; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -55,6 +60,8 @@ namespace Aws return "CLONE"; case OpenZFSCopyStrategy::FULL_COPY: return "FULL_COPY"; + case OpenZFSCopyStrategy::INCREMENTAL_COPY: + return "INCREMENTAL_COPY"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-fsx/source/model/OpenZFSVolumeConfiguration.cpp b/generated/src/aws-cpp-sdk-fsx/source/model/OpenZFSVolumeConfiguration.cpp index c4f1457ae43..e949a87a881 100644 --- a/generated/src/aws-cpp-sdk-fsx/source/model/OpenZFSVolumeConfiguration.cpp +++ b/generated/src/aws-cpp-sdk-fsx/source/model/OpenZFSVolumeConfiguration.cpp @@ -40,7 +40,11 @@ OpenZFSVolumeConfiguration::OpenZFSVolumeConfiguration() : m_deleteIntermediateSnaphots(false), m_deleteIntermediateSnaphotsHasBeenSet(false), m_deleteClonedVolumes(false), - m_deleteClonedVolumesHasBeenSet(false) + m_deleteClonedVolumesHasBeenSet(false), + m_deleteIntermediateData(false), + m_deleteIntermediateDataHasBeenSet(false), + m_sourceSnapshotARNHasBeenSet(false), + m_destinationSnapshotHasBeenSet(false) { } @@ -66,7 +70,11 @@ OpenZFSVolumeConfiguration::OpenZFSVolumeConfiguration(JsonView jsonValue) : m_deleteIntermediateSnaphots(false), m_deleteIntermediateSnaphotsHasBeenSet(false), m_deleteClonedVolumes(false), - m_deleteClonedVolumesHasBeenSet(false) + m_deleteClonedVolumesHasBeenSet(false), + m_deleteIntermediateData(false), + m_deleteIntermediateDataHasBeenSet(false), + m_sourceSnapshotARNHasBeenSet(false), + m_destinationSnapshotHasBeenSet(false) { *this = jsonValue; } @@ -177,6 +185,27 @@ OpenZFSVolumeConfiguration& OpenZFSVolumeConfiguration::operator =(JsonView json m_deleteClonedVolumesHasBeenSet = true; } + if(jsonValue.ValueExists("DeleteIntermediateData")) + { + m_deleteIntermediateData = jsonValue.GetBool("DeleteIntermediateData"); + + m_deleteIntermediateDataHasBeenSet = true; + } + + if(jsonValue.ValueExists("SourceSnapshotARN")) + { + m_sourceSnapshotARN = jsonValue.GetString("SourceSnapshotARN"); + + m_sourceSnapshotARNHasBeenSet = true; + } + + if(jsonValue.ValueExists("DestinationSnapshot")) + { + m_destinationSnapshot = jsonValue.GetString("DestinationSnapshot"); + + m_destinationSnapshotHasBeenSet = true; + } + return *this; } @@ -277,6 +306,24 @@ JsonValue OpenZFSVolumeConfiguration::Jsonize() const } + if(m_deleteIntermediateDataHasBeenSet) + { + payload.WithBool("DeleteIntermediateData", m_deleteIntermediateData); + + } + + if(m_sourceSnapshotARNHasBeenSet) + { + payload.WithString("SourceSnapshotARN", m_sourceSnapshotARN); + + } + + if(m_destinationSnapshotHasBeenSet) + { + payload.WithString("DestinationSnapshot", m_destinationSnapshot); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-fsx/source/model/UpdateFileSystemOntapConfiguration.cpp b/generated/src/aws-cpp-sdk-fsx/source/model/UpdateFileSystemOntapConfiguration.cpp index 7501082fded..99402adb36d 100644 --- a/generated/src/aws-cpp-sdk-fsx/source/model/UpdateFileSystemOntapConfiguration.cpp +++ b/generated/src/aws-cpp-sdk-fsx/source/model/UpdateFileSystemOntapConfiguration.cpp @@ -28,7 +28,9 @@ UpdateFileSystemOntapConfiguration::UpdateFileSystemOntapConfiguration() : m_throughputCapacity(0), m_throughputCapacityHasBeenSet(false), m_addRouteTableIdsHasBeenSet(false), - m_removeRouteTableIdsHasBeenSet(false) + m_removeRouteTableIdsHasBeenSet(false), + m_throughputCapacityPerHAPair(0), + m_throughputCapacityPerHAPairHasBeenSet(false) { } @@ -42,7 +44,9 @@ UpdateFileSystemOntapConfiguration::UpdateFileSystemOntapConfiguration(JsonView m_throughputCapacity(0), m_throughputCapacityHasBeenSet(false), m_addRouteTableIdsHasBeenSet(false), - m_removeRouteTableIdsHasBeenSet(false) + m_removeRouteTableIdsHasBeenSet(false), + m_throughputCapacityPerHAPair(0), + m_throughputCapacityPerHAPairHasBeenSet(false) { *this = jsonValue; } @@ -111,6 +115,13 @@ UpdateFileSystemOntapConfiguration& UpdateFileSystemOntapConfiguration::operator m_removeRouteTableIdsHasBeenSet = true; } + if(jsonValue.ValueExists("ThroughputCapacityPerHAPair")) + { + m_throughputCapacityPerHAPair = jsonValue.GetInteger("ThroughputCapacityPerHAPair"); + + m_throughputCapacityPerHAPairHasBeenSet = true; + } + return *this; } @@ -176,6 +187,12 @@ JsonValue UpdateFileSystemOntapConfiguration::Jsonize() const } + if(m_throughputCapacityPerHAPairHasBeenSet) + { + payload.WithInteger("ThroughputCapacityPerHAPair", m_throughputCapacityPerHAPair); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-fsx/source/model/UpdateOntapVolumeConfiguration.cpp b/generated/src/aws-cpp-sdk-fsx/source/model/UpdateOntapVolumeConfiguration.cpp index ef125539908..5c3c9b3d20a 100644 --- a/generated/src/aws-cpp-sdk-fsx/source/model/UpdateOntapVolumeConfiguration.cpp +++ b/generated/src/aws-cpp-sdk-fsx/source/model/UpdateOntapVolumeConfiguration.cpp @@ -30,7 +30,9 @@ UpdateOntapVolumeConfiguration::UpdateOntapVolumeConfiguration() : m_snapshotPolicyHasBeenSet(false), m_copyTagsToBackups(false), m_copyTagsToBackupsHasBeenSet(false), - m_snaplockConfigurationHasBeenSet(false) + m_snaplockConfigurationHasBeenSet(false), + m_sizeInBytes(0), + m_sizeInBytesHasBeenSet(false) { } @@ -46,7 +48,9 @@ UpdateOntapVolumeConfiguration::UpdateOntapVolumeConfiguration(JsonView jsonValu m_snapshotPolicyHasBeenSet(false), m_copyTagsToBackups(false), m_copyTagsToBackupsHasBeenSet(false), - m_snaplockConfigurationHasBeenSet(false) + m_snaplockConfigurationHasBeenSet(false), + m_sizeInBytes(0), + m_sizeInBytesHasBeenSet(false) { *this = jsonValue; } @@ -109,6 +113,13 @@ UpdateOntapVolumeConfiguration& UpdateOntapVolumeConfiguration::operator =(JsonV m_snaplockConfigurationHasBeenSet = true; } + if(jsonValue.ValueExists("SizeInBytes")) + { + m_sizeInBytes = jsonValue.GetInt64("SizeInBytes"); + + m_sizeInBytesHasBeenSet = true; + } + return *this; } @@ -163,6 +174,12 @@ JsonValue UpdateOntapVolumeConfiguration::Jsonize() const } + if(m_sizeInBytesHasBeenSet) + { + payload.WithInt64("SizeInBytes", m_sizeInBytes); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-fsx/source/model/UpdateOpenZFSVolumeOption.cpp b/generated/src/aws-cpp-sdk-fsx/source/model/UpdateOpenZFSVolumeOption.cpp new file mode 100644 index 00000000000..76070b2bb59 --- /dev/null +++ b/generated/src/aws-cpp-sdk-fsx/source/model/UpdateOpenZFSVolumeOption.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 FSx + { + namespace Model + { + namespace UpdateOpenZFSVolumeOptionMapper + { + + static const int DELETE_INTERMEDIATE_SNAPSHOTS_HASH = HashingUtils::HashString("DELETE_INTERMEDIATE_SNAPSHOTS"); + static const int DELETE_CLONED_VOLUMES_HASH = HashingUtils::HashString("DELETE_CLONED_VOLUMES"); + static const int DELETE_INTERMEDIATE_DATA_HASH = HashingUtils::HashString("DELETE_INTERMEDIATE_DATA"); + + + UpdateOpenZFSVolumeOption GetUpdateOpenZFSVolumeOptionForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == DELETE_INTERMEDIATE_SNAPSHOTS_HASH) + { + return UpdateOpenZFSVolumeOption::DELETE_INTERMEDIATE_SNAPSHOTS; + } + else if (hashCode == DELETE_CLONED_VOLUMES_HASH) + { + return UpdateOpenZFSVolumeOption::DELETE_CLONED_VOLUMES; + } + else if (hashCode == DELETE_INTERMEDIATE_DATA_HASH) + { + return UpdateOpenZFSVolumeOption::DELETE_INTERMEDIATE_DATA; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return UpdateOpenZFSVolumeOption::NOT_SET; + } + + Aws::String GetNameForUpdateOpenZFSVolumeOption(UpdateOpenZFSVolumeOption enumValue) + { + switch(enumValue) + { + case UpdateOpenZFSVolumeOption::NOT_SET: + return {}; + case UpdateOpenZFSVolumeOption::DELETE_INTERMEDIATE_SNAPSHOTS: + return "DELETE_INTERMEDIATE_SNAPSHOTS"; + case UpdateOpenZFSVolumeOption::DELETE_CLONED_VOLUMES: + return "DELETE_CLONED_VOLUMES"; + case UpdateOpenZFSVolumeOption::DELETE_INTERMEDIATE_DATA: + return "DELETE_INTERMEDIATE_DATA"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace UpdateOpenZFSVolumeOptionMapper + } // namespace Model + } // namespace FSx +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-fsx/source/model/UpdateSharedVpcConfigurationRequest.cpp b/generated/src/aws-cpp-sdk-fsx/source/model/UpdateSharedVpcConfigurationRequest.cpp new file mode 100644 index 00000000000..8857885ec03 --- /dev/null +++ b/generated/src/aws-cpp-sdk-fsx/source/model/UpdateSharedVpcConfigurationRequest.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::FSx::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +UpdateSharedVpcConfigurationRequest::UpdateSharedVpcConfigurationRequest() : + m_enableFsxRouteTableUpdatesFromParticipantAccountsHasBeenSet(false), + m_clientRequestToken(Aws::Utils::UUID::PseudoRandomUUID()), + m_clientRequestTokenHasBeenSet(true) +{ +} + +Aws::String UpdateSharedVpcConfigurationRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_enableFsxRouteTableUpdatesFromParticipantAccountsHasBeenSet) + { + payload.WithString("EnableFsxRouteTableUpdatesFromParticipantAccounts", m_enableFsxRouteTableUpdatesFromParticipantAccounts); + + } + + if(m_clientRequestTokenHasBeenSet) + { + payload.WithString("ClientRequestToken", m_clientRequestToken); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection UpdateSharedVpcConfigurationRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "AWSSimbaAPIService_v20180301.UpdateSharedVpcConfiguration")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-fsx/source/model/UpdateSharedVpcConfigurationResult.cpp b/generated/src/aws-cpp-sdk-fsx/source/model/UpdateSharedVpcConfigurationResult.cpp new file mode 100644 index 00000000000..bc096068598 --- /dev/null +++ b/generated/src/aws-cpp-sdk-fsx/source/model/UpdateSharedVpcConfigurationResult.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::FSx::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +UpdateSharedVpcConfigurationResult::UpdateSharedVpcConfigurationResult() +{ +} + +UpdateSharedVpcConfigurationResult::UpdateSharedVpcConfigurationResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +UpdateSharedVpcConfigurationResult& UpdateSharedVpcConfigurationResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("EnableFsxRouteTableUpdatesFromParticipantAccounts")) + { + m_enableFsxRouteTableUpdatesFromParticipantAccounts = jsonValue.GetString("EnableFsxRouteTableUpdatesFromParticipantAccounts"); + + } + + + 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-fsx/source/model/VolumeStyle.cpp b/generated/src/aws-cpp-sdk-fsx/source/model/VolumeStyle.cpp new file mode 100644 index 00000000000..e29d01ae36f --- /dev/null +++ b/generated/src/aws-cpp-sdk-fsx/source/model/VolumeStyle.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 FSx + { + namespace Model + { + namespace VolumeStyleMapper + { + + static const int FLEXVOL_HASH = HashingUtils::HashString("FLEXVOL"); + static const int FLEXGROUP_HASH = HashingUtils::HashString("FLEXGROUP"); + + + VolumeStyle GetVolumeStyleForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == FLEXVOL_HASH) + { + return VolumeStyle::FLEXVOL; + } + else if (hashCode == FLEXGROUP_HASH) + { + return VolumeStyle::FLEXGROUP; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return VolumeStyle::NOT_SET; + } + + Aws::String GetNameForVolumeStyle(VolumeStyle enumValue) + { + switch(enumValue) + { + case VolumeStyle::NOT_SET: + return {}; + case VolumeStyle::FLEXVOL: + return "FLEXVOL"; + case VolumeStyle::FLEXGROUP: + return "FLEXGROUP"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace VolumeStyleMapper + } // namespace Model + } // namespace FSx +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/GuardDutyClient.h b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/GuardDutyClient.h index 3d5efeaa1fa..ea935a55a60 100644 --- a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/GuardDutyClient.h +++ b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/GuardDutyClient.h @@ -17,23 +17,25 @@ namespace GuardDuty { /** *

            Amazon GuardDuty is a continuous security monitoring service that analyzes - * and processes the following data sources: VPC flow logs, Amazon Web Services - * CloudTrail management event logs, CloudTrail S3 data event logs, EKS audit logs, - * DNS logs, and Amazon EBS volume data. It uses threat intelligence feeds, such as - * lists of malicious IPs and domains, and machine learning to identify unexpected, - * potentially unauthorized, and malicious activity within your Amazon Web Services - * environment. This can include issues like escalations of privileges, uses of - * exposed credentials, or communication with malicious IPs, domains, or presence - * of malware on your Amazon EC2 instances and container workloads. For example, - * GuardDuty can detect compromised EC2 instances and container workloads serving - * malware, or mining bitcoin.

            GuardDuty also monitors Amazon Web Services - * account access behavior for signs of compromise, such as unauthorized - * infrastructure deployments like EC2 instances deployed in a Region that has - * never been used, or unusual API calls like a password policy change to reduce - * password strength.

            GuardDuty informs you about the status of your Amazon - * Web Services environment by producing security findings that you can view in the - * GuardDuty console or through Amazon EventBridge. For more information, see the - *

            GuardDuty also + * monitors Amazon Web Services account access behavior for signs of compromise, + * such as unauthorized infrastructure deployments like EC2 instances deployed in a + * Region that has never been used, or unusual API calls like a password policy + * change to reduce password strength.

            GuardDuty informs you about the + * status of your Amazon Web Services environment by producing security findings + * that you can view in the GuardDuty console or through Amazon EventBridge. For + * more information, see the Amazon * GuardDuty User Guide .

            */ diff --git a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/AgentDetails.h b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/AgentDetails.h new file mode 100644 index 00000000000..c9cde36b5cc --- /dev/null +++ b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/AgentDetails.h @@ -0,0 +1,89 @@ +/** + * 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 GuardDuty +{ +namespace Model +{ + + /** + *

            Information about the installed GuardDuty security agent.

            See + * Also:

            AWS + * API Reference

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

            Version of the installed GuardDuty security agent.

            + */ + inline const Aws::String& GetVersion() const{ return m_version; } + + /** + *

            Version of the installed GuardDuty security agent.

            + */ + inline bool VersionHasBeenSet() const { return m_versionHasBeenSet; } + + /** + *

            Version of the installed GuardDuty security agent.

            + */ + inline void SetVersion(const Aws::String& value) { m_versionHasBeenSet = true; m_version = value; } + + /** + *

            Version of the installed GuardDuty security agent.

            + */ + inline void SetVersion(Aws::String&& value) { m_versionHasBeenSet = true; m_version = std::move(value); } + + /** + *

            Version of the installed GuardDuty security agent.

            + */ + inline void SetVersion(const char* value) { m_versionHasBeenSet = true; m_version.assign(value); } + + /** + *

            Version of the installed GuardDuty security agent.

            + */ + inline AgentDetails& WithVersion(const Aws::String& value) { SetVersion(value); return *this;} + + /** + *

            Version of the installed GuardDuty security agent.

            + */ + inline AgentDetails& WithVersion(Aws::String&& value) { SetVersion(std::move(value)); return *this;} + + /** + *

            Version of the installed GuardDuty security agent.

            + */ + inline AgentDetails& WithVersion(const char* value) { SetVersion(value); return *this;} + + private: + + Aws::String m_version; + bool m_versionHasBeenSet = false; + }; + +} // namespace Model +} // namespace GuardDuty +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/ContainerInstanceDetails.h b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/ContainerInstanceDetails.h new file mode 100644 index 00000000000..cb623638400 --- /dev/null +++ b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/ContainerInstanceDetails.h @@ -0,0 +1,95 @@ +/** + * 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 GuardDuty +{ +namespace Model +{ + + /** + *

            Contains information about the Amazon EC2 instance that is running the Amazon + * ECS container.

            See Also:

            AWS + * API Reference

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

            Represents the nodes in the Amazon ECS cluster that has a + * HEALTHY coverage status.

            + */ + inline long long GetCoveredContainerInstances() const{ return m_coveredContainerInstances; } + + /** + *

            Represents the nodes in the Amazon ECS cluster that has a + * HEALTHY coverage status.

            + */ + inline bool CoveredContainerInstancesHasBeenSet() const { return m_coveredContainerInstancesHasBeenSet; } + + /** + *

            Represents the nodes in the Amazon ECS cluster that has a + * HEALTHY coverage status.

            + */ + inline void SetCoveredContainerInstances(long long value) { m_coveredContainerInstancesHasBeenSet = true; m_coveredContainerInstances = value; } + + /** + *

            Represents the nodes in the Amazon ECS cluster that has a + * HEALTHY coverage status.

            + */ + inline ContainerInstanceDetails& WithCoveredContainerInstances(long long value) { SetCoveredContainerInstances(value); return *this;} + + + /** + *

            Represents total number of nodes in the Amazon ECS cluster.

            + */ + inline long long GetCompatibleContainerInstances() const{ return m_compatibleContainerInstances; } + + /** + *

            Represents total number of nodes in the Amazon ECS cluster.

            + */ + inline bool CompatibleContainerInstancesHasBeenSet() const { return m_compatibleContainerInstancesHasBeenSet; } + + /** + *

            Represents total number of nodes in the Amazon ECS cluster.

            + */ + inline void SetCompatibleContainerInstances(long long value) { m_compatibleContainerInstancesHasBeenSet = true; m_compatibleContainerInstances = value; } + + /** + *

            Represents total number of nodes in the Amazon ECS cluster.

            + */ + inline ContainerInstanceDetails& WithCompatibleContainerInstances(long long value) { SetCompatibleContainerInstances(value); return *this;} + + private: + + long long m_coveredContainerInstances; + bool m_coveredContainerInstancesHasBeenSet = false; + + long long m_compatibleContainerInstances; + bool m_compatibleContainerInstancesHasBeenSet = false; + }; + +} // namespace Model +} // namespace GuardDuty +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/CoverageEc2InstanceDetails.h b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/CoverageEc2InstanceDetails.h new file mode 100644 index 00000000000..71889e9db42 --- /dev/null +++ b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/CoverageEc2InstanceDetails.h @@ -0,0 +1,293 @@ +/** + * 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 GuardDuty +{ +namespace Model +{ + + /** + *

            This API is also used when you use GuardDuty Runtime Monitoring for + * your Amazon EC2 instances (currently in preview release) and is subject to + * change.

            Contains information about the Amazon EC2 instance + * runtime coverage details.

            See Also:

            AWS + * API Reference

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

            The Amazon EC2 instance ID.

            + */ + inline const Aws::String& GetInstanceId() const{ return m_instanceId; } + + /** + *

            The Amazon EC2 instance ID.

            + */ + inline bool InstanceIdHasBeenSet() const { return m_instanceIdHasBeenSet; } + + /** + *

            The Amazon EC2 instance ID.

            + */ + inline void SetInstanceId(const Aws::String& value) { m_instanceIdHasBeenSet = true; m_instanceId = value; } + + /** + *

            The Amazon EC2 instance ID.

            + */ + inline void SetInstanceId(Aws::String&& value) { m_instanceIdHasBeenSet = true; m_instanceId = std::move(value); } + + /** + *

            The Amazon EC2 instance ID.

            + */ + inline void SetInstanceId(const char* value) { m_instanceIdHasBeenSet = true; m_instanceId.assign(value); } + + /** + *

            The Amazon EC2 instance ID.

            + */ + inline CoverageEc2InstanceDetails& WithInstanceId(const Aws::String& value) { SetInstanceId(value); return *this;} + + /** + *

            The Amazon EC2 instance ID.

            + */ + inline CoverageEc2InstanceDetails& WithInstanceId(Aws::String&& value) { SetInstanceId(std::move(value)); return *this;} + + /** + *

            The Amazon EC2 instance ID.

            + */ + inline CoverageEc2InstanceDetails& WithInstanceId(const char* value) { SetInstanceId(value); return *this;} + + + /** + *

            The instance type of the Amazon EC2 instance.

            + */ + inline const Aws::String& GetInstanceType() const{ return m_instanceType; } + + /** + *

            The instance type of the Amazon EC2 instance.

            + */ + inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; } + + /** + *

            The instance type of the Amazon EC2 instance.

            + */ + inline void SetInstanceType(const Aws::String& value) { m_instanceTypeHasBeenSet = true; m_instanceType = value; } + + /** + *

            The instance type of the Amazon EC2 instance.

            + */ + inline void SetInstanceType(Aws::String&& value) { m_instanceTypeHasBeenSet = true; m_instanceType = std::move(value); } + + /** + *

            The instance type of the Amazon EC2 instance.

            + */ + inline void SetInstanceType(const char* value) { m_instanceTypeHasBeenSet = true; m_instanceType.assign(value); } + + /** + *

            The instance type of the Amazon EC2 instance.

            + */ + inline CoverageEc2InstanceDetails& WithInstanceType(const Aws::String& value) { SetInstanceType(value); return *this;} + + /** + *

            The instance type of the Amazon EC2 instance.

            + */ + inline CoverageEc2InstanceDetails& WithInstanceType(Aws::String&& value) { SetInstanceType(std::move(value)); return *this;} + + /** + *

            The instance type of the Amazon EC2 instance.

            + */ + inline CoverageEc2InstanceDetails& WithInstanceType(const char* value) { SetInstanceType(value); return *this;} + + + /** + *

            The cluster ARN of the Amazon ECS cluster running on the Amazon EC2 + * instance.

            + */ + inline const Aws::String& GetClusterArn() const{ return m_clusterArn; } + + /** + *

            The cluster ARN of the Amazon ECS cluster running on the Amazon EC2 + * instance.

            + */ + inline bool ClusterArnHasBeenSet() const { return m_clusterArnHasBeenSet; } + + /** + *

            The cluster ARN of the Amazon ECS cluster running on the Amazon EC2 + * instance.

            + */ + inline void SetClusterArn(const Aws::String& value) { m_clusterArnHasBeenSet = true; m_clusterArn = value; } + + /** + *

            The cluster ARN of the Amazon ECS cluster running on the Amazon EC2 + * instance.

            + */ + inline void SetClusterArn(Aws::String&& value) { m_clusterArnHasBeenSet = true; m_clusterArn = std::move(value); } + + /** + *

            The cluster ARN of the Amazon ECS cluster running on the Amazon EC2 + * instance.

            + */ + inline void SetClusterArn(const char* value) { m_clusterArnHasBeenSet = true; m_clusterArn.assign(value); } + + /** + *

            The cluster ARN of the Amazon ECS cluster running on the Amazon EC2 + * instance.

            + */ + inline CoverageEc2InstanceDetails& WithClusterArn(const Aws::String& value) { SetClusterArn(value); return *this;} + + /** + *

            The cluster ARN of the Amazon ECS cluster running on the Amazon EC2 + * instance.

            + */ + inline CoverageEc2InstanceDetails& WithClusterArn(Aws::String&& value) { SetClusterArn(std::move(value)); return *this;} + + /** + *

            The cluster ARN of the Amazon ECS cluster running on the Amazon EC2 + * instance.

            + */ + inline CoverageEc2InstanceDetails& WithClusterArn(const char* value) { SetClusterArn(value); return *this;} + + + /** + *

            Information about the installed security agent.

            + */ + inline const AgentDetails& GetAgentDetails() const{ return m_agentDetails; } + + /** + *

            Information about the installed security agent.

            + */ + inline bool AgentDetailsHasBeenSet() const { return m_agentDetailsHasBeenSet; } + + /** + *

            Information about the installed security agent.

            + */ + inline void SetAgentDetails(const AgentDetails& value) { m_agentDetailsHasBeenSet = true; m_agentDetails = value; } + + /** + *

            Information about the installed security agent.

            + */ + inline void SetAgentDetails(AgentDetails&& value) { m_agentDetailsHasBeenSet = true; m_agentDetails = std::move(value); } + + /** + *

            Information about the installed security agent.

            + */ + inline CoverageEc2InstanceDetails& WithAgentDetails(const AgentDetails& value) { SetAgentDetails(value); return *this;} + + /** + *

            Information about the installed security agent.

            + */ + inline CoverageEc2InstanceDetails& WithAgentDetails(AgentDetails&& value) { SetAgentDetails(std::move(value)); return *this;} + + + /** + *

            Indicates how the GuardDuty security agent is managed for this resource.

            + *
            • AUTO_MANAGED indicates that GuardDuty deploys and + * manages updates for this resource.

            • MANUAL + * indicates that you are responsible to deploy, update, and manage the GuardDuty + * security agent updates for this resource.

            The + * DISABLED status doesn't apply to Amazon EC2 instances and Amazon + * EKS clusters that run on Amazon EC2 instances.

            + */ + inline const ManagementType& GetManagementType() const{ return m_managementType; } + + /** + *

            Indicates how the GuardDuty security agent is managed for this resource.

            + *
            • AUTO_MANAGED indicates that GuardDuty deploys and + * manages updates for this resource.

            • MANUAL + * indicates that you are responsible to deploy, update, and manage the GuardDuty + * security agent updates for this resource.

            The + * DISABLED status doesn't apply to Amazon EC2 instances and Amazon + * EKS clusters that run on Amazon EC2 instances.

            + */ + inline bool ManagementTypeHasBeenSet() const { return m_managementTypeHasBeenSet; } + + /** + *

            Indicates how the GuardDuty security agent is managed for this resource.

            + *
            • AUTO_MANAGED indicates that GuardDuty deploys and + * manages updates for this resource.

            • MANUAL + * indicates that you are responsible to deploy, update, and manage the GuardDuty + * security agent updates for this resource.

            The + * DISABLED status doesn't apply to Amazon EC2 instances and Amazon + * EKS clusters that run on Amazon EC2 instances.

            + */ + inline void SetManagementType(const ManagementType& value) { m_managementTypeHasBeenSet = true; m_managementType = value; } + + /** + *

            Indicates how the GuardDuty security agent is managed for this resource.

            + *
            • AUTO_MANAGED indicates that GuardDuty deploys and + * manages updates for this resource.

            • MANUAL + * indicates that you are responsible to deploy, update, and manage the GuardDuty + * security agent updates for this resource.

            The + * DISABLED status doesn't apply to Amazon EC2 instances and Amazon + * EKS clusters that run on Amazon EC2 instances.

            + */ + inline void SetManagementType(ManagementType&& value) { m_managementTypeHasBeenSet = true; m_managementType = std::move(value); } + + /** + *

            Indicates how the GuardDuty security agent is managed for this resource.

            + *
            • AUTO_MANAGED indicates that GuardDuty deploys and + * manages updates for this resource.

            • MANUAL + * indicates that you are responsible to deploy, update, and manage the GuardDuty + * security agent updates for this resource.

            The + * DISABLED status doesn't apply to Amazon EC2 instances and Amazon + * EKS clusters that run on Amazon EC2 instances.

            + */ + inline CoverageEc2InstanceDetails& WithManagementType(const ManagementType& value) { SetManagementType(value); return *this;} + + /** + *

            Indicates how the GuardDuty security agent is managed for this resource.

            + *
            • AUTO_MANAGED indicates that GuardDuty deploys and + * manages updates for this resource.

            • MANUAL + * indicates that you are responsible to deploy, update, and manage the GuardDuty + * security agent updates for this resource.

            The + * DISABLED status doesn't apply to Amazon EC2 instances and Amazon + * EKS clusters that run on Amazon EC2 instances.

            + */ + inline CoverageEc2InstanceDetails& WithManagementType(ManagementType&& value) { SetManagementType(std::move(value)); return *this;} + + private: + + Aws::String m_instanceId; + bool m_instanceIdHasBeenSet = false; + + Aws::String m_instanceType; + bool m_instanceTypeHasBeenSet = false; + + Aws::String m_clusterArn; + bool m_clusterArnHasBeenSet = false; + + AgentDetails m_agentDetails; + bool m_agentDetailsHasBeenSet = false; + + ManagementType m_managementType; + bool m_managementTypeHasBeenSet = false; + }; + +} // namespace Model +} // namespace GuardDuty +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/CoverageEcsClusterDetails.h b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/CoverageEcsClusterDetails.h new file mode 100644 index 00000000000..bb7747b8ea7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/CoverageEcsClusterDetails.h @@ -0,0 +1,171 @@ +/** + * 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 GuardDuty +{ +namespace Model +{ + + /** + *

            Contains information about Amazon ECS cluster runtime coverage + * details.

            See Also:

            AWS + * API Reference

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

            The name of the Amazon ECS cluster.

            + */ + inline const Aws::String& GetClusterName() const{ return m_clusterName; } + + /** + *

            The name of the Amazon ECS cluster.

            + */ + inline bool ClusterNameHasBeenSet() const { return m_clusterNameHasBeenSet; } + + /** + *

            The name of the Amazon ECS cluster.

            + */ + inline void SetClusterName(const Aws::String& value) { m_clusterNameHasBeenSet = true; m_clusterName = value; } + + /** + *

            The name of the Amazon ECS cluster.

            + */ + inline void SetClusterName(Aws::String&& value) { m_clusterNameHasBeenSet = true; m_clusterName = std::move(value); } + + /** + *

            The name of the Amazon ECS cluster.

            + */ + inline void SetClusterName(const char* value) { m_clusterNameHasBeenSet = true; m_clusterName.assign(value); } + + /** + *

            The name of the Amazon ECS cluster.

            + */ + inline CoverageEcsClusterDetails& WithClusterName(const Aws::String& value) { SetClusterName(value); return *this;} + + /** + *

            The name of the Amazon ECS cluster.

            + */ + inline CoverageEcsClusterDetails& WithClusterName(Aws::String&& value) { SetClusterName(std::move(value)); return *this;} + + /** + *

            The name of the Amazon ECS cluster.

            + */ + inline CoverageEcsClusterDetails& WithClusterName(const char* value) { SetClusterName(value); return *this;} + + + /** + *

            Information about the Fargate details associated with the Amazon ECS + * cluster.

            + */ + inline const FargateDetails& GetFargateDetails() const{ return m_fargateDetails; } + + /** + *

            Information about the Fargate details associated with the Amazon ECS + * cluster.

            + */ + inline bool FargateDetailsHasBeenSet() const { return m_fargateDetailsHasBeenSet; } + + /** + *

            Information about the Fargate details associated with the Amazon ECS + * cluster.

            + */ + inline void SetFargateDetails(const FargateDetails& value) { m_fargateDetailsHasBeenSet = true; m_fargateDetails = value; } + + /** + *

            Information about the Fargate details associated with the Amazon ECS + * cluster.

            + */ + inline void SetFargateDetails(FargateDetails&& value) { m_fargateDetailsHasBeenSet = true; m_fargateDetails = std::move(value); } + + /** + *

            Information about the Fargate details associated with the Amazon ECS + * cluster.

            + */ + inline CoverageEcsClusterDetails& WithFargateDetails(const FargateDetails& value) { SetFargateDetails(value); return *this;} + + /** + *

            Information about the Fargate details associated with the Amazon ECS + * cluster.

            + */ + inline CoverageEcsClusterDetails& WithFargateDetails(FargateDetails&& value) { SetFargateDetails(std::move(value)); return *this;} + + + /** + *

            Information about the Amazon ECS container running on Amazon EC2 + * instance.

            + */ + inline const ContainerInstanceDetails& GetContainerInstanceDetails() const{ return m_containerInstanceDetails; } + + /** + *

            Information about the Amazon ECS container running on Amazon EC2 + * instance.

            + */ + inline bool ContainerInstanceDetailsHasBeenSet() const { return m_containerInstanceDetailsHasBeenSet; } + + /** + *

            Information about the Amazon ECS container running on Amazon EC2 + * instance.

            + */ + inline void SetContainerInstanceDetails(const ContainerInstanceDetails& value) { m_containerInstanceDetailsHasBeenSet = true; m_containerInstanceDetails = value; } + + /** + *

            Information about the Amazon ECS container running on Amazon EC2 + * instance.

            + */ + inline void SetContainerInstanceDetails(ContainerInstanceDetails&& value) { m_containerInstanceDetailsHasBeenSet = true; m_containerInstanceDetails = std::move(value); } + + /** + *

            Information about the Amazon ECS container running on Amazon EC2 + * instance.

            + */ + inline CoverageEcsClusterDetails& WithContainerInstanceDetails(const ContainerInstanceDetails& value) { SetContainerInstanceDetails(value); return *this;} + + /** + *

            Information about the Amazon ECS container running on Amazon EC2 + * instance.

            + */ + inline CoverageEcsClusterDetails& WithContainerInstanceDetails(ContainerInstanceDetails&& value) { SetContainerInstanceDetails(std::move(value)); return *this;} + + private: + + Aws::String m_clusterName; + bool m_clusterNameHasBeenSet = false; + + FargateDetails m_fargateDetails; + bool m_fargateDetailsHasBeenSet = false; + + ContainerInstanceDetails m_containerInstanceDetails; + bool m_containerInstanceDetailsHasBeenSet = false; + }; + +} // namespace Model +} // namespace GuardDuty +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/CoverageFilterCriterionKey.h b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/CoverageFilterCriterionKey.h index 192edf2baed..7a60556c6a6 100644 --- a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/CoverageFilterCriterionKey.h +++ b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/CoverageFilterCriterionKey.h @@ -22,7 +22,11 @@ namespace Model COVERAGE_STATUS, ADDON_VERSION, MANAGEMENT_TYPE, - EKS_CLUSTER_NAME + EKS_CLUSTER_NAME, + ECS_CLUSTER_NAME, + AGENT_VERSION, + INSTANCE_ID, + CLUSTER_ARN }; namespace CoverageFilterCriterionKeyMapper diff --git a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/CoverageResourceDetails.h b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/CoverageResourceDetails.h index 2f38d0a0a5f..19b2cf2d304 100644 --- a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/CoverageResourceDetails.h +++ b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/CoverageResourceDetails.h @@ -7,6 +7,8 @@ #include #include #include +#include +#include #include namespace Aws @@ -100,6 +102,92 @@ namespace Model */ inline CoverageResourceDetails& WithResourceType(ResourceType&& value) { SetResourceType(std::move(value)); return *this;} + + /** + *

            Information about the Amazon ECS cluster that is assessed for runtime + * coverage.

            + */ + inline const CoverageEcsClusterDetails& GetEcsClusterDetails() const{ return m_ecsClusterDetails; } + + /** + *

            Information about the Amazon ECS cluster that is assessed for runtime + * coverage.

            + */ + inline bool EcsClusterDetailsHasBeenSet() const { return m_ecsClusterDetailsHasBeenSet; } + + /** + *

            Information about the Amazon ECS cluster that is assessed for runtime + * coverage.

            + */ + inline void SetEcsClusterDetails(const CoverageEcsClusterDetails& value) { m_ecsClusterDetailsHasBeenSet = true; m_ecsClusterDetails = value; } + + /** + *

            Information about the Amazon ECS cluster that is assessed for runtime + * coverage.

            + */ + inline void SetEcsClusterDetails(CoverageEcsClusterDetails&& value) { m_ecsClusterDetailsHasBeenSet = true; m_ecsClusterDetails = std::move(value); } + + /** + *

            Information about the Amazon ECS cluster that is assessed for runtime + * coverage.

            + */ + inline CoverageResourceDetails& WithEcsClusterDetails(const CoverageEcsClusterDetails& value) { SetEcsClusterDetails(value); return *this;} + + /** + *

            Information about the Amazon ECS cluster that is assessed for runtime + * coverage.

            + */ + inline CoverageResourceDetails& WithEcsClusterDetails(CoverageEcsClusterDetails&& value) { SetEcsClusterDetails(std::move(value)); return *this;} + + + /** + *

            This API is also used when you use GuardDuty Runtime Monitoring for + * your Amazon EC2 instances (currently in preview release) and is subject to + * change.

            Information about the Amazon EC2 instance assessed for + * runtime coverage.

            + */ + inline const CoverageEc2InstanceDetails& GetEc2InstanceDetails() const{ return m_ec2InstanceDetails; } + + /** + *

            This API is also used when you use GuardDuty Runtime Monitoring for + * your Amazon EC2 instances (currently in preview release) and is subject to + * change.

            Information about the Amazon EC2 instance assessed for + * runtime coverage.

            + */ + inline bool Ec2InstanceDetailsHasBeenSet() const { return m_ec2InstanceDetailsHasBeenSet; } + + /** + *

            This API is also used when you use GuardDuty Runtime Monitoring for + * your Amazon EC2 instances (currently in preview release) and is subject to + * change.

            Information about the Amazon EC2 instance assessed for + * runtime coverage.

            + */ + inline void SetEc2InstanceDetails(const CoverageEc2InstanceDetails& value) { m_ec2InstanceDetailsHasBeenSet = true; m_ec2InstanceDetails = value; } + + /** + *

            This API is also used when you use GuardDuty Runtime Monitoring for + * your Amazon EC2 instances (currently in preview release) and is subject to + * change.

            Information about the Amazon EC2 instance assessed for + * runtime coverage.

            + */ + inline void SetEc2InstanceDetails(CoverageEc2InstanceDetails&& value) { m_ec2InstanceDetailsHasBeenSet = true; m_ec2InstanceDetails = std::move(value); } + + /** + *

            This API is also used when you use GuardDuty Runtime Monitoring for + * your Amazon EC2 instances (currently in preview release) and is subject to + * change.

            Information about the Amazon EC2 instance assessed for + * runtime coverage.

            + */ + inline CoverageResourceDetails& WithEc2InstanceDetails(const CoverageEc2InstanceDetails& value) { SetEc2InstanceDetails(value); return *this;} + + /** + *

            This API is also used when you use GuardDuty Runtime Monitoring for + * your Amazon EC2 instances (currently in preview release) and is subject to + * change.

            Information about the Amazon EC2 instance assessed for + * runtime coverage.

            + */ + inline CoverageResourceDetails& WithEc2InstanceDetails(CoverageEc2InstanceDetails&& value) { SetEc2InstanceDetails(std::move(value)); return *this;} + private: CoverageEksClusterDetails m_eksClusterDetails; @@ -107,6 +195,12 @@ namespace Model ResourceType m_resourceType; bool m_resourceTypeHasBeenSet = false; + + CoverageEcsClusterDetails m_ecsClusterDetails; + bool m_ecsClusterDetailsHasBeenSet = false; + + CoverageEc2InstanceDetails m_ec2InstanceDetails; + bool m_ec2InstanceDetailsHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/CoverageSortKey.h b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/CoverageSortKey.h index 4303f53b8b0..dc0902f4ba3 100644 --- a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/CoverageSortKey.h +++ b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/CoverageSortKey.h @@ -22,7 +22,9 @@ namespace Model ISSUE, ADDON_VERSION, UPDATED_AT, - EKS_CLUSTER_NAME + EKS_CLUSTER_NAME, + ECS_CLUSTER_NAME, + INSTANCE_ID }; namespace CoverageSortKeyMapper diff --git a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/DetectorFeature.h b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/DetectorFeature.h index 8a14e23af3a..b912d2725b9 100644 --- a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/DetectorFeature.h +++ b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/DetectorFeature.h @@ -21,7 +21,8 @@ namespace Model EBS_MALWARE_PROTECTION, RDS_LOGIN_EVENTS, EKS_RUNTIME_MONITORING, - LAMBDA_NETWORK_LOGS + LAMBDA_NETWORK_LOGS, + RUNTIME_MONITORING }; namespace DetectorFeatureMapper diff --git a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/DetectorFeatureResult.h b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/DetectorFeatureResult.h index 559b223bae6..82501bcfd3a 100644 --- a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/DetectorFeatureResult.h +++ b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/DetectorFeatureResult.h @@ -24,7 +24,8 @@ namespace Model EBS_MALWARE_PROTECTION, RDS_LOGIN_EVENTS, EKS_RUNTIME_MONITORING, - LAMBDA_NETWORK_LOGS + LAMBDA_NETWORK_LOGS, + RUNTIME_MONITORING }; namespace DetectorFeatureResultMapper diff --git a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/FargateDetails.h b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/FargateDetails.h new file mode 100644 index 00000000000..011c2270e68 --- /dev/null +++ b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/FargateDetails.h @@ -0,0 +1,175 @@ +/** + * 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 GuardDuty +{ +namespace Model +{ + + /** + *

            Contains information about AWS Fargate details associated with an Amazon ECS + * cluster.

            See Also:

            AWS + * API Reference

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

            Runtime coverage issues identified for the resource running on AWS + * Fargate.

            + */ + inline const Aws::Vector& GetIssues() const{ return m_issues; } + + /** + *

            Runtime coverage issues identified for the resource running on AWS + * Fargate.

            + */ + inline bool IssuesHasBeenSet() const { return m_issuesHasBeenSet; } + + /** + *

            Runtime coverage issues identified for the resource running on AWS + * Fargate.

            + */ + inline void SetIssues(const Aws::Vector& value) { m_issuesHasBeenSet = true; m_issues = value; } + + /** + *

            Runtime coverage issues identified for the resource running on AWS + * Fargate.

            + */ + inline void SetIssues(Aws::Vector&& value) { m_issuesHasBeenSet = true; m_issues = std::move(value); } + + /** + *

            Runtime coverage issues identified for the resource running on AWS + * Fargate.

            + */ + inline FargateDetails& WithIssues(const Aws::Vector& value) { SetIssues(value); return *this;} + + /** + *

            Runtime coverage issues identified for the resource running on AWS + * Fargate.

            + */ + inline FargateDetails& WithIssues(Aws::Vector&& value) { SetIssues(std::move(value)); return *this;} + + /** + *

            Runtime coverage issues identified for the resource running on AWS + * Fargate.

            + */ + inline FargateDetails& AddIssues(const Aws::String& value) { m_issuesHasBeenSet = true; m_issues.push_back(value); return *this; } + + /** + *

            Runtime coverage issues identified for the resource running on AWS + * Fargate.

            + */ + inline FargateDetails& AddIssues(Aws::String&& value) { m_issuesHasBeenSet = true; m_issues.push_back(std::move(value)); return *this; } + + /** + *

            Runtime coverage issues identified for the resource running on AWS + * Fargate.

            + */ + inline FargateDetails& AddIssues(const char* value) { m_issuesHasBeenSet = true; m_issues.push_back(value); return *this; } + + + /** + *

            Indicates how the GuardDuty security agent is managed for this resource.

            + *
            • AUTO_MANAGED indicates that GuardDuty deploys and + * manages updates for this resource.

            • MANUAL + * indicates that you are responsible to deploy, update, and manage the GuardDuty + * security agent updates for this resource.

            • + * DISABLED indicates that the deployment of the GuardDuty security + * agent is disabled for this resource.

            + */ + inline const ManagementType& GetManagementType() const{ return m_managementType; } + + /** + *

            Indicates how the GuardDuty security agent is managed for this resource.

            + *
            • AUTO_MANAGED indicates that GuardDuty deploys and + * manages updates for this resource.

            • MANUAL + * indicates that you are responsible to deploy, update, and manage the GuardDuty + * security agent updates for this resource.

            • + * DISABLED indicates that the deployment of the GuardDuty security + * agent is disabled for this resource.

            + */ + inline bool ManagementTypeHasBeenSet() const { return m_managementTypeHasBeenSet; } + + /** + *

            Indicates how the GuardDuty security agent is managed for this resource.

            + *
            • AUTO_MANAGED indicates that GuardDuty deploys and + * manages updates for this resource.

            • MANUAL + * indicates that you are responsible to deploy, update, and manage the GuardDuty + * security agent updates for this resource.

            • + * DISABLED indicates that the deployment of the GuardDuty security + * agent is disabled for this resource.

            + */ + inline void SetManagementType(const ManagementType& value) { m_managementTypeHasBeenSet = true; m_managementType = value; } + + /** + *

            Indicates how the GuardDuty security agent is managed for this resource.

            + *
            • AUTO_MANAGED indicates that GuardDuty deploys and + * manages updates for this resource.

            • MANUAL + * indicates that you are responsible to deploy, update, and manage the GuardDuty + * security agent updates for this resource.

            • + * DISABLED indicates that the deployment of the GuardDuty security + * agent is disabled for this resource.

            + */ + inline void SetManagementType(ManagementType&& value) { m_managementTypeHasBeenSet = true; m_managementType = std::move(value); } + + /** + *

            Indicates how the GuardDuty security agent is managed for this resource.

            + *
            • AUTO_MANAGED indicates that GuardDuty deploys and + * manages updates for this resource.

            • MANUAL + * indicates that you are responsible to deploy, update, and manage the GuardDuty + * security agent updates for this resource.

            • + * DISABLED indicates that the deployment of the GuardDuty security + * agent is disabled for this resource.

            + */ + inline FargateDetails& WithManagementType(const ManagementType& value) { SetManagementType(value); return *this;} + + /** + *

            Indicates how the GuardDuty security agent is managed for this resource.

            + *
            • AUTO_MANAGED indicates that GuardDuty deploys and + * manages updates for this resource.

            • MANUAL + * indicates that you are responsible to deploy, update, and manage the GuardDuty + * security agent updates for this resource.

            • + * DISABLED indicates that the deployment of the GuardDuty security + * agent is disabled for this resource.

            + */ + inline FargateDetails& WithManagementType(ManagementType&& value) { SetManagementType(std::move(value)); return *this;} + + private: + + Aws::Vector m_issues; + bool m_issuesHasBeenSet = false; + + ManagementType m_managementType; + bool m_managementTypeHasBeenSet = false; + }; + +} // namespace Model +} // namespace GuardDuty +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/FeatureAdditionalConfiguration.h b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/FeatureAdditionalConfiguration.h index 85c413a44c4..5d34c267f48 100644 --- a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/FeatureAdditionalConfiguration.h +++ b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/FeatureAdditionalConfiguration.h @@ -16,7 +16,8 @@ namespace Model enum class FeatureAdditionalConfiguration { NOT_SET, - EKS_ADDON_MANAGEMENT + EKS_ADDON_MANAGEMENT, + ECS_FARGATE_AGENT_MANAGEMENT }; namespace FeatureAdditionalConfigurationMapper diff --git a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/FreeTrialFeatureResult.h b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/FreeTrialFeatureResult.h index 8376b312ed4..464a43c8268 100644 --- a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/FreeTrialFeatureResult.h +++ b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/FreeTrialFeatureResult.h @@ -24,7 +24,9 @@ namespace Model EBS_MALWARE_PROTECTION, RDS_LOGIN_EVENTS, EKS_RUNTIME_MONITORING, - LAMBDA_NETWORK_LOGS + LAMBDA_NETWORK_LOGS, + FARGATE_RUNTIME_MONITORING, + EC2_RUNTIME_MONITORING }; namespace FreeTrialFeatureResultMapper diff --git a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/ManagementType.h b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/ManagementType.h index c5b8bf0769f..2c84fe3b838 100644 --- a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/ManagementType.h +++ b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/ManagementType.h @@ -17,7 +17,8 @@ namespace Model { NOT_SET, AUTO_MANAGED, - MANUAL + MANUAL, + DISABLED }; namespace ManagementTypeMapper diff --git a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/OrgFeature.h b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/OrgFeature.h index 865f0f3d877..f61faadb510 100644 --- a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/OrgFeature.h +++ b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/OrgFeature.h @@ -21,7 +21,8 @@ namespace Model EBS_MALWARE_PROTECTION, RDS_LOGIN_EVENTS, EKS_RUNTIME_MONITORING, - LAMBDA_NETWORK_LOGS + LAMBDA_NETWORK_LOGS, + RUNTIME_MONITORING }; namespace OrgFeatureMapper diff --git a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/OrgFeatureAdditionalConfiguration.h b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/OrgFeatureAdditionalConfiguration.h index 2405d621553..91922b2108a 100644 --- a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/OrgFeatureAdditionalConfiguration.h +++ b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/OrgFeatureAdditionalConfiguration.h @@ -16,7 +16,8 @@ namespace Model enum class OrgFeatureAdditionalConfiguration { NOT_SET, - EKS_ADDON_MANAGEMENT + EKS_ADDON_MANAGEMENT, + ECS_FARGATE_AGENT_MANAGEMENT }; namespace OrgFeatureAdditionalConfigurationMapper diff --git a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/ResourceType.h b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/ResourceType.h index 83b32fe1582..b006622e0f9 100644 --- a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/ResourceType.h +++ b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/ResourceType.h @@ -16,7 +16,9 @@ namespace Model enum class ResourceType { NOT_SET, - EKS + EKS, + ECS, + EC2 }; namespace ResourceTypeMapper diff --git a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/UsageFeature.h b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/UsageFeature.h index bd5063725be..47a8bea2feb 100644 --- a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/UsageFeature.h +++ b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/UsageFeature.h @@ -24,7 +24,9 @@ namespace Model EBS_MALWARE_PROTECTION, RDS_LOGIN_EVENTS, LAMBDA_NETWORK_LOGS, - EKS_RUNTIME_MONITORING + EKS_RUNTIME_MONITORING, + FARGATE_RUNTIME_MONITORING, + EC2_RUNTIME_MONITORING }; namespace UsageFeatureMapper diff --git a/generated/src/aws-cpp-sdk-guardduty/source/model/AgentDetails.cpp b/generated/src/aws-cpp-sdk-guardduty/source/model/AgentDetails.cpp new file mode 100644 index 00000000000..c37c8f5a0b3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-guardduty/source/model/AgentDetails.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 GuardDuty +{ +namespace Model +{ + +AgentDetails::AgentDetails() : + m_versionHasBeenSet(false) +{ +} + +AgentDetails::AgentDetails(JsonView jsonValue) : + m_versionHasBeenSet(false) +{ + *this = jsonValue; +} + +AgentDetails& AgentDetails::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("version")) + { + m_version = jsonValue.GetString("version"); + + m_versionHasBeenSet = true; + } + + return *this; +} + +JsonValue AgentDetails::Jsonize() const +{ + JsonValue payload; + + if(m_versionHasBeenSet) + { + payload.WithString("version", m_version); + + } + + return payload; +} + +} // namespace Model +} // namespace GuardDuty +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-guardduty/source/model/ContainerInstanceDetails.cpp b/generated/src/aws-cpp-sdk-guardduty/source/model/ContainerInstanceDetails.cpp new file mode 100644 index 00000000000..9d1496445d1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-guardduty/source/model/ContainerInstanceDetails.cpp @@ -0,0 +1,78 @@ +/** + * 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 GuardDuty +{ +namespace Model +{ + +ContainerInstanceDetails::ContainerInstanceDetails() : + m_coveredContainerInstances(0), + m_coveredContainerInstancesHasBeenSet(false), + m_compatibleContainerInstances(0), + m_compatibleContainerInstancesHasBeenSet(false) +{ +} + +ContainerInstanceDetails::ContainerInstanceDetails(JsonView jsonValue) : + m_coveredContainerInstances(0), + m_coveredContainerInstancesHasBeenSet(false), + m_compatibleContainerInstances(0), + m_compatibleContainerInstancesHasBeenSet(false) +{ + *this = jsonValue; +} + +ContainerInstanceDetails& ContainerInstanceDetails::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("coveredContainerInstances")) + { + m_coveredContainerInstances = jsonValue.GetInt64("coveredContainerInstances"); + + m_coveredContainerInstancesHasBeenSet = true; + } + + if(jsonValue.ValueExists("compatibleContainerInstances")) + { + m_compatibleContainerInstances = jsonValue.GetInt64("compatibleContainerInstances"); + + m_compatibleContainerInstancesHasBeenSet = true; + } + + return *this; +} + +JsonValue ContainerInstanceDetails::Jsonize() const +{ + JsonValue payload; + + if(m_coveredContainerInstancesHasBeenSet) + { + payload.WithInt64("coveredContainerInstances", m_coveredContainerInstances); + + } + + if(m_compatibleContainerInstancesHasBeenSet) + { + payload.WithInt64("compatibleContainerInstances", m_compatibleContainerInstances); + + } + + return payload; +} + +} // namespace Model +} // namespace GuardDuty +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-guardduty/source/model/CoverageEc2InstanceDetails.cpp b/generated/src/aws-cpp-sdk-guardduty/source/model/CoverageEc2InstanceDetails.cpp new file mode 100644 index 00000000000..f999a3bfad4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-guardduty/source/model/CoverageEc2InstanceDetails.cpp @@ -0,0 +1,120 @@ +/** + * 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 GuardDuty +{ +namespace Model +{ + +CoverageEc2InstanceDetails::CoverageEc2InstanceDetails() : + m_instanceIdHasBeenSet(false), + m_instanceTypeHasBeenSet(false), + m_clusterArnHasBeenSet(false), + m_agentDetailsHasBeenSet(false), + m_managementType(ManagementType::NOT_SET), + m_managementTypeHasBeenSet(false) +{ +} + +CoverageEc2InstanceDetails::CoverageEc2InstanceDetails(JsonView jsonValue) : + m_instanceIdHasBeenSet(false), + m_instanceTypeHasBeenSet(false), + m_clusterArnHasBeenSet(false), + m_agentDetailsHasBeenSet(false), + m_managementType(ManagementType::NOT_SET), + m_managementTypeHasBeenSet(false) +{ + *this = jsonValue; +} + +CoverageEc2InstanceDetails& CoverageEc2InstanceDetails::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("instanceId")) + { + m_instanceId = jsonValue.GetString("instanceId"); + + m_instanceIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("instanceType")) + { + m_instanceType = jsonValue.GetString("instanceType"); + + m_instanceTypeHasBeenSet = true; + } + + if(jsonValue.ValueExists("clusterArn")) + { + m_clusterArn = jsonValue.GetString("clusterArn"); + + m_clusterArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("agentDetails")) + { + m_agentDetails = jsonValue.GetObject("agentDetails"); + + m_agentDetailsHasBeenSet = true; + } + + if(jsonValue.ValueExists("managementType")) + { + m_managementType = ManagementTypeMapper::GetManagementTypeForName(jsonValue.GetString("managementType")); + + m_managementTypeHasBeenSet = true; + } + + return *this; +} + +JsonValue CoverageEc2InstanceDetails::Jsonize() const +{ + JsonValue payload; + + if(m_instanceIdHasBeenSet) + { + payload.WithString("instanceId", m_instanceId); + + } + + if(m_instanceTypeHasBeenSet) + { + payload.WithString("instanceType", m_instanceType); + + } + + if(m_clusterArnHasBeenSet) + { + payload.WithString("clusterArn", m_clusterArn); + + } + + if(m_agentDetailsHasBeenSet) + { + payload.WithObject("agentDetails", m_agentDetails.Jsonize()); + + } + + if(m_managementTypeHasBeenSet) + { + payload.WithString("managementType", ManagementTypeMapper::GetNameForManagementType(m_managementType)); + } + + return payload; +} + +} // namespace Model +} // namespace GuardDuty +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-guardduty/source/model/CoverageEcsClusterDetails.cpp b/generated/src/aws-cpp-sdk-guardduty/source/model/CoverageEcsClusterDetails.cpp new file mode 100644 index 00000000000..ebbf48c8e05 --- /dev/null +++ b/generated/src/aws-cpp-sdk-guardduty/source/model/CoverageEcsClusterDetails.cpp @@ -0,0 +1,89 @@ +/** + * 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 GuardDuty +{ +namespace Model +{ + +CoverageEcsClusterDetails::CoverageEcsClusterDetails() : + m_clusterNameHasBeenSet(false), + m_fargateDetailsHasBeenSet(false), + m_containerInstanceDetailsHasBeenSet(false) +{ +} + +CoverageEcsClusterDetails::CoverageEcsClusterDetails(JsonView jsonValue) : + m_clusterNameHasBeenSet(false), + m_fargateDetailsHasBeenSet(false), + m_containerInstanceDetailsHasBeenSet(false) +{ + *this = jsonValue; +} + +CoverageEcsClusterDetails& CoverageEcsClusterDetails::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("clusterName")) + { + m_clusterName = jsonValue.GetString("clusterName"); + + m_clusterNameHasBeenSet = true; + } + + if(jsonValue.ValueExists("fargateDetails")) + { + m_fargateDetails = jsonValue.GetObject("fargateDetails"); + + m_fargateDetailsHasBeenSet = true; + } + + if(jsonValue.ValueExists("containerInstanceDetails")) + { + m_containerInstanceDetails = jsonValue.GetObject("containerInstanceDetails"); + + m_containerInstanceDetailsHasBeenSet = true; + } + + return *this; +} + +JsonValue CoverageEcsClusterDetails::Jsonize() const +{ + JsonValue payload; + + if(m_clusterNameHasBeenSet) + { + payload.WithString("clusterName", m_clusterName); + + } + + if(m_fargateDetailsHasBeenSet) + { + payload.WithObject("fargateDetails", m_fargateDetails.Jsonize()); + + } + + if(m_containerInstanceDetailsHasBeenSet) + { + payload.WithObject("containerInstanceDetails", m_containerInstanceDetails.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace GuardDuty +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-guardduty/source/model/CoverageFilterCriterionKey.cpp b/generated/src/aws-cpp-sdk-guardduty/source/model/CoverageFilterCriterionKey.cpp index b09b9001b60..d58b5030417 100644 --- a/generated/src/aws-cpp-sdk-guardduty/source/model/CoverageFilterCriterionKey.cpp +++ b/generated/src/aws-cpp-sdk-guardduty/source/model/CoverageFilterCriterionKey.cpp @@ -27,6 +27,10 @@ namespace Aws static const int ADDON_VERSION_HASH = HashingUtils::HashString("ADDON_VERSION"); static const int MANAGEMENT_TYPE_HASH = HashingUtils::HashString("MANAGEMENT_TYPE"); static const int EKS_CLUSTER_NAME_HASH = HashingUtils::HashString("EKS_CLUSTER_NAME"); + static const int ECS_CLUSTER_NAME_HASH = HashingUtils::HashString("ECS_CLUSTER_NAME"); + static const int AGENT_VERSION_HASH = HashingUtils::HashString("AGENT_VERSION"); + static const int INSTANCE_ID_HASH = HashingUtils::HashString("INSTANCE_ID"); + static const int CLUSTER_ARN_HASH = HashingUtils::HashString("CLUSTER_ARN"); CoverageFilterCriterionKey GetCoverageFilterCriterionKeyForName(const Aws::String& name) @@ -60,6 +64,22 @@ namespace Aws { return CoverageFilterCriterionKey::EKS_CLUSTER_NAME; } + else if (hashCode == ECS_CLUSTER_NAME_HASH) + { + return CoverageFilterCriterionKey::ECS_CLUSTER_NAME; + } + else if (hashCode == AGENT_VERSION_HASH) + { + return CoverageFilterCriterionKey::AGENT_VERSION; + } + else if (hashCode == INSTANCE_ID_HASH) + { + return CoverageFilterCriterionKey::INSTANCE_ID; + } + else if (hashCode == CLUSTER_ARN_HASH) + { + return CoverageFilterCriterionKey::CLUSTER_ARN; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -90,6 +110,14 @@ namespace Aws return "MANAGEMENT_TYPE"; case CoverageFilterCriterionKey::EKS_CLUSTER_NAME: return "EKS_CLUSTER_NAME"; + case CoverageFilterCriterionKey::ECS_CLUSTER_NAME: + return "ECS_CLUSTER_NAME"; + case CoverageFilterCriterionKey::AGENT_VERSION: + return "AGENT_VERSION"; + case CoverageFilterCriterionKey::INSTANCE_ID: + return "INSTANCE_ID"; + case CoverageFilterCriterionKey::CLUSTER_ARN: + return "CLUSTER_ARN"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-guardduty/source/model/CoverageResourceDetails.cpp b/generated/src/aws-cpp-sdk-guardduty/source/model/CoverageResourceDetails.cpp index b8a44566dfd..35349ba2495 100644 --- a/generated/src/aws-cpp-sdk-guardduty/source/model/CoverageResourceDetails.cpp +++ b/generated/src/aws-cpp-sdk-guardduty/source/model/CoverageResourceDetails.cpp @@ -21,14 +21,18 @@ namespace Model CoverageResourceDetails::CoverageResourceDetails() : m_eksClusterDetailsHasBeenSet(false), m_resourceType(ResourceType::NOT_SET), - m_resourceTypeHasBeenSet(false) + m_resourceTypeHasBeenSet(false), + m_ecsClusterDetailsHasBeenSet(false), + m_ec2InstanceDetailsHasBeenSet(false) { } CoverageResourceDetails::CoverageResourceDetails(JsonView jsonValue) : m_eksClusterDetailsHasBeenSet(false), m_resourceType(ResourceType::NOT_SET), - m_resourceTypeHasBeenSet(false) + m_resourceTypeHasBeenSet(false), + m_ecsClusterDetailsHasBeenSet(false), + m_ec2InstanceDetailsHasBeenSet(false) { *this = jsonValue; } @@ -49,6 +53,20 @@ CoverageResourceDetails& CoverageResourceDetails::operator =(JsonView jsonValue) m_resourceTypeHasBeenSet = true; } + if(jsonValue.ValueExists("ecsClusterDetails")) + { + m_ecsClusterDetails = jsonValue.GetObject("ecsClusterDetails"); + + m_ecsClusterDetailsHasBeenSet = true; + } + + if(jsonValue.ValueExists("ec2InstanceDetails")) + { + m_ec2InstanceDetails = jsonValue.GetObject("ec2InstanceDetails"); + + m_ec2InstanceDetailsHasBeenSet = true; + } + return *this; } @@ -67,6 +85,18 @@ JsonValue CoverageResourceDetails::Jsonize() const payload.WithString("resourceType", ResourceTypeMapper::GetNameForResourceType(m_resourceType)); } + if(m_ecsClusterDetailsHasBeenSet) + { + payload.WithObject("ecsClusterDetails", m_ecsClusterDetails.Jsonize()); + + } + + if(m_ec2InstanceDetailsHasBeenSet) + { + payload.WithObject("ec2InstanceDetails", m_ec2InstanceDetails.Jsonize()); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-guardduty/source/model/CoverageSortKey.cpp b/generated/src/aws-cpp-sdk-guardduty/source/model/CoverageSortKey.cpp index 6ecba51ec20..121f8c9f330 100644 --- a/generated/src/aws-cpp-sdk-guardduty/source/model/CoverageSortKey.cpp +++ b/generated/src/aws-cpp-sdk-guardduty/source/model/CoverageSortKey.cpp @@ -27,6 +27,8 @@ namespace Aws static const int ADDON_VERSION_HASH = HashingUtils::HashString("ADDON_VERSION"); static const int UPDATED_AT_HASH = HashingUtils::HashString("UPDATED_AT"); static const int EKS_CLUSTER_NAME_HASH = HashingUtils::HashString("EKS_CLUSTER_NAME"); + static const int ECS_CLUSTER_NAME_HASH = HashingUtils::HashString("ECS_CLUSTER_NAME"); + static const int INSTANCE_ID_HASH = HashingUtils::HashString("INSTANCE_ID"); CoverageSortKey GetCoverageSortKeyForName(const Aws::String& name) @@ -60,6 +62,14 @@ namespace Aws { return CoverageSortKey::EKS_CLUSTER_NAME; } + else if (hashCode == ECS_CLUSTER_NAME_HASH) + { + return CoverageSortKey::ECS_CLUSTER_NAME; + } + else if (hashCode == INSTANCE_ID_HASH) + { + return CoverageSortKey::INSTANCE_ID; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -90,6 +100,10 @@ namespace Aws return "UPDATED_AT"; case CoverageSortKey::EKS_CLUSTER_NAME: return "EKS_CLUSTER_NAME"; + case CoverageSortKey::ECS_CLUSTER_NAME: + return "ECS_CLUSTER_NAME"; + case CoverageSortKey::INSTANCE_ID: + return "INSTANCE_ID"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-guardduty/source/model/DetectorFeature.cpp b/generated/src/aws-cpp-sdk-guardduty/source/model/DetectorFeature.cpp index cd7cf76364e..b55624641cf 100644 --- a/generated/src/aws-cpp-sdk-guardduty/source/model/DetectorFeature.cpp +++ b/generated/src/aws-cpp-sdk-guardduty/source/model/DetectorFeature.cpp @@ -26,6 +26,7 @@ namespace Aws static const int RDS_LOGIN_EVENTS_HASH = HashingUtils::HashString("RDS_LOGIN_EVENTS"); static const int EKS_RUNTIME_MONITORING_HASH = HashingUtils::HashString("EKS_RUNTIME_MONITORING"); static const int LAMBDA_NETWORK_LOGS_HASH = HashingUtils::HashString("LAMBDA_NETWORK_LOGS"); + static const int RUNTIME_MONITORING_HASH = HashingUtils::HashString("RUNTIME_MONITORING"); DetectorFeature GetDetectorFeatureForName(const Aws::String& name) @@ -55,6 +56,10 @@ namespace Aws { return DetectorFeature::LAMBDA_NETWORK_LOGS; } + else if (hashCode == RUNTIME_MONITORING_HASH) + { + return DetectorFeature::RUNTIME_MONITORING; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -83,6 +88,8 @@ namespace Aws return "EKS_RUNTIME_MONITORING"; case DetectorFeature::LAMBDA_NETWORK_LOGS: return "LAMBDA_NETWORK_LOGS"; + case DetectorFeature::RUNTIME_MONITORING: + return "RUNTIME_MONITORING"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-guardduty/source/model/DetectorFeatureResult.cpp b/generated/src/aws-cpp-sdk-guardduty/source/model/DetectorFeatureResult.cpp index 309a3a60d68..316391761d9 100644 --- a/generated/src/aws-cpp-sdk-guardduty/source/model/DetectorFeatureResult.cpp +++ b/generated/src/aws-cpp-sdk-guardduty/source/model/DetectorFeatureResult.cpp @@ -29,6 +29,7 @@ namespace Aws static const int RDS_LOGIN_EVENTS_HASH = HashingUtils::HashString("RDS_LOGIN_EVENTS"); static const int EKS_RUNTIME_MONITORING_HASH = HashingUtils::HashString("EKS_RUNTIME_MONITORING"); static const int LAMBDA_NETWORK_LOGS_HASH = HashingUtils::HashString("LAMBDA_NETWORK_LOGS"); + static const int RUNTIME_MONITORING_HASH = HashingUtils::HashString("RUNTIME_MONITORING"); DetectorFeatureResult GetDetectorFeatureResultForName(const Aws::String& name) @@ -70,6 +71,10 @@ namespace Aws { return DetectorFeatureResult::LAMBDA_NETWORK_LOGS; } + else if (hashCode == RUNTIME_MONITORING_HASH) + { + return DetectorFeatureResult::RUNTIME_MONITORING; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -104,6 +109,8 @@ namespace Aws return "EKS_RUNTIME_MONITORING"; case DetectorFeatureResult::LAMBDA_NETWORK_LOGS: return "LAMBDA_NETWORK_LOGS"; + case DetectorFeatureResult::RUNTIME_MONITORING: + return "RUNTIME_MONITORING"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-guardduty/source/model/FargateDetails.cpp b/generated/src/aws-cpp-sdk-guardduty/source/model/FargateDetails.cpp new file mode 100644 index 00000000000..dada4c2ce13 --- /dev/null +++ b/generated/src/aws-cpp-sdk-guardduty/source/model/FargateDetails.cpp @@ -0,0 +1,83 @@ +/** + * 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 GuardDuty +{ +namespace Model +{ + +FargateDetails::FargateDetails() : + m_issuesHasBeenSet(false), + m_managementType(ManagementType::NOT_SET), + m_managementTypeHasBeenSet(false) +{ +} + +FargateDetails::FargateDetails(JsonView jsonValue) : + m_issuesHasBeenSet(false), + m_managementType(ManagementType::NOT_SET), + m_managementTypeHasBeenSet(false) +{ + *this = jsonValue; +} + +FargateDetails& FargateDetails::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("issues")) + { + Aws::Utils::Array issuesJsonList = jsonValue.GetArray("issues"); + for(unsigned issuesIndex = 0; issuesIndex < issuesJsonList.GetLength(); ++issuesIndex) + { + m_issues.push_back(issuesJsonList[issuesIndex].AsString()); + } + m_issuesHasBeenSet = true; + } + + if(jsonValue.ValueExists("managementType")) + { + m_managementType = ManagementTypeMapper::GetManagementTypeForName(jsonValue.GetString("managementType")); + + m_managementTypeHasBeenSet = true; + } + + return *this; +} + +JsonValue FargateDetails::Jsonize() const +{ + JsonValue payload; + + if(m_issuesHasBeenSet) + { + Aws::Utils::Array issuesJsonList(m_issues.size()); + for(unsigned issuesIndex = 0; issuesIndex < issuesJsonList.GetLength(); ++issuesIndex) + { + issuesJsonList[issuesIndex].AsString(m_issues[issuesIndex]); + } + payload.WithArray("issues", std::move(issuesJsonList)); + + } + + if(m_managementTypeHasBeenSet) + { + payload.WithString("managementType", ManagementTypeMapper::GetNameForManagementType(m_managementType)); + } + + return payload; +} + +} // namespace Model +} // namespace GuardDuty +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-guardduty/source/model/FeatureAdditionalConfiguration.cpp b/generated/src/aws-cpp-sdk-guardduty/source/model/FeatureAdditionalConfiguration.cpp index d334253fce4..bf40abfb29d 100644 --- a/generated/src/aws-cpp-sdk-guardduty/source/model/FeatureAdditionalConfiguration.cpp +++ b/generated/src/aws-cpp-sdk-guardduty/source/model/FeatureAdditionalConfiguration.cpp @@ -21,6 +21,7 @@ namespace Aws { static const int EKS_ADDON_MANAGEMENT_HASH = HashingUtils::HashString("EKS_ADDON_MANAGEMENT"); + static const int ECS_FARGATE_AGENT_MANAGEMENT_HASH = HashingUtils::HashString("ECS_FARGATE_AGENT_MANAGEMENT"); FeatureAdditionalConfiguration GetFeatureAdditionalConfigurationForName(const Aws::String& name) @@ -30,6 +31,10 @@ namespace Aws { return FeatureAdditionalConfiguration::EKS_ADDON_MANAGEMENT; } + else if (hashCode == ECS_FARGATE_AGENT_MANAGEMENT_HASH) + { + return FeatureAdditionalConfiguration::ECS_FARGATE_AGENT_MANAGEMENT; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -48,6 +53,8 @@ namespace Aws return {}; case FeatureAdditionalConfiguration::EKS_ADDON_MANAGEMENT: return "EKS_ADDON_MANAGEMENT"; + case FeatureAdditionalConfiguration::ECS_FARGATE_AGENT_MANAGEMENT: + return "ECS_FARGATE_AGENT_MANAGEMENT"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-guardduty/source/model/FreeTrialFeatureResult.cpp b/generated/src/aws-cpp-sdk-guardduty/source/model/FreeTrialFeatureResult.cpp index df6c485744a..94920f34da4 100644 --- a/generated/src/aws-cpp-sdk-guardduty/source/model/FreeTrialFeatureResult.cpp +++ b/generated/src/aws-cpp-sdk-guardduty/source/model/FreeTrialFeatureResult.cpp @@ -29,6 +29,8 @@ namespace Aws static const int RDS_LOGIN_EVENTS_HASH = HashingUtils::HashString("RDS_LOGIN_EVENTS"); static const int EKS_RUNTIME_MONITORING_HASH = HashingUtils::HashString("EKS_RUNTIME_MONITORING"); static const int LAMBDA_NETWORK_LOGS_HASH = HashingUtils::HashString("LAMBDA_NETWORK_LOGS"); + static const int FARGATE_RUNTIME_MONITORING_HASH = HashingUtils::HashString("FARGATE_RUNTIME_MONITORING"); + static const int EC2_RUNTIME_MONITORING_HASH = HashingUtils::HashString("EC2_RUNTIME_MONITORING"); FreeTrialFeatureResult GetFreeTrialFeatureResultForName(const Aws::String& name) @@ -70,6 +72,14 @@ namespace Aws { return FreeTrialFeatureResult::LAMBDA_NETWORK_LOGS; } + else if (hashCode == FARGATE_RUNTIME_MONITORING_HASH) + { + return FreeTrialFeatureResult::FARGATE_RUNTIME_MONITORING; + } + else if (hashCode == EC2_RUNTIME_MONITORING_HASH) + { + return FreeTrialFeatureResult::EC2_RUNTIME_MONITORING; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -104,6 +114,10 @@ namespace Aws return "EKS_RUNTIME_MONITORING"; case FreeTrialFeatureResult::LAMBDA_NETWORK_LOGS: return "LAMBDA_NETWORK_LOGS"; + case FreeTrialFeatureResult::FARGATE_RUNTIME_MONITORING: + return "FARGATE_RUNTIME_MONITORING"; + case FreeTrialFeatureResult::EC2_RUNTIME_MONITORING: + return "EC2_RUNTIME_MONITORING"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-guardduty/source/model/ManagementType.cpp b/generated/src/aws-cpp-sdk-guardduty/source/model/ManagementType.cpp index a5e7a7db6d3..d92a14f70f7 100644 --- a/generated/src/aws-cpp-sdk-guardduty/source/model/ManagementType.cpp +++ b/generated/src/aws-cpp-sdk-guardduty/source/model/ManagementType.cpp @@ -22,6 +22,7 @@ namespace Aws static const int AUTO_MANAGED_HASH = HashingUtils::HashString("AUTO_MANAGED"); static const int MANUAL_HASH = HashingUtils::HashString("MANUAL"); + static const int DISABLED_HASH = HashingUtils::HashString("DISABLED"); ManagementType GetManagementTypeForName(const Aws::String& name) @@ -35,6 +36,10 @@ namespace Aws { return ManagementType::MANUAL; } + else if (hashCode == DISABLED_HASH) + { + return ManagementType::DISABLED; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -55,6 +60,8 @@ namespace Aws return "AUTO_MANAGED"; case ManagementType::MANUAL: return "MANUAL"; + case ManagementType::DISABLED: + return "DISABLED"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-guardduty/source/model/OrgFeature.cpp b/generated/src/aws-cpp-sdk-guardduty/source/model/OrgFeature.cpp index 9c6724010e1..4de98fc5e55 100644 --- a/generated/src/aws-cpp-sdk-guardduty/source/model/OrgFeature.cpp +++ b/generated/src/aws-cpp-sdk-guardduty/source/model/OrgFeature.cpp @@ -26,6 +26,7 @@ namespace Aws static const int RDS_LOGIN_EVENTS_HASH = HashingUtils::HashString("RDS_LOGIN_EVENTS"); static const int EKS_RUNTIME_MONITORING_HASH = HashingUtils::HashString("EKS_RUNTIME_MONITORING"); static const int LAMBDA_NETWORK_LOGS_HASH = HashingUtils::HashString("LAMBDA_NETWORK_LOGS"); + static const int RUNTIME_MONITORING_HASH = HashingUtils::HashString("RUNTIME_MONITORING"); OrgFeature GetOrgFeatureForName(const Aws::String& name) @@ -55,6 +56,10 @@ namespace Aws { return OrgFeature::LAMBDA_NETWORK_LOGS; } + else if (hashCode == RUNTIME_MONITORING_HASH) + { + return OrgFeature::RUNTIME_MONITORING; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -83,6 +88,8 @@ namespace Aws return "EKS_RUNTIME_MONITORING"; case OrgFeature::LAMBDA_NETWORK_LOGS: return "LAMBDA_NETWORK_LOGS"; + case OrgFeature::RUNTIME_MONITORING: + return "RUNTIME_MONITORING"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-guardduty/source/model/OrgFeatureAdditionalConfiguration.cpp b/generated/src/aws-cpp-sdk-guardduty/source/model/OrgFeatureAdditionalConfiguration.cpp index 1306df2c676..5644206b4ed 100644 --- a/generated/src/aws-cpp-sdk-guardduty/source/model/OrgFeatureAdditionalConfiguration.cpp +++ b/generated/src/aws-cpp-sdk-guardduty/source/model/OrgFeatureAdditionalConfiguration.cpp @@ -21,6 +21,7 @@ namespace Aws { static const int EKS_ADDON_MANAGEMENT_HASH = HashingUtils::HashString("EKS_ADDON_MANAGEMENT"); + static const int ECS_FARGATE_AGENT_MANAGEMENT_HASH = HashingUtils::HashString("ECS_FARGATE_AGENT_MANAGEMENT"); OrgFeatureAdditionalConfiguration GetOrgFeatureAdditionalConfigurationForName(const Aws::String& name) @@ -30,6 +31,10 @@ namespace Aws { return OrgFeatureAdditionalConfiguration::EKS_ADDON_MANAGEMENT; } + else if (hashCode == ECS_FARGATE_AGENT_MANAGEMENT_HASH) + { + return OrgFeatureAdditionalConfiguration::ECS_FARGATE_AGENT_MANAGEMENT; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -48,6 +53,8 @@ namespace Aws return {}; case OrgFeatureAdditionalConfiguration::EKS_ADDON_MANAGEMENT: return "EKS_ADDON_MANAGEMENT"; + case OrgFeatureAdditionalConfiguration::ECS_FARGATE_AGENT_MANAGEMENT: + return "ECS_FARGATE_AGENT_MANAGEMENT"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-guardduty/source/model/ResourceType.cpp b/generated/src/aws-cpp-sdk-guardduty/source/model/ResourceType.cpp index fcb372adb81..831bbe1777b 100644 --- a/generated/src/aws-cpp-sdk-guardduty/source/model/ResourceType.cpp +++ b/generated/src/aws-cpp-sdk-guardduty/source/model/ResourceType.cpp @@ -21,6 +21,8 @@ namespace Aws { static const int EKS_HASH = HashingUtils::HashString("EKS"); + static const int ECS_HASH = HashingUtils::HashString("ECS"); + static const int EC2_HASH = HashingUtils::HashString("EC2"); ResourceType GetResourceTypeForName(const Aws::String& name) @@ -30,6 +32,14 @@ namespace Aws { return ResourceType::EKS; } + else if (hashCode == ECS_HASH) + { + return ResourceType::ECS; + } + else if (hashCode == EC2_HASH) + { + return ResourceType::EC2; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -48,6 +58,10 @@ namespace Aws return {}; case ResourceType::EKS: return "EKS"; + case ResourceType::ECS: + return "ECS"; + case ResourceType::EC2: + return "EC2"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-guardduty/source/model/UsageFeature.cpp b/generated/src/aws-cpp-sdk-guardduty/source/model/UsageFeature.cpp index c71aa6c3be9..ccd93e6d369 100644 --- a/generated/src/aws-cpp-sdk-guardduty/source/model/UsageFeature.cpp +++ b/generated/src/aws-cpp-sdk-guardduty/source/model/UsageFeature.cpp @@ -29,6 +29,8 @@ namespace Aws static const int RDS_LOGIN_EVENTS_HASH = HashingUtils::HashString("RDS_LOGIN_EVENTS"); static const int LAMBDA_NETWORK_LOGS_HASH = HashingUtils::HashString("LAMBDA_NETWORK_LOGS"); static const int EKS_RUNTIME_MONITORING_HASH = HashingUtils::HashString("EKS_RUNTIME_MONITORING"); + static const int FARGATE_RUNTIME_MONITORING_HASH = HashingUtils::HashString("FARGATE_RUNTIME_MONITORING"); + static const int EC2_RUNTIME_MONITORING_HASH = HashingUtils::HashString("EC2_RUNTIME_MONITORING"); UsageFeature GetUsageFeatureForName(const Aws::String& name) @@ -70,6 +72,14 @@ namespace Aws { return UsageFeature::EKS_RUNTIME_MONITORING; } + else if (hashCode == FARGATE_RUNTIME_MONITORING_HASH) + { + return UsageFeature::FARGATE_RUNTIME_MONITORING; + } + else if (hashCode == EC2_RUNTIME_MONITORING_HASH) + { + return UsageFeature::EC2_RUNTIME_MONITORING; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -104,6 +114,10 @@ namespace Aws return "LAMBDA_NETWORK_LOGS"; case UsageFeature::EKS_RUNTIME_MONITORING: return "EKS_RUNTIME_MONITORING"; + case UsageFeature::FARGATE_RUNTIME_MONITORING: + return "FARGATE_RUNTIME_MONITORING"; + case UsageFeature::EC2_RUNTIME_MONITORING: + return "EC2_RUNTIME_MONITORING"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/IoTFleetWiseClient.h b/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/IoTFleetWiseClient.h index 829f485d6ee..754aa5da342 100644 --- a/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/IoTFleetWiseClient.h +++ b/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/IoTFleetWiseClient.h @@ -1289,23 +1289,22 @@ namespace IoTFleetWise * information, see DeleteServiceLinkedRole * in the Identity and Access Management API Reference.

            - *
             <p>Registers your Amazon Web Services account, IAM, and Amazon
            -         * Timestream resources so Amazon Web Services IoT FleetWise can transfer your
            -         * vehicle data to the Amazon Web Services Cloud. For more information, including
            -         * step-by-step procedures, see <a
            -         * href="https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/setting-up.html">Setting
            -         * up Amazon Web Services IoT FleetWise</a>. </p> <note>
            -         * <p>An Amazon Web Services account is <b>not</b> the same thing
            -         * as a "user." An <a
            -         * href="https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_identity-management.html#intro-identity-users">Amazon
            -         * Web Services user</a> is an identity that you create using Identity and
            -         * Access Management (IAM) and takes the form of either an <a
            -         * href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html">IAM
            -         * user</a> or an <a
            -         * href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html">IAM
            -         * role, both with credentials</a>. A single Amazon Web Services account can,
            -         * and typically does, contain many users and roles.</p> </note>
            -         * 

            See Also:

            Registers your Amazon Web Services account, IAM, and Amazon Timestream + * resources so Amazon Web Services IoT FleetWise can transfer your vehicle data to + * the Amazon Web Services Cloud. For more information, including step-by-step + * procedures, see Setting + * up Amazon Web Services IoT FleetWise.

            An Amazon Web Services + * account is not the same thing as a "user." An Amazon + * Web Services user is an identity that you create using Identity and Access + * Management (IAM) and takes the form of either an IAM + * user or an IAM role, + * both with credentials. A single Amazon Web Services account can, and + * typically does, contain many users and roles.

            See Also:

            + * AWS * API Reference

            */ diff --git a/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/Actuator.h b/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/Actuator.h index f0dba4ac6be..804ec9e29a4 100644 --- a/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/Actuator.h +++ b/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/Actuator.h @@ -382,6 +382,71 @@ namespace Model */ inline Actuator& WithComment(const char* value) { SetComment(value); return *this;} + + /** + *

            The fully qualified name of the struct node for the actuator if the data type + * of the actuator is Struct or StructArray. For example, + * the struct fully qualified name of an actuator might be + * Vehicle.Door.LockStruct.

            + */ + inline const Aws::String& GetStructFullyQualifiedName() const{ return m_structFullyQualifiedName; } + + /** + *

            The fully qualified name of the struct node for the actuator if the data type + * of the actuator is Struct or StructArray. For example, + * the struct fully qualified name of an actuator might be + * Vehicle.Door.LockStruct.

            + */ + inline bool StructFullyQualifiedNameHasBeenSet() const { return m_structFullyQualifiedNameHasBeenSet; } + + /** + *

            The fully qualified name of the struct node for the actuator if the data type + * of the actuator is Struct or StructArray. For example, + * the struct fully qualified name of an actuator might be + * Vehicle.Door.LockStruct.

            + */ + inline void SetStructFullyQualifiedName(const Aws::String& value) { m_structFullyQualifiedNameHasBeenSet = true; m_structFullyQualifiedName = value; } + + /** + *

            The fully qualified name of the struct node for the actuator if the data type + * of the actuator is Struct or StructArray. For example, + * the struct fully qualified name of an actuator might be + * Vehicle.Door.LockStruct.

            + */ + inline void SetStructFullyQualifiedName(Aws::String&& value) { m_structFullyQualifiedNameHasBeenSet = true; m_structFullyQualifiedName = std::move(value); } + + /** + *

            The fully qualified name of the struct node for the actuator if the data type + * of the actuator is Struct or StructArray. For example, + * the struct fully qualified name of an actuator might be + * Vehicle.Door.LockStruct.

            + */ + inline void SetStructFullyQualifiedName(const char* value) { m_structFullyQualifiedNameHasBeenSet = true; m_structFullyQualifiedName.assign(value); } + + /** + *

            The fully qualified name of the struct node for the actuator if the data type + * of the actuator is Struct or StructArray. For example, + * the struct fully qualified name of an actuator might be + * Vehicle.Door.LockStruct.

            + */ + inline Actuator& WithStructFullyQualifiedName(const Aws::String& value) { SetStructFullyQualifiedName(value); return *this;} + + /** + *

            The fully qualified name of the struct node for the actuator if the data type + * of the actuator is Struct or StructArray. For example, + * the struct fully qualified name of an actuator might be + * Vehicle.Door.LockStruct.

            + */ + inline Actuator& WithStructFullyQualifiedName(Aws::String&& value) { SetStructFullyQualifiedName(std::move(value)); return *this;} + + /** + *

            The fully qualified name of the struct node for the actuator if the data type + * of the actuator is Struct or StructArray. For example, + * the struct fully qualified name of an actuator might be + * Vehicle.Door.LockStruct.

            + */ + inline Actuator& WithStructFullyQualifiedName(const char* value) { SetStructFullyQualifiedName(value); return *this;} + private: Aws::String m_fullyQualifiedName; @@ -410,6 +475,9 @@ namespace Model Aws::String m_comment; bool m_commentHasBeenSet = false; + + Aws::String m_structFullyQualifiedName; + bool m_structFullyQualifiedNameHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/CanDbcDefinition.h b/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/CanDbcDefinition.h index 9b98e36fa2c..2111c886cc8 100644 --- a/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/CanDbcDefinition.h +++ b/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/CanDbcDefinition.h @@ -84,49 +84,57 @@ namespace Model /** *

            A list of DBC files. You can upload only one DBC file for each network - * interface and specify up to five (inclusive) files in the list.

            + * interface and specify up to five (inclusive) files in the list. The DBC file can + * be a maximum size of 200 MB.

            */ inline const Aws::Vector& GetCanDbcFiles() const{ return m_canDbcFiles; } /** *

            A list of DBC files. You can upload only one DBC file for each network - * interface and specify up to five (inclusive) files in the list.

            + * interface and specify up to five (inclusive) files in the list. The DBC file can + * be a maximum size of 200 MB.

            */ inline bool CanDbcFilesHasBeenSet() const { return m_canDbcFilesHasBeenSet; } /** *

            A list of DBC files. You can upload only one DBC file for each network - * interface and specify up to five (inclusive) files in the list.

            + * interface and specify up to five (inclusive) files in the list. The DBC file can + * be a maximum size of 200 MB.

            */ inline void SetCanDbcFiles(const Aws::Vector& value) { m_canDbcFilesHasBeenSet = true; m_canDbcFiles = value; } /** *

            A list of DBC files. You can upload only one DBC file for each network - * interface and specify up to five (inclusive) files in the list.

            + * interface and specify up to five (inclusive) files in the list. The DBC file can + * be a maximum size of 200 MB.

            */ inline void SetCanDbcFiles(Aws::Vector&& value) { m_canDbcFilesHasBeenSet = true; m_canDbcFiles = std::move(value); } /** *

            A list of DBC files. You can upload only one DBC file for each network - * interface and specify up to five (inclusive) files in the list.

            + * interface and specify up to five (inclusive) files in the list. The DBC file can + * be a maximum size of 200 MB.

            */ inline CanDbcDefinition& WithCanDbcFiles(const Aws::Vector& value) { SetCanDbcFiles(value); return *this;} /** *

            A list of DBC files. You can upload only one DBC file for each network - * interface and specify up to five (inclusive) files in the list.

            + * interface and specify up to five (inclusive) files in the list. The DBC file can + * be a maximum size of 200 MB.

            */ inline CanDbcDefinition& WithCanDbcFiles(Aws::Vector&& value) { SetCanDbcFiles(std::move(value)); return *this;} /** *

            A list of DBC files. You can upload only one DBC file for each network - * interface and specify up to five (inclusive) files in the list.

            + * interface and specify up to five (inclusive) files in the list. The DBC file can + * be a maximum size of 200 MB.

            */ inline CanDbcDefinition& AddCanDbcFiles(const Aws::Utils::ByteBuffer& value) { m_canDbcFilesHasBeenSet = true; m_canDbcFiles.push_back(value); return *this; } /** *

            A list of DBC files. You can upload only one DBC file for each network - * interface and specify up to five (inclusive) files in the list.

            + * interface and specify up to five (inclusive) files in the list. The DBC file can + * be a maximum size of 200 MB.

            */ inline CanDbcDefinition& AddCanDbcFiles(Aws::Utils::ByteBuffer&& value) { m_canDbcFilesHasBeenSet = true; m_canDbcFiles.push_back(std::move(value)); return *this; } diff --git a/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/CustomProperty.h b/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/CustomProperty.h new file mode 100644 index 00000000000..04fe95d1514 --- /dev/null +++ b/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/CustomProperty.h @@ -0,0 +1,376 @@ +/** + * 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 IoTFleetWise +{ +namespace Model +{ + + /** + *

            Represents a member of the complex data structure. The data type of the + * property can be either primitive or another struct.

            See + * Also:

            AWS + * API Reference

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

            The fully qualified name of the custom property. For example, the fully + * qualified name of a custom property might be + * ComplexDataTypes.VehicleDataTypes.SVMCamera.FPS.

            + */ + inline const Aws::String& GetFullyQualifiedName() const{ return m_fullyQualifiedName; } + + /** + *

            The fully qualified name of the custom property. For example, the fully + * qualified name of a custom property might be + * ComplexDataTypes.VehicleDataTypes.SVMCamera.FPS.

            + */ + inline bool FullyQualifiedNameHasBeenSet() const { return m_fullyQualifiedNameHasBeenSet; } + + /** + *

            The fully qualified name of the custom property. For example, the fully + * qualified name of a custom property might be + * ComplexDataTypes.VehicleDataTypes.SVMCamera.FPS.

            + */ + inline void SetFullyQualifiedName(const Aws::String& value) { m_fullyQualifiedNameHasBeenSet = true; m_fullyQualifiedName = value; } + + /** + *

            The fully qualified name of the custom property. For example, the fully + * qualified name of a custom property might be + * ComplexDataTypes.VehicleDataTypes.SVMCamera.FPS.

            + */ + inline void SetFullyQualifiedName(Aws::String&& value) { m_fullyQualifiedNameHasBeenSet = true; m_fullyQualifiedName = std::move(value); } + + /** + *

            The fully qualified name of the custom property. For example, the fully + * qualified name of a custom property might be + * ComplexDataTypes.VehicleDataTypes.SVMCamera.FPS.

            + */ + inline void SetFullyQualifiedName(const char* value) { m_fullyQualifiedNameHasBeenSet = true; m_fullyQualifiedName.assign(value); } + + /** + *

            The fully qualified name of the custom property. For example, the fully + * qualified name of a custom property might be + * ComplexDataTypes.VehicleDataTypes.SVMCamera.FPS.

            + */ + inline CustomProperty& WithFullyQualifiedName(const Aws::String& value) { SetFullyQualifiedName(value); return *this;} + + /** + *

            The fully qualified name of the custom property. For example, the fully + * qualified name of a custom property might be + * ComplexDataTypes.VehicleDataTypes.SVMCamera.FPS.

            + */ + inline CustomProperty& WithFullyQualifiedName(Aws::String&& value) { SetFullyQualifiedName(std::move(value)); return *this;} + + /** + *

            The fully qualified name of the custom property. For example, the fully + * qualified name of a custom property might be + * ComplexDataTypes.VehicleDataTypes.SVMCamera.FPS.

            + */ + inline CustomProperty& WithFullyQualifiedName(const char* value) { SetFullyQualifiedName(value); return *this;} + + + /** + *

            The data type for the custom property.

            + */ + inline const NodeDataType& GetDataType() const{ return m_dataType; } + + /** + *

            The data type for the custom property.

            + */ + inline bool DataTypeHasBeenSet() const { return m_dataTypeHasBeenSet; } + + /** + *

            The data type for the custom property.

            + */ + inline void SetDataType(const NodeDataType& value) { m_dataTypeHasBeenSet = true; m_dataType = value; } + + /** + *

            The data type for the custom property.

            + */ + inline void SetDataType(NodeDataType&& value) { m_dataTypeHasBeenSet = true; m_dataType = std::move(value); } + + /** + *

            The data type for the custom property.

            + */ + inline CustomProperty& WithDataType(const NodeDataType& value) { SetDataType(value); return *this;} + + /** + *

            The data type for the custom property.

            + */ + inline CustomProperty& WithDataType(NodeDataType&& value) { SetDataType(std::move(value)); return *this;} + + + /** + *

            Indicates whether the property is binary data.

            + */ + inline const NodeDataEncoding& GetDataEncoding() const{ return m_dataEncoding; } + + /** + *

            Indicates whether the property is binary data.

            + */ + inline bool DataEncodingHasBeenSet() const { return m_dataEncodingHasBeenSet; } + + /** + *

            Indicates whether the property is binary data.

            + */ + inline void SetDataEncoding(const NodeDataEncoding& value) { m_dataEncodingHasBeenSet = true; m_dataEncoding = value; } + + /** + *

            Indicates whether the property is binary data.

            + */ + inline void SetDataEncoding(NodeDataEncoding&& value) { m_dataEncodingHasBeenSet = true; m_dataEncoding = std::move(value); } + + /** + *

            Indicates whether the property is binary data.

            + */ + inline CustomProperty& WithDataEncoding(const NodeDataEncoding& value) { SetDataEncoding(value); return *this;} + + /** + *

            Indicates whether the property is binary data.

            + */ + inline CustomProperty& WithDataEncoding(NodeDataEncoding&& value) { SetDataEncoding(std::move(value)); return *this;} + + + /** + *

            A brief description of the custom property.

            + */ + inline const Aws::String& GetDescription() const{ return m_description; } + + /** + *

            A brief description of the custom property.

            + */ + inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } + + /** + *

            A brief description of the custom property.

            + */ + inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } + + /** + *

            A brief description of the custom property.

            + */ + inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } + + /** + *

            A brief description of the custom property.

            + */ + inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } + + /** + *

            A brief description of the custom property.

            + */ + inline CustomProperty& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} + + /** + *

            A brief description of the custom property.

            + */ + inline CustomProperty& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} + + /** + *

            A brief description of the custom property.

            + */ + inline CustomProperty& WithDescription(const char* value) { SetDescription(value); return *this;} + + + /** + *

            The deprecation message for the node or the branch that was moved or + * deleted.

            + */ + inline const Aws::String& GetDeprecationMessage() const{ return m_deprecationMessage; } + + /** + *

            The deprecation message for the node or the branch that was moved or + * deleted.

            + */ + inline bool DeprecationMessageHasBeenSet() const { return m_deprecationMessageHasBeenSet; } + + /** + *

            The deprecation message for the node or the branch that was moved or + * deleted.

            + */ + inline void SetDeprecationMessage(const Aws::String& value) { m_deprecationMessageHasBeenSet = true; m_deprecationMessage = value; } + + /** + *

            The deprecation message for the node or the branch that was moved or + * deleted.

            + */ + inline void SetDeprecationMessage(Aws::String&& value) { m_deprecationMessageHasBeenSet = true; m_deprecationMessage = std::move(value); } + + /** + *

            The deprecation message for the node or the branch that was moved or + * deleted.

            + */ + inline void SetDeprecationMessage(const char* value) { m_deprecationMessageHasBeenSet = true; m_deprecationMessage.assign(value); } + + /** + *

            The deprecation message for the node or the branch that was moved or + * deleted.

            + */ + inline CustomProperty& WithDeprecationMessage(const Aws::String& value) { SetDeprecationMessage(value); return *this;} + + /** + *

            The deprecation message for the node or the branch that was moved or + * deleted.

            + */ + inline CustomProperty& WithDeprecationMessage(Aws::String&& value) { SetDeprecationMessage(std::move(value)); return *this;} + + /** + *

            The deprecation message for the node or the branch that was moved or + * deleted.

            + */ + inline CustomProperty& WithDeprecationMessage(const char* value) { SetDeprecationMessage(value); return *this;} + + + /** + *

            A comment in addition to the description.

            + */ + inline const Aws::String& GetComment() const{ return m_comment; } + + /** + *

            A comment in addition to the description.

            + */ + inline bool CommentHasBeenSet() const { return m_commentHasBeenSet; } + + /** + *

            A comment in addition to the description.

            + */ + inline void SetComment(const Aws::String& value) { m_commentHasBeenSet = true; m_comment = value; } + + /** + *

            A comment in addition to the description.

            + */ + inline void SetComment(Aws::String&& value) { m_commentHasBeenSet = true; m_comment = std::move(value); } + + /** + *

            A comment in addition to the description.

            + */ + inline void SetComment(const char* value) { m_commentHasBeenSet = true; m_comment.assign(value); } + + /** + *

            A comment in addition to the description.

            + */ + inline CustomProperty& WithComment(const Aws::String& value) { SetComment(value); return *this;} + + /** + *

            A comment in addition to the description.

            + */ + inline CustomProperty& WithComment(Aws::String&& value) { SetComment(std::move(value)); return *this;} + + /** + *

            A comment in addition to the description.

            + */ + inline CustomProperty& WithComment(const char* value) { SetComment(value); return *this;} + + + /** + *

            The fully qualified name of the struct node for the custom property if the + * data type of the custom property is Struct or + * StructArray.

            + */ + inline const Aws::String& GetStructFullyQualifiedName() const{ return m_structFullyQualifiedName; } + + /** + *

            The fully qualified name of the struct node for the custom property if the + * data type of the custom property is Struct or + * StructArray.

            + */ + inline bool StructFullyQualifiedNameHasBeenSet() const { return m_structFullyQualifiedNameHasBeenSet; } + + /** + *

            The fully qualified name of the struct node for the custom property if the + * data type of the custom property is Struct or + * StructArray.

            + */ + inline void SetStructFullyQualifiedName(const Aws::String& value) { m_structFullyQualifiedNameHasBeenSet = true; m_structFullyQualifiedName = value; } + + /** + *

            The fully qualified name of the struct node for the custom property if the + * data type of the custom property is Struct or + * StructArray.

            + */ + inline void SetStructFullyQualifiedName(Aws::String&& value) { m_structFullyQualifiedNameHasBeenSet = true; m_structFullyQualifiedName = std::move(value); } + + /** + *

            The fully qualified name of the struct node for the custom property if the + * data type of the custom property is Struct or + * StructArray.

            + */ + inline void SetStructFullyQualifiedName(const char* value) { m_structFullyQualifiedNameHasBeenSet = true; m_structFullyQualifiedName.assign(value); } + + /** + *

            The fully qualified name of the struct node for the custom property if the + * data type of the custom property is Struct or + * StructArray.

            + */ + inline CustomProperty& WithStructFullyQualifiedName(const Aws::String& value) { SetStructFullyQualifiedName(value); return *this;} + + /** + *

            The fully qualified name of the struct node for the custom property if the + * data type of the custom property is Struct or + * StructArray.

            + */ + inline CustomProperty& WithStructFullyQualifiedName(Aws::String&& value) { SetStructFullyQualifiedName(std::move(value)); return *this;} + + /** + *

            The fully qualified name of the struct node for the custom property if the + * data type of the custom property is Struct or + * StructArray.

            + */ + inline CustomProperty& WithStructFullyQualifiedName(const char* value) { SetStructFullyQualifiedName(value); return *this;} + + private: + + Aws::String m_fullyQualifiedName; + bool m_fullyQualifiedNameHasBeenSet = false; + + NodeDataType m_dataType; + bool m_dataTypeHasBeenSet = false; + + NodeDataEncoding m_dataEncoding; + bool m_dataEncodingHasBeenSet = false; + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + Aws::String m_deprecationMessage; + bool m_deprecationMessageHasBeenSet = false; + + Aws::String m_comment; + bool m_commentHasBeenSet = false; + + Aws::String m_structFullyQualifiedName; + bool m_structFullyQualifiedNameHasBeenSet = false; + }; + +} // namespace Model +} // namespace IoTFleetWise +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/CustomStruct.h b/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/CustomStruct.h new file mode 100644 index 00000000000..b3dfb622bfe --- /dev/null +++ b/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/CustomStruct.h @@ -0,0 +1,245 @@ +/** + * 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 IoTFleetWise +{ +namespace Model +{ + + /** + *

            The custom structure represents a complex or higher-order data + * structure.

            See Also:

            AWS + * API Reference

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

            The fully qualified name of the custom structure. For example, the fully + * qualified name of a custom structure might be + * ComplexDataTypes.VehicleDataTypes.SVMCamera.

            + */ + inline const Aws::String& GetFullyQualifiedName() const{ return m_fullyQualifiedName; } + + /** + *

            The fully qualified name of the custom structure. For example, the fully + * qualified name of a custom structure might be + * ComplexDataTypes.VehicleDataTypes.SVMCamera.

            + */ + inline bool FullyQualifiedNameHasBeenSet() const { return m_fullyQualifiedNameHasBeenSet; } + + /** + *

            The fully qualified name of the custom structure. For example, the fully + * qualified name of a custom structure might be + * ComplexDataTypes.VehicleDataTypes.SVMCamera.

            + */ + inline void SetFullyQualifiedName(const Aws::String& value) { m_fullyQualifiedNameHasBeenSet = true; m_fullyQualifiedName = value; } + + /** + *

            The fully qualified name of the custom structure. For example, the fully + * qualified name of a custom structure might be + * ComplexDataTypes.VehicleDataTypes.SVMCamera.

            + */ + inline void SetFullyQualifiedName(Aws::String&& value) { m_fullyQualifiedNameHasBeenSet = true; m_fullyQualifiedName = std::move(value); } + + /** + *

            The fully qualified name of the custom structure. For example, the fully + * qualified name of a custom structure might be + * ComplexDataTypes.VehicleDataTypes.SVMCamera.

            + */ + inline void SetFullyQualifiedName(const char* value) { m_fullyQualifiedNameHasBeenSet = true; m_fullyQualifiedName.assign(value); } + + /** + *

            The fully qualified name of the custom structure. For example, the fully + * qualified name of a custom structure might be + * ComplexDataTypes.VehicleDataTypes.SVMCamera.

            + */ + inline CustomStruct& WithFullyQualifiedName(const Aws::String& value) { SetFullyQualifiedName(value); return *this;} + + /** + *

            The fully qualified name of the custom structure. For example, the fully + * qualified name of a custom structure might be + * ComplexDataTypes.VehicleDataTypes.SVMCamera.

            + */ + inline CustomStruct& WithFullyQualifiedName(Aws::String&& value) { SetFullyQualifiedName(std::move(value)); return *this;} + + /** + *

            The fully qualified name of the custom structure. For example, the fully + * qualified name of a custom structure might be + * ComplexDataTypes.VehicleDataTypes.SVMCamera.

            + */ + inline CustomStruct& WithFullyQualifiedName(const char* value) { SetFullyQualifiedName(value); return *this;} + + + /** + *

            A brief description of the custom structure.

            + */ + inline const Aws::String& GetDescription() const{ return m_description; } + + /** + *

            A brief description of the custom structure.

            + */ + inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } + + /** + *

            A brief description of the custom structure.

            + */ + inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } + + /** + *

            A brief description of the custom structure.

            + */ + inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } + + /** + *

            A brief description of the custom structure.

            + */ + inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } + + /** + *

            A brief description of the custom structure.

            + */ + inline CustomStruct& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} + + /** + *

            A brief description of the custom structure.

            + */ + inline CustomStruct& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} + + /** + *

            A brief description of the custom structure.

            + */ + inline CustomStruct& WithDescription(const char* value) { SetDescription(value); return *this;} + + + /** + *

            The deprecation message for the node or the branch that was moved or + * deleted.

            + */ + inline const Aws::String& GetDeprecationMessage() const{ return m_deprecationMessage; } + + /** + *

            The deprecation message for the node or the branch that was moved or + * deleted.

            + */ + inline bool DeprecationMessageHasBeenSet() const { return m_deprecationMessageHasBeenSet; } + + /** + *

            The deprecation message for the node or the branch that was moved or + * deleted.

            + */ + inline void SetDeprecationMessage(const Aws::String& value) { m_deprecationMessageHasBeenSet = true; m_deprecationMessage = value; } + + /** + *

            The deprecation message for the node or the branch that was moved or + * deleted.

            + */ + inline void SetDeprecationMessage(Aws::String&& value) { m_deprecationMessageHasBeenSet = true; m_deprecationMessage = std::move(value); } + + /** + *

            The deprecation message for the node or the branch that was moved or + * deleted.

            + */ + inline void SetDeprecationMessage(const char* value) { m_deprecationMessageHasBeenSet = true; m_deprecationMessage.assign(value); } + + /** + *

            The deprecation message for the node or the branch that was moved or + * deleted.

            + */ + inline CustomStruct& WithDeprecationMessage(const Aws::String& value) { SetDeprecationMessage(value); return *this;} + + /** + *

            The deprecation message for the node or the branch that was moved or + * deleted.

            + */ + inline CustomStruct& WithDeprecationMessage(Aws::String&& value) { SetDeprecationMessage(std::move(value)); return *this;} + + /** + *

            The deprecation message for the node or the branch that was moved or + * deleted.

            + */ + inline CustomStruct& WithDeprecationMessage(const char* value) { SetDeprecationMessage(value); return *this;} + + + /** + *

            A comment in addition to the description.

            + */ + inline const Aws::String& GetComment() const{ return m_comment; } + + /** + *

            A comment in addition to the description.

            + */ + inline bool CommentHasBeenSet() const { return m_commentHasBeenSet; } + + /** + *

            A comment in addition to the description.

            + */ + inline void SetComment(const Aws::String& value) { m_commentHasBeenSet = true; m_comment = value; } + + /** + *

            A comment in addition to the description.

            + */ + inline void SetComment(Aws::String&& value) { m_commentHasBeenSet = true; m_comment = std::move(value); } + + /** + *

            A comment in addition to the description.

            + */ + inline void SetComment(const char* value) { m_commentHasBeenSet = true; m_comment.assign(value); } + + /** + *

            A comment in addition to the description.

            + */ + inline CustomStruct& WithComment(const Aws::String& value) { SetComment(value); return *this;} + + /** + *

            A comment in addition to the description.

            + */ + inline CustomStruct& WithComment(Aws::String&& value) { SetComment(std::move(value)); return *this;} + + /** + *

            A comment in addition to the description.

            + */ + inline CustomStruct& WithComment(const char* value) { SetComment(value); return *this;} + + private: + + Aws::String m_fullyQualifiedName; + bool m_fullyQualifiedNameHasBeenSet = false; + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + Aws::String m_deprecationMessage; + bool m_deprecationMessageHasBeenSet = false; + + Aws::String m_comment; + bool m_commentHasBeenSet = false; + }; + +} // namespace Model +} // namespace IoTFleetWise +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/DecoderManifestSummary.h b/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/DecoderManifestSummary.h index 25bfbcda9b1..867b282693d 100644 --- a/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/DecoderManifestSummary.h +++ b/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/DecoderManifestSummary.h @@ -337,6 +337,63 @@ namespace Model */ inline DecoderManifestSummary& WithLastModificationTime(Aws::Utils::DateTime&& value) { SetLastModificationTime(std::move(value)); return *this;} + + /** + *

            The detailed message for the decoder manifest. When a decoder manifest is in + * an INVALID status, the message contains detailed reason and help + * information.

            + */ + inline const Aws::String& GetMessage() const{ return m_message; } + + /** + *

            The detailed message for the decoder manifest. When a decoder manifest is in + * an INVALID status, the message contains detailed reason and help + * information.

            + */ + inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } + + /** + *

            The detailed message for the decoder manifest. When a decoder manifest is in + * an INVALID status, the message contains detailed reason and help + * information.

            + */ + inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; } + + /** + *

            The detailed message for the decoder manifest. When a decoder manifest is in + * an INVALID status, the message contains detailed reason and help + * information.

            + */ + inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); } + + /** + *

            The detailed message for the decoder manifest. When a decoder manifest is in + * an INVALID status, the message contains detailed reason and help + * information.

            + */ + inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); } + + /** + *

            The detailed message for the decoder manifest. When a decoder manifest is in + * an INVALID status, the message contains detailed reason and help + * information.

            + */ + inline DecoderManifestSummary& WithMessage(const Aws::String& value) { SetMessage(value); return *this;} + + /** + *

            The detailed message for the decoder manifest. When a decoder manifest is in + * an INVALID status, the message contains detailed reason and help + * information.

            + */ + inline DecoderManifestSummary& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;} + + /** + *

            The detailed message for the decoder manifest. When a decoder manifest is in + * an INVALID status, the message contains detailed reason and help + * information.

            + */ + inline DecoderManifestSummary& WithMessage(const char* value) { SetMessage(value); return *this;} + private: Aws::String m_name; @@ -359,6 +416,9 @@ namespace Model Aws::Utils::DateTime m_lastModificationTime; bool m_lastModificationTimeHasBeenSet = false; + + Aws::String m_message; + bool m_messageHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/GetDecoderManifestResult.h b/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/GetDecoderManifestResult.h index 7b3601cb000..e6de7859f63 100644 --- a/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/GetDecoderManifestResult.h +++ b/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/GetDecoderManifestResult.h @@ -283,6 +283,56 @@ namespace Model inline GetDecoderManifestResult& WithLastModificationTime(Aws::Utils::DateTime&& value) { SetLastModificationTime(std::move(value)); return *this;} + /** + *

            The detailed message for the decoder manifest. When a decoder manifest is in + * an INVALID status, the message contains detailed reason and help + * information.

            + */ + inline const Aws::String& GetMessage() const{ return m_message; } + + /** + *

            The detailed message for the decoder manifest. When a decoder manifest is in + * an INVALID status, the message contains detailed reason and help + * information.

            + */ + inline void SetMessage(const Aws::String& value) { m_message = value; } + + /** + *

            The detailed message for the decoder manifest. When a decoder manifest is in + * an INVALID status, the message contains detailed reason and help + * information.

            + */ + inline void SetMessage(Aws::String&& value) { m_message = std::move(value); } + + /** + *

            The detailed message for the decoder manifest. When a decoder manifest is in + * an INVALID status, the message contains detailed reason and help + * information.

            + */ + inline void SetMessage(const char* value) { m_message.assign(value); } + + /** + *

            The detailed message for the decoder manifest. When a decoder manifest is in + * an INVALID status, the message contains detailed reason and help + * information.

            + */ + inline GetDecoderManifestResult& WithMessage(const Aws::String& value) { SetMessage(value); return *this;} + + /** + *

            The detailed message for the decoder manifest. When a decoder manifest is in + * an INVALID status, the message contains detailed reason and help + * information.

            + */ + inline GetDecoderManifestResult& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;} + + /** + *

            The detailed message for the decoder manifest. When a decoder manifest is in + * an INVALID status, the message contains detailed reason and help + * information.

            + */ + inline GetDecoderManifestResult& WithMessage(const char* value) { SetMessage(value); return *this;} + + inline const Aws::String& GetRequestId() const{ return m_requestId; } @@ -320,6 +370,8 @@ namespace Model Aws::Utils::DateTime m_lastModificationTime; + Aws::String m_message; + Aws::String m_requestId; }; diff --git a/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/GetEncryptionConfigurationResult.h b/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/GetEncryptionConfigurationResult.h index 7a5000c3d6e..52ba0d01c10 100644 --- a/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/GetEncryptionConfigurationResult.h +++ b/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/GetEncryptionConfigurationResult.h @@ -98,42 +98,42 @@ namespace Model /** - *

            The type of encryption. Set to KMS_BASED_ENCRYPTION to use an - * KMS key that you own and manage. Set to - * FLEETWISE_DEFAULT_ENCRYPTION to use an Amazon Web Services managed - * key that is owned by the Amazon Web Services IoT FleetWise service account.

            + *

            The type of encryption. Set to KMS_BASED_ENCRYPTION to use a KMS + * key that you own and manage. Set to FLEETWISE_DEFAULT_ENCRYPTION to + * use an Amazon Web Services managed key that is owned by the Amazon Web Services + * IoT FleetWise service account.

            */ inline const EncryptionType& GetEncryptionType() const{ return m_encryptionType; } /** - *

            The type of encryption. Set to KMS_BASED_ENCRYPTION to use an - * KMS key that you own and manage. Set to - * FLEETWISE_DEFAULT_ENCRYPTION to use an Amazon Web Services managed - * key that is owned by the Amazon Web Services IoT FleetWise service account.

            + *

            The type of encryption. Set to KMS_BASED_ENCRYPTION to use a KMS + * key that you own and manage. Set to FLEETWISE_DEFAULT_ENCRYPTION to + * use an Amazon Web Services managed key that is owned by the Amazon Web Services + * IoT FleetWise service account.

            */ inline void SetEncryptionType(const EncryptionType& value) { m_encryptionType = value; } /** - *

            The type of encryption. Set to KMS_BASED_ENCRYPTION to use an - * KMS key that you own and manage. Set to - * FLEETWISE_DEFAULT_ENCRYPTION to use an Amazon Web Services managed - * key that is owned by the Amazon Web Services IoT FleetWise service account.

            + *

            The type of encryption. Set to KMS_BASED_ENCRYPTION to use a KMS + * key that you own and manage. Set to FLEETWISE_DEFAULT_ENCRYPTION to + * use an Amazon Web Services managed key that is owned by the Amazon Web Services + * IoT FleetWise service account.

            */ inline void SetEncryptionType(EncryptionType&& value) { m_encryptionType = std::move(value); } /** - *

            The type of encryption. Set to KMS_BASED_ENCRYPTION to use an - * KMS key that you own and manage. Set to - * FLEETWISE_DEFAULT_ENCRYPTION to use an Amazon Web Services managed - * key that is owned by the Amazon Web Services IoT FleetWise service account.

            + *

            The type of encryption. Set to KMS_BASED_ENCRYPTION to use a KMS + * key that you own and manage. Set to FLEETWISE_DEFAULT_ENCRYPTION to + * use an Amazon Web Services managed key that is owned by the Amazon Web Services + * IoT FleetWise service account.

            */ inline GetEncryptionConfigurationResult& WithEncryptionType(const EncryptionType& value) { SetEncryptionType(value); return *this;} /** - *

            The type of encryption. Set to KMS_BASED_ENCRYPTION to use an - * KMS key that you own and manage. Set to - * FLEETWISE_DEFAULT_ENCRYPTION to use an Amazon Web Services managed - * key that is owned by the Amazon Web Services IoT FleetWise service account.

            + *

            The type of encryption. Set to KMS_BASED_ENCRYPTION to use a KMS + * key that you own and manage. Set to FLEETWISE_DEFAULT_ENCRYPTION to + * use an Amazon Web Services managed key that is owned by the Amazon Web Services + * IoT FleetWise service account.

            */ inline GetEncryptionConfigurationResult& WithEncryptionType(EncryptionType&& value) { SetEncryptionType(std::move(value)); return *this;} diff --git a/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/InvalidSignalDecoder.h b/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/InvalidSignalDecoder.h index f3fe68644f6..446989b64fb 100644 --- a/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/InvalidSignalDecoder.h +++ b/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/InvalidSignalDecoder.h @@ -109,6 +109,47 @@ namespace Model */ inline InvalidSignalDecoder& WithReason(SignalDecoderFailureReason&& value) { SetReason(std::move(value)); return *this;} + + /** + *

            The possible cause for the invalid signal decoder.

            + */ + inline const Aws::String& GetHint() const{ return m_hint; } + + /** + *

            The possible cause for the invalid signal decoder.

            + */ + inline bool HintHasBeenSet() const { return m_hintHasBeenSet; } + + /** + *

            The possible cause for the invalid signal decoder.

            + */ + inline void SetHint(const Aws::String& value) { m_hintHasBeenSet = true; m_hint = value; } + + /** + *

            The possible cause for the invalid signal decoder.

            + */ + inline void SetHint(Aws::String&& value) { m_hintHasBeenSet = true; m_hint = std::move(value); } + + /** + *

            The possible cause for the invalid signal decoder.

            + */ + inline void SetHint(const char* value) { m_hintHasBeenSet = true; m_hint.assign(value); } + + /** + *

            The possible cause for the invalid signal decoder.

            + */ + inline InvalidSignalDecoder& WithHint(const Aws::String& value) { SetHint(value); return *this;} + + /** + *

            The possible cause for the invalid signal decoder.

            + */ + inline InvalidSignalDecoder& WithHint(Aws::String&& value) { SetHint(std::move(value)); return *this;} + + /** + *

            The possible cause for the invalid signal decoder.

            + */ + inline InvalidSignalDecoder& WithHint(const char* value) { SetHint(value); return *this;} + private: Aws::String m_name; @@ -116,6 +157,9 @@ namespace Model SignalDecoderFailureReason m_reason; bool m_reasonHasBeenSet = false; + + Aws::String m_hint; + bool m_hintHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/ManifestStatus.h b/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/ManifestStatus.h index 670adef9995..de4538927ea 100644 --- a/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/ManifestStatus.h +++ b/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/ManifestStatus.h @@ -17,7 +17,9 @@ namespace Model { NOT_SET, ACTIVE, - DRAFT + DRAFT, + INVALID, + VALIDATING }; namespace ManifestStatusMapper diff --git a/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/MessageSignal.h b/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/MessageSignal.h new file mode 100644 index 00000000000..027f7cbb80a --- /dev/null +++ b/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/MessageSignal.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 + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace IoTFleetWise +{ +namespace Model +{ + + /** + *

            The decoding information for a specific message which support higher order + * data types.

            See Also:

            AWS + * API Reference

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

            The topic name for the message signal. It corresponds to topics in ROS 2. + *

            + */ + inline const Aws::String& GetTopicName() const{ return m_topicName; } + + /** + *

            The topic name for the message signal. It corresponds to topics in ROS 2. + *

            + */ + inline bool TopicNameHasBeenSet() const { return m_topicNameHasBeenSet; } + + /** + *

            The topic name for the message signal. It corresponds to topics in ROS 2. + *

            + */ + inline void SetTopicName(const Aws::String& value) { m_topicNameHasBeenSet = true; m_topicName = value; } + + /** + *

            The topic name for the message signal. It corresponds to topics in ROS 2. + *

            + */ + inline void SetTopicName(Aws::String&& value) { m_topicNameHasBeenSet = true; m_topicName = std::move(value); } + + /** + *

            The topic name for the message signal. It corresponds to topics in ROS 2. + *

            + */ + inline void SetTopicName(const char* value) { m_topicNameHasBeenSet = true; m_topicName.assign(value); } + + /** + *

            The topic name for the message signal. It corresponds to topics in ROS 2. + *

            + */ + inline MessageSignal& WithTopicName(const Aws::String& value) { SetTopicName(value); return *this;} + + /** + *

            The topic name for the message signal. It corresponds to topics in ROS 2. + *

            + */ + inline MessageSignal& WithTopicName(Aws::String&& value) { SetTopicName(std::move(value)); return *this;} + + /** + *

            The topic name for the message signal. It corresponds to topics in ROS 2. + *

            + */ + inline MessageSignal& WithTopicName(const char* value) { SetTopicName(value); return *this;} + + + /** + *

            The structured message for the message signal. It can be defined with either + * a primitiveMessageDefinition, + * structuredMessageListDefinition, or + * structuredMessageDefinition recursively.

            + */ + inline const StructuredMessage& GetStructuredMessage() const{ return m_structuredMessage; } + + /** + *

            The structured message for the message signal. It can be defined with either + * a primitiveMessageDefinition, + * structuredMessageListDefinition, or + * structuredMessageDefinition recursively.

            + */ + inline bool StructuredMessageHasBeenSet() const { return m_structuredMessageHasBeenSet; } + + /** + *

            The structured message for the message signal. It can be defined with either + * a primitiveMessageDefinition, + * structuredMessageListDefinition, or + * structuredMessageDefinition recursively.

            + */ + inline void SetStructuredMessage(const StructuredMessage& value) { m_structuredMessageHasBeenSet = true; m_structuredMessage = value; } + + /** + *

            The structured message for the message signal. It can be defined with either + * a primitiveMessageDefinition, + * structuredMessageListDefinition, or + * structuredMessageDefinition recursively.

            + */ + inline void SetStructuredMessage(StructuredMessage&& value) { m_structuredMessageHasBeenSet = true; m_structuredMessage = std::move(value); } + + /** + *

            The structured message for the message signal. It can be defined with either + * a primitiveMessageDefinition, + * structuredMessageListDefinition, or + * structuredMessageDefinition recursively.

            + */ + inline MessageSignal& WithStructuredMessage(const StructuredMessage& value) { SetStructuredMessage(value); return *this;} + + /** + *

            The structured message for the message signal. It can be defined with either + * a primitiveMessageDefinition, + * structuredMessageListDefinition, or + * structuredMessageDefinition recursively.

            + */ + inline MessageSignal& WithStructuredMessage(StructuredMessage&& value) { SetStructuredMessage(std::move(value)); return *this;} + + private: + + Aws::String m_topicName; + bool m_topicNameHasBeenSet = false; + + StructuredMessage m_structuredMessage; + bool m_structuredMessageHasBeenSet = false; + }; + +} // namespace Model +} // namespace IoTFleetWise +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/NetworkInterface.h b/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/NetworkInterface.h index 574508699ec..3ab57bc5c2f 100644 --- a/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/NetworkInterface.h +++ b/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/NetworkInterface.h @@ -9,6 +9,7 @@ #include #include #include +#include #include namespace Aws @@ -206,6 +207,43 @@ namespace Model */ inline NetworkInterface& WithObdInterface(ObdInterface&& value) { SetObdInterface(std::move(value)); return *this;} + + /** + *

            The vehicle middleware defined as a type of network interface. Examples of + * vehicle middleware include ROS2 and SOME/IP.

            + */ + inline const VehicleMiddleware& GetVehicleMiddleware() const{ return m_vehicleMiddleware; } + + /** + *

            The vehicle middleware defined as a type of network interface. Examples of + * vehicle middleware include ROS2 and SOME/IP.

            + */ + inline bool VehicleMiddlewareHasBeenSet() const { return m_vehicleMiddlewareHasBeenSet; } + + /** + *

            The vehicle middleware defined as a type of network interface. Examples of + * vehicle middleware include ROS2 and SOME/IP.

            + */ + inline void SetVehicleMiddleware(const VehicleMiddleware& value) { m_vehicleMiddlewareHasBeenSet = true; m_vehicleMiddleware = value; } + + /** + *

            The vehicle middleware defined as a type of network interface. Examples of + * vehicle middleware include ROS2 and SOME/IP.

            + */ + inline void SetVehicleMiddleware(VehicleMiddleware&& value) { m_vehicleMiddlewareHasBeenSet = true; m_vehicleMiddleware = std::move(value); } + + /** + *

            The vehicle middleware defined as a type of network interface. Examples of + * vehicle middleware include ROS2 and SOME/IP.

            + */ + inline NetworkInterface& WithVehicleMiddleware(const VehicleMiddleware& value) { SetVehicleMiddleware(value); return *this;} + + /** + *

            The vehicle middleware defined as a type of network interface. Examples of + * vehicle middleware include ROS2 and SOME/IP.

            + */ + inline NetworkInterface& WithVehicleMiddleware(VehicleMiddleware&& value) { SetVehicleMiddleware(std::move(value)); return *this;} + private: Aws::String m_interfaceId; @@ -219,6 +257,9 @@ namespace Model ObdInterface m_obdInterface; bool m_obdInterfaceHasBeenSet = false; + + VehicleMiddleware m_vehicleMiddleware; + bool m_vehicleMiddlewareHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/NetworkInterfaceFailureReason.h b/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/NetworkInterfaceFailureReason.h index caeef5fba77..8580e2dbf64 100644 --- a/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/NetworkInterfaceFailureReason.h +++ b/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/NetworkInterfaceFailureReason.h @@ -21,7 +21,9 @@ namespace Model NETWORK_INTERFACE_TO_ADD_ALREADY_EXISTS, CAN_NETWORK_INTERFACE_INFO_IS_NULL, OBD_NETWORK_INTERFACE_INFO_IS_NULL, - NETWORK_INTERFACE_TO_REMOVE_ASSOCIATED_WITH_SIGNALS + NETWORK_INTERFACE_TO_REMOVE_ASSOCIATED_WITH_SIGNALS, + VEHICLE_MIDDLEWARE_NETWORK_INTERFACE_INFO_IS_NULL, + CUSTOMER_DECODED_SIGNAL_NETWORK_INTERFACE_INFO_IS_NULL }; namespace NetworkInterfaceFailureReasonMapper diff --git a/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/NetworkInterfaceType.h b/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/NetworkInterfaceType.h index 42565d65e7c..2bdd9a1dc39 100644 --- a/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/NetworkInterfaceType.h +++ b/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/NetworkInterfaceType.h @@ -17,7 +17,9 @@ namespace Model { NOT_SET, CAN_INTERFACE, - OBD_INTERFACE + OBD_INTERFACE, + VEHICLE_MIDDLEWARE, + CUSTOMER_DECODED_INTERFACE }; namespace NetworkInterfaceTypeMapper diff --git a/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/Node.h b/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/Node.h index 1549eb2a97c..4c1211599e1 100644 --- a/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/Node.h +++ b/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/Node.h @@ -9,6 +9,8 @@ #include #include #include +#include +#include #include namespace Aws @@ -170,6 +172,74 @@ namespace Model */ inline Node& WithAttribute(Attribute&& value) { SetAttribute(std::move(value)); return *this;} + + /** + *

            Represents a complex or higher-order data structure.

            + */ + inline const CustomStruct& GetStruct() const{ return m_struct; } + + /** + *

            Represents a complex or higher-order data structure.

            + */ + inline bool StructHasBeenSet() const { return m_structHasBeenSet; } + + /** + *

            Represents a complex or higher-order data structure.

            + */ + inline void SetStruct(const CustomStruct& value) { m_structHasBeenSet = true; m_struct = value; } + + /** + *

            Represents a complex or higher-order data structure.

            + */ + inline void SetStruct(CustomStruct&& value) { m_structHasBeenSet = true; m_struct = std::move(value); } + + /** + *

            Represents a complex or higher-order data structure.

            + */ + inline Node& WithStruct(const CustomStruct& value) { SetStruct(value); return *this;} + + /** + *

            Represents a complex or higher-order data structure.

            + */ + inline Node& WithStruct(CustomStruct&& value) { SetStruct(std::move(value)); return *this;} + + + /** + *

            Represents a member of the complex data structure. The datatype + * of the property can be either primitive or another struct.

            + */ + inline const CustomProperty& GetProperty() const{ return m_property; } + + /** + *

            Represents a member of the complex data structure. The datatype + * of the property can be either primitive or another struct.

            + */ + inline bool PropertyHasBeenSet() const { return m_propertyHasBeenSet; } + + /** + *

            Represents a member of the complex data structure. The datatype + * of the property can be either primitive or another struct.

            + */ + inline void SetProperty(const CustomProperty& value) { m_propertyHasBeenSet = true; m_property = value; } + + /** + *

            Represents a member of the complex data structure. The datatype + * of the property can be either primitive or another struct.

            + */ + inline void SetProperty(CustomProperty&& value) { m_propertyHasBeenSet = true; m_property = std::move(value); } + + /** + *

            Represents a member of the complex data structure. The datatype + * of the property can be either primitive or another struct.

            + */ + inline Node& WithProperty(const CustomProperty& value) { SetProperty(value); return *this;} + + /** + *

            Represents a member of the complex data structure. The datatype + * of the property can be either primitive or another struct.

            + */ + inline Node& WithProperty(CustomProperty&& value) { SetProperty(std::move(value)); return *this;} + private: Branch m_branch; @@ -183,6 +253,12 @@ namespace Model Attribute m_attribute; bool m_attributeHasBeenSet = false; + + CustomStruct m_struct; + bool m_structHasBeenSet = false; + + CustomProperty m_property; + bool m_propertyHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/NodeCounts.h b/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/NodeCounts.h index d7dd19de893..5d46ebb2315 100644 --- a/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/NodeCounts.h +++ b/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/NodeCounts.h @@ -140,6 +140,48 @@ namespace Model */ inline NodeCounts& WithTotalActuators(int value) { SetTotalActuators(value); return *this;} + + /** + *

            The total structure for the node.

            + */ + inline int GetTotalStructs() const{ return m_totalStructs; } + + /** + *

            The total structure for the node.

            + */ + inline bool TotalStructsHasBeenSet() const { return m_totalStructsHasBeenSet; } + + /** + *

            The total structure for the node.

            + */ + inline void SetTotalStructs(int value) { m_totalStructsHasBeenSet = true; m_totalStructs = value; } + + /** + *

            The total structure for the node.

            + */ + inline NodeCounts& WithTotalStructs(int value) { SetTotalStructs(value); return *this;} + + + /** + *

            The total properties for the node.

            + */ + inline int GetTotalProperties() const{ return m_totalProperties; } + + /** + *

            The total properties for the node.

            + */ + inline bool TotalPropertiesHasBeenSet() const { return m_totalPropertiesHasBeenSet; } + + /** + *

            The total properties for the node.

            + */ + inline void SetTotalProperties(int value) { m_totalPropertiesHasBeenSet = true; m_totalProperties = value; } + + /** + *

            The total properties for the node.

            + */ + inline NodeCounts& WithTotalProperties(int value) { SetTotalProperties(value); return *this;} + private: int m_totalNodes; @@ -156,6 +198,12 @@ namespace Model int m_totalActuators; bool m_totalActuatorsHasBeenSet = false; + + int m_totalStructs; + bool m_totalStructsHasBeenSet = false; + + int m_totalProperties; + bool m_totalPropertiesHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/NodeDataEncoding.h b/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/NodeDataEncoding.h new file mode 100644 index 00000000000..776ec92abe6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/NodeDataEncoding.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 IoTFleetWise +{ +namespace Model +{ + enum class NodeDataEncoding + { + NOT_SET, + BINARY, + TYPED + }; + +namespace NodeDataEncodingMapper +{ +AWS_IOTFLEETWISE_API NodeDataEncoding GetNodeDataEncodingForName(const Aws::String& name); + +AWS_IOTFLEETWISE_API Aws::String GetNameForNodeDataEncoding(NodeDataEncoding value); +} // namespace NodeDataEncodingMapper +} // namespace Model +} // namespace IoTFleetWise +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/NodeDataType.h b/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/NodeDataType.h index a3aa2c49756..9e44e0af4fd 100644 --- a/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/NodeDataType.h +++ b/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/NodeDataType.h @@ -42,7 +42,9 @@ namespace Model DOUBLE_ARRAY, STRING_ARRAY, UNIX_TIMESTAMP_ARRAY, - UNKNOWN + UNKNOWN, + STRUCT, + STRUCT_ARRAY }; namespace NodeDataTypeMapper diff --git a/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/PrimitiveMessageDefinition.h b/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/PrimitiveMessageDefinition.h new file mode 100644 index 00000000000..583577e0407 --- /dev/null +++ b/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/PrimitiveMessageDefinition.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 + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace IoTFleetWise +{ +namespace Model +{ + + /** + *

            Represents a primitive type node of the complex data structure.

            See + * Also:

            AWS + * API Reference

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

            Information about a PrimitiveMessage using a ROS 2 compliant + * primitive type message of the complex data structure.

            + */ + inline const ROS2PrimitiveMessageDefinition& GetRos2PrimitiveMessageDefinition() const{ return m_ros2PrimitiveMessageDefinition; } + + /** + *

            Information about a PrimitiveMessage using a ROS 2 compliant + * primitive type message of the complex data structure.

            + */ + inline bool Ros2PrimitiveMessageDefinitionHasBeenSet() const { return m_ros2PrimitiveMessageDefinitionHasBeenSet; } + + /** + *

            Information about a PrimitiveMessage using a ROS 2 compliant + * primitive type message of the complex data structure.

            + */ + inline void SetRos2PrimitiveMessageDefinition(const ROS2PrimitiveMessageDefinition& value) { m_ros2PrimitiveMessageDefinitionHasBeenSet = true; m_ros2PrimitiveMessageDefinition = value; } + + /** + *

            Information about a PrimitiveMessage using a ROS 2 compliant + * primitive type message of the complex data structure.

            + */ + inline void SetRos2PrimitiveMessageDefinition(ROS2PrimitiveMessageDefinition&& value) { m_ros2PrimitiveMessageDefinitionHasBeenSet = true; m_ros2PrimitiveMessageDefinition = std::move(value); } + + /** + *

            Information about a PrimitiveMessage using a ROS 2 compliant + * primitive type message of the complex data structure.

            + */ + inline PrimitiveMessageDefinition& WithRos2PrimitiveMessageDefinition(const ROS2PrimitiveMessageDefinition& value) { SetRos2PrimitiveMessageDefinition(value); return *this;} + + /** + *

            Information about a PrimitiveMessage using a ROS 2 compliant + * primitive type message of the complex data structure.

            + */ + inline PrimitiveMessageDefinition& WithRos2PrimitiveMessageDefinition(ROS2PrimitiveMessageDefinition&& value) { SetRos2PrimitiveMessageDefinition(std::move(value)); return *this;} + + private: + + ROS2PrimitiveMessageDefinition m_ros2PrimitiveMessageDefinition; + bool m_ros2PrimitiveMessageDefinitionHasBeenSet = false; + }; + +} // namespace Model +} // namespace IoTFleetWise +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/ROS2PrimitiveMessageDefinition.h b/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/ROS2PrimitiveMessageDefinition.h new file mode 100644 index 00000000000..b981ea50d0c --- /dev/null +++ b/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/ROS2PrimitiveMessageDefinition.h @@ -0,0 +1,165 @@ +/** + * 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 IoTFleetWise +{ +namespace Model +{ + + /** + *

            Represents a ROS 2 compliant primitive type message of the complex data + * structure.

            See Also:

            AWS + * API Reference

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

            The primitive type (integer, floating point, boolean, etc.) for the ROS 2 + * primitive message definition.

            + */ + inline const ROS2PrimitiveType& GetPrimitiveType() const{ return m_primitiveType; } + + /** + *

            The primitive type (integer, floating point, boolean, etc.) for the ROS 2 + * primitive message definition.

            + */ + inline bool PrimitiveTypeHasBeenSet() const { return m_primitiveTypeHasBeenSet; } + + /** + *

            The primitive type (integer, floating point, boolean, etc.) for the ROS 2 + * primitive message definition.

            + */ + inline void SetPrimitiveType(const ROS2PrimitiveType& value) { m_primitiveTypeHasBeenSet = true; m_primitiveType = value; } + + /** + *

            The primitive type (integer, floating point, boolean, etc.) for the ROS 2 + * primitive message definition.

            + */ + inline void SetPrimitiveType(ROS2PrimitiveType&& value) { m_primitiveTypeHasBeenSet = true; m_primitiveType = std::move(value); } + + /** + *

            The primitive type (integer, floating point, boolean, etc.) for the ROS 2 + * primitive message definition.

            + */ + inline ROS2PrimitiveMessageDefinition& WithPrimitiveType(const ROS2PrimitiveType& value) { SetPrimitiveType(value); return *this;} + + /** + *

            The primitive type (integer, floating point, boolean, etc.) for the ROS 2 + * primitive message definition.

            + */ + inline ROS2PrimitiveMessageDefinition& WithPrimitiveType(ROS2PrimitiveType&& value) { SetPrimitiveType(std::move(value)); return *this;} + + + /** + *

            The offset used to calculate the signal value. Combined with scaling, the + * calculation is value = raw_value * scaling + offset.

            + */ + inline double GetOffset() const{ return m_offset; } + + /** + *

            The offset used to calculate the signal value. Combined with scaling, the + * calculation is value = raw_value * scaling + offset.

            + */ + inline bool OffsetHasBeenSet() const { return m_offsetHasBeenSet; } + + /** + *

            The offset used to calculate the signal value. Combined with scaling, the + * calculation is value = raw_value * scaling + offset.

            + */ + inline void SetOffset(double value) { m_offsetHasBeenSet = true; m_offset = value; } + + /** + *

            The offset used to calculate the signal value. Combined with scaling, the + * calculation is value = raw_value * scaling + offset.

            + */ + inline ROS2PrimitiveMessageDefinition& WithOffset(double value) { SetOffset(value); return *this;} + + + /** + *

            A multiplier used to decode the message.

            + */ + inline double GetScaling() const{ return m_scaling; } + + /** + *

            A multiplier used to decode the message.

            + */ + inline bool ScalingHasBeenSet() const { return m_scalingHasBeenSet; } + + /** + *

            A multiplier used to decode the message.

            + */ + inline void SetScaling(double value) { m_scalingHasBeenSet = true; m_scaling = value; } + + /** + *

            A multiplier used to decode the message.

            + */ + inline ROS2PrimitiveMessageDefinition& WithScaling(double value) { SetScaling(value); return *this;} + + + /** + *

            An optional attribute specifying the upper bound for STRING and + * WSTRING.

            + */ + inline long long GetUpperBound() const{ return m_upperBound; } + + /** + *

            An optional attribute specifying the upper bound for STRING and + * WSTRING.

            + */ + inline bool UpperBoundHasBeenSet() const { return m_upperBoundHasBeenSet; } + + /** + *

            An optional attribute specifying the upper bound for STRING and + * WSTRING.

            + */ + inline void SetUpperBound(long long value) { m_upperBoundHasBeenSet = true; m_upperBound = value; } + + /** + *

            An optional attribute specifying the upper bound for STRING and + * WSTRING.

            + */ + inline ROS2PrimitiveMessageDefinition& WithUpperBound(long long value) { SetUpperBound(value); return *this;} + + private: + + ROS2PrimitiveType m_primitiveType; + bool m_primitiveTypeHasBeenSet = false; + + double m_offset; + bool m_offsetHasBeenSet = false; + + double m_scaling; + bool m_scalingHasBeenSet = false; + + long long m_upperBound; + bool m_upperBoundHasBeenSet = false; + }; + +} // namespace Model +} // namespace IoTFleetWise +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/ROS2PrimitiveType.h b/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/ROS2PrimitiveType.h new file mode 100644 index 00000000000..632694c1b28 --- /dev/null +++ b/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/ROS2PrimitiveType.h @@ -0,0 +1,44 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace IoTFleetWise +{ +namespace Model +{ + enum class ROS2PrimitiveType + { + NOT_SET, + BOOL_, + BYTE, + CHAR_, + FLOAT32, + FLOAT64, + INT8, + UINT8, + INT16, + UINT16, + INT32, + UINT32, + INT64, + UINT64, + STRING, + WSTRING + }; + +namespace ROS2PrimitiveTypeMapper +{ +AWS_IOTFLEETWISE_API ROS2PrimitiveType GetROS2PrimitiveTypeForName(const Aws::String& name); + +AWS_IOTFLEETWISE_API Aws::String GetNameForROS2PrimitiveType(ROS2PrimitiveType value); +} // namespace ROS2PrimitiveTypeMapper +} // namespace Model +} // namespace IoTFleetWise +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/Sensor.h b/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/Sensor.h index 7669937ae0e..7d1c89b65a3 100644 --- a/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/Sensor.h +++ b/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/Sensor.h @@ -380,6 +380,71 @@ namespace Model */ inline Sensor& WithComment(const char* value) { SetComment(value); return *this;} + + /** + *

            The fully qualified name of the struct node for a sensor if the data type of + * the actuator is Struct or StructArray. For example, + * the struct fully qualified name of a sensor might be + * Vehicle.ADAS.CameraStruct.

            + */ + inline const Aws::String& GetStructFullyQualifiedName() const{ return m_structFullyQualifiedName; } + + /** + *

            The fully qualified name of the struct node for a sensor if the data type of + * the actuator is Struct or StructArray. For example, + * the struct fully qualified name of a sensor might be + * Vehicle.ADAS.CameraStruct.

            + */ + inline bool StructFullyQualifiedNameHasBeenSet() const { return m_structFullyQualifiedNameHasBeenSet; } + + /** + *

            The fully qualified name of the struct node for a sensor if the data type of + * the actuator is Struct or StructArray. For example, + * the struct fully qualified name of a sensor might be + * Vehicle.ADAS.CameraStruct.

            + */ + inline void SetStructFullyQualifiedName(const Aws::String& value) { m_structFullyQualifiedNameHasBeenSet = true; m_structFullyQualifiedName = value; } + + /** + *

            The fully qualified name of the struct node for a sensor if the data type of + * the actuator is Struct or StructArray. For example, + * the struct fully qualified name of a sensor might be + * Vehicle.ADAS.CameraStruct.

            + */ + inline void SetStructFullyQualifiedName(Aws::String&& value) { m_structFullyQualifiedNameHasBeenSet = true; m_structFullyQualifiedName = std::move(value); } + + /** + *

            The fully qualified name of the struct node for a sensor if the data type of + * the actuator is Struct or StructArray. For example, + * the struct fully qualified name of a sensor might be + * Vehicle.ADAS.CameraStruct.

            + */ + inline void SetStructFullyQualifiedName(const char* value) { m_structFullyQualifiedNameHasBeenSet = true; m_structFullyQualifiedName.assign(value); } + + /** + *

            The fully qualified name of the struct node for a sensor if the data type of + * the actuator is Struct or StructArray. For example, + * the struct fully qualified name of a sensor might be + * Vehicle.ADAS.CameraStruct.

            + */ + inline Sensor& WithStructFullyQualifiedName(const Aws::String& value) { SetStructFullyQualifiedName(value); return *this;} + + /** + *

            The fully qualified name of the struct node for a sensor if the data type of + * the actuator is Struct or StructArray. For example, + * the struct fully qualified name of a sensor might be + * Vehicle.ADAS.CameraStruct.

            + */ + inline Sensor& WithStructFullyQualifiedName(Aws::String&& value) { SetStructFullyQualifiedName(std::move(value)); return *this;} + + /** + *

            The fully qualified name of the struct node for a sensor if the data type of + * the actuator is Struct or StructArray. For example, + * the struct fully qualified name of a sensor might be + * Vehicle.ADAS.CameraStruct.

            + */ + inline Sensor& WithStructFullyQualifiedName(const char* value) { SetStructFullyQualifiedName(value); return *this;} + private: Aws::String m_fullyQualifiedName; @@ -408,6 +473,9 @@ namespace Model Aws::String m_comment; bool m_commentHasBeenSet = false; + + Aws::String m_structFullyQualifiedName; + bool m_structFullyQualifiedNameHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/SignalDecoder.h b/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/SignalDecoder.h index 2d97e3e14b8..0516e5da551 100644 --- a/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/SignalDecoder.h +++ b/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/SignalDecoder.h @@ -9,6 +9,7 @@ #include #include #include +#include #include namespace Aws @@ -260,6 +261,43 @@ namespace Model */ inline SignalDecoder& WithObdSignal(ObdSignal&& value) { SetObdSignal(std::move(value)); return *this;} + + /** + *

            The decoding information for a specific message which supports higher order + * data types.

            + */ + inline const MessageSignal& GetMessageSignal() const{ return m_messageSignal; } + + /** + *

            The decoding information for a specific message which supports higher order + * data types.

            + */ + inline bool MessageSignalHasBeenSet() const { return m_messageSignalHasBeenSet; } + + /** + *

            The decoding information for a specific message which supports higher order + * data types.

            + */ + inline void SetMessageSignal(const MessageSignal& value) { m_messageSignalHasBeenSet = true; m_messageSignal = value; } + + /** + *

            The decoding information for a specific message which supports higher order + * data types.

            + */ + inline void SetMessageSignal(MessageSignal&& value) { m_messageSignalHasBeenSet = true; m_messageSignal = std::move(value); } + + /** + *

            The decoding information for a specific message which supports higher order + * data types.

            + */ + inline SignalDecoder& WithMessageSignal(const MessageSignal& value) { SetMessageSignal(value); return *this;} + + /** + *

            The decoding information for a specific message which supports higher order + * data types.

            + */ + inline SignalDecoder& WithMessageSignal(MessageSignal&& value) { SetMessageSignal(std::move(value)); return *this;} + private: Aws::String m_fullyQualifiedName; @@ -276,6 +314,9 @@ namespace Model ObdSignal m_obdSignal; bool m_obdSignalHasBeenSet = false; + + MessageSignal m_messageSignal; + bool m_messageSignalHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/SignalDecoderFailureReason.h b/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/SignalDecoderFailureReason.h index 4a8f3f270b0..0bc62622333 100644 --- a/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/SignalDecoderFailureReason.h +++ b/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/SignalDecoderFailureReason.h @@ -24,7 +24,14 @@ namespace Model SIGNAL_NOT_IN_MODEL, CAN_SIGNAL_INFO_IS_NULL, OBD_SIGNAL_INFO_IS_NULL, - NO_DECODER_INFO_FOR_SIGNAL_IN_MODEL + NO_DECODER_INFO_FOR_SIGNAL_IN_MODEL, + MESSAGE_SIGNAL_INFO_IS_NULL, + SIGNAL_DECODER_TYPE_INCOMPATIBLE_WITH_MESSAGE_SIGNAL_TYPE, + STRUCT_SIZE_MISMATCH, + NO_SIGNAL_IN_CATALOG_FOR_DECODER_SIGNAL, + SIGNAL_DECODER_INCOMPATIBLE_WITH_SIGNAL_CATALOG, + EMPTY_MESSAGE_SIGNAL, + CUSTOMER_DECODED_SIGNAL_INFO_IS_NULL }; namespace SignalDecoderFailureReasonMapper diff --git a/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/SignalDecoderType.h b/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/SignalDecoderType.h index a912e405367..e21a17a183e 100644 --- a/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/SignalDecoderType.h +++ b/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/SignalDecoderType.h @@ -17,7 +17,9 @@ namespace Model { NOT_SET, CAN_SIGNAL, - OBD_SIGNAL + OBD_SIGNAL, + MESSAGE_SIGNAL, + CUSTOMER_DECODED_SIGNAL }; namespace SignalDecoderTypeMapper diff --git a/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/StructuredMessage.h b/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/StructuredMessage.h new file mode 100644 index 00000000000..1edd5caf5ae --- /dev/null +++ b/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/StructuredMessage.h @@ -0,0 +1,165 @@ +/** + * 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 IoTFleetWise +{ +namespace Model +{ + class StructuredMessageListDefinition; + class StructuredMessageFieldNameAndDataTypePair; + + /** + *

            The structured message for the message signal. It can be defined with either + * a primitiveMessageDefinition, + * structuredMessageListDefinition, or + * structuredMessageDefinition recursively.

            See Also:

            + * AWS + * API Reference

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

            Represents a primitive type node of the complex data structure.

            + */ + inline const PrimitiveMessageDefinition& GetPrimitiveMessageDefinition() const{ return m_primitiveMessageDefinition; } + + /** + *

            Represents a primitive type node of the complex data structure.

            + */ + inline bool PrimitiveMessageDefinitionHasBeenSet() const { return m_primitiveMessageDefinitionHasBeenSet; } + + /** + *

            Represents a primitive type node of the complex data structure.

            + */ + inline void SetPrimitiveMessageDefinition(const PrimitiveMessageDefinition& value) { m_primitiveMessageDefinitionHasBeenSet = true; m_primitiveMessageDefinition = value; } + + /** + *

            Represents a primitive type node of the complex data structure.

            + */ + inline void SetPrimitiveMessageDefinition(PrimitiveMessageDefinition&& value) { m_primitiveMessageDefinitionHasBeenSet = true; m_primitiveMessageDefinition = std::move(value); } + + /** + *

            Represents a primitive type node of the complex data structure.

            + */ + inline StructuredMessage& WithPrimitiveMessageDefinition(const PrimitiveMessageDefinition& value) { SetPrimitiveMessageDefinition(value); return *this;} + + /** + *

            Represents a primitive type node of the complex data structure.

            + */ + inline StructuredMessage& WithPrimitiveMessageDefinition(PrimitiveMessageDefinition&& value) { SetPrimitiveMessageDefinition(std::move(value)); return *this;} + + + /** + *

            Represents a list type node of the complex data structure.

            + */ + AWS_IOTFLEETWISE_API const StructuredMessageListDefinition& GetStructuredMessageListDefinition() const; + + /** + *

            Represents a list type node of the complex data structure.

            + */ + AWS_IOTFLEETWISE_API bool StructuredMessageListDefinitionHasBeenSet() const; + + /** + *

            Represents a list type node of the complex data structure.

            + */ + AWS_IOTFLEETWISE_API void SetStructuredMessageListDefinition(const StructuredMessageListDefinition& value); + + /** + *

            Represents a list type node of the complex data structure.

            + */ + AWS_IOTFLEETWISE_API void SetStructuredMessageListDefinition(StructuredMessageListDefinition&& value); + + /** + *

            Represents a list type node of the complex data structure.

            + */ + AWS_IOTFLEETWISE_API StructuredMessage& WithStructuredMessageListDefinition(const StructuredMessageListDefinition& value); + + /** + *

            Represents a list type node of the complex data structure.

            + */ + AWS_IOTFLEETWISE_API StructuredMessage& WithStructuredMessageListDefinition(StructuredMessageListDefinition&& value); + + + /** + *

            Represents a struct type node of the complex data structure.

            + */ + inline const Aws::Vector& GetStructuredMessageDefinition() const{ return m_structuredMessageDefinition; } + + /** + *

            Represents a struct type node of the complex data structure.

            + */ + inline bool StructuredMessageDefinitionHasBeenSet() const { return m_structuredMessageDefinitionHasBeenSet; } + + /** + *

            Represents a struct type node of the complex data structure.

            + */ + inline void SetStructuredMessageDefinition(const Aws::Vector& value) { m_structuredMessageDefinitionHasBeenSet = true; m_structuredMessageDefinition = value; } + + /** + *

            Represents a struct type node of the complex data structure.

            + */ + inline void SetStructuredMessageDefinition(Aws::Vector&& value) { m_structuredMessageDefinitionHasBeenSet = true; m_structuredMessageDefinition = std::move(value); } + + /** + *

            Represents a struct type node of the complex data structure.

            + */ + inline StructuredMessage& WithStructuredMessageDefinition(const Aws::Vector& value) { SetStructuredMessageDefinition(value); return *this;} + + /** + *

            Represents a struct type node of the complex data structure.

            + */ + inline StructuredMessage& WithStructuredMessageDefinition(Aws::Vector&& value) { SetStructuredMessageDefinition(std::move(value)); return *this;} + + /** + *

            Represents a struct type node of the complex data structure.

            + */ + inline StructuredMessage& AddStructuredMessageDefinition(const StructuredMessageFieldNameAndDataTypePair& value) { m_structuredMessageDefinitionHasBeenSet = true; m_structuredMessageDefinition.push_back(value); return *this; } + + /** + *

            Represents a struct type node of the complex data structure.

            + */ + inline StructuredMessage& AddStructuredMessageDefinition(StructuredMessageFieldNameAndDataTypePair&& value) { m_structuredMessageDefinitionHasBeenSet = true; m_structuredMessageDefinition.push_back(std::move(value)); return *this; } + + private: + + PrimitiveMessageDefinition m_primitiveMessageDefinition; + bool m_primitiveMessageDefinitionHasBeenSet = false; + + std::shared_ptr m_structuredMessageListDefinition; + bool m_structuredMessageListDefinitionHasBeenSet = false; + + Aws::Vector m_structuredMessageDefinition; + bool m_structuredMessageDefinitionHasBeenSet = false; + }; + +} // namespace Model +} // namespace IoTFleetWise +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/StructuredMessageFieldNameAndDataTypePair.h b/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/StructuredMessageFieldNameAndDataTypePair.h new file mode 100644 index 00000000000..3274f0053a3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/StructuredMessageFieldNameAndDataTypePair.h @@ -0,0 +1,133 @@ +/** + * 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 IoTFleetWise +{ +namespace Model +{ + class StructuredMessage; + + /** + *

            Represents a StructureMessageName to DataType map + * element.

            See Also:

            AWS + * API Reference

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

            The field name of the structured message. It determines how a data value is + * referenced in the target language.

            + */ + inline const Aws::String& GetFieldName() const{ return m_fieldName; } + + /** + *

            The field name of the structured message. It determines how a data value is + * referenced in the target language.

            + */ + inline bool FieldNameHasBeenSet() const { return m_fieldNameHasBeenSet; } + + /** + *

            The field name of the structured message. It determines how a data value is + * referenced in the target language.

            + */ + inline void SetFieldName(const Aws::String& value) { m_fieldNameHasBeenSet = true; m_fieldName = value; } + + /** + *

            The field name of the structured message. It determines how a data value is + * referenced in the target language.

            + */ + inline void SetFieldName(Aws::String&& value) { m_fieldNameHasBeenSet = true; m_fieldName = std::move(value); } + + /** + *

            The field name of the structured message. It determines how a data value is + * referenced in the target language.

            + */ + inline void SetFieldName(const char* value) { m_fieldNameHasBeenSet = true; m_fieldName.assign(value); } + + /** + *

            The field name of the structured message. It determines how a data value is + * referenced in the target language.

            + */ + inline StructuredMessageFieldNameAndDataTypePair& WithFieldName(const Aws::String& value) { SetFieldName(value); return *this;} + + /** + *

            The field name of the structured message. It determines how a data value is + * referenced in the target language.

            + */ + inline StructuredMessageFieldNameAndDataTypePair& WithFieldName(Aws::String&& value) { SetFieldName(std::move(value)); return *this;} + + /** + *

            The field name of the structured message. It determines how a data value is + * referenced in the target language.

            + */ + inline StructuredMessageFieldNameAndDataTypePair& WithFieldName(const char* value) { SetFieldName(value); return *this;} + + + /** + *

            The data type.

            + */ + AWS_IOTFLEETWISE_API const StructuredMessage& GetDataType() const; + + /** + *

            The data type.

            + */ + AWS_IOTFLEETWISE_API bool DataTypeHasBeenSet() const; + + /** + *

            The data type.

            + */ + AWS_IOTFLEETWISE_API void SetDataType(const StructuredMessage& value); + + /** + *

            The data type.

            + */ + AWS_IOTFLEETWISE_API void SetDataType(StructuredMessage&& value); + + /** + *

            The data type.

            + */ + AWS_IOTFLEETWISE_API StructuredMessageFieldNameAndDataTypePair& WithDataType(const StructuredMessage& value); + + /** + *

            The data type.

            + */ + AWS_IOTFLEETWISE_API StructuredMessageFieldNameAndDataTypePair& WithDataType(StructuredMessage&& value); + + private: + + Aws::String m_fieldName; + bool m_fieldNameHasBeenSet = false; + + std::shared_ptr m_dataType; + bool m_dataTypeHasBeenSet = false; + }; + +} // namespace Model +} // namespace IoTFleetWise +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/StructuredMessageListDefinition.h b/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/StructuredMessageListDefinition.h new file mode 100644 index 00000000000..9e1722fef29 --- /dev/null +++ b/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/StructuredMessageListDefinition.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 Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace IoTFleetWise +{ +namespace Model +{ + class StructuredMessage; + + /** + *

            Represents a list type node of the complex data structure.

            See + * Also:

            AWS + * API Reference

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

            The name of the structured message list definition.

            + */ + inline const Aws::String& GetName() const{ return m_name; } + + /** + *

            The name of the structured message list definition.

            + */ + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + + /** + *

            The name of the structured message list definition.

            + */ + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + + /** + *

            The name of the structured message list definition.

            + */ + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + + /** + *

            The name of the structured message list definition.

            + */ + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + + /** + *

            The name of the structured message list definition.

            + */ + inline StructuredMessageListDefinition& WithName(const Aws::String& value) { SetName(value); return *this;} + + /** + *

            The name of the structured message list definition.

            + */ + inline StructuredMessageListDefinition& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + + /** + *

            The name of the structured message list definition.

            + */ + inline StructuredMessageListDefinition& WithName(const char* value) { SetName(value); return *this;} + + + /** + *

            The member type of the structured message list definition.

            + */ + AWS_IOTFLEETWISE_API const StructuredMessage& GetMemberType() const; + + /** + *

            The member type of the structured message list definition.

            + */ + AWS_IOTFLEETWISE_API bool MemberTypeHasBeenSet() const; + + /** + *

            The member type of the structured message list definition.

            + */ + AWS_IOTFLEETWISE_API void SetMemberType(const StructuredMessage& value); + + /** + *

            The member type of the structured message list definition.

            + */ + AWS_IOTFLEETWISE_API void SetMemberType(StructuredMessage&& value); + + /** + *

            The member type of the structured message list definition.

            + */ + AWS_IOTFLEETWISE_API StructuredMessageListDefinition& WithMemberType(const StructuredMessage& value); + + /** + *

            The member type of the structured message list definition.

            + */ + AWS_IOTFLEETWISE_API StructuredMessageListDefinition& WithMemberType(StructuredMessage&& value); + + + /** + *

            The type of list of the structured message list definition.

            + */ + inline const StructuredMessageListType& GetListType() const{ return m_listType; } + + /** + *

            The type of list of the structured message list definition.

            + */ + inline bool ListTypeHasBeenSet() const { return m_listTypeHasBeenSet; } + + /** + *

            The type of list of the structured message list definition.

            + */ + inline void SetListType(const StructuredMessageListType& value) { m_listTypeHasBeenSet = true; m_listType = value; } + + /** + *

            The type of list of the structured message list definition.

            + */ + inline void SetListType(StructuredMessageListType&& value) { m_listTypeHasBeenSet = true; m_listType = std::move(value); } + + /** + *

            The type of list of the structured message list definition.

            + */ + inline StructuredMessageListDefinition& WithListType(const StructuredMessageListType& value) { SetListType(value); return *this;} + + /** + *

            The type of list of the structured message list definition.

            + */ + inline StructuredMessageListDefinition& WithListType(StructuredMessageListType&& value) { SetListType(std::move(value)); return *this;} + + + /** + *

            The capacity of the structured message list definition when the list type is + * FIXED_CAPACITY or DYNAMIC_BOUNDED_CAPACITY.

            + */ + inline int GetCapacity() const{ return m_capacity; } + + /** + *

            The capacity of the structured message list definition when the list type is + * FIXED_CAPACITY or DYNAMIC_BOUNDED_CAPACITY.

            + */ + inline bool CapacityHasBeenSet() const { return m_capacityHasBeenSet; } + + /** + *

            The capacity of the structured message list definition when the list type is + * FIXED_CAPACITY or DYNAMIC_BOUNDED_CAPACITY.

            + */ + inline void SetCapacity(int value) { m_capacityHasBeenSet = true; m_capacity = value; } + + /** + *

            The capacity of the structured message list definition when the list type is + * FIXED_CAPACITY or DYNAMIC_BOUNDED_CAPACITY.

            + */ + inline StructuredMessageListDefinition& WithCapacity(int value) { SetCapacity(value); return *this;} + + private: + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + std::shared_ptr m_memberType; + bool m_memberTypeHasBeenSet = false; + + StructuredMessageListType m_listType; + bool m_listTypeHasBeenSet = false; + + int m_capacity; + bool m_capacityHasBeenSet = false; + }; + +} // namespace Model +} // namespace IoTFleetWise +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/StructuredMessageListType.h b/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/StructuredMessageListType.h new file mode 100644 index 00000000000..a3a4b919193 --- /dev/null +++ b/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/StructuredMessageListType.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 IoTFleetWise +{ +namespace Model +{ + enum class StructuredMessageListType + { + NOT_SET, + FIXED_CAPACITY, + DYNAMIC_UNBOUNDED_CAPACITY, + DYNAMIC_BOUNDED_CAPACITY + }; + +namespace StructuredMessageListTypeMapper +{ +AWS_IOTFLEETWISE_API StructuredMessageListType GetStructuredMessageListTypeForName(const Aws::String& name); + +AWS_IOTFLEETWISE_API Aws::String GetNameForStructuredMessageListType(StructuredMessageListType value); +} // namespace StructuredMessageListTypeMapper +} // namespace Model +} // namespace IoTFleetWise +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/VehicleMiddleware.h b/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/VehicleMiddleware.h new file mode 100644 index 00000000000..8b3995af0a4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/VehicleMiddleware.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 + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace IoTFleetWise +{ +namespace Model +{ + + /** + *

            The vehicle middleware defined as a type of network interface. Examples of + * vehicle middleware include ROS2 and + * SOME/IP.

            See Also:

            AWS + * API Reference

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

            The name of the vehicle middleware.

            + */ + inline const Aws::String& GetName() const{ return m_name; } + + /** + *

            The name of the vehicle middleware.

            + */ + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + + /** + *

            The name of the vehicle middleware.

            + */ + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + + /** + *

            The name of the vehicle middleware.

            + */ + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + + /** + *

            The name of the vehicle middleware.

            + */ + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + + /** + *

            The name of the vehicle middleware.

            + */ + inline VehicleMiddleware& WithName(const Aws::String& value) { SetName(value); return *this;} + + /** + *

            The name of the vehicle middleware.

            + */ + inline VehicleMiddleware& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + + /** + *

            The name of the vehicle middleware.

            + */ + inline VehicleMiddleware& WithName(const char* value) { SetName(value); return *this;} + + + /** + *

            The protocol name of the vehicle middleware.

            + */ + inline const VehicleMiddlewareProtocol& GetProtocolName() const{ return m_protocolName; } + + /** + *

            The protocol name of the vehicle middleware.

            + */ + inline bool ProtocolNameHasBeenSet() const { return m_protocolNameHasBeenSet; } + + /** + *

            The protocol name of the vehicle middleware.

            + */ + inline void SetProtocolName(const VehicleMiddlewareProtocol& value) { m_protocolNameHasBeenSet = true; m_protocolName = value; } + + /** + *

            The protocol name of the vehicle middleware.

            + */ + inline void SetProtocolName(VehicleMiddlewareProtocol&& value) { m_protocolNameHasBeenSet = true; m_protocolName = std::move(value); } + + /** + *

            The protocol name of the vehicle middleware.

            + */ + inline VehicleMiddleware& WithProtocolName(const VehicleMiddlewareProtocol& value) { SetProtocolName(value); return *this;} + + /** + *

            The protocol name of the vehicle middleware.

            + */ + inline VehicleMiddleware& WithProtocolName(VehicleMiddlewareProtocol&& value) { SetProtocolName(std::move(value)); return *this;} + + private: + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + VehicleMiddlewareProtocol m_protocolName; + bool m_protocolNameHasBeenSet = false; + }; + +} // namespace Model +} // namespace IoTFleetWise +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/VehicleMiddlewareProtocol.h b/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/VehicleMiddlewareProtocol.h new file mode 100644 index 00000000000..44796a2ba6f --- /dev/null +++ b/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/VehicleMiddlewareProtocol.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 IoTFleetWise +{ +namespace Model +{ + enum class VehicleMiddlewareProtocol + { + NOT_SET, + ROS_2 + }; + +namespace VehicleMiddlewareProtocolMapper +{ +AWS_IOTFLEETWISE_API VehicleMiddlewareProtocol GetVehicleMiddlewareProtocolForName(const Aws::String& name); + +AWS_IOTFLEETWISE_API Aws::String GetNameForVehicleMiddlewareProtocol(VehicleMiddlewareProtocol value); +} // namespace VehicleMiddlewareProtocolMapper +} // namespace Model +} // namespace IoTFleetWise +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-iotfleetwise/source/IoTFleetWiseEndpointRules.cpp b/generated/src/aws-cpp-sdk-iotfleetwise/source/IoTFleetWiseEndpointRules.cpp index 98188f3b639..be0e74afd4f 100644 --- a/generated/src/aws-cpp-sdk-iotfleetwise/source/IoTFleetWiseEndpointRules.cpp +++ b/generated/src/aws-cpp-sdk-iotfleetwise/source/IoTFleetWiseEndpointRules.cpp @@ -51,107 +51,107 @@ static constexpr RulesBlobT RulesBlob = {{ ',','"','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','"',':','[','{','"','f','n','"',':','"', 'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', -'d','p','o','i','n','t','"','}',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', -',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', -'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r', -'u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','C','o', -'n','f','i','g','u','r','a','t','i','o','n',':',' ','F','I','P','S',' ','a','n','d',' ','c','u','s', -'t','o','m',' ','e','n','d','p','o','i','n','t',' ','a','r','e',' ','n','o','t',' ','s','u','p','p', -'o','r','t','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e', -'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"', -'e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','C','o','n','f','i','g','u','r','a', -'t','i','o','n',':',' ','D','u','a','l','s','t','a','c','k',' ','a','n','d',' ','c','u','s','t','o', -'m',' ','e','n','d','p','o','i','n','t',' ','a','r','e',' ','n','o','t',' ','s','u','p','p','o','r', -'t','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','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','"',':','{','}',',','"','h','e','a','d','e','r','s','"', -':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}', -',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s', -'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i', -'o','n','"','}',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u', -'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', -'"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g', -'n','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',']',',','"','t', -'y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o', +'d','p','o','i','n','t','"','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o', 'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', 'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', -'s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o', -'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}', -']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o', -'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','t','r','u','e',',', -'{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',', -'"','s','u','p','p','o','r','t','s','F','I','P','S','"',']','}',']','}',',','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','t', -'r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l', -'t','"','}',',','"','s','u','p','p','o','r','t','s','D','u','a','l','S','t','a','c','k','"',']','}', -']','}',']',',','"','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','"',':','"','h','t','t','p','s',':','/','/','i','o','t','f', -'l','e','e','t','w','i','s','e','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','P', -'a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','u','a','l','S','t','a','c','k','D', -'n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{', -'}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e', -'n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', -':','[',']',',','"','e','r','r','o','r','"',':','"','F','I','P','S',' ','a','n','d',' ','D','u','a', -'l','S','t','a','c','k',' ','a','r','e',' ','e','n','a','b','l','e','d',',',' ','b','u','t',' ','t', -'h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u', -'p','p','o','r','t',' ','o','n','e',' ','o','r',' ','b','o','t','h','"',',','"','t','y','p','e','"', -':','"','e','r','r','o','r','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', -':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',', -'t','r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u', -'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', -'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s', -'u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','F','I','P','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','"',':','"','h','t','t','p','s',':','/','/','i','o','t','f','l','e','e', -'t','w','i','s','e','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t', -'i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"', -'p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':', -'{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',',', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':', -'"','F','I','P','S',' ','i','s',' ','e','n','a','b','l','e','d',' ','b','u','t',' ','t','h','i','s', -' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o', -'r','t',' ','F','I','P','S','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']', -'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b', -'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']', -'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':', -'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', -'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','t','r','u','e', -',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}', -',','"','s','u','p','p','o','r','t','s','D','u','a','l','S','t','a','c','k','"',']','}',']','}',']', -',','"','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','"',':','"','h','t','t','p','s',':','/','/','i','o','t','f','l','e','e', -'t','w','i','s','e','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n', -'R','e','s','u','l','t','#','d','u','a','l','S','t','a','c','k','D','n','s','S','u','f','f','i','x', -'}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e', -'r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"', -'}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r', -'o','r','"',':','"','D','u','a','l','S','t','a','c','k',' ','i','s',' ','e','n','a','b','l','e','d', -' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ', -'n','o','t',' ','s','u','p','p','o','r','t',' ','D','u','a','l','S','t','a','c','k','"',',','"','t', -'y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',',','{','"','c','o','n','d','i','t','i', -'o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"', -':','"','h','t','t','p','s',':','/','/','i','o','t','f','l','e','e','t','w','i','s','e','.','{','R', -'e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d', -'n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{', +'s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':', +'"','I','n','v','a','l','i','d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','F', +'I','P','S',' ','a','n','d',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','a', +'r','e',' ','n','o','t',' ','s','u','p','p','o','r','t','e','d','"',',','"','t','y','p','e','"',':', +'"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"', +'}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i', +'d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','D','u','a','l','s','t','a','c', +'k',' ','a','n','d',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','a','r','e', +' ','n','o','t',' ','s','u','p','p','o','r','t','e','d','"',',','"','t','y','p','e','"',':','"','e', +'r','r','o','r','"','}',',','{','"','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','"',':','{', '}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e', -'n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n', +'n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s', +'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i', +'o','n','"','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i', +'o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o', +'n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','P','a','r','t','i','t','i','o','n','R', +'e','s','u','l','t','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F', +'I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', +'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"', +'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R', +'e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','F','I','P','S','"',']','}',']', +'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t', +'r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t', +'i','o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','D','u','a','l', +'S','t','a','c','k','"',']','}',']','}',']',',','"','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','"',':','"','h','t','t','p','s',':','/','/','i','o','t','f','l','e','e','t','w','i', +'s','e','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i', +'o','n','R','e','s','u','l','t','#','d','u','a','l','S','t','a','c','k','D','n','s','S','u','f','f', +'i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a', +'d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n', +'t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n', +'d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','F','I','P','S', +' ','a','n','d',' ','D','u','a','l','S','t','a','c','k',' ','a','r','e',' ','e','n','a','b','l','e', +'d',',',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e', +'s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','o','n','e',' ','o','r',' ','b','o','t','h', +'"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"', +':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u', +'e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n', +'R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','F','I','P','S','"',']','}', +',','t','r','u','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','"',':','"','h','t','t','p','s',':','/','/','i','o','t','f','l','e','e','t','w','i','s','e','-', +'f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R', +'e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r', +'t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t', +'y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':', +'"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',', +'"','e','r','r','o','r','"',':','"','F','I','P','S',' ','i','s',' ','e','n','a','b','l','e','d',' ', +'b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ','n', +'o','t',' ','s','u','p','p','o','r','t',' ','F','I','P','S','"',',','"','t','y','p','e','"',':','"', +'e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', +'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',', +'"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n', +'R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','D','u','a','l','S','t','a', +'c','k','"',']','}',']','}',']',',','"','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','"',':','"','h','t','t','p','s',':','/','/','i','o','t','f','l','e','e','t','w','i','s','e','.', +'{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t', +'#','d','u','a','l','S','t','a','c','k','D','n','s','S','u','f','f','i','x','}','"',',','"','p','r', +'o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}', +'}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y', +'p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[',']',',','"','e','r','r','o','r','"',':','"','D','u','a','l','S','t','a','c','k',' ','i','s', +' ','e','n','a','b','l','e','d',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i', +'o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','D','u','a','l','S', +'t','a','c','k','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t', +'y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', +'"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h', +'t','t','p','s',':','/','/','i','o','t','f','l','e','e','t','w','i','s','e','.','{','R','e','g','i', +'o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S', +'u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"', +'h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p', +'o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"', +'t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n', 's','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','C','o', 'n','f','i','g','u','r','a','t','i','o','n',':',' ','M','i','s','s','i','n','g',' ','R','e','g','i', 'o','n','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}','\0' diff --git a/generated/src/aws-cpp-sdk-iotfleetwise/source/model/Actuator.cpp b/generated/src/aws-cpp-sdk-iotfleetwise/source/model/Actuator.cpp index bf17df6c2f6..9f2ba737e25 100644 --- a/generated/src/aws-cpp-sdk-iotfleetwise/source/model/Actuator.cpp +++ b/generated/src/aws-cpp-sdk-iotfleetwise/source/model/Actuator.cpp @@ -30,7 +30,8 @@ Actuator::Actuator() : m_max(0.0), m_maxHasBeenSet(false), m_deprecationMessageHasBeenSet(false), - m_commentHasBeenSet(false) + m_commentHasBeenSet(false), + m_structFullyQualifiedNameHasBeenSet(false) { } @@ -46,7 +47,8 @@ Actuator::Actuator(JsonView jsonValue) : m_max(0.0), m_maxHasBeenSet(false), m_deprecationMessageHasBeenSet(false), - m_commentHasBeenSet(false) + m_commentHasBeenSet(false), + m_structFullyQualifiedNameHasBeenSet(false) { *this = jsonValue; } @@ -119,6 +121,13 @@ Actuator& Actuator::operator =(JsonView jsonValue) m_commentHasBeenSet = true; } + if(jsonValue.ValueExists("structFullyQualifiedName")) + { + m_structFullyQualifiedName = jsonValue.GetString("structFullyQualifiedName"); + + m_structFullyQualifiedNameHasBeenSet = true; + } + return *this; } @@ -184,6 +193,12 @@ JsonValue Actuator::Jsonize() const } + if(m_structFullyQualifiedNameHasBeenSet) + { + payload.WithString("structFullyQualifiedName", m_structFullyQualifiedName); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-iotfleetwise/source/model/CustomProperty.cpp b/generated/src/aws-cpp-sdk-iotfleetwise/source/model/CustomProperty.cpp new file mode 100644 index 00000000000..fe0b773f66b --- /dev/null +++ b/generated/src/aws-cpp-sdk-iotfleetwise/source/model/CustomProperty.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 IoTFleetWise +{ +namespace Model +{ + +CustomProperty::CustomProperty() : + m_fullyQualifiedNameHasBeenSet(false), + m_dataType(NodeDataType::NOT_SET), + m_dataTypeHasBeenSet(false), + m_dataEncoding(NodeDataEncoding::NOT_SET), + m_dataEncodingHasBeenSet(false), + m_descriptionHasBeenSet(false), + m_deprecationMessageHasBeenSet(false), + m_commentHasBeenSet(false), + m_structFullyQualifiedNameHasBeenSet(false) +{ +} + +CustomProperty::CustomProperty(JsonView jsonValue) : + m_fullyQualifiedNameHasBeenSet(false), + m_dataType(NodeDataType::NOT_SET), + m_dataTypeHasBeenSet(false), + m_dataEncoding(NodeDataEncoding::NOT_SET), + m_dataEncodingHasBeenSet(false), + m_descriptionHasBeenSet(false), + m_deprecationMessageHasBeenSet(false), + m_commentHasBeenSet(false), + m_structFullyQualifiedNameHasBeenSet(false) +{ + *this = jsonValue; +} + +CustomProperty& CustomProperty::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("fullyQualifiedName")) + { + m_fullyQualifiedName = jsonValue.GetString("fullyQualifiedName"); + + m_fullyQualifiedNameHasBeenSet = true; + } + + if(jsonValue.ValueExists("dataType")) + { + m_dataType = NodeDataTypeMapper::GetNodeDataTypeForName(jsonValue.GetString("dataType")); + + m_dataTypeHasBeenSet = true; + } + + if(jsonValue.ValueExists("dataEncoding")) + { + m_dataEncoding = NodeDataEncodingMapper::GetNodeDataEncodingForName(jsonValue.GetString("dataEncoding")); + + m_dataEncodingHasBeenSet = true; + } + + if(jsonValue.ValueExists("description")) + { + m_description = jsonValue.GetString("description"); + + m_descriptionHasBeenSet = true; + } + + if(jsonValue.ValueExists("deprecationMessage")) + { + m_deprecationMessage = jsonValue.GetString("deprecationMessage"); + + m_deprecationMessageHasBeenSet = true; + } + + if(jsonValue.ValueExists("comment")) + { + m_comment = jsonValue.GetString("comment"); + + m_commentHasBeenSet = true; + } + + if(jsonValue.ValueExists("structFullyQualifiedName")) + { + m_structFullyQualifiedName = jsonValue.GetString("structFullyQualifiedName"); + + m_structFullyQualifiedNameHasBeenSet = true; + } + + return *this; +} + +JsonValue CustomProperty::Jsonize() const +{ + JsonValue payload; + + if(m_fullyQualifiedNameHasBeenSet) + { + payload.WithString("fullyQualifiedName", m_fullyQualifiedName); + + } + + if(m_dataTypeHasBeenSet) + { + payload.WithString("dataType", NodeDataTypeMapper::GetNameForNodeDataType(m_dataType)); + } + + if(m_dataEncodingHasBeenSet) + { + payload.WithString("dataEncoding", NodeDataEncodingMapper::GetNameForNodeDataEncoding(m_dataEncoding)); + } + + if(m_descriptionHasBeenSet) + { + payload.WithString("description", m_description); + + } + + if(m_deprecationMessageHasBeenSet) + { + payload.WithString("deprecationMessage", m_deprecationMessage); + + } + + if(m_commentHasBeenSet) + { + payload.WithString("comment", m_comment); + + } + + if(m_structFullyQualifiedNameHasBeenSet) + { + payload.WithString("structFullyQualifiedName", m_structFullyQualifiedName); + + } + + return payload; +} + +} // namespace Model +} // namespace IoTFleetWise +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-iotfleetwise/source/model/CustomStruct.cpp b/generated/src/aws-cpp-sdk-iotfleetwise/source/model/CustomStruct.cpp new file mode 100644 index 00000000000..99d599eb6cb --- /dev/null +++ b/generated/src/aws-cpp-sdk-iotfleetwise/source/model/CustomStruct.cpp @@ -0,0 +1,104 @@ +/** + * 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 IoTFleetWise +{ +namespace Model +{ + +CustomStruct::CustomStruct() : + m_fullyQualifiedNameHasBeenSet(false), + m_descriptionHasBeenSet(false), + m_deprecationMessageHasBeenSet(false), + m_commentHasBeenSet(false) +{ +} + +CustomStruct::CustomStruct(JsonView jsonValue) : + m_fullyQualifiedNameHasBeenSet(false), + m_descriptionHasBeenSet(false), + m_deprecationMessageHasBeenSet(false), + m_commentHasBeenSet(false) +{ + *this = jsonValue; +} + +CustomStruct& CustomStruct::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("fullyQualifiedName")) + { + m_fullyQualifiedName = jsonValue.GetString("fullyQualifiedName"); + + m_fullyQualifiedNameHasBeenSet = true; + } + + if(jsonValue.ValueExists("description")) + { + m_description = jsonValue.GetString("description"); + + m_descriptionHasBeenSet = true; + } + + if(jsonValue.ValueExists("deprecationMessage")) + { + m_deprecationMessage = jsonValue.GetString("deprecationMessage"); + + m_deprecationMessageHasBeenSet = true; + } + + if(jsonValue.ValueExists("comment")) + { + m_comment = jsonValue.GetString("comment"); + + m_commentHasBeenSet = true; + } + + return *this; +} + +JsonValue CustomStruct::Jsonize() const +{ + JsonValue payload; + + if(m_fullyQualifiedNameHasBeenSet) + { + payload.WithString("fullyQualifiedName", m_fullyQualifiedName); + + } + + if(m_descriptionHasBeenSet) + { + payload.WithString("description", m_description); + + } + + if(m_deprecationMessageHasBeenSet) + { + payload.WithString("deprecationMessage", m_deprecationMessage); + + } + + if(m_commentHasBeenSet) + { + payload.WithString("comment", m_comment); + + } + + return payload; +} + +} // namespace Model +} // namespace IoTFleetWise +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-iotfleetwise/source/model/DecoderManifestSummary.cpp b/generated/src/aws-cpp-sdk-iotfleetwise/source/model/DecoderManifestSummary.cpp index 38d264ef846..3e66b3e72ac 100644 --- a/generated/src/aws-cpp-sdk-iotfleetwise/source/model/DecoderManifestSummary.cpp +++ b/generated/src/aws-cpp-sdk-iotfleetwise/source/model/DecoderManifestSummary.cpp @@ -26,7 +26,8 @@ DecoderManifestSummary::DecoderManifestSummary() : m_status(ManifestStatus::NOT_SET), m_statusHasBeenSet(false), m_creationTimeHasBeenSet(false), - m_lastModificationTimeHasBeenSet(false) + m_lastModificationTimeHasBeenSet(false), + m_messageHasBeenSet(false) { } @@ -38,7 +39,8 @@ DecoderManifestSummary::DecoderManifestSummary(JsonView jsonValue) : m_status(ManifestStatus::NOT_SET), m_statusHasBeenSet(false), m_creationTimeHasBeenSet(false), - m_lastModificationTimeHasBeenSet(false) + m_lastModificationTimeHasBeenSet(false), + m_messageHasBeenSet(false) { *this = jsonValue; } @@ -94,6 +96,13 @@ DecoderManifestSummary& DecoderManifestSummary::operator =(JsonView jsonValue) m_lastModificationTimeHasBeenSet = true; } + if(jsonValue.ValueExists("message")) + { + m_message = jsonValue.GetString("message"); + + m_messageHasBeenSet = true; + } + return *this; } @@ -140,6 +149,12 @@ JsonValue DecoderManifestSummary::Jsonize() const payload.WithDouble("lastModificationTime", m_lastModificationTime.SecondsWithMSPrecision()); } + if(m_messageHasBeenSet) + { + payload.WithString("message", m_message); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-iotfleetwise/source/model/GetDecoderManifestResult.cpp b/generated/src/aws-cpp-sdk-iotfleetwise/source/model/GetDecoderManifestResult.cpp index 2ce4f31f915..127fa2759e1 100644 --- a/generated/src/aws-cpp-sdk-iotfleetwise/source/model/GetDecoderManifestResult.cpp +++ b/generated/src/aws-cpp-sdk-iotfleetwise/source/model/GetDecoderManifestResult.cpp @@ -73,6 +73,12 @@ GetDecoderManifestResult& GetDecoderManifestResult::operator =(const Aws::Amazon } + if(jsonValue.ValueExists("message")) + { + m_message = jsonValue.GetString("message"); + + } + const auto& headers = result.GetHeaderValueCollection(); const auto& requestIdIter = headers.find("x-amzn-requestid"); diff --git a/generated/src/aws-cpp-sdk-iotfleetwise/source/model/InvalidSignalDecoder.cpp b/generated/src/aws-cpp-sdk-iotfleetwise/source/model/InvalidSignalDecoder.cpp index c60cbbaaf6d..cd3ce1a4872 100644 --- a/generated/src/aws-cpp-sdk-iotfleetwise/source/model/InvalidSignalDecoder.cpp +++ b/generated/src/aws-cpp-sdk-iotfleetwise/source/model/InvalidSignalDecoder.cpp @@ -21,14 +21,16 @@ namespace Model InvalidSignalDecoder::InvalidSignalDecoder() : m_nameHasBeenSet(false), m_reason(SignalDecoderFailureReason::NOT_SET), - m_reasonHasBeenSet(false) + m_reasonHasBeenSet(false), + m_hintHasBeenSet(false) { } InvalidSignalDecoder::InvalidSignalDecoder(JsonView jsonValue) : m_nameHasBeenSet(false), m_reason(SignalDecoderFailureReason::NOT_SET), - m_reasonHasBeenSet(false) + m_reasonHasBeenSet(false), + m_hintHasBeenSet(false) { *this = jsonValue; } @@ -49,6 +51,13 @@ InvalidSignalDecoder& InvalidSignalDecoder::operator =(JsonView jsonValue) m_reasonHasBeenSet = true; } + if(jsonValue.ValueExists("hint")) + { + m_hint = jsonValue.GetString("hint"); + + m_hintHasBeenSet = true; + } + return *this; } @@ -67,6 +76,12 @@ JsonValue InvalidSignalDecoder::Jsonize() const payload.WithString("reason", SignalDecoderFailureReasonMapper::GetNameForSignalDecoderFailureReason(m_reason)); } + if(m_hintHasBeenSet) + { + payload.WithString("hint", m_hint); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-iotfleetwise/source/model/ManifestStatus.cpp b/generated/src/aws-cpp-sdk-iotfleetwise/source/model/ManifestStatus.cpp index 4e2832d0cd7..8169e60ca23 100644 --- a/generated/src/aws-cpp-sdk-iotfleetwise/source/model/ManifestStatus.cpp +++ b/generated/src/aws-cpp-sdk-iotfleetwise/source/model/ManifestStatus.cpp @@ -22,6 +22,8 @@ namespace Aws static const int ACTIVE_HASH = HashingUtils::HashString("ACTIVE"); static const int DRAFT_HASH = HashingUtils::HashString("DRAFT"); + static const int INVALID_HASH = HashingUtils::HashString("INVALID"); + static const int VALIDATING_HASH = HashingUtils::HashString("VALIDATING"); ManifestStatus GetManifestStatusForName(const Aws::String& name) @@ -35,6 +37,14 @@ namespace Aws { return ManifestStatus::DRAFT; } + else if (hashCode == INVALID_HASH) + { + return ManifestStatus::INVALID; + } + else if (hashCode == VALIDATING_HASH) + { + return ManifestStatus::VALIDATING; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -55,6 +65,10 @@ namespace Aws return "ACTIVE"; case ManifestStatus::DRAFT: return "DRAFT"; + case ManifestStatus::INVALID: + return "INVALID"; + case ManifestStatus::VALIDATING: + return "VALIDATING"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-iotfleetwise/source/model/MessageSignal.cpp b/generated/src/aws-cpp-sdk-iotfleetwise/source/model/MessageSignal.cpp new file mode 100644 index 00000000000..1313d242bf7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-iotfleetwise/source/model/MessageSignal.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 IoTFleetWise +{ +namespace Model +{ + +MessageSignal::MessageSignal() : + m_topicNameHasBeenSet(false), + m_structuredMessageHasBeenSet(false) +{ +} + +MessageSignal::MessageSignal(JsonView jsonValue) : + m_topicNameHasBeenSet(false), + m_structuredMessageHasBeenSet(false) +{ + *this = jsonValue; +} + +MessageSignal& MessageSignal::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("topicName")) + { + m_topicName = jsonValue.GetString("topicName"); + + m_topicNameHasBeenSet = true; + } + + if(jsonValue.ValueExists("structuredMessage")) + { + m_structuredMessage = jsonValue.GetObject("structuredMessage"); + + m_structuredMessageHasBeenSet = true; + } + + return *this; +} + +JsonValue MessageSignal::Jsonize() const +{ + JsonValue payload; + + if(m_topicNameHasBeenSet) + { + payload.WithString("topicName", m_topicName); + + } + + if(m_structuredMessageHasBeenSet) + { + payload.WithObject("structuredMessage", m_structuredMessage.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace IoTFleetWise +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-iotfleetwise/source/model/NetworkInterface.cpp b/generated/src/aws-cpp-sdk-iotfleetwise/source/model/NetworkInterface.cpp index 8ed0308c7bb..4f419b9a05c 100644 --- a/generated/src/aws-cpp-sdk-iotfleetwise/source/model/NetworkInterface.cpp +++ b/generated/src/aws-cpp-sdk-iotfleetwise/source/model/NetworkInterface.cpp @@ -23,7 +23,8 @@ NetworkInterface::NetworkInterface() : m_type(NetworkInterfaceType::NOT_SET), m_typeHasBeenSet(false), m_canInterfaceHasBeenSet(false), - m_obdInterfaceHasBeenSet(false) + m_obdInterfaceHasBeenSet(false), + m_vehicleMiddlewareHasBeenSet(false) { } @@ -32,7 +33,8 @@ NetworkInterface::NetworkInterface(JsonView jsonValue) : m_type(NetworkInterfaceType::NOT_SET), m_typeHasBeenSet(false), m_canInterfaceHasBeenSet(false), - m_obdInterfaceHasBeenSet(false) + m_obdInterfaceHasBeenSet(false), + m_vehicleMiddlewareHasBeenSet(false) { *this = jsonValue; } @@ -67,6 +69,13 @@ NetworkInterface& NetworkInterface::operator =(JsonView jsonValue) m_obdInterfaceHasBeenSet = true; } + if(jsonValue.ValueExists("vehicleMiddleware")) + { + m_vehicleMiddleware = jsonValue.GetObject("vehicleMiddleware"); + + m_vehicleMiddlewareHasBeenSet = true; + } + return *this; } @@ -97,6 +106,12 @@ JsonValue NetworkInterface::Jsonize() const } + if(m_vehicleMiddlewareHasBeenSet) + { + payload.WithObject("vehicleMiddleware", m_vehicleMiddleware.Jsonize()); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-iotfleetwise/source/model/NetworkInterfaceFailureReason.cpp b/generated/src/aws-cpp-sdk-iotfleetwise/source/model/NetworkInterfaceFailureReason.cpp index 44ea8ab1a57..8f33a93a06c 100644 --- a/generated/src/aws-cpp-sdk-iotfleetwise/source/model/NetworkInterfaceFailureReason.cpp +++ b/generated/src/aws-cpp-sdk-iotfleetwise/source/model/NetworkInterfaceFailureReason.cpp @@ -26,6 +26,8 @@ namespace Aws static const int CAN_NETWORK_INTERFACE_INFO_IS_NULL_HASH = HashingUtils::HashString("CAN_NETWORK_INTERFACE_INFO_IS_NULL"); static const int OBD_NETWORK_INTERFACE_INFO_IS_NULL_HASH = HashingUtils::HashString("OBD_NETWORK_INTERFACE_INFO_IS_NULL"); static const int NETWORK_INTERFACE_TO_REMOVE_ASSOCIATED_WITH_SIGNALS_HASH = HashingUtils::HashString("NETWORK_INTERFACE_TO_REMOVE_ASSOCIATED_WITH_SIGNALS"); + static const int VEHICLE_MIDDLEWARE_NETWORK_INTERFACE_INFO_IS_NULL_HASH = HashingUtils::HashString("VEHICLE_MIDDLEWARE_NETWORK_INTERFACE_INFO_IS_NULL"); + static const int CUSTOMER_DECODED_SIGNAL_NETWORK_INTERFACE_INFO_IS_NULL_HASH = HashingUtils::HashString("CUSTOMER_DECODED_SIGNAL_NETWORK_INTERFACE_INFO_IS_NULL"); NetworkInterfaceFailureReason GetNetworkInterfaceFailureReasonForName(const Aws::String& name) @@ -55,6 +57,14 @@ namespace Aws { return NetworkInterfaceFailureReason::NETWORK_INTERFACE_TO_REMOVE_ASSOCIATED_WITH_SIGNALS; } + else if (hashCode == VEHICLE_MIDDLEWARE_NETWORK_INTERFACE_INFO_IS_NULL_HASH) + { + return NetworkInterfaceFailureReason::VEHICLE_MIDDLEWARE_NETWORK_INTERFACE_INFO_IS_NULL; + } + else if (hashCode == CUSTOMER_DECODED_SIGNAL_NETWORK_INTERFACE_INFO_IS_NULL_HASH) + { + return NetworkInterfaceFailureReason::CUSTOMER_DECODED_SIGNAL_NETWORK_INTERFACE_INFO_IS_NULL; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -83,6 +93,10 @@ namespace Aws return "OBD_NETWORK_INTERFACE_INFO_IS_NULL"; case NetworkInterfaceFailureReason::NETWORK_INTERFACE_TO_REMOVE_ASSOCIATED_WITH_SIGNALS: return "NETWORK_INTERFACE_TO_REMOVE_ASSOCIATED_WITH_SIGNALS"; + case NetworkInterfaceFailureReason::VEHICLE_MIDDLEWARE_NETWORK_INTERFACE_INFO_IS_NULL: + return "VEHICLE_MIDDLEWARE_NETWORK_INTERFACE_INFO_IS_NULL"; + case NetworkInterfaceFailureReason::CUSTOMER_DECODED_SIGNAL_NETWORK_INTERFACE_INFO_IS_NULL: + return "CUSTOMER_DECODED_SIGNAL_NETWORK_INTERFACE_INFO_IS_NULL"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-iotfleetwise/source/model/NetworkInterfaceType.cpp b/generated/src/aws-cpp-sdk-iotfleetwise/source/model/NetworkInterfaceType.cpp index 705419ee8a2..ee8c1f0e6f4 100644 --- a/generated/src/aws-cpp-sdk-iotfleetwise/source/model/NetworkInterfaceType.cpp +++ b/generated/src/aws-cpp-sdk-iotfleetwise/source/model/NetworkInterfaceType.cpp @@ -22,6 +22,8 @@ namespace Aws static const int CAN_INTERFACE_HASH = HashingUtils::HashString("CAN_INTERFACE"); static const int OBD_INTERFACE_HASH = HashingUtils::HashString("OBD_INTERFACE"); + static const int VEHICLE_MIDDLEWARE_HASH = HashingUtils::HashString("VEHICLE_MIDDLEWARE"); + static const int CUSTOMER_DECODED_INTERFACE_HASH = HashingUtils::HashString("CUSTOMER_DECODED_INTERFACE"); NetworkInterfaceType GetNetworkInterfaceTypeForName(const Aws::String& name) @@ -35,6 +37,14 @@ namespace Aws { return NetworkInterfaceType::OBD_INTERFACE; } + else if (hashCode == VEHICLE_MIDDLEWARE_HASH) + { + return NetworkInterfaceType::VEHICLE_MIDDLEWARE; + } + else if (hashCode == CUSTOMER_DECODED_INTERFACE_HASH) + { + return NetworkInterfaceType::CUSTOMER_DECODED_INTERFACE; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -55,6 +65,10 @@ namespace Aws return "CAN_INTERFACE"; case NetworkInterfaceType::OBD_INTERFACE: return "OBD_INTERFACE"; + case NetworkInterfaceType::VEHICLE_MIDDLEWARE: + return "VEHICLE_MIDDLEWARE"; + case NetworkInterfaceType::CUSTOMER_DECODED_INTERFACE: + return "CUSTOMER_DECODED_INTERFACE"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-iotfleetwise/source/model/Node.cpp b/generated/src/aws-cpp-sdk-iotfleetwise/source/model/Node.cpp index 54b7a229105..3f27a9f9893 100644 --- a/generated/src/aws-cpp-sdk-iotfleetwise/source/model/Node.cpp +++ b/generated/src/aws-cpp-sdk-iotfleetwise/source/model/Node.cpp @@ -22,7 +22,9 @@ Node::Node() : m_branchHasBeenSet(false), m_sensorHasBeenSet(false), m_actuatorHasBeenSet(false), - m_attributeHasBeenSet(false) + m_attributeHasBeenSet(false), + m_structHasBeenSet(false), + m_propertyHasBeenSet(false) { } @@ -30,7 +32,9 @@ Node::Node(JsonView jsonValue) : m_branchHasBeenSet(false), m_sensorHasBeenSet(false), m_actuatorHasBeenSet(false), - m_attributeHasBeenSet(false) + m_attributeHasBeenSet(false), + m_structHasBeenSet(false), + m_propertyHasBeenSet(false) { *this = jsonValue; } @@ -65,6 +69,20 @@ Node& Node::operator =(JsonView jsonValue) m_attributeHasBeenSet = true; } + if(jsonValue.ValueExists("struct")) + { + m_struct = jsonValue.GetObject("struct"); + + m_structHasBeenSet = true; + } + + if(jsonValue.ValueExists("property")) + { + m_property = jsonValue.GetObject("property"); + + m_propertyHasBeenSet = true; + } + return *this; } @@ -96,6 +114,18 @@ JsonValue Node::Jsonize() const } + if(m_structHasBeenSet) + { + payload.WithObject("struct", m_struct.Jsonize()); + + } + + if(m_propertyHasBeenSet) + { + payload.WithObject("property", m_property.Jsonize()); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-iotfleetwise/source/model/NodeCounts.cpp b/generated/src/aws-cpp-sdk-iotfleetwise/source/model/NodeCounts.cpp index 2f083e0bfb2..32b8db3b63c 100644 --- a/generated/src/aws-cpp-sdk-iotfleetwise/source/model/NodeCounts.cpp +++ b/generated/src/aws-cpp-sdk-iotfleetwise/source/model/NodeCounts.cpp @@ -28,7 +28,11 @@ NodeCounts::NodeCounts() : m_totalAttributes(0), m_totalAttributesHasBeenSet(false), m_totalActuators(0), - m_totalActuatorsHasBeenSet(false) + m_totalActuatorsHasBeenSet(false), + m_totalStructs(0), + m_totalStructsHasBeenSet(false), + m_totalProperties(0), + m_totalPropertiesHasBeenSet(false) { } @@ -42,7 +46,11 @@ NodeCounts::NodeCounts(JsonView jsonValue) : m_totalAttributes(0), m_totalAttributesHasBeenSet(false), m_totalActuators(0), - m_totalActuatorsHasBeenSet(false) + m_totalActuatorsHasBeenSet(false), + m_totalStructs(0), + m_totalStructsHasBeenSet(false), + m_totalProperties(0), + m_totalPropertiesHasBeenSet(false) { *this = jsonValue; } @@ -84,6 +92,20 @@ NodeCounts& NodeCounts::operator =(JsonView jsonValue) m_totalActuatorsHasBeenSet = true; } + if(jsonValue.ValueExists("totalStructs")) + { + m_totalStructs = jsonValue.GetInteger("totalStructs"); + + m_totalStructsHasBeenSet = true; + } + + if(jsonValue.ValueExists("totalProperties")) + { + m_totalProperties = jsonValue.GetInteger("totalProperties"); + + m_totalPropertiesHasBeenSet = true; + } + return *this; } @@ -121,6 +143,18 @@ JsonValue NodeCounts::Jsonize() const } + if(m_totalStructsHasBeenSet) + { + payload.WithInteger("totalStructs", m_totalStructs); + + } + + if(m_totalPropertiesHasBeenSet) + { + payload.WithInteger("totalProperties", m_totalProperties); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-iotfleetwise/source/model/NodeDataEncoding.cpp b/generated/src/aws-cpp-sdk-iotfleetwise/source/model/NodeDataEncoding.cpp new file mode 100644 index 00000000000..8946584e6b8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-iotfleetwise/source/model/NodeDataEncoding.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 IoTFleetWise + { + namespace Model + { + namespace NodeDataEncodingMapper + { + + static const int BINARY_HASH = HashingUtils::HashString("BINARY"); + static const int TYPED_HASH = HashingUtils::HashString("TYPED"); + + + NodeDataEncoding GetNodeDataEncodingForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == BINARY_HASH) + { + return NodeDataEncoding::BINARY; + } + else if (hashCode == TYPED_HASH) + { + return NodeDataEncoding::TYPED; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return NodeDataEncoding::NOT_SET; + } + + Aws::String GetNameForNodeDataEncoding(NodeDataEncoding enumValue) + { + switch(enumValue) + { + case NodeDataEncoding::NOT_SET: + return {}; + case NodeDataEncoding::BINARY: + return "BINARY"; + case NodeDataEncoding::TYPED: + return "TYPED"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace NodeDataEncodingMapper + } // namespace Model + } // namespace IoTFleetWise +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-iotfleetwise/source/model/NodeDataType.cpp b/generated/src/aws-cpp-sdk-iotfleetwise/source/model/NodeDataType.cpp index acac795da9b..3bf8054d4e7 100644 --- a/generated/src/aws-cpp-sdk-iotfleetwise/source/model/NodeDataType.cpp +++ b/generated/src/aws-cpp-sdk-iotfleetwise/source/model/NodeDataType.cpp @@ -47,6 +47,8 @@ namespace Aws static const int STRING_ARRAY_HASH = HashingUtils::HashString("STRING_ARRAY"); static const int UNIX_TIMESTAMP_ARRAY_HASH = HashingUtils::HashString("UNIX_TIMESTAMP_ARRAY"); static const int UNKNOWN_HASH = HashingUtils::HashString("UNKNOWN"); + static const int STRUCT_HASH = HashingUtils::HashString("STRUCT"); + static const int STRUCT_ARRAY_HASH = HashingUtils::HashString("STRUCT_ARRAY"); NodeDataType GetNodeDataTypeForName(const Aws::String& name) @@ -160,6 +162,14 @@ namespace Aws { return NodeDataType::UNKNOWN; } + else if (hashCode == STRUCT_HASH) + { + return NodeDataType::STRUCT; + } + else if (hashCode == STRUCT_ARRAY_HASH) + { + return NodeDataType::STRUCT_ARRAY; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -230,6 +240,10 @@ namespace Aws return "UNIX_TIMESTAMP_ARRAY"; case NodeDataType::UNKNOWN: return "UNKNOWN"; + case NodeDataType::STRUCT: + return "STRUCT"; + case NodeDataType::STRUCT_ARRAY: + return "STRUCT_ARRAY"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-iotfleetwise/source/model/PrimitiveMessageDefinition.cpp b/generated/src/aws-cpp-sdk-iotfleetwise/source/model/PrimitiveMessageDefinition.cpp new file mode 100644 index 00000000000..fd9922ba783 --- /dev/null +++ b/generated/src/aws-cpp-sdk-iotfleetwise/source/model/PrimitiveMessageDefinition.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 IoTFleetWise +{ +namespace Model +{ + +PrimitiveMessageDefinition::PrimitiveMessageDefinition() : + m_ros2PrimitiveMessageDefinitionHasBeenSet(false) +{ +} + +PrimitiveMessageDefinition::PrimitiveMessageDefinition(JsonView jsonValue) : + m_ros2PrimitiveMessageDefinitionHasBeenSet(false) +{ + *this = jsonValue; +} + +PrimitiveMessageDefinition& PrimitiveMessageDefinition::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("ros2PrimitiveMessageDefinition")) + { + m_ros2PrimitiveMessageDefinition = jsonValue.GetObject("ros2PrimitiveMessageDefinition"); + + m_ros2PrimitiveMessageDefinitionHasBeenSet = true; + } + + return *this; +} + +JsonValue PrimitiveMessageDefinition::Jsonize() const +{ + JsonValue payload; + + if(m_ros2PrimitiveMessageDefinitionHasBeenSet) + { + payload.WithObject("ros2PrimitiveMessageDefinition", m_ros2PrimitiveMessageDefinition.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace IoTFleetWise +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-iotfleetwise/source/model/ROS2PrimitiveMessageDefinition.cpp b/generated/src/aws-cpp-sdk-iotfleetwise/source/model/ROS2PrimitiveMessageDefinition.cpp new file mode 100644 index 00000000000..e3f6e8d3acf --- /dev/null +++ b/generated/src/aws-cpp-sdk-iotfleetwise/source/model/ROS2PrimitiveMessageDefinition.cpp @@ -0,0 +1,111 @@ +/** + * 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 IoTFleetWise +{ +namespace Model +{ + +ROS2PrimitiveMessageDefinition::ROS2PrimitiveMessageDefinition() : + m_primitiveType(ROS2PrimitiveType::NOT_SET), + m_primitiveTypeHasBeenSet(false), + m_offset(0.0), + m_offsetHasBeenSet(false), + m_scaling(0.0), + m_scalingHasBeenSet(false), + m_upperBound(0), + m_upperBoundHasBeenSet(false) +{ +} + +ROS2PrimitiveMessageDefinition::ROS2PrimitiveMessageDefinition(JsonView jsonValue) : + m_primitiveType(ROS2PrimitiveType::NOT_SET), + m_primitiveTypeHasBeenSet(false), + m_offset(0.0), + m_offsetHasBeenSet(false), + m_scaling(0.0), + m_scalingHasBeenSet(false), + m_upperBound(0), + m_upperBoundHasBeenSet(false) +{ + *this = jsonValue; +} + +ROS2PrimitiveMessageDefinition& ROS2PrimitiveMessageDefinition::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("primitiveType")) + { + m_primitiveType = ROS2PrimitiveTypeMapper::GetROS2PrimitiveTypeForName(jsonValue.GetString("primitiveType")); + + m_primitiveTypeHasBeenSet = true; + } + + if(jsonValue.ValueExists("offset")) + { + m_offset = jsonValue.GetDouble("offset"); + + m_offsetHasBeenSet = true; + } + + if(jsonValue.ValueExists("scaling")) + { + m_scaling = jsonValue.GetDouble("scaling"); + + m_scalingHasBeenSet = true; + } + + if(jsonValue.ValueExists("upperBound")) + { + m_upperBound = jsonValue.GetInt64("upperBound"); + + m_upperBoundHasBeenSet = true; + } + + return *this; +} + +JsonValue ROS2PrimitiveMessageDefinition::Jsonize() const +{ + JsonValue payload; + + if(m_primitiveTypeHasBeenSet) + { + payload.WithString("primitiveType", ROS2PrimitiveTypeMapper::GetNameForROS2PrimitiveType(m_primitiveType)); + } + + if(m_offsetHasBeenSet) + { + payload.WithDouble("offset", m_offset); + + } + + if(m_scalingHasBeenSet) + { + payload.WithDouble("scaling", m_scaling); + + } + + if(m_upperBoundHasBeenSet) + { + payload.WithInt64("upperBound", m_upperBound); + + } + + return payload; +} + +} // namespace Model +} // namespace IoTFleetWise +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-iotfleetwise/source/model/ROS2PrimitiveType.cpp b/generated/src/aws-cpp-sdk-iotfleetwise/source/model/ROS2PrimitiveType.cpp new file mode 100644 index 00000000000..633f49b9f95 --- /dev/null +++ b/generated/src/aws-cpp-sdk-iotfleetwise/source/model/ROS2PrimitiveType.cpp @@ -0,0 +1,163 @@ +/** + * 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 IoTFleetWise + { + namespace Model + { + namespace ROS2PrimitiveTypeMapper + { + + static const int BOOL__HASH = HashingUtils::HashString("BOOL"); + static const int BYTE_HASH = HashingUtils::HashString("BYTE"); + static const int CHAR__HASH = HashingUtils::HashString("CHAR"); + static const int FLOAT32_HASH = HashingUtils::HashString("FLOAT32"); + static const int FLOAT64_HASH = HashingUtils::HashString("FLOAT64"); + static const int INT8_HASH = HashingUtils::HashString("INT8"); + static const int UINT8_HASH = HashingUtils::HashString("UINT8"); + static const int INT16_HASH = HashingUtils::HashString("INT16"); + static const int UINT16_HASH = HashingUtils::HashString("UINT16"); + static const int INT32_HASH = HashingUtils::HashString("INT32"); + static const int UINT32_HASH = HashingUtils::HashString("UINT32"); + static const int INT64_HASH = HashingUtils::HashString("INT64"); + static const int UINT64_HASH = HashingUtils::HashString("UINT64"); + static const int STRING_HASH = HashingUtils::HashString("STRING"); + static const int WSTRING_HASH = HashingUtils::HashString("WSTRING"); + + + ROS2PrimitiveType GetROS2PrimitiveTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == BOOL__HASH) + { + return ROS2PrimitiveType::BOOL_; + } + else if (hashCode == BYTE_HASH) + { + return ROS2PrimitiveType::BYTE; + } + else if (hashCode == CHAR__HASH) + { + return ROS2PrimitiveType::CHAR_; + } + else if (hashCode == FLOAT32_HASH) + { + return ROS2PrimitiveType::FLOAT32; + } + else if (hashCode == FLOAT64_HASH) + { + return ROS2PrimitiveType::FLOAT64; + } + else if (hashCode == INT8_HASH) + { + return ROS2PrimitiveType::INT8; + } + else if (hashCode == UINT8_HASH) + { + return ROS2PrimitiveType::UINT8; + } + else if (hashCode == INT16_HASH) + { + return ROS2PrimitiveType::INT16; + } + else if (hashCode == UINT16_HASH) + { + return ROS2PrimitiveType::UINT16; + } + else if (hashCode == INT32_HASH) + { + return ROS2PrimitiveType::INT32; + } + else if (hashCode == UINT32_HASH) + { + return ROS2PrimitiveType::UINT32; + } + else if (hashCode == INT64_HASH) + { + return ROS2PrimitiveType::INT64; + } + else if (hashCode == UINT64_HASH) + { + return ROS2PrimitiveType::UINT64; + } + else if (hashCode == STRING_HASH) + { + return ROS2PrimitiveType::STRING; + } + else if (hashCode == WSTRING_HASH) + { + return ROS2PrimitiveType::WSTRING; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ROS2PrimitiveType::NOT_SET; + } + + Aws::String GetNameForROS2PrimitiveType(ROS2PrimitiveType enumValue) + { + switch(enumValue) + { + case ROS2PrimitiveType::NOT_SET: + return {}; + case ROS2PrimitiveType::BOOL_: + return "BOOL"; + case ROS2PrimitiveType::BYTE: + return "BYTE"; + case ROS2PrimitiveType::CHAR_: + return "CHAR"; + case ROS2PrimitiveType::FLOAT32: + return "FLOAT32"; + case ROS2PrimitiveType::FLOAT64: + return "FLOAT64"; + case ROS2PrimitiveType::INT8: + return "INT8"; + case ROS2PrimitiveType::UINT8: + return "UINT8"; + case ROS2PrimitiveType::INT16: + return "INT16"; + case ROS2PrimitiveType::UINT16: + return "UINT16"; + case ROS2PrimitiveType::INT32: + return "INT32"; + case ROS2PrimitiveType::UINT32: + return "UINT32"; + case ROS2PrimitiveType::INT64: + return "INT64"; + case ROS2PrimitiveType::UINT64: + return "UINT64"; + case ROS2PrimitiveType::STRING: + return "STRING"; + case ROS2PrimitiveType::WSTRING: + return "WSTRING"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ROS2PrimitiveTypeMapper + } // namespace Model + } // namespace IoTFleetWise +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-iotfleetwise/source/model/Sensor.cpp b/generated/src/aws-cpp-sdk-iotfleetwise/source/model/Sensor.cpp index bba17639931..c5dfc826337 100644 --- a/generated/src/aws-cpp-sdk-iotfleetwise/source/model/Sensor.cpp +++ b/generated/src/aws-cpp-sdk-iotfleetwise/source/model/Sensor.cpp @@ -30,7 +30,8 @@ Sensor::Sensor() : m_max(0.0), m_maxHasBeenSet(false), m_deprecationMessageHasBeenSet(false), - m_commentHasBeenSet(false) + m_commentHasBeenSet(false), + m_structFullyQualifiedNameHasBeenSet(false) { } @@ -46,7 +47,8 @@ Sensor::Sensor(JsonView jsonValue) : m_max(0.0), m_maxHasBeenSet(false), m_deprecationMessageHasBeenSet(false), - m_commentHasBeenSet(false) + m_commentHasBeenSet(false), + m_structFullyQualifiedNameHasBeenSet(false) { *this = jsonValue; } @@ -119,6 +121,13 @@ Sensor& Sensor::operator =(JsonView jsonValue) m_commentHasBeenSet = true; } + if(jsonValue.ValueExists("structFullyQualifiedName")) + { + m_structFullyQualifiedName = jsonValue.GetString("structFullyQualifiedName"); + + m_structFullyQualifiedNameHasBeenSet = true; + } + return *this; } @@ -184,6 +193,12 @@ JsonValue Sensor::Jsonize() const } + if(m_structFullyQualifiedNameHasBeenSet) + { + payload.WithString("structFullyQualifiedName", m_structFullyQualifiedName); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-iotfleetwise/source/model/SignalDecoder.cpp b/generated/src/aws-cpp-sdk-iotfleetwise/source/model/SignalDecoder.cpp index bd704c78cb2..354ad311917 100644 --- a/generated/src/aws-cpp-sdk-iotfleetwise/source/model/SignalDecoder.cpp +++ b/generated/src/aws-cpp-sdk-iotfleetwise/source/model/SignalDecoder.cpp @@ -24,7 +24,8 @@ SignalDecoder::SignalDecoder() : m_typeHasBeenSet(false), m_interfaceIdHasBeenSet(false), m_canSignalHasBeenSet(false), - m_obdSignalHasBeenSet(false) + m_obdSignalHasBeenSet(false), + m_messageSignalHasBeenSet(false) { } @@ -34,7 +35,8 @@ SignalDecoder::SignalDecoder(JsonView jsonValue) : m_typeHasBeenSet(false), m_interfaceIdHasBeenSet(false), m_canSignalHasBeenSet(false), - m_obdSignalHasBeenSet(false) + m_obdSignalHasBeenSet(false), + m_messageSignalHasBeenSet(false) { *this = jsonValue; } @@ -76,6 +78,13 @@ SignalDecoder& SignalDecoder::operator =(JsonView jsonValue) m_obdSignalHasBeenSet = true; } + if(jsonValue.ValueExists("messageSignal")) + { + m_messageSignal = jsonValue.GetObject("messageSignal"); + + m_messageSignalHasBeenSet = true; + } + return *this; } @@ -112,6 +121,12 @@ JsonValue SignalDecoder::Jsonize() const } + if(m_messageSignalHasBeenSet) + { + payload.WithObject("messageSignal", m_messageSignal.Jsonize()); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-iotfleetwise/source/model/SignalDecoderFailureReason.cpp b/generated/src/aws-cpp-sdk-iotfleetwise/source/model/SignalDecoderFailureReason.cpp index e6ec8292860..1f0ee527083 100644 --- a/generated/src/aws-cpp-sdk-iotfleetwise/source/model/SignalDecoderFailureReason.cpp +++ b/generated/src/aws-cpp-sdk-iotfleetwise/source/model/SignalDecoderFailureReason.cpp @@ -29,6 +29,13 @@ namespace Aws static const int CAN_SIGNAL_INFO_IS_NULL_HASH = HashingUtils::HashString("CAN_SIGNAL_INFO_IS_NULL"); static const int OBD_SIGNAL_INFO_IS_NULL_HASH = HashingUtils::HashString("OBD_SIGNAL_INFO_IS_NULL"); static const int NO_DECODER_INFO_FOR_SIGNAL_IN_MODEL_HASH = HashingUtils::HashString("NO_DECODER_INFO_FOR_SIGNAL_IN_MODEL"); + static const int MESSAGE_SIGNAL_INFO_IS_NULL_HASH = HashingUtils::HashString("MESSAGE_SIGNAL_INFO_IS_NULL"); + static const int SIGNAL_DECODER_TYPE_INCOMPATIBLE_WITH_MESSAGE_SIGNAL_TYPE_HASH = HashingUtils::HashString("SIGNAL_DECODER_TYPE_INCOMPATIBLE_WITH_MESSAGE_SIGNAL_TYPE"); + static const int STRUCT_SIZE_MISMATCH_HASH = HashingUtils::HashString("STRUCT_SIZE_MISMATCH"); + static const int NO_SIGNAL_IN_CATALOG_FOR_DECODER_SIGNAL_HASH = HashingUtils::HashString("NO_SIGNAL_IN_CATALOG_FOR_DECODER_SIGNAL"); + static const int SIGNAL_DECODER_INCOMPATIBLE_WITH_SIGNAL_CATALOG_HASH = HashingUtils::HashString("SIGNAL_DECODER_INCOMPATIBLE_WITH_SIGNAL_CATALOG"); + static const int EMPTY_MESSAGE_SIGNAL_HASH = HashingUtils::HashString("EMPTY_MESSAGE_SIGNAL"); + static const int CUSTOMER_DECODED_SIGNAL_INFO_IS_NULL_HASH = HashingUtils::HashString("CUSTOMER_DECODED_SIGNAL_INFO_IS_NULL"); SignalDecoderFailureReason GetSignalDecoderFailureReasonForName(const Aws::String& name) @@ -70,6 +77,34 @@ namespace Aws { return SignalDecoderFailureReason::NO_DECODER_INFO_FOR_SIGNAL_IN_MODEL; } + else if (hashCode == MESSAGE_SIGNAL_INFO_IS_NULL_HASH) + { + return SignalDecoderFailureReason::MESSAGE_SIGNAL_INFO_IS_NULL; + } + else if (hashCode == SIGNAL_DECODER_TYPE_INCOMPATIBLE_WITH_MESSAGE_SIGNAL_TYPE_HASH) + { + return SignalDecoderFailureReason::SIGNAL_DECODER_TYPE_INCOMPATIBLE_WITH_MESSAGE_SIGNAL_TYPE; + } + else if (hashCode == STRUCT_SIZE_MISMATCH_HASH) + { + return SignalDecoderFailureReason::STRUCT_SIZE_MISMATCH; + } + else if (hashCode == NO_SIGNAL_IN_CATALOG_FOR_DECODER_SIGNAL_HASH) + { + return SignalDecoderFailureReason::NO_SIGNAL_IN_CATALOG_FOR_DECODER_SIGNAL; + } + else if (hashCode == SIGNAL_DECODER_INCOMPATIBLE_WITH_SIGNAL_CATALOG_HASH) + { + return SignalDecoderFailureReason::SIGNAL_DECODER_INCOMPATIBLE_WITH_SIGNAL_CATALOG; + } + else if (hashCode == EMPTY_MESSAGE_SIGNAL_HASH) + { + return SignalDecoderFailureReason::EMPTY_MESSAGE_SIGNAL; + } + else if (hashCode == CUSTOMER_DECODED_SIGNAL_INFO_IS_NULL_HASH) + { + return SignalDecoderFailureReason::CUSTOMER_DECODED_SIGNAL_INFO_IS_NULL; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -104,6 +139,20 @@ namespace Aws return "OBD_SIGNAL_INFO_IS_NULL"; case SignalDecoderFailureReason::NO_DECODER_INFO_FOR_SIGNAL_IN_MODEL: return "NO_DECODER_INFO_FOR_SIGNAL_IN_MODEL"; + case SignalDecoderFailureReason::MESSAGE_SIGNAL_INFO_IS_NULL: + return "MESSAGE_SIGNAL_INFO_IS_NULL"; + case SignalDecoderFailureReason::SIGNAL_DECODER_TYPE_INCOMPATIBLE_WITH_MESSAGE_SIGNAL_TYPE: + return "SIGNAL_DECODER_TYPE_INCOMPATIBLE_WITH_MESSAGE_SIGNAL_TYPE"; + case SignalDecoderFailureReason::STRUCT_SIZE_MISMATCH: + return "STRUCT_SIZE_MISMATCH"; + case SignalDecoderFailureReason::NO_SIGNAL_IN_CATALOG_FOR_DECODER_SIGNAL: + return "NO_SIGNAL_IN_CATALOG_FOR_DECODER_SIGNAL"; + case SignalDecoderFailureReason::SIGNAL_DECODER_INCOMPATIBLE_WITH_SIGNAL_CATALOG: + return "SIGNAL_DECODER_INCOMPATIBLE_WITH_SIGNAL_CATALOG"; + case SignalDecoderFailureReason::EMPTY_MESSAGE_SIGNAL: + return "EMPTY_MESSAGE_SIGNAL"; + case SignalDecoderFailureReason::CUSTOMER_DECODED_SIGNAL_INFO_IS_NULL: + return "CUSTOMER_DECODED_SIGNAL_INFO_IS_NULL"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-iotfleetwise/source/model/SignalDecoderType.cpp b/generated/src/aws-cpp-sdk-iotfleetwise/source/model/SignalDecoderType.cpp index d4d42576bba..dfce1d331e9 100644 --- a/generated/src/aws-cpp-sdk-iotfleetwise/source/model/SignalDecoderType.cpp +++ b/generated/src/aws-cpp-sdk-iotfleetwise/source/model/SignalDecoderType.cpp @@ -22,6 +22,8 @@ namespace Aws static const int CAN_SIGNAL_HASH = HashingUtils::HashString("CAN_SIGNAL"); static const int OBD_SIGNAL_HASH = HashingUtils::HashString("OBD_SIGNAL"); + static const int MESSAGE_SIGNAL_HASH = HashingUtils::HashString("MESSAGE_SIGNAL"); + static const int CUSTOMER_DECODED_SIGNAL_HASH = HashingUtils::HashString("CUSTOMER_DECODED_SIGNAL"); SignalDecoderType GetSignalDecoderTypeForName(const Aws::String& name) @@ -35,6 +37,14 @@ namespace Aws { return SignalDecoderType::OBD_SIGNAL; } + else if (hashCode == MESSAGE_SIGNAL_HASH) + { + return SignalDecoderType::MESSAGE_SIGNAL; + } + else if (hashCode == CUSTOMER_DECODED_SIGNAL_HASH) + { + return SignalDecoderType::CUSTOMER_DECODED_SIGNAL; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -55,6 +65,10 @@ namespace Aws return "CAN_SIGNAL"; case SignalDecoderType::OBD_SIGNAL: return "OBD_SIGNAL"; + case SignalDecoderType::MESSAGE_SIGNAL: + return "MESSAGE_SIGNAL"; + case SignalDecoderType::CUSTOMER_DECODED_SIGNAL: + return "CUSTOMER_DECODED_SIGNAL"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-iotfleetwise/source/model/StructuredMessage.cpp b/generated/src/aws-cpp-sdk-iotfleetwise/source/model/StructuredMessage.cpp new file mode 100644 index 00000000000..39cfa32f14f --- /dev/null +++ b/generated/src/aws-cpp-sdk-iotfleetwise/source/model/StructuredMessage.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::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace IoTFleetWise +{ +namespace Model +{ + +StructuredMessage::StructuredMessage() : + m_primitiveMessageDefinitionHasBeenSet(false), + m_structuredMessageListDefinitionHasBeenSet(false), + m_structuredMessageDefinitionHasBeenSet(false) +{ +} + +StructuredMessage::StructuredMessage(JsonView jsonValue) : + m_primitiveMessageDefinitionHasBeenSet(false), + m_structuredMessageListDefinitionHasBeenSet(false), + m_structuredMessageDefinitionHasBeenSet(false) +{ + *this = jsonValue; +} + +const StructuredMessageListDefinition& StructuredMessage::GetStructuredMessageListDefinition() const{ return *m_structuredMessageListDefinition; } +bool StructuredMessage::StructuredMessageListDefinitionHasBeenSet() const { return m_structuredMessageListDefinitionHasBeenSet; } +void StructuredMessage::SetStructuredMessageListDefinition(const StructuredMessageListDefinition& value) { m_structuredMessageListDefinitionHasBeenSet = true; m_structuredMessageListDefinition = Aws::MakeShared("StructuredMessage", value); } +void StructuredMessage::SetStructuredMessageListDefinition(StructuredMessageListDefinition&& value) { m_structuredMessageListDefinitionHasBeenSet = true; m_structuredMessageListDefinition = Aws::MakeShared("StructuredMessage", std::move(value)); } +StructuredMessage& StructuredMessage::WithStructuredMessageListDefinition(const StructuredMessageListDefinition& value) { SetStructuredMessageListDefinition(value); return *this;} +StructuredMessage& StructuredMessage::WithStructuredMessageListDefinition(StructuredMessageListDefinition&& value) { SetStructuredMessageListDefinition(std::move(value)); return *this;} + +StructuredMessage& StructuredMessage::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("primitiveMessageDefinition")) + { + m_primitiveMessageDefinition = jsonValue.GetObject("primitiveMessageDefinition"); + + m_primitiveMessageDefinitionHasBeenSet = true; + } + + if(jsonValue.ValueExists("structuredMessageListDefinition")) + { + m_structuredMessageListDefinition = Aws::MakeShared("StructuredMessage", jsonValue.GetObject("structuredMessageListDefinition")); + + m_structuredMessageListDefinitionHasBeenSet = true; + } + + if(jsonValue.ValueExists("structuredMessageDefinition")) + { + Aws::Utils::Array structuredMessageDefinitionJsonList = jsonValue.GetArray("structuredMessageDefinition"); + for(unsigned structuredMessageDefinitionIndex = 0; structuredMessageDefinitionIndex < structuredMessageDefinitionJsonList.GetLength(); ++structuredMessageDefinitionIndex) + { + m_structuredMessageDefinition.push_back(structuredMessageDefinitionJsonList[structuredMessageDefinitionIndex].AsObject()); + } + m_structuredMessageDefinitionHasBeenSet = true; + } + + return *this; +} + +JsonValue StructuredMessage::Jsonize() const +{ + JsonValue payload; + + if(m_primitiveMessageDefinitionHasBeenSet) + { + payload.WithObject("primitiveMessageDefinition", m_primitiveMessageDefinition.Jsonize()); + + } + + if(m_structuredMessageListDefinitionHasBeenSet) + { + payload.WithObject("structuredMessageListDefinition", m_structuredMessageListDefinition->Jsonize()); + + } + + if(m_structuredMessageDefinitionHasBeenSet) + { + Aws::Utils::Array structuredMessageDefinitionJsonList(m_structuredMessageDefinition.size()); + for(unsigned structuredMessageDefinitionIndex = 0; structuredMessageDefinitionIndex < structuredMessageDefinitionJsonList.GetLength(); ++structuredMessageDefinitionIndex) + { + structuredMessageDefinitionJsonList[structuredMessageDefinitionIndex].AsObject(m_structuredMessageDefinition[structuredMessageDefinitionIndex].Jsonize()); + } + payload.WithArray("structuredMessageDefinition", std::move(structuredMessageDefinitionJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace IoTFleetWise +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-iotfleetwise/source/model/StructuredMessageFieldNameAndDataTypePair.cpp b/generated/src/aws-cpp-sdk-iotfleetwise/source/model/StructuredMessageFieldNameAndDataTypePair.cpp new file mode 100644 index 00000000000..19222b541ee --- /dev/null +++ b/generated/src/aws-cpp-sdk-iotfleetwise/source/model/StructuredMessageFieldNameAndDataTypePair.cpp @@ -0,0 +1,82 @@ +/** + * 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 IoTFleetWise +{ +namespace Model +{ + +StructuredMessageFieldNameAndDataTypePair::StructuredMessageFieldNameAndDataTypePair() : + m_fieldNameHasBeenSet(false), + m_dataTypeHasBeenSet(false) +{ +} + +StructuredMessageFieldNameAndDataTypePair::StructuredMessageFieldNameAndDataTypePair(JsonView jsonValue) : + m_fieldNameHasBeenSet(false), + m_dataTypeHasBeenSet(false) +{ + *this = jsonValue; +} + +const StructuredMessage& StructuredMessageFieldNameAndDataTypePair::GetDataType() const{ return *m_dataType; } +bool StructuredMessageFieldNameAndDataTypePair::DataTypeHasBeenSet() const { return m_dataTypeHasBeenSet; } +void StructuredMessageFieldNameAndDataTypePair::SetDataType(const StructuredMessage& value) { m_dataTypeHasBeenSet = true; m_dataType = Aws::MakeShared("StructuredMessageFieldNameAndDataTypePair", value); } +void StructuredMessageFieldNameAndDataTypePair::SetDataType(StructuredMessage&& value) { m_dataTypeHasBeenSet = true; m_dataType = Aws::MakeShared("StructuredMessageFieldNameAndDataTypePair", std::move(value)); } +StructuredMessageFieldNameAndDataTypePair& StructuredMessageFieldNameAndDataTypePair::WithDataType(const StructuredMessage& value) { SetDataType(value); return *this;} +StructuredMessageFieldNameAndDataTypePair& StructuredMessageFieldNameAndDataTypePair::WithDataType(StructuredMessage&& value) { SetDataType(std::move(value)); return *this;} + +StructuredMessageFieldNameAndDataTypePair& StructuredMessageFieldNameAndDataTypePair::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("fieldName")) + { + m_fieldName = jsonValue.GetString("fieldName"); + + m_fieldNameHasBeenSet = true; + } + + if(jsonValue.ValueExists("dataType")) + { + m_dataType = Aws::MakeShared("StructuredMessageFieldNameAndDataTypePair", jsonValue.GetObject("dataType")); + + m_dataTypeHasBeenSet = true; + } + + return *this; +} + +JsonValue StructuredMessageFieldNameAndDataTypePair::Jsonize() const +{ + JsonValue payload; + + if(m_fieldNameHasBeenSet) + { + payload.WithString("fieldName", m_fieldName); + + } + + if(m_dataTypeHasBeenSet) + { + payload.WithObject("dataType", m_dataType->Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace IoTFleetWise +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-iotfleetwise/source/model/StructuredMessageListDefinition.cpp b/generated/src/aws-cpp-sdk-iotfleetwise/source/model/StructuredMessageListDefinition.cpp new file mode 100644 index 00000000000..961bfc3d10b --- /dev/null +++ b/generated/src/aws-cpp-sdk-iotfleetwise/source/model/StructuredMessageListDefinition.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 + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace IoTFleetWise +{ +namespace Model +{ + +StructuredMessageListDefinition::StructuredMessageListDefinition() : + m_nameHasBeenSet(false), + m_memberTypeHasBeenSet(false), + m_listType(StructuredMessageListType::NOT_SET), + m_listTypeHasBeenSet(false), + m_capacity(0), + m_capacityHasBeenSet(false) +{ +} + +StructuredMessageListDefinition::StructuredMessageListDefinition(JsonView jsonValue) : + m_nameHasBeenSet(false), + m_memberTypeHasBeenSet(false), + m_listType(StructuredMessageListType::NOT_SET), + m_listTypeHasBeenSet(false), + m_capacity(0), + m_capacityHasBeenSet(false) +{ + *this = jsonValue; +} + +const StructuredMessage& StructuredMessageListDefinition::GetMemberType() const{ return *m_memberType; } +bool StructuredMessageListDefinition::MemberTypeHasBeenSet() const { return m_memberTypeHasBeenSet; } +void StructuredMessageListDefinition::SetMemberType(const StructuredMessage& value) { m_memberTypeHasBeenSet = true; m_memberType = Aws::MakeShared("StructuredMessageListDefinition", value); } +void StructuredMessageListDefinition::SetMemberType(StructuredMessage&& value) { m_memberTypeHasBeenSet = true; m_memberType = Aws::MakeShared("StructuredMessageListDefinition", std::move(value)); } +StructuredMessageListDefinition& StructuredMessageListDefinition::WithMemberType(const StructuredMessage& value) { SetMemberType(value); return *this;} +StructuredMessageListDefinition& StructuredMessageListDefinition::WithMemberType(StructuredMessage&& value) { SetMemberType(std::move(value)); return *this;} + +StructuredMessageListDefinition& StructuredMessageListDefinition::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("name")) + { + m_name = jsonValue.GetString("name"); + + m_nameHasBeenSet = true; + } + + if(jsonValue.ValueExists("memberType")) + { + m_memberType = Aws::MakeShared("StructuredMessageListDefinition", jsonValue.GetObject("memberType")); + + m_memberTypeHasBeenSet = true; + } + + if(jsonValue.ValueExists("listType")) + { + m_listType = StructuredMessageListTypeMapper::GetStructuredMessageListTypeForName(jsonValue.GetString("listType")); + + m_listTypeHasBeenSet = true; + } + + if(jsonValue.ValueExists("capacity")) + { + m_capacity = jsonValue.GetInteger("capacity"); + + m_capacityHasBeenSet = true; + } + + return *this; +} + +JsonValue StructuredMessageListDefinition::Jsonize() const +{ + JsonValue payload; + + if(m_nameHasBeenSet) + { + payload.WithString("name", m_name); + + } + + if(m_memberTypeHasBeenSet) + { + payload.WithObject("memberType", m_memberType->Jsonize()); + + } + + if(m_listTypeHasBeenSet) + { + payload.WithString("listType", StructuredMessageListTypeMapper::GetNameForStructuredMessageListType(m_listType)); + } + + if(m_capacityHasBeenSet) + { + payload.WithInteger("capacity", m_capacity); + + } + + return payload; +} + +} // namespace Model +} // namespace IoTFleetWise +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-iotfleetwise/source/model/StructuredMessageListType.cpp b/generated/src/aws-cpp-sdk-iotfleetwise/source/model/StructuredMessageListType.cpp new file mode 100644 index 00000000000..5a15da3e8c3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-iotfleetwise/source/model/StructuredMessageListType.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 IoTFleetWise + { + namespace Model + { + namespace StructuredMessageListTypeMapper + { + + static const int FIXED_CAPACITY_HASH = HashingUtils::HashString("FIXED_CAPACITY"); + static const int DYNAMIC_UNBOUNDED_CAPACITY_HASH = HashingUtils::HashString("DYNAMIC_UNBOUNDED_CAPACITY"); + static const int DYNAMIC_BOUNDED_CAPACITY_HASH = HashingUtils::HashString("DYNAMIC_BOUNDED_CAPACITY"); + + + StructuredMessageListType GetStructuredMessageListTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == FIXED_CAPACITY_HASH) + { + return StructuredMessageListType::FIXED_CAPACITY; + } + else if (hashCode == DYNAMIC_UNBOUNDED_CAPACITY_HASH) + { + return StructuredMessageListType::DYNAMIC_UNBOUNDED_CAPACITY; + } + else if (hashCode == DYNAMIC_BOUNDED_CAPACITY_HASH) + { + return StructuredMessageListType::DYNAMIC_BOUNDED_CAPACITY; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return StructuredMessageListType::NOT_SET; + } + + Aws::String GetNameForStructuredMessageListType(StructuredMessageListType enumValue) + { + switch(enumValue) + { + case StructuredMessageListType::NOT_SET: + return {}; + case StructuredMessageListType::FIXED_CAPACITY: + return "FIXED_CAPACITY"; + case StructuredMessageListType::DYNAMIC_UNBOUNDED_CAPACITY: + return "DYNAMIC_UNBOUNDED_CAPACITY"; + case StructuredMessageListType::DYNAMIC_BOUNDED_CAPACITY: + return "DYNAMIC_BOUNDED_CAPACITY"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace StructuredMessageListTypeMapper + } // namespace Model + } // namespace IoTFleetWise +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-iotfleetwise/source/model/VehicleMiddleware.cpp b/generated/src/aws-cpp-sdk-iotfleetwise/source/model/VehicleMiddleware.cpp new file mode 100644 index 00000000000..ce11eb3a20b --- /dev/null +++ b/generated/src/aws-cpp-sdk-iotfleetwise/source/model/VehicleMiddleware.cpp @@ -0,0 +1,75 @@ +/** + * 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 IoTFleetWise +{ +namespace Model +{ + +VehicleMiddleware::VehicleMiddleware() : + m_nameHasBeenSet(false), + m_protocolName(VehicleMiddlewareProtocol::NOT_SET), + m_protocolNameHasBeenSet(false) +{ +} + +VehicleMiddleware::VehicleMiddleware(JsonView jsonValue) : + m_nameHasBeenSet(false), + m_protocolName(VehicleMiddlewareProtocol::NOT_SET), + m_protocolNameHasBeenSet(false) +{ + *this = jsonValue; +} + +VehicleMiddleware& VehicleMiddleware::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("name")) + { + m_name = jsonValue.GetString("name"); + + m_nameHasBeenSet = true; + } + + if(jsonValue.ValueExists("protocolName")) + { + m_protocolName = VehicleMiddlewareProtocolMapper::GetVehicleMiddlewareProtocolForName(jsonValue.GetString("protocolName")); + + m_protocolNameHasBeenSet = true; + } + + return *this; +} + +JsonValue VehicleMiddleware::Jsonize() const +{ + JsonValue payload; + + if(m_nameHasBeenSet) + { + payload.WithString("name", m_name); + + } + + if(m_protocolNameHasBeenSet) + { + payload.WithString("protocolName", VehicleMiddlewareProtocolMapper::GetNameForVehicleMiddlewareProtocol(m_protocolName)); + } + + return payload; +} + +} // namespace Model +} // namespace IoTFleetWise +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-iotfleetwise/source/model/VehicleMiddlewareProtocol.cpp b/generated/src/aws-cpp-sdk-iotfleetwise/source/model/VehicleMiddlewareProtocol.cpp new file mode 100644 index 00000000000..1400da2274b --- /dev/null +++ b/generated/src/aws-cpp-sdk-iotfleetwise/source/model/VehicleMiddlewareProtocol.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 IoTFleetWise + { + namespace Model + { + namespace VehicleMiddlewareProtocolMapper + { + + static const int ROS_2_HASH = HashingUtils::HashString("ROS_2"); + + + VehicleMiddlewareProtocol GetVehicleMiddlewareProtocolForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == ROS_2_HASH) + { + return VehicleMiddlewareProtocol::ROS_2; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return VehicleMiddlewareProtocol::NOT_SET; + } + + Aws::String GetNameForVehicleMiddlewareProtocol(VehicleMiddlewareProtocol enumValue) + { + switch(enumValue) + { + case VehicleMiddlewareProtocol::NOT_SET: + return {}; + case VehicleMiddlewareProtocol::ROS_2: + return "ROS_2"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace VehicleMiddlewareProtocolMapper + } // namespace Model + } // namespace IoTFleetWise +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lakeformation/include/aws/lakeformation/LakeFormationClient.h b/generated/src/aws-cpp-sdk-lakeformation/include/aws/lakeformation/LakeFormationClient.h index 9523fa079b9..e652b49af98 100644 --- a/generated/src/aws-cpp-sdk-lakeformation/include/aws/lakeformation/LakeFormationClient.h +++ b/generated/src/aws-cpp-sdk-lakeformation/include/aws/lakeformation/LakeFormationClient.h @@ -298,6 +298,33 @@ namespace LakeFormation return SubmitAsync(&LakeFormationClient::CreateLFTag, request, handler, context); } + /** + *

            Creates an IAM Identity Center connection with Lake Formation to allow IAM + * Identity Center users and groups to access Data Catalog resources.

            See + * Also:

            AWS + * API Reference

            + */ + virtual Model::CreateLakeFormationIdentityCenterConfigurationOutcome CreateLakeFormationIdentityCenterConfiguration(const Model::CreateLakeFormationIdentityCenterConfigurationRequest& request) const; + + /** + * A Callable wrapper for CreateLakeFormationIdentityCenterConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::CreateLakeFormationIdentityCenterConfigurationOutcomeCallable CreateLakeFormationIdentityCenterConfigurationCallable(const CreateLakeFormationIdentityCenterConfigurationRequestT& request) const + { + return SubmitCallable(&LakeFormationClient::CreateLakeFormationIdentityCenterConfiguration, request); + } + + /** + * An Async wrapper for CreateLakeFormationIdentityCenterConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void CreateLakeFormationIdentityCenterConfigurationAsync(const CreateLakeFormationIdentityCenterConfigurationRequestT& request, const CreateLakeFormationIdentityCenterConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&LakeFormationClient::CreateLakeFormationIdentityCenterConfiguration, request, handler, context); + } + /** *

            Enforce Lake Formation permissions for the given databases, tables, and * principals.

            See Also:

            Deletes an IAM Identity Center connection with Lake Formation.

            See + * Also:

            AWS + * API Reference

            + */ + virtual Model::DeleteLakeFormationIdentityCenterConfigurationOutcome DeleteLakeFormationIdentityCenterConfiguration(const Model::DeleteLakeFormationIdentityCenterConfigurationRequest& request) const; + + /** + * A Callable wrapper for DeleteLakeFormationIdentityCenterConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DeleteLakeFormationIdentityCenterConfigurationOutcomeCallable DeleteLakeFormationIdentityCenterConfigurationCallable(const DeleteLakeFormationIdentityCenterConfigurationRequestT& request) const + { + return SubmitCallable(&LakeFormationClient::DeleteLakeFormationIdentityCenterConfiguration, request); + } + + /** + * An Async wrapper for DeleteLakeFormationIdentityCenterConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DeleteLakeFormationIdentityCenterConfigurationAsync(const DeleteLakeFormationIdentityCenterConfigurationRequestT& request, const DeleteLakeFormationIdentityCenterConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&LakeFormationClient::DeleteLakeFormationIdentityCenterConfiguration, request, handler, context); + } + /** *

            Remove the Lake Formation permissions enforcement of the given databases, * tables, and principals.

            See Also:

            Retrieves the instance ARN and application ARN for the + * connection.

            See Also:

            AWS + * API Reference

            + */ + virtual Model::DescribeLakeFormationIdentityCenterConfigurationOutcome DescribeLakeFormationIdentityCenterConfiguration(const Model::DescribeLakeFormationIdentityCenterConfigurationRequest& request) const; + + /** + * A Callable wrapper for DescribeLakeFormationIdentityCenterConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DescribeLakeFormationIdentityCenterConfigurationOutcomeCallable DescribeLakeFormationIdentityCenterConfigurationCallable(const DescribeLakeFormationIdentityCenterConfigurationRequestT& request) const + { + return SubmitCallable(&LakeFormationClient::DescribeLakeFormationIdentityCenterConfiguration, request); + } + + /** + * An Async wrapper for DescribeLakeFormationIdentityCenterConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DescribeLakeFormationIdentityCenterConfigurationAsync(const DescribeLakeFormationIdentityCenterConfigurationRequestT& request, const DescribeLakeFormationIdentityCenterConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&LakeFormationClient::DescribeLakeFormationIdentityCenterConfiguration, request, handler, context); + } + /** *

            Retrieves the current data access role for the given resource registered in * Lake Formation.

            See Also:

            Updates the IAM Identity Center connection parameters.

            See + * Also:

            AWS + * API Reference

            + */ + virtual Model::UpdateLakeFormationIdentityCenterConfigurationOutcome UpdateLakeFormationIdentityCenterConfiguration(const Model::UpdateLakeFormationIdentityCenterConfigurationRequest& request) const; + + /** + * A Callable wrapper for UpdateLakeFormationIdentityCenterConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::UpdateLakeFormationIdentityCenterConfigurationOutcomeCallable UpdateLakeFormationIdentityCenterConfigurationCallable(const UpdateLakeFormationIdentityCenterConfigurationRequestT& request) const + { + return SubmitCallable(&LakeFormationClient::UpdateLakeFormationIdentityCenterConfiguration, request); + } + + /** + * An Async wrapper for UpdateLakeFormationIdentityCenterConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void UpdateLakeFormationIdentityCenterConfigurationAsync(const UpdateLakeFormationIdentityCenterConfigurationRequestT& request, const UpdateLakeFormationIdentityCenterConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&LakeFormationClient::UpdateLakeFormationIdentityCenterConfiguration, request, handler, context); + } + /** *

            Updates the data access role used for vending access to the given * (registered) resource in Lake Formation.

            See Also:

            #include #include +#include #include #include #include +#include #include #include #include +#include #include #include #include @@ -65,6 +68,7 @@ #include #include #include +#include #include #include #include @@ -116,12 +120,15 @@ namespace Aws class CommitTransactionRequest; class CreateDataCellsFilterRequest; class CreateLFTagRequest; + class CreateLakeFormationIdentityCenterConfigurationRequest; class CreateLakeFormationOptInRequest; class DeleteDataCellsFilterRequest; class DeleteLFTagRequest; + class DeleteLakeFormationIdentityCenterConfigurationRequest; class DeleteLakeFormationOptInRequest; class DeleteObjectsOnCancelRequest; class DeregisterResourceRequest; + class DescribeLakeFormationIdentityCenterConfigurationRequest; class DescribeResourceRequest; class DescribeTransactionRequest; class ExtendTransactionRequest; @@ -155,6 +162,7 @@ namespace Aws class StartTransactionRequest; class UpdateDataCellsFilterRequest; class UpdateLFTagRequest; + class UpdateLakeFormationIdentityCenterConfigurationRequest; class UpdateResourceRequest; class UpdateTableObjectsRequest; class UpdateTableStorageOptimizerRequest; @@ -169,12 +177,15 @@ namespace Aws typedef Aws::Utils::Outcome CommitTransactionOutcome; typedef Aws::Utils::Outcome CreateDataCellsFilterOutcome; typedef Aws::Utils::Outcome CreateLFTagOutcome; + typedef Aws::Utils::Outcome CreateLakeFormationIdentityCenterConfigurationOutcome; typedef Aws::Utils::Outcome CreateLakeFormationOptInOutcome; typedef Aws::Utils::Outcome DeleteDataCellsFilterOutcome; typedef Aws::Utils::Outcome DeleteLFTagOutcome; + typedef Aws::Utils::Outcome DeleteLakeFormationIdentityCenterConfigurationOutcome; typedef Aws::Utils::Outcome DeleteLakeFormationOptInOutcome; typedef Aws::Utils::Outcome DeleteObjectsOnCancelOutcome; typedef Aws::Utils::Outcome DeregisterResourceOutcome; + typedef Aws::Utils::Outcome DescribeLakeFormationIdentityCenterConfigurationOutcome; typedef Aws::Utils::Outcome DescribeResourceOutcome; typedef Aws::Utils::Outcome DescribeTransactionOutcome; typedef Aws::Utils::Outcome ExtendTransactionOutcome; @@ -208,6 +219,7 @@ namespace Aws typedef Aws::Utils::Outcome StartTransactionOutcome; typedef Aws::Utils::Outcome UpdateDataCellsFilterOutcome; typedef Aws::Utils::Outcome UpdateLFTagOutcome; + typedef Aws::Utils::Outcome UpdateLakeFormationIdentityCenterConfigurationOutcome; typedef Aws::Utils::Outcome UpdateResourceOutcome; typedef Aws::Utils::Outcome UpdateTableObjectsOutcome; typedef Aws::Utils::Outcome UpdateTableStorageOptimizerOutcome; @@ -222,12 +234,15 @@ namespace Aws typedef std::future CommitTransactionOutcomeCallable; typedef std::future CreateDataCellsFilterOutcomeCallable; typedef std::future CreateLFTagOutcomeCallable; + typedef std::future CreateLakeFormationIdentityCenterConfigurationOutcomeCallable; typedef std::future CreateLakeFormationOptInOutcomeCallable; typedef std::future DeleteDataCellsFilterOutcomeCallable; typedef std::future DeleteLFTagOutcomeCallable; + typedef std::future DeleteLakeFormationIdentityCenterConfigurationOutcomeCallable; typedef std::future DeleteLakeFormationOptInOutcomeCallable; typedef std::future DeleteObjectsOnCancelOutcomeCallable; typedef std::future DeregisterResourceOutcomeCallable; + typedef std::future DescribeLakeFormationIdentityCenterConfigurationOutcomeCallable; typedef std::future DescribeResourceOutcomeCallable; typedef std::future DescribeTransactionOutcomeCallable; typedef std::future ExtendTransactionOutcomeCallable; @@ -261,6 +276,7 @@ namespace Aws typedef std::future StartTransactionOutcomeCallable; typedef std::future UpdateDataCellsFilterOutcomeCallable; typedef std::future UpdateLFTagOutcomeCallable; + typedef std::future UpdateLakeFormationIdentityCenterConfigurationOutcomeCallable; typedef std::future UpdateResourceOutcomeCallable; typedef std::future UpdateTableObjectsOutcomeCallable; typedef std::future UpdateTableStorageOptimizerOutcomeCallable; @@ -278,12 +294,15 @@ namespace Aws typedef std::function&) > CommitTransactionResponseReceivedHandler; typedef std::function&) > CreateDataCellsFilterResponseReceivedHandler; typedef std::function&) > CreateLFTagResponseReceivedHandler; + typedef std::function&) > CreateLakeFormationIdentityCenterConfigurationResponseReceivedHandler; typedef std::function&) > CreateLakeFormationOptInResponseReceivedHandler; typedef std::function&) > DeleteDataCellsFilterResponseReceivedHandler; typedef std::function&) > DeleteLFTagResponseReceivedHandler; + typedef std::function&) > DeleteLakeFormationIdentityCenterConfigurationResponseReceivedHandler; typedef std::function&) > DeleteLakeFormationOptInResponseReceivedHandler; typedef std::function&) > DeleteObjectsOnCancelResponseReceivedHandler; typedef std::function&) > DeregisterResourceResponseReceivedHandler; + typedef std::function&) > DescribeLakeFormationIdentityCenterConfigurationResponseReceivedHandler; typedef std::function&) > DescribeResourceResponseReceivedHandler; typedef std::function&) > DescribeTransactionResponseReceivedHandler; typedef std::function&) > ExtendTransactionResponseReceivedHandler; @@ -317,6 +336,7 @@ namespace Aws typedef std::function&) > StartTransactionResponseReceivedHandler; typedef std::function&) > UpdateDataCellsFilterResponseReceivedHandler; typedef std::function&) > UpdateLFTagResponseReceivedHandler; + typedef std::function&) > UpdateLakeFormationIdentityCenterConfigurationResponseReceivedHandler; typedef std::function&) > UpdateResourceResponseReceivedHandler; typedef std::function&) > UpdateTableObjectsResponseReceivedHandler; typedef std::function&) > UpdateTableStorageOptimizerResponseReceivedHandler; diff --git a/generated/src/aws-cpp-sdk-lakeformation/include/aws/lakeformation/model/ApplicationStatus.h b/generated/src/aws-cpp-sdk-lakeformation/include/aws/lakeformation/model/ApplicationStatus.h new file mode 100644 index 00000000000..af6a5fdc18b --- /dev/null +++ b/generated/src/aws-cpp-sdk-lakeformation/include/aws/lakeformation/model/ApplicationStatus.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 LakeFormation +{ +namespace Model +{ + enum class ApplicationStatus + { + NOT_SET, + ENABLED, + DISABLED + }; + +namespace ApplicationStatusMapper +{ +AWS_LAKEFORMATION_API ApplicationStatus GetApplicationStatusForName(const Aws::String& name); + +AWS_LAKEFORMATION_API Aws::String GetNameForApplicationStatus(ApplicationStatus value); +} // namespace ApplicationStatusMapper +} // namespace Model +} // namespace LakeFormation +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lakeformation/include/aws/lakeformation/model/CreateLakeFormationIdentityCenterConfigurationRequest.h b/generated/src/aws-cpp-sdk-lakeformation/include/aws/lakeformation/model/CreateLakeFormationIdentityCenterConfigurationRequest.h new file mode 100644 index 00000000000..4c7858649d7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-lakeformation/include/aws/lakeformation/model/CreateLakeFormationIdentityCenterConfigurationRequest.h @@ -0,0 +1,216 @@ +/** + * 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 LakeFormation +{ +namespace Model +{ + + /** + */ + class CreateLakeFormationIdentityCenterConfigurationRequest : public LakeFormationRequest + { + public: + AWS_LAKEFORMATION_API CreateLakeFormationIdentityCenterConfigurationRequest(); + + // 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 "CreateLakeFormationIdentityCenterConfiguration"; } + + AWS_LAKEFORMATION_API Aws::String SerializePayload() const override; + + + /** + *

            The identifier for the Data Catalog. By default, the account ID. The Data + * Catalog is the persistent metadata store. It contains database definitions, + * table definitions, view definitions, and other control information to manage + * your Lake Formation environment.

            + */ + inline const Aws::String& GetCatalogId() const{ return m_catalogId; } + + /** + *

            The identifier for the Data Catalog. By default, the account ID. The Data + * Catalog is the persistent metadata store. It contains database definitions, + * table definitions, view definitions, and other control information to manage + * your Lake Formation environment.

            + */ + inline bool CatalogIdHasBeenSet() const { return m_catalogIdHasBeenSet; } + + /** + *

            The identifier for the Data Catalog. By default, the account ID. The Data + * Catalog is the persistent metadata store. It contains database definitions, + * table definitions, view definitions, and other control information to manage + * your Lake Formation environment.

            + */ + inline void SetCatalogId(const Aws::String& value) { m_catalogIdHasBeenSet = true; m_catalogId = value; } + + /** + *

            The identifier for the Data Catalog. By default, the account ID. The Data + * Catalog is the persistent metadata store. It contains database definitions, + * table definitions, view definitions, and other control information to manage + * your Lake Formation environment.

            + */ + inline void SetCatalogId(Aws::String&& value) { m_catalogIdHasBeenSet = true; m_catalogId = std::move(value); } + + /** + *

            The identifier for the Data Catalog. By default, the account ID. The Data + * Catalog is the persistent metadata store. It contains database definitions, + * table definitions, view definitions, and other control information to manage + * your Lake Formation environment.

            + */ + inline void SetCatalogId(const char* value) { m_catalogIdHasBeenSet = true; m_catalogId.assign(value); } + + /** + *

            The identifier for the Data Catalog. By default, the account ID. The Data + * Catalog is the persistent metadata store. It contains database definitions, + * table definitions, view definitions, and other control information to manage + * your Lake Formation environment.

            + */ + inline CreateLakeFormationIdentityCenterConfigurationRequest& WithCatalogId(const Aws::String& value) { SetCatalogId(value); return *this;} + + /** + *

            The identifier for the Data Catalog. By default, the account ID. The Data + * Catalog is the persistent metadata store. It contains database definitions, + * table definitions, view definitions, and other control information to manage + * your Lake Formation environment.

            + */ + inline CreateLakeFormationIdentityCenterConfigurationRequest& WithCatalogId(Aws::String&& value) { SetCatalogId(std::move(value)); return *this;} + + /** + *

            The identifier for the Data Catalog. By default, the account ID. The Data + * Catalog is the persistent metadata store. It contains database definitions, + * table definitions, view definitions, and other control information to manage + * your Lake Formation environment.

            + */ + inline CreateLakeFormationIdentityCenterConfigurationRequest& WithCatalogId(const char* value) { SetCatalogId(value); return *this;} + + + /** + *

            The ARN of the IAM Identity Center instance for which the operation will be + * executed. For more information about ARNs, see Amazon Resource Names (ARNs) and + * Amazon Web Services Service Namespaces in the Amazon Web Services General + * Reference.

            + */ + inline const Aws::String& GetInstanceArn() const{ return m_instanceArn; } + + /** + *

            The ARN of the IAM Identity Center instance for which the operation will be + * executed. For more information about ARNs, see Amazon Resource Names (ARNs) and + * Amazon Web Services Service Namespaces in the Amazon Web Services General + * Reference.

            + */ + inline bool InstanceArnHasBeenSet() const { return m_instanceArnHasBeenSet; } + + /** + *

            The ARN of the IAM Identity Center instance for which the operation will be + * executed. For more information about ARNs, see Amazon Resource Names (ARNs) and + * Amazon Web Services Service Namespaces in the Amazon Web Services General + * Reference.

            + */ + inline void SetInstanceArn(const Aws::String& value) { m_instanceArnHasBeenSet = true; m_instanceArn = value; } + + /** + *

            The ARN of the IAM Identity Center instance for which the operation will be + * executed. For more information about ARNs, see Amazon Resource Names (ARNs) and + * Amazon Web Services Service Namespaces in the Amazon Web Services General + * Reference.

            + */ + inline void SetInstanceArn(Aws::String&& value) { m_instanceArnHasBeenSet = true; m_instanceArn = std::move(value); } + + /** + *

            The ARN of the IAM Identity Center instance for which the operation will be + * executed. For more information about ARNs, see Amazon Resource Names (ARNs) and + * Amazon Web Services Service Namespaces in the Amazon Web Services General + * Reference.

            + */ + inline void SetInstanceArn(const char* value) { m_instanceArnHasBeenSet = true; m_instanceArn.assign(value); } + + /** + *

            The ARN of the IAM Identity Center instance for which the operation will be + * executed. For more information about ARNs, see Amazon Resource Names (ARNs) and + * Amazon Web Services Service Namespaces in the Amazon Web Services General + * Reference.

            + */ + inline CreateLakeFormationIdentityCenterConfigurationRequest& WithInstanceArn(const Aws::String& value) { SetInstanceArn(value); return *this;} + + /** + *

            The ARN of the IAM Identity Center instance for which the operation will be + * executed. For more information about ARNs, see Amazon Resource Names (ARNs) and + * Amazon Web Services Service Namespaces in the Amazon Web Services General + * Reference.

            + */ + inline CreateLakeFormationIdentityCenterConfigurationRequest& WithInstanceArn(Aws::String&& value) { SetInstanceArn(std::move(value)); return *this;} + + /** + *

            The ARN of the IAM Identity Center instance for which the operation will be + * executed. For more information about ARNs, see Amazon Resource Names (ARNs) and + * Amazon Web Services Service Namespaces in the Amazon Web Services General + * Reference.

            + */ + inline CreateLakeFormationIdentityCenterConfigurationRequest& WithInstanceArn(const char* value) { SetInstanceArn(value); return *this;} + + + /** + *

            A list of the account IDs of Amazon Web Services accounts of third-party + * applications that are allowed to to access data managed by Lake Formation.

            + */ + inline const ExternalFilteringConfiguration& GetExternalFiltering() const{ return m_externalFiltering; } + + /** + *

            A list of the account IDs of Amazon Web Services accounts of third-party + * applications that are allowed to to access data managed by Lake Formation.

            + */ + inline bool ExternalFilteringHasBeenSet() const { return m_externalFilteringHasBeenSet; } + + /** + *

            A list of the account IDs of Amazon Web Services accounts of third-party + * applications that are allowed to to access data managed by Lake Formation.

            + */ + inline void SetExternalFiltering(const ExternalFilteringConfiguration& value) { m_externalFilteringHasBeenSet = true; m_externalFiltering = value; } + + /** + *

            A list of the account IDs of Amazon Web Services accounts of third-party + * applications that are allowed to to access data managed by Lake Formation.

            + */ + inline void SetExternalFiltering(ExternalFilteringConfiguration&& value) { m_externalFilteringHasBeenSet = true; m_externalFiltering = std::move(value); } + + /** + *

            A list of the account IDs of Amazon Web Services accounts of third-party + * applications that are allowed to to access data managed by Lake Formation.

            + */ + inline CreateLakeFormationIdentityCenterConfigurationRequest& WithExternalFiltering(const ExternalFilteringConfiguration& value) { SetExternalFiltering(value); return *this;} + + /** + *

            A list of the account IDs of Amazon Web Services accounts of third-party + * applications that are allowed to to access data managed by Lake Formation.

            + */ + inline CreateLakeFormationIdentityCenterConfigurationRequest& WithExternalFiltering(ExternalFilteringConfiguration&& value) { SetExternalFiltering(std::move(value)); return *this;} + + private: + + Aws::String m_catalogId; + bool m_catalogIdHasBeenSet = false; + + Aws::String m_instanceArn; + bool m_instanceArnHasBeenSet = false; + + ExternalFilteringConfiguration m_externalFiltering; + bool m_externalFilteringHasBeenSet = false; + }; + +} // namespace Model +} // namespace LakeFormation +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lakeformation/include/aws/lakeformation/model/CreateLakeFormationIdentityCenterConfigurationResult.h b/generated/src/aws-cpp-sdk-lakeformation/include/aws/lakeformation/model/CreateLakeFormationIdentityCenterConfigurationResult.h new file mode 100644 index 00000000000..7742bba498b --- /dev/null +++ b/generated/src/aws-cpp-sdk-lakeformation/include/aws/lakeformation/model/CreateLakeFormationIdentityCenterConfigurationResult.h @@ -0,0 +1,101 @@ +/** + * 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 LakeFormation +{ +namespace Model +{ + class CreateLakeFormationIdentityCenterConfigurationResult + { + public: + AWS_LAKEFORMATION_API CreateLakeFormationIdentityCenterConfigurationResult(); + AWS_LAKEFORMATION_API CreateLakeFormationIdentityCenterConfigurationResult(const Aws::AmazonWebServiceResult& result); + AWS_LAKEFORMATION_API CreateLakeFormationIdentityCenterConfigurationResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

            The Amazon Resource Name (ARN) of the integrated application.

            + */ + inline const Aws::String& GetApplicationArn() const{ return m_applicationArn; } + + /** + *

            The Amazon Resource Name (ARN) of the integrated application.

            + */ + inline void SetApplicationArn(const Aws::String& value) { m_applicationArn = value; } + + /** + *

            The Amazon Resource Name (ARN) of the integrated application.

            + */ + inline void SetApplicationArn(Aws::String&& value) { m_applicationArn = std::move(value); } + + /** + *

            The Amazon Resource Name (ARN) of the integrated application.

            + */ + inline void SetApplicationArn(const char* value) { m_applicationArn.assign(value); } + + /** + *

            The Amazon Resource Name (ARN) of the integrated application.

            + */ + inline CreateLakeFormationIdentityCenterConfigurationResult& WithApplicationArn(const Aws::String& value) { SetApplicationArn(value); return *this;} + + /** + *

            The Amazon Resource Name (ARN) of the integrated application.

            + */ + inline CreateLakeFormationIdentityCenterConfigurationResult& WithApplicationArn(Aws::String&& value) { SetApplicationArn(std::move(value)); return *this;} + + /** + *

            The Amazon Resource Name (ARN) of the integrated application.

            + */ + inline CreateLakeFormationIdentityCenterConfigurationResult& WithApplicationArn(const char* value) { SetApplicationArn(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 CreateLakeFormationIdentityCenterConfigurationResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline CreateLakeFormationIdentityCenterConfigurationResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline CreateLakeFormationIdentityCenterConfigurationResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::String m_applicationArn; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace LakeFormation +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lakeformation/include/aws/lakeformation/model/DataLakeSettings.h b/generated/src/aws-cpp-sdk-lakeformation/include/aws/lakeformation/model/DataLakeSettings.h index bd8cfd62751..5c5c70bdbc3 100644 --- a/generated/src/aws-cpp-sdk-lakeformation/include/aws/lakeformation/model/DataLakeSettings.h +++ b/generated/src/aws-cpp-sdk-lakeformation/include/aws/lakeformation/model/DataLakeSettings.h @@ -394,92 +394,92 @@ namespace Model /** *

            A key-value map that provides an additional configuration on your data lake. - * CrossAccountVersion is the key you can configure in the Parameters field. - * Accepted values for the CrossAccountVersion key are 1, 2, and 3.

            + * CROSS_ACCOUNT_VERSION is the key you can configure in the Parameters field. + * Accepted values for the CrossAccountVersion key are 1, 2, 3, and 4.

            */ inline const Aws::Map& GetParameters() const{ return m_parameters; } /** *

            A key-value map that provides an additional configuration on your data lake. - * CrossAccountVersion is the key you can configure in the Parameters field. - * Accepted values for the CrossAccountVersion key are 1, 2, and 3.

            + * CROSS_ACCOUNT_VERSION is the key you can configure in the Parameters field. + * Accepted values for the CrossAccountVersion key are 1, 2, 3, and 4.

            */ inline bool ParametersHasBeenSet() const { return m_parametersHasBeenSet; } /** *

            A key-value map that provides an additional configuration on your data lake. - * CrossAccountVersion is the key you can configure in the Parameters field. - * Accepted values for the CrossAccountVersion key are 1, 2, and 3.

            + * CROSS_ACCOUNT_VERSION is the key you can configure in the Parameters field. + * Accepted values for the CrossAccountVersion key are 1, 2, 3, and 4.

            */ inline void SetParameters(const Aws::Map& value) { m_parametersHasBeenSet = true; m_parameters = value; } /** *

            A key-value map that provides an additional configuration on your data lake. - * CrossAccountVersion is the key you can configure in the Parameters field. - * Accepted values for the CrossAccountVersion key are 1, 2, and 3.

            + * CROSS_ACCOUNT_VERSION is the key you can configure in the Parameters field. + * Accepted values for the CrossAccountVersion key are 1, 2, 3, and 4.

            */ inline void SetParameters(Aws::Map&& value) { m_parametersHasBeenSet = true; m_parameters = std::move(value); } /** *

            A key-value map that provides an additional configuration on your data lake. - * CrossAccountVersion is the key you can configure in the Parameters field. - * Accepted values for the CrossAccountVersion key are 1, 2, and 3.

            + * CROSS_ACCOUNT_VERSION is the key you can configure in the Parameters field. + * Accepted values for the CrossAccountVersion key are 1, 2, 3, and 4.

            */ inline DataLakeSettings& WithParameters(const Aws::Map& value) { SetParameters(value); return *this;} /** *

            A key-value map that provides an additional configuration on your data lake. - * CrossAccountVersion is the key you can configure in the Parameters field. - * Accepted values for the CrossAccountVersion key are 1, 2, and 3.

            + * CROSS_ACCOUNT_VERSION is the key you can configure in the Parameters field. + * Accepted values for the CrossAccountVersion key are 1, 2, 3, and 4.

            */ inline DataLakeSettings& WithParameters(Aws::Map&& value) { SetParameters(std::move(value)); return *this;} /** *

            A key-value map that provides an additional configuration on your data lake. - * CrossAccountVersion is the key you can configure in the Parameters field. - * Accepted values for the CrossAccountVersion key are 1, 2, and 3.

            + * CROSS_ACCOUNT_VERSION is the key you can configure in the Parameters field. + * Accepted values for the CrossAccountVersion key are 1, 2, 3, and 4.

            */ inline DataLakeSettings& AddParameters(const Aws::String& key, const Aws::String& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, value); return *this; } /** *

            A key-value map that provides an additional configuration on your data lake. - * CrossAccountVersion is the key you can configure in the Parameters field. - * Accepted values for the CrossAccountVersion key are 1, 2, and 3.

            + * CROSS_ACCOUNT_VERSION is the key you can configure in the Parameters field. + * Accepted values for the CrossAccountVersion key are 1, 2, 3, and 4.

            */ inline DataLakeSettings& AddParameters(Aws::String&& key, const Aws::String& value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), value); return *this; } /** *

            A key-value map that provides an additional configuration on your data lake. - * CrossAccountVersion is the key you can configure in the Parameters field. - * Accepted values for the CrossAccountVersion key are 1, 2, and 3.

            + * CROSS_ACCOUNT_VERSION is the key you can configure in the Parameters field. + * Accepted values for the CrossAccountVersion key are 1, 2, 3, and 4.

            */ inline DataLakeSettings& AddParameters(const Aws::String& key, Aws::String&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, std::move(value)); return *this; } /** *

            A key-value map that provides an additional configuration on your data lake. - * CrossAccountVersion is the key you can configure in the Parameters field. - * Accepted values for the CrossAccountVersion key are 1, 2, and 3.

            + * CROSS_ACCOUNT_VERSION is the key you can configure in the Parameters field. + * Accepted values for the CrossAccountVersion key are 1, 2, 3, and 4.

            */ inline DataLakeSettings& AddParameters(Aws::String&& key, Aws::String&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), std::move(value)); return *this; } /** *

            A key-value map that provides an additional configuration on your data lake. - * CrossAccountVersion is the key you can configure in the Parameters field. - * Accepted values for the CrossAccountVersion key are 1, 2, and 3.

            + * CROSS_ACCOUNT_VERSION is the key you can configure in the Parameters field. + * Accepted values for the CrossAccountVersion key are 1, 2, 3, and 4.

            */ inline DataLakeSettings& AddParameters(const char* key, Aws::String&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, std::move(value)); return *this; } /** *

            A key-value map that provides an additional configuration on your data lake. - * CrossAccountVersion is the key you can configure in the Parameters field. - * Accepted values for the CrossAccountVersion key are 1, 2, and 3.

            + * CROSS_ACCOUNT_VERSION is the key you can configure in the Parameters field. + * Accepted values for the CrossAccountVersion key are 1, 2, 3, and 4.

            */ inline DataLakeSettings& AddParameters(Aws::String&& key, const char* value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), value); return *this; } /** *

            A key-value map that provides an additional configuration on your data lake. - * CrossAccountVersion is the key you can configure in the Parameters field. - * Accepted values for the CrossAccountVersion key are 1, 2, and 3.

            + * CROSS_ACCOUNT_VERSION is the key you can configure in the Parameters field. + * Accepted values for the CrossAccountVersion key are 1, 2, 3, and 4.

            */ inline DataLakeSettings& AddParameters(const char* key, const char* value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, value); return *this; } diff --git a/generated/src/aws-cpp-sdk-lakeformation/include/aws/lakeformation/model/DeleteLakeFormationIdentityCenterConfigurationRequest.h b/generated/src/aws-cpp-sdk-lakeformation/include/aws/lakeformation/model/DeleteLakeFormationIdentityCenterConfigurationRequest.h new file mode 100644 index 00000000000..91a536f03b6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-lakeformation/include/aws/lakeformation/model/DeleteLakeFormationIdentityCenterConfigurationRequest.h @@ -0,0 +1,107 @@ +/** + * 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 LakeFormation +{ +namespace Model +{ + + /** + */ + class DeleteLakeFormationIdentityCenterConfigurationRequest : public LakeFormationRequest + { + public: + AWS_LAKEFORMATION_API DeleteLakeFormationIdentityCenterConfigurationRequest(); + + // 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 "DeleteLakeFormationIdentityCenterConfiguration"; } + + AWS_LAKEFORMATION_API Aws::String SerializePayload() const override; + + + /** + *

            The identifier for the Data Catalog. By default, the account ID. The Data + * Catalog is the persistent metadata store. It contains database definitions, + * table definitions, view definition, and other control information to manage your + * Lake Formation environment.

            + */ + inline const Aws::String& GetCatalogId() const{ return m_catalogId; } + + /** + *

            The identifier for the Data Catalog. By default, the account ID. The Data + * Catalog is the persistent metadata store. It contains database definitions, + * table definitions, view definition, and other control information to manage your + * Lake Formation environment.

            + */ + inline bool CatalogIdHasBeenSet() const { return m_catalogIdHasBeenSet; } + + /** + *

            The identifier for the Data Catalog. By default, the account ID. The Data + * Catalog is the persistent metadata store. It contains database definitions, + * table definitions, view definition, and other control information to manage your + * Lake Formation environment.

            + */ + inline void SetCatalogId(const Aws::String& value) { m_catalogIdHasBeenSet = true; m_catalogId = value; } + + /** + *

            The identifier for the Data Catalog. By default, the account ID. The Data + * Catalog is the persistent metadata store. It contains database definitions, + * table definitions, view definition, and other control information to manage your + * Lake Formation environment.

            + */ + inline void SetCatalogId(Aws::String&& value) { m_catalogIdHasBeenSet = true; m_catalogId = std::move(value); } + + /** + *

            The identifier for the Data Catalog. By default, the account ID. The Data + * Catalog is the persistent metadata store. It contains database definitions, + * table definitions, view definition, and other control information to manage your + * Lake Formation environment.

            + */ + inline void SetCatalogId(const char* value) { m_catalogIdHasBeenSet = true; m_catalogId.assign(value); } + + /** + *

            The identifier for the Data Catalog. By default, the account ID. The Data + * Catalog is the persistent metadata store. It contains database definitions, + * table definitions, view definition, and other control information to manage your + * Lake Formation environment.

            + */ + inline DeleteLakeFormationIdentityCenterConfigurationRequest& WithCatalogId(const Aws::String& value) { SetCatalogId(value); return *this;} + + /** + *

            The identifier for the Data Catalog. By default, the account ID. The Data + * Catalog is the persistent metadata store. It contains database definitions, + * table definitions, view definition, and other control information to manage your + * Lake Formation environment.

            + */ + inline DeleteLakeFormationIdentityCenterConfigurationRequest& WithCatalogId(Aws::String&& value) { SetCatalogId(std::move(value)); return *this;} + + /** + *

            The identifier for the Data Catalog. By default, the account ID. The Data + * Catalog is the persistent metadata store. It contains database definitions, + * table definitions, view definition, and other control information to manage your + * Lake Formation environment.

            + */ + inline DeleteLakeFormationIdentityCenterConfigurationRequest& WithCatalogId(const char* value) { SetCatalogId(value); return *this;} + + private: + + Aws::String m_catalogId; + bool m_catalogIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace LakeFormation +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lakeformation/include/aws/lakeformation/model/DeleteLakeFormationIdentityCenterConfigurationResult.h b/generated/src/aws-cpp-sdk-lakeformation/include/aws/lakeformation/model/DeleteLakeFormationIdentityCenterConfigurationResult.h new file mode 100644 index 00000000000..c52037bad9a --- /dev/null +++ b/generated/src/aws-cpp-sdk-lakeformation/include/aws/lakeformation/model/DeleteLakeFormationIdentityCenterConfigurationResult.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 + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace LakeFormation +{ +namespace Model +{ + class DeleteLakeFormationIdentityCenterConfigurationResult + { + public: + AWS_LAKEFORMATION_API DeleteLakeFormationIdentityCenterConfigurationResult(); + AWS_LAKEFORMATION_API DeleteLakeFormationIdentityCenterConfigurationResult(const Aws::AmazonWebServiceResult& result); + AWS_LAKEFORMATION_API DeleteLakeFormationIdentityCenterConfigurationResult& 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 DeleteLakeFormationIdentityCenterConfigurationResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline DeleteLakeFormationIdentityCenterConfigurationResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline DeleteLakeFormationIdentityCenterConfigurationResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace LakeFormation +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lakeformation/include/aws/lakeformation/model/DescribeLakeFormationIdentityCenterConfigurationRequest.h b/generated/src/aws-cpp-sdk-lakeformation/include/aws/lakeformation/model/DescribeLakeFormationIdentityCenterConfigurationRequest.h new file mode 100644 index 00000000000..f04d396c4c5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-lakeformation/include/aws/lakeformation/model/DescribeLakeFormationIdentityCenterConfigurationRequest.h @@ -0,0 +1,107 @@ +/** + * 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 LakeFormation +{ +namespace Model +{ + + /** + */ + class DescribeLakeFormationIdentityCenterConfigurationRequest : public LakeFormationRequest + { + public: + AWS_LAKEFORMATION_API DescribeLakeFormationIdentityCenterConfigurationRequest(); + + // 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 "DescribeLakeFormationIdentityCenterConfiguration"; } + + AWS_LAKEFORMATION_API Aws::String SerializePayload() const override; + + + /** + *

            The identifier for the Data Catalog. By default, the account ID. The Data + * Catalog is the persistent metadata store. It contains database definitions, + * table definitions, and other control information to manage your Lake Formation + * environment.

            + */ + inline const Aws::String& GetCatalogId() const{ return m_catalogId; } + + /** + *

            The identifier for the Data Catalog. By default, the account ID. The Data + * Catalog is the persistent metadata store. It contains database definitions, + * table definitions, and other control information to manage your Lake Formation + * environment.

            + */ + inline bool CatalogIdHasBeenSet() const { return m_catalogIdHasBeenSet; } + + /** + *

            The identifier for the Data Catalog. By default, the account ID. The Data + * Catalog is the persistent metadata store. It contains database definitions, + * table definitions, and other control information to manage your Lake Formation + * environment.

            + */ + inline void SetCatalogId(const Aws::String& value) { m_catalogIdHasBeenSet = true; m_catalogId = value; } + + /** + *

            The identifier for the Data Catalog. By default, the account ID. The Data + * Catalog is the persistent metadata store. It contains database definitions, + * table definitions, and other control information to manage your Lake Formation + * environment.

            + */ + inline void SetCatalogId(Aws::String&& value) { m_catalogIdHasBeenSet = true; m_catalogId = std::move(value); } + + /** + *

            The identifier for the Data Catalog. By default, the account ID. The Data + * Catalog is the persistent metadata store. It contains database definitions, + * table definitions, and other control information to manage your Lake Formation + * environment.

            + */ + inline void SetCatalogId(const char* value) { m_catalogIdHasBeenSet = true; m_catalogId.assign(value); } + + /** + *

            The identifier for the Data Catalog. By default, the account ID. The Data + * Catalog is the persistent metadata store. It contains database definitions, + * table definitions, and other control information to manage your Lake Formation + * environment.

            + */ + inline DescribeLakeFormationIdentityCenterConfigurationRequest& WithCatalogId(const Aws::String& value) { SetCatalogId(value); return *this;} + + /** + *

            The identifier for the Data Catalog. By default, the account ID. The Data + * Catalog is the persistent metadata store. It contains database definitions, + * table definitions, and other control information to manage your Lake Formation + * environment.

            + */ + inline DescribeLakeFormationIdentityCenterConfigurationRequest& WithCatalogId(Aws::String&& value) { SetCatalogId(std::move(value)); return *this;} + + /** + *

            The identifier for the Data Catalog. By default, the account ID. The Data + * Catalog is the persistent metadata store. It contains database definitions, + * table definitions, and other control information to manage your Lake Formation + * environment.

            + */ + inline DescribeLakeFormationIdentityCenterConfigurationRequest& WithCatalogId(const char* value) { SetCatalogId(value); return *this;} + + private: + + Aws::String m_catalogId; + bool m_catalogIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace LakeFormation +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lakeformation/include/aws/lakeformation/model/DescribeLakeFormationIdentityCenterConfigurationResult.h b/generated/src/aws-cpp-sdk-lakeformation/include/aws/lakeformation/model/DescribeLakeFormationIdentityCenterConfigurationResult.h new file mode 100644 index 00000000000..505b939c3a2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-lakeformation/include/aws/lakeformation/model/DescribeLakeFormationIdentityCenterConfigurationResult.h @@ -0,0 +1,227 @@ +/** + * 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 LakeFormation +{ +namespace Model +{ + class DescribeLakeFormationIdentityCenterConfigurationResult + { + public: + AWS_LAKEFORMATION_API DescribeLakeFormationIdentityCenterConfigurationResult(); + AWS_LAKEFORMATION_API DescribeLakeFormationIdentityCenterConfigurationResult(const Aws::AmazonWebServiceResult& result); + AWS_LAKEFORMATION_API DescribeLakeFormationIdentityCenterConfigurationResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

            The identifier for the Data Catalog. By default, the account ID. The Data + * Catalog is the persistent metadata store. It contains database definitions, + * table definitions, and other control information to manage your Lake Formation + * environment.

            + */ + inline const Aws::String& GetCatalogId() const{ return m_catalogId; } + + /** + *

            The identifier for the Data Catalog. By default, the account ID. The Data + * Catalog is the persistent metadata store. It contains database definitions, + * table definitions, and other control information to manage your Lake Formation + * environment.

            + */ + inline void SetCatalogId(const Aws::String& value) { m_catalogId = value; } + + /** + *

            The identifier for the Data Catalog. By default, the account ID. The Data + * Catalog is the persistent metadata store. It contains database definitions, + * table definitions, and other control information to manage your Lake Formation + * environment.

            + */ + inline void SetCatalogId(Aws::String&& value) { m_catalogId = std::move(value); } + + /** + *

            The identifier for the Data Catalog. By default, the account ID. The Data + * Catalog is the persistent metadata store. It contains database definitions, + * table definitions, and other control information to manage your Lake Formation + * environment.

            + */ + inline void SetCatalogId(const char* value) { m_catalogId.assign(value); } + + /** + *

            The identifier for the Data Catalog. By default, the account ID. The Data + * Catalog is the persistent metadata store. It contains database definitions, + * table definitions, and other control information to manage your Lake Formation + * environment.

            + */ + inline DescribeLakeFormationIdentityCenterConfigurationResult& WithCatalogId(const Aws::String& value) { SetCatalogId(value); return *this;} + + /** + *

            The identifier for the Data Catalog. By default, the account ID. The Data + * Catalog is the persistent metadata store. It contains database definitions, + * table definitions, and other control information to manage your Lake Formation + * environment.

            + */ + inline DescribeLakeFormationIdentityCenterConfigurationResult& WithCatalogId(Aws::String&& value) { SetCatalogId(std::move(value)); return *this;} + + /** + *

            The identifier for the Data Catalog. By default, the account ID. The Data + * Catalog is the persistent metadata store. It contains database definitions, + * table definitions, and other control information to manage your Lake Formation + * environment.

            + */ + inline DescribeLakeFormationIdentityCenterConfigurationResult& WithCatalogId(const char* value) { SetCatalogId(value); return *this;} + + + /** + *

            The Amazon Resource Name (ARN) of the connection.

            + */ + inline const Aws::String& GetInstanceArn() const{ return m_instanceArn; } + + /** + *

            The Amazon Resource Name (ARN) of the connection.

            + */ + inline void SetInstanceArn(const Aws::String& value) { m_instanceArn = value; } + + /** + *

            The Amazon Resource Name (ARN) of the connection.

            + */ + inline void SetInstanceArn(Aws::String&& value) { m_instanceArn = std::move(value); } + + /** + *

            The Amazon Resource Name (ARN) of the connection.

            + */ + inline void SetInstanceArn(const char* value) { m_instanceArn.assign(value); } + + /** + *

            The Amazon Resource Name (ARN) of the connection.

            + */ + inline DescribeLakeFormationIdentityCenterConfigurationResult& WithInstanceArn(const Aws::String& value) { SetInstanceArn(value); return *this;} + + /** + *

            The Amazon Resource Name (ARN) of the connection.

            + */ + inline DescribeLakeFormationIdentityCenterConfigurationResult& WithInstanceArn(Aws::String&& value) { SetInstanceArn(std::move(value)); return *this;} + + /** + *

            The Amazon Resource Name (ARN) of the connection.

            + */ + inline DescribeLakeFormationIdentityCenterConfigurationResult& WithInstanceArn(const char* value) { SetInstanceArn(value); return *this;} + + + /** + *

            The Amazon Resource Name (ARN) of the integrated application.

            + */ + inline const Aws::String& GetApplicationArn() const{ return m_applicationArn; } + + /** + *

            The Amazon Resource Name (ARN) of the integrated application.

            + */ + inline void SetApplicationArn(const Aws::String& value) { m_applicationArn = value; } + + /** + *

            The Amazon Resource Name (ARN) of the integrated application.

            + */ + inline void SetApplicationArn(Aws::String&& value) { m_applicationArn = std::move(value); } + + /** + *

            The Amazon Resource Name (ARN) of the integrated application.

            + */ + inline void SetApplicationArn(const char* value) { m_applicationArn.assign(value); } + + /** + *

            The Amazon Resource Name (ARN) of the integrated application.

            + */ + inline DescribeLakeFormationIdentityCenterConfigurationResult& WithApplicationArn(const Aws::String& value) { SetApplicationArn(value); return *this;} + + /** + *

            The Amazon Resource Name (ARN) of the integrated application.

            + */ + inline DescribeLakeFormationIdentityCenterConfigurationResult& WithApplicationArn(Aws::String&& value) { SetApplicationArn(std::move(value)); return *this;} + + /** + *

            The Amazon Resource Name (ARN) of the integrated application.

            + */ + inline DescribeLakeFormationIdentityCenterConfigurationResult& WithApplicationArn(const char* value) { SetApplicationArn(value); return *this;} + + + /** + *

            Indicates if external filtering is enabled.

            + */ + inline const ExternalFilteringConfiguration& GetExternalFiltering() const{ return m_externalFiltering; } + + /** + *

            Indicates if external filtering is enabled.

            + */ + inline void SetExternalFiltering(const ExternalFilteringConfiguration& value) { m_externalFiltering = value; } + + /** + *

            Indicates if external filtering is enabled.

            + */ + inline void SetExternalFiltering(ExternalFilteringConfiguration&& value) { m_externalFiltering = std::move(value); } + + /** + *

            Indicates if external filtering is enabled.

            + */ + inline DescribeLakeFormationIdentityCenterConfigurationResult& WithExternalFiltering(const ExternalFilteringConfiguration& value) { SetExternalFiltering(value); return *this;} + + /** + *

            Indicates if external filtering is enabled.

            + */ + inline DescribeLakeFormationIdentityCenterConfigurationResult& WithExternalFiltering(ExternalFilteringConfiguration&& value) { SetExternalFiltering(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 DescribeLakeFormationIdentityCenterConfigurationResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline DescribeLakeFormationIdentityCenterConfigurationResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline DescribeLakeFormationIdentityCenterConfigurationResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::String m_catalogId; + + Aws::String m_instanceArn; + + Aws::String m_applicationArn; + + ExternalFilteringConfiguration m_externalFiltering; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace LakeFormation +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lakeformation/include/aws/lakeformation/model/EnableStatus.h b/generated/src/aws-cpp-sdk-lakeformation/include/aws/lakeformation/model/EnableStatus.h new file mode 100644 index 00000000000..ebb0bfe3fdf --- /dev/null +++ b/generated/src/aws-cpp-sdk-lakeformation/include/aws/lakeformation/model/EnableStatus.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 LakeFormation +{ +namespace Model +{ + enum class EnableStatus + { + NOT_SET, + ENABLED, + DISABLED + }; + +namespace EnableStatusMapper +{ +AWS_LAKEFORMATION_API EnableStatus GetEnableStatusForName(const Aws::String& name); + +AWS_LAKEFORMATION_API Aws::String GetNameForEnableStatus(EnableStatus value); +} // namespace EnableStatusMapper +} // namespace Model +} // namespace LakeFormation +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lakeformation/include/aws/lakeformation/model/ExternalFilteringConfiguration.h b/generated/src/aws-cpp-sdk-lakeformation/include/aws/lakeformation/model/ExternalFilteringConfiguration.h new file mode 100644 index 00000000000..4f71f9eeaae --- /dev/null +++ b/generated/src/aws-cpp-sdk-lakeformation/include/aws/lakeformation/model/ExternalFilteringConfiguration.h @@ -0,0 +1,146 @@ +/** + * 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 LakeFormation +{ +namespace Model +{ + + /** + *

            Configuration for enabling external data filtering for third-party + * applications to access data managed by Lake Formation .

            See Also:

            + *
            AWS + * API Reference

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

            Allows to enable or disable the third-party applications that are allowed to + * access data managed by Lake Formation.

            + */ + inline const EnableStatus& GetStatus() const{ return m_status; } + + /** + *

            Allows to enable or disable the third-party applications that are allowed to + * access data managed by Lake Formation.

            + */ + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + + /** + *

            Allows to enable or disable the third-party applications that are allowed to + * access data managed by Lake Formation.

            + */ + inline void SetStatus(const EnableStatus& value) { m_statusHasBeenSet = true; m_status = value; } + + /** + *

            Allows to enable or disable the third-party applications that are allowed to + * access data managed by Lake Formation.

            + */ + inline void SetStatus(EnableStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } + + /** + *

            Allows to enable or disable the third-party applications that are allowed to + * access data managed by Lake Formation.

            + */ + inline ExternalFilteringConfiguration& WithStatus(const EnableStatus& value) { SetStatus(value); return *this;} + + /** + *

            Allows to enable or disable the third-party applications that are allowed to + * access data managed by Lake Formation.

            + */ + inline ExternalFilteringConfiguration& WithStatus(EnableStatus&& value) { SetStatus(std::move(value)); return *this;} + + + /** + *

            List of third-party application ARNs integrated with Lake + * Formation.

            + */ + inline const Aws::Vector& GetAuthorizedTargets() const{ return m_authorizedTargets; } + + /** + *

            List of third-party application ARNs integrated with Lake + * Formation.

            + */ + inline bool AuthorizedTargetsHasBeenSet() const { return m_authorizedTargetsHasBeenSet; } + + /** + *

            List of third-party application ARNs integrated with Lake + * Formation.

            + */ + inline void SetAuthorizedTargets(const Aws::Vector& value) { m_authorizedTargetsHasBeenSet = true; m_authorizedTargets = value; } + + /** + *

            List of third-party application ARNs integrated with Lake + * Formation.

            + */ + inline void SetAuthorizedTargets(Aws::Vector&& value) { m_authorizedTargetsHasBeenSet = true; m_authorizedTargets = std::move(value); } + + /** + *

            List of third-party application ARNs integrated with Lake + * Formation.

            + */ + inline ExternalFilteringConfiguration& WithAuthorizedTargets(const Aws::Vector& value) { SetAuthorizedTargets(value); return *this;} + + /** + *

            List of third-party application ARNs integrated with Lake + * Formation.

            + */ + inline ExternalFilteringConfiguration& WithAuthorizedTargets(Aws::Vector&& value) { SetAuthorizedTargets(std::move(value)); return *this;} + + /** + *

            List of third-party application ARNs integrated with Lake + * Formation.

            + */ + inline ExternalFilteringConfiguration& AddAuthorizedTargets(const Aws::String& value) { m_authorizedTargetsHasBeenSet = true; m_authorizedTargets.push_back(value); return *this; } + + /** + *

            List of third-party application ARNs integrated with Lake + * Formation.

            + */ + inline ExternalFilteringConfiguration& AddAuthorizedTargets(Aws::String&& value) { m_authorizedTargetsHasBeenSet = true; m_authorizedTargets.push_back(std::move(value)); return *this; } + + /** + *

            List of third-party application ARNs integrated with Lake + * Formation.

            + */ + inline ExternalFilteringConfiguration& AddAuthorizedTargets(const char* value) { m_authorizedTargetsHasBeenSet = true; m_authorizedTargets.push_back(value); return *this; } + + private: + + EnableStatus m_status; + bool m_statusHasBeenSet = false; + + Aws::Vector m_authorizedTargets; + bool m_authorizedTargetsHasBeenSet = false; + }; + +} // namespace Model +} // namespace LakeFormation +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lakeformation/include/aws/lakeformation/model/SearchTablesByLFTagsResult.h b/generated/src/aws-cpp-sdk-lakeformation/include/aws/lakeformation/model/SearchTablesByLFTagsResult.h index bedac052ed8..ab234f99938 100644 --- a/generated/src/aws-cpp-sdk-lakeformation/include/aws/lakeformation/model/SearchTablesByLFTagsResult.h +++ b/generated/src/aws-cpp-sdk-lakeformation/include/aws/lakeformation/model/SearchTablesByLFTagsResult.h @@ -35,44 +35,51 @@ namespace Model /** - *

            A continuation token, present if the current list segment is not the - * last.

            + *

            A continuation token, present if the current list segment is not the last. On + * the first run, if you include a not null (a value) token you can get empty + * pages.

            */ inline const Aws::String& GetNextToken() const{ return m_nextToken; } /** - *

            A continuation token, present if the current list segment is not the - * last.

            + *

            A continuation token, present if the current list segment is not the last. On + * the first run, if you include a not null (a value) token you can get empty + * pages.

            */ inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } /** - *

            A continuation token, present if the current list segment is not the - * last.

            + *

            A continuation token, present if the current list segment is not the last. On + * the first run, if you include a not null (a value) token you can get empty + * pages.

            */ inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } /** - *

            A continuation token, present if the current list segment is not the - * last.

            + *

            A continuation token, present if the current list segment is not the last. On + * the first run, if you include a not null (a value) token you can get empty + * pages.

            */ inline void SetNextToken(const char* value) { m_nextToken.assign(value); } /** - *

            A continuation token, present if the current list segment is not the - * last.

            + *

            A continuation token, present if the current list segment is not the last. On + * the first run, if you include a not null (a value) token you can get empty + * pages.

            */ inline SearchTablesByLFTagsResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} /** - *

            A continuation token, present if the current list segment is not the - * last.

            + *

            A continuation token, present if the current list segment is not the last. On + * the first run, if you include a not null (a value) token you can get empty + * pages.

            */ inline SearchTablesByLFTagsResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} /** - *

            A continuation token, present if the current list segment is not the - * last.

            + *

            A continuation token, present if the current list segment is not the last. On + * the first run, if you include a not null (a value) token you can get empty + * pages.

            */ inline SearchTablesByLFTagsResult& WithNextToken(const char* value) { SetNextToken(value); return *this;} diff --git a/generated/src/aws-cpp-sdk-lakeformation/include/aws/lakeformation/model/UpdateLakeFormationIdentityCenterConfigurationRequest.h b/generated/src/aws-cpp-sdk-lakeformation/include/aws/lakeformation/model/UpdateLakeFormationIdentityCenterConfigurationRequest.h new file mode 100644 index 00000000000..55f588d938b --- /dev/null +++ b/generated/src/aws-cpp-sdk-lakeformation/include/aws/lakeformation/model/UpdateLakeFormationIdentityCenterConfigurationRequest.h @@ -0,0 +1,183 @@ +/** + * 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 LakeFormation +{ +namespace Model +{ + + /** + */ + class UpdateLakeFormationIdentityCenterConfigurationRequest : public LakeFormationRequest + { + public: + AWS_LAKEFORMATION_API UpdateLakeFormationIdentityCenterConfigurationRequest(); + + // 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 "UpdateLakeFormationIdentityCenterConfiguration"; } + + AWS_LAKEFORMATION_API Aws::String SerializePayload() const override; + + + /** + *

            The identifier for the Data Catalog. By default, the account ID. The Data + * Catalog is the persistent metadata store. It contains database definitions, + * table definitions, view definitions, and other control information to manage + * your Lake Formation environment.

            + */ + inline const Aws::String& GetCatalogId() const{ return m_catalogId; } + + /** + *

            The identifier for the Data Catalog. By default, the account ID. The Data + * Catalog is the persistent metadata store. It contains database definitions, + * table definitions, view definitions, and other control information to manage + * your Lake Formation environment.

            + */ + inline bool CatalogIdHasBeenSet() const { return m_catalogIdHasBeenSet; } + + /** + *

            The identifier for the Data Catalog. By default, the account ID. The Data + * Catalog is the persistent metadata store. It contains database definitions, + * table definitions, view definitions, and other control information to manage + * your Lake Formation environment.

            + */ + inline void SetCatalogId(const Aws::String& value) { m_catalogIdHasBeenSet = true; m_catalogId = value; } + + /** + *

            The identifier for the Data Catalog. By default, the account ID. The Data + * Catalog is the persistent metadata store. It contains database definitions, + * table definitions, view definitions, and other control information to manage + * your Lake Formation environment.

            + */ + inline void SetCatalogId(Aws::String&& value) { m_catalogIdHasBeenSet = true; m_catalogId = std::move(value); } + + /** + *

            The identifier for the Data Catalog. By default, the account ID. The Data + * Catalog is the persistent metadata store. It contains database definitions, + * table definitions, view definitions, and other control information to manage + * your Lake Formation environment.

            + */ + inline void SetCatalogId(const char* value) { m_catalogIdHasBeenSet = true; m_catalogId.assign(value); } + + /** + *

            The identifier for the Data Catalog. By default, the account ID. The Data + * Catalog is the persistent metadata store. It contains database definitions, + * table definitions, view definitions, and other control information to manage + * your Lake Formation environment.

            + */ + inline UpdateLakeFormationIdentityCenterConfigurationRequest& WithCatalogId(const Aws::String& value) { SetCatalogId(value); return *this;} + + /** + *

            The identifier for the Data Catalog. By default, the account ID. The Data + * Catalog is the persistent metadata store. It contains database definitions, + * table definitions, view definitions, and other control information to manage + * your Lake Formation environment.

            + */ + inline UpdateLakeFormationIdentityCenterConfigurationRequest& WithCatalogId(Aws::String&& value) { SetCatalogId(std::move(value)); return *this;} + + /** + *

            The identifier for the Data Catalog. By default, the account ID. The Data + * Catalog is the persistent metadata store. It contains database definitions, + * table definitions, view definitions, and other control information to manage + * your Lake Formation environment.

            + */ + inline UpdateLakeFormationIdentityCenterConfigurationRequest& WithCatalogId(const char* value) { SetCatalogId(value); return *this;} + + + /** + *

            Allows to enable or disable the IAM Identity Center connection.

            + */ + inline const ApplicationStatus& GetApplicationStatus() const{ return m_applicationStatus; } + + /** + *

            Allows to enable or disable the IAM Identity Center connection.

            + */ + inline bool ApplicationStatusHasBeenSet() const { return m_applicationStatusHasBeenSet; } + + /** + *

            Allows to enable or disable the IAM Identity Center connection.

            + */ + inline void SetApplicationStatus(const ApplicationStatus& value) { m_applicationStatusHasBeenSet = true; m_applicationStatus = value; } + + /** + *

            Allows to enable or disable the IAM Identity Center connection.

            + */ + inline void SetApplicationStatus(ApplicationStatus&& value) { m_applicationStatusHasBeenSet = true; m_applicationStatus = std::move(value); } + + /** + *

            Allows to enable or disable the IAM Identity Center connection.

            + */ + inline UpdateLakeFormationIdentityCenterConfigurationRequest& WithApplicationStatus(const ApplicationStatus& value) { SetApplicationStatus(value); return *this;} + + /** + *

            Allows to enable or disable the IAM Identity Center connection.

            + */ + inline UpdateLakeFormationIdentityCenterConfigurationRequest& WithApplicationStatus(ApplicationStatus&& value) { SetApplicationStatus(std::move(value)); return *this;} + + + /** + *

            A list of the account IDs of Amazon Web Services accounts of third-party + * applications that are allowed to access data managed by Lake Formation.

            + */ + inline const ExternalFilteringConfiguration& GetExternalFiltering() const{ return m_externalFiltering; } + + /** + *

            A list of the account IDs of Amazon Web Services accounts of third-party + * applications that are allowed to access data managed by Lake Formation.

            + */ + inline bool ExternalFilteringHasBeenSet() const { return m_externalFilteringHasBeenSet; } + + /** + *

            A list of the account IDs of Amazon Web Services accounts of third-party + * applications that are allowed to access data managed by Lake Formation.

            + */ + inline void SetExternalFiltering(const ExternalFilteringConfiguration& value) { m_externalFilteringHasBeenSet = true; m_externalFiltering = value; } + + /** + *

            A list of the account IDs of Amazon Web Services accounts of third-party + * applications that are allowed to access data managed by Lake Formation.

            + */ + inline void SetExternalFiltering(ExternalFilteringConfiguration&& value) { m_externalFilteringHasBeenSet = true; m_externalFiltering = std::move(value); } + + /** + *

            A list of the account IDs of Amazon Web Services accounts of third-party + * applications that are allowed to access data managed by Lake Formation.

            + */ + inline UpdateLakeFormationIdentityCenterConfigurationRequest& WithExternalFiltering(const ExternalFilteringConfiguration& value) { SetExternalFiltering(value); return *this;} + + /** + *

            A list of the account IDs of Amazon Web Services accounts of third-party + * applications that are allowed to access data managed by Lake Formation.

            + */ + inline UpdateLakeFormationIdentityCenterConfigurationRequest& WithExternalFiltering(ExternalFilteringConfiguration&& value) { SetExternalFiltering(std::move(value)); return *this;} + + private: + + Aws::String m_catalogId; + bool m_catalogIdHasBeenSet = false; + + ApplicationStatus m_applicationStatus; + bool m_applicationStatusHasBeenSet = false; + + ExternalFilteringConfiguration m_externalFiltering; + bool m_externalFilteringHasBeenSet = false; + }; + +} // namespace Model +} // namespace LakeFormation +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lakeformation/include/aws/lakeformation/model/UpdateLakeFormationIdentityCenterConfigurationResult.h b/generated/src/aws-cpp-sdk-lakeformation/include/aws/lakeformation/model/UpdateLakeFormationIdentityCenterConfigurationResult.h new file mode 100644 index 00000000000..431a52719ef --- /dev/null +++ b/generated/src/aws-cpp-sdk-lakeformation/include/aws/lakeformation/model/UpdateLakeFormationIdentityCenterConfigurationResult.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 + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace LakeFormation +{ +namespace Model +{ + class UpdateLakeFormationIdentityCenterConfigurationResult + { + public: + AWS_LAKEFORMATION_API UpdateLakeFormationIdentityCenterConfigurationResult(); + AWS_LAKEFORMATION_API UpdateLakeFormationIdentityCenterConfigurationResult(const Aws::AmazonWebServiceResult& result); + AWS_LAKEFORMATION_API UpdateLakeFormationIdentityCenterConfigurationResult& 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 UpdateLakeFormationIdentityCenterConfigurationResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline UpdateLakeFormationIdentityCenterConfigurationResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline UpdateLakeFormationIdentityCenterConfigurationResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace LakeFormation +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lakeformation/source/LakeFormationClient.cpp b/generated/src/aws-cpp-sdk-lakeformation/source/LakeFormationClient.cpp index 9438cc01050..2fd5ac2e988 100644 --- a/generated/src/aws-cpp-sdk-lakeformation/source/LakeFormationClient.cpp +++ b/generated/src/aws-cpp-sdk-lakeformation/source/LakeFormationClient.cpp @@ -29,12 +29,15 @@ #include #include #include +#include #include #include #include +#include #include #include #include +#include #include #include #include @@ -68,6 +71,7 @@ #include #include #include +#include #include #include #include @@ -420,6 +424,33 @@ CreateLFTagOutcome LakeFormationClient::CreateLFTag(const CreateLFTagRequest& re {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +CreateLakeFormationIdentityCenterConfigurationOutcome LakeFormationClient::CreateLakeFormationIdentityCenterConfiguration(const CreateLakeFormationIdentityCenterConfigurationRequest& request) const +{ + AWS_OPERATION_GUARD(CreateLakeFormationIdentityCenterConfiguration); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CreateLakeFormationIdentityCenterConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, CreateLakeFormationIdentityCenterConfiguration, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CreateLakeFormationIdentityCenterConfiguration, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".CreateLakeFormationIdentityCenterConfiguration", + {{ 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( + [&]()-> CreateLakeFormationIdentityCenterConfigurationOutcome { + 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, CreateLakeFormationIdentityCenterConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/CreateLakeFormationIdentityCenterConfiguration"); + return CreateLakeFormationIdentityCenterConfigurationOutcome(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()}}); +} + CreateLakeFormationOptInOutcome LakeFormationClient::CreateLakeFormationOptIn(const CreateLakeFormationOptInRequest& request) const { AWS_OPERATION_GUARD(CreateLakeFormationOptIn); @@ -501,6 +532,33 @@ DeleteLFTagOutcome LakeFormationClient::DeleteLFTag(const DeleteLFTagRequest& re {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +DeleteLakeFormationIdentityCenterConfigurationOutcome LakeFormationClient::DeleteLakeFormationIdentityCenterConfiguration(const DeleteLakeFormationIdentityCenterConfigurationRequest& request) const +{ + AWS_OPERATION_GUARD(DeleteLakeFormationIdentityCenterConfiguration); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteLakeFormationIdentityCenterConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DeleteLakeFormationIdentityCenterConfiguration, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DeleteLakeFormationIdentityCenterConfiguration, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DeleteLakeFormationIdentityCenterConfiguration", + {{ 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( + [&]()-> DeleteLakeFormationIdentityCenterConfigurationOutcome { + 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, DeleteLakeFormationIdentityCenterConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/DeleteLakeFormationIdentityCenterConfiguration"); + return DeleteLakeFormationIdentityCenterConfigurationOutcome(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()}}); +} + DeleteLakeFormationOptInOutcome LakeFormationClient::DeleteLakeFormationOptIn(const DeleteLakeFormationOptInRequest& request) const { AWS_OPERATION_GUARD(DeleteLakeFormationOptIn); @@ -582,6 +640,33 @@ DeregisterResourceOutcome LakeFormationClient::DeregisterResource(const Deregist {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +DescribeLakeFormationIdentityCenterConfigurationOutcome LakeFormationClient::DescribeLakeFormationIdentityCenterConfiguration(const DescribeLakeFormationIdentityCenterConfigurationRequest& request) const +{ + AWS_OPERATION_GUARD(DescribeLakeFormationIdentityCenterConfiguration); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DescribeLakeFormationIdentityCenterConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DescribeLakeFormationIdentityCenterConfiguration, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DescribeLakeFormationIdentityCenterConfiguration, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DescribeLakeFormationIdentityCenterConfiguration", + {{ 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( + [&]()-> DescribeLakeFormationIdentityCenterConfigurationOutcome { + 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, DescribeLakeFormationIdentityCenterConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/DescribeLakeFormationIdentityCenterConfiguration"); + return DescribeLakeFormationIdentityCenterConfigurationOutcome(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()}}); +} + DescribeResourceOutcome LakeFormationClient::DescribeResource(const DescribeResourceRequest& request) const { AWS_OPERATION_GUARD(DescribeResource); @@ -1483,6 +1568,33 @@ UpdateLFTagOutcome LakeFormationClient::UpdateLFTag(const UpdateLFTagRequest& re {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +UpdateLakeFormationIdentityCenterConfigurationOutcome LakeFormationClient::UpdateLakeFormationIdentityCenterConfiguration(const UpdateLakeFormationIdentityCenterConfigurationRequest& request) const +{ + AWS_OPERATION_GUARD(UpdateLakeFormationIdentityCenterConfiguration); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UpdateLakeFormationIdentityCenterConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, UpdateLakeFormationIdentityCenterConfiguration, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, UpdateLakeFormationIdentityCenterConfiguration, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".UpdateLakeFormationIdentityCenterConfiguration", + {{ 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( + [&]()-> UpdateLakeFormationIdentityCenterConfigurationOutcome { + 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, UpdateLakeFormationIdentityCenterConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/UpdateLakeFormationIdentityCenterConfiguration"); + return UpdateLakeFormationIdentityCenterConfigurationOutcome(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()}}); +} + UpdateResourceOutcome LakeFormationClient::UpdateResource(const UpdateResourceRequest& request) const { AWS_OPERATION_GUARD(UpdateResource); diff --git a/generated/src/aws-cpp-sdk-lakeformation/source/LakeFormationEndpointRules.cpp b/generated/src/aws-cpp-sdk-lakeformation/source/LakeFormationEndpointRules.cpp index 08c595af7a0..79e6959e11c 100644 --- a/generated/src/aws-cpp-sdk-lakeformation/source/LakeFormationEndpointRules.cpp +++ b/generated/src/aws-cpp-sdk-lakeformation/source/LakeFormationEndpointRules.cpp @@ -51,107 +51,107 @@ static constexpr RulesBlobT RulesBlob = {{ ',','"','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','"',':','[','{','"','f','n','"',':','"', 'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', -'d','p','o','i','n','t','"','}',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', -',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', -'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r', -'u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','C','o', -'n','f','i','g','u','r','a','t','i','o','n',':',' ','F','I','P','S',' ','a','n','d',' ','c','u','s', -'t','o','m',' ','e','n','d','p','o','i','n','t',' ','a','r','e',' ','n','o','t',' ','s','u','p','p', -'o','r','t','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e', +'d','p','o','i','n','t','"','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', +'s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':', +'"','I','n','v','a','l','i','d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','F', +'I','P','S',' ','a','n','d',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','a', +'r','e',' ','n','o','t',' ','s','u','p','p','o','r','t','e','d','"',',','"','t','y','p','e','"',':', +'"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"', +'}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i', +'d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','D','u','a','l','s','t','a','c', +'k',' ','a','n','d',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','a','r','e', +' ','n','o','t',' ','s','u','p','p','o','r','t','e','d','"',',','"','t','y','p','e','"',':','"','e', +'r','r','o','r','"','}',',','{','"','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','"',':','{', +'}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e', +'n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s', +'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i', +'o','n','"','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i', +'o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o', +'n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','P','a','r','t','i','t','i','o','n','R', +'e','s','u','l','t','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F', +'I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', 'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', '"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"', -'e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','C','o','n','f','i','g','u','r','a', -'t','i','o','n',':',' ','D','u','a','l','s','t','a','c','k',' ','a','n','d',' ','c','u','s','t','o', -'m',' ','e','n','d','p','o','i','n','t',' ','a','r','e',' ','n','o','t',' ','s','u','p','p','o','r', -'t','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o', +'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R', +'e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','F','I','P','S','"',']','}',']', +'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t', +'r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t', +'i','o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','D','u','a','l', +'S','t','a','c','k','"',']','}',']','}',']',',','"','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','"',':','{','}',',','"','h','e','a','d','e','r','s','"', -':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}', -',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s', -'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i', -'o','n','"','}',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u', -'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', -'"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g', -'n','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',']',',','"','t', -'y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o', -'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', -'s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o', -'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}', -']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o', -'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','t','r','u','e',',', -'{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',', -'"','s','u','p','p','o','r','t','s','F','I','P','S','"',']','}',']','}',',','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','t', -'r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l', -'t','"','}',',','"','s','u','p','p','o','r','t','s','D','u','a','l','S','t','a','c','k','"',']','}', -']','}',']',',','"','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','"',':','"','h','t','t','p','s',':','/','/','l','a','k','e', -'f','o','r','m','a','t','i','o','n','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{', -'P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','u','a','l','S','t','a','c','k', -'D','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':', -'{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"', -'e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[',']',',','"','e','r','r','o','r','"',':','"','F','I','P','S',' ','a','n','d',' ','D','u', -'a','l','S','t','a','c','k',' ','a','r','e',' ','e','n','a','b','l','e','d',',',' ','b','u','t',' ', -'t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ','n','o','t',' ','s', -'u','p','p','o','r','t',' ','o','n','e',' ','o','r',' ','b','o','t','h','"',',','"','t','y','p','e', -'"',':','"','e','r','r','o','r','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}', -',','t','r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r', -'u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', -'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e', -'s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','F','I','P','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','"',':','"','h','t','t','p','s',':','/','/','l','a','k','e','f','o', -'r','m','a','t','i','o','n','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','P','a', -'r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"', -',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s', -'"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']', -'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r', -'"',':','"','F','I','P','S',' ','i','s',' ','e','n','a','b','l','e','d',' ','b','u','t',' ','t','h', -'i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p', -'p','o','r','t',' ','F','I','P','S','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"', -'}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u', -'e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s', -'"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', -'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','t','r', -'u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t', -'"','}',',','"','s','u','p','p','o','r','t','s','D','u','a','l','S','t','a','c','k','"',']','}',']', -'}',']',',','"','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','"',':','"','h','t','t','p','s',':','/','/','l','a','k','e','f', -'o','r','m','a','t','i','o','n','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t', +'"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','l','a','k','e','f','o','r','m','a','t', +'i','o','n','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t', 'i','o','n','R','e','s','u','l','t','#','d','u','a','l','S','t','a','c','k','D','n','s','S','u','f', 'f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e', 'a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i', -'n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"', -'e','r','r','o','r','"',':','"','D','u','a','l','S','t','a','c','k',' ','i','s',' ','e','n','a','b', -'l','e','d',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o', -'e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','D','u','a','l','S','t','a','c','k','"', -',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',',','{','"','c','o','n','d', +'n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','F','I','P', +'S',' ','a','n','d',' ','D','u','a','l','S','t','a','c','k',' ','a','r','e',' ','e','n','a','b','l', +'e','d',',',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o', +'e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','o','n','e',' ','o','r',' ','b','o','t', +'h','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e', +'"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r', +'u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o', +'n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','F','I','P','S','"',']', +'}',',','t','r','u','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','"',':','"','h','t','t','p','s',':','/','/','l','a','k','e','f','o','r','m','a','t','i','o', -'n','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u', -'l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e', -'s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e', -'"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','c','o','n','d','i', +'n','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o', +'n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p', +'e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',', +'"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e', +'"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +']',',','"','e','r','r','o','r','"',':','"','F','I','P','S',' ','i','s',' ','e','n','a','b','l','e', +'d',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s', +' ','n','o','t',' ','s','u','p','p','o','r','t',' ','F','I','P','S','"',',','"','t','y','p','e','"', +':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}', +']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i', +'o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','D','u','a','l','S', +'t','a','c','k','"',']','}',']','}',']',',','"','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','"',':','"','h','t','t','p','s',':','/','/','l','a','k','e','f','o','r','m','a','t','i', +'o','n','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s', +'u','l','t','#','d','u','a','l','S','t','a','c','k','D','n','s','S','u','f','f','i','x','}','"',',', +'"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"', +':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',', +'"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','D','u','a','l','S','t','a','c','k', +' ','i','s',' ','e','n','a','b','l','e','d',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t', +'i','t','i','o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','D','u', +'a','l','S','t','a','c','k','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']', +',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"', +':','"','h','t','t','p','s',':','/','/','l','a','k','e','f','o','r','m','a','t','i','o','n','.','{', +'R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#', +'d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':', +'{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"', +'e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', +'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i', 't','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i', 'd',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','M','i','s','s','i','n','g',' ', 'R','e','g','i','o','n','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}', diff --git a/generated/src/aws-cpp-sdk-lakeformation/source/model/ApplicationStatus.cpp b/generated/src/aws-cpp-sdk-lakeformation/source/model/ApplicationStatus.cpp new file mode 100644 index 00000000000..b28632410fd --- /dev/null +++ b/generated/src/aws-cpp-sdk-lakeformation/source/model/ApplicationStatus.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 LakeFormation + { + namespace Model + { + namespace ApplicationStatusMapper + { + + static const int ENABLED_HASH = HashingUtils::HashString("ENABLED"); + static const int DISABLED_HASH = HashingUtils::HashString("DISABLED"); + + + ApplicationStatus GetApplicationStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == ENABLED_HASH) + { + return ApplicationStatus::ENABLED; + } + else if (hashCode == DISABLED_HASH) + { + return ApplicationStatus::DISABLED; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ApplicationStatus::NOT_SET; + } + + Aws::String GetNameForApplicationStatus(ApplicationStatus enumValue) + { + switch(enumValue) + { + case ApplicationStatus::NOT_SET: + return {}; + case ApplicationStatus::ENABLED: + return "ENABLED"; + case ApplicationStatus::DISABLED: + return "DISABLED"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ApplicationStatusMapper + } // namespace Model + } // namespace LakeFormation +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lakeformation/source/model/CreateLakeFormationIdentityCenterConfigurationRequest.cpp b/generated/src/aws-cpp-sdk-lakeformation/source/model/CreateLakeFormationIdentityCenterConfigurationRequest.cpp new file mode 100644 index 00000000000..1043378675d --- /dev/null +++ b/generated/src/aws-cpp-sdk-lakeformation/source/model/CreateLakeFormationIdentityCenterConfigurationRequest.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::LakeFormation::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +CreateLakeFormationIdentityCenterConfigurationRequest::CreateLakeFormationIdentityCenterConfigurationRequest() : + m_catalogIdHasBeenSet(false), + m_instanceArnHasBeenSet(false), + m_externalFilteringHasBeenSet(false) +{ +} + +Aws::String CreateLakeFormationIdentityCenterConfigurationRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_catalogIdHasBeenSet) + { + payload.WithString("CatalogId", m_catalogId); + + } + + if(m_instanceArnHasBeenSet) + { + payload.WithString("InstanceArn", m_instanceArn); + + } + + if(m_externalFilteringHasBeenSet) + { + payload.WithObject("ExternalFiltering", m_externalFiltering.Jsonize()); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-lakeformation/source/model/CreateLakeFormationIdentityCenterConfigurationResult.cpp b/generated/src/aws-cpp-sdk-lakeformation/source/model/CreateLakeFormationIdentityCenterConfigurationResult.cpp new file mode 100644 index 00000000000..a030812eecb --- /dev/null +++ b/generated/src/aws-cpp-sdk-lakeformation/source/model/CreateLakeFormationIdentityCenterConfigurationResult.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::LakeFormation::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +CreateLakeFormationIdentityCenterConfigurationResult::CreateLakeFormationIdentityCenterConfigurationResult() +{ +} + +CreateLakeFormationIdentityCenterConfigurationResult::CreateLakeFormationIdentityCenterConfigurationResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +CreateLakeFormationIdentityCenterConfigurationResult& CreateLakeFormationIdentityCenterConfigurationResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("ApplicationArn")) + { + m_applicationArn = jsonValue.GetString("ApplicationArn"); + + } + + + 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-lakeformation/source/model/DeleteLakeFormationIdentityCenterConfigurationRequest.cpp b/generated/src/aws-cpp-sdk-lakeformation/source/model/DeleteLakeFormationIdentityCenterConfigurationRequest.cpp new file mode 100644 index 00000000000..07eb9ccf28b --- /dev/null +++ b/generated/src/aws-cpp-sdk-lakeformation/source/model/DeleteLakeFormationIdentityCenterConfigurationRequest.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::LakeFormation::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +DeleteLakeFormationIdentityCenterConfigurationRequest::DeleteLakeFormationIdentityCenterConfigurationRequest() : + m_catalogIdHasBeenSet(false) +{ +} + +Aws::String DeleteLakeFormationIdentityCenterConfigurationRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_catalogIdHasBeenSet) + { + payload.WithString("CatalogId", m_catalogId); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-lakeformation/source/model/DeleteLakeFormationIdentityCenterConfigurationResult.cpp b/generated/src/aws-cpp-sdk-lakeformation/source/model/DeleteLakeFormationIdentityCenterConfigurationResult.cpp new file mode 100644 index 00000000000..755bdebe823 --- /dev/null +++ b/generated/src/aws-cpp-sdk-lakeformation/source/model/DeleteLakeFormationIdentityCenterConfigurationResult.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::LakeFormation::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DeleteLakeFormationIdentityCenterConfigurationResult::DeleteLakeFormationIdentityCenterConfigurationResult() +{ +} + +DeleteLakeFormationIdentityCenterConfigurationResult::DeleteLakeFormationIdentityCenterConfigurationResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DeleteLakeFormationIdentityCenterConfigurationResult& DeleteLakeFormationIdentityCenterConfigurationResult::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-lakeformation/source/model/DescribeLakeFormationIdentityCenterConfigurationRequest.cpp b/generated/src/aws-cpp-sdk-lakeformation/source/model/DescribeLakeFormationIdentityCenterConfigurationRequest.cpp new file mode 100644 index 00000000000..792bf5ee1a7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-lakeformation/source/model/DescribeLakeFormationIdentityCenterConfigurationRequest.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::LakeFormation::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +DescribeLakeFormationIdentityCenterConfigurationRequest::DescribeLakeFormationIdentityCenterConfigurationRequest() : + m_catalogIdHasBeenSet(false) +{ +} + +Aws::String DescribeLakeFormationIdentityCenterConfigurationRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_catalogIdHasBeenSet) + { + payload.WithString("CatalogId", m_catalogId); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-lakeformation/source/model/DescribeLakeFormationIdentityCenterConfigurationResult.cpp b/generated/src/aws-cpp-sdk-lakeformation/source/model/DescribeLakeFormationIdentityCenterConfigurationResult.cpp new file mode 100644 index 00000000000..1a9bacfd48e --- /dev/null +++ b/generated/src/aws-cpp-sdk-lakeformation/source/model/DescribeLakeFormationIdentityCenterConfigurationResult.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::LakeFormation::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DescribeLakeFormationIdentityCenterConfigurationResult::DescribeLakeFormationIdentityCenterConfigurationResult() +{ +} + +DescribeLakeFormationIdentityCenterConfigurationResult::DescribeLakeFormationIdentityCenterConfigurationResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DescribeLakeFormationIdentityCenterConfigurationResult& DescribeLakeFormationIdentityCenterConfigurationResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("CatalogId")) + { + m_catalogId = jsonValue.GetString("CatalogId"); + + } + + if(jsonValue.ValueExists("InstanceArn")) + { + m_instanceArn = jsonValue.GetString("InstanceArn"); + + } + + if(jsonValue.ValueExists("ApplicationArn")) + { + m_applicationArn = jsonValue.GetString("ApplicationArn"); + + } + + if(jsonValue.ValueExists("ExternalFiltering")) + { + m_externalFiltering = jsonValue.GetObject("ExternalFiltering"); + + } + + + 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-lakeformation/source/model/EnableStatus.cpp b/generated/src/aws-cpp-sdk-lakeformation/source/model/EnableStatus.cpp new file mode 100644 index 00000000000..1f4a551e62d --- /dev/null +++ b/generated/src/aws-cpp-sdk-lakeformation/source/model/EnableStatus.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 LakeFormation + { + namespace Model + { + namespace EnableStatusMapper + { + + static const int ENABLED_HASH = HashingUtils::HashString("ENABLED"); + static const int DISABLED_HASH = HashingUtils::HashString("DISABLED"); + + + EnableStatus GetEnableStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == ENABLED_HASH) + { + return EnableStatus::ENABLED; + } + else if (hashCode == DISABLED_HASH) + { + return EnableStatus::DISABLED; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return EnableStatus::NOT_SET; + } + + Aws::String GetNameForEnableStatus(EnableStatus enumValue) + { + switch(enumValue) + { + case EnableStatus::NOT_SET: + return {}; + case EnableStatus::ENABLED: + return "ENABLED"; + case EnableStatus::DISABLED: + return "DISABLED"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace EnableStatusMapper + } // namespace Model + } // namespace LakeFormation +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lakeformation/source/model/ExternalFilteringConfiguration.cpp b/generated/src/aws-cpp-sdk-lakeformation/source/model/ExternalFilteringConfiguration.cpp new file mode 100644 index 00000000000..9b19e96b148 --- /dev/null +++ b/generated/src/aws-cpp-sdk-lakeformation/source/model/ExternalFilteringConfiguration.cpp @@ -0,0 +1,83 @@ +/** + * 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 LakeFormation +{ +namespace Model +{ + +ExternalFilteringConfiguration::ExternalFilteringConfiguration() : + m_status(EnableStatus::NOT_SET), + m_statusHasBeenSet(false), + m_authorizedTargetsHasBeenSet(false) +{ +} + +ExternalFilteringConfiguration::ExternalFilteringConfiguration(JsonView jsonValue) : + m_status(EnableStatus::NOT_SET), + m_statusHasBeenSet(false), + m_authorizedTargetsHasBeenSet(false) +{ + *this = jsonValue; +} + +ExternalFilteringConfiguration& ExternalFilteringConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Status")) + { + m_status = EnableStatusMapper::GetEnableStatusForName(jsonValue.GetString("Status")); + + m_statusHasBeenSet = true; + } + + if(jsonValue.ValueExists("AuthorizedTargets")) + { + Aws::Utils::Array authorizedTargetsJsonList = jsonValue.GetArray("AuthorizedTargets"); + for(unsigned authorizedTargetsIndex = 0; authorizedTargetsIndex < authorizedTargetsJsonList.GetLength(); ++authorizedTargetsIndex) + { + m_authorizedTargets.push_back(authorizedTargetsJsonList[authorizedTargetsIndex].AsString()); + } + m_authorizedTargetsHasBeenSet = true; + } + + return *this; +} + +JsonValue ExternalFilteringConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_statusHasBeenSet) + { + payload.WithString("Status", EnableStatusMapper::GetNameForEnableStatus(m_status)); + } + + if(m_authorizedTargetsHasBeenSet) + { + Aws::Utils::Array authorizedTargetsJsonList(m_authorizedTargets.size()); + for(unsigned authorizedTargetsIndex = 0; authorizedTargetsIndex < authorizedTargetsJsonList.GetLength(); ++authorizedTargetsIndex) + { + authorizedTargetsJsonList[authorizedTargetsIndex].AsString(m_authorizedTargets[authorizedTargetsIndex]); + } + payload.WithArray("AuthorizedTargets", std::move(authorizedTargetsJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace LakeFormation +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lakeformation/source/model/UpdateLakeFormationIdentityCenterConfigurationRequest.cpp b/generated/src/aws-cpp-sdk-lakeformation/source/model/UpdateLakeFormationIdentityCenterConfigurationRequest.cpp new file mode 100644 index 00000000000..e84412c3d33 --- /dev/null +++ b/generated/src/aws-cpp-sdk-lakeformation/source/model/UpdateLakeFormationIdentityCenterConfigurationRequest.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::LakeFormation::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +UpdateLakeFormationIdentityCenterConfigurationRequest::UpdateLakeFormationIdentityCenterConfigurationRequest() : + m_catalogIdHasBeenSet(false), + m_applicationStatus(ApplicationStatus::NOT_SET), + m_applicationStatusHasBeenSet(false), + m_externalFilteringHasBeenSet(false) +{ +} + +Aws::String UpdateLakeFormationIdentityCenterConfigurationRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_catalogIdHasBeenSet) + { + payload.WithString("CatalogId", m_catalogId); + + } + + if(m_applicationStatusHasBeenSet) + { + payload.WithString("ApplicationStatus", ApplicationStatusMapper::GetNameForApplicationStatus(m_applicationStatus)); + } + + if(m_externalFilteringHasBeenSet) + { + payload.WithObject("ExternalFiltering", m_externalFiltering.Jsonize()); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-lakeformation/source/model/UpdateLakeFormationIdentityCenterConfigurationResult.cpp b/generated/src/aws-cpp-sdk-lakeformation/source/model/UpdateLakeFormationIdentityCenterConfigurationResult.cpp new file mode 100644 index 00000000000..aa63862cdfa --- /dev/null +++ b/generated/src/aws-cpp-sdk-lakeformation/source/model/UpdateLakeFormationIdentityCenterConfigurationResult.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::LakeFormation::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +UpdateLakeFormationIdentityCenterConfigurationResult::UpdateLakeFormationIdentityCenterConfigurationResult() +{ +} + +UpdateLakeFormationIdentityCenterConfigurationResult::UpdateLakeFormationIdentityCenterConfigurationResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +UpdateLakeFormationIdentityCenterConfigurationResult& UpdateLakeFormationIdentityCenterConfigurationResult::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-lexv2-models/include/aws/lexv2-models/LexModelsV2Client.h b/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/LexModelsV2Client.h index 93583e3d27a..34889134dcc 100644 --- a/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/LexModelsV2Client.h +++ b/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/LexModelsV2Client.h @@ -263,11 +263,11 @@ namespace LexModelsV2 } /** - *

            Creates a new version of the bot based on the DRAFT version. If - * the DRAFT version of this resource hasn't changed since you created - * the last version, Amazon Lex doesn't create a new version, it returns the last - * created version.

            When you create the first version of a bot, Amazon Lex - * sets the version to 1. Subsequent versions increment by 1.

            See + *

            Creates an immutable version of the bot. When you create the first version of + * a bot, Amazon Lex sets the version number to 1. Subsequent bot versions increase + * in an increment of 1. The version number will always represent the total number + * of versions created of the bot, not the current number of versions. If a bot + * version is deleted, that bot version number will not be reused.

            See * Also:

            AWS * API Reference

            @@ -1016,6 +1016,35 @@ namespace LexModelsV2 return SubmitAsync(&LexModelsV2Client::DescribeBotRecommendation, request, handler, context); } + /** + *

            Returns information about a request to generate a bot through natural + * language description, made through the StartBotResource API. Use + * the generatedBotLocaleUrl to retrieve the Amazon S3 object + * containing the bot locale configuration. You can then modify and import this + * configuration.

            See Also:

            AWS + * API Reference

            + */ + virtual Model::DescribeBotResourceGenerationOutcome DescribeBotResourceGeneration(const Model::DescribeBotResourceGenerationRequest& request) const; + + /** + * A Callable wrapper for DescribeBotResourceGeneration that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DescribeBotResourceGenerationOutcomeCallable DescribeBotResourceGenerationCallable(const DescribeBotResourceGenerationRequestT& request) const + { + return SubmitCallable(&LexModelsV2Client::DescribeBotResourceGeneration, request); + } + + /** + * An Async wrapper for DescribeBotResourceGeneration that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DescribeBotResourceGenerationAsync(const DescribeBotResourceGenerationRequestT& request, const DescribeBotResourceGenerationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&LexModelsV2Client::DescribeBotResourceGeneration, request, handler, context); + } + /** *

            Provides metadata about a version of a bot.

            See Also:

            AWS @@ -1321,6 +1350,31 @@ namespace LexModelsV2 return SubmitAsync(&LexModelsV2Client::DescribeTestSetGeneration, request, handler, context); } + /** + *

            Generates sample utterances for an intent.

            See Also:

            AWS + * API Reference

            + */ + virtual Model::GenerateBotElementOutcome GenerateBotElement(const Model::GenerateBotElementRequest& request) const; + + /** + * A Callable wrapper for GenerateBotElement that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GenerateBotElementOutcomeCallable GenerateBotElementCallable(const GenerateBotElementRequestT& request) const + { + return SubmitCallable(&LexModelsV2Client::GenerateBotElement, request); + } + + /** + * An Async wrapper for GenerateBotElement that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GenerateBotElementAsync(const GenerateBotElementRequestT& request, const GenerateBotElementResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&LexModelsV2Client::GenerateBotElement, request, handler, context); + } + /** *

            The pre-signed Amazon S3 URL to download the test execution result * artifacts.

            See Also:

            Lists the generation requests made for a bot locale.

            See Also:

            + *
            AWS + * API Reference

            + */ + virtual Model::ListBotResourceGenerationsOutcome ListBotResourceGenerations(const Model::ListBotResourceGenerationsRequest& request) const; + + /** + * A Callable wrapper for ListBotResourceGenerations that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListBotResourceGenerationsOutcomeCallable ListBotResourceGenerationsCallable(const ListBotResourceGenerationsRequestT& request) const + { + return SubmitCallable(&LexModelsV2Client::ListBotResourceGenerations, request); + } + + /** + * An Async wrapper for ListBotResourceGenerations that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListBotResourceGenerationsAsync(const ListBotResourceGenerationsRequestT& request, const ListBotResourceGenerationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&LexModelsV2Client::ListBotResourceGenerations, request, handler, context); + } + /** *

            Gets information about all of the versions of a bot.

            The * ListBotVersions operation returns a summary of each version of a @@ -2228,6 +2308,37 @@ namespace LexModelsV2 return SubmitAsync(&LexModelsV2Client::StartBotRecommendation, request, handler, context); } + /** + *

            Starts a request for the descriptive bot builder to generate a bot locale + * configuration based on the prompt you provide it. After you make this call, use + * the DescribeBotResourceGeneration operation to check on the status + * of the generation and for the generatedBotLocaleUrl when the + * generation is complete. Use that value to retrieve the Amazon S3 object + * containing the bot locale configuration. You can then modify and import this + * configuration.

            See Also:

            AWS + * API Reference

            + */ + virtual Model::StartBotResourceGenerationOutcome StartBotResourceGeneration(const Model::StartBotResourceGenerationRequest& request) const; + + /** + * A Callable wrapper for StartBotResourceGeneration that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::StartBotResourceGenerationOutcomeCallable StartBotResourceGenerationCallable(const StartBotResourceGenerationRequestT& request) const + { + return SubmitCallable(&LexModelsV2Client::StartBotResourceGeneration, request); + } + + /** + * An Async wrapper for StartBotResourceGeneration that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void StartBotResourceGenerationAsync(const StartBotResourceGenerationRequestT& request, const StartBotResourceGenerationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&LexModelsV2Client::StartBotResourceGeneration, request, handler, context); + } + /** *

            Starts importing a bot, bot locale, or custom vocabulary from a zip archive * that you uploaded to an S3 bucket.

            See Also:

            #include #include +#include #include #include #include @@ -60,11 +61,13 @@ #include #include #include +#include #include #include #include #include #include +#include #include #include #include @@ -90,6 +93,7 @@ #include #include #include +#include #include #include #include @@ -181,6 +185,7 @@ namespace Aws class DescribeBotAliasRequest; class DescribeBotLocaleRequest; class DescribeBotRecommendationRequest; + class DescribeBotResourceGenerationRequest; class DescribeBotVersionRequest; class DescribeCustomVocabularyMetadataRequest; class DescribeExportRequest; @@ -193,11 +198,13 @@ namespace Aws class DescribeTestSetRequest; class DescribeTestSetDiscrepancyReportRequest; class DescribeTestSetGenerationRequest; + class GenerateBotElementRequest; class GetTestExecutionArtifactsUrlRequest; class ListAggregatedUtterancesRequest; class ListBotAliasesRequest; class ListBotLocalesRequest; class ListBotRecommendationsRequest; + class ListBotResourceGenerationsRequest; class ListBotVersionsRequest; class ListBotsRequest; class ListBuiltInIntentsRequest; @@ -223,6 +230,7 @@ namespace Aws class ListUtteranceMetricsRequest; class SearchAssociatedTranscriptsRequest; class StartBotRecommendationRequest; + class StartBotResourceGenerationRequest; class StartImportRequest; class StartTestExecutionRequest; class StartTestSetGenerationRequest; @@ -276,6 +284,7 @@ namespace Aws typedef Aws::Utils::Outcome DescribeBotAliasOutcome; typedef Aws::Utils::Outcome DescribeBotLocaleOutcome; typedef Aws::Utils::Outcome DescribeBotRecommendationOutcome; + typedef Aws::Utils::Outcome DescribeBotResourceGenerationOutcome; typedef Aws::Utils::Outcome DescribeBotVersionOutcome; typedef Aws::Utils::Outcome DescribeCustomVocabularyMetadataOutcome; typedef Aws::Utils::Outcome DescribeExportOutcome; @@ -288,11 +297,13 @@ namespace Aws typedef Aws::Utils::Outcome DescribeTestSetOutcome; typedef Aws::Utils::Outcome DescribeTestSetDiscrepancyReportOutcome; typedef Aws::Utils::Outcome DescribeTestSetGenerationOutcome; + typedef Aws::Utils::Outcome GenerateBotElementOutcome; typedef Aws::Utils::Outcome GetTestExecutionArtifactsUrlOutcome; typedef Aws::Utils::Outcome ListAggregatedUtterancesOutcome; typedef Aws::Utils::Outcome ListBotAliasesOutcome; typedef Aws::Utils::Outcome ListBotLocalesOutcome; typedef Aws::Utils::Outcome ListBotRecommendationsOutcome; + typedef Aws::Utils::Outcome ListBotResourceGenerationsOutcome; typedef Aws::Utils::Outcome ListBotVersionsOutcome; typedef Aws::Utils::Outcome ListBotsOutcome; typedef Aws::Utils::Outcome ListBuiltInIntentsOutcome; @@ -318,6 +329,7 @@ namespace Aws typedef Aws::Utils::Outcome ListUtteranceMetricsOutcome; typedef Aws::Utils::Outcome SearchAssociatedTranscriptsOutcome; typedef Aws::Utils::Outcome StartBotRecommendationOutcome; + typedef Aws::Utils::Outcome StartBotResourceGenerationOutcome; typedef Aws::Utils::Outcome StartImportOutcome; typedef Aws::Utils::Outcome StartTestExecutionOutcome; typedef Aws::Utils::Outcome StartTestSetGenerationOutcome; @@ -371,6 +383,7 @@ namespace Aws typedef std::future DescribeBotAliasOutcomeCallable; typedef std::future DescribeBotLocaleOutcomeCallable; typedef std::future DescribeBotRecommendationOutcomeCallable; + typedef std::future DescribeBotResourceGenerationOutcomeCallable; typedef std::future DescribeBotVersionOutcomeCallable; typedef std::future DescribeCustomVocabularyMetadataOutcomeCallable; typedef std::future DescribeExportOutcomeCallable; @@ -383,11 +396,13 @@ namespace Aws typedef std::future DescribeTestSetOutcomeCallable; typedef std::future DescribeTestSetDiscrepancyReportOutcomeCallable; typedef std::future DescribeTestSetGenerationOutcomeCallable; + typedef std::future GenerateBotElementOutcomeCallable; typedef std::future GetTestExecutionArtifactsUrlOutcomeCallable; typedef std::future ListAggregatedUtterancesOutcomeCallable; typedef std::future ListBotAliasesOutcomeCallable; typedef std::future ListBotLocalesOutcomeCallable; typedef std::future ListBotRecommendationsOutcomeCallable; + typedef std::future ListBotResourceGenerationsOutcomeCallable; typedef std::future ListBotVersionsOutcomeCallable; typedef std::future ListBotsOutcomeCallable; typedef std::future ListBuiltInIntentsOutcomeCallable; @@ -413,6 +428,7 @@ namespace Aws typedef std::future ListUtteranceMetricsOutcomeCallable; typedef std::future SearchAssociatedTranscriptsOutcomeCallable; typedef std::future StartBotRecommendationOutcomeCallable; + typedef std::future StartBotResourceGenerationOutcomeCallable; typedef std::future StartImportOutcomeCallable; typedef std::future StartTestExecutionOutcomeCallable; typedef std::future StartTestSetGenerationOutcomeCallable; @@ -469,6 +485,7 @@ namespace Aws typedef std::function&) > DescribeBotAliasResponseReceivedHandler; typedef std::function&) > DescribeBotLocaleResponseReceivedHandler; typedef std::function&) > DescribeBotRecommendationResponseReceivedHandler; + typedef std::function&) > DescribeBotResourceGenerationResponseReceivedHandler; typedef std::function&) > DescribeBotVersionResponseReceivedHandler; typedef std::function&) > DescribeCustomVocabularyMetadataResponseReceivedHandler; typedef std::function&) > DescribeExportResponseReceivedHandler; @@ -481,11 +498,13 @@ namespace Aws typedef std::function&) > DescribeTestSetResponseReceivedHandler; typedef std::function&) > DescribeTestSetDiscrepancyReportResponseReceivedHandler; typedef std::function&) > DescribeTestSetGenerationResponseReceivedHandler; + typedef std::function&) > GenerateBotElementResponseReceivedHandler; typedef std::function&) > GetTestExecutionArtifactsUrlResponseReceivedHandler; typedef std::function&) > ListAggregatedUtterancesResponseReceivedHandler; typedef std::function&) > ListBotAliasesResponseReceivedHandler; typedef std::function&) > ListBotLocalesResponseReceivedHandler; typedef std::function&) > ListBotRecommendationsResponseReceivedHandler; + typedef std::function&) > ListBotResourceGenerationsResponseReceivedHandler; typedef std::function&) > ListBotVersionsResponseReceivedHandler; typedef std::function&) > ListBotsResponseReceivedHandler; typedef std::function&) > ListBuiltInIntentsResponseReceivedHandler; @@ -511,6 +530,7 @@ namespace Aws typedef std::function&) > ListUtteranceMetricsResponseReceivedHandler; typedef std::function&) > SearchAssociatedTranscriptsResponseReceivedHandler; typedef std::function&) > StartBotRecommendationResponseReceivedHandler; + typedef std::function&) > StartBotResourceGenerationResponseReceivedHandler; typedef std::function&) > StartImportResponseReceivedHandler; typedef std::function&) > StartTestExecutionResponseReceivedHandler; typedef std::function&) > StartTestSetGenerationResponseReceivedHandler; diff --git a/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/BedrockModelSpecification.h b/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/BedrockModelSpecification.h new file mode 100644 index 00000000000..6caccdde904 --- /dev/null +++ b/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/BedrockModelSpecification.h @@ -0,0 +1,89 @@ +/** + * 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 LexModelsV2 +{ +namespace Model +{ + + /** + *

            Contains information about the Amazon Bedrock model used to interpret the + * prompt used in descriptive bot building.

            See Also:

            AWS + * API Reference

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

            The ARN of the foundation model used in descriptive bot building.

            + */ + inline const Aws::String& GetModelArn() const{ return m_modelArn; } + + /** + *

            The ARN of the foundation model used in descriptive bot building.

            + */ + inline bool ModelArnHasBeenSet() const { return m_modelArnHasBeenSet; } + + /** + *

            The ARN of the foundation model used in descriptive bot building.

            + */ + inline void SetModelArn(const Aws::String& value) { m_modelArnHasBeenSet = true; m_modelArn = value; } + + /** + *

            The ARN of the foundation model used in descriptive bot building.

            + */ + inline void SetModelArn(Aws::String&& value) { m_modelArnHasBeenSet = true; m_modelArn = std::move(value); } + + /** + *

            The ARN of the foundation model used in descriptive bot building.

            + */ + inline void SetModelArn(const char* value) { m_modelArnHasBeenSet = true; m_modelArn.assign(value); } + + /** + *

            The ARN of the foundation model used in descriptive bot building.

            + */ + inline BedrockModelSpecification& WithModelArn(const Aws::String& value) { SetModelArn(value); return *this;} + + /** + *

            The ARN of the foundation model used in descriptive bot building.

            + */ + inline BedrockModelSpecification& WithModelArn(Aws::String&& value) { SetModelArn(std::move(value)); return *this;} + + /** + *

            The ARN of the foundation model used in descriptive bot building.

            + */ + inline BedrockModelSpecification& WithModelArn(const char* value) { SetModelArn(value); return *this;} + + private: + + Aws::String m_modelArn; + bool m_modelArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace LexModelsV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/BuildtimeSettings.h b/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/BuildtimeSettings.h new file mode 100644 index 00000000000..0f9d6d236a5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/BuildtimeSettings.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 + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace LexModelsV2 +{ +namespace Model +{ + + /** + *

            Contains specifications about the Amazon Lex build time generative AI + * capabilities from Amazon Bedrock that you can turn on for your + * bot.

            See Also:

            AWS + * API Reference

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

            An object containing specifications for the descriptive bot building + * feature.

            + */ + inline const DescriptiveBotBuilderSpecification& GetDescriptiveBotBuilder() const{ return m_descriptiveBotBuilder; } + + /** + *

            An object containing specifications for the descriptive bot building + * feature.

            + */ + inline bool DescriptiveBotBuilderHasBeenSet() const { return m_descriptiveBotBuilderHasBeenSet; } + + /** + *

            An object containing specifications for the descriptive bot building + * feature.

            + */ + inline void SetDescriptiveBotBuilder(const DescriptiveBotBuilderSpecification& value) { m_descriptiveBotBuilderHasBeenSet = true; m_descriptiveBotBuilder = value; } + + /** + *

            An object containing specifications for the descriptive bot building + * feature.

            + */ + inline void SetDescriptiveBotBuilder(DescriptiveBotBuilderSpecification&& value) { m_descriptiveBotBuilderHasBeenSet = true; m_descriptiveBotBuilder = std::move(value); } + + /** + *

            An object containing specifications for the descriptive bot building + * feature.

            + */ + inline BuildtimeSettings& WithDescriptiveBotBuilder(const DescriptiveBotBuilderSpecification& value) { SetDescriptiveBotBuilder(value); return *this;} + + /** + *

            An object containing specifications for the descriptive bot building + * feature.

            + */ + inline BuildtimeSettings& WithDescriptiveBotBuilder(DescriptiveBotBuilderSpecification&& value) { SetDescriptiveBotBuilder(std::move(value)); return *this;} + + + + inline const SampleUtteranceGenerationSpecification& GetSampleUtteranceGeneration() const{ return m_sampleUtteranceGeneration; } + + + inline bool SampleUtteranceGenerationHasBeenSet() const { return m_sampleUtteranceGenerationHasBeenSet; } + + + inline void SetSampleUtteranceGeneration(const SampleUtteranceGenerationSpecification& value) { m_sampleUtteranceGenerationHasBeenSet = true; m_sampleUtteranceGeneration = value; } + + + inline void SetSampleUtteranceGeneration(SampleUtteranceGenerationSpecification&& value) { m_sampleUtteranceGenerationHasBeenSet = true; m_sampleUtteranceGeneration = std::move(value); } + + + inline BuildtimeSettings& WithSampleUtteranceGeneration(const SampleUtteranceGenerationSpecification& value) { SetSampleUtteranceGeneration(value); return *this;} + + + inline BuildtimeSettings& WithSampleUtteranceGeneration(SampleUtteranceGenerationSpecification&& value) { SetSampleUtteranceGeneration(std::move(value)); return *this;} + + private: + + DescriptiveBotBuilderSpecification m_descriptiveBotBuilder; + bool m_descriptiveBotBuilderHasBeenSet = false; + + SampleUtteranceGenerationSpecification m_sampleUtteranceGeneration; + bool m_sampleUtteranceGenerationHasBeenSet = false; + }; + +} // namespace Model +} // namespace LexModelsV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/CreateBotLocaleRequest.h b/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/CreateBotLocaleRequest.h index 8d7e5cb57c0..56aeef79d59 100644 --- a/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/CreateBotLocaleRequest.h +++ b/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/CreateBotLocaleRequest.h @@ -8,6 +8,7 @@ #include #include #include +#include #include namespace Aws @@ -346,6 +347,25 @@ namespace Model */ inline CreateBotLocaleRequest& WithVoiceSettings(VoiceSettings&& value) { SetVoiceSettings(std::move(value)); return *this;} + + + inline const GenerativeAISettings& GetGenerativeAISettings() const{ return m_generativeAISettings; } + + + inline bool GenerativeAISettingsHasBeenSet() const { return m_generativeAISettingsHasBeenSet; } + + + inline void SetGenerativeAISettings(const GenerativeAISettings& value) { m_generativeAISettingsHasBeenSet = true; m_generativeAISettings = value; } + + + inline void SetGenerativeAISettings(GenerativeAISettings&& value) { m_generativeAISettingsHasBeenSet = true; m_generativeAISettings = std::move(value); } + + + inline CreateBotLocaleRequest& WithGenerativeAISettings(const GenerativeAISettings& value) { SetGenerativeAISettings(value); return *this;} + + + inline CreateBotLocaleRequest& WithGenerativeAISettings(GenerativeAISettings&& value) { SetGenerativeAISettings(std::move(value)); return *this;} + private: Aws::String m_botId; @@ -365,6 +385,9 @@ namespace Model VoiceSettings m_voiceSettings; bool m_voiceSettingsHasBeenSet = false; + + GenerativeAISettings m_generativeAISettings; + bool m_generativeAISettingsHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/CreateBotLocaleResult.h b/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/CreateBotLocaleResult.h index 8e1bc3d08b7..d08034c8914 100644 --- a/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/CreateBotLocaleResult.h +++ b/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/CreateBotLocaleResult.h @@ -9,6 +9,7 @@ #include #include #include +#include #include namespace Aws @@ -356,6 +357,22 @@ namespace Model + inline const GenerativeAISettings& GetGenerativeAISettings() const{ return m_generativeAISettings; } + + + inline void SetGenerativeAISettings(const GenerativeAISettings& value) { m_generativeAISettings = value; } + + + inline void SetGenerativeAISettings(GenerativeAISettings&& value) { m_generativeAISettings = std::move(value); } + + + inline CreateBotLocaleResult& WithGenerativeAISettings(const GenerativeAISettings& value) { SetGenerativeAISettings(value); return *this;} + + + inline CreateBotLocaleResult& WithGenerativeAISettings(GenerativeAISettings&& value) { SetGenerativeAISettings(std::move(value)); return *this;} + + + inline const Aws::String& GetRequestId() const{ return m_requestId; } @@ -396,6 +413,8 @@ namespace Model Aws::Utils::DateTime m_creationDateTime; + GenerativeAISettings m_generativeAISettings; + Aws::String m_requestId; }; diff --git a/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/DescribeBotLocaleResult.h b/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/DescribeBotLocaleResult.h index 6da8aef2be9..67d9785c2bc 100644 --- a/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/DescribeBotLocaleResult.h +++ b/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/DescribeBotLocaleResult.h @@ -10,6 +10,7 @@ #include #include #include +#include #include #include @@ -552,6 +553,37 @@ namespace Model inline DescribeBotLocaleResult& AddRecommendedActions(const char* value) { m_recommendedActions.push_back(value); return *this; } + /** + *

            Contains settings for Amazon Bedrock's generative AI features for your bot + * locale.

            + */ + inline const GenerativeAISettings& GetGenerativeAISettings() const{ return m_generativeAISettings; } + + /** + *

            Contains settings for Amazon Bedrock's generative AI features for your bot + * locale.

            + */ + inline void SetGenerativeAISettings(const GenerativeAISettings& value) { m_generativeAISettings = value; } + + /** + *

            Contains settings for Amazon Bedrock's generative AI features for your bot + * locale.

            + */ + inline void SetGenerativeAISettings(GenerativeAISettings&& value) { m_generativeAISettings = std::move(value); } + + /** + *

            Contains settings for Amazon Bedrock's generative AI features for your bot + * locale.

            + */ + inline DescribeBotLocaleResult& WithGenerativeAISettings(const GenerativeAISettings& value) { SetGenerativeAISettings(value); return *this;} + + /** + *

            Contains settings for Amazon Bedrock's generative AI features for your bot + * locale.

            + */ + inline DescribeBotLocaleResult& WithGenerativeAISettings(GenerativeAISettings&& value) { SetGenerativeAISettings(std::move(value)); return *this;} + + inline const Aws::String& GetRequestId() const{ return m_requestId; } @@ -607,6 +639,8 @@ namespace Model Aws::Vector m_recommendedActions; + GenerativeAISettings m_generativeAISettings; + Aws::String m_requestId; }; diff --git a/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/DescribeBotResourceGenerationRequest.h b/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/DescribeBotResourceGenerationRequest.h new file mode 100644 index 00000000000..1d24d75b654 --- /dev/null +++ b/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/DescribeBotResourceGenerationRequest.h @@ -0,0 +1,231 @@ +/** + * 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 LexModelsV2 +{ +namespace Model +{ + + /** + */ + class DescribeBotResourceGenerationRequest : public LexModelsV2Request + { + public: + AWS_LEXMODELSV2_API DescribeBotResourceGenerationRequest(); + + // 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 "DescribeBotResourceGeneration"; } + + AWS_LEXMODELSV2_API Aws::String SerializePayload() const override; + + + /** + *

            The unique identifier of the bot for which to return the generation + * details.

            + */ + inline const Aws::String& GetBotId() const{ return m_botId; } + + /** + *

            The unique identifier of the bot for which to return the generation + * details.

            + */ + inline bool BotIdHasBeenSet() const { return m_botIdHasBeenSet; } + + /** + *

            The unique identifier of the bot for which to return the generation + * details.

            + */ + inline void SetBotId(const Aws::String& value) { m_botIdHasBeenSet = true; m_botId = value; } + + /** + *

            The unique identifier of the bot for which to return the generation + * details.

            + */ + inline void SetBotId(Aws::String&& value) { m_botIdHasBeenSet = true; m_botId = std::move(value); } + + /** + *

            The unique identifier of the bot for which to return the generation + * details.

            + */ + inline void SetBotId(const char* value) { m_botIdHasBeenSet = true; m_botId.assign(value); } + + /** + *

            The unique identifier of the bot for which to return the generation + * details.

            + */ + inline DescribeBotResourceGenerationRequest& WithBotId(const Aws::String& value) { SetBotId(value); return *this;} + + /** + *

            The unique identifier of the bot for which to return the generation + * details.

            + */ + inline DescribeBotResourceGenerationRequest& WithBotId(Aws::String&& value) { SetBotId(std::move(value)); return *this;} + + /** + *

            The unique identifier of the bot for which to return the generation + * details.

            + */ + inline DescribeBotResourceGenerationRequest& WithBotId(const char* value) { SetBotId(value); return *this;} + + + /** + *

            The version of the bot for which to return the generation details.

            + */ + inline const Aws::String& GetBotVersion() const{ return m_botVersion; } + + /** + *

            The version of the bot for which to return the generation details.

            + */ + inline bool BotVersionHasBeenSet() const { return m_botVersionHasBeenSet; } + + /** + *

            The version of the bot for which to return the generation details.

            + */ + inline void SetBotVersion(const Aws::String& value) { m_botVersionHasBeenSet = true; m_botVersion = value; } + + /** + *

            The version of the bot for which to return the generation details.

            + */ + inline void SetBotVersion(Aws::String&& value) { m_botVersionHasBeenSet = true; m_botVersion = std::move(value); } + + /** + *

            The version of the bot for which to return the generation details.

            + */ + inline void SetBotVersion(const char* value) { m_botVersionHasBeenSet = true; m_botVersion.assign(value); } + + /** + *

            The version of the bot for which to return the generation details.

            + */ + inline DescribeBotResourceGenerationRequest& WithBotVersion(const Aws::String& value) { SetBotVersion(value); return *this;} + + /** + *

            The version of the bot for which to return the generation details.

            + */ + inline DescribeBotResourceGenerationRequest& WithBotVersion(Aws::String&& value) { SetBotVersion(std::move(value)); return *this;} + + /** + *

            The version of the bot for which to return the generation details.

            + */ + inline DescribeBotResourceGenerationRequest& WithBotVersion(const char* value) { SetBotVersion(value); return *this;} + + + /** + *

            The locale of the bot for which to return the generation details.

            + */ + inline const Aws::String& GetLocaleId() const{ return m_localeId; } + + /** + *

            The locale of the bot for which to return the generation details.

            + */ + inline bool LocaleIdHasBeenSet() const { return m_localeIdHasBeenSet; } + + /** + *

            The locale of the bot for which to return the generation details.

            + */ + inline void SetLocaleId(const Aws::String& value) { m_localeIdHasBeenSet = true; m_localeId = value; } + + /** + *

            The locale of the bot for which to return the generation details.

            + */ + inline void SetLocaleId(Aws::String&& value) { m_localeIdHasBeenSet = true; m_localeId = std::move(value); } + + /** + *

            The locale of the bot for which to return the generation details.

            + */ + inline void SetLocaleId(const char* value) { m_localeIdHasBeenSet = true; m_localeId.assign(value); } + + /** + *

            The locale of the bot for which to return the generation details.

            + */ + inline DescribeBotResourceGenerationRequest& WithLocaleId(const Aws::String& value) { SetLocaleId(value); return *this;} + + /** + *

            The locale of the bot for which to return the generation details.

            + */ + inline DescribeBotResourceGenerationRequest& WithLocaleId(Aws::String&& value) { SetLocaleId(std::move(value)); return *this;} + + /** + *

            The locale of the bot for which to return the generation details.

            + */ + inline DescribeBotResourceGenerationRequest& WithLocaleId(const char* value) { SetLocaleId(value); return *this;} + + + /** + *

            The unique identifier of the generation request for which to return the + * generation details.

            + */ + inline const Aws::String& GetGenerationId() const{ return m_generationId; } + + /** + *

            The unique identifier of the generation request for which to return the + * generation details.

            + */ + inline bool GenerationIdHasBeenSet() const { return m_generationIdHasBeenSet; } + + /** + *

            The unique identifier of the generation request for which to return the + * generation details.

            + */ + inline void SetGenerationId(const Aws::String& value) { m_generationIdHasBeenSet = true; m_generationId = value; } + + /** + *

            The unique identifier of the generation request for which to return the + * generation details.

            + */ + inline void SetGenerationId(Aws::String&& value) { m_generationIdHasBeenSet = true; m_generationId = std::move(value); } + + /** + *

            The unique identifier of the generation request for which to return the + * generation details.

            + */ + inline void SetGenerationId(const char* value) { m_generationIdHasBeenSet = true; m_generationId.assign(value); } + + /** + *

            The unique identifier of the generation request for which to return the + * generation details.

            + */ + inline DescribeBotResourceGenerationRequest& WithGenerationId(const Aws::String& value) { SetGenerationId(value); return *this;} + + /** + *

            The unique identifier of the generation request for which to return the + * generation details.

            + */ + inline DescribeBotResourceGenerationRequest& WithGenerationId(Aws::String&& value) { SetGenerationId(std::move(value)); return *this;} + + /** + *

            The unique identifier of the generation request for which to return the + * generation details.

            + */ + inline DescribeBotResourceGenerationRequest& WithGenerationId(const char* value) { SetGenerationId(value); return *this;} + + private: + + Aws::String m_botId; + bool m_botIdHasBeenSet = false; + + Aws::String m_botVersion; + bool m_botVersionHasBeenSet = false; + + Aws::String m_localeId; + bool m_localeIdHasBeenSet = false; + + Aws::String m_generationId; + bool m_generationIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace LexModelsV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/DescribeBotResourceGenerationResult.h b/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/DescribeBotResourceGenerationResult.h new file mode 100644 index 00000000000..d0a06171787 --- /dev/null +++ b/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/DescribeBotResourceGenerationResult.h @@ -0,0 +1,474 @@ +/** + * 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 LexModelsV2 +{ +namespace Model +{ + class DescribeBotResourceGenerationResult + { + public: + AWS_LEXMODELSV2_API DescribeBotResourceGenerationResult(); + AWS_LEXMODELSV2_API DescribeBotResourceGenerationResult(const Aws::AmazonWebServiceResult& result); + AWS_LEXMODELSV2_API DescribeBotResourceGenerationResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

            The unique identifier of the bot for which the generation request was + * made.

            + */ + inline const Aws::String& GetBotId() const{ return m_botId; } + + /** + *

            The unique identifier of the bot for which the generation request was + * made.

            + */ + inline void SetBotId(const Aws::String& value) { m_botId = value; } + + /** + *

            The unique identifier of the bot for which the generation request was + * made.

            + */ + inline void SetBotId(Aws::String&& value) { m_botId = std::move(value); } + + /** + *

            The unique identifier of the bot for which the generation request was + * made.

            + */ + inline void SetBotId(const char* value) { m_botId.assign(value); } + + /** + *

            The unique identifier of the bot for which the generation request was + * made.

            + */ + inline DescribeBotResourceGenerationResult& WithBotId(const Aws::String& value) { SetBotId(value); return *this;} + + /** + *

            The unique identifier of the bot for which the generation request was + * made.

            + */ + inline DescribeBotResourceGenerationResult& WithBotId(Aws::String&& value) { SetBotId(std::move(value)); return *this;} + + /** + *

            The unique identifier of the bot for which the generation request was + * made.

            + */ + inline DescribeBotResourceGenerationResult& WithBotId(const char* value) { SetBotId(value); return *this;} + + + /** + *

            The version of the bot for which the generation request was made.

            + */ + inline const Aws::String& GetBotVersion() const{ return m_botVersion; } + + /** + *

            The version of the bot for which the generation request was made.

            + */ + inline void SetBotVersion(const Aws::String& value) { m_botVersion = value; } + + /** + *

            The version of the bot for which the generation request was made.

            + */ + inline void SetBotVersion(Aws::String&& value) { m_botVersion = std::move(value); } + + /** + *

            The version of the bot for which the generation request was made.

            + */ + inline void SetBotVersion(const char* value) { m_botVersion.assign(value); } + + /** + *

            The version of the bot for which the generation request was made.

            + */ + inline DescribeBotResourceGenerationResult& WithBotVersion(const Aws::String& value) { SetBotVersion(value); return *this;} + + /** + *

            The version of the bot for which the generation request was made.

            + */ + inline DescribeBotResourceGenerationResult& WithBotVersion(Aws::String&& value) { SetBotVersion(std::move(value)); return *this;} + + /** + *

            The version of the bot for which the generation request was made.

            + */ + inline DescribeBotResourceGenerationResult& WithBotVersion(const char* value) { SetBotVersion(value); return *this;} + + + /** + *

            The locale of the bot for which the generation request was made.

            + */ + inline const Aws::String& GetLocaleId() const{ return m_localeId; } + + /** + *

            The locale of the bot for which the generation request was made.

            + */ + inline void SetLocaleId(const Aws::String& value) { m_localeId = value; } + + /** + *

            The locale of the bot for which the generation request was made.

            + */ + inline void SetLocaleId(Aws::String&& value) { m_localeId = std::move(value); } + + /** + *

            The locale of the bot for which the generation request was made.

            + */ + inline void SetLocaleId(const char* value) { m_localeId.assign(value); } + + /** + *

            The locale of the bot for which the generation request was made.

            + */ + inline DescribeBotResourceGenerationResult& WithLocaleId(const Aws::String& value) { SetLocaleId(value); return *this;} + + /** + *

            The locale of the bot for which the generation request was made.

            + */ + inline DescribeBotResourceGenerationResult& WithLocaleId(Aws::String&& value) { SetLocaleId(std::move(value)); return *this;} + + /** + *

            The locale of the bot for which the generation request was made.

            + */ + inline DescribeBotResourceGenerationResult& WithLocaleId(const char* value) { SetLocaleId(value); return *this;} + + + /** + *

            The generation ID for which to return the generation details.

            + */ + inline const Aws::String& GetGenerationId() const{ return m_generationId; } + + /** + *

            The generation ID for which to return the generation details.

            + */ + inline void SetGenerationId(const Aws::String& value) { m_generationId = value; } + + /** + *

            The generation ID for which to return the generation details.

            + */ + inline void SetGenerationId(Aws::String&& value) { m_generationId = std::move(value); } + + /** + *

            The generation ID for which to return the generation details.

            + */ + inline void SetGenerationId(const char* value) { m_generationId.assign(value); } + + /** + *

            The generation ID for which to return the generation details.

            + */ + inline DescribeBotResourceGenerationResult& WithGenerationId(const Aws::String& value) { SetGenerationId(value); return *this;} + + /** + *

            The generation ID for which to return the generation details.

            + */ + inline DescribeBotResourceGenerationResult& WithGenerationId(Aws::String&& value) { SetGenerationId(std::move(value)); return *this;} + + /** + *

            The generation ID for which to return the generation details.

            + */ + inline DescribeBotResourceGenerationResult& WithGenerationId(const char* value) { SetGenerationId(value); return *this;} + + + /** + *

            A list of reasons why the generation of bot resources through natural + * language description failed.

            + */ + inline const Aws::Vector& GetFailureReasons() const{ return m_failureReasons; } + + /** + *

            A list of reasons why the generation of bot resources through natural + * language description failed.

            + */ + inline void SetFailureReasons(const Aws::Vector& value) { m_failureReasons = value; } + + /** + *

            A list of reasons why the generation of bot resources through natural + * language description failed.

            + */ + inline void SetFailureReasons(Aws::Vector&& value) { m_failureReasons = std::move(value); } + + /** + *

            A list of reasons why the generation of bot resources through natural + * language description failed.

            + */ + inline DescribeBotResourceGenerationResult& WithFailureReasons(const Aws::Vector& value) { SetFailureReasons(value); return *this;} + + /** + *

            A list of reasons why the generation of bot resources through natural + * language description failed.

            + */ + inline DescribeBotResourceGenerationResult& WithFailureReasons(Aws::Vector&& value) { SetFailureReasons(std::move(value)); return *this;} + + /** + *

            A list of reasons why the generation of bot resources through natural + * language description failed.

            + */ + inline DescribeBotResourceGenerationResult& AddFailureReasons(const Aws::String& value) { m_failureReasons.push_back(value); return *this; } + + /** + *

            A list of reasons why the generation of bot resources through natural + * language description failed.

            + */ + inline DescribeBotResourceGenerationResult& AddFailureReasons(Aws::String&& value) { m_failureReasons.push_back(std::move(value)); return *this; } + + /** + *

            A list of reasons why the generation of bot resources through natural + * language description failed.

            + */ + inline DescribeBotResourceGenerationResult& AddFailureReasons(const char* value) { m_failureReasons.push_back(value); return *this; } + + + /** + *

            The status of the generation request.

            + */ + inline const GenerationStatus& GetGenerationStatus() const{ return m_generationStatus; } + + /** + *

            The status of the generation request.

            + */ + inline void SetGenerationStatus(const GenerationStatus& value) { m_generationStatus = value; } + + /** + *

            The status of the generation request.

            + */ + inline void SetGenerationStatus(GenerationStatus&& value) { m_generationStatus = std::move(value); } + + /** + *

            The status of the generation request.

            + */ + inline DescribeBotResourceGenerationResult& WithGenerationStatus(const GenerationStatus& value) { SetGenerationStatus(value); return *this;} + + /** + *

            The status of the generation request.

            + */ + inline DescribeBotResourceGenerationResult& WithGenerationStatus(GenerationStatus&& value) { SetGenerationStatus(std::move(value)); return *this;} + + + /** + *

            The prompt used in the generation request.

            + */ + inline const Aws::String& GetGenerationInputPrompt() const{ return m_generationInputPrompt; } + + /** + *

            The prompt used in the generation request.

            + */ + inline void SetGenerationInputPrompt(const Aws::String& value) { m_generationInputPrompt = value; } + + /** + *

            The prompt used in the generation request.

            + */ + inline void SetGenerationInputPrompt(Aws::String&& value) { m_generationInputPrompt = std::move(value); } + + /** + *

            The prompt used in the generation request.

            + */ + inline void SetGenerationInputPrompt(const char* value) { m_generationInputPrompt.assign(value); } + + /** + *

            The prompt used in the generation request.

            + */ + inline DescribeBotResourceGenerationResult& WithGenerationInputPrompt(const Aws::String& value) { SetGenerationInputPrompt(value); return *this;} + + /** + *

            The prompt used in the generation request.

            + */ + inline DescribeBotResourceGenerationResult& WithGenerationInputPrompt(Aws::String&& value) { SetGenerationInputPrompt(std::move(value)); return *this;} + + /** + *

            The prompt used in the generation request.

            + */ + inline DescribeBotResourceGenerationResult& WithGenerationInputPrompt(const char* value) { SetGenerationInputPrompt(value); return *this;} + + + /** + *

            The Amazon S3 location of the generated bot locale configuration.

            + */ + inline const Aws::String& GetGeneratedBotLocaleUrl() const{ return m_generatedBotLocaleUrl; } + + /** + *

            The Amazon S3 location of the generated bot locale configuration.

            + */ + inline void SetGeneratedBotLocaleUrl(const Aws::String& value) { m_generatedBotLocaleUrl = value; } + + /** + *

            The Amazon S3 location of the generated bot locale configuration.

            + */ + inline void SetGeneratedBotLocaleUrl(Aws::String&& value) { m_generatedBotLocaleUrl = std::move(value); } + + /** + *

            The Amazon S3 location of the generated bot locale configuration.

            + */ + inline void SetGeneratedBotLocaleUrl(const char* value) { m_generatedBotLocaleUrl.assign(value); } + + /** + *

            The Amazon S3 location of the generated bot locale configuration.

            + */ + inline DescribeBotResourceGenerationResult& WithGeneratedBotLocaleUrl(const Aws::String& value) { SetGeneratedBotLocaleUrl(value); return *this;} + + /** + *

            The Amazon S3 location of the generated bot locale configuration.

            + */ + inline DescribeBotResourceGenerationResult& WithGeneratedBotLocaleUrl(Aws::String&& value) { SetGeneratedBotLocaleUrl(std::move(value)); return *this;} + + /** + *

            The Amazon S3 location of the generated bot locale configuration.

            + */ + inline DescribeBotResourceGenerationResult& WithGeneratedBotLocaleUrl(const char* value) { SetGeneratedBotLocaleUrl(value); return *this;} + + + /** + *

            The date and time at which the item was generated.

            + */ + inline const Aws::Utils::DateTime& GetCreationDateTime() const{ return m_creationDateTime; } + + /** + *

            The date and time at which the item was generated.

            + */ + inline void SetCreationDateTime(const Aws::Utils::DateTime& value) { m_creationDateTime = value; } + + /** + *

            The date and time at which the item was generated.

            + */ + inline void SetCreationDateTime(Aws::Utils::DateTime&& value) { m_creationDateTime = std::move(value); } + + /** + *

            The date and time at which the item was generated.

            + */ + inline DescribeBotResourceGenerationResult& WithCreationDateTime(const Aws::Utils::DateTime& value) { SetCreationDateTime(value); return *this;} + + /** + *

            The date and time at which the item was generated.

            + */ + inline DescribeBotResourceGenerationResult& WithCreationDateTime(Aws::Utils::DateTime&& value) { SetCreationDateTime(std::move(value)); return *this;} + + + /** + *

            The ARN of the model used to generate the bot resources.

            + */ + inline const Aws::String& GetModelArn() const{ return m_modelArn; } + + /** + *

            The ARN of the model used to generate the bot resources.

            + */ + inline void SetModelArn(const Aws::String& value) { m_modelArn = value; } + + /** + *

            The ARN of the model used to generate the bot resources.

            + */ + inline void SetModelArn(Aws::String&& value) { m_modelArn = std::move(value); } + + /** + *

            The ARN of the model used to generate the bot resources.

            + */ + inline void SetModelArn(const char* value) { m_modelArn.assign(value); } + + /** + *

            The ARN of the model used to generate the bot resources.

            + */ + inline DescribeBotResourceGenerationResult& WithModelArn(const Aws::String& value) { SetModelArn(value); return *this;} + + /** + *

            The ARN of the model used to generate the bot resources.

            + */ + inline DescribeBotResourceGenerationResult& WithModelArn(Aws::String&& value) { SetModelArn(std::move(value)); return *this;} + + /** + *

            The ARN of the model used to generate the bot resources.

            + */ + inline DescribeBotResourceGenerationResult& WithModelArn(const char* value) { SetModelArn(value); return *this;} + + + /** + *

            The date and time at which the generated item was updated.

            + */ + inline const Aws::Utils::DateTime& GetLastUpdatedDateTime() const{ return m_lastUpdatedDateTime; } + + /** + *

            The date and time at which the generated item was updated.

            + */ + inline void SetLastUpdatedDateTime(const Aws::Utils::DateTime& value) { m_lastUpdatedDateTime = value; } + + /** + *

            The date and time at which the generated item was updated.

            + */ + inline void SetLastUpdatedDateTime(Aws::Utils::DateTime&& value) { m_lastUpdatedDateTime = std::move(value); } + + /** + *

            The date and time at which the generated item was updated.

            + */ + inline DescribeBotResourceGenerationResult& WithLastUpdatedDateTime(const Aws::Utils::DateTime& value) { SetLastUpdatedDateTime(value); return *this;} + + /** + *

            The date and time at which the generated item was updated.

            + */ + inline DescribeBotResourceGenerationResult& WithLastUpdatedDateTime(Aws::Utils::DateTime&& value) { SetLastUpdatedDateTime(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 DescribeBotResourceGenerationResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline DescribeBotResourceGenerationResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline DescribeBotResourceGenerationResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::String m_botId; + + Aws::String m_botVersion; + + Aws::String m_localeId; + + Aws::String m_generationId; + + Aws::Vector m_failureReasons; + + GenerationStatus m_generationStatus; + + Aws::String m_generationInputPrompt; + + Aws::String m_generatedBotLocaleUrl; + + Aws::Utils::DateTime m_creationDateTime; + + Aws::String m_modelArn; + + Aws::Utils::DateTime m_lastUpdatedDateTime; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace LexModelsV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/DescriptiveBotBuilderSpecification.h b/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/DescriptiveBotBuilderSpecification.h new file mode 100644 index 00000000000..323f2af3bfe --- /dev/null +++ b/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/DescriptiveBotBuilderSpecification.h @@ -0,0 +1,113 @@ +/** + * 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 LexModelsV2 +{ +namespace Model +{ + + /** + *

            Contains specifications for the descriptive bot building + * feature.

            See Also:

            AWS + * API Reference

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

            Specifies whether the descriptive bot building feature is activated or + * not.

            + */ + inline bool GetEnabled() const{ return m_enabled; } + + /** + *

            Specifies whether the descriptive bot building feature is activated or + * not.

            + */ + inline bool EnabledHasBeenSet() const { return m_enabledHasBeenSet; } + + /** + *

            Specifies whether the descriptive bot building feature is activated or + * not.

            + */ + inline void SetEnabled(bool value) { m_enabledHasBeenSet = true; m_enabled = value; } + + /** + *

            Specifies whether the descriptive bot building feature is activated or + * not.

            + */ + inline DescriptiveBotBuilderSpecification& WithEnabled(bool value) { SetEnabled(value); return *this;} + + + /** + *

            An object containing information about the Amazon Bedrock model used to + * interpret the prompt used in descriptive bot building.

            + */ + inline const BedrockModelSpecification& GetBedrockModelSpecification() const{ return m_bedrockModelSpecification; } + + /** + *

            An object containing information about the Amazon Bedrock model used to + * interpret the prompt used in descriptive bot building.

            + */ + inline bool BedrockModelSpecificationHasBeenSet() const { return m_bedrockModelSpecificationHasBeenSet; } + + /** + *

            An object containing information about the Amazon Bedrock model used to + * interpret the prompt used in descriptive bot building.

            + */ + inline void SetBedrockModelSpecification(const BedrockModelSpecification& value) { m_bedrockModelSpecificationHasBeenSet = true; m_bedrockModelSpecification = value; } + + /** + *

            An object containing information about the Amazon Bedrock model used to + * interpret the prompt used in descriptive bot building.

            + */ + inline void SetBedrockModelSpecification(BedrockModelSpecification&& value) { m_bedrockModelSpecificationHasBeenSet = true; m_bedrockModelSpecification = std::move(value); } + + /** + *

            An object containing information about the Amazon Bedrock model used to + * interpret the prompt used in descriptive bot building.

            + */ + inline DescriptiveBotBuilderSpecification& WithBedrockModelSpecification(const BedrockModelSpecification& value) { SetBedrockModelSpecification(value); return *this;} + + /** + *

            An object containing information about the Amazon Bedrock model used to + * interpret the prompt used in descriptive bot building.

            + */ + inline DescriptiveBotBuilderSpecification& WithBedrockModelSpecification(BedrockModelSpecification&& value) { SetBedrockModelSpecification(std::move(value)); return *this;} + + private: + + bool m_enabled; + bool m_enabledHasBeenSet = false; + + BedrockModelSpecification m_bedrockModelSpecification; + bool m_bedrockModelSpecificationHasBeenSet = false; + }; + +} // namespace Model +} // namespace LexModelsV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/GenerateBotElementRequest.h b/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/GenerateBotElementRequest.h new file mode 100644 index 00000000000..8ef65c5b8b0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/GenerateBotElementRequest.h @@ -0,0 +1,215 @@ +/** + * 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 LexModelsV2 +{ +namespace Model +{ + + /** + */ + class GenerateBotElementRequest : public LexModelsV2Request + { + public: + AWS_LEXMODELSV2_API GenerateBotElementRequest(); + + // 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 "GenerateBotElement"; } + + AWS_LEXMODELSV2_API Aws::String SerializePayload() const override; + + + /** + *

            The intent unique Id for the bot request to generate utterances.

            + */ + inline const Aws::String& GetIntentId() const{ return m_intentId; } + + /** + *

            The intent unique Id for the bot request to generate utterances.

            + */ + inline bool IntentIdHasBeenSet() const { return m_intentIdHasBeenSet; } + + /** + *

            The intent unique Id for the bot request to generate utterances.

            + */ + inline void SetIntentId(const Aws::String& value) { m_intentIdHasBeenSet = true; m_intentId = value; } + + /** + *

            The intent unique Id for the bot request to generate utterances.

            + */ + inline void SetIntentId(Aws::String&& value) { m_intentIdHasBeenSet = true; m_intentId = std::move(value); } + + /** + *

            The intent unique Id for the bot request to generate utterances.

            + */ + inline void SetIntentId(const char* value) { m_intentIdHasBeenSet = true; m_intentId.assign(value); } + + /** + *

            The intent unique Id for the bot request to generate utterances.

            + */ + inline GenerateBotElementRequest& WithIntentId(const Aws::String& value) { SetIntentId(value); return *this;} + + /** + *

            The intent unique Id for the bot request to generate utterances.

            + */ + inline GenerateBotElementRequest& WithIntentId(Aws::String&& value) { SetIntentId(std::move(value)); return *this;} + + /** + *

            The intent unique Id for the bot request to generate utterances.

            + */ + inline GenerateBotElementRequest& WithIntentId(const char* value) { SetIntentId(value); return *this;} + + + /** + *

            The bot unique Id for the bot request to generate utterances.

            + */ + inline const Aws::String& GetBotId() const{ return m_botId; } + + /** + *

            The bot unique Id for the bot request to generate utterances.

            + */ + inline bool BotIdHasBeenSet() const { return m_botIdHasBeenSet; } + + /** + *

            The bot unique Id for the bot request to generate utterances.

            + */ + inline void SetBotId(const Aws::String& value) { m_botIdHasBeenSet = true; m_botId = value; } + + /** + *

            The bot unique Id for the bot request to generate utterances.

            + */ + inline void SetBotId(Aws::String&& value) { m_botIdHasBeenSet = true; m_botId = std::move(value); } + + /** + *

            The bot unique Id for the bot request to generate utterances.

            + */ + inline void SetBotId(const char* value) { m_botIdHasBeenSet = true; m_botId.assign(value); } + + /** + *

            The bot unique Id for the bot request to generate utterances.

            + */ + inline GenerateBotElementRequest& WithBotId(const Aws::String& value) { SetBotId(value); return *this;} + + /** + *

            The bot unique Id for the bot request to generate utterances.

            + */ + inline GenerateBotElementRequest& WithBotId(Aws::String&& value) { SetBotId(std::move(value)); return *this;} + + /** + *

            The bot unique Id for the bot request to generate utterances.

            + */ + inline GenerateBotElementRequest& WithBotId(const char* value) { SetBotId(value); return *this;} + + + /** + *

            The bot version for the bot request to generate utterances.

            + */ + inline const Aws::String& GetBotVersion() const{ return m_botVersion; } + + /** + *

            The bot version for the bot request to generate utterances.

            + */ + inline bool BotVersionHasBeenSet() const { return m_botVersionHasBeenSet; } + + /** + *

            The bot version for the bot request to generate utterances.

            + */ + inline void SetBotVersion(const Aws::String& value) { m_botVersionHasBeenSet = true; m_botVersion = value; } + + /** + *

            The bot version for the bot request to generate utterances.

            + */ + inline void SetBotVersion(Aws::String&& value) { m_botVersionHasBeenSet = true; m_botVersion = std::move(value); } + + /** + *

            The bot version for the bot request to generate utterances.

            + */ + inline void SetBotVersion(const char* value) { m_botVersionHasBeenSet = true; m_botVersion.assign(value); } + + /** + *

            The bot version for the bot request to generate utterances.

            + */ + inline GenerateBotElementRequest& WithBotVersion(const Aws::String& value) { SetBotVersion(value); return *this;} + + /** + *

            The bot version for the bot request to generate utterances.

            + */ + inline GenerateBotElementRequest& WithBotVersion(Aws::String&& value) { SetBotVersion(std::move(value)); return *this;} + + /** + *

            The bot version for the bot request to generate utterances.

            + */ + inline GenerateBotElementRequest& WithBotVersion(const char* value) { SetBotVersion(value); return *this;} + + + /** + *

            The unique locale Id for the bot request to generate utterances.

            + */ + inline const Aws::String& GetLocaleId() const{ return m_localeId; } + + /** + *

            The unique locale Id for the bot request to generate utterances.

            + */ + inline bool LocaleIdHasBeenSet() const { return m_localeIdHasBeenSet; } + + /** + *

            The unique locale Id for the bot request to generate utterances.

            + */ + inline void SetLocaleId(const Aws::String& value) { m_localeIdHasBeenSet = true; m_localeId = value; } + + /** + *

            The unique locale Id for the bot request to generate utterances.

            + */ + inline void SetLocaleId(Aws::String&& value) { m_localeIdHasBeenSet = true; m_localeId = std::move(value); } + + /** + *

            The unique locale Id for the bot request to generate utterances.

            + */ + inline void SetLocaleId(const char* value) { m_localeIdHasBeenSet = true; m_localeId.assign(value); } + + /** + *

            The unique locale Id for the bot request to generate utterances.

            + */ + inline GenerateBotElementRequest& WithLocaleId(const Aws::String& value) { SetLocaleId(value); return *this;} + + /** + *

            The unique locale Id for the bot request to generate utterances.

            + */ + inline GenerateBotElementRequest& WithLocaleId(Aws::String&& value) { SetLocaleId(std::move(value)); return *this;} + + /** + *

            The unique locale Id for the bot request to generate utterances.

            + */ + inline GenerateBotElementRequest& WithLocaleId(const char* value) { SetLocaleId(value); return *this;} + + private: + + Aws::String m_intentId; + bool m_intentIdHasBeenSet = false; + + Aws::String m_botId; + bool m_botIdHasBeenSet = false; + + Aws::String m_botVersion; + bool m_botVersionHasBeenSet = false; + + Aws::String m_localeId; + bool m_localeIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace LexModelsV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/GenerateBotElementResult.h b/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/GenerateBotElementResult.h new file mode 100644 index 00000000000..ac37bd991fc --- /dev/null +++ b/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/GenerateBotElementResult.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 + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace LexModelsV2 +{ +namespace Model +{ + class GenerateBotElementResult + { + public: + AWS_LEXMODELSV2_API GenerateBotElementResult(); + AWS_LEXMODELSV2_API GenerateBotElementResult(const Aws::AmazonWebServiceResult& result); + AWS_LEXMODELSV2_API GenerateBotElementResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

            The unique bot Id for the bot which received the response.

            + */ + inline const Aws::String& GetBotId() const{ return m_botId; } + + /** + *

            The unique bot Id for the bot which received the response.

            + */ + inline void SetBotId(const Aws::String& value) { m_botId = value; } + + /** + *

            The unique bot Id for the bot which received the response.

            + */ + inline void SetBotId(Aws::String&& value) { m_botId = std::move(value); } + + /** + *

            The unique bot Id for the bot which received the response.

            + */ + inline void SetBotId(const char* value) { m_botId.assign(value); } + + /** + *

            The unique bot Id for the bot which received the response.

            + */ + inline GenerateBotElementResult& WithBotId(const Aws::String& value) { SetBotId(value); return *this;} + + /** + *

            The unique bot Id for the bot which received the response.

            + */ + inline GenerateBotElementResult& WithBotId(Aws::String&& value) { SetBotId(std::move(value)); return *this;} + + /** + *

            The unique bot Id for the bot which received the response.

            + */ + inline GenerateBotElementResult& WithBotId(const char* value) { SetBotId(value); return *this;} + + + /** + *

            The unique bot version for the bot which received the response.

            + */ + inline const Aws::String& GetBotVersion() const{ return m_botVersion; } + + /** + *

            The unique bot version for the bot which received the response.

            + */ + inline void SetBotVersion(const Aws::String& value) { m_botVersion = value; } + + /** + *

            The unique bot version for the bot which received the response.

            + */ + inline void SetBotVersion(Aws::String&& value) { m_botVersion = std::move(value); } + + /** + *

            The unique bot version for the bot which received the response.

            + */ + inline void SetBotVersion(const char* value) { m_botVersion.assign(value); } + + /** + *

            The unique bot version for the bot which received the response.

            + */ + inline GenerateBotElementResult& WithBotVersion(const Aws::String& value) { SetBotVersion(value); return *this;} + + /** + *

            The unique bot version for the bot which received the response.

            + */ + inline GenerateBotElementResult& WithBotVersion(Aws::String&& value) { SetBotVersion(std::move(value)); return *this;} + + /** + *

            The unique bot version for the bot which received the response.

            + */ + inline GenerateBotElementResult& WithBotVersion(const char* value) { SetBotVersion(value); return *this;} + + + /** + *

            The unique locale Id for the bot which received the response.

            + */ + inline const Aws::String& GetLocaleId() const{ return m_localeId; } + + /** + *

            The unique locale Id for the bot which received the response.

            + */ + inline void SetLocaleId(const Aws::String& value) { m_localeId = value; } + + /** + *

            The unique locale Id for the bot which received the response.

            + */ + inline void SetLocaleId(Aws::String&& value) { m_localeId = std::move(value); } + + /** + *

            The unique locale Id for the bot which received the response.

            + */ + inline void SetLocaleId(const char* value) { m_localeId.assign(value); } + + /** + *

            The unique locale Id for the bot which received the response.

            + */ + inline GenerateBotElementResult& WithLocaleId(const Aws::String& value) { SetLocaleId(value); return *this;} + + /** + *

            The unique locale Id for the bot which received the response.

            + */ + inline GenerateBotElementResult& WithLocaleId(Aws::String&& value) { SetLocaleId(std::move(value)); return *this;} + + /** + *

            The unique locale Id for the bot which received the response.

            + */ + inline GenerateBotElementResult& WithLocaleId(const char* value) { SetLocaleId(value); return *this;} + + + /** + *

            The unique intent Id for the bot which received the response.

            + */ + inline const Aws::String& GetIntentId() const{ return m_intentId; } + + /** + *

            The unique intent Id for the bot which received the response.

            + */ + inline void SetIntentId(const Aws::String& value) { m_intentId = value; } + + /** + *

            The unique intent Id for the bot which received the response.

            + */ + inline void SetIntentId(Aws::String&& value) { m_intentId = std::move(value); } + + /** + *

            The unique intent Id for the bot which received the response.

            + */ + inline void SetIntentId(const char* value) { m_intentId.assign(value); } + + /** + *

            The unique intent Id for the bot which received the response.

            + */ + inline GenerateBotElementResult& WithIntentId(const Aws::String& value) { SetIntentId(value); return *this;} + + /** + *

            The unique intent Id for the bot which received the response.

            + */ + inline GenerateBotElementResult& WithIntentId(Aws::String&& value) { SetIntentId(std::move(value)); return *this;} + + /** + *

            The unique intent Id for the bot which received the response.

            + */ + inline GenerateBotElementResult& WithIntentId(const char* value) { SetIntentId(value); return *this;} + + + /** + *

            The sample utterances for the bot which received the response.

            + */ + inline const Aws::Vector& GetSampleUtterances() const{ return m_sampleUtterances; } + + /** + *

            The sample utterances for the bot which received the response.

            + */ + inline void SetSampleUtterances(const Aws::Vector& value) { m_sampleUtterances = value; } + + /** + *

            The sample utterances for the bot which received the response.

            + */ + inline void SetSampleUtterances(Aws::Vector&& value) { m_sampleUtterances = std::move(value); } + + /** + *

            The sample utterances for the bot which received the response.

            + */ + inline GenerateBotElementResult& WithSampleUtterances(const Aws::Vector& value) { SetSampleUtterances(value); return *this;} + + /** + *

            The sample utterances for the bot which received the response.

            + */ + inline GenerateBotElementResult& WithSampleUtterances(Aws::Vector&& value) { SetSampleUtterances(std::move(value)); return *this;} + + /** + *

            The sample utterances for the bot which received the response.

            + */ + inline GenerateBotElementResult& AddSampleUtterances(const SampleUtterance& value) { m_sampleUtterances.push_back(value); return *this; } + + /** + *

            The sample utterances for the bot which received the response.

            + */ + inline GenerateBotElementResult& AddSampleUtterances(SampleUtterance&& value) { m_sampleUtterances.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 GenerateBotElementResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline GenerateBotElementResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline GenerateBotElementResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::String m_botId; + + Aws::String m_botVersion; + + Aws::String m_localeId; + + Aws::String m_intentId; + + Aws::Vector m_sampleUtterances; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace LexModelsV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/GenerationSortBy.h b/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/GenerationSortBy.h new file mode 100644 index 00000000000..6a23c20bcb6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/GenerationSortBy.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 + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace LexModelsV2 +{ +namespace Model +{ + + /** + *

            Specifies the attribute and method by which to sort the generation request + * information.

            See Also:

            AWS + * API Reference

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

            The attribute by which to sort the generation request information. You can + * sort by the following attributes.

            • + * creationStartTime – The time at which the generation request was + * created.

            • lastUpdatedTime – The time at which the + * generation request was last updated.

            + */ + inline const GenerationSortByAttribute& GetAttribute() const{ return m_attribute; } + + /** + *

            The attribute by which to sort the generation request information. You can + * sort by the following attributes.

            • + * creationStartTime – The time at which the generation request was + * created.

            • lastUpdatedTime – The time at which the + * generation request was last updated.

            + */ + inline bool AttributeHasBeenSet() const { return m_attributeHasBeenSet; } + + /** + *

            The attribute by which to sort the generation request information. You can + * sort by the following attributes.

            • + * creationStartTime – The time at which the generation request was + * created.

            • lastUpdatedTime – The time at which the + * generation request was last updated.

            + */ + inline void SetAttribute(const GenerationSortByAttribute& value) { m_attributeHasBeenSet = true; m_attribute = value; } + + /** + *

            The attribute by which to sort the generation request information. You can + * sort by the following attributes.

            • + * creationStartTime – The time at which the generation request was + * created.

            • lastUpdatedTime – The time at which the + * generation request was last updated.

            + */ + inline void SetAttribute(GenerationSortByAttribute&& value) { m_attributeHasBeenSet = true; m_attribute = std::move(value); } + + /** + *

            The attribute by which to sort the generation request information. You can + * sort by the following attributes.

            • + * creationStartTime – The time at which the generation request was + * created.

            • lastUpdatedTime – The time at which the + * generation request was last updated.

            + */ + inline GenerationSortBy& WithAttribute(const GenerationSortByAttribute& value) { SetAttribute(value); return *this;} + + /** + *

            The attribute by which to sort the generation request information. You can + * sort by the following attributes.

            • + * creationStartTime – The time at which the generation request was + * created.

            • lastUpdatedTime – The time at which the + * generation request was last updated.

            + */ + inline GenerationSortBy& WithAttribute(GenerationSortByAttribute&& value) { SetAttribute(std::move(value)); return *this;} + + + /** + *

            The order by which to sort the generation request information.

            + */ + inline const SortOrder& GetOrder() const{ return m_order; } + + /** + *

            The order by which to sort the generation request information.

            + */ + inline bool OrderHasBeenSet() const { return m_orderHasBeenSet; } + + /** + *

            The order by which to sort the generation request information.

            + */ + inline void SetOrder(const SortOrder& value) { m_orderHasBeenSet = true; m_order = value; } + + /** + *

            The order by which to sort the generation request information.

            + */ + inline void SetOrder(SortOrder&& value) { m_orderHasBeenSet = true; m_order = std::move(value); } + + /** + *

            The order by which to sort the generation request information.

            + */ + inline GenerationSortBy& WithOrder(const SortOrder& value) { SetOrder(value); return *this;} + + /** + *

            The order by which to sort the generation request information.

            + */ + inline GenerationSortBy& WithOrder(SortOrder&& value) { SetOrder(std::move(value)); return *this;} + + private: + + GenerationSortByAttribute m_attribute; + bool m_attributeHasBeenSet = false; + + SortOrder m_order; + bool m_orderHasBeenSet = false; + }; + +} // namespace Model +} // namespace LexModelsV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/GenerationSortByAttribute.h b/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/GenerationSortByAttribute.h new file mode 100644 index 00000000000..404b3a2c2a1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/GenerationSortByAttribute.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 LexModelsV2 +{ +namespace Model +{ + enum class GenerationSortByAttribute + { + NOT_SET, + creationStartTime, + lastUpdatedTime + }; + +namespace GenerationSortByAttributeMapper +{ +AWS_LEXMODELSV2_API GenerationSortByAttribute GetGenerationSortByAttributeForName(const Aws::String& name); + +AWS_LEXMODELSV2_API Aws::String GetNameForGenerationSortByAttribute(GenerationSortByAttribute value); +} // namespace GenerationSortByAttributeMapper +} // namespace Model +} // namespace LexModelsV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/GenerationStatus.h b/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/GenerationStatus.h new file mode 100644 index 00000000000..48ca32fbcb1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/GenerationStatus.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 LexModelsV2 +{ +namespace Model +{ + enum class GenerationStatus + { + NOT_SET, + Failed, + Complete, + InProgress + }; + +namespace GenerationStatusMapper +{ +AWS_LEXMODELSV2_API GenerationStatus GetGenerationStatusForName(const Aws::String& name); + +AWS_LEXMODELSV2_API Aws::String GetNameForGenerationStatus(GenerationStatus value); +} // namespace GenerationStatusMapper +} // namespace Model +} // namespace LexModelsV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/GenerationSummary.h b/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/GenerationSummary.h new file mode 100644 index 00000000000..8399d28ab27 --- /dev/null +++ b/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/GenerationSummary.h @@ -0,0 +1,193 @@ +/** + * 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 LexModelsV2 +{ +namespace Model +{ + + /** + *

            Contains information about a generation request made for the bot + * locale.

            See Also:

            AWS + * API Reference

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

            The unique identifier of the generation request.

            + */ + inline const Aws::String& GetGenerationId() const{ return m_generationId; } + + /** + *

            The unique identifier of the generation request.

            + */ + inline bool GenerationIdHasBeenSet() const { return m_generationIdHasBeenSet; } + + /** + *

            The unique identifier of the generation request.

            + */ + inline void SetGenerationId(const Aws::String& value) { m_generationIdHasBeenSet = true; m_generationId = value; } + + /** + *

            The unique identifier of the generation request.

            + */ + inline void SetGenerationId(Aws::String&& value) { m_generationIdHasBeenSet = true; m_generationId = std::move(value); } + + /** + *

            The unique identifier of the generation request.

            + */ + inline void SetGenerationId(const char* value) { m_generationIdHasBeenSet = true; m_generationId.assign(value); } + + /** + *

            The unique identifier of the generation request.

            + */ + inline GenerationSummary& WithGenerationId(const Aws::String& value) { SetGenerationId(value); return *this;} + + /** + *

            The unique identifier of the generation request.

            + */ + inline GenerationSummary& WithGenerationId(Aws::String&& value) { SetGenerationId(std::move(value)); return *this;} + + /** + *

            The unique identifier of the generation request.

            + */ + inline GenerationSummary& WithGenerationId(const char* value) { SetGenerationId(value); return *this;} + + + /** + *

            The status of the generation request.

            + */ + inline const GenerationStatus& GetGenerationStatus() const{ return m_generationStatus; } + + /** + *

            The status of the generation request.

            + */ + inline bool GenerationStatusHasBeenSet() const { return m_generationStatusHasBeenSet; } + + /** + *

            The status of the generation request.

            + */ + inline void SetGenerationStatus(const GenerationStatus& value) { m_generationStatusHasBeenSet = true; m_generationStatus = value; } + + /** + *

            The status of the generation request.

            + */ + inline void SetGenerationStatus(GenerationStatus&& value) { m_generationStatusHasBeenSet = true; m_generationStatus = std::move(value); } + + /** + *

            The status of the generation request.

            + */ + inline GenerationSummary& WithGenerationStatus(const GenerationStatus& value) { SetGenerationStatus(value); return *this;} + + /** + *

            The status of the generation request.

            + */ + inline GenerationSummary& WithGenerationStatus(GenerationStatus&& value) { SetGenerationStatus(std::move(value)); return *this;} + + + /** + *

            The date and time at which the generation request was made.

            + */ + inline const Aws::Utils::DateTime& GetCreationDateTime() const{ return m_creationDateTime; } + + /** + *

            The date and time at which the generation request was made.

            + */ + inline bool CreationDateTimeHasBeenSet() const { return m_creationDateTimeHasBeenSet; } + + /** + *

            The date and time at which the generation request was made.

            + */ + inline void SetCreationDateTime(const Aws::Utils::DateTime& value) { m_creationDateTimeHasBeenSet = true; m_creationDateTime = value; } + + /** + *

            The date and time at which the generation request was made.

            + */ + inline void SetCreationDateTime(Aws::Utils::DateTime&& value) { m_creationDateTimeHasBeenSet = true; m_creationDateTime = std::move(value); } + + /** + *

            The date and time at which the generation request was made.

            + */ + inline GenerationSummary& WithCreationDateTime(const Aws::Utils::DateTime& value) { SetCreationDateTime(value); return *this;} + + /** + *

            The date and time at which the generation request was made.

            + */ + inline GenerationSummary& WithCreationDateTime(Aws::Utils::DateTime&& value) { SetCreationDateTime(std::move(value)); return *this;} + + + /** + *

            The date and time at which the generation request was last updated.

            + */ + inline const Aws::Utils::DateTime& GetLastUpdatedDateTime() const{ return m_lastUpdatedDateTime; } + + /** + *

            The date and time at which the generation request was last updated.

            + */ + inline bool LastUpdatedDateTimeHasBeenSet() const { return m_lastUpdatedDateTimeHasBeenSet; } + + /** + *

            The date and time at which the generation request was last updated.

            + */ + inline void SetLastUpdatedDateTime(const Aws::Utils::DateTime& value) { m_lastUpdatedDateTimeHasBeenSet = true; m_lastUpdatedDateTime = value; } + + /** + *

            The date and time at which the generation request was last updated.

            + */ + inline void SetLastUpdatedDateTime(Aws::Utils::DateTime&& value) { m_lastUpdatedDateTimeHasBeenSet = true; m_lastUpdatedDateTime = std::move(value); } + + /** + *

            The date and time at which the generation request was last updated.

            + */ + inline GenerationSummary& WithLastUpdatedDateTime(const Aws::Utils::DateTime& value) { SetLastUpdatedDateTime(value); return *this;} + + /** + *

            The date and time at which the generation request was last updated.

            + */ + inline GenerationSummary& WithLastUpdatedDateTime(Aws::Utils::DateTime&& value) { SetLastUpdatedDateTime(std::move(value)); return *this;} + + private: + + Aws::String m_generationId; + bool m_generationIdHasBeenSet = false; + + GenerationStatus m_generationStatus; + bool m_generationStatusHasBeenSet = false; + + Aws::Utils::DateTime m_creationDateTime; + bool m_creationDateTimeHasBeenSet = false; + + Aws::Utils::DateTime m_lastUpdatedDateTime; + bool m_lastUpdatedDateTimeHasBeenSet = false; + }; + +} // namespace Model +} // namespace LexModelsV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/GenerativeAISettings.h b/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/GenerativeAISettings.h new file mode 100644 index 00000000000..71d92cc95ab --- /dev/null +++ b/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/GenerativeAISettings.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 Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace LexModelsV2 +{ +namespace Model +{ + + /** + *

            Contains specifications about the generative AI capabilities from Amazon + * Bedrock that you can turn on for your bot.

            See Also:

            AWS + * API Reference

            + */ + class GenerativeAISettings + { + public: + AWS_LEXMODELSV2_API GenerativeAISettings(); + AWS_LEXMODELSV2_API GenerativeAISettings(Aws::Utils::Json::JsonView jsonValue); + AWS_LEXMODELSV2_API GenerativeAISettings& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_LEXMODELSV2_API Aws::Utils::Json::JsonValue Jsonize() const; + + + + inline const RuntimeSettings& GetRuntimeSettings() const{ return m_runtimeSettings; } + + + inline bool RuntimeSettingsHasBeenSet() const { return m_runtimeSettingsHasBeenSet; } + + + inline void SetRuntimeSettings(const RuntimeSettings& value) { m_runtimeSettingsHasBeenSet = true; m_runtimeSettings = value; } + + + inline void SetRuntimeSettings(RuntimeSettings&& value) { m_runtimeSettingsHasBeenSet = true; m_runtimeSettings = std::move(value); } + + + inline GenerativeAISettings& WithRuntimeSettings(const RuntimeSettings& value) { SetRuntimeSettings(value); return *this;} + + + inline GenerativeAISettings& WithRuntimeSettings(RuntimeSettings&& value) { SetRuntimeSettings(std::move(value)); return *this;} + + + + inline const BuildtimeSettings& GetBuildtimeSettings() const{ return m_buildtimeSettings; } + + + inline bool BuildtimeSettingsHasBeenSet() const { return m_buildtimeSettingsHasBeenSet; } + + + inline void SetBuildtimeSettings(const BuildtimeSettings& value) { m_buildtimeSettingsHasBeenSet = true; m_buildtimeSettings = value; } + + + inline void SetBuildtimeSettings(BuildtimeSettings&& value) { m_buildtimeSettingsHasBeenSet = true; m_buildtimeSettings = std::move(value); } + + + inline GenerativeAISettings& WithBuildtimeSettings(const BuildtimeSettings& value) { SetBuildtimeSettings(value); return *this;} + + + inline GenerativeAISettings& WithBuildtimeSettings(BuildtimeSettings&& value) { SetBuildtimeSettings(std::move(value)); return *this;} + + private: + + RuntimeSettings m_runtimeSettings; + bool m_runtimeSettingsHasBeenSet = false; + + BuildtimeSettings m_buildtimeSettings; + bool m_buildtimeSettingsHasBeenSet = false; + }; + +} // namespace Model +} // namespace LexModelsV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/ListBotResourceGenerationsRequest.h b/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/ListBotResourceGenerationsRequest.h new file mode 100644 index 00000000000..1d86d00300c --- /dev/null +++ b/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/ListBotResourceGenerationsRequest.h @@ -0,0 +1,312 @@ +/** + * 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 LexModelsV2 +{ +namespace Model +{ + + /** + */ + class ListBotResourceGenerationsRequest : public LexModelsV2Request + { + public: + AWS_LEXMODELSV2_API ListBotResourceGenerationsRequest(); + + // 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 "ListBotResourceGenerations"; } + + AWS_LEXMODELSV2_API Aws::String SerializePayload() const override; + + + /** + *

            The unique identifier of the bot whose generation requests you want to + * view.

            + */ + inline const Aws::String& GetBotId() const{ return m_botId; } + + /** + *

            The unique identifier of the bot whose generation requests you want to + * view.

            + */ + inline bool BotIdHasBeenSet() const { return m_botIdHasBeenSet; } + + /** + *

            The unique identifier of the bot whose generation requests you want to + * view.

            + */ + inline void SetBotId(const Aws::String& value) { m_botIdHasBeenSet = true; m_botId = value; } + + /** + *

            The unique identifier of the bot whose generation requests you want to + * view.

            + */ + inline void SetBotId(Aws::String&& value) { m_botIdHasBeenSet = true; m_botId = std::move(value); } + + /** + *

            The unique identifier of the bot whose generation requests you want to + * view.

            + */ + inline void SetBotId(const char* value) { m_botIdHasBeenSet = true; m_botId.assign(value); } + + /** + *

            The unique identifier of the bot whose generation requests you want to + * view.

            + */ + inline ListBotResourceGenerationsRequest& WithBotId(const Aws::String& value) { SetBotId(value); return *this;} + + /** + *

            The unique identifier of the bot whose generation requests you want to + * view.

            + */ + inline ListBotResourceGenerationsRequest& WithBotId(Aws::String&& value) { SetBotId(std::move(value)); return *this;} + + /** + *

            The unique identifier of the bot whose generation requests you want to + * view.

            + */ + inline ListBotResourceGenerationsRequest& WithBotId(const char* value) { SetBotId(value); return *this;} + + + /** + *

            The version of the bot whose generation requests you want to view.

            + */ + inline const Aws::String& GetBotVersion() const{ return m_botVersion; } + + /** + *

            The version of the bot whose generation requests you want to view.

            + */ + inline bool BotVersionHasBeenSet() const { return m_botVersionHasBeenSet; } + + /** + *

            The version of the bot whose generation requests you want to view.

            + */ + inline void SetBotVersion(const Aws::String& value) { m_botVersionHasBeenSet = true; m_botVersion = value; } + + /** + *

            The version of the bot whose generation requests you want to view.

            + */ + inline void SetBotVersion(Aws::String&& value) { m_botVersionHasBeenSet = true; m_botVersion = std::move(value); } + + /** + *

            The version of the bot whose generation requests you want to view.

            + */ + inline void SetBotVersion(const char* value) { m_botVersionHasBeenSet = true; m_botVersion.assign(value); } + + /** + *

            The version of the bot whose generation requests you want to view.

            + */ + inline ListBotResourceGenerationsRequest& WithBotVersion(const Aws::String& value) { SetBotVersion(value); return *this;} + + /** + *

            The version of the bot whose generation requests you want to view.

            + */ + inline ListBotResourceGenerationsRequest& WithBotVersion(Aws::String&& value) { SetBotVersion(std::move(value)); return *this;} + + /** + *

            The version of the bot whose generation requests you want to view.

            + */ + inline ListBotResourceGenerationsRequest& WithBotVersion(const char* value) { SetBotVersion(value); return *this;} + + + /** + *

            The locale of the bot whose generation requests you want to view.

            + */ + inline const Aws::String& GetLocaleId() const{ return m_localeId; } + + /** + *

            The locale of the bot whose generation requests you want to view.

            + */ + inline bool LocaleIdHasBeenSet() const { return m_localeIdHasBeenSet; } + + /** + *

            The locale of the bot whose generation requests you want to view.

            + */ + inline void SetLocaleId(const Aws::String& value) { m_localeIdHasBeenSet = true; m_localeId = value; } + + /** + *

            The locale of the bot whose generation requests you want to view.

            + */ + inline void SetLocaleId(Aws::String&& value) { m_localeIdHasBeenSet = true; m_localeId = std::move(value); } + + /** + *

            The locale of the bot whose generation requests you want to view.

            + */ + inline void SetLocaleId(const char* value) { m_localeIdHasBeenSet = true; m_localeId.assign(value); } + + /** + *

            The locale of the bot whose generation requests you want to view.

            + */ + inline ListBotResourceGenerationsRequest& WithLocaleId(const Aws::String& value) { SetLocaleId(value); return *this;} + + /** + *

            The locale of the bot whose generation requests you want to view.

            + */ + inline ListBotResourceGenerationsRequest& WithLocaleId(Aws::String&& value) { SetLocaleId(std::move(value)); return *this;} + + /** + *

            The locale of the bot whose generation requests you want to view.

            + */ + inline ListBotResourceGenerationsRequest& WithLocaleId(const char* value) { SetLocaleId(value); return *this;} + + + /** + *

            An object containing information about the attribute and the method by which + * to sort the results

            + */ + inline const GenerationSortBy& GetSortBy() const{ return m_sortBy; } + + /** + *

            An object containing information about the attribute and the method by which + * to sort the results

            + */ + inline bool SortByHasBeenSet() const { return m_sortByHasBeenSet; } + + /** + *

            An object containing information about the attribute and the method by which + * to sort the results

            + */ + inline void SetSortBy(const GenerationSortBy& value) { m_sortByHasBeenSet = true; m_sortBy = value; } + + /** + *

            An object containing information about the attribute and the method by which + * to sort the results

            + */ + inline void SetSortBy(GenerationSortBy&& value) { m_sortByHasBeenSet = true; m_sortBy = std::move(value); } + + /** + *

            An object containing information about the attribute and the method by which + * to sort the results

            + */ + inline ListBotResourceGenerationsRequest& WithSortBy(const GenerationSortBy& value) { SetSortBy(value); return *this;} + + /** + *

            An object containing information about the attribute and the method by which + * to sort the results

            + */ + inline ListBotResourceGenerationsRequest& WithSortBy(GenerationSortBy&& value) { SetSortBy(std::move(value)); return *this;} + + + /** + *

            The maximum number of results to return in the response.

            + */ + inline int GetMaxResults() const{ return m_maxResults; } + + /** + *

            The maximum number of results to return in the response.

            + */ + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + + /** + *

            The maximum number of results to return in the response.

            + */ + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + + /** + *

            The maximum number of results to return in the response.

            + */ + inline ListBotResourceGenerationsRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + + + /** + *

            If the total number of results is greater than the number specified in the + * maxResults, the response returns a token in the + * nextToken field. Use this token when making a request to return the + * next batch of results.

            + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + + /** + *

            If the total number of results is greater than the number specified in the + * maxResults, the response returns a token in the + * nextToken field. Use this token when making a request to return the + * next batch of results.

            + */ + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + + /** + *

            If the total number of results is greater than the number specified in the + * maxResults, the response returns a token in the + * nextToken field. Use this token when making a request to return the + * next batch of results.

            + */ + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + + /** + *

            If the total number of results is greater than the number specified in the + * maxResults, the response returns a token in the + * nextToken field. Use this token when making a request to return the + * next batch of results.

            + */ + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + + /** + *

            If the total number of results is greater than the number specified in the + * maxResults, the response returns a token in the + * nextToken field. Use this token when making a request to return the + * next batch of results.

            + */ + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + + /** + *

            If the total number of results is greater than the number specified in the + * maxResults, the response returns a token in the + * nextToken field. Use this token when making a request to return the + * next batch of results.

            + */ + inline ListBotResourceGenerationsRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + + /** + *

            If the total number of results is greater than the number specified in the + * maxResults, the response returns a token in the + * nextToken field. Use this token when making a request to return the + * next batch of results.

            + */ + inline ListBotResourceGenerationsRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + + /** + *

            If the total number of results is greater than the number specified in the + * maxResults, the response returns a token in the + * nextToken field. Use this token when making a request to return the + * next batch of results.

            + */ + inline ListBotResourceGenerationsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + + private: + + Aws::String m_botId; + bool m_botIdHasBeenSet = false; + + Aws::String m_botVersion; + bool m_botVersionHasBeenSet = false; + + Aws::String m_localeId; + bool m_localeIdHasBeenSet = false; + + GenerationSortBy m_sortBy; + bool m_sortByHasBeenSet = false; + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + }; + +} // namespace Model +} // namespace LexModelsV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/ListBotResourceGenerationsResult.h b/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/ListBotResourceGenerationsResult.h new file mode 100644 index 00000000000..c8863c32bef --- /dev/null +++ b/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/ListBotResourceGenerationsResult.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 + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace LexModelsV2 +{ +namespace Model +{ + class ListBotResourceGenerationsResult + { + public: + AWS_LEXMODELSV2_API ListBotResourceGenerationsResult(); + AWS_LEXMODELSV2_API ListBotResourceGenerationsResult(const Aws::AmazonWebServiceResult& result); + AWS_LEXMODELSV2_API ListBotResourceGenerationsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

            The unique identifier of the bot for which the generation requests were + * made.

            + */ + inline const Aws::String& GetBotId() const{ return m_botId; } + + /** + *

            The unique identifier of the bot for which the generation requests were + * made.

            + */ + inline void SetBotId(const Aws::String& value) { m_botId = value; } + + /** + *

            The unique identifier of the bot for which the generation requests were + * made.

            + */ + inline void SetBotId(Aws::String&& value) { m_botId = std::move(value); } + + /** + *

            The unique identifier of the bot for which the generation requests were + * made.

            + */ + inline void SetBotId(const char* value) { m_botId.assign(value); } + + /** + *

            The unique identifier of the bot for which the generation requests were + * made.

            + */ + inline ListBotResourceGenerationsResult& WithBotId(const Aws::String& value) { SetBotId(value); return *this;} + + /** + *

            The unique identifier of the bot for which the generation requests were + * made.

            + */ + inline ListBotResourceGenerationsResult& WithBotId(Aws::String&& value) { SetBotId(std::move(value)); return *this;} + + /** + *

            The unique identifier of the bot for which the generation requests were + * made.

            + */ + inline ListBotResourceGenerationsResult& WithBotId(const char* value) { SetBotId(value); return *this;} + + + /** + *

            The version of the bot for which the generation requests were made.

            + */ + inline const Aws::String& GetBotVersion() const{ return m_botVersion; } + + /** + *

            The version of the bot for which the generation requests were made.

            + */ + inline void SetBotVersion(const Aws::String& value) { m_botVersion = value; } + + /** + *

            The version of the bot for which the generation requests were made.

            + */ + inline void SetBotVersion(Aws::String&& value) { m_botVersion = std::move(value); } + + /** + *

            The version of the bot for which the generation requests were made.

            + */ + inline void SetBotVersion(const char* value) { m_botVersion.assign(value); } + + /** + *

            The version of the bot for which the generation requests were made.

            + */ + inline ListBotResourceGenerationsResult& WithBotVersion(const Aws::String& value) { SetBotVersion(value); return *this;} + + /** + *

            The version of the bot for which the generation requests were made.

            + */ + inline ListBotResourceGenerationsResult& WithBotVersion(Aws::String&& value) { SetBotVersion(std::move(value)); return *this;} + + /** + *

            The version of the bot for which the generation requests were made.

            + */ + inline ListBotResourceGenerationsResult& WithBotVersion(const char* value) { SetBotVersion(value); return *this;} + + + /** + *

            The locale of the bot for which the generation requests were made.

            + */ + inline const Aws::String& GetLocaleId() const{ return m_localeId; } + + /** + *

            The locale of the bot for which the generation requests were made.

            + */ + inline void SetLocaleId(const Aws::String& value) { m_localeId = value; } + + /** + *

            The locale of the bot for which the generation requests were made.

            + */ + inline void SetLocaleId(Aws::String&& value) { m_localeId = std::move(value); } + + /** + *

            The locale of the bot for which the generation requests were made.

            + */ + inline void SetLocaleId(const char* value) { m_localeId.assign(value); } + + /** + *

            The locale of the bot for which the generation requests were made.

            + */ + inline ListBotResourceGenerationsResult& WithLocaleId(const Aws::String& value) { SetLocaleId(value); return *this;} + + /** + *

            The locale of the bot for which the generation requests were made.

            + */ + inline ListBotResourceGenerationsResult& WithLocaleId(Aws::String&& value) { SetLocaleId(std::move(value)); return *this;} + + /** + *

            The locale of the bot for which the generation requests were made.

            + */ + inline ListBotResourceGenerationsResult& WithLocaleId(const char* value) { SetLocaleId(value); return *this;} + + + /** + *

            A list of objects, each containing information about a generation request for + * the bot locale.

            + */ + inline const Aws::Vector& GetGenerationSummaries() const{ return m_generationSummaries; } + + /** + *

            A list of objects, each containing information about a generation request for + * the bot locale.

            + */ + inline void SetGenerationSummaries(const Aws::Vector& value) { m_generationSummaries = value; } + + /** + *

            A list of objects, each containing information about a generation request for + * the bot locale.

            + */ + inline void SetGenerationSummaries(Aws::Vector&& value) { m_generationSummaries = std::move(value); } + + /** + *

            A list of objects, each containing information about a generation request for + * the bot locale.

            + */ + inline ListBotResourceGenerationsResult& WithGenerationSummaries(const Aws::Vector& value) { SetGenerationSummaries(value); return *this;} + + /** + *

            A list of objects, each containing information about a generation request for + * the bot locale.

            + */ + inline ListBotResourceGenerationsResult& WithGenerationSummaries(Aws::Vector&& value) { SetGenerationSummaries(std::move(value)); return *this;} + + /** + *

            A list of objects, each containing information about a generation request for + * the bot locale.

            + */ + inline ListBotResourceGenerationsResult& AddGenerationSummaries(const GenerationSummary& value) { m_generationSummaries.push_back(value); return *this; } + + /** + *

            A list of objects, each containing information about a generation request for + * the bot locale.

            + */ + inline ListBotResourceGenerationsResult& AddGenerationSummaries(GenerationSummary&& value) { m_generationSummaries.push_back(std::move(value)); return *this; } + + + /** + *

            If the total number of results is greater than the number specified in the + * maxResults, the response returns a token in the + * nextToken field. Use this token when making a request to return the + * next batch of results.

            + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + + /** + *

            If the total number of results is greater than the number specified in the + * maxResults, the response returns a token in the + * nextToken field. Use this token when making a request to return the + * next batch of results.

            + */ + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + + /** + *

            If the total number of results is greater than the number specified in the + * maxResults, the response returns a token in the + * nextToken field. Use this token when making a request to return the + * next batch of results.

            + */ + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + + /** + *

            If the total number of results is greater than the number specified in the + * maxResults, the response returns a token in the + * nextToken field. Use this token when making a request to return the + * next batch of results.

            + */ + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + + /** + *

            If the total number of results is greater than the number specified in the + * maxResults, the response returns a token in the + * nextToken field. Use this token when making a request to return the + * next batch of results.

            + */ + inline ListBotResourceGenerationsResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + + /** + *

            If the total number of results is greater than the number specified in the + * maxResults, the response returns a token in the + * nextToken field. Use this token when making a request to return the + * next batch of results.

            + */ + inline ListBotResourceGenerationsResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + + /** + *

            If the total number of results is greater than the number specified in the + * maxResults, the response returns a token in the + * nextToken field. Use this token when making a request to return the + * next batch of results.

            + */ + inline ListBotResourceGenerationsResult& 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 ListBotResourceGenerationsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline ListBotResourceGenerationsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline ListBotResourceGenerationsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::String m_botId; + + Aws::String m_botVersion; + + Aws::String m_localeId; + + Aws::Vector m_generationSummaries; + + Aws::String m_nextToken; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace LexModelsV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/RuntimeSettings.h b/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/RuntimeSettings.h new file mode 100644 index 00000000000..efb71b31696 --- /dev/null +++ b/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/RuntimeSettings.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 + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace LexModelsV2 +{ +namespace Model +{ + + /** + *

            Contains specifications about the Amazon Lex runtime generative AI + * capabilities from Amazon Bedrock that you can turn on for your + * bot.

            See Also:

            AWS + * API Reference

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

            An object containing specifications for the assisted slot resolution + * feature.

            + */ + inline const SlotResolutionImprovementSpecification& GetSlotResolutionImprovement() const{ return m_slotResolutionImprovement; } + + /** + *

            An object containing specifications for the assisted slot resolution + * feature.

            + */ + inline bool SlotResolutionImprovementHasBeenSet() const { return m_slotResolutionImprovementHasBeenSet; } + + /** + *

            An object containing specifications for the assisted slot resolution + * feature.

            + */ + inline void SetSlotResolutionImprovement(const SlotResolutionImprovementSpecification& value) { m_slotResolutionImprovementHasBeenSet = true; m_slotResolutionImprovement = value; } + + /** + *

            An object containing specifications for the assisted slot resolution + * feature.

            + */ + inline void SetSlotResolutionImprovement(SlotResolutionImprovementSpecification&& value) { m_slotResolutionImprovementHasBeenSet = true; m_slotResolutionImprovement = std::move(value); } + + /** + *

            An object containing specifications for the assisted slot resolution + * feature.

            + */ + inline RuntimeSettings& WithSlotResolutionImprovement(const SlotResolutionImprovementSpecification& value) { SetSlotResolutionImprovement(value); return *this;} + + /** + *

            An object containing specifications for the assisted slot resolution + * feature.

            + */ + inline RuntimeSettings& WithSlotResolutionImprovement(SlotResolutionImprovementSpecification&& value) { SetSlotResolutionImprovement(std::move(value)); return *this;} + + private: + + SlotResolutionImprovementSpecification m_slotResolutionImprovement; + bool m_slotResolutionImprovementHasBeenSet = false; + }; + +} // namespace Model +} // namespace LexModelsV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/SampleUtteranceGenerationSpecification.h b/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/SampleUtteranceGenerationSpecification.h new file mode 100644 index 00000000000..e8a60d59d90 --- /dev/null +++ b/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/SampleUtteranceGenerationSpecification.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 + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace LexModelsV2 +{ +namespace Model +{ + + /** + *

            Contains specifications for the sample utterance generation + * feature.

            See Also:

            AWS + * API Reference

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

            Specifies whether to enable sample utterance generation or not.

            + */ + inline bool GetEnabled() const{ return m_enabled; } + + /** + *

            Specifies whether to enable sample utterance generation or not.

            + */ + inline bool EnabledHasBeenSet() const { return m_enabledHasBeenSet; } + + /** + *

            Specifies whether to enable sample utterance generation or not.

            + */ + inline void SetEnabled(bool value) { m_enabledHasBeenSet = true; m_enabled = value; } + + /** + *

            Specifies whether to enable sample utterance generation or not.

            + */ + inline SampleUtteranceGenerationSpecification& WithEnabled(bool value) { SetEnabled(value); return *this;} + + + + inline const BedrockModelSpecification& GetBedrockModelSpecification() const{ return m_bedrockModelSpecification; } + + + inline bool BedrockModelSpecificationHasBeenSet() const { return m_bedrockModelSpecificationHasBeenSet; } + + + inline void SetBedrockModelSpecification(const BedrockModelSpecification& value) { m_bedrockModelSpecificationHasBeenSet = true; m_bedrockModelSpecification = value; } + + + inline void SetBedrockModelSpecification(BedrockModelSpecification&& value) { m_bedrockModelSpecificationHasBeenSet = true; m_bedrockModelSpecification = std::move(value); } + + + inline SampleUtteranceGenerationSpecification& WithBedrockModelSpecification(const BedrockModelSpecification& value) { SetBedrockModelSpecification(value); return *this;} + + + inline SampleUtteranceGenerationSpecification& WithBedrockModelSpecification(BedrockModelSpecification&& value) { SetBedrockModelSpecification(std::move(value)); return *this;} + + private: + + bool m_enabled; + bool m_enabledHasBeenSet = false; + + BedrockModelSpecification m_bedrockModelSpecification; + bool m_bedrockModelSpecificationHasBeenSet = false; + }; + +} // namespace Model +} // namespace LexModelsV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/SlotResolutionImprovementSpecification.h b/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/SlotResolutionImprovementSpecification.h new file mode 100644 index 00000000000..9fdc2342eb2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/SlotResolutionImprovementSpecification.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 + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace LexModelsV2 +{ +namespace Model +{ + + /** + *

            Contains specifications for the assisted slot resolution + * feature.

            See Also:

            AWS + * API Reference

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

            Specifies whether assisted slot resolution is turned on or off.

            + */ + inline bool GetEnabled() const{ return m_enabled; } + + /** + *

            Specifies whether assisted slot resolution is turned on or off.

            + */ + inline bool EnabledHasBeenSet() const { return m_enabledHasBeenSet; } + + /** + *

            Specifies whether assisted slot resolution is turned on or off.

            + */ + inline void SetEnabled(bool value) { m_enabledHasBeenSet = true; m_enabled = value; } + + /** + *

            Specifies whether assisted slot resolution is turned on or off.

            + */ + inline SlotResolutionImprovementSpecification& WithEnabled(bool value) { SetEnabled(value); return *this;} + + + /** + *

            An object containing information about the Amazon Bedrock model used to + * assist slot resolution.

            + */ + inline const BedrockModelSpecification& GetBedrockModelSpecification() const{ return m_bedrockModelSpecification; } + + /** + *

            An object containing information about the Amazon Bedrock model used to + * assist slot resolution.

            + */ + inline bool BedrockModelSpecificationHasBeenSet() const { return m_bedrockModelSpecificationHasBeenSet; } + + /** + *

            An object containing information about the Amazon Bedrock model used to + * assist slot resolution.

            + */ + inline void SetBedrockModelSpecification(const BedrockModelSpecification& value) { m_bedrockModelSpecificationHasBeenSet = true; m_bedrockModelSpecification = value; } + + /** + *

            An object containing information about the Amazon Bedrock model used to + * assist slot resolution.

            + */ + inline void SetBedrockModelSpecification(BedrockModelSpecification&& value) { m_bedrockModelSpecificationHasBeenSet = true; m_bedrockModelSpecification = std::move(value); } + + /** + *

            An object containing information about the Amazon Bedrock model used to + * assist slot resolution.

            + */ + inline SlotResolutionImprovementSpecification& WithBedrockModelSpecification(const BedrockModelSpecification& value) { SetBedrockModelSpecification(value); return *this;} + + /** + *

            An object containing information about the Amazon Bedrock model used to + * assist slot resolution.

            + */ + inline SlotResolutionImprovementSpecification& WithBedrockModelSpecification(BedrockModelSpecification&& value) { SetBedrockModelSpecification(std::move(value)); return *this;} + + private: + + bool m_enabled; + bool m_enabledHasBeenSet = false; + + BedrockModelSpecification m_bedrockModelSpecification; + bool m_bedrockModelSpecificationHasBeenSet = false; + }; + +} // namespace Model +} // namespace LexModelsV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/SlotResolutionSetting.h b/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/SlotResolutionSetting.h new file mode 100644 index 00000000000..5cd31627312 --- /dev/null +++ b/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/SlotResolutionSetting.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 LexModelsV2 +{ +namespace Model +{ + + /** + *

            Contains information about whether assisted slot resolution is turned on for + * the slot or not.

            See Also:

            AWS + * API Reference

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

            Specifies whether assisted slot resolution is turned on for the slot or not. + * If the value is EnhancedFallback, assisted slot resolution is + * activated when Amazon Lex defaults to the AMAZON.FallbackIntent. If + * the value is Default, assisted slot resolution is turned off.

            + */ + inline const SlotResolutionStrategy& GetSlotResolutionStrategy() const{ return m_slotResolutionStrategy; } + + /** + *

            Specifies whether assisted slot resolution is turned on for the slot or not. + * If the value is EnhancedFallback, assisted slot resolution is + * activated when Amazon Lex defaults to the AMAZON.FallbackIntent. If + * the value is Default, assisted slot resolution is turned off.

            + */ + inline bool SlotResolutionStrategyHasBeenSet() const { return m_slotResolutionStrategyHasBeenSet; } + + /** + *

            Specifies whether assisted slot resolution is turned on for the slot or not. + * If the value is EnhancedFallback, assisted slot resolution is + * activated when Amazon Lex defaults to the AMAZON.FallbackIntent. If + * the value is Default, assisted slot resolution is turned off.

            + */ + inline void SetSlotResolutionStrategy(const SlotResolutionStrategy& value) { m_slotResolutionStrategyHasBeenSet = true; m_slotResolutionStrategy = value; } + + /** + *

            Specifies whether assisted slot resolution is turned on for the slot or not. + * If the value is EnhancedFallback, assisted slot resolution is + * activated when Amazon Lex defaults to the AMAZON.FallbackIntent. If + * the value is Default, assisted slot resolution is turned off.

            + */ + inline void SetSlotResolutionStrategy(SlotResolutionStrategy&& value) { m_slotResolutionStrategyHasBeenSet = true; m_slotResolutionStrategy = std::move(value); } + + /** + *

            Specifies whether assisted slot resolution is turned on for the slot or not. + * If the value is EnhancedFallback, assisted slot resolution is + * activated when Amazon Lex defaults to the AMAZON.FallbackIntent. If + * the value is Default, assisted slot resolution is turned off.

            + */ + inline SlotResolutionSetting& WithSlotResolutionStrategy(const SlotResolutionStrategy& value) { SetSlotResolutionStrategy(value); return *this;} + + /** + *

            Specifies whether assisted slot resolution is turned on for the slot or not. + * If the value is EnhancedFallback, assisted slot resolution is + * activated when Amazon Lex defaults to the AMAZON.FallbackIntent. If + * the value is Default, assisted slot resolution is turned off.

            + */ + inline SlotResolutionSetting& WithSlotResolutionStrategy(SlotResolutionStrategy&& value) { SetSlotResolutionStrategy(std::move(value)); return *this;} + + private: + + SlotResolutionStrategy m_slotResolutionStrategy; + bool m_slotResolutionStrategyHasBeenSet = false; + }; + +} // namespace Model +} // namespace LexModelsV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/SlotResolutionStrategy.h b/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/SlotResolutionStrategy.h new file mode 100644 index 00000000000..617c45cab0c --- /dev/null +++ b/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/SlotResolutionStrategy.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 LexModelsV2 +{ +namespace Model +{ + enum class SlotResolutionStrategy + { + NOT_SET, + EnhancedFallback, + Default + }; + +namespace SlotResolutionStrategyMapper +{ +AWS_LEXMODELSV2_API SlotResolutionStrategy GetSlotResolutionStrategyForName(const Aws::String& name); + +AWS_LEXMODELSV2_API Aws::String GetNameForSlotResolutionStrategy(SlotResolutionStrategy value); +} // namespace SlotResolutionStrategyMapper +} // namespace Model +} // namespace LexModelsV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/SlotValueElicitationSetting.h b/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/SlotValueElicitationSetting.h index a68231ce036..34f720cc101 100644 --- a/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/SlotValueElicitationSetting.h +++ b/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/SlotValueElicitationSetting.h @@ -11,6 +11,7 @@ #include #include #include +#include #include #include @@ -269,6 +270,43 @@ namespace Model */ inline SlotValueElicitationSetting& WithSlotCaptureSetting(SlotCaptureSetting&& value) { SetSlotCaptureSetting(std::move(value)); return *this;} + + /** + *

            An object containing information about whether assisted slot resolution is + * turned on for the slot or not.

            + */ + inline const SlotResolutionSetting& GetSlotResolutionSetting() const{ return m_slotResolutionSetting; } + + /** + *

            An object containing information about whether assisted slot resolution is + * turned on for the slot or not.

            + */ + inline bool SlotResolutionSettingHasBeenSet() const { return m_slotResolutionSettingHasBeenSet; } + + /** + *

            An object containing information about whether assisted slot resolution is + * turned on for the slot or not.

            + */ + inline void SetSlotResolutionSetting(const SlotResolutionSetting& value) { m_slotResolutionSettingHasBeenSet = true; m_slotResolutionSetting = value; } + + /** + *

            An object containing information about whether assisted slot resolution is + * turned on for the slot or not.

            + */ + inline void SetSlotResolutionSetting(SlotResolutionSetting&& value) { m_slotResolutionSettingHasBeenSet = true; m_slotResolutionSetting = std::move(value); } + + /** + *

            An object containing information about whether assisted slot resolution is + * turned on for the slot or not.

            + */ + inline SlotValueElicitationSetting& WithSlotResolutionSetting(const SlotResolutionSetting& value) { SetSlotResolutionSetting(value); return *this;} + + /** + *

            An object containing information about whether assisted slot resolution is + * turned on for the slot or not.

            + */ + inline SlotValueElicitationSetting& WithSlotResolutionSetting(SlotResolutionSetting&& value) { SetSlotResolutionSetting(std::move(value)); return *this;} + private: SlotDefaultValueSpecification m_defaultValueSpecification; @@ -288,6 +326,9 @@ namespace Model SlotCaptureSetting m_slotCaptureSetting; bool m_slotCaptureSettingHasBeenSet = false; + + SlotResolutionSetting m_slotResolutionSetting; + bool m_slotResolutionSettingHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/StartBotResourceGenerationRequest.h b/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/StartBotResourceGenerationRequest.h new file mode 100644 index 00000000000..a4e55a8df9c --- /dev/null +++ b/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/StartBotResourceGenerationRequest.h @@ -0,0 +1,247 @@ +/** + * 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 LexModelsV2 +{ +namespace Model +{ + + /** + */ + class StartBotResourceGenerationRequest : public LexModelsV2Request + { + public: + AWS_LEXMODELSV2_API StartBotResourceGenerationRequest(); + + // 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 "StartBotResourceGeneration"; } + + AWS_LEXMODELSV2_API Aws::String SerializePayload() const override; + + + /** + *

            The prompt to generate intents and slot types for the bot locale. Your + * description should be both detailed and precise to help generate + * appropriate and sufficient intents for your bot. Include a list of actions to + * improve the intent creation process.

            + */ + inline const Aws::String& GetGenerationInputPrompt() const{ return m_generationInputPrompt; } + + /** + *

            The prompt to generate intents and slot types for the bot locale. Your + * description should be both detailed and precise to help generate + * appropriate and sufficient intents for your bot. Include a list of actions to + * improve the intent creation process.

            + */ + inline bool GenerationInputPromptHasBeenSet() const { return m_generationInputPromptHasBeenSet; } + + /** + *

            The prompt to generate intents and slot types for the bot locale. Your + * description should be both detailed and precise to help generate + * appropriate and sufficient intents for your bot. Include a list of actions to + * improve the intent creation process.

            + */ + inline void SetGenerationInputPrompt(const Aws::String& value) { m_generationInputPromptHasBeenSet = true; m_generationInputPrompt = value; } + + /** + *

            The prompt to generate intents and slot types for the bot locale. Your + * description should be both detailed and precise to help generate + * appropriate and sufficient intents for your bot. Include a list of actions to + * improve the intent creation process.

            + */ + inline void SetGenerationInputPrompt(Aws::String&& value) { m_generationInputPromptHasBeenSet = true; m_generationInputPrompt = std::move(value); } + + /** + *

            The prompt to generate intents and slot types for the bot locale. Your + * description should be both detailed and precise to help generate + * appropriate and sufficient intents for your bot. Include a list of actions to + * improve the intent creation process.

            + */ + inline void SetGenerationInputPrompt(const char* value) { m_generationInputPromptHasBeenSet = true; m_generationInputPrompt.assign(value); } + + /** + *

            The prompt to generate intents and slot types for the bot locale. Your + * description should be both detailed and precise to help generate + * appropriate and sufficient intents for your bot. Include a list of actions to + * improve the intent creation process.

            + */ + inline StartBotResourceGenerationRequest& WithGenerationInputPrompt(const Aws::String& value) { SetGenerationInputPrompt(value); return *this;} + + /** + *

            The prompt to generate intents and slot types for the bot locale. Your + * description should be both detailed and precise to help generate + * appropriate and sufficient intents for your bot. Include a list of actions to + * improve the intent creation process.

            + */ + inline StartBotResourceGenerationRequest& WithGenerationInputPrompt(Aws::String&& value) { SetGenerationInputPrompt(std::move(value)); return *this;} + + /** + *

            The prompt to generate intents and slot types for the bot locale. Your + * description should be both detailed and precise to help generate + * appropriate and sufficient intents for your bot. Include a list of actions to + * improve the intent creation process.

            + */ + inline StartBotResourceGenerationRequest& WithGenerationInputPrompt(const char* value) { SetGenerationInputPrompt(value); return *this;} + + + /** + *

            The unique identifier of the bot for which to generate intents and slot + * types.

            + */ + inline const Aws::String& GetBotId() const{ return m_botId; } + + /** + *

            The unique identifier of the bot for which to generate intents and slot + * types.

            + */ + inline bool BotIdHasBeenSet() const { return m_botIdHasBeenSet; } + + /** + *

            The unique identifier of the bot for which to generate intents and slot + * types.

            + */ + inline void SetBotId(const Aws::String& value) { m_botIdHasBeenSet = true; m_botId = value; } + + /** + *

            The unique identifier of the bot for which to generate intents and slot + * types.

            + */ + inline void SetBotId(Aws::String&& value) { m_botIdHasBeenSet = true; m_botId = std::move(value); } + + /** + *

            The unique identifier of the bot for which to generate intents and slot + * types.

            + */ + inline void SetBotId(const char* value) { m_botIdHasBeenSet = true; m_botId.assign(value); } + + /** + *

            The unique identifier of the bot for which to generate intents and slot + * types.

            + */ + inline StartBotResourceGenerationRequest& WithBotId(const Aws::String& value) { SetBotId(value); return *this;} + + /** + *

            The unique identifier of the bot for which to generate intents and slot + * types.

            + */ + inline StartBotResourceGenerationRequest& WithBotId(Aws::String&& value) { SetBotId(std::move(value)); return *this;} + + /** + *

            The unique identifier of the bot for which to generate intents and slot + * types.

            + */ + inline StartBotResourceGenerationRequest& WithBotId(const char* value) { SetBotId(value); return *this;} + + + /** + *

            The version of the bot for which to generate intents and slot types.

            + */ + inline const Aws::String& GetBotVersion() const{ return m_botVersion; } + + /** + *

            The version of the bot for which to generate intents and slot types.

            + */ + inline bool BotVersionHasBeenSet() const { return m_botVersionHasBeenSet; } + + /** + *

            The version of the bot for which to generate intents and slot types.

            + */ + inline void SetBotVersion(const Aws::String& value) { m_botVersionHasBeenSet = true; m_botVersion = value; } + + /** + *

            The version of the bot for which to generate intents and slot types.

            + */ + inline void SetBotVersion(Aws::String&& value) { m_botVersionHasBeenSet = true; m_botVersion = std::move(value); } + + /** + *

            The version of the bot for which to generate intents and slot types.

            + */ + inline void SetBotVersion(const char* value) { m_botVersionHasBeenSet = true; m_botVersion.assign(value); } + + /** + *

            The version of the bot for which to generate intents and slot types.

            + */ + inline StartBotResourceGenerationRequest& WithBotVersion(const Aws::String& value) { SetBotVersion(value); return *this;} + + /** + *

            The version of the bot for which to generate intents and slot types.

            + */ + inline StartBotResourceGenerationRequest& WithBotVersion(Aws::String&& value) { SetBotVersion(std::move(value)); return *this;} + + /** + *

            The version of the bot for which to generate intents and slot types.

            + */ + inline StartBotResourceGenerationRequest& WithBotVersion(const char* value) { SetBotVersion(value); return *this;} + + + /** + *

            The locale of the bot for which to generate intents and slot types.

            + */ + inline const Aws::String& GetLocaleId() const{ return m_localeId; } + + /** + *

            The locale of the bot for which to generate intents and slot types.

            + */ + inline bool LocaleIdHasBeenSet() const { return m_localeIdHasBeenSet; } + + /** + *

            The locale of the bot for which to generate intents and slot types.

            + */ + inline void SetLocaleId(const Aws::String& value) { m_localeIdHasBeenSet = true; m_localeId = value; } + + /** + *

            The locale of the bot for which to generate intents and slot types.

            + */ + inline void SetLocaleId(Aws::String&& value) { m_localeIdHasBeenSet = true; m_localeId = std::move(value); } + + /** + *

            The locale of the bot for which to generate intents and slot types.

            + */ + inline void SetLocaleId(const char* value) { m_localeIdHasBeenSet = true; m_localeId.assign(value); } + + /** + *

            The locale of the bot for which to generate intents and slot types.

            + */ + inline StartBotResourceGenerationRequest& WithLocaleId(const Aws::String& value) { SetLocaleId(value); return *this;} + + /** + *

            The locale of the bot for which to generate intents and slot types.

            + */ + inline StartBotResourceGenerationRequest& WithLocaleId(Aws::String&& value) { SetLocaleId(std::move(value)); return *this;} + + /** + *

            The locale of the bot for which to generate intents and slot types.

            + */ + inline StartBotResourceGenerationRequest& WithLocaleId(const char* value) { SetLocaleId(value); return *this;} + + private: + + Aws::String m_generationInputPrompt; + bool m_generationInputPromptHasBeenSet = false; + + Aws::String m_botId; + bool m_botIdHasBeenSet = false; + + Aws::String m_botVersion; + bool m_botVersionHasBeenSet = false; + + Aws::String m_localeId; + bool m_localeIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace LexModelsV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/StartBotResourceGenerationResult.h b/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/StartBotResourceGenerationResult.h new file mode 100644 index 00000000000..fd6bf17d26f --- /dev/null +++ b/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/StartBotResourceGenerationResult.h @@ -0,0 +1,325 @@ +/** + * 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 LexModelsV2 +{ +namespace Model +{ + class StartBotResourceGenerationResult + { + public: + AWS_LEXMODELSV2_API StartBotResourceGenerationResult(); + AWS_LEXMODELSV2_API StartBotResourceGenerationResult(const Aws::AmazonWebServiceResult& result); + AWS_LEXMODELSV2_API StartBotResourceGenerationResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

            The prompt that was used generate intents and slot types for the bot + * locale.

            + */ + inline const Aws::String& GetGenerationInputPrompt() const{ return m_generationInputPrompt; } + + /** + *

            The prompt that was used generate intents and slot types for the bot + * locale.

            + */ + inline void SetGenerationInputPrompt(const Aws::String& value) { m_generationInputPrompt = value; } + + /** + *

            The prompt that was used generate intents and slot types for the bot + * locale.

            + */ + inline void SetGenerationInputPrompt(Aws::String&& value) { m_generationInputPrompt = std::move(value); } + + /** + *

            The prompt that was used generate intents and slot types for the bot + * locale.

            + */ + inline void SetGenerationInputPrompt(const char* value) { m_generationInputPrompt.assign(value); } + + /** + *

            The prompt that was used generate intents and slot types for the bot + * locale.

            + */ + inline StartBotResourceGenerationResult& WithGenerationInputPrompt(const Aws::String& value) { SetGenerationInputPrompt(value); return *this;} + + /** + *

            The prompt that was used generate intents and slot types for the bot + * locale.

            + */ + inline StartBotResourceGenerationResult& WithGenerationInputPrompt(Aws::String&& value) { SetGenerationInputPrompt(std::move(value)); return *this;} + + /** + *

            The prompt that was used generate intents and slot types for the bot + * locale.

            + */ + inline StartBotResourceGenerationResult& WithGenerationInputPrompt(const char* value) { SetGenerationInputPrompt(value); return *this;} + + + /** + *

            The unique identifier of the generation request.

            + */ + inline const Aws::String& GetGenerationId() const{ return m_generationId; } + + /** + *

            The unique identifier of the generation request.

            + */ + inline void SetGenerationId(const Aws::String& value) { m_generationId = value; } + + /** + *

            The unique identifier of the generation request.

            + */ + inline void SetGenerationId(Aws::String&& value) { m_generationId = std::move(value); } + + /** + *

            The unique identifier of the generation request.

            + */ + inline void SetGenerationId(const char* value) { m_generationId.assign(value); } + + /** + *

            The unique identifier of the generation request.

            + */ + inline StartBotResourceGenerationResult& WithGenerationId(const Aws::String& value) { SetGenerationId(value); return *this;} + + /** + *

            The unique identifier of the generation request.

            + */ + inline StartBotResourceGenerationResult& WithGenerationId(Aws::String&& value) { SetGenerationId(std::move(value)); return *this;} + + /** + *

            The unique identifier of the generation request.

            + */ + inline StartBotResourceGenerationResult& WithGenerationId(const char* value) { SetGenerationId(value); return *this;} + + + /** + *

            The unique identifier of the bot for which the generation request was + * made.

            + */ + inline const Aws::String& GetBotId() const{ return m_botId; } + + /** + *

            The unique identifier of the bot for which the generation request was + * made.

            + */ + inline void SetBotId(const Aws::String& value) { m_botId = value; } + + /** + *

            The unique identifier of the bot for which the generation request was + * made.

            + */ + inline void SetBotId(Aws::String&& value) { m_botId = std::move(value); } + + /** + *

            The unique identifier of the bot for which the generation request was + * made.

            + */ + inline void SetBotId(const char* value) { m_botId.assign(value); } + + /** + *

            The unique identifier of the bot for which the generation request was + * made.

            + */ + inline StartBotResourceGenerationResult& WithBotId(const Aws::String& value) { SetBotId(value); return *this;} + + /** + *

            The unique identifier of the bot for which the generation request was + * made.

            + */ + inline StartBotResourceGenerationResult& WithBotId(Aws::String&& value) { SetBotId(std::move(value)); return *this;} + + /** + *

            The unique identifier of the bot for which the generation request was + * made.

            + */ + inline StartBotResourceGenerationResult& WithBotId(const char* value) { SetBotId(value); return *this;} + + + /** + *

            The version of the bot for which the generation request was made.

            + */ + inline const Aws::String& GetBotVersion() const{ return m_botVersion; } + + /** + *

            The version of the bot for which the generation request was made.

            + */ + inline void SetBotVersion(const Aws::String& value) { m_botVersion = value; } + + /** + *

            The version of the bot for which the generation request was made.

            + */ + inline void SetBotVersion(Aws::String&& value) { m_botVersion = std::move(value); } + + /** + *

            The version of the bot for which the generation request was made.

            + */ + inline void SetBotVersion(const char* value) { m_botVersion.assign(value); } + + /** + *

            The version of the bot for which the generation request was made.

            + */ + inline StartBotResourceGenerationResult& WithBotVersion(const Aws::String& value) { SetBotVersion(value); return *this;} + + /** + *

            The version of the bot for which the generation request was made.

            + */ + inline StartBotResourceGenerationResult& WithBotVersion(Aws::String&& value) { SetBotVersion(std::move(value)); return *this;} + + /** + *

            The version of the bot for which the generation request was made.

            + */ + inline StartBotResourceGenerationResult& WithBotVersion(const char* value) { SetBotVersion(value); return *this;} + + + /** + *

            The locale of the bot for which the generation request was made.

            + */ + inline const Aws::String& GetLocaleId() const{ return m_localeId; } + + /** + *

            The locale of the bot for which the generation request was made.

            + */ + inline void SetLocaleId(const Aws::String& value) { m_localeId = value; } + + /** + *

            The locale of the bot for which the generation request was made.

            + */ + inline void SetLocaleId(Aws::String&& value) { m_localeId = std::move(value); } + + /** + *

            The locale of the bot for which the generation request was made.

            + */ + inline void SetLocaleId(const char* value) { m_localeId.assign(value); } + + /** + *

            The locale of the bot for which the generation request was made.

            + */ + inline StartBotResourceGenerationResult& WithLocaleId(const Aws::String& value) { SetLocaleId(value); return *this;} + + /** + *

            The locale of the bot for which the generation request was made.

            + */ + inline StartBotResourceGenerationResult& WithLocaleId(Aws::String&& value) { SetLocaleId(std::move(value)); return *this;} + + /** + *

            The locale of the bot for which the generation request was made.

            + */ + inline StartBotResourceGenerationResult& WithLocaleId(const char* value) { SetLocaleId(value); return *this;} + + + /** + *

            The status of the generation request.

            + */ + inline const GenerationStatus& GetGenerationStatus() const{ return m_generationStatus; } + + /** + *

            The status of the generation request.

            + */ + inline void SetGenerationStatus(const GenerationStatus& value) { m_generationStatus = value; } + + /** + *

            The status of the generation request.

            + */ + inline void SetGenerationStatus(GenerationStatus&& value) { m_generationStatus = std::move(value); } + + /** + *

            The status of the generation request.

            + */ + inline StartBotResourceGenerationResult& WithGenerationStatus(const GenerationStatus& value) { SetGenerationStatus(value); return *this;} + + /** + *

            The status of the generation request.

            + */ + inline StartBotResourceGenerationResult& WithGenerationStatus(GenerationStatus&& value) { SetGenerationStatus(std::move(value)); return *this;} + + + /** + *

            The date and time at which the generation request was made.

            + */ + inline const Aws::Utils::DateTime& GetCreationDateTime() const{ return m_creationDateTime; } + + /** + *

            The date and time at which the generation request was made.

            + */ + inline void SetCreationDateTime(const Aws::Utils::DateTime& value) { m_creationDateTime = value; } + + /** + *

            The date and time at which the generation request was made.

            + */ + inline void SetCreationDateTime(Aws::Utils::DateTime&& value) { m_creationDateTime = std::move(value); } + + /** + *

            The date and time at which the generation request was made.

            + */ + inline StartBotResourceGenerationResult& WithCreationDateTime(const Aws::Utils::DateTime& value) { SetCreationDateTime(value); return *this;} + + /** + *

            The date and time at which the generation request was made.

            + */ + inline StartBotResourceGenerationResult& WithCreationDateTime(Aws::Utils::DateTime&& value) { SetCreationDateTime(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 StartBotResourceGenerationResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline StartBotResourceGenerationResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline StartBotResourceGenerationResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::String m_generationInputPrompt; + + Aws::String m_generationId; + + Aws::String m_botId; + + Aws::String m_botVersion; + + Aws::String m_localeId; + + GenerationStatus m_generationStatus; + + Aws::Utils::DateTime m_creationDateTime; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace LexModelsV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/UpdateBotLocaleRequest.h b/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/UpdateBotLocaleRequest.h index 9aa6aa68ea8..999f74b673a 100644 --- a/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/UpdateBotLocaleRequest.h +++ b/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/UpdateBotLocaleRequest.h @@ -8,6 +8,7 @@ #include #include #include +#include #include namespace Aws @@ -294,6 +295,49 @@ namespace Model */ inline UpdateBotLocaleRequest& WithVoiceSettings(VoiceSettings&& value) { SetVoiceSettings(std::move(value)); return *this;} + + /** + *

            Contains settings for generative AI features powered by Amazon Bedrock for + * your bot locale. Use this object to turn generative AI features on and off. + * Pricing may differ if you turn a feature on. For more information, see LINK.

            + */ + inline const GenerativeAISettings& GetGenerativeAISettings() const{ return m_generativeAISettings; } + + /** + *

            Contains settings for generative AI features powered by Amazon Bedrock for + * your bot locale. Use this object to turn generative AI features on and off. + * Pricing may differ if you turn a feature on. For more information, see LINK.

            + */ + inline bool GenerativeAISettingsHasBeenSet() const { return m_generativeAISettingsHasBeenSet; } + + /** + *

            Contains settings for generative AI features powered by Amazon Bedrock for + * your bot locale. Use this object to turn generative AI features on and off. + * Pricing may differ if you turn a feature on. For more information, see LINK.

            + */ + inline void SetGenerativeAISettings(const GenerativeAISettings& value) { m_generativeAISettingsHasBeenSet = true; m_generativeAISettings = value; } + + /** + *

            Contains settings for generative AI features powered by Amazon Bedrock for + * your bot locale. Use this object to turn generative AI features on and off. + * Pricing may differ if you turn a feature on. For more information, see LINK.

            + */ + inline void SetGenerativeAISettings(GenerativeAISettings&& value) { m_generativeAISettingsHasBeenSet = true; m_generativeAISettings = std::move(value); } + + /** + *

            Contains settings for generative AI features powered by Amazon Bedrock for + * your bot locale. Use this object to turn generative AI features on and off. + * Pricing may differ if you turn a feature on. For more information, see LINK.

            + */ + inline UpdateBotLocaleRequest& WithGenerativeAISettings(const GenerativeAISettings& value) { SetGenerativeAISettings(value); return *this;} + + /** + *

            Contains settings for generative AI features powered by Amazon Bedrock for + * your bot locale. Use this object to turn generative AI features on and off. + * Pricing may differ if you turn a feature on. For more information, see LINK.

            + */ + inline UpdateBotLocaleRequest& WithGenerativeAISettings(GenerativeAISettings&& value) { SetGenerativeAISettings(std::move(value)); return *this;} + private: Aws::String m_botId; @@ -313,6 +357,9 @@ namespace Model VoiceSettings m_voiceSettings; bool m_voiceSettingsHasBeenSet = false; + + GenerativeAISettings m_generativeAISettings; + bool m_generativeAISettingsHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/UpdateBotLocaleResult.h b/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/UpdateBotLocaleResult.h index 87e2c3d8944..18479a8028e 100644 --- a/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/UpdateBotLocaleResult.h +++ b/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/UpdateBotLocaleResult.h @@ -10,6 +10,7 @@ #include #include #include +#include #include namespace Aws @@ -458,6 +459,37 @@ namespace Model inline UpdateBotLocaleResult& AddRecommendedActions(const char* value) { m_recommendedActions.push_back(value); return *this; } + /** + *

            Contains settings for generative AI features powered by Amazon Bedrock for + * your bot locale.

            + */ + inline const GenerativeAISettings& GetGenerativeAISettings() const{ return m_generativeAISettings; } + + /** + *

            Contains settings for generative AI features powered by Amazon Bedrock for + * your bot locale.

            + */ + inline void SetGenerativeAISettings(const GenerativeAISettings& value) { m_generativeAISettings = value; } + + /** + *

            Contains settings for generative AI features powered by Amazon Bedrock for + * your bot locale.

            + */ + inline void SetGenerativeAISettings(GenerativeAISettings&& value) { m_generativeAISettings = std::move(value); } + + /** + *

            Contains settings for generative AI features powered by Amazon Bedrock for + * your bot locale.

            + */ + inline UpdateBotLocaleResult& WithGenerativeAISettings(const GenerativeAISettings& value) { SetGenerativeAISettings(value); return *this;} + + /** + *

            Contains settings for generative AI features powered by Amazon Bedrock for + * your bot locale.

            + */ + inline UpdateBotLocaleResult& WithGenerativeAISettings(GenerativeAISettings&& value) { SetGenerativeAISettings(std::move(value)); return *this;} + + inline const Aws::String& GetRequestId() const{ return m_requestId; } @@ -505,6 +537,8 @@ namespace Model Aws::Vector m_recommendedActions; + GenerativeAISettings m_generativeAISettings; + Aws::String m_requestId; }; diff --git a/generated/src/aws-cpp-sdk-lexv2-models/source/LexModelsV2Client.cpp b/generated/src/aws-cpp-sdk-lexv2-models/source/LexModelsV2Client.cpp index b493d333de4..0876cc41f33 100644 --- a/generated/src/aws-cpp-sdk-lexv2-models/source/LexModelsV2Client.cpp +++ b/generated/src/aws-cpp-sdk-lexv2-models/source/LexModelsV2Client.cpp @@ -55,6 +55,7 @@ #include #include #include +#include #include #include #include @@ -67,11 +68,13 @@ #include #include #include +#include #include #include #include #include #include +#include #include #include #include @@ -97,6 +100,7 @@ #include #include #include +#include #include #include #include @@ -1636,6 +1640,60 @@ DescribeBotRecommendationOutcome LexModelsV2Client::DescribeBotRecommendation(co {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +DescribeBotResourceGenerationOutcome LexModelsV2Client::DescribeBotResourceGeneration(const DescribeBotResourceGenerationRequest& request) const +{ + AWS_OPERATION_GUARD(DescribeBotResourceGeneration); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DescribeBotResourceGeneration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.BotIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DescribeBotResourceGeneration", "Required field: BotId, is not set"); + return DescribeBotResourceGenerationOutcome(Aws::Client::AWSError(LexModelsV2Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [BotId]", false)); + } + if (!request.BotVersionHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DescribeBotResourceGeneration", "Required field: BotVersion, is not set"); + return DescribeBotResourceGenerationOutcome(Aws::Client::AWSError(LexModelsV2Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [BotVersion]", false)); + } + if (!request.LocaleIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DescribeBotResourceGeneration", "Required field: LocaleId, is not set"); + return DescribeBotResourceGenerationOutcome(Aws::Client::AWSError(LexModelsV2Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [LocaleId]", false)); + } + if (!request.GenerationIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DescribeBotResourceGeneration", "Required field: GenerationId, is not set"); + return DescribeBotResourceGenerationOutcome(Aws::Client::AWSError(LexModelsV2Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [GenerationId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DescribeBotResourceGeneration, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DescribeBotResourceGeneration, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DescribeBotResourceGeneration", + {{ 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( + [&]()-> DescribeBotResourceGenerationOutcome { + 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, DescribeBotResourceGeneration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/bots/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetBotId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/botversions/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetBotVersion()); + endpointResolutionOutcome.GetResult().AddPathSegments("/botlocales/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetLocaleId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/generations/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetGenerationId()); + return DescribeBotResourceGenerationOutcome(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()}}); +} + DescribeBotVersionOutcome LexModelsV2Client::DescribeBotVersion(const DescribeBotVersionRequest& request) const { AWS_OPERATION_GUARD(DescribeBotVersion); @@ -2124,6 +2182,54 @@ DescribeTestSetGenerationOutcome LexModelsV2Client::DescribeTestSetGeneration(co {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +GenerateBotElementOutcome LexModelsV2Client::GenerateBotElement(const GenerateBotElementRequest& request) const +{ + AWS_OPERATION_GUARD(GenerateBotElement); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GenerateBotElement, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.BotIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GenerateBotElement", "Required field: BotId, is not set"); + return GenerateBotElementOutcome(Aws::Client::AWSError(LexModelsV2Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [BotId]", false)); + } + if (!request.BotVersionHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GenerateBotElement", "Required field: BotVersion, is not set"); + return GenerateBotElementOutcome(Aws::Client::AWSError(LexModelsV2Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [BotVersion]", false)); + } + if (!request.LocaleIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GenerateBotElement", "Required field: LocaleId, is not set"); + return GenerateBotElementOutcome(Aws::Client::AWSError(LexModelsV2Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [LocaleId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GenerateBotElement, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GenerateBotElement, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GenerateBotElement", + {{ 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( + [&]()-> GenerateBotElementOutcome { + 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, GenerateBotElement, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/bots/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetBotId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/botversions/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetBotVersion()); + endpointResolutionOutcome.GetResult().AddPathSegments("/botlocales/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetLocaleId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/generate"); + return GenerateBotElementOutcome(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()}}); +} + GetTestExecutionArtifactsUrlOutcome LexModelsV2Client::GetTestExecutionArtifactsUrl(const GetTestExecutionArtifactsUrlRequest& request) const { AWS_OPERATION_GUARD(GetTestExecutionArtifactsUrl); @@ -2315,6 +2421,54 @@ ListBotRecommendationsOutcome LexModelsV2Client::ListBotRecommendations(const Li {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +ListBotResourceGenerationsOutcome LexModelsV2Client::ListBotResourceGenerations(const ListBotResourceGenerationsRequest& request) const +{ + AWS_OPERATION_GUARD(ListBotResourceGenerations); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListBotResourceGenerations, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.BotIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("ListBotResourceGenerations", "Required field: BotId, is not set"); + return ListBotResourceGenerationsOutcome(Aws::Client::AWSError(LexModelsV2Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [BotId]", false)); + } + if (!request.BotVersionHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("ListBotResourceGenerations", "Required field: BotVersion, is not set"); + return ListBotResourceGenerationsOutcome(Aws::Client::AWSError(LexModelsV2Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [BotVersion]", false)); + } + if (!request.LocaleIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("ListBotResourceGenerations", "Required field: LocaleId, is not set"); + return ListBotResourceGenerationsOutcome(Aws::Client::AWSError(LexModelsV2Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [LocaleId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListBotResourceGenerations, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListBotResourceGenerations, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListBotResourceGenerations", + {{ 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( + [&]()-> ListBotResourceGenerationsOutcome { + 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, ListBotResourceGenerations, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/bots/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetBotId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/botversions/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetBotVersion()); + endpointResolutionOutcome.GetResult().AddPathSegments("/botlocales/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetLocaleId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/generations"); + return ListBotResourceGenerationsOutcome(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()}}); +} + ListBotVersionsOutcome LexModelsV2Client::ListBotVersions(const ListBotVersionsRequest& request) const { AWS_OPERATION_GUARD(ListBotVersions); @@ -3248,6 +3402,54 @@ StartBotRecommendationOutcome LexModelsV2Client::StartBotRecommendation(const St {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +StartBotResourceGenerationOutcome LexModelsV2Client::StartBotResourceGeneration(const StartBotResourceGenerationRequest& request) const +{ + AWS_OPERATION_GUARD(StartBotResourceGeneration); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, StartBotResourceGeneration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.BotIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("StartBotResourceGeneration", "Required field: BotId, is not set"); + return StartBotResourceGenerationOutcome(Aws::Client::AWSError(LexModelsV2Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [BotId]", false)); + } + if (!request.BotVersionHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("StartBotResourceGeneration", "Required field: BotVersion, is not set"); + return StartBotResourceGenerationOutcome(Aws::Client::AWSError(LexModelsV2Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [BotVersion]", false)); + } + if (!request.LocaleIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("StartBotResourceGeneration", "Required field: LocaleId, is not set"); + return StartBotResourceGenerationOutcome(Aws::Client::AWSError(LexModelsV2Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [LocaleId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, StartBotResourceGeneration, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, StartBotResourceGeneration, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".StartBotResourceGeneration", + {{ 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( + [&]()-> StartBotResourceGenerationOutcome { + 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, StartBotResourceGeneration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/bots/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetBotId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/botversions/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetBotVersion()); + endpointResolutionOutcome.GetResult().AddPathSegments("/botlocales/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetLocaleId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/startgeneration"); + return StartBotResourceGenerationOutcome(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()}}); +} + StartImportOutcome LexModelsV2Client::StartImport(const StartImportRequest& request) const { AWS_OPERATION_GUARD(StartImport); diff --git a/generated/src/aws-cpp-sdk-lexv2-models/source/model/BedrockModelSpecification.cpp b/generated/src/aws-cpp-sdk-lexv2-models/source/model/BedrockModelSpecification.cpp new file mode 100644 index 00000000000..8158b735575 --- /dev/null +++ b/generated/src/aws-cpp-sdk-lexv2-models/source/model/BedrockModelSpecification.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 LexModelsV2 +{ +namespace Model +{ + +BedrockModelSpecification::BedrockModelSpecification() : + m_modelArnHasBeenSet(false) +{ +} + +BedrockModelSpecification::BedrockModelSpecification(JsonView jsonValue) : + m_modelArnHasBeenSet(false) +{ + *this = jsonValue; +} + +BedrockModelSpecification& BedrockModelSpecification::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("modelArn")) + { + m_modelArn = jsonValue.GetString("modelArn"); + + m_modelArnHasBeenSet = true; + } + + return *this; +} + +JsonValue BedrockModelSpecification::Jsonize() const +{ + JsonValue payload; + + if(m_modelArnHasBeenSet) + { + payload.WithString("modelArn", m_modelArn); + + } + + return payload; +} + +} // namespace Model +} // namespace LexModelsV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lexv2-models/source/model/BuildtimeSettings.cpp b/generated/src/aws-cpp-sdk-lexv2-models/source/model/BuildtimeSettings.cpp new file mode 100644 index 00000000000..06950564e97 --- /dev/null +++ b/generated/src/aws-cpp-sdk-lexv2-models/source/model/BuildtimeSettings.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 LexModelsV2 +{ +namespace Model +{ + +BuildtimeSettings::BuildtimeSettings() : + m_descriptiveBotBuilderHasBeenSet(false), + m_sampleUtteranceGenerationHasBeenSet(false) +{ +} + +BuildtimeSettings::BuildtimeSettings(JsonView jsonValue) : + m_descriptiveBotBuilderHasBeenSet(false), + m_sampleUtteranceGenerationHasBeenSet(false) +{ + *this = jsonValue; +} + +BuildtimeSettings& BuildtimeSettings::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("descriptiveBotBuilder")) + { + m_descriptiveBotBuilder = jsonValue.GetObject("descriptiveBotBuilder"); + + m_descriptiveBotBuilderHasBeenSet = true; + } + + if(jsonValue.ValueExists("sampleUtteranceGeneration")) + { + m_sampleUtteranceGeneration = jsonValue.GetObject("sampleUtteranceGeneration"); + + m_sampleUtteranceGenerationHasBeenSet = true; + } + + return *this; +} + +JsonValue BuildtimeSettings::Jsonize() const +{ + JsonValue payload; + + if(m_descriptiveBotBuilderHasBeenSet) + { + payload.WithObject("descriptiveBotBuilder", m_descriptiveBotBuilder.Jsonize()); + + } + + if(m_sampleUtteranceGenerationHasBeenSet) + { + payload.WithObject("sampleUtteranceGeneration", m_sampleUtteranceGeneration.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace LexModelsV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lexv2-models/source/model/CreateBotLocaleRequest.cpp b/generated/src/aws-cpp-sdk-lexv2-models/source/model/CreateBotLocaleRequest.cpp index eedc9e24109..28cbebc4cb0 100644 --- a/generated/src/aws-cpp-sdk-lexv2-models/source/model/CreateBotLocaleRequest.cpp +++ b/generated/src/aws-cpp-sdk-lexv2-models/source/model/CreateBotLocaleRequest.cpp @@ -19,7 +19,8 @@ CreateBotLocaleRequest::CreateBotLocaleRequest() : m_descriptionHasBeenSet(false), m_nluIntentConfidenceThreshold(0.0), m_nluIntentConfidenceThresholdHasBeenSet(false), - m_voiceSettingsHasBeenSet(false) + m_voiceSettingsHasBeenSet(false), + m_generativeAISettingsHasBeenSet(false) { } @@ -51,6 +52,12 @@ Aws::String CreateBotLocaleRequest::SerializePayload() const } + if(m_generativeAISettingsHasBeenSet) + { + payload.WithObject("generativeAISettings", m_generativeAISettings.Jsonize()); + + } + return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-lexv2-models/source/model/CreateBotLocaleResult.cpp b/generated/src/aws-cpp-sdk-lexv2-models/source/model/CreateBotLocaleResult.cpp index 2d582edaf6c..d0b60dbcc3b 100644 --- a/generated/src/aws-cpp-sdk-lexv2-models/source/model/CreateBotLocaleResult.cpp +++ b/generated/src/aws-cpp-sdk-lexv2-models/source/model/CreateBotLocaleResult.cpp @@ -87,6 +87,12 @@ CreateBotLocaleResult& CreateBotLocaleResult::operator =(const Aws::AmazonWebSer } + if(jsonValue.ValueExists("generativeAISettings")) + { + m_generativeAISettings = jsonValue.GetObject("generativeAISettings"); + + } + const auto& headers = result.GetHeaderValueCollection(); const auto& requestIdIter = headers.find("x-amzn-requestid"); diff --git a/generated/src/aws-cpp-sdk-lexv2-models/source/model/DescribeBotLocaleResult.cpp b/generated/src/aws-cpp-sdk-lexv2-models/source/model/DescribeBotLocaleResult.cpp index dc5b739014a..37f50a29c54 100644 --- a/generated/src/aws-cpp-sdk-lexv2-models/source/model/DescribeBotLocaleResult.cpp +++ b/generated/src/aws-cpp-sdk-lexv2-models/source/model/DescribeBotLocaleResult.cpp @@ -142,6 +142,12 @@ DescribeBotLocaleResult& DescribeBotLocaleResult::operator =(const Aws::AmazonWe } } + if(jsonValue.ValueExists("generativeAISettings")) + { + m_generativeAISettings = jsonValue.GetObject("generativeAISettings"); + + } + const auto& headers = result.GetHeaderValueCollection(); const auto& requestIdIter = headers.find("x-amzn-requestid"); diff --git a/generated/src/aws-cpp-sdk-lexv2-models/source/model/DescribeBotResourceGenerationRequest.cpp b/generated/src/aws-cpp-sdk-lexv2-models/source/model/DescribeBotResourceGenerationRequest.cpp new file mode 100644 index 00000000000..c14c3b5f08e --- /dev/null +++ b/generated/src/aws-cpp-sdk-lexv2-models/source/model/DescribeBotResourceGenerationRequest.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::LexModelsV2::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +DescribeBotResourceGenerationRequest::DescribeBotResourceGenerationRequest() : + m_botIdHasBeenSet(false), + m_botVersionHasBeenSet(false), + m_localeIdHasBeenSet(false), + m_generationIdHasBeenSet(false) +{ +} + +Aws::String DescribeBotResourceGenerationRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-lexv2-models/source/model/DescribeBotResourceGenerationResult.cpp b/generated/src/aws-cpp-sdk-lexv2-models/source/model/DescribeBotResourceGenerationResult.cpp new file mode 100644 index 00000000000..b2d552ef4b8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-lexv2-models/source/model/DescribeBotResourceGenerationResult.cpp @@ -0,0 +1,113 @@ +/** + * 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::LexModelsV2::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DescribeBotResourceGenerationResult::DescribeBotResourceGenerationResult() : + m_generationStatus(GenerationStatus::NOT_SET) +{ +} + +DescribeBotResourceGenerationResult::DescribeBotResourceGenerationResult(const Aws::AmazonWebServiceResult& result) : + m_generationStatus(GenerationStatus::NOT_SET) +{ + *this = result; +} + +DescribeBotResourceGenerationResult& DescribeBotResourceGenerationResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("botId")) + { + m_botId = jsonValue.GetString("botId"); + + } + + if(jsonValue.ValueExists("botVersion")) + { + m_botVersion = jsonValue.GetString("botVersion"); + + } + + if(jsonValue.ValueExists("localeId")) + { + m_localeId = jsonValue.GetString("localeId"); + + } + + if(jsonValue.ValueExists("generationId")) + { + m_generationId = jsonValue.GetString("generationId"); + + } + + if(jsonValue.ValueExists("failureReasons")) + { + Aws::Utils::Array failureReasonsJsonList = jsonValue.GetArray("failureReasons"); + for(unsigned failureReasonsIndex = 0; failureReasonsIndex < failureReasonsJsonList.GetLength(); ++failureReasonsIndex) + { + m_failureReasons.push_back(failureReasonsJsonList[failureReasonsIndex].AsString()); + } + } + + if(jsonValue.ValueExists("generationStatus")) + { + m_generationStatus = GenerationStatusMapper::GetGenerationStatusForName(jsonValue.GetString("generationStatus")); + + } + + if(jsonValue.ValueExists("generationInputPrompt")) + { + m_generationInputPrompt = jsonValue.GetString("generationInputPrompt"); + + } + + if(jsonValue.ValueExists("generatedBotLocaleUrl")) + { + m_generatedBotLocaleUrl = jsonValue.GetString("generatedBotLocaleUrl"); + + } + + if(jsonValue.ValueExists("creationDateTime")) + { + m_creationDateTime = jsonValue.GetDouble("creationDateTime"); + + } + + if(jsonValue.ValueExists("modelArn")) + { + m_modelArn = jsonValue.GetString("modelArn"); + + } + + if(jsonValue.ValueExists("lastUpdatedDateTime")) + { + m_lastUpdatedDateTime = jsonValue.GetDouble("lastUpdatedDateTime"); + + } + + + 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-lexv2-models/source/model/DescriptiveBotBuilderSpecification.cpp b/generated/src/aws-cpp-sdk-lexv2-models/source/model/DescriptiveBotBuilderSpecification.cpp new file mode 100644 index 00000000000..3c74dcd6f15 --- /dev/null +++ b/generated/src/aws-cpp-sdk-lexv2-models/source/model/DescriptiveBotBuilderSpecification.cpp @@ -0,0 +1,76 @@ +/** + * 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 LexModelsV2 +{ +namespace Model +{ + +DescriptiveBotBuilderSpecification::DescriptiveBotBuilderSpecification() : + m_enabled(false), + m_enabledHasBeenSet(false), + m_bedrockModelSpecificationHasBeenSet(false) +{ +} + +DescriptiveBotBuilderSpecification::DescriptiveBotBuilderSpecification(JsonView jsonValue) : + m_enabled(false), + m_enabledHasBeenSet(false), + m_bedrockModelSpecificationHasBeenSet(false) +{ + *this = jsonValue; +} + +DescriptiveBotBuilderSpecification& DescriptiveBotBuilderSpecification::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("enabled")) + { + m_enabled = jsonValue.GetBool("enabled"); + + m_enabledHasBeenSet = true; + } + + if(jsonValue.ValueExists("bedrockModelSpecification")) + { + m_bedrockModelSpecification = jsonValue.GetObject("bedrockModelSpecification"); + + m_bedrockModelSpecificationHasBeenSet = true; + } + + return *this; +} + +JsonValue DescriptiveBotBuilderSpecification::Jsonize() const +{ + JsonValue payload; + + if(m_enabledHasBeenSet) + { + payload.WithBool("enabled", m_enabled); + + } + + if(m_bedrockModelSpecificationHasBeenSet) + { + payload.WithObject("bedrockModelSpecification", m_bedrockModelSpecification.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace LexModelsV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lexv2-models/source/model/GenerateBotElementRequest.cpp b/generated/src/aws-cpp-sdk-lexv2-models/source/model/GenerateBotElementRequest.cpp new file mode 100644 index 00000000000..231ad9cbf7b --- /dev/null +++ b/generated/src/aws-cpp-sdk-lexv2-models/source/model/GenerateBotElementRequest.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::LexModelsV2::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +GenerateBotElementRequest::GenerateBotElementRequest() : + m_intentIdHasBeenSet(false), + m_botIdHasBeenSet(false), + m_botVersionHasBeenSet(false), + m_localeIdHasBeenSet(false) +{ +} + +Aws::String GenerateBotElementRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_intentIdHasBeenSet) + { + payload.WithString("intentId", m_intentId); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-lexv2-models/source/model/GenerateBotElementResult.cpp b/generated/src/aws-cpp-sdk-lexv2-models/source/model/GenerateBotElementResult.cpp new file mode 100644 index 00000000000..ca31b569f5e --- /dev/null +++ b/generated/src/aws-cpp-sdk-lexv2-models/source/model/GenerateBotElementResult.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 +#include +#include + +#include + +using namespace Aws::LexModelsV2::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GenerateBotElementResult::GenerateBotElementResult() +{ +} + +GenerateBotElementResult::GenerateBotElementResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GenerateBotElementResult& GenerateBotElementResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("botId")) + { + m_botId = jsonValue.GetString("botId"); + + } + + if(jsonValue.ValueExists("botVersion")) + { + m_botVersion = jsonValue.GetString("botVersion"); + + } + + if(jsonValue.ValueExists("localeId")) + { + m_localeId = jsonValue.GetString("localeId"); + + } + + if(jsonValue.ValueExists("intentId")) + { + m_intentId = jsonValue.GetString("intentId"); + + } + + if(jsonValue.ValueExists("sampleUtterances")) + { + Aws::Utils::Array sampleUtterancesJsonList = jsonValue.GetArray("sampleUtterances"); + for(unsigned sampleUtterancesIndex = 0; sampleUtterancesIndex < sampleUtterancesJsonList.GetLength(); ++sampleUtterancesIndex) + { + m_sampleUtterances.push_back(sampleUtterancesJsonList[sampleUtterancesIndex].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-lexv2-models/source/model/GenerationSortBy.cpp b/generated/src/aws-cpp-sdk-lexv2-models/source/model/GenerationSortBy.cpp new file mode 100644 index 00000000000..a6ba2b6fdb9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-lexv2-models/source/model/GenerationSortBy.cpp @@ -0,0 +1,76 @@ +/** + * 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 LexModelsV2 +{ +namespace Model +{ + +GenerationSortBy::GenerationSortBy() : + m_attribute(GenerationSortByAttribute::NOT_SET), + m_attributeHasBeenSet(false), + m_order(SortOrder::NOT_SET), + m_orderHasBeenSet(false) +{ +} + +GenerationSortBy::GenerationSortBy(JsonView jsonValue) : + m_attribute(GenerationSortByAttribute::NOT_SET), + m_attributeHasBeenSet(false), + m_order(SortOrder::NOT_SET), + m_orderHasBeenSet(false) +{ + *this = jsonValue; +} + +GenerationSortBy& GenerationSortBy::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("attribute")) + { + m_attribute = GenerationSortByAttributeMapper::GetGenerationSortByAttributeForName(jsonValue.GetString("attribute")); + + m_attributeHasBeenSet = true; + } + + if(jsonValue.ValueExists("order")) + { + m_order = SortOrderMapper::GetSortOrderForName(jsonValue.GetString("order")); + + m_orderHasBeenSet = true; + } + + return *this; +} + +JsonValue GenerationSortBy::Jsonize() const +{ + JsonValue payload; + + if(m_attributeHasBeenSet) + { + payload.WithString("attribute", GenerationSortByAttributeMapper::GetNameForGenerationSortByAttribute(m_attribute)); + } + + if(m_orderHasBeenSet) + { + payload.WithString("order", SortOrderMapper::GetNameForSortOrder(m_order)); + } + + return payload; +} + +} // namespace Model +} // namespace LexModelsV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lexv2-models/source/model/GenerationSortByAttribute.cpp b/generated/src/aws-cpp-sdk-lexv2-models/source/model/GenerationSortByAttribute.cpp new file mode 100644 index 00000000000..304385b2b96 --- /dev/null +++ b/generated/src/aws-cpp-sdk-lexv2-models/source/model/GenerationSortByAttribute.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 LexModelsV2 + { + namespace Model + { + namespace GenerationSortByAttributeMapper + { + + static const int creationStartTime_HASH = HashingUtils::HashString("creationStartTime"); + static const int lastUpdatedTime_HASH = HashingUtils::HashString("lastUpdatedTime"); + + + GenerationSortByAttribute GetGenerationSortByAttributeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == creationStartTime_HASH) + { + return GenerationSortByAttribute::creationStartTime; + } + else if (hashCode == lastUpdatedTime_HASH) + { + return GenerationSortByAttribute::lastUpdatedTime; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return GenerationSortByAttribute::NOT_SET; + } + + Aws::String GetNameForGenerationSortByAttribute(GenerationSortByAttribute enumValue) + { + switch(enumValue) + { + case GenerationSortByAttribute::NOT_SET: + return {}; + case GenerationSortByAttribute::creationStartTime: + return "creationStartTime"; + case GenerationSortByAttribute::lastUpdatedTime: + return "lastUpdatedTime"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace GenerationSortByAttributeMapper + } // namespace Model + } // namespace LexModelsV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lexv2-models/source/model/GenerationStatus.cpp b/generated/src/aws-cpp-sdk-lexv2-models/source/model/GenerationStatus.cpp new file mode 100644 index 00000000000..3c75ec053c9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-lexv2-models/source/model/GenerationStatus.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 LexModelsV2 + { + namespace Model + { + namespace GenerationStatusMapper + { + + static const int Failed_HASH = HashingUtils::HashString("Failed"); + static const int Complete_HASH = HashingUtils::HashString("Complete"); + static const int InProgress_HASH = HashingUtils::HashString("InProgress"); + + + GenerationStatus GetGenerationStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Failed_HASH) + { + return GenerationStatus::Failed; + } + else if (hashCode == Complete_HASH) + { + return GenerationStatus::Complete; + } + else if (hashCode == InProgress_HASH) + { + return GenerationStatus::InProgress; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return GenerationStatus::NOT_SET; + } + + Aws::String GetNameForGenerationStatus(GenerationStatus enumValue) + { + switch(enumValue) + { + case GenerationStatus::NOT_SET: + return {}; + case GenerationStatus::Failed: + return "Failed"; + case GenerationStatus::Complete: + return "Complete"; + case GenerationStatus::InProgress: + return "InProgress"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace GenerationStatusMapper + } // namespace Model + } // namespace LexModelsV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lexv2-models/source/model/GenerationSummary.cpp b/generated/src/aws-cpp-sdk-lexv2-models/source/model/GenerationSummary.cpp new file mode 100644 index 00000000000..8fac2b3f971 --- /dev/null +++ b/generated/src/aws-cpp-sdk-lexv2-models/source/model/GenerationSummary.cpp @@ -0,0 +1,103 @@ +/** + * 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 LexModelsV2 +{ +namespace Model +{ + +GenerationSummary::GenerationSummary() : + m_generationIdHasBeenSet(false), + m_generationStatus(GenerationStatus::NOT_SET), + m_generationStatusHasBeenSet(false), + m_creationDateTimeHasBeenSet(false), + m_lastUpdatedDateTimeHasBeenSet(false) +{ +} + +GenerationSummary::GenerationSummary(JsonView jsonValue) : + m_generationIdHasBeenSet(false), + m_generationStatus(GenerationStatus::NOT_SET), + m_generationStatusHasBeenSet(false), + m_creationDateTimeHasBeenSet(false), + m_lastUpdatedDateTimeHasBeenSet(false) +{ + *this = jsonValue; +} + +GenerationSummary& GenerationSummary::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("generationId")) + { + m_generationId = jsonValue.GetString("generationId"); + + m_generationIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("generationStatus")) + { + m_generationStatus = GenerationStatusMapper::GetGenerationStatusForName(jsonValue.GetString("generationStatus")); + + m_generationStatusHasBeenSet = true; + } + + if(jsonValue.ValueExists("creationDateTime")) + { + m_creationDateTime = jsonValue.GetDouble("creationDateTime"); + + m_creationDateTimeHasBeenSet = true; + } + + if(jsonValue.ValueExists("lastUpdatedDateTime")) + { + m_lastUpdatedDateTime = jsonValue.GetDouble("lastUpdatedDateTime"); + + m_lastUpdatedDateTimeHasBeenSet = true; + } + + return *this; +} + +JsonValue GenerationSummary::Jsonize() const +{ + JsonValue payload; + + if(m_generationIdHasBeenSet) + { + payload.WithString("generationId", m_generationId); + + } + + if(m_generationStatusHasBeenSet) + { + payload.WithString("generationStatus", GenerationStatusMapper::GetNameForGenerationStatus(m_generationStatus)); + } + + if(m_creationDateTimeHasBeenSet) + { + payload.WithDouble("creationDateTime", m_creationDateTime.SecondsWithMSPrecision()); + } + + if(m_lastUpdatedDateTimeHasBeenSet) + { + payload.WithDouble("lastUpdatedDateTime", m_lastUpdatedDateTime.SecondsWithMSPrecision()); + } + + return payload; +} + +} // namespace Model +} // namespace LexModelsV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lexv2-models/source/model/GenerativeAISettings.cpp b/generated/src/aws-cpp-sdk-lexv2-models/source/model/GenerativeAISettings.cpp new file mode 100644 index 00000000000..18772659503 --- /dev/null +++ b/generated/src/aws-cpp-sdk-lexv2-models/source/model/GenerativeAISettings.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 LexModelsV2 +{ +namespace Model +{ + +GenerativeAISettings::GenerativeAISettings() : + m_runtimeSettingsHasBeenSet(false), + m_buildtimeSettingsHasBeenSet(false) +{ +} + +GenerativeAISettings::GenerativeAISettings(JsonView jsonValue) : + m_runtimeSettingsHasBeenSet(false), + m_buildtimeSettingsHasBeenSet(false) +{ + *this = jsonValue; +} + +GenerativeAISettings& GenerativeAISettings::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("runtimeSettings")) + { + m_runtimeSettings = jsonValue.GetObject("runtimeSettings"); + + m_runtimeSettingsHasBeenSet = true; + } + + if(jsonValue.ValueExists("buildtimeSettings")) + { + m_buildtimeSettings = jsonValue.GetObject("buildtimeSettings"); + + m_buildtimeSettingsHasBeenSet = true; + } + + return *this; +} + +JsonValue GenerativeAISettings::Jsonize() const +{ + JsonValue payload; + + if(m_runtimeSettingsHasBeenSet) + { + payload.WithObject("runtimeSettings", m_runtimeSettings.Jsonize()); + + } + + if(m_buildtimeSettingsHasBeenSet) + { + payload.WithObject("buildtimeSettings", m_buildtimeSettings.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace LexModelsV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lexv2-models/source/model/ListBotResourceGenerationsRequest.cpp b/generated/src/aws-cpp-sdk-lexv2-models/source/model/ListBotResourceGenerationsRequest.cpp new file mode 100644 index 00000000000..909ae4c7d99 --- /dev/null +++ b/generated/src/aws-cpp-sdk-lexv2-models/source/model/ListBotResourceGenerationsRequest.cpp @@ -0,0 +1,53 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::LexModelsV2::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +ListBotResourceGenerationsRequest::ListBotResourceGenerationsRequest() : + m_botIdHasBeenSet(false), + m_botVersionHasBeenSet(false), + m_localeIdHasBeenSet(false), + m_sortByHasBeenSet(false), + m_maxResults(0), + m_maxResultsHasBeenSet(false), + m_nextTokenHasBeenSet(false) +{ +} + +Aws::String ListBotResourceGenerationsRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_sortByHasBeenSet) + { + payload.WithObject("sortBy", m_sortBy.Jsonize()); + + } + + if(m_maxResultsHasBeenSet) + { + payload.WithInteger("maxResults", m_maxResults); + + } + + if(m_nextTokenHasBeenSet) + { + payload.WithString("nextToken", m_nextToken); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-lexv2-models/source/model/ListBotResourceGenerationsResult.cpp b/generated/src/aws-cpp-sdk-lexv2-models/source/model/ListBotResourceGenerationsResult.cpp new file mode 100644 index 00000000000..c572439b8df --- /dev/null +++ b/generated/src/aws-cpp-sdk-lexv2-models/source/model/ListBotResourceGenerationsResult.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 +#include +#include + +#include + +using namespace Aws::LexModelsV2::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListBotResourceGenerationsResult::ListBotResourceGenerationsResult() +{ +} + +ListBotResourceGenerationsResult::ListBotResourceGenerationsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListBotResourceGenerationsResult& ListBotResourceGenerationsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("botId")) + { + m_botId = jsonValue.GetString("botId"); + + } + + if(jsonValue.ValueExists("botVersion")) + { + m_botVersion = jsonValue.GetString("botVersion"); + + } + + if(jsonValue.ValueExists("localeId")) + { + m_localeId = jsonValue.GetString("localeId"); + + } + + if(jsonValue.ValueExists("generationSummaries")) + { + Aws::Utils::Array generationSummariesJsonList = jsonValue.GetArray("generationSummaries"); + for(unsigned generationSummariesIndex = 0; generationSummariesIndex < generationSummariesJsonList.GetLength(); ++generationSummariesIndex) + { + m_generationSummaries.push_back(generationSummariesJsonList[generationSummariesIndex].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-lexv2-models/source/model/RuntimeSettings.cpp b/generated/src/aws-cpp-sdk-lexv2-models/source/model/RuntimeSettings.cpp new file mode 100644 index 00000000000..a093d05647b --- /dev/null +++ b/generated/src/aws-cpp-sdk-lexv2-models/source/model/RuntimeSettings.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 LexModelsV2 +{ +namespace Model +{ + +RuntimeSettings::RuntimeSettings() : + m_slotResolutionImprovementHasBeenSet(false) +{ +} + +RuntimeSettings::RuntimeSettings(JsonView jsonValue) : + m_slotResolutionImprovementHasBeenSet(false) +{ + *this = jsonValue; +} + +RuntimeSettings& RuntimeSettings::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("slotResolutionImprovement")) + { + m_slotResolutionImprovement = jsonValue.GetObject("slotResolutionImprovement"); + + m_slotResolutionImprovementHasBeenSet = true; + } + + return *this; +} + +JsonValue RuntimeSettings::Jsonize() const +{ + JsonValue payload; + + if(m_slotResolutionImprovementHasBeenSet) + { + payload.WithObject("slotResolutionImprovement", m_slotResolutionImprovement.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace LexModelsV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lexv2-models/source/model/SampleUtteranceGenerationSpecification.cpp b/generated/src/aws-cpp-sdk-lexv2-models/source/model/SampleUtteranceGenerationSpecification.cpp new file mode 100644 index 00000000000..733c0628693 --- /dev/null +++ b/generated/src/aws-cpp-sdk-lexv2-models/source/model/SampleUtteranceGenerationSpecification.cpp @@ -0,0 +1,76 @@ +/** + * 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 LexModelsV2 +{ +namespace Model +{ + +SampleUtteranceGenerationSpecification::SampleUtteranceGenerationSpecification() : + m_enabled(false), + m_enabledHasBeenSet(false), + m_bedrockModelSpecificationHasBeenSet(false) +{ +} + +SampleUtteranceGenerationSpecification::SampleUtteranceGenerationSpecification(JsonView jsonValue) : + m_enabled(false), + m_enabledHasBeenSet(false), + m_bedrockModelSpecificationHasBeenSet(false) +{ + *this = jsonValue; +} + +SampleUtteranceGenerationSpecification& SampleUtteranceGenerationSpecification::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("enabled")) + { + m_enabled = jsonValue.GetBool("enabled"); + + m_enabledHasBeenSet = true; + } + + if(jsonValue.ValueExists("bedrockModelSpecification")) + { + m_bedrockModelSpecification = jsonValue.GetObject("bedrockModelSpecification"); + + m_bedrockModelSpecificationHasBeenSet = true; + } + + return *this; +} + +JsonValue SampleUtteranceGenerationSpecification::Jsonize() const +{ + JsonValue payload; + + if(m_enabledHasBeenSet) + { + payload.WithBool("enabled", m_enabled); + + } + + if(m_bedrockModelSpecificationHasBeenSet) + { + payload.WithObject("bedrockModelSpecification", m_bedrockModelSpecification.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace LexModelsV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lexv2-models/source/model/SlotResolutionImprovementSpecification.cpp b/generated/src/aws-cpp-sdk-lexv2-models/source/model/SlotResolutionImprovementSpecification.cpp new file mode 100644 index 00000000000..99a447da521 --- /dev/null +++ b/generated/src/aws-cpp-sdk-lexv2-models/source/model/SlotResolutionImprovementSpecification.cpp @@ -0,0 +1,76 @@ +/** + * 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 LexModelsV2 +{ +namespace Model +{ + +SlotResolutionImprovementSpecification::SlotResolutionImprovementSpecification() : + m_enabled(false), + m_enabledHasBeenSet(false), + m_bedrockModelSpecificationHasBeenSet(false) +{ +} + +SlotResolutionImprovementSpecification::SlotResolutionImprovementSpecification(JsonView jsonValue) : + m_enabled(false), + m_enabledHasBeenSet(false), + m_bedrockModelSpecificationHasBeenSet(false) +{ + *this = jsonValue; +} + +SlotResolutionImprovementSpecification& SlotResolutionImprovementSpecification::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("enabled")) + { + m_enabled = jsonValue.GetBool("enabled"); + + m_enabledHasBeenSet = true; + } + + if(jsonValue.ValueExists("bedrockModelSpecification")) + { + m_bedrockModelSpecification = jsonValue.GetObject("bedrockModelSpecification"); + + m_bedrockModelSpecificationHasBeenSet = true; + } + + return *this; +} + +JsonValue SlotResolutionImprovementSpecification::Jsonize() const +{ + JsonValue payload; + + if(m_enabledHasBeenSet) + { + payload.WithBool("enabled", m_enabled); + + } + + if(m_bedrockModelSpecificationHasBeenSet) + { + payload.WithObject("bedrockModelSpecification", m_bedrockModelSpecification.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace LexModelsV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lexv2-models/source/model/SlotResolutionSetting.cpp b/generated/src/aws-cpp-sdk-lexv2-models/source/model/SlotResolutionSetting.cpp new file mode 100644 index 00000000000..e75bfb4175b --- /dev/null +++ b/generated/src/aws-cpp-sdk-lexv2-models/source/model/SlotResolutionSetting.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 LexModelsV2 +{ +namespace Model +{ + +SlotResolutionSetting::SlotResolutionSetting() : + m_slotResolutionStrategy(SlotResolutionStrategy::NOT_SET), + m_slotResolutionStrategyHasBeenSet(false) +{ +} + +SlotResolutionSetting::SlotResolutionSetting(JsonView jsonValue) : + m_slotResolutionStrategy(SlotResolutionStrategy::NOT_SET), + m_slotResolutionStrategyHasBeenSet(false) +{ + *this = jsonValue; +} + +SlotResolutionSetting& SlotResolutionSetting::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("slotResolutionStrategy")) + { + m_slotResolutionStrategy = SlotResolutionStrategyMapper::GetSlotResolutionStrategyForName(jsonValue.GetString("slotResolutionStrategy")); + + m_slotResolutionStrategyHasBeenSet = true; + } + + return *this; +} + +JsonValue SlotResolutionSetting::Jsonize() const +{ + JsonValue payload; + + if(m_slotResolutionStrategyHasBeenSet) + { + payload.WithString("slotResolutionStrategy", SlotResolutionStrategyMapper::GetNameForSlotResolutionStrategy(m_slotResolutionStrategy)); + } + + return payload; +} + +} // namespace Model +} // namespace LexModelsV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lexv2-models/source/model/SlotResolutionStrategy.cpp b/generated/src/aws-cpp-sdk-lexv2-models/source/model/SlotResolutionStrategy.cpp new file mode 100644 index 00000000000..d0db56cea97 --- /dev/null +++ b/generated/src/aws-cpp-sdk-lexv2-models/source/model/SlotResolutionStrategy.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 LexModelsV2 + { + namespace Model + { + namespace SlotResolutionStrategyMapper + { + + static const int EnhancedFallback_HASH = HashingUtils::HashString("EnhancedFallback"); + static const int Default_HASH = HashingUtils::HashString("Default"); + + + SlotResolutionStrategy GetSlotResolutionStrategyForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == EnhancedFallback_HASH) + { + return SlotResolutionStrategy::EnhancedFallback; + } + else if (hashCode == Default_HASH) + { + return SlotResolutionStrategy::Default; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return SlotResolutionStrategy::NOT_SET; + } + + Aws::String GetNameForSlotResolutionStrategy(SlotResolutionStrategy enumValue) + { + switch(enumValue) + { + case SlotResolutionStrategy::NOT_SET: + return {}; + case SlotResolutionStrategy::EnhancedFallback: + return "EnhancedFallback"; + case SlotResolutionStrategy::Default: + return "Default"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace SlotResolutionStrategyMapper + } // namespace Model + } // namespace LexModelsV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lexv2-models/source/model/SlotValueElicitationSetting.cpp b/generated/src/aws-cpp-sdk-lexv2-models/source/model/SlotValueElicitationSetting.cpp index 1be2ddbbfca..ac8b656b190 100644 --- a/generated/src/aws-cpp-sdk-lexv2-models/source/model/SlotValueElicitationSetting.cpp +++ b/generated/src/aws-cpp-sdk-lexv2-models/source/model/SlotValueElicitationSetting.cpp @@ -25,7 +25,8 @@ SlotValueElicitationSetting::SlotValueElicitationSetting() : m_promptSpecificationHasBeenSet(false), m_sampleUtterancesHasBeenSet(false), m_waitAndContinueSpecificationHasBeenSet(false), - m_slotCaptureSettingHasBeenSet(false) + m_slotCaptureSettingHasBeenSet(false), + m_slotResolutionSettingHasBeenSet(false) { } @@ -36,7 +37,8 @@ SlotValueElicitationSetting::SlotValueElicitationSetting(JsonView jsonValue) : m_promptSpecificationHasBeenSet(false), m_sampleUtterancesHasBeenSet(false), m_waitAndContinueSpecificationHasBeenSet(false), - m_slotCaptureSettingHasBeenSet(false) + m_slotCaptureSettingHasBeenSet(false), + m_slotResolutionSettingHasBeenSet(false) { *this = jsonValue; } @@ -88,6 +90,13 @@ SlotValueElicitationSetting& SlotValueElicitationSetting::operator =(JsonView js m_slotCaptureSettingHasBeenSet = true; } + if(jsonValue.ValueExists("slotResolutionSetting")) + { + m_slotResolutionSetting = jsonValue.GetObject("slotResolutionSetting"); + + m_slotResolutionSettingHasBeenSet = true; + } + return *this; } @@ -135,6 +144,12 @@ JsonValue SlotValueElicitationSetting::Jsonize() const } + if(m_slotResolutionSettingHasBeenSet) + { + payload.WithObject("slotResolutionSetting", m_slotResolutionSetting.Jsonize()); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-lexv2-models/source/model/StartBotResourceGenerationRequest.cpp b/generated/src/aws-cpp-sdk-lexv2-models/source/model/StartBotResourceGenerationRequest.cpp new file mode 100644 index 00000000000..1f4ceb37e08 --- /dev/null +++ b/generated/src/aws-cpp-sdk-lexv2-models/source/model/StartBotResourceGenerationRequest.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::LexModelsV2::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +StartBotResourceGenerationRequest::StartBotResourceGenerationRequest() : + m_generationInputPromptHasBeenSet(false), + m_botIdHasBeenSet(false), + m_botVersionHasBeenSet(false), + m_localeIdHasBeenSet(false) +{ +} + +Aws::String StartBotResourceGenerationRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_generationInputPromptHasBeenSet) + { + payload.WithString("generationInputPrompt", m_generationInputPrompt); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-lexv2-models/source/model/StartBotResourceGenerationResult.cpp b/generated/src/aws-cpp-sdk-lexv2-models/source/model/StartBotResourceGenerationResult.cpp new file mode 100644 index 00000000000..edf997746a0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-lexv2-models/source/model/StartBotResourceGenerationResult.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::LexModelsV2::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +StartBotResourceGenerationResult::StartBotResourceGenerationResult() : + m_generationStatus(GenerationStatus::NOT_SET) +{ +} + +StartBotResourceGenerationResult::StartBotResourceGenerationResult(const Aws::AmazonWebServiceResult& result) : + m_generationStatus(GenerationStatus::NOT_SET) +{ + *this = result; +} + +StartBotResourceGenerationResult& StartBotResourceGenerationResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("generationInputPrompt")) + { + m_generationInputPrompt = jsonValue.GetString("generationInputPrompt"); + + } + + if(jsonValue.ValueExists("generationId")) + { + m_generationId = jsonValue.GetString("generationId"); + + } + + if(jsonValue.ValueExists("botId")) + { + m_botId = jsonValue.GetString("botId"); + + } + + if(jsonValue.ValueExists("botVersion")) + { + m_botVersion = jsonValue.GetString("botVersion"); + + } + + if(jsonValue.ValueExists("localeId")) + { + m_localeId = jsonValue.GetString("localeId"); + + } + + if(jsonValue.ValueExists("generationStatus")) + { + m_generationStatus = GenerationStatusMapper::GetGenerationStatusForName(jsonValue.GetString("generationStatus")); + + } + + if(jsonValue.ValueExists("creationDateTime")) + { + m_creationDateTime = jsonValue.GetDouble("creationDateTime"); + + } + + + 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-lexv2-models/source/model/UpdateBotLocaleRequest.cpp b/generated/src/aws-cpp-sdk-lexv2-models/source/model/UpdateBotLocaleRequest.cpp index 7ba3c5f1aa9..29ba0f23644 100644 --- a/generated/src/aws-cpp-sdk-lexv2-models/source/model/UpdateBotLocaleRequest.cpp +++ b/generated/src/aws-cpp-sdk-lexv2-models/source/model/UpdateBotLocaleRequest.cpp @@ -19,7 +19,8 @@ UpdateBotLocaleRequest::UpdateBotLocaleRequest() : m_descriptionHasBeenSet(false), m_nluIntentConfidenceThreshold(0.0), m_nluIntentConfidenceThresholdHasBeenSet(false), - m_voiceSettingsHasBeenSet(false) + m_voiceSettingsHasBeenSet(false), + m_generativeAISettingsHasBeenSet(false) { } @@ -45,6 +46,12 @@ Aws::String UpdateBotLocaleRequest::SerializePayload() const } + if(m_generativeAISettingsHasBeenSet) + { + payload.WithObject("generativeAISettings", m_generativeAISettings.Jsonize()); + + } + return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-lexv2-models/source/model/UpdateBotLocaleResult.cpp b/generated/src/aws-cpp-sdk-lexv2-models/source/model/UpdateBotLocaleResult.cpp index d97629b1266..20c618039d8 100644 --- a/generated/src/aws-cpp-sdk-lexv2-models/source/model/UpdateBotLocaleResult.cpp +++ b/generated/src/aws-cpp-sdk-lexv2-models/source/model/UpdateBotLocaleResult.cpp @@ -111,6 +111,12 @@ UpdateBotLocaleResult& UpdateBotLocaleResult::operator =(const Aws::AmazonWebSer } } + if(jsonValue.ValueExists("generativeAISettings")) + { + m_generativeAISettings = jsonValue.GetObject("generativeAISettings"); + + } + const auto& headers = result.GetHeaderValueCollection(); const auto& requestIdIter = headers.find("x-amzn-requestid"); diff --git a/generated/src/aws-cpp-sdk-lexv2-runtime/include/aws/lexv2-runtime/model/DialogAction.h b/generated/src/aws-cpp-sdk-lexv2-runtime/include/aws/lexv2-runtime/model/DialogAction.h index 7f274505256..eb941555187 100644 --- a/generated/src/aws-cpp-sdk-lexv2-runtime/include/aws/lexv2-runtime/model/DialogAction.h +++ b/generated/src/aws-cpp-sdk-lexv2-runtime/include/aws/lexv2-runtime/model/DialogAction.h @@ -42,85 +42,91 @@ namespace Model /** *

            The next action that the bot should take in its interaction with the user. - * The possible values are:

            • Close - Indicates that - * there will not be a response from the user. For example, the statement "Your - * order has been placed" does not require a response.

            • - * ConfirmIntent - The next action is asking the user if the intent is - * complete and ready to be fulfilled. This is a yes/no question such as "Place the - * order?"

            • Delegate - The next action is determined - * by Amazon Lex V2.

            • ElicitIntent - The next action - * is to elicit an intent from the user.

            • ElicitSlot - * - The next action is to elicit a slot value from the user.

            + * The following values are possible:

            • Close – + * Indicates that there will not be a response from the user. For example, the + * statement "Your order has been placed" does not require a response.

            • + *
            • ConfirmIntent – The next action is asking the user if the + * intent is complete and ready to be fulfilled. This is a yes/no question such as + * "Place the order?"

            • Delegate – The next action is + * determined by Amazon Lex V2.

            • ElicitIntent – The + * next action is to elicit an intent from the user.

            • + * ElicitSlot – The next action is to elicit a slot value from the + * user.

            */ inline const DialogActionType& GetType() const{ return m_type; } /** *

            The next action that the bot should take in its interaction with the user. - * The possible values are:

            • Close - Indicates that - * there will not be a response from the user. For example, the statement "Your - * order has been placed" does not require a response.

            • - * ConfirmIntent - The next action is asking the user if the intent is - * complete and ready to be fulfilled. This is a yes/no question such as "Place the - * order?"

            • Delegate - The next action is determined - * by Amazon Lex V2.

            • ElicitIntent - The next action - * is to elicit an intent from the user.

            • ElicitSlot - * - The next action is to elicit a slot value from the user.

            + * The following values are possible:

            • Close – + * Indicates that there will not be a response from the user. For example, the + * statement "Your order has been placed" does not require a response.

            • + *
            • ConfirmIntent – The next action is asking the user if the + * intent is complete and ready to be fulfilled. This is a yes/no question such as + * "Place the order?"

            • Delegate – The next action is + * determined by Amazon Lex V2.

            • ElicitIntent – The + * next action is to elicit an intent from the user.

            • + * ElicitSlot – The next action is to elicit a slot value from the + * user.

            */ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *

            The next action that the bot should take in its interaction with the user. - * The possible values are:

            • Close - Indicates that - * there will not be a response from the user. For example, the statement "Your - * order has been placed" does not require a response.

            • - * ConfirmIntent - The next action is asking the user if the intent is - * complete and ready to be fulfilled. This is a yes/no question such as "Place the - * order?"

            • Delegate - The next action is determined - * by Amazon Lex V2.

            • ElicitIntent - The next action - * is to elicit an intent from the user.

            • ElicitSlot - * - The next action is to elicit a slot value from the user.

            + * The following values are possible:

            • Close – + * Indicates that there will not be a response from the user. For example, the + * statement "Your order has been placed" does not require a response.

            • + *
            • ConfirmIntent – The next action is asking the user if the + * intent is complete and ready to be fulfilled. This is a yes/no question such as + * "Place the order?"

            • Delegate – The next action is + * determined by Amazon Lex V2.

            • ElicitIntent – The + * next action is to elicit an intent from the user.

            • + * ElicitSlot – The next action is to elicit a slot value from the + * user.

            */ inline void SetType(const DialogActionType& value) { m_typeHasBeenSet = true; m_type = value; } /** *

            The next action that the bot should take in its interaction with the user. - * The possible values are:

            • Close - Indicates that - * there will not be a response from the user. For example, the statement "Your - * order has been placed" does not require a response.

            • - * ConfirmIntent - The next action is asking the user if the intent is - * complete and ready to be fulfilled. This is a yes/no question such as "Place the - * order?"

            • Delegate - The next action is determined - * by Amazon Lex V2.

            • ElicitIntent - The next action - * is to elicit an intent from the user.

            • ElicitSlot - * - The next action is to elicit a slot value from the user.

            + * The following values are possible:

            • Close – + * Indicates that there will not be a response from the user. For example, the + * statement "Your order has been placed" does not require a response.

            • + *
            • ConfirmIntent – The next action is asking the user if the + * intent is complete and ready to be fulfilled. This is a yes/no question such as + * "Place the order?"

            • Delegate – The next action is + * determined by Amazon Lex V2.

            • ElicitIntent – The + * next action is to elicit an intent from the user.

            • + * ElicitSlot – The next action is to elicit a slot value from the + * user.

            */ inline void SetType(DialogActionType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** *

            The next action that the bot should take in its interaction with the user. - * The possible values are:

            • Close - Indicates that - * there will not be a response from the user. For example, the statement "Your - * order has been placed" does not require a response.

            • - * ConfirmIntent - The next action is asking the user if the intent is - * complete and ready to be fulfilled. This is a yes/no question such as "Place the - * order?"

            • Delegate - The next action is determined - * by Amazon Lex V2.

            • ElicitIntent - The next action - * is to elicit an intent from the user.

            • ElicitSlot - * - The next action is to elicit a slot value from the user.

            + * The following values are possible:

            • Close – + * Indicates that there will not be a response from the user. For example, the + * statement "Your order has been placed" does not require a response.

            • + *
            • ConfirmIntent – The next action is asking the user if the + * intent is complete and ready to be fulfilled. This is a yes/no question such as + * "Place the order?"

            • Delegate – The next action is + * determined by Amazon Lex V2.

            • ElicitIntent – The + * next action is to elicit an intent from the user.

            • + * ElicitSlot – The next action is to elicit a slot value from the + * user.

            */ inline DialogAction& WithType(const DialogActionType& value) { SetType(value); return *this;} /** *

            The next action that the bot should take in its interaction with the user. - * The possible values are:

            • Close - Indicates that - * there will not be a response from the user. For example, the statement "Your - * order has been placed" does not require a response.

            • - * ConfirmIntent - The next action is asking the user if the intent is - * complete and ready to be fulfilled. This is a yes/no question such as "Place the - * order?"

            • Delegate - The next action is determined - * by Amazon Lex V2.

            • ElicitIntent - The next action - * is to elicit an intent from the user.

            • ElicitSlot - * - The next action is to elicit a slot value from the user.

            + * The following values are possible:

            • Close – + * Indicates that there will not be a response from the user. For example, the + * statement "Your order has been placed" does not require a response.

            • + *
            • ConfirmIntent – The next action is asking the user if the + * intent is complete and ready to be fulfilled. This is a yes/no question such as + * "Place the order?"

            • Delegate – The next action is + * determined by Amazon Lex V2.

            • ElicitIntent – The + * next action is to elicit an intent from the user.

            • + * ElicitSlot – The next action is to elicit a slot value from the + * user.

            */ inline DialogAction& WithType(DialogActionType&& value) { SetType(std::move(value)); return *this;} @@ -172,7 +178,7 @@ namespace Model * bot.

            • Spell by letter - "b" "o" "b"

            • Spell by * word - "b as in boy" "o as in oscar" "b as in boy"

            For more * information, see Using + * href="https://docs.aws.amazon.com/lexv2/latest/dg/spelling-styles.html"> Using * spelling to enter slot values .

            */ inline const StyleType& GetSlotElicitationStyle() const{ return m_slotElicitationStyle; } @@ -183,7 +189,7 @@ namespace Model * bot.

            • Spell by letter - "b" "o" "b"

            • Spell by * word - "b as in boy" "o as in oscar" "b as in boy"

            For more * information, see Using + * href="https://docs.aws.amazon.com/lexv2/latest/dg/spelling-styles.html"> Using * spelling to enter slot values .

            */ inline bool SlotElicitationStyleHasBeenSet() const { return m_slotElicitationStyleHasBeenSet; } @@ -194,7 +200,7 @@ namespace Model * bot.

            • Spell by letter - "b" "o" "b"

            • Spell by * word - "b as in boy" "o as in oscar" "b as in boy"

            For more * information, see Using + * href="https://docs.aws.amazon.com/lexv2/latest/dg/spelling-styles.html"> Using * spelling to enter slot values .

            */ inline void SetSlotElicitationStyle(const StyleType& value) { m_slotElicitationStyleHasBeenSet = true; m_slotElicitationStyle = value; } @@ -205,7 +211,7 @@ namespace Model * bot.

            • Spell by letter - "b" "o" "b"

            • Spell by * word - "b as in boy" "o as in oscar" "b as in boy"

            For more * information, see Using + * href="https://docs.aws.amazon.com/lexv2/latest/dg/spelling-styles.html"> Using * spelling to enter slot values .

            */ inline void SetSlotElicitationStyle(StyleType&& value) { m_slotElicitationStyleHasBeenSet = true; m_slotElicitationStyle = std::move(value); } @@ -216,7 +222,7 @@ namespace Model * bot.

            • Spell by letter - "b" "o" "b"

            • Spell by * word - "b as in boy" "o as in oscar" "b as in boy"

            For more * information, see Using + * href="https://docs.aws.amazon.com/lexv2/latest/dg/spelling-styles.html"> Using * spelling to enter slot values .

            */ inline DialogAction& WithSlotElicitationStyle(const StyleType& value) { SetSlotElicitationStyle(value); return *this;} @@ -227,7 +233,7 @@ namespace Model * bot.

            • Spell by letter - "b" "o" "b"

            • Spell by * word - "b as in boy" "o as in oscar" "b as in boy"

            For more * information, see Using + * href="https://docs.aws.amazon.com/lexv2/latest/dg/spelling-styles.html"> Using * spelling to enter slot values .

            */ inline DialogAction& WithSlotElicitationStyle(StyleType&& value) { SetSlotElicitationStyle(std::move(value)); return *this;} diff --git a/generated/src/aws-cpp-sdk-lexv2-runtime/include/aws/lexv2-runtime/model/Intent.h b/generated/src/aws-cpp-sdk-lexv2-runtime/include/aws/lexv2-runtime/model/Intent.h index 2efb1d64f95..e6fcff5b66f 100644 --- a/generated/src/aws-cpp-sdk-lexv2-runtime/include/aws/lexv2-runtime/model/Intent.h +++ b/generated/src/aws-cpp-sdk-lexv2-runtime/include/aws/lexv2-runtime/model/Intent.h @@ -157,69 +157,135 @@ namespace Model /** - *

            Contains fulfillment information for the intent.

            + *

            Indicates the fulfillment state for the intent. The meanings of each value + * are as follows:

            • Failed – The bot failed to + * fulfill the intent.

            • Fulfilled – The bot has + * completed fulfillment of the intent.

            • + * FulfillmentInProgress – The bot is in the middle of fulfilling the + * intent.

            • InProgress – The bot is in the middle of + * eliciting the slot values that are necessary to fulfill the intent.

            • + *
            • ReadyForFulfillment – The bot has elicited all the slot + * values for the intent and is ready to fulfill the intent.

            • + * Waiting – The bot is waiting for a response from the user (limited + * to streaming conversations).

            */ inline const IntentState& GetState() const{ return m_state; } /** - *

            Contains fulfillment information for the intent.

            + *

            Indicates the fulfillment state for the intent. The meanings of each value + * are as follows:

            • Failed – The bot failed to + * fulfill the intent.

            • Fulfilled – The bot has + * completed fulfillment of the intent.

            • + * FulfillmentInProgress – The bot is in the middle of fulfilling the + * intent.

            • InProgress – The bot is in the middle of + * eliciting the slot values that are necessary to fulfill the intent.

            • + *
            • ReadyForFulfillment – The bot has elicited all the slot + * values for the intent and is ready to fulfill the intent.

            • + * Waiting – The bot is waiting for a response from the user (limited + * to streaming conversations).

            */ inline bool StateHasBeenSet() const { return m_stateHasBeenSet; } /** - *

            Contains fulfillment information for the intent.

            + *

            Indicates the fulfillment state for the intent. The meanings of each value + * are as follows:

            • Failed – The bot failed to + * fulfill the intent.

            • Fulfilled – The bot has + * completed fulfillment of the intent.

            • + * FulfillmentInProgress – The bot is in the middle of fulfilling the + * intent.

            • InProgress – The bot is in the middle of + * eliciting the slot values that are necessary to fulfill the intent.

            • + *
            • ReadyForFulfillment – The bot has elicited all the slot + * values for the intent and is ready to fulfill the intent.

            • + * Waiting – The bot is waiting for a response from the user (limited + * to streaming conversations).

            */ inline void SetState(const IntentState& value) { m_stateHasBeenSet = true; m_state = value; } /** - *

            Contains fulfillment information for the intent.

            + *

            Indicates the fulfillment state for the intent. The meanings of each value + * are as follows:

            • Failed – The bot failed to + * fulfill the intent.

            • Fulfilled – The bot has + * completed fulfillment of the intent.

            • + * FulfillmentInProgress – The bot is in the middle of fulfilling the + * intent.

            • InProgress – The bot is in the middle of + * eliciting the slot values that are necessary to fulfill the intent.

            • + *
            • ReadyForFulfillment – The bot has elicited all the slot + * values for the intent and is ready to fulfill the intent.

            • + * Waiting – The bot is waiting for a response from the user (limited + * to streaming conversations).

            */ inline void SetState(IntentState&& value) { m_stateHasBeenSet = true; m_state = std::move(value); } /** - *

            Contains fulfillment information for the intent.

            + *

            Indicates the fulfillment state for the intent. The meanings of each value + * are as follows:

            • Failed – The bot failed to + * fulfill the intent.

            • Fulfilled – The bot has + * completed fulfillment of the intent.

            • + * FulfillmentInProgress – The bot is in the middle of fulfilling the + * intent.

            • InProgress – The bot is in the middle of + * eliciting the slot values that are necessary to fulfill the intent.

            • + *
            • ReadyForFulfillment – The bot has elicited all the slot + * values for the intent and is ready to fulfill the intent.

            • + * Waiting – The bot is waiting for a response from the user (limited + * to streaming conversations).

            */ inline Intent& WithState(const IntentState& value) { SetState(value); return *this;} /** - *

            Contains fulfillment information for the intent.

            + *

            Indicates the fulfillment state for the intent. The meanings of each value + * are as follows:

            • Failed – The bot failed to + * fulfill the intent.

            • Fulfilled – The bot has + * completed fulfillment of the intent.

            • + * FulfillmentInProgress – The bot is in the middle of fulfilling the + * intent.

            • InProgress – The bot is in the middle of + * eliciting the slot values that are necessary to fulfill the intent.

            • + *
            • ReadyForFulfillment – The bot has elicited all the slot + * values for the intent and is ready to fulfill the intent.

            • + * Waiting – The bot is waiting for a response from the user (limited + * to streaming conversations).

            */ inline Intent& WithState(IntentState&& value) { SetState(std::move(value)); return *this;} /** - *

            Contains information about whether fulfillment of the intent has been - * confirmed.

            + *

            Indicates whether the intent has been Confirmed, + * Denied, or None if the confirmation stage has not yet + * been reached.

            */ inline const ConfirmationState& GetConfirmationState() const{ return m_confirmationState; } /** - *

            Contains information about whether fulfillment of the intent has been - * confirmed.

            + *

            Indicates whether the intent has been Confirmed, + * Denied, or None if the confirmation stage has not yet + * been reached.

            */ inline bool ConfirmationStateHasBeenSet() const { return m_confirmationStateHasBeenSet; } /** - *

            Contains information about whether fulfillment of the intent has been - * confirmed.

            + *

            Indicates whether the intent has been Confirmed, + * Denied, or None if the confirmation stage has not yet + * been reached.

            */ inline void SetConfirmationState(const ConfirmationState& value) { m_confirmationStateHasBeenSet = true; m_confirmationState = value; } /** - *

            Contains information about whether fulfillment of the intent has been - * confirmed.

            + *

            Indicates whether the intent has been Confirmed, + * Denied, or None if the confirmation stage has not yet + * been reached.

            */ inline void SetConfirmationState(ConfirmationState&& value) { m_confirmationStateHasBeenSet = true; m_confirmationState = std::move(value); } /** - *

            Contains information about whether fulfillment of the intent has been - * confirmed.

            + *

            Indicates whether the intent has been Confirmed, + * Denied, or None if the confirmation stage has not yet + * been reached.

            */ inline Intent& WithConfirmationState(const ConfirmationState& value) { SetConfirmationState(value); return *this;} /** - *

            Contains information about whether fulfillment of the intent has been - * confirmed.

            + *

            Indicates whether the intent has been Confirmed, + * Denied, or None if the confirmation stage has not yet + * been reached.

            */ inline Intent& WithConfirmationState(ConfirmationState&& value) { SetConfirmationState(std::move(value)); return *this;} diff --git a/generated/src/aws-cpp-sdk-lexv2-runtime/include/aws/lexv2-runtime/model/IntentResultEvent.h b/generated/src/aws-cpp-sdk-lexv2-runtime/include/aws/lexv2-runtime/model/IntentResultEvent.h index 0b1b43dd9dc..f4a5260499e 100644 --- a/generated/src/aws-cpp-sdk-lexv2-runtime/include/aws/lexv2-runtime/model/IntentResultEvent.h +++ b/generated/src/aws-cpp-sdk-lexv2-runtime/include/aws/lexv2-runtime/model/IntentResultEvent.h @@ -45,32 +45,38 @@ namespace Model /** - *

            Indicates whether the input to the operation was text or speech.

            + *

            Indicates whether the input to the operation was text, speech, or from a + * touch-tone keypad.

            */ inline const InputMode& GetInputMode() const{ return m_inputMode; } /** - *

            Indicates whether the input to the operation was text or speech.

            + *

            Indicates whether the input to the operation was text, speech, or from a + * touch-tone keypad.

            */ inline bool InputModeHasBeenSet() const { return m_inputModeHasBeenSet; } /** - *

            Indicates whether the input to the operation was text or speech.

            + *

            Indicates whether the input to the operation was text, speech, or from a + * touch-tone keypad.

            */ inline void SetInputMode(const InputMode& value) { m_inputModeHasBeenSet = true; m_inputMode = value; } /** - *

            Indicates whether the input to the operation was text or speech.

            + *

            Indicates whether the input to the operation was text, speech, or from a + * touch-tone keypad.

            */ inline void SetInputMode(InputMode&& value) { m_inputModeHasBeenSet = true; m_inputMode = std::move(value); } /** - *

            Indicates whether the input to the operation was text or speech.

            + *

            Indicates whether the input to the operation was text, speech, or from a + * touch-tone keypad.

            */ inline IntentResultEvent& WithInputMode(const InputMode& value) { SetInputMode(value); return *this;} /** - *

            Indicates whether the input to the operation was text or speech.

            + *

            Indicates whether the input to the operation was text, speech, or from a + * touch-tone keypad.

            */ inline IntentResultEvent& WithInputMode(InputMode&& value) { SetInputMode(std::move(value)); return *this;} diff --git a/generated/src/aws-cpp-sdk-lexv2-runtime/include/aws/lexv2-runtime/model/Interpretation.h b/generated/src/aws-cpp-sdk-lexv2-runtime/include/aws/lexv2-runtime/model/Interpretation.h index a0797bf8023..c3fb2a8b052 100644 --- a/generated/src/aws-cpp-sdk-lexv2-runtime/include/aws/lexv2-runtime/model/Interpretation.h +++ b/generated/src/aws-cpp-sdk-lexv2-runtime/include/aws/lexv2-runtime/model/Interpretation.h @@ -8,6 +8,7 @@ #include #include #include +#include #include namespace Aws @@ -26,8 +27,9 @@ namespace Model { /** - *

            An intent that Amazon Lex V2 determined might satisfy the user's utterance. - * The intents are ordered by the confidence score.

            See Also:

            An object containing information about an intent that Amazon Lex V2 + * determined might satisfy the user's utterance. The intents are ordered by the + * confidence score.

            See Also:

            AWS * API Reference

            */ @@ -174,6 +176,37 @@ namespace Model */ inline Interpretation& WithIntent(Intent&& value) { SetIntent(std::move(value)); return *this;} + + /** + *

            Specifies the service that interpreted the input.

            + */ + inline const InterpretationSource& GetInterpretationSource() const{ return m_interpretationSource; } + + /** + *

            Specifies the service that interpreted the input.

            + */ + inline bool InterpretationSourceHasBeenSet() const { return m_interpretationSourceHasBeenSet; } + + /** + *

            Specifies the service that interpreted the input.

            + */ + inline void SetInterpretationSource(const InterpretationSource& value) { m_interpretationSourceHasBeenSet = true; m_interpretationSource = value; } + + /** + *

            Specifies the service that interpreted the input.

            + */ + inline void SetInterpretationSource(InterpretationSource&& value) { m_interpretationSourceHasBeenSet = true; m_interpretationSource = std::move(value); } + + /** + *

            Specifies the service that interpreted the input.

            + */ + inline Interpretation& WithInterpretationSource(const InterpretationSource& value) { SetInterpretationSource(value); return *this;} + + /** + *

            Specifies the service that interpreted the input.

            + */ + inline Interpretation& WithInterpretationSource(InterpretationSource&& value) { SetInterpretationSource(std::move(value)); return *this;} + private: ConfidenceScore m_nluConfidence; @@ -184,6 +217,9 @@ namespace Model Intent m_intent; bool m_intentHasBeenSet = false; + + InterpretationSource m_interpretationSource; + bool m_interpretationSourceHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-lexv2-runtime/include/aws/lexv2-runtime/model/InterpretationSource.h b/generated/src/aws-cpp-sdk-lexv2-runtime/include/aws/lexv2-runtime/model/InterpretationSource.h new file mode 100644 index 00000000000..29946147b2b --- /dev/null +++ b/generated/src/aws-cpp-sdk-lexv2-runtime/include/aws/lexv2-runtime/model/InterpretationSource.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 LexRuntimeV2 +{ +namespace Model +{ + enum class InterpretationSource + { + NOT_SET, + Bedrock, + Lex + }; + +namespace InterpretationSourceMapper +{ +AWS_LEXRUNTIMEV2_API InterpretationSource GetInterpretationSourceForName(const Aws::String& name); + +AWS_LEXRUNTIMEV2_API Aws::String GetNameForInterpretationSource(InterpretationSource value); +} // namespace InterpretationSourceMapper +} // namespace Model +} // namespace LexRuntimeV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lexv2-runtime/include/aws/lexv2-runtime/model/PutSessionResult.h b/generated/src/aws-cpp-sdk-lexv2-runtime/include/aws/lexv2-runtime/model/PutSessionResult.h index 355800d2bb9..60fd2c3b038 100644 --- a/generated/src/aws-cpp-sdk-lexv2-runtime/include/aws/lexv2-runtime/model/PutSessionResult.h +++ b/generated/src/aws-cpp-sdk-lexv2-runtime/include/aws/lexv2-runtime/model/PutSessionResult.h @@ -131,101 +131,108 @@ namespace Model /** - *

            Represents the current state of the dialog between the user and the bot.

            - *

            Use this to determine the progress of the conversation and what the next - * action may be.

            + *

            A base-64-encoded gzipped field that represents the current state of the + * dialog between the user and the bot. Use this to determine the progress of the + * conversation and what the next action may be.

            */ inline const Aws::String& GetSessionState() const{ return m_sessionState; } /** - *

            Represents the current state of the dialog between the user and the bot.

            - *

            Use this to determine the progress of the conversation and what the next - * action may be.

            + *

            A base-64-encoded gzipped field that represents the current state of the + * dialog between the user and the bot. Use this to determine the progress of the + * conversation and what the next action may be.

            */ inline void SetSessionState(const Aws::String& value) { m_sessionState = value; } /** - *

            Represents the current state of the dialog between the user and the bot.

            - *

            Use this to determine the progress of the conversation and what the next - * action may be.

            + *

            A base-64-encoded gzipped field that represents the current state of the + * dialog between the user and the bot. Use this to determine the progress of the + * conversation and what the next action may be.

            */ inline void SetSessionState(Aws::String&& value) { m_sessionState = std::move(value); } /** - *

            Represents the current state of the dialog between the user and the bot.

            - *

            Use this to determine the progress of the conversation and what the next - * action may be.

            + *

            A base-64-encoded gzipped field that represents the current state of the + * dialog between the user and the bot. Use this to determine the progress of the + * conversation and what the next action may be.

            */ inline void SetSessionState(const char* value) { m_sessionState.assign(value); } /** - *

            Represents the current state of the dialog between the user and the bot.

            - *

            Use this to determine the progress of the conversation and what the next - * action may be.

            + *

            A base-64-encoded gzipped field that represents the current state of the + * dialog between the user and the bot. Use this to determine the progress of the + * conversation and what the next action may be.

            */ inline PutSessionResult& WithSessionState(const Aws::String& value) { SetSessionState(value); return *this;} /** - *

            Represents the current state of the dialog between the user and the bot.

            - *

            Use this to determine the progress of the conversation and what the next - * action may be.

            + *

            A base-64-encoded gzipped field that represents the current state of the + * dialog between the user and the bot. Use this to determine the progress of the + * conversation and what the next action may be.

            */ inline PutSessionResult& WithSessionState(Aws::String&& value) { SetSessionState(std::move(value)); return *this;} /** - *

            Represents the current state of the dialog between the user and the bot.

            - *

            Use this to determine the progress of the conversation and what the next - * action may be.

            + *

            A base-64-encoded gzipped field that represents the current state of the + * dialog between the user and the bot. Use this to determine the progress of the + * conversation and what the next action may be.

            */ inline PutSessionResult& WithSessionState(const char* value) { SetSessionState(value); return *this;} /** - *

            Request-specific information passed between the client application and Amazon - * Lex V2. These are the same as the requestAttribute parameter in the - * call to the PutSession operation.

            + *

            A base-64-encoded gzipped field that provides request-specific information + * passed between the client application and Amazon Lex V2. These are the same as + * the requestAttribute parameter in the call to the + * PutSession operation.

            */ inline const Aws::String& GetRequestAttributes() const{ return m_requestAttributes; } /** - *

            Request-specific information passed between the client application and Amazon - * Lex V2. These are the same as the requestAttribute parameter in the - * call to the PutSession operation.

            + *

            A base-64-encoded gzipped field that provides request-specific information + * passed between the client application and Amazon Lex V2. These are the same as + * the requestAttribute parameter in the call to the + * PutSession operation.

            */ inline void SetRequestAttributes(const Aws::String& value) { m_requestAttributes = value; } /** - *

            Request-specific information passed between the client application and Amazon - * Lex V2. These are the same as the requestAttribute parameter in the - * call to the PutSession operation.

            + *

            A base-64-encoded gzipped field that provides request-specific information + * passed between the client application and Amazon Lex V2. These are the same as + * the requestAttribute parameter in the call to the + * PutSession operation.

            */ inline void SetRequestAttributes(Aws::String&& value) { m_requestAttributes = std::move(value); } /** - *

            Request-specific information passed between the client application and Amazon - * Lex V2. These are the same as the requestAttribute parameter in the - * call to the PutSession operation.

            + *

            A base-64-encoded gzipped field that provides request-specific information + * passed between the client application and Amazon Lex V2. These are the same as + * the requestAttribute parameter in the call to the + * PutSession operation.

            */ inline void SetRequestAttributes(const char* value) { m_requestAttributes.assign(value); } /** - *

            Request-specific information passed between the client application and Amazon - * Lex V2. These are the same as the requestAttribute parameter in the - * call to the PutSession operation.

            + *

            A base-64-encoded gzipped field that provides request-specific information + * passed between the client application and Amazon Lex V2. These are the same as + * the requestAttribute parameter in the call to the + * PutSession operation.

            */ inline PutSessionResult& WithRequestAttributes(const Aws::String& value) { SetRequestAttributes(value); return *this;} /** - *

            Request-specific information passed between the client application and Amazon - * Lex V2. These are the same as the requestAttribute parameter in the - * call to the PutSession operation.

            + *

            A base-64-encoded gzipped field that provides request-specific information + * passed between the client application and Amazon Lex V2. These are the same as + * the requestAttribute parameter in the call to the + * PutSession operation.

            */ inline PutSessionResult& WithRequestAttributes(Aws::String&& value) { SetRequestAttributes(std::move(value)); return *this;} /** - *

            Request-specific information passed between the client application and Amazon - * Lex V2. These are the same as the requestAttribute parameter in the - * call to the PutSession operation.

            + *

            A base-64-encoded gzipped field that provides request-specific information + * passed between the client application and Amazon Lex V2. These are the same as + * the requestAttribute parameter in the call to the + * PutSession operation.

            */ inline PutSessionResult& WithRequestAttributes(const char* value) { SetRequestAttributes(value); return *this;} diff --git a/generated/src/aws-cpp-sdk-lexv2-runtime/include/aws/lexv2-runtime/model/RecognizeUtteranceResult.h b/generated/src/aws-cpp-sdk-lexv2-runtime/include/aws/lexv2-runtime/model/RecognizeUtteranceResult.h index 6b743a524c2..538199f7e27 100644 --- a/generated/src/aws-cpp-sdk-lexv2-runtime/include/aws/lexv2-runtime/model/RecognizeUtteranceResult.h +++ b/generated/src/aws-cpp-sdk-lexv2-runtime/include/aws/lexv2-runtime/model/RecognizeUtteranceResult.h @@ -38,37 +38,44 @@ namespace Model /** - *

            Indicates whether the input mode to the operation was text or speech.

            + *

            Indicates whether the input mode to the operation was text, speech, or from a + * touch-tone keypad.

            */ inline const Aws::String& GetInputMode() const{ return m_inputMode; } /** - *

            Indicates whether the input mode to the operation was text or speech.

            + *

            Indicates whether the input mode to the operation was text, speech, or from a + * touch-tone keypad.

            */ inline void SetInputMode(const Aws::String& value) { m_inputMode = value; } /** - *

            Indicates whether the input mode to the operation was text or speech.

            + *

            Indicates whether the input mode to the operation was text, speech, or from a + * touch-tone keypad.

            */ inline void SetInputMode(Aws::String&& value) { m_inputMode = std::move(value); } /** - *

            Indicates whether the input mode to the operation was text or speech.

            + *

            Indicates whether the input mode to the operation was text, speech, or from a + * touch-tone keypad.

            */ inline void SetInputMode(const char* value) { m_inputMode.assign(value); } /** - *

            Indicates whether the input mode to the operation was text or speech.

            + *

            Indicates whether the input mode to the operation was text, speech, or from a + * touch-tone keypad.

            */ inline RecognizeUtteranceResult& WithInputMode(const Aws::String& value) { SetInputMode(value); return *this;} /** - *

            Indicates whether the input mode to the operation was text or speech.

            + *

            Indicates whether the input mode to the operation was text, speech, or from a + * touch-tone keypad.

            */ inline RecognizeUtteranceResult& WithInputMode(Aws::String&& value) { SetInputMode(std::move(value)); return *this;} /** - *

            Indicates whether the input mode to the operation was text or speech.

            + *

            Indicates whether the input mode to the operation was text, speech, or from a + * touch-tone keypad.

            */ inline RecognizeUtteranceResult& WithInputMode(const char* value) { SetInputMode(value); return *this;} diff --git a/generated/src/aws-cpp-sdk-lexv2-runtime/include/aws/lexv2-runtime/model/Value.h b/generated/src/aws-cpp-sdk-lexv2-runtime/include/aws/lexv2-runtime/model/Value.h index dc403a21f22..906d79e4f5b 100644 --- a/generated/src/aws-cpp-sdk-lexv2-runtime/include/aws/lexv2-runtime/model/Value.h +++ b/generated/src/aws-cpp-sdk-lexv2-runtime/include/aws/lexv2-runtime/model/Value.h @@ -25,7 +25,8 @@ namespace Model { /** - *

            The value of a slot.

            See Also:

            Information about the value provided for a slot and Amazon Lex V2's + * interpretation.

            See Also:

            AWS * API Reference

            */ @@ -39,153 +40,170 @@ namespace Model /** - *

            The text of the utterance from the user that was entered for the slot.

            + *

            The part of the user's response to the slot elicitation that Amazon Lex V2 + * determines is relevant to the slot value.

            */ inline const Aws::String& GetOriginalValue() const{ return m_originalValue; } /** - *

            The text of the utterance from the user that was entered for the slot.

            + *

            The part of the user's response to the slot elicitation that Amazon Lex V2 + * determines is relevant to the slot value.

            */ inline bool OriginalValueHasBeenSet() const { return m_originalValueHasBeenSet; } /** - *

            The text of the utterance from the user that was entered for the slot.

            + *

            The part of the user's response to the slot elicitation that Amazon Lex V2 + * determines is relevant to the slot value.

            */ inline void SetOriginalValue(const Aws::String& value) { m_originalValueHasBeenSet = true; m_originalValue = value; } /** - *

            The text of the utterance from the user that was entered for the slot.

            + *

            The part of the user's response to the slot elicitation that Amazon Lex V2 + * determines is relevant to the slot value.

            */ inline void SetOriginalValue(Aws::String&& value) { m_originalValueHasBeenSet = true; m_originalValue = std::move(value); } /** - *

            The text of the utterance from the user that was entered for the slot.

            + *

            The part of the user's response to the slot elicitation that Amazon Lex V2 + * determines is relevant to the slot value.

            */ inline void SetOriginalValue(const char* value) { m_originalValueHasBeenSet = true; m_originalValue.assign(value); } /** - *

            The text of the utterance from the user that was entered for the slot.

            + *

            The part of the user's response to the slot elicitation that Amazon Lex V2 + * determines is relevant to the slot value.

            */ inline Value& WithOriginalValue(const Aws::String& value) { SetOriginalValue(value); return *this;} /** - *

            The text of the utterance from the user that was entered for the slot.

            + *

            The part of the user's response to the slot elicitation that Amazon Lex V2 + * determines is relevant to the slot value.

            */ inline Value& WithOriginalValue(Aws::String&& value) { SetOriginalValue(std::move(value)); return *this;} /** - *

            The text of the utterance from the user that was entered for the slot.

            + *

            The part of the user's response to the slot elicitation that Amazon Lex V2 + * determines is relevant to the slot value.

            */ inline Value& WithOriginalValue(const char* value) { SetOriginalValue(value); return *this;} /** - *

            The value that Amazon Lex V2 determines for the slot. The actual value - * depends on the setting of the value selection strategy for the bot. You can - * choose to use the value entered by the user, or you can have Amazon Lex V2 - * choose the first value in the resolvedValues list.

            + *

            The value that Amazon Lex V2 determines for the slot, given the user input. + * The actual value depends on the setting of the value selection strategy for the + * bot. You can choose to use the value entered by the user, or you can have Amazon + * Lex V2 choose the first value in the resolvedValues list.

            */ inline const Aws::String& GetInterpretedValue() const{ return m_interpretedValue; } /** - *

            The value that Amazon Lex V2 determines for the slot. The actual value - * depends on the setting of the value selection strategy for the bot. You can - * choose to use the value entered by the user, or you can have Amazon Lex V2 - * choose the first value in the resolvedValues list.

            + *

            The value that Amazon Lex V2 determines for the slot, given the user input. + * The actual value depends on the setting of the value selection strategy for the + * bot. You can choose to use the value entered by the user, or you can have Amazon + * Lex V2 choose the first value in the resolvedValues list.

            */ inline bool InterpretedValueHasBeenSet() const { return m_interpretedValueHasBeenSet; } /** - *

            The value that Amazon Lex V2 determines for the slot. The actual value - * depends on the setting of the value selection strategy for the bot. You can - * choose to use the value entered by the user, or you can have Amazon Lex V2 - * choose the first value in the resolvedValues list.

            + *

            The value that Amazon Lex V2 determines for the slot, given the user input. + * The actual value depends on the setting of the value selection strategy for the + * bot. You can choose to use the value entered by the user, or you can have Amazon + * Lex V2 choose the first value in the resolvedValues list.

            */ inline void SetInterpretedValue(const Aws::String& value) { m_interpretedValueHasBeenSet = true; m_interpretedValue = value; } /** - *

            The value that Amazon Lex V2 determines for the slot. The actual value - * depends on the setting of the value selection strategy for the bot. You can - * choose to use the value entered by the user, or you can have Amazon Lex V2 - * choose the first value in the resolvedValues list.

            + *

            The value that Amazon Lex V2 determines for the slot, given the user input. + * The actual value depends on the setting of the value selection strategy for the + * bot. You can choose to use the value entered by the user, or you can have Amazon + * Lex V2 choose the first value in the resolvedValues list.

            */ inline void SetInterpretedValue(Aws::String&& value) { m_interpretedValueHasBeenSet = true; m_interpretedValue = std::move(value); } /** - *

            The value that Amazon Lex V2 determines for the slot. The actual value - * depends on the setting of the value selection strategy for the bot. You can - * choose to use the value entered by the user, or you can have Amazon Lex V2 - * choose the first value in the resolvedValues list.

            + *

            The value that Amazon Lex V2 determines for the slot, given the user input. + * The actual value depends on the setting of the value selection strategy for the + * bot. You can choose to use the value entered by the user, or you can have Amazon + * Lex V2 choose the first value in the resolvedValues list.

            */ inline void SetInterpretedValue(const char* value) { m_interpretedValueHasBeenSet = true; m_interpretedValue.assign(value); } /** - *

            The value that Amazon Lex V2 determines for the slot. The actual value - * depends on the setting of the value selection strategy for the bot. You can - * choose to use the value entered by the user, or you can have Amazon Lex V2 - * choose the first value in the resolvedValues list.

            + *

            The value that Amazon Lex V2 determines for the slot, given the user input. + * The actual value depends on the setting of the value selection strategy for the + * bot. You can choose to use the value entered by the user, or you can have Amazon + * Lex V2 choose the first value in the resolvedValues list.

            */ inline Value& WithInterpretedValue(const Aws::String& value) { SetInterpretedValue(value); return *this;} /** - *

            The value that Amazon Lex V2 determines for the slot. The actual value - * depends on the setting of the value selection strategy for the bot. You can - * choose to use the value entered by the user, or you can have Amazon Lex V2 - * choose the first value in the resolvedValues list.

            + *

            The value that Amazon Lex V2 determines for the slot, given the user input. + * The actual value depends on the setting of the value selection strategy for the + * bot. You can choose to use the value entered by the user, or you can have Amazon + * Lex V2 choose the first value in the resolvedValues list.

            */ inline Value& WithInterpretedValue(Aws::String&& value) { SetInterpretedValue(std::move(value)); return *this;} /** - *

            The value that Amazon Lex V2 determines for the slot. The actual value - * depends on the setting of the value selection strategy for the bot. You can - * choose to use the value entered by the user, or you can have Amazon Lex V2 - * choose the first value in the resolvedValues list.

            + *

            The value that Amazon Lex V2 determines for the slot, given the user input. + * The actual value depends on the setting of the value selection strategy for the + * bot. You can choose to use the value entered by the user, or you can have Amazon + * Lex V2 choose the first value in the resolvedValues list.

            */ inline Value& WithInterpretedValue(const char* value) { SetInterpretedValue(value); return *this;} /** - *

            A list of additional values that have been recognized for the slot.

            + *

            A list of values that Amazon Lex V2 determines are possible resolutions for + * the user input. The first value matches the interpretedValue.

            */ inline const Aws::Vector& GetResolvedValues() const{ return m_resolvedValues; } /** - *

            A list of additional values that have been recognized for the slot.

            + *

            A list of values that Amazon Lex V2 determines are possible resolutions for + * the user input. The first value matches the interpretedValue.

            */ inline bool ResolvedValuesHasBeenSet() const { return m_resolvedValuesHasBeenSet; } /** - *

            A list of additional values that have been recognized for the slot.

            + *

            A list of values that Amazon Lex V2 determines are possible resolutions for + * the user input. The first value matches the interpretedValue.

            */ inline void SetResolvedValues(const Aws::Vector& value) { m_resolvedValuesHasBeenSet = true; m_resolvedValues = value; } /** - *

            A list of additional values that have been recognized for the slot.

            + *

            A list of values that Amazon Lex V2 determines are possible resolutions for + * the user input. The first value matches the interpretedValue.

            */ inline void SetResolvedValues(Aws::Vector&& value) { m_resolvedValuesHasBeenSet = true; m_resolvedValues = std::move(value); } /** - *

            A list of additional values that have been recognized for the slot.

            + *

            A list of values that Amazon Lex V2 determines are possible resolutions for + * the user input. The first value matches the interpretedValue.

            */ inline Value& WithResolvedValues(const Aws::Vector& value) { SetResolvedValues(value); return *this;} /** - *

            A list of additional values that have been recognized for the slot.

            + *

            A list of values that Amazon Lex V2 determines are possible resolutions for + * the user input. The first value matches the interpretedValue.

            */ inline Value& WithResolvedValues(Aws::Vector&& value) { SetResolvedValues(std::move(value)); return *this;} /** - *

            A list of additional values that have been recognized for the slot.

            + *

            A list of values that Amazon Lex V2 determines are possible resolutions for + * the user input. The first value matches the interpretedValue.

            */ inline Value& AddResolvedValues(const Aws::String& value) { m_resolvedValuesHasBeenSet = true; m_resolvedValues.push_back(value); return *this; } /** - *

            A list of additional values that have been recognized for the slot.

            + *

            A list of values that Amazon Lex V2 determines are possible resolutions for + * the user input. The first value matches the interpretedValue.

            */ inline Value& AddResolvedValues(Aws::String&& value) { m_resolvedValuesHasBeenSet = true; m_resolvedValues.push_back(std::move(value)); return *this; } /** - *

            A list of additional values that have been recognized for the slot.

            + *

            A list of values that Amazon Lex V2 determines are possible resolutions for + * the user input. The first value matches the interpretedValue.

            */ inline Value& AddResolvedValues(const char* value) { m_resolvedValuesHasBeenSet = true; m_resolvedValues.push_back(value); return *this; } diff --git a/generated/src/aws-cpp-sdk-lexv2-runtime/source/LexRuntimeV2EndpointRules.cpp b/generated/src/aws-cpp-sdk-lexv2-runtime/source/LexRuntimeV2EndpointRules.cpp index 8b1f86b201f..4f7201ec148 100644 --- a/generated/src/aws-cpp-sdk-lexv2-runtime/source/LexRuntimeV2EndpointRules.cpp +++ b/generated/src/aws-cpp-sdk-lexv2-runtime/source/LexRuntimeV2EndpointRules.cpp @@ -51,107 +51,107 @@ static constexpr RulesBlobT RulesBlob = {{ ',','"','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','"',':','[','{','"','f','n','"',':','"', 'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', -'d','p','o','i','n','t','"','}',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', -',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', -'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r', -'u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','C','o', -'n','f','i','g','u','r','a','t','i','o','n',':',' ','F','I','P','S',' ','a','n','d',' ','c','u','s', -'t','o','m',' ','e','n','d','p','o','i','n','t',' ','a','r','e',' ','n','o','t',' ','s','u','p','p', -'o','r','t','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e', -'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"', -'e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','C','o','n','f','i','g','u','r','a', -'t','i','o','n',':',' ','D','u','a','l','s','t','a','c','k',' ','a','n','d',' ','c','u','s','t','o', -'m',' ','e','n','d','p','o','i','n','t',' ','a','r','e',' ','n','o','t',' ','s','u','p','p','o','r', -'t','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','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','"',':','{','}',',','"','h','e','a','d','e','r','s','"', -':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}', -',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s', -'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i', -'o','n','"','}',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u', -'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', -'"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g', -'n','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',']',',','"','t', -'y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o', +'d','p','o','i','n','t','"','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o', 'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', 'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', -'s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o', -'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}', -']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o', -'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','t','r','u','e',',', -'{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',', -'"','s','u','p','p','o','r','t','s','F','I','P','S','"',']','}',']','}',',','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','t', -'r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l', -'t','"','}',',','"','s','u','p','p','o','r','t','s','D','u','a','l','S','t','a','c','k','"',']','}', -']','}',']',',','"','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','"',':','"','h','t','t','p','s',':','/','/','r','u','n','t', -'i','m','e','-','v','2','-','l','e','x','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.', -'{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','u','a','l','S','t','a','c', -'k','D','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"', -':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':', -'"','e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n', -'s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','F','I','P','S',' ','a','n','d',' ','D', -'u','a','l','S','t','a','c','k',' ','a','r','e',' ','e','n','a','b','l','e','d',',',' ','b','u','t', -' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ','n','o','t',' ', -'s','u','p','p','o','r','t',' ','o','n','e',' ','o','r',' ','b','o','t','h','"',',','"','t','y','p', -'e','"',':','"','e','r','r','o','r','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n', -'s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"', -'}',',','t','r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"', +'s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':', +'"','I','n','v','a','l','i','d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','F', +'I','P','S',' ','a','n','d',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','a', +'r','e',' ','n','o','t',' ','s','u','p','p','o','r','t','e','d','"',',','"','t','y','p','e','"',':', +'"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"', +'}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i', +'d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','D','u','a','l','s','t','a','c', +'k',' ','a','n','d',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','a','r','e', +' ','n','o','t',' ','s','u','p','p','o','r','t','e','d','"',',','"','t','y','p','e','"',':','"','e', +'r','r','o','r','"','}',',','{','"','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','"',':','{', +'}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e', +'n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s', +'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i', +'o','n','"','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i', +'o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o', +'n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','P','a','r','t','i','t','i','o','n','R', +'e','s','u','l','t','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F', +'I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', +'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"', 'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', 'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', '"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"', 'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R', 'e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','F','I','P','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','"',':','"','h','t','t','p','s',':','/','/','r','u','n','t','i', -'m','e','-','v','2','-','l','e','x','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{', -'P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x', -'}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e', -'r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"', -'}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r', -'o','r','"',':','"','F','I','P','S',' ','i','s',' ','e','n','a','b','l','e','d',' ','b','u','t',' ', -'t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ','n','o','t',' ','s', -'u','p','p','o','r','t',' ','F','I','P','S','"',',','"','t','y','p','e','"',':','"','e','r','r','o', -'r','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', -'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t', -'r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l', -'e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', -':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u', -'l','t','"','}',',','"','s','u','p','p','o','r','t','s','D','u','a','l','S','t','a','c','k','"',']', -'}',']','}',']',',','"','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','"',':','"','h','t','t','p','s',':','/','/','r','u','n', -'t','i','m','e','-','v','2','-','l','e','x','.','{','R','e','g','i','o','n','}','.','{','P','a','r', -'t','i','t','i','o','n','R','e','s','u','l','t','#','d','u','a','l','S','t','a','c','k','D','n','s', -'S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',', -'"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d', -'p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', -']',',','"','e','r','r','o','r','"',':','"','D','u','a','l','S','t','a','c','k',' ','i','s',' ','e', -'n','a','b','l','e','d',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n', -' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','D','u','a','l','S','t','a', -'c','k','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',',','{','"','c', +'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t', +'r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t', +'i','o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','D','u','a','l', +'S','t','a','c','k','"',']','}',']','}',']',',','"','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','"',':','"','h','t','t','p','s',':','/','/','r','u','n','t','i','m','e','-','v','2', +'-','l','e','x','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i', +'t','i','o','n','R','e','s','u','l','t','#','d','u','a','l','S','t','a','c','k','D','n','s','S','u', +'f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h', +'e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o', +'i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','F','I', +'P','S',' ','a','n','d',' ','D','u','a','l','S','t','a','c','k',' ','a','r','e',' ','e','n','a','b', +'l','e','d',',',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d', +'o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','o','n','e',' ','o','r',' ','b','o', +'t','h','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p', +'e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t', +'r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i', +'o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','F','I','P','S','"', +']','}',',','t','r','u','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','"',':','"','h','t','t','p','s',':','/','/','r','u','n','t','i','m','e','-','v','2','-', +'l','e','x','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t', +'i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r', +'o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}', +'}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y', +'p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[',']',',','"','e','r','r','o','r','"',':','"','F','I','P','S',' ','i','s',' ','e','n','a','b', +'l','e','d',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o', +'e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','F','I','P','S','"',',','"','t','y','p', +'e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', +'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', +'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e', +']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s', +'"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t', +'t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i', +'t','i','o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','D','u','a', +'l','S','t','a','c','k','"',']','}',']','}',']',',','"','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','"',':','"','h','t','t','p','s',':','/','/','r','u','n','t','i','m','e','-','v', '2','-','l','e','x','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n', -'R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e', -'r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"', -'t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','c', +'R','e','s','u','l','t','#','d','u','a','l','S','t','a','c','k','D','n','s','S','u','f','f','i','x', +'}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e', +'r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"', +'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','D','u','a','l','S','t', +'a','c','k',' ','i','s',' ','e','n','a','b','l','e','d',' ','b','u','t',' ','t','h','i','s',' ','p', +'a','r','t','i','t','i','o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t', +' ','D','u','a','l','S','t','a','c','k','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r', +'"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u', +'r','l','"',':','"','h','t','t','p','s',':','/','/','r','u','n','t','i','m','e','-','v','2','-','l', +'e','x','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s', +'u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i', +'e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', +'e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t', +'r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c', 'o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n', 'v','a','l','i','d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','M','i','s','s', 'i','n','g',' ','R','e','g','i','o','n','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r', diff --git a/generated/src/aws-cpp-sdk-lexv2-runtime/source/model/Interpretation.cpp b/generated/src/aws-cpp-sdk-lexv2-runtime/source/model/Interpretation.cpp index 5f781ef3d87..0241765b565 100644 --- a/generated/src/aws-cpp-sdk-lexv2-runtime/source/model/Interpretation.cpp +++ b/generated/src/aws-cpp-sdk-lexv2-runtime/source/model/Interpretation.cpp @@ -21,14 +21,18 @@ namespace Model Interpretation::Interpretation() : m_nluConfidenceHasBeenSet(false), m_sentimentResponseHasBeenSet(false), - m_intentHasBeenSet(false) + m_intentHasBeenSet(false), + m_interpretationSource(InterpretationSource::NOT_SET), + m_interpretationSourceHasBeenSet(false) { } Interpretation::Interpretation(JsonView jsonValue) : m_nluConfidenceHasBeenSet(false), m_sentimentResponseHasBeenSet(false), - m_intentHasBeenSet(false) + m_intentHasBeenSet(false), + m_interpretationSource(InterpretationSource::NOT_SET), + m_interpretationSourceHasBeenSet(false) { *this = jsonValue; } @@ -56,6 +60,13 @@ Interpretation& Interpretation::operator =(JsonView jsonValue) m_intentHasBeenSet = true; } + if(jsonValue.ValueExists("interpretationSource")) + { + m_interpretationSource = InterpretationSourceMapper::GetInterpretationSourceForName(jsonValue.GetString("interpretationSource")); + + m_interpretationSourceHasBeenSet = true; + } + return *this; } @@ -81,6 +92,11 @@ JsonValue Interpretation::Jsonize() const } + if(m_interpretationSourceHasBeenSet) + { + payload.WithString("interpretationSource", InterpretationSourceMapper::GetNameForInterpretationSource(m_interpretationSource)); + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-lexv2-runtime/source/model/InterpretationSource.cpp b/generated/src/aws-cpp-sdk-lexv2-runtime/source/model/InterpretationSource.cpp new file mode 100644 index 00000000000..f979c05348c --- /dev/null +++ b/generated/src/aws-cpp-sdk-lexv2-runtime/source/model/InterpretationSource.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 LexRuntimeV2 + { + namespace Model + { + namespace InterpretationSourceMapper + { + + static const int Bedrock_HASH = HashingUtils::HashString("Bedrock"); + static const int Lex_HASH = HashingUtils::HashString("Lex"); + + + InterpretationSource GetInterpretationSourceForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Bedrock_HASH) + { + return InterpretationSource::Bedrock; + } + else if (hashCode == Lex_HASH) + { + return InterpretationSource::Lex; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return InterpretationSource::NOT_SET; + } + + Aws::String GetNameForInterpretationSource(InterpretationSource enumValue) + { + switch(enumValue) + { + case InterpretationSource::NOT_SET: + return {}; + case InterpretationSource::Bedrock: + return "Bedrock"; + case InterpretationSource::Lex: + return "Lex"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace InterpretationSourceMapper + } // namespace Model + } // namespace LexRuntimeV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/include/aws/logs/CloudWatchLogsClient.h b/generated/src/aws-cpp-sdk-logs/include/aws/logs/CloudWatchLogsClient.h index a4d536fc425..517c9a7bc7e 100644 --- a/generated/src/aws-cpp-sdk-logs/include/aws/logs/CloudWatchLogsClient.h +++ b/generated/src/aws-cpp-sdk-logs/include/aws/logs/CloudWatchLogsClient.h @@ -198,8 +198,7 @@ namespace CloudWatchLogs * already created.

            Only some Amazon Web Services services support being * configured as a delivery source using this operation. These services are listed * as Supported [V2 Permissions] in the table at Enabling + * href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html">Enabling * logging from Amazon Web Services services.

            A delivery destination * can represent a log group in CloudWatch Logs, an Amazon S3 bucket, or a delivery * stream in Kinesis Data Firehose.

            To configure logs delivery between a @@ -290,6 +289,53 @@ namespace CloudWatchLogs return SubmitAsync(&CloudWatchLogsClient::CreateExportTask, request, handler, context); } + /** + *

            Creates an anomaly detector that regularly scans one or more log + * groups and look for patterns and anomalies in the logs.

            An anomaly + * detector can help surface issues by automatically discovering anomalies in your + * log event traffic. An anomaly detector uses machine learning algorithms to scan + * log events and find patterns. A pattern is a shared text structure that + * recurs among your log fields. Patterns provide a useful tool for analyzing large + * sets of logs because a large number of log events can often be compressed into a + * few patterns.

            The anomaly detector uses pattern recognition to find + * anomalies, which are unusual log events. It uses the + * evaluationFrequency to compare current log events and patterns with + * trained baselines.

            Fields within a pattern are called tokens. + * Fields that vary within a pattern, such as a request ID or timestamp, are + * referred to as dynamic tokens and represented by <*>. + *

            The following is an example of a pattern:

            [INFO] Request + * time: <*> ms

            This pattern represents log events like + * [INFO] Request time: 327 ms and other similar log events that + * differ only by the number, in this csse 327. When the pattern is displayed, the + * different numbers are replaced by <*>

            Any + * parts of log events that are masked as sensitive data are not scanned for + * anomalies. For more information about masking sensitive data, see Help + * protect sensitive log data with masking.

            See Also:

            + * AWS + * API Reference

            + */ + virtual Model::CreateLogAnomalyDetectorOutcome CreateLogAnomalyDetector(const Model::CreateLogAnomalyDetectorRequest& request) const; + + /** + * A Callable wrapper for CreateLogAnomalyDetector that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::CreateLogAnomalyDetectorOutcomeCallable CreateLogAnomalyDetectorCallable(const CreateLogAnomalyDetectorRequestT& request) const + { + return SubmitCallable(&CloudWatchLogsClient::CreateLogAnomalyDetector, request); + } + + /** + * An Async wrapper for CreateLogAnomalyDetector that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void CreateLogAnomalyDetectorAsync(const CreateLogAnomalyDetectorRequestT& request, const CreateLogAnomalyDetectorResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&CloudWatchLogsClient::CreateLogAnomalyDetector, request, handler, context); + } + /** *

            Creates a log group with the specified name. You can create up to 1,000,000 * log groups per Region per account.

            You must use the following guidelines @@ -573,6 +619,32 @@ namespace CloudWatchLogs return SubmitAsync(&CloudWatchLogsClient::DeleteDestination, request, handler, context); } + /** + *

            Deletes the specified CloudWatch Logs anomaly detector.

            See + * Also:

            AWS + * API Reference

            + */ + virtual Model::DeleteLogAnomalyDetectorOutcome DeleteLogAnomalyDetector(const Model::DeleteLogAnomalyDetectorRequest& request) const; + + /** + * A Callable wrapper for DeleteLogAnomalyDetector that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DeleteLogAnomalyDetectorOutcomeCallable DeleteLogAnomalyDetectorCallable(const DeleteLogAnomalyDetectorRequestT& request) const + { + return SubmitCallable(&CloudWatchLogsClient::DeleteLogAnomalyDetector, request); + } + + /** + * An Async wrapper for DeleteLogAnomalyDetector that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DeleteLogAnomalyDetectorAsync(const DeleteLogAnomalyDetectorRequestT& request, const DeleteLogAnomalyDetectorResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&CloudWatchLogsClient::DeleteLogAnomalyDetector, request, handler, context); + } + /** *

            Deletes the specified log group and permanently deletes all the archived log * events associated with the log group.

            See Also:

            Retrieves information about the log anomaly detector that you + * specify.

            See Also:

            AWS + * API Reference

            + */ + virtual Model::GetLogAnomalyDetectorOutcome GetLogAnomalyDetector(const Model::GetLogAnomalyDetectorRequest& request) const; + + /** + * A Callable wrapper for GetLogAnomalyDetector that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetLogAnomalyDetectorOutcomeCallable GetLogAnomalyDetectorCallable(const GetLogAnomalyDetectorRequestT& request) const + { + return SubmitCallable(&CloudWatchLogsClient::GetLogAnomalyDetector, request); + } + + /** + * An Async wrapper for GetLogAnomalyDetector that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetLogAnomalyDetectorAsync(const GetLogAnomalyDetectorRequestT& request, const GetLogAnomalyDetectorResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&CloudWatchLogsClient::GetLogAnomalyDetector, request, handler, context); + } + /** *

            Lists log events from the specified log stream. You can list all of the log * events or filter using a time range.

            By default, this operation returns @@ -1500,6 +1598,59 @@ namespace CloudWatchLogs return SubmitAsync(&CloudWatchLogsClient::GetQueryResults, request, handler, context); } + /** + *

            Returns a list of anomalies that log anomaly detectors have found. For + * details about the structure format of each anomaly object that is returned, see + * the example in this section.

            See Also:

            AWS + * API Reference

            + */ + virtual Model::ListAnomaliesOutcome ListAnomalies(const Model::ListAnomaliesRequest& request) const; + + /** + * A Callable wrapper for ListAnomalies that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListAnomaliesOutcomeCallable ListAnomaliesCallable(const ListAnomaliesRequestT& request) const + { + return SubmitCallable(&CloudWatchLogsClient::ListAnomalies, request); + } + + /** + * An Async wrapper for ListAnomalies that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListAnomaliesAsync(const ListAnomaliesRequestT& request, const ListAnomaliesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&CloudWatchLogsClient::ListAnomalies, request, handler, context); + } + + /** + *

            Retrieves a list of the log anomaly detectors in the account.

            See + * Also:

            AWS + * API Reference

            + */ + virtual Model::ListLogAnomalyDetectorsOutcome ListLogAnomalyDetectors(const Model::ListLogAnomalyDetectorsRequest& request) const; + + /** + * A Callable wrapper for ListLogAnomalyDetectors that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListLogAnomalyDetectorsOutcomeCallable ListLogAnomalyDetectorsCallable(const ListLogAnomalyDetectorsRequestT& request) const + { + return SubmitCallable(&CloudWatchLogsClient::ListLogAnomalyDetectors, request); + } + + /** + * An Async wrapper for ListLogAnomalyDetectors that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListLogAnomalyDetectorsAsync(const ListLogAnomalyDetectorsRequestT& request, const ListLogAnomalyDetectorsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&CloudWatchLogsClient::ListLogAnomalyDetectors, request, handler, context); + } + /** *

            Displays the tags associated with a CloudWatch Logs resource. Currently, log * groups and destinations support tagging.

            See Also:

            Only some Amazon Web Services services support * being configured as a delivery source. These services are listed as Supported - * [V2 Permissions] in the table at Enabling + * [V2 Permissions] in the table at Enabling * logging from Amazon Web Services services.

            If you use this operation * to update an existing delivery destination, all the current delivery destination * parameters are overwritten with the new parameter values that you @@ -1710,8 +1861,8 @@ namespace CloudWatchLogs * href="https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateDelivery.html">CreateDelivery.

            *

          Only some Amazon Web Services services support being configured * as a delivery source. These services are listed as Supported [V2 - * Permissions] in the table at Enabling + * Permissions] in the table at Enabling * logging from Amazon Web Services services.

          The contents of the * policy must include two statements. One statement enables general logs delivery, * and the other allows delivery to the chosen destination. See the examples for @@ -1764,8 +1915,8 @@ namespace CloudWatchLogs * multiple deliveries to configure multiple delivery sources to send logs to the * same delivery destination.

          Only some Amazon Web Services services support * being configured as a delivery source. These services are listed as Supported - * [V2 Permissions] in the table at Enabling + * [V2 Permissions] in the table at Enabling * logging from Amazon Web Services services.

          If you use this operation * to update an existing delivery source, all the current delivery source * parameters are overwritten with the new parameter values that you @@ -2275,6 +2426,66 @@ namespace CloudWatchLogs return SubmitAsync(&CloudWatchLogsClient::UntagResource, request, handler, context); } + /** + *

          Use this operation to suppress anomaly detection for a specified + * anomaly or pattern. If you suppress an anomaly, CloudWatch Logs won’t report new + * occurrences of that anomaly and won't update that anomaly with new data. If you + * suppress a pattern, CloudWatch Logs won’t report any anomalies related to that + * pattern.

          You must specify either anomalyId or + * patternId, but you can't specify both parameters in the same + * operation.

          If you have previously used this operation to suppress + * detection of a pattern or anomaly, you can use it again to cause CloudWatch Logs + * to end the suppression. To do this, use this operation and specify the anomaly + * or pattern to stop suppressing, and omit the suppressionType and + * suppressionPeriod parameters.

          See Also:

          AWS + * API Reference

          + */ + virtual Model::UpdateAnomalyOutcome UpdateAnomaly(const Model::UpdateAnomalyRequest& request) const; + + /** + * A Callable wrapper for UpdateAnomaly that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::UpdateAnomalyOutcomeCallable UpdateAnomalyCallable(const UpdateAnomalyRequestT& request) const + { + return SubmitCallable(&CloudWatchLogsClient::UpdateAnomaly, request); + } + + /** + * An Async wrapper for UpdateAnomaly that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void UpdateAnomalyAsync(const UpdateAnomalyRequestT& request, const UpdateAnomalyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&CloudWatchLogsClient::UpdateAnomaly, request, handler, context); + } + + /** + *

          Updates an existing log anomaly detector.

          See Also:

          AWS + * API Reference

          + */ + virtual Model::UpdateLogAnomalyDetectorOutcome UpdateLogAnomalyDetector(const Model::UpdateLogAnomalyDetectorRequest& request) const; + + /** + * A Callable wrapper for UpdateLogAnomalyDetector that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::UpdateLogAnomalyDetectorOutcomeCallable UpdateLogAnomalyDetectorCallable(const UpdateLogAnomalyDetectorRequestT& request) const + { + return SubmitCallable(&CloudWatchLogsClient::UpdateLogAnomalyDetector, request); + } + + /** + * An Async wrapper for UpdateLogAnomalyDetector that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void UpdateLogAnomalyDetectorAsync(const UpdateLogAnomalyDetectorRequestT& request, const UpdateLogAnomalyDetectorResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&CloudWatchLogsClient::UpdateLogAnomalyDetector, request, handler, context); + } + void OverrideEndpoint(const Aws::String& endpoint); std::shared_ptr& accessEndpointProvider(); diff --git a/generated/src/aws-cpp-sdk-logs/include/aws/logs/CloudWatchLogsServiceClientModel.h b/generated/src/aws-cpp-sdk-logs/include/aws/logs/CloudWatchLogsServiceClientModel.h index d0c0f6a9958..76542c7ee6a 100644 --- a/generated/src/aws-cpp-sdk-logs/include/aws/logs/CloudWatchLogsServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-logs/include/aws/logs/CloudWatchLogsServiceClientModel.h @@ -20,6 +20,7 @@ /* Service model headers required in CloudWatchLogsClient header */ #include #include +#include #include #include #include @@ -40,10 +41,13 @@ #include #include #include +#include #include #include #include #include +#include +#include #include #include #include @@ -102,6 +106,7 @@ namespace Aws class CancelExportTaskRequest; class CreateDeliveryRequest; class CreateExportTaskRequest; + class CreateLogAnomalyDetectorRequest; class CreateLogGroupRequest; class CreateLogStreamRequest; class DeleteAccountPolicyRequest; @@ -111,6 +116,7 @@ namespace Aws class DeleteDeliveryDestinationPolicyRequest; class DeleteDeliverySourceRequest; class DeleteDestinationRequest; + class DeleteLogAnomalyDetectorRequest; class DeleteLogGroupRequest; class DeleteLogStreamRequest; class DeleteMetricFilterRequest; @@ -138,10 +144,13 @@ namespace Aws class GetDeliveryDestinationRequest; class GetDeliveryDestinationPolicyRequest; class GetDeliverySourceRequest; + class GetLogAnomalyDetectorRequest; class GetLogEventsRequest; class GetLogGroupFieldsRequest; class GetLogRecordRequest; class GetQueryResultsRequest; + class ListAnomaliesRequest; + class ListLogAnomalyDetectorsRequest; class ListTagsForResourceRequest; class PutAccountPolicyRequest; class PutDataProtectionPolicyRequest; @@ -161,6 +170,8 @@ namespace Aws class TagResourceRequest; class TestMetricFilterRequest; class UntagResourceRequest; + class UpdateAnomalyRequest; + class UpdateLogAnomalyDetectorRequest; /* End of service model forward declarations required in CloudWatchLogsClient header */ /* Service model Outcome class definitions */ @@ -168,6 +179,7 @@ namespace Aws typedef Aws::Utils::Outcome CancelExportTaskOutcome; typedef Aws::Utils::Outcome CreateDeliveryOutcome; typedef Aws::Utils::Outcome CreateExportTaskOutcome; + typedef Aws::Utils::Outcome CreateLogAnomalyDetectorOutcome; typedef Aws::Utils::Outcome CreateLogGroupOutcome; typedef Aws::Utils::Outcome CreateLogStreamOutcome; typedef Aws::Utils::Outcome DeleteAccountPolicyOutcome; @@ -177,6 +189,7 @@ namespace Aws typedef Aws::Utils::Outcome DeleteDeliveryDestinationPolicyOutcome; typedef Aws::Utils::Outcome DeleteDeliverySourceOutcome; typedef Aws::Utils::Outcome DeleteDestinationOutcome; + typedef Aws::Utils::Outcome DeleteLogAnomalyDetectorOutcome; typedef Aws::Utils::Outcome DeleteLogGroupOutcome; typedef Aws::Utils::Outcome DeleteLogStreamOutcome; typedef Aws::Utils::Outcome DeleteMetricFilterOutcome; @@ -204,10 +217,13 @@ namespace Aws typedef Aws::Utils::Outcome GetDeliveryDestinationOutcome; typedef Aws::Utils::Outcome GetDeliveryDestinationPolicyOutcome; typedef Aws::Utils::Outcome GetDeliverySourceOutcome; + typedef Aws::Utils::Outcome GetLogAnomalyDetectorOutcome; typedef Aws::Utils::Outcome GetLogEventsOutcome; typedef Aws::Utils::Outcome GetLogGroupFieldsOutcome; typedef Aws::Utils::Outcome GetLogRecordOutcome; typedef Aws::Utils::Outcome GetQueryResultsOutcome; + typedef Aws::Utils::Outcome ListAnomaliesOutcome; + typedef Aws::Utils::Outcome ListLogAnomalyDetectorsOutcome; typedef Aws::Utils::Outcome ListTagsForResourceOutcome; typedef Aws::Utils::Outcome PutAccountPolicyOutcome; typedef Aws::Utils::Outcome PutDataProtectionPolicyOutcome; @@ -227,6 +243,8 @@ namespace Aws typedef Aws::Utils::Outcome TagResourceOutcome; typedef Aws::Utils::Outcome TestMetricFilterOutcome; typedef Aws::Utils::Outcome UntagResourceOutcome; + typedef Aws::Utils::Outcome UpdateAnomalyOutcome; + typedef Aws::Utils::Outcome UpdateLogAnomalyDetectorOutcome; /* End of service model Outcome class definitions */ /* Service model Outcome callable definitions */ @@ -234,6 +252,7 @@ namespace Aws typedef std::future CancelExportTaskOutcomeCallable; typedef std::future CreateDeliveryOutcomeCallable; typedef std::future CreateExportTaskOutcomeCallable; + typedef std::future CreateLogAnomalyDetectorOutcomeCallable; typedef std::future CreateLogGroupOutcomeCallable; typedef std::future CreateLogStreamOutcomeCallable; typedef std::future DeleteAccountPolicyOutcomeCallable; @@ -243,6 +262,7 @@ namespace Aws typedef std::future DeleteDeliveryDestinationPolicyOutcomeCallable; typedef std::future DeleteDeliverySourceOutcomeCallable; typedef std::future DeleteDestinationOutcomeCallable; + typedef std::future DeleteLogAnomalyDetectorOutcomeCallable; typedef std::future DeleteLogGroupOutcomeCallable; typedef std::future DeleteLogStreamOutcomeCallable; typedef std::future DeleteMetricFilterOutcomeCallable; @@ -270,10 +290,13 @@ namespace Aws typedef std::future GetDeliveryDestinationOutcomeCallable; typedef std::future GetDeliveryDestinationPolicyOutcomeCallable; typedef std::future GetDeliverySourceOutcomeCallable; + typedef std::future GetLogAnomalyDetectorOutcomeCallable; typedef std::future GetLogEventsOutcomeCallable; typedef std::future GetLogGroupFieldsOutcomeCallable; typedef std::future GetLogRecordOutcomeCallable; typedef std::future GetQueryResultsOutcomeCallable; + typedef std::future ListAnomaliesOutcomeCallable; + typedef std::future ListLogAnomalyDetectorsOutcomeCallable; typedef std::future ListTagsForResourceOutcomeCallable; typedef std::future PutAccountPolicyOutcomeCallable; typedef std::future PutDataProtectionPolicyOutcomeCallable; @@ -293,6 +316,8 @@ namespace Aws typedef std::future TagResourceOutcomeCallable; typedef std::future TestMetricFilterOutcomeCallable; typedef std::future UntagResourceOutcomeCallable; + typedef std::future UpdateAnomalyOutcomeCallable; + typedef std::future UpdateLogAnomalyDetectorOutcomeCallable; /* End of service model Outcome callable definitions */ } // namespace Model @@ -303,6 +328,7 @@ namespace Aws typedef std::function&) > CancelExportTaskResponseReceivedHandler; typedef std::function&) > CreateDeliveryResponseReceivedHandler; typedef std::function&) > CreateExportTaskResponseReceivedHandler; + typedef std::function&) > CreateLogAnomalyDetectorResponseReceivedHandler; typedef std::function&) > CreateLogGroupResponseReceivedHandler; typedef std::function&) > CreateLogStreamResponseReceivedHandler; typedef std::function&) > DeleteAccountPolicyResponseReceivedHandler; @@ -312,6 +338,7 @@ namespace Aws typedef std::function&) > DeleteDeliveryDestinationPolicyResponseReceivedHandler; typedef std::function&) > DeleteDeliverySourceResponseReceivedHandler; typedef std::function&) > DeleteDestinationResponseReceivedHandler; + typedef std::function&) > DeleteLogAnomalyDetectorResponseReceivedHandler; typedef std::function&) > DeleteLogGroupResponseReceivedHandler; typedef std::function&) > DeleteLogStreamResponseReceivedHandler; typedef std::function&) > DeleteMetricFilterResponseReceivedHandler; @@ -339,10 +366,13 @@ namespace Aws typedef std::function&) > GetDeliveryDestinationResponseReceivedHandler; typedef std::function&) > GetDeliveryDestinationPolicyResponseReceivedHandler; typedef std::function&) > GetDeliverySourceResponseReceivedHandler; + typedef std::function&) > GetLogAnomalyDetectorResponseReceivedHandler; typedef std::function&) > GetLogEventsResponseReceivedHandler; typedef std::function&) > GetLogGroupFieldsResponseReceivedHandler; typedef std::function&) > GetLogRecordResponseReceivedHandler; typedef std::function&) > GetQueryResultsResponseReceivedHandler; + typedef std::function&) > ListAnomaliesResponseReceivedHandler; + typedef std::function&) > ListLogAnomalyDetectorsResponseReceivedHandler; typedef std::function&) > ListTagsForResourceResponseReceivedHandler; typedef std::function&) > PutAccountPolicyResponseReceivedHandler; typedef std::function&) > PutDataProtectionPolicyResponseReceivedHandler; @@ -362,6 +392,8 @@ namespace Aws typedef std::function&) > TagResourceResponseReceivedHandler; typedef std::function&) > TestMetricFilterResponseReceivedHandler; typedef std::function&) > UntagResourceResponseReceivedHandler; + typedef std::function&) > UpdateAnomalyResponseReceivedHandler; + typedef std::function&) > UpdateLogAnomalyDetectorResponseReceivedHandler; /* End of service model async handlers definitions */ } // namespace CloudWatchLogs } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/Anomaly.h b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/Anomaly.h new file mode 100644 index 00000000000..9c3b698ed49 --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/Anomaly.h @@ -0,0 +1,915 @@ +/** + * 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 Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace CloudWatchLogs +{ +namespace Model +{ + + /** + *

          This structure represents one anomaly that has been found by a logs anomaly + * detector.

          For more information about patterns and anomalies, see CreateLogAnomalyDetector. + *

          See Also:

          AWS API + * Reference

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

          The unique ID that CloudWatch Logs assigned to this anomaly.

          + */ + inline const Aws::String& GetAnomalyId() const{ return m_anomalyId; } + + /** + *

          The unique ID that CloudWatch Logs assigned to this anomaly.

          + */ + inline bool AnomalyIdHasBeenSet() const { return m_anomalyIdHasBeenSet; } + + /** + *

          The unique ID that CloudWatch Logs assigned to this anomaly.

          + */ + inline void SetAnomalyId(const Aws::String& value) { m_anomalyIdHasBeenSet = true; m_anomalyId = value; } + + /** + *

          The unique ID that CloudWatch Logs assigned to this anomaly.

          + */ + inline void SetAnomalyId(Aws::String&& value) { m_anomalyIdHasBeenSet = true; m_anomalyId = std::move(value); } + + /** + *

          The unique ID that CloudWatch Logs assigned to this anomaly.

          + */ + inline void SetAnomalyId(const char* value) { m_anomalyIdHasBeenSet = true; m_anomalyId.assign(value); } + + /** + *

          The unique ID that CloudWatch Logs assigned to this anomaly.

          + */ + inline Anomaly& WithAnomalyId(const Aws::String& value) { SetAnomalyId(value); return *this;} + + /** + *

          The unique ID that CloudWatch Logs assigned to this anomaly.

          + */ + inline Anomaly& WithAnomalyId(Aws::String&& value) { SetAnomalyId(std::move(value)); return *this;} + + /** + *

          The unique ID that CloudWatch Logs assigned to this anomaly.

          + */ + inline Anomaly& WithAnomalyId(const char* value) { SetAnomalyId(value); return *this;} + + + /** + *

          The ID of the pattern used to help identify this anomaly.

          + */ + inline const Aws::String& GetPatternId() const{ return m_patternId; } + + /** + *

          The ID of the pattern used to help identify this anomaly.

          + */ + inline bool PatternIdHasBeenSet() const { return m_patternIdHasBeenSet; } + + /** + *

          The ID of the pattern used to help identify this anomaly.

          + */ + inline void SetPatternId(const Aws::String& value) { m_patternIdHasBeenSet = true; m_patternId = value; } + + /** + *

          The ID of the pattern used to help identify this anomaly.

          + */ + inline void SetPatternId(Aws::String&& value) { m_patternIdHasBeenSet = true; m_patternId = std::move(value); } + + /** + *

          The ID of the pattern used to help identify this anomaly.

          + */ + inline void SetPatternId(const char* value) { m_patternIdHasBeenSet = true; m_patternId.assign(value); } + + /** + *

          The ID of the pattern used to help identify this anomaly.

          + */ + inline Anomaly& WithPatternId(const Aws::String& value) { SetPatternId(value); return *this;} + + /** + *

          The ID of the pattern used to help identify this anomaly.

          + */ + inline Anomaly& WithPatternId(Aws::String&& value) { SetPatternId(std::move(value)); return *this;} + + /** + *

          The ID of the pattern used to help identify this anomaly.

          + */ + inline Anomaly& WithPatternId(const char* value) { SetPatternId(value); return *this;} + + + /** + *

          The ARN of the anomaly detector that identified this anomaly.

          + */ + inline const Aws::String& GetAnomalyDetectorArn() const{ return m_anomalyDetectorArn; } + + /** + *

          The ARN of the anomaly detector that identified this anomaly.

          + */ + inline bool AnomalyDetectorArnHasBeenSet() const { return m_anomalyDetectorArnHasBeenSet; } + + /** + *

          The ARN of the anomaly detector that identified this anomaly.

          + */ + inline void SetAnomalyDetectorArn(const Aws::String& value) { m_anomalyDetectorArnHasBeenSet = true; m_anomalyDetectorArn = value; } + + /** + *

          The ARN of the anomaly detector that identified this anomaly.

          + */ + inline void SetAnomalyDetectorArn(Aws::String&& value) { m_anomalyDetectorArnHasBeenSet = true; m_anomalyDetectorArn = std::move(value); } + + /** + *

          The ARN of the anomaly detector that identified this anomaly.

          + */ + inline void SetAnomalyDetectorArn(const char* value) { m_anomalyDetectorArnHasBeenSet = true; m_anomalyDetectorArn.assign(value); } + + /** + *

          The ARN of the anomaly detector that identified this anomaly.

          + */ + inline Anomaly& WithAnomalyDetectorArn(const Aws::String& value) { SetAnomalyDetectorArn(value); return *this;} + + /** + *

          The ARN of the anomaly detector that identified this anomaly.

          + */ + inline Anomaly& WithAnomalyDetectorArn(Aws::String&& value) { SetAnomalyDetectorArn(std::move(value)); return *this;} + + /** + *

          The ARN of the anomaly detector that identified this anomaly.

          + */ + inline Anomaly& WithAnomalyDetectorArn(const char* value) { SetAnomalyDetectorArn(value); return *this;} + + + /** + *

          The pattern used to help identify this anomaly, in string format.

          + */ + inline const Aws::String& GetPatternString() const{ return m_patternString; } + + /** + *

          The pattern used to help identify this anomaly, in string format.

          + */ + inline bool PatternStringHasBeenSet() const { return m_patternStringHasBeenSet; } + + /** + *

          The pattern used to help identify this anomaly, in string format.

          + */ + inline void SetPatternString(const Aws::String& value) { m_patternStringHasBeenSet = true; m_patternString = value; } + + /** + *

          The pattern used to help identify this anomaly, in string format.

          + */ + inline void SetPatternString(Aws::String&& value) { m_patternStringHasBeenSet = true; m_patternString = std::move(value); } + + /** + *

          The pattern used to help identify this anomaly, in string format.

          + */ + inline void SetPatternString(const char* value) { m_patternStringHasBeenSet = true; m_patternString.assign(value); } + + /** + *

          The pattern used to help identify this anomaly, in string format.

          + */ + inline Anomaly& WithPatternString(const Aws::String& value) { SetPatternString(value); return *this;} + + /** + *

          The pattern used to help identify this anomaly, in string format.

          + */ + inline Anomaly& WithPatternString(Aws::String&& value) { SetPatternString(std::move(value)); return *this;} + + /** + *

          The pattern used to help identify this anomaly, in string format.

          + */ + inline Anomaly& WithPatternString(const char* value) { SetPatternString(value); return *this;} + + + /** + *

          The pattern used to help identify this anomaly, in regular expression + * format.

          + */ + inline const Aws::String& GetPatternRegex() const{ return m_patternRegex; } + + /** + *

          The pattern used to help identify this anomaly, in regular expression + * format.

          + */ + inline bool PatternRegexHasBeenSet() const { return m_patternRegexHasBeenSet; } + + /** + *

          The pattern used to help identify this anomaly, in regular expression + * format.

          + */ + inline void SetPatternRegex(const Aws::String& value) { m_patternRegexHasBeenSet = true; m_patternRegex = value; } + + /** + *

          The pattern used to help identify this anomaly, in regular expression + * format.

          + */ + inline void SetPatternRegex(Aws::String&& value) { m_patternRegexHasBeenSet = true; m_patternRegex = std::move(value); } + + /** + *

          The pattern used to help identify this anomaly, in regular expression + * format.

          + */ + inline void SetPatternRegex(const char* value) { m_patternRegexHasBeenSet = true; m_patternRegex.assign(value); } + + /** + *

          The pattern used to help identify this anomaly, in regular expression + * format.

          + */ + inline Anomaly& WithPatternRegex(const Aws::String& value) { SetPatternRegex(value); return *this;} + + /** + *

          The pattern used to help identify this anomaly, in regular expression + * format.

          + */ + inline Anomaly& WithPatternRegex(Aws::String&& value) { SetPatternRegex(std::move(value)); return *this;} + + /** + *

          The pattern used to help identify this anomaly, in regular expression + * format.

          + */ + inline Anomaly& WithPatternRegex(const char* value) { SetPatternRegex(value); return *this;} + + + /** + *

          The priority level of this anomaly, as determined by CloudWatch Logs. + * Priority is computed based on log severity labels such as FATAL and + * ERROR and the amount of deviation from the baseline. Possible + * values are HIGH, MEDIUM, and LOW.

          + */ + inline const Aws::String& GetPriority() const{ return m_priority; } + + /** + *

          The priority level of this anomaly, as determined by CloudWatch Logs. + * Priority is computed based on log severity labels such as FATAL and + * ERROR and the amount of deviation from the baseline. Possible + * values are HIGH, MEDIUM, and LOW.

          + */ + inline bool PriorityHasBeenSet() const { return m_priorityHasBeenSet; } + + /** + *

          The priority level of this anomaly, as determined by CloudWatch Logs. + * Priority is computed based on log severity labels such as FATAL and + * ERROR and the amount of deviation from the baseline. Possible + * values are HIGH, MEDIUM, and LOW.

          + */ + inline void SetPriority(const Aws::String& value) { m_priorityHasBeenSet = true; m_priority = value; } + + /** + *

          The priority level of this anomaly, as determined by CloudWatch Logs. + * Priority is computed based on log severity labels such as FATAL and + * ERROR and the amount of deviation from the baseline. Possible + * values are HIGH, MEDIUM, and LOW.

          + */ + inline void SetPriority(Aws::String&& value) { m_priorityHasBeenSet = true; m_priority = std::move(value); } + + /** + *

          The priority level of this anomaly, as determined by CloudWatch Logs. + * Priority is computed based on log severity labels such as FATAL and + * ERROR and the amount of deviation from the baseline. Possible + * values are HIGH, MEDIUM, and LOW.

          + */ + inline void SetPriority(const char* value) { m_priorityHasBeenSet = true; m_priority.assign(value); } + + /** + *

          The priority level of this anomaly, as determined by CloudWatch Logs. + * Priority is computed based on log severity labels such as FATAL and + * ERROR and the amount of deviation from the baseline. Possible + * values are HIGH, MEDIUM, and LOW.

          + */ + inline Anomaly& WithPriority(const Aws::String& value) { SetPriority(value); return *this;} + + /** + *

          The priority level of this anomaly, as determined by CloudWatch Logs. + * Priority is computed based on log severity labels such as FATAL and + * ERROR and the amount of deviation from the baseline. Possible + * values are HIGH, MEDIUM, and LOW.

          + */ + inline Anomaly& WithPriority(Aws::String&& value) { SetPriority(std::move(value)); return *this;} + + /** + *

          The priority level of this anomaly, as determined by CloudWatch Logs. + * Priority is computed based on log severity labels such as FATAL and + * ERROR and the amount of deviation from the baseline. Possible + * values are HIGH, MEDIUM, and LOW.

          + */ + inline Anomaly& WithPriority(const char* value) { SetPriority(value); return *this;} + + + /** + *

          The date and time when the anomaly detector first saw this anomaly. It is + * specified as epoch time, which is the number of seconds since January 1, + * 1970, 00:00:00 UTC.

          + */ + inline long long GetFirstSeen() const{ return m_firstSeen; } + + /** + *

          The date and time when the anomaly detector first saw this anomaly. It is + * specified as epoch time, which is the number of seconds since January 1, + * 1970, 00:00:00 UTC.

          + */ + inline bool FirstSeenHasBeenSet() const { return m_firstSeenHasBeenSet; } + + /** + *

          The date and time when the anomaly detector first saw this anomaly. It is + * specified as epoch time, which is the number of seconds since January 1, + * 1970, 00:00:00 UTC.

          + */ + inline void SetFirstSeen(long long value) { m_firstSeenHasBeenSet = true; m_firstSeen = value; } + + /** + *

          The date and time when the anomaly detector first saw this anomaly. It is + * specified as epoch time, which is the number of seconds since January 1, + * 1970, 00:00:00 UTC.

          + */ + inline Anomaly& WithFirstSeen(long long value) { SetFirstSeen(value); return *this;} + + + /** + *

          The date and time when the anomaly detector most recently saw this anomaly. + * It is specified as epoch time, which is the number of seconds since + * January 1, 1970, 00:00:00 UTC.

          + */ + inline long long GetLastSeen() const{ return m_lastSeen; } + + /** + *

          The date and time when the anomaly detector most recently saw this anomaly. + * It is specified as epoch time, which is the number of seconds since + * January 1, 1970, 00:00:00 UTC.

          + */ + inline bool LastSeenHasBeenSet() const { return m_lastSeenHasBeenSet; } + + /** + *

          The date and time when the anomaly detector most recently saw this anomaly. + * It is specified as epoch time, which is the number of seconds since + * January 1, 1970, 00:00:00 UTC.

          + */ + inline void SetLastSeen(long long value) { m_lastSeenHasBeenSet = true; m_lastSeen = value; } + + /** + *

          The date and time when the anomaly detector most recently saw this anomaly. + * It is specified as epoch time, which is the number of seconds since + * January 1, 1970, 00:00:00 UTC.

          + */ + inline Anomaly& WithLastSeen(long long value) { SetLastSeen(value); return *this;} + + + /** + *

          A human-readable description of the anomaly. This description is generated by + * CloudWatch Logs.

          + */ + inline const Aws::String& GetDescription() const{ return m_description; } + + /** + *

          A human-readable description of the anomaly. This description is generated by + * CloudWatch Logs.

          + */ + inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } + + /** + *

          A human-readable description of the anomaly. This description is generated by + * CloudWatch Logs.

          + */ + inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } + + /** + *

          A human-readable description of the anomaly. This description is generated by + * CloudWatch Logs.

          + */ + inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } + + /** + *

          A human-readable description of the anomaly. This description is generated by + * CloudWatch Logs.

          + */ + inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } + + /** + *

          A human-readable description of the anomaly. This description is generated by + * CloudWatch Logs.

          + */ + inline Anomaly& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} + + /** + *

          A human-readable description of the anomaly. This description is generated by + * CloudWatch Logs.

          + */ + inline Anomaly& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} + + /** + *

          A human-readable description of the anomaly. This description is generated by + * CloudWatch Logs.

          + */ + inline Anomaly& WithDescription(const char* value) { SetDescription(value); return *this;} + + + /** + *

          Specifies whether this anomaly is still ongoing.

          + */ + inline bool GetActive() const{ return m_active; } + + /** + *

          Specifies whether this anomaly is still ongoing.

          + */ + inline bool ActiveHasBeenSet() const { return m_activeHasBeenSet; } + + /** + *

          Specifies whether this anomaly is still ongoing.

          + */ + inline void SetActive(bool value) { m_activeHasBeenSet = true; m_active = value; } + + /** + *

          Specifies whether this anomaly is still ongoing.

          + */ + inline Anomaly& WithActive(bool value) { SetActive(value); return *this;} + + + /** + *

          Indicates the current state of this anomaly. If it is still being treated as + * an anomaly, the value is Active. If you have suppressed this + * anomaly by using the UpdateAnomaly + * operation, the value is Suppressed. If this behavior is now + * considered to be normal, the value is Baseline.

          + */ + inline const State& GetState() const{ return m_state; } + + /** + *

          Indicates the current state of this anomaly. If it is still being treated as + * an anomaly, the value is Active. If you have suppressed this + * anomaly by using the UpdateAnomaly + * operation, the value is Suppressed. If this behavior is now + * considered to be normal, the value is Baseline.

          + */ + inline bool StateHasBeenSet() const { return m_stateHasBeenSet; } + + /** + *

          Indicates the current state of this anomaly. If it is still being treated as + * an anomaly, the value is Active. If you have suppressed this + * anomaly by using the UpdateAnomaly + * operation, the value is Suppressed. If this behavior is now + * considered to be normal, the value is Baseline.

          + */ + inline void SetState(const State& value) { m_stateHasBeenSet = true; m_state = value; } + + /** + *

          Indicates the current state of this anomaly. If it is still being treated as + * an anomaly, the value is Active. If you have suppressed this + * anomaly by using the UpdateAnomaly + * operation, the value is Suppressed. If this behavior is now + * considered to be normal, the value is Baseline.

          + */ + inline void SetState(State&& value) { m_stateHasBeenSet = true; m_state = std::move(value); } + + /** + *

          Indicates the current state of this anomaly. If it is still being treated as + * an anomaly, the value is Active. If you have suppressed this + * anomaly by using the UpdateAnomaly + * operation, the value is Suppressed. If this behavior is now + * considered to be normal, the value is Baseline.

          + */ + inline Anomaly& WithState(const State& value) { SetState(value); return *this;} + + /** + *

          Indicates the current state of this anomaly. If it is still being treated as + * an anomaly, the value is Active. If you have suppressed this + * anomaly by using the UpdateAnomaly + * operation, the value is Suppressed. If this behavior is now + * considered to be normal, the value is Baseline.

          + */ + inline Anomaly& WithState(State&& value) { SetState(std::move(value)); return *this;} + + + /** + *

          A map showing times when the anomaly detector ran, and the number of + * occurrences of this anomaly that were detected at each of those runs. The times + * are specified in epoch time, which is the number of seconds since January + * 1, 1970, 00:00:00 UTC.

          + */ + inline const Aws::Map& GetHistogram() const{ return m_histogram; } + + /** + *

          A map showing times when the anomaly detector ran, and the number of + * occurrences of this anomaly that were detected at each of those runs. The times + * are specified in epoch time, which is the number of seconds since January + * 1, 1970, 00:00:00 UTC.

          + */ + inline bool HistogramHasBeenSet() const { return m_histogramHasBeenSet; } + + /** + *

          A map showing times when the anomaly detector ran, and the number of + * occurrences of this anomaly that were detected at each of those runs. The times + * are specified in epoch time, which is the number of seconds since January + * 1, 1970, 00:00:00 UTC.

          + */ + inline void SetHistogram(const Aws::Map& value) { m_histogramHasBeenSet = true; m_histogram = value; } + + /** + *

          A map showing times when the anomaly detector ran, and the number of + * occurrences of this anomaly that were detected at each of those runs. The times + * are specified in epoch time, which is the number of seconds since January + * 1, 1970, 00:00:00 UTC.

          + */ + inline void SetHistogram(Aws::Map&& value) { m_histogramHasBeenSet = true; m_histogram = std::move(value); } + + /** + *

          A map showing times when the anomaly detector ran, and the number of + * occurrences of this anomaly that were detected at each of those runs. The times + * are specified in epoch time, which is the number of seconds since January + * 1, 1970, 00:00:00 UTC.

          + */ + inline Anomaly& WithHistogram(const Aws::Map& value) { SetHistogram(value); return *this;} + + /** + *

          A map showing times when the anomaly detector ran, and the number of + * occurrences of this anomaly that were detected at each of those runs. The times + * are specified in epoch time, which is the number of seconds since January + * 1, 1970, 00:00:00 UTC.

          + */ + inline Anomaly& WithHistogram(Aws::Map&& value) { SetHistogram(std::move(value)); return *this;} + + /** + *

          A map showing times when the anomaly detector ran, and the number of + * occurrences of this anomaly that were detected at each of those runs. The times + * are specified in epoch time, which is the number of seconds since January + * 1, 1970, 00:00:00 UTC.

          + */ + inline Anomaly& AddHistogram(const Aws::String& key, long long value) { m_histogramHasBeenSet = true; m_histogram.emplace(key, value); return *this; } + + /** + *

          A map showing times when the anomaly detector ran, and the number of + * occurrences of this anomaly that were detected at each of those runs. The times + * are specified in epoch time, which is the number of seconds since January + * 1, 1970, 00:00:00 UTC.

          + */ + inline Anomaly& AddHistogram(Aws::String&& key, long long value) { m_histogramHasBeenSet = true; m_histogram.emplace(std::move(key), value); return *this; } + + /** + *

          A map showing times when the anomaly detector ran, and the number of + * occurrences of this anomaly that were detected at each of those runs. The times + * are specified in epoch time, which is the number of seconds since January + * 1, 1970, 00:00:00 UTC.

          + */ + inline Anomaly& AddHistogram(const char* key, long long value) { m_histogramHasBeenSet = true; m_histogram.emplace(key, value); return *this; } + + + /** + *

          An array of sample log event messages that are considered to be part of this + * anomaly.

          + */ + inline const Aws::Vector& GetLogSamples() const{ return m_logSamples; } + + /** + *

          An array of sample log event messages that are considered to be part of this + * anomaly.

          + */ + inline bool LogSamplesHasBeenSet() const { return m_logSamplesHasBeenSet; } + + /** + *

          An array of sample log event messages that are considered to be part of this + * anomaly.

          + */ + inline void SetLogSamples(const Aws::Vector& value) { m_logSamplesHasBeenSet = true; m_logSamples = value; } + + /** + *

          An array of sample log event messages that are considered to be part of this + * anomaly.

          + */ + inline void SetLogSamples(Aws::Vector&& value) { m_logSamplesHasBeenSet = true; m_logSamples = std::move(value); } + + /** + *

          An array of sample log event messages that are considered to be part of this + * anomaly.

          + */ + inline Anomaly& WithLogSamples(const Aws::Vector& value) { SetLogSamples(value); return *this;} + + /** + *

          An array of sample log event messages that are considered to be part of this + * anomaly.

          + */ + inline Anomaly& WithLogSamples(Aws::Vector&& value) { SetLogSamples(std::move(value)); return *this;} + + /** + *

          An array of sample log event messages that are considered to be part of this + * anomaly.

          + */ + inline Anomaly& AddLogSamples(const Aws::String& value) { m_logSamplesHasBeenSet = true; m_logSamples.push_back(value); return *this; } + + /** + *

          An array of sample log event messages that are considered to be part of this + * anomaly.

          + */ + inline Anomaly& AddLogSamples(Aws::String&& value) { m_logSamplesHasBeenSet = true; m_logSamples.push_back(std::move(value)); return *this; } + + /** + *

          An array of sample log event messages that are considered to be part of this + * anomaly.

          + */ + inline Anomaly& AddLogSamples(const char* value) { m_logSamplesHasBeenSet = true; m_logSamples.push_back(value); return *this; } + + + /** + *

          An array of structures where each structure contains information about one + * token that makes up the pattern.

          + */ + inline const Aws::Vector& GetPatternTokens() const{ return m_patternTokens; } + + /** + *

          An array of structures where each structure contains information about one + * token that makes up the pattern.

          + */ + inline bool PatternTokensHasBeenSet() const { return m_patternTokensHasBeenSet; } + + /** + *

          An array of structures where each structure contains information about one + * token that makes up the pattern.

          + */ + inline void SetPatternTokens(const Aws::Vector& value) { m_patternTokensHasBeenSet = true; m_patternTokens = value; } + + /** + *

          An array of structures where each structure contains information about one + * token that makes up the pattern.

          + */ + inline void SetPatternTokens(Aws::Vector&& value) { m_patternTokensHasBeenSet = true; m_patternTokens = std::move(value); } + + /** + *

          An array of structures where each structure contains information about one + * token that makes up the pattern.

          + */ + inline Anomaly& WithPatternTokens(const Aws::Vector& value) { SetPatternTokens(value); return *this;} + + /** + *

          An array of structures where each structure contains information about one + * token that makes up the pattern.

          + */ + inline Anomaly& WithPatternTokens(Aws::Vector&& value) { SetPatternTokens(std::move(value)); return *this;} + + /** + *

          An array of structures where each structure contains information about one + * token that makes up the pattern.

          + */ + inline Anomaly& AddPatternTokens(const PatternToken& value) { m_patternTokensHasBeenSet = true; m_patternTokens.push_back(value); return *this; } + + /** + *

          An array of structures where each structure contains information about one + * token that makes up the pattern.

          + */ + inline Anomaly& AddPatternTokens(PatternToken&& value) { m_patternTokensHasBeenSet = true; m_patternTokens.push_back(std::move(value)); return *this; } + + + /** + *

          An array of ARNS of the log groups that contained log events considered to be + * part of this anomaly.

          + */ + inline const Aws::Vector& GetLogGroupArnList() const{ return m_logGroupArnList; } + + /** + *

          An array of ARNS of the log groups that contained log events considered to be + * part of this anomaly.

          + */ + inline bool LogGroupArnListHasBeenSet() const { return m_logGroupArnListHasBeenSet; } + + /** + *

          An array of ARNS of the log groups that contained log events considered to be + * part of this anomaly.

          + */ + inline void SetLogGroupArnList(const Aws::Vector& value) { m_logGroupArnListHasBeenSet = true; m_logGroupArnList = value; } + + /** + *

          An array of ARNS of the log groups that contained log events considered to be + * part of this anomaly.

          + */ + inline void SetLogGroupArnList(Aws::Vector&& value) { m_logGroupArnListHasBeenSet = true; m_logGroupArnList = std::move(value); } + + /** + *

          An array of ARNS of the log groups that contained log events considered to be + * part of this anomaly.

          + */ + inline Anomaly& WithLogGroupArnList(const Aws::Vector& value) { SetLogGroupArnList(value); return *this;} + + /** + *

          An array of ARNS of the log groups that contained log events considered to be + * part of this anomaly.

          + */ + inline Anomaly& WithLogGroupArnList(Aws::Vector&& value) { SetLogGroupArnList(std::move(value)); return *this;} + + /** + *

          An array of ARNS of the log groups that contained log events considered to be + * part of this anomaly.

          + */ + inline Anomaly& AddLogGroupArnList(const Aws::String& value) { m_logGroupArnListHasBeenSet = true; m_logGroupArnList.push_back(value); return *this; } + + /** + *

          An array of ARNS of the log groups that contained log events considered to be + * part of this anomaly.

          + */ + inline Anomaly& AddLogGroupArnList(Aws::String&& value) { m_logGroupArnListHasBeenSet = true; m_logGroupArnList.push_back(std::move(value)); return *this; } + + /** + *

          An array of ARNS of the log groups that contained log events considered to be + * part of this anomaly.

          + */ + inline Anomaly& AddLogGroupArnList(const char* value) { m_logGroupArnListHasBeenSet = true; m_logGroupArnList.push_back(value); return *this; } + + + /** + *

          Indicates whether this anomaly is currently suppressed. To suppress an + * anomaly, use UpdateAnomaly.

          + */ + inline bool GetSuppressed() const{ return m_suppressed; } + + /** + *

          Indicates whether this anomaly is currently suppressed. To suppress an + * anomaly, use UpdateAnomaly.

          + */ + inline bool SuppressedHasBeenSet() const { return m_suppressedHasBeenSet; } + + /** + *

          Indicates whether this anomaly is currently suppressed. To suppress an + * anomaly, use UpdateAnomaly.

          + */ + inline void SetSuppressed(bool value) { m_suppressedHasBeenSet = true; m_suppressed = value; } + + /** + *

          Indicates whether this anomaly is currently suppressed. To suppress an + * anomaly, use UpdateAnomaly.

          + */ + inline Anomaly& WithSuppressed(bool value) { SetSuppressed(value); return *this;} + + + /** + *

          If the anomaly is suppressed, this indicates when it was suppressed.

          + */ + inline long long GetSuppressedDate() const{ return m_suppressedDate; } + + /** + *

          If the anomaly is suppressed, this indicates when it was suppressed.

          + */ + inline bool SuppressedDateHasBeenSet() const { return m_suppressedDateHasBeenSet; } + + /** + *

          If the anomaly is suppressed, this indicates when it was suppressed.

          + */ + inline void SetSuppressedDate(long long value) { m_suppressedDateHasBeenSet = true; m_suppressedDate = value; } + + /** + *

          If the anomaly is suppressed, this indicates when it was suppressed.

          + */ + inline Anomaly& WithSuppressedDate(long long value) { SetSuppressedDate(value); return *this;} + + + /** + *

          If the anomaly is suppressed, this indicates when the suppression will end. + * If this value is 0, the anomaly was suppressed with no expiration, + * with the INFINITE value.

          + */ + inline long long GetSuppressedUntil() const{ return m_suppressedUntil; } + + /** + *

          If the anomaly is suppressed, this indicates when the suppression will end. + * If this value is 0, the anomaly was suppressed with no expiration, + * with the INFINITE value.

          + */ + inline bool SuppressedUntilHasBeenSet() const { return m_suppressedUntilHasBeenSet; } + + /** + *

          If the anomaly is suppressed, this indicates when the suppression will end. + * If this value is 0, the anomaly was suppressed with no expiration, + * with the INFINITE value.

          + */ + inline void SetSuppressedUntil(long long value) { m_suppressedUntilHasBeenSet = true; m_suppressedUntil = value; } + + /** + *

          If the anomaly is suppressed, this indicates when the suppression will end. + * If this value is 0, the anomaly was suppressed with no expiration, + * with the INFINITE value.

          + */ + inline Anomaly& WithSuppressedUntil(long long value) { SetSuppressedUntil(value); return *this;} + + + /** + *

          If this anomaly is suppressed, this field is true if the + * suppression is because the pattern is suppressed. If false, then + * only this particular anomaly is suppressed.

          + */ + inline bool GetIsPatternLevelSuppression() const{ return m_isPatternLevelSuppression; } + + /** + *

          If this anomaly is suppressed, this field is true if the + * suppression is because the pattern is suppressed. If false, then + * only this particular anomaly is suppressed.

          + */ + inline bool IsPatternLevelSuppressionHasBeenSet() const { return m_isPatternLevelSuppressionHasBeenSet; } + + /** + *

          If this anomaly is suppressed, this field is true if the + * suppression is because the pattern is suppressed. If false, then + * only this particular anomaly is suppressed.

          + */ + inline void SetIsPatternLevelSuppression(bool value) { m_isPatternLevelSuppressionHasBeenSet = true; m_isPatternLevelSuppression = value; } + + /** + *

          If this anomaly is suppressed, this field is true if the + * suppression is because the pattern is suppressed. If false, then + * only this particular anomaly is suppressed.

          + */ + inline Anomaly& WithIsPatternLevelSuppression(bool value) { SetIsPatternLevelSuppression(value); return *this;} + + private: + + Aws::String m_anomalyId; + bool m_anomalyIdHasBeenSet = false; + + Aws::String m_patternId; + bool m_patternIdHasBeenSet = false; + + Aws::String m_anomalyDetectorArn; + bool m_anomalyDetectorArnHasBeenSet = false; + + Aws::String m_patternString; + bool m_patternStringHasBeenSet = false; + + Aws::String m_patternRegex; + bool m_patternRegexHasBeenSet = false; + + Aws::String m_priority; + bool m_priorityHasBeenSet = false; + + long long m_firstSeen; + bool m_firstSeenHasBeenSet = false; + + long long m_lastSeen; + bool m_lastSeenHasBeenSet = false; + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + bool m_active; + bool m_activeHasBeenSet = false; + + State m_state; + bool m_stateHasBeenSet = false; + + Aws::Map m_histogram; + bool m_histogramHasBeenSet = false; + + Aws::Vector m_logSamples; + bool m_logSamplesHasBeenSet = false; + + Aws::Vector m_patternTokens; + bool m_patternTokensHasBeenSet = false; + + Aws::Vector m_logGroupArnList; + bool m_logGroupArnListHasBeenSet = false; + + bool m_suppressed; + bool m_suppressedHasBeenSet = false; + + long long m_suppressedDate; + bool m_suppressedDateHasBeenSet = false; + + long long m_suppressedUntil; + bool m_suppressedUntilHasBeenSet = false; + + bool m_isPatternLevelSuppression; + bool m_isPatternLevelSuppressionHasBeenSet = false; + }; + +} // namespace Model +} // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/AnomalyDetector.h b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/AnomalyDetector.h new file mode 100644 index 00000000000..e6de74981d0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/AnomalyDetector.h @@ -0,0 +1,423 @@ +/** + * 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 CloudWatchLogs +{ +namespace Model +{ + + /** + *

          Contains information about one anomaly detector in the account.

          See + * Also:

          AWS + * API Reference

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

          The ARN of the anomaly detector.

          + */ + inline const Aws::String& GetAnomalyDetectorArn() const{ return m_anomalyDetectorArn; } + + /** + *

          The ARN of the anomaly detector.

          + */ + inline bool AnomalyDetectorArnHasBeenSet() const { return m_anomalyDetectorArnHasBeenSet; } + + /** + *

          The ARN of the anomaly detector.

          + */ + inline void SetAnomalyDetectorArn(const Aws::String& value) { m_anomalyDetectorArnHasBeenSet = true; m_anomalyDetectorArn = value; } + + /** + *

          The ARN of the anomaly detector.

          + */ + inline void SetAnomalyDetectorArn(Aws::String&& value) { m_anomalyDetectorArnHasBeenSet = true; m_anomalyDetectorArn = std::move(value); } + + /** + *

          The ARN of the anomaly detector.

          + */ + inline void SetAnomalyDetectorArn(const char* value) { m_anomalyDetectorArnHasBeenSet = true; m_anomalyDetectorArn.assign(value); } + + /** + *

          The ARN of the anomaly detector.

          + */ + inline AnomalyDetector& WithAnomalyDetectorArn(const Aws::String& value) { SetAnomalyDetectorArn(value); return *this;} + + /** + *

          The ARN of the anomaly detector.

          + */ + inline AnomalyDetector& WithAnomalyDetectorArn(Aws::String&& value) { SetAnomalyDetectorArn(std::move(value)); return *this;} + + /** + *

          The ARN of the anomaly detector.

          + */ + inline AnomalyDetector& WithAnomalyDetectorArn(const char* value) { SetAnomalyDetectorArn(value); return *this;} + + + /** + *

          The name of the anomaly detector.

          + */ + inline const Aws::String& GetDetectorName() const{ return m_detectorName; } + + /** + *

          The name of the anomaly detector.

          + */ + inline bool DetectorNameHasBeenSet() const { return m_detectorNameHasBeenSet; } + + /** + *

          The name of the anomaly detector.

          + */ + inline void SetDetectorName(const Aws::String& value) { m_detectorNameHasBeenSet = true; m_detectorName = value; } + + /** + *

          The name of the anomaly detector.

          + */ + inline void SetDetectorName(Aws::String&& value) { m_detectorNameHasBeenSet = true; m_detectorName = std::move(value); } + + /** + *

          The name of the anomaly detector.

          + */ + inline void SetDetectorName(const char* value) { m_detectorNameHasBeenSet = true; m_detectorName.assign(value); } + + /** + *

          The name of the anomaly detector.

          + */ + inline AnomalyDetector& WithDetectorName(const Aws::String& value) { SetDetectorName(value); return *this;} + + /** + *

          The name of the anomaly detector.

          + */ + inline AnomalyDetector& WithDetectorName(Aws::String&& value) { SetDetectorName(std::move(value)); return *this;} + + /** + *

          The name of the anomaly detector.

          + */ + inline AnomalyDetector& WithDetectorName(const char* value) { SetDetectorName(value); return *this;} + + + /** + *

          A list of the ARNs of the log groups that this anomaly detector watches.

          + */ + inline const Aws::Vector& GetLogGroupArnList() const{ return m_logGroupArnList; } + + /** + *

          A list of the ARNs of the log groups that this anomaly detector watches.

          + */ + inline bool LogGroupArnListHasBeenSet() const { return m_logGroupArnListHasBeenSet; } + + /** + *

          A list of the ARNs of the log groups that this anomaly detector watches.

          + */ + inline void SetLogGroupArnList(const Aws::Vector& value) { m_logGroupArnListHasBeenSet = true; m_logGroupArnList = value; } + + /** + *

          A list of the ARNs of the log groups that this anomaly detector watches.

          + */ + inline void SetLogGroupArnList(Aws::Vector&& value) { m_logGroupArnListHasBeenSet = true; m_logGroupArnList = std::move(value); } + + /** + *

          A list of the ARNs of the log groups that this anomaly detector watches.

          + */ + inline AnomalyDetector& WithLogGroupArnList(const Aws::Vector& value) { SetLogGroupArnList(value); return *this;} + + /** + *

          A list of the ARNs of the log groups that this anomaly detector watches.

          + */ + inline AnomalyDetector& WithLogGroupArnList(Aws::Vector&& value) { SetLogGroupArnList(std::move(value)); return *this;} + + /** + *

          A list of the ARNs of the log groups that this anomaly detector watches.

          + */ + inline AnomalyDetector& AddLogGroupArnList(const Aws::String& value) { m_logGroupArnListHasBeenSet = true; m_logGroupArnList.push_back(value); return *this; } + + /** + *

          A list of the ARNs of the log groups that this anomaly detector watches.

          + */ + inline AnomalyDetector& AddLogGroupArnList(Aws::String&& value) { m_logGroupArnListHasBeenSet = true; m_logGroupArnList.push_back(std::move(value)); return *this; } + + /** + *

          A list of the ARNs of the log groups that this anomaly detector watches.

          + */ + inline AnomalyDetector& AddLogGroupArnList(const char* value) { m_logGroupArnListHasBeenSet = true; m_logGroupArnList.push_back(value); return *this; } + + + /** + *

          Specifies how often the anomaly detector runs and look for anomalies.

          + */ + inline const EvaluationFrequency& GetEvaluationFrequency() const{ return m_evaluationFrequency; } + + /** + *

          Specifies how often the anomaly detector runs and look for anomalies.

          + */ + inline bool EvaluationFrequencyHasBeenSet() const { return m_evaluationFrequencyHasBeenSet; } + + /** + *

          Specifies how often the anomaly detector runs and look for anomalies.

          + */ + inline void SetEvaluationFrequency(const EvaluationFrequency& value) { m_evaluationFrequencyHasBeenSet = true; m_evaluationFrequency = value; } + + /** + *

          Specifies how often the anomaly detector runs and look for anomalies.

          + */ + inline void SetEvaluationFrequency(EvaluationFrequency&& value) { m_evaluationFrequencyHasBeenSet = true; m_evaluationFrequency = std::move(value); } + + /** + *

          Specifies how often the anomaly detector runs and look for anomalies.

          + */ + inline AnomalyDetector& WithEvaluationFrequency(const EvaluationFrequency& value) { SetEvaluationFrequency(value); return *this;} + + /** + *

          Specifies how often the anomaly detector runs and look for anomalies.

          + */ + inline AnomalyDetector& WithEvaluationFrequency(EvaluationFrequency&& value) { SetEvaluationFrequency(std::move(value)); return *this;} + + + + inline const Aws::String& GetFilterPattern() const{ return m_filterPattern; } + + + inline bool FilterPatternHasBeenSet() const { return m_filterPatternHasBeenSet; } + + + inline void SetFilterPattern(const Aws::String& value) { m_filterPatternHasBeenSet = true; m_filterPattern = value; } + + + inline void SetFilterPattern(Aws::String&& value) { m_filterPatternHasBeenSet = true; m_filterPattern = std::move(value); } + + + inline void SetFilterPattern(const char* value) { m_filterPatternHasBeenSet = true; m_filterPattern.assign(value); } + + + inline AnomalyDetector& WithFilterPattern(const Aws::String& value) { SetFilterPattern(value); return *this;} + + + inline AnomalyDetector& WithFilterPattern(Aws::String&& value) { SetFilterPattern(std::move(value)); return *this;} + + + inline AnomalyDetector& WithFilterPattern(const char* value) { SetFilterPattern(value); return *this;} + + + /** + *

          Specifies the current status of the anomaly detector. To pause an anomaly + * detector, use the enabled parameter in the UpdateLogAnomalyDetector + * operation.

          + */ + inline const AnomalyDetectorStatus& GetAnomalyDetectorStatus() const{ return m_anomalyDetectorStatus; } + + /** + *

          Specifies the current status of the anomaly detector. To pause an anomaly + * detector, use the enabled parameter in the UpdateLogAnomalyDetector + * operation.

          + */ + inline bool AnomalyDetectorStatusHasBeenSet() const { return m_anomalyDetectorStatusHasBeenSet; } + + /** + *

          Specifies the current status of the anomaly detector. To pause an anomaly + * detector, use the enabled parameter in the UpdateLogAnomalyDetector + * operation.

          + */ + inline void SetAnomalyDetectorStatus(const AnomalyDetectorStatus& value) { m_anomalyDetectorStatusHasBeenSet = true; m_anomalyDetectorStatus = value; } + + /** + *

          Specifies the current status of the anomaly detector. To pause an anomaly + * detector, use the enabled parameter in the UpdateLogAnomalyDetector + * operation.

          + */ + inline void SetAnomalyDetectorStatus(AnomalyDetectorStatus&& value) { m_anomalyDetectorStatusHasBeenSet = true; m_anomalyDetectorStatus = std::move(value); } + + /** + *

          Specifies the current status of the anomaly detector. To pause an anomaly + * detector, use the enabled parameter in the UpdateLogAnomalyDetector + * operation.

          + */ + inline AnomalyDetector& WithAnomalyDetectorStatus(const AnomalyDetectorStatus& value) { SetAnomalyDetectorStatus(value); return *this;} + + /** + *

          Specifies the current status of the anomaly detector. To pause an anomaly + * detector, use the enabled parameter in the UpdateLogAnomalyDetector + * operation.

          + */ + inline AnomalyDetector& WithAnomalyDetectorStatus(AnomalyDetectorStatus&& value) { SetAnomalyDetectorStatus(std::move(value)); return *this;} + + + /** + *

          The ID of the KMS key assigned to this anomaly detector, if any.

          + */ + inline const Aws::String& GetKmsKeyId() const{ return m_kmsKeyId; } + + /** + *

          The ID of the KMS key assigned to this anomaly detector, if any.

          + */ + inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; } + + /** + *

          The ID of the KMS key assigned to this anomaly detector, if any.

          + */ + inline void SetKmsKeyId(const Aws::String& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = value; } + + /** + *

          The ID of the KMS key assigned to this anomaly detector, if any.

          + */ + inline void SetKmsKeyId(Aws::String&& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = std::move(value); } + + /** + *

          The ID of the KMS key assigned to this anomaly detector, if any.

          + */ + inline void SetKmsKeyId(const char* value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId.assign(value); } + + /** + *

          The ID of the KMS key assigned to this anomaly detector, if any.

          + */ + inline AnomalyDetector& WithKmsKeyId(const Aws::String& value) { SetKmsKeyId(value); return *this;} + + /** + *

          The ID of the KMS key assigned to this anomaly detector, if any.

          + */ + inline AnomalyDetector& WithKmsKeyId(Aws::String&& value) { SetKmsKeyId(std::move(value)); return *this;} + + /** + *

          The ID of the KMS key assigned to this anomaly detector, if any.

          + */ + inline AnomalyDetector& WithKmsKeyId(const char* value) { SetKmsKeyId(value); return *this;} + + + /** + *

          The date and time when this anomaly detector was created.

          + */ + inline long long GetCreationTimeStamp() const{ return m_creationTimeStamp; } + + /** + *

          The date and time when this anomaly detector was created.

          + */ + inline bool CreationTimeStampHasBeenSet() const { return m_creationTimeStampHasBeenSet; } + + /** + *

          The date and time when this anomaly detector was created.

          + */ + inline void SetCreationTimeStamp(long long value) { m_creationTimeStampHasBeenSet = true; m_creationTimeStamp = value; } + + /** + *

          The date and time when this anomaly detector was created.

          + */ + inline AnomalyDetector& WithCreationTimeStamp(long long value) { SetCreationTimeStamp(value); return *this;} + + + /** + *

          The date and time when this anomaly detector was most recently modified.

          + */ + inline long long GetLastModifiedTimeStamp() const{ return m_lastModifiedTimeStamp; } + + /** + *

          The date and time when this anomaly detector was most recently modified.

          + */ + inline bool LastModifiedTimeStampHasBeenSet() const { return m_lastModifiedTimeStampHasBeenSet; } + + /** + *

          The date and time when this anomaly detector was most recently modified.

          + */ + inline void SetLastModifiedTimeStamp(long long value) { m_lastModifiedTimeStampHasBeenSet = true; m_lastModifiedTimeStamp = value; } + + /** + *

          The date and time when this anomaly detector was most recently modified.

          + */ + inline AnomalyDetector& WithLastModifiedTimeStamp(long long value) { SetLastModifiedTimeStamp(value); return *this;} + + + /** + *

          The number of days used as the life cycle of anomalies. After this time, + * anomalies are automatically baselined and the anomaly detector model will treat + * new occurrences of similar event as normal.

          + */ + inline long long GetAnomalyVisibilityTime() const{ return m_anomalyVisibilityTime; } + + /** + *

          The number of days used as the life cycle of anomalies. After this time, + * anomalies are automatically baselined and the anomaly detector model will treat + * new occurrences of similar event as normal.

          + */ + inline bool AnomalyVisibilityTimeHasBeenSet() const { return m_anomalyVisibilityTimeHasBeenSet; } + + /** + *

          The number of days used as the life cycle of anomalies. After this time, + * anomalies are automatically baselined and the anomaly detector model will treat + * new occurrences of similar event as normal.

          + */ + inline void SetAnomalyVisibilityTime(long long value) { m_anomalyVisibilityTimeHasBeenSet = true; m_anomalyVisibilityTime = value; } + + /** + *

          The number of days used as the life cycle of anomalies. After this time, + * anomalies are automatically baselined and the anomaly detector model will treat + * new occurrences of similar event as normal.

          + */ + inline AnomalyDetector& WithAnomalyVisibilityTime(long long value) { SetAnomalyVisibilityTime(value); return *this;} + + private: + + Aws::String m_anomalyDetectorArn; + bool m_anomalyDetectorArnHasBeenSet = false; + + Aws::String m_detectorName; + bool m_detectorNameHasBeenSet = false; + + Aws::Vector m_logGroupArnList; + bool m_logGroupArnListHasBeenSet = false; + + EvaluationFrequency m_evaluationFrequency; + bool m_evaluationFrequencyHasBeenSet = false; + + Aws::String m_filterPattern; + bool m_filterPatternHasBeenSet = false; + + AnomalyDetectorStatus m_anomalyDetectorStatus; + bool m_anomalyDetectorStatusHasBeenSet = false; + + Aws::String m_kmsKeyId; + bool m_kmsKeyIdHasBeenSet = false; + + long long m_creationTimeStamp; + bool m_creationTimeStampHasBeenSet = false; + + long long m_lastModifiedTimeStamp; + bool m_lastModifiedTimeStampHasBeenSet = false; + + long long m_anomalyVisibilityTime; + bool m_anomalyVisibilityTimeHasBeenSet = false; + }; + +} // namespace Model +} // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/AnomalyDetectorStatus.h b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/AnomalyDetectorStatus.h new file mode 100644 index 00000000000..3c0c60239d9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/AnomalyDetectorStatus.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 CloudWatchLogs +{ +namespace Model +{ + enum class AnomalyDetectorStatus + { + NOT_SET, + INITIALIZING, + TRAINING, + ANALYZING, + FAILED, + DELETED, + PAUSED + }; + +namespace AnomalyDetectorStatusMapper +{ +AWS_CLOUDWATCHLOGS_API AnomalyDetectorStatus GetAnomalyDetectorStatusForName(const Aws::String& name); + +AWS_CLOUDWATCHLOGS_API Aws::String GetNameForAnomalyDetectorStatus(AnomalyDetectorStatus value); +} // namespace AnomalyDetectorStatusMapper +} // namespace Model +} // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/CreateLogAnomalyDetectorRequest.h b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/CreateLogAnomalyDetectorRequest.h new file mode 100644 index 00000000000..ac1078918ea --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/CreateLogAnomalyDetectorRequest.h @@ -0,0 +1,534 @@ +/** + * 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 CloudWatchLogs +{ +namespace Model +{ + + /** + */ + class CreateLogAnomalyDetectorRequest : public CloudWatchLogsRequest + { + public: + AWS_CLOUDWATCHLOGS_API CreateLogAnomalyDetectorRequest(); + + // 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 "CreateLogAnomalyDetector"; } + + AWS_CLOUDWATCHLOGS_API Aws::String SerializePayload() const override; + + AWS_CLOUDWATCHLOGS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + *

          An array containing the ARNs of the log groups that this anomaly detector + * will watch. You must specify at least one ARN.

          + */ + inline const Aws::Vector& GetLogGroupArnList() const{ return m_logGroupArnList; } + + /** + *

          An array containing the ARNs of the log groups that this anomaly detector + * will watch. You must specify at least one ARN.

          + */ + inline bool LogGroupArnListHasBeenSet() const { return m_logGroupArnListHasBeenSet; } + + /** + *

          An array containing the ARNs of the log groups that this anomaly detector + * will watch. You must specify at least one ARN.

          + */ + inline void SetLogGroupArnList(const Aws::Vector& value) { m_logGroupArnListHasBeenSet = true; m_logGroupArnList = value; } + + /** + *

          An array containing the ARNs of the log groups that this anomaly detector + * will watch. You must specify at least one ARN.

          + */ + inline void SetLogGroupArnList(Aws::Vector&& value) { m_logGroupArnListHasBeenSet = true; m_logGroupArnList = std::move(value); } + + /** + *

          An array containing the ARNs of the log groups that this anomaly detector + * will watch. You must specify at least one ARN.

          + */ + inline CreateLogAnomalyDetectorRequest& WithLogGroupArnList(const Aws::Vector& value) { SetLogGroupArnList(value); return *this;} + + /** + *

          An array containing the ARNs of the log groups that this anomaly detector + * will watch. You must specify at least one ARN.

          + */ + inline CreateLogAnomalyDetectorRequest& WithLogGroupArnList(Aws::Vector&& value) { SetLogGroupArnList(std::move(value)); return *this;} + + /** + *

          An array containing the ARNs of the log groups that this anomaly detector + * will watch. You must specify at least one ARN.

          + */ + inline CreateLogAnomalyDetectorRequest& AddLogGroupArnList(const Aws::String& value) { m_logGroupArnListHasBeenSet = true; m_logGroupArnList.push_back(value); return *this; } + + /** + *

          An array containing the ARNs of the log groups that this anomaly detector + * will watch. You must specify at least one ARN.

          + */ + inline CreateLogAnomalyDetectorRequest& AddLogGroupArnList(Aws::String&& value) { m_logGroupArnListHasBeenSet = true; m_logGroupArnList.push_back(std::move(value)); return *this; } + + /** + *

          An array containing the ARNs of the log groups that this anomaly detector + * will watch. You must specify at least one ARN.

          + */ + inline CreateLogAnomalyDetectorRequest& AddLogGroupArnList(const char* value) { m_logGroupArnListHasBeenSet = true; m_logGroupArnList.push_back(value); return *this; } + + + /** + *

          A name for this anomaly detector.

          + */ + inline const Aws::String& GetDetectorName() const{ return m_detectorName; } + + /** + *

          A name for this anomaly detector.

          + */ + inline bool DetectorNameHasBeenSet() const { return m_detectorNameHasBeenSet; } + + /** + *

          A name for this anomaly detector.

          + */ + inline void SetDetectorName(const Aws::String& value) { m_detectorNameHasBeenSet = true; m_detectorName = value; } + + /** + *

          A name for this anomaly detector.

          + */ + inline void SetDetectorName(Aws::String&& value) { m_detectorNameHasBeenSet = true; m_detectorName = std::move(value); } + + /** + *

          A name for this anomaly detector.

          + */ + inline void SetDetectorName(const char* value) { m_detectorNameHasBeenSet = true; m_detectorName.assign(value); } + + /** + *

          A name for this anomaly detector.

          + */ + inline CreateLogAnomalyDetectorRequest& WithDetectorName(const Aws::String& value) { SetDetectorName(value); return *this;} + + /** + *

          A name for this anomaly detector.

          + */ + inline CreateLogAnomalyDetectorRequest& WithDetectorName(Aws::String&& value) { SetDetectorName(std::move(value)); return *this;} + + /** + *

          A name for this anomaly detector.

          + */ + inline CreateLogAnomalyDetectorRequest& WithDetectorName(const char* value) { SetDetectorName(value); return *this;} + + + /** + *

          Specifies how often the anomaly detector is to run and look for anomalies. + * Set this value according to the frequency that the log group receives new logs. + * For example, if the log group receives new log events every 10 minutes, then 15 + * minutes might be a good setting for evaluationFrequency .

          + */ + inline const EvaluationFrequency& GetEvaluationFrequency() const{ return m_evaluationFrequency; } + + /** + *

          Specifies how often the anomaly detector is to run and look for anomalies. + * Set this value according to the frequency that the log group receives new logs. + * For example, if the log group receives new log events every 10 minutes, then 15 + * minutes might be a good setting for evaluationFrequency .

          + */ + inline bool EvaluationFrequencyHasBeenSet() const { return m_evaluationFrequencyHasBeenSet; } + + /** + *

          Specifies how often the anomaly detector is to run and look for anomalies. + * Set this value according to the frequency that the log group receives new logs. + * For example, if the log group receives new log events every 10 minutes, then 15 + * minutes might be a good setting for evaluationFrequency .

          + */ + inline void SetEvaluationFrequency(const EvaluationFrequency& value) { m_evaluationFrequencyHasBeenSet = true; m_evaluationFrequency = value; } + + /** + *

          Specifies how often the anomaly detector is to run and look for anomalies. + * Set this value according to the frequency that the log group receives new logs. + * For example, if the log group receives new log events every 10 minutes, then 15 + * minutes might be a good setting for evaluationFrequency .

          + */ + inline void SetEvaluationFrequency(EvaluationFrequency&& value) { m_evaluationFrequencyHasBeenSet = true; m_evaluationFrequency = std::move(value); } + + /** + *

          Specifies how often the anomaly detector is to run and look for anomalies. + * Set this value according to the frequency that the log group receives new logs. + * For example, if the log group receives new log events every 10 minutes, then 15 + * minutes might be a good setting for evaluationFrequency .

          + */ + inline CreateLogAnomalyDetectorRequest& WithEvaluationFrequency(const EvaluationFrequency& value) { SetEvaluationFrequency(value); return *this;} + + /** + *

          Specifies how often the anomaly detector is to run and look for anomalies. + * Set this value according to the frequency that the log group receives new logs. + * For example, if the log group receives new log events every 10 minutes, then 15 + * minutes might be a good setting for evaluationFrequency .

          + */ + inline CreateLogAnomalyDetectorRequest& WithEvaluationFrequency(EvaluationFrequency&& value) { SetEvaluationFrequency(std::move(value)); return *this;} + + + /** + *

          You can use this parameter to limit the anomaly detection model to examine + * only log events that match the pattern you specify here. For more information, + * see Filter + * and Pattern Syntax.

          + */ + inline const Aws::String& GetFilterPattern() const{ return m_filterPattern; } + + /** + *

          You can use this parameter to limit the anomaly detection model to examine + * only log events that match the pattern you specify here. For more information, + * see Filter + * and Pattern Syntax.

          + */ + inline bool FilterPatternHasBeenSet() const { return m_filterPatternHasBeenSet; } + + /** + *

          You can use this parameter to limit the anomaly detection model to examine + * only log events that match the pattern you specify here. For more information, + * see Filter + * and Pattern Syntax.

          + */ + inline void SetFilterPattern(const Aws::String& value) { m_filterPatternHasBeenSet = true; m_filterPattern = value; } + + /** + *

          You can use this parameter to limit the anomaly detection model to examine + * only log events that match the pattern you specify here. For more information, + * see Filter + * and Pattern Syntax.

          + */ + inline void SetFilterPattern(Aws::String&& value) { m_filterPatternHasBeenSet = true; m_filterPattern = std::move(value); } + + /** + *

          You can use this parameter to limit the anomaly detection model to examine + * only log events that match the pattern you specify here. For more information, + * see Filter + * and Pattern Syntax.

          + */ + inline void SetFilterPattern(const char* value) { m_filterPatternHasBeenSet = true; m_filterPattern.assign(value); } + + /** + *

          You can use this parameter to limit the anomaly detection model to examine + * only log events that match the pattern you specify here. For more information, + * see Filter + * and Pattern Syntax.

          + */ + inline CreateLogAnomalyDetectorRequest& WithFilterPattern(const Aws::String& value) { SetFilterPattern(value); return *this;} + + /** + *

          You can use this parameter to limit the anomaly detection model to examine + * only log events that match the pattern you specify here. For more information, + * see Filter + * and Pattern Syntax.

          + */ + inline CreateLogAnomalyDetectorRequest& WithFilterPattern(Aws::String&& value) { SetFilterPattern(std::move(value)); return *this;} + + /** + *

          You can use this parameter to limit the anomaly detection model to examine + * only log events that match the pattern you specify here. For more information, + * see Filter + * and Pattern Syntax.

          + */ + inline CreateLogAnomalyDetectorRequest& WithFilterPattern(const char* value) { SetFilterPattern(value); return *this;} + + + /** + *

          Optionally assigns a KMS key to secure this anomaly detector and its + * findings. If a key is assigned, the anomalies found and the model used by this + * detector are encrypted at rest with the key. If a key is assigned to an anomaly + * detector, a user must have permissions for both this key and for the anomaly + * detector to retrieve information about the anomalies that it finds.

          For + * more information about using a KMS key and to see the required IAM policy, see + * Use + * a KMS key with an anomaly detector.

          + */ + inline const Aws::String& GetKmsKeyId() const{ return m_kmsKeyId; } + + /** + *

          Optionally assigns a KMS key to secure this anomaly detector and its + * findings. If a key is assigned, the anomalies found and the model used by this + * detector are encrypted at rest with the key. If a key is assigned to an anomaly + * detector, a user must have permissions for both this key and for the anomaly + * detector to retrieve information about the anomalies that it finds.

          For + * more information about using a KMS key and to see the required IAM policy, see + * Use + * a KMS key with an anomaly detector.

          + */ + inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; } + + /** + *

          Optionally assigns a KMS key to secure this anomaly detector and its + * findings. If a key is assigned, the anomalies found and the model used by this + * detector are encrypted at rest with the key. If a key is assigned to an anomaly + * detector, a user must have permissions for both this key and for the anomaly + * detector to retrieve information about the anomalies that it finds.

          For + * more information about using a KMS key and to see the required IAM policy, see + * Use + * a KMS key with an anomaly detector.

          + */ + inline void SetKmsKeyId(const Aws::String& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = value; } + + /** + *

          Optionally assigns a KMS key to secure this anomaly detector and its + * findings. If a key is assigned, the anomalies found and the model used by this + * detector are encrypted at rest with the key. If a key is assigned to an anomaly + * detector, a user must have permissions for both this key and for the anomaly + * detector to retrieve information about the anomalies that it finds.

          For + * more information about using a KMS key and to see the required IAM policy, see + * Use + * a KMS key with an anomaly detector.

          + */ + inline void SetKmsKeyId(Aws::String&& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = std::move(value); } + + /** + *

          Optionally assigns a KMS key to secure this anomaly detector and its + * findings. If a key is assigned, the anomalies found and the model used by this + * detector are encrypted at rest with the key. If a key is assigned to an anomaly + * detector, a user must have permissions for both this key and for the anomaly + * detector to retrieve information about the anomalies that it finds.

          For + * more information about using a KMS key and to see the required IAM policy, see + * Use + * a KMS key with an anomaly detector.

          + */ + inline void SetKmsKeyId(const char* value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId.assign(value); } + + /** + *

          Optionally assigns a KMS key to secure this anomaly detector and its + * findings. If a key is assigned, the anomalies found and the model used by this + * detector are encrypted at rest with the key. If a key is assigned to an anomaly + * detector, a user must have permissions for both this key and for the anomaly + * detector to retrieve information about the anomalies that it finds.

          For + * more information about using a KMS key and to see the required IAM policy, see + * Use + * a KMS key with an anomaly detector.

          + */ + inline CreateLogAnomalyDetectorRequest& WithKmsKeyId(const Aws::String& value) { SetKmsKeyId(value); return *this;} + + /** + *

          Optionally assigns a KMS key to secure this anomaly detector and its + * findings. If a key is assigned, the anomalies found and the model used by this + * detector are encrypted at rest with the key. If a key is assigned to an anomaly + * detector, a user must have permissions for both this key and for the anomaly + * detector to retrieve information about the anomalies that it finds.

          For + * more information about using a KMS key and to see the required IAM policy, see + * Use + * a KMS key with an anomaly detector.

          + */ + inline CreateLogAnomalyDetectorRequest& WithKmsKeyId(Aws::String&& value) { SetKmsKeyId(std::move(value)); return *this;} + + /** + *

          Optionally assigns a KMS key to secure this anomaly detector and its + * findings. If a key is assigned, the anomalies found and the model used by this + * detector are encrypted at rest with the key. If a key is assigned to an anomaly + * detector, a user must have permissions for both this key and for the anomaly + * detector to retrieve information about the anomalies that it finds.

          For + * more information about using a KMS key and to see the required IAM policy, see + * Use + * a KMS key with an anomaly detector.

          + */ + inline CreateLogAnomalyDetectorRequest& WithKmsKeyId(const char* value) { SetKmsKeyId(value); return *this;} + + + /** + *

          The number of days to have visibility on an anomaly. After this time period + * has elapsed for an anomaly, it will be automatically baselined and the anomaly + * detector will treat new occurrences of a similar anomaly as normal. Therefore, + * if you do not correct the cause of an anomaly during the time period specified + * in anomalyVisibilityTime, it will be considered normal going + * forward and will not be detected as an anomaly.

          + */ + inline long long GetAnomalyVisibilityTime() const{ return m_anomalyVisibilityTime; } + + /** + *

          The number of days to have visibility on an anomaly. After this time period + * has elapsed for an anomaly, it will be automatically baselined and the anomaly + * detector will treat new occurrences of a similar anomaly as normal. Therefore, + * if you do not correct the cause of an anomaly during the time period specified + * in anomalyVisibilityTime, it will be considered normal going + * forward and will not be detected as an anomaly.

          + */ + inline bool AnomalyVisibilityTimeHasBeenSet() const { return m_anomalyVisibilityTimeHasBeenSet; } + + /** + *

          The number of days to have visibility on an anomaly. After this time period + * has elapsed for an anomaly, it will be automatically baselined and the anomaly + * detector will treat new occurrences of a similar anomaly as normal. Therefore, + * if you do not correct the cause of an anomaly during the time period specified + * in anomalyVisibilityTime, it will be considered normal going + * forward and will not be detected as an anomaly.

          + */ + inline void SetAnomalyVisibilityTime(long long value) { m_anomalyVisibilityTimeHasBeenSet = true; m_anomalyVisibilityTime = value; } + + /** + *

          The number of days to have visibility on an anomaly. After this time period + * has elapsed for an anomaly, it will be automatically baselined and the anomaly + * detector will treat new occurrences of a similar anomaly as normal. Therefore, + * if you do not correct the cause of an anomaly during the time period specified + * in anomalyVisibilityTime, it will be considered normal going + * forward and will not be detected as an anomaly.

          + */ + inline CreateLogAnomalyDetectorRequest& WithAnomalyVisibilityTime(long long value) { SetAnomalyVisibilityTime(value); return *this;} + + + /** + *

          An optional list of key-value pairs to associate with the resource.

          + *

          For more information about tagging, see Tagging + * Amazon Web Services resources

          + */ + inline const Aws::Map& GetTags() const{ return m_tags; } + + /** + *

          An optional list of key-value pairs to associate with the resource.

          + *

          For more information about tagging, see Tagging + * Amazon Web Services resources

          + */ + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + + /** + *

          An optional list of key-value pairs to associate with the resource.

          + *

          For more information about tagging, see Tagging + * Amazon Web Services resources

          + */ + inline void SetTags(const Aws::Map& value) { m_tagsHasBeenSet = true; m_tags = value; } + + /** + *

          An optional list of key-value pairs to associate with the resource.

          + *

          For more information about tagging, see Tagging + * Amazon Web Services resources

          + */ + inline void SetTags(Aws::Map&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } + + /** + *

          An optional list of key-value pairs to associate with the resource.

          + *

          For more information about tagging, see Tagging + * Amazon Web Services resources

          + */ + inline CreateLogAnomalyDetectorRequest& WithTags(const Aws::Map& value) { SetTags(value); return *this;} + + /** + *

          An optional list of key-value pairs to associate with the resource.

          + *

          For more information about tagging, see Tagging + * Amazon Web Services resources

          + */ + inline CreateLogAnomalyDetectorRequest& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} + + /** + *

          An optional list of key-value pairs to associate with the resource.

          + *

          For more information about tagging, see Tagging + * Amazon Web Services resources

          + */ + inline CreateLogAnomalyDetectorRequest& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } + + /** + *

          An optional list of key-value pairs to associate with the resource.

          + *

          For more information about tagging, see Tagging + * Amazon Web Services resources

          + */ + inline CreateLogAnomalyDetectorRequest& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } + + /** + *

          An optional list of key-value pairs to associate with the resource.

          + *

          For more information about tagging, see Tagging + * Amazon Web Services resources

          + */ + inline CreateLogAnomalyDetectorRequest& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } + + /** + *

          An optional list of key-value pairs to associate with the resource.

          + *

          For more information about tagging, see Tagging + * Amazon Web Services resources

          + */ + inline CreateLogAnomalyDetectorRequest& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } + + /** + *

          An optional list of key-value pairs to associate with the resource.

          + *

          For more information about tagging, see Tagging + * Amazon Web Services resources

          + */ + inline CreateLogAnomalyDetectorRequest& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } + + /** + *

          An optional list of key-value pairs to associate with the resource.

          + *

          For more information about tagging, see Tagging + * Amazon Web Services resources

          + */ + inline CreateLogAnomalyDetectorRequest& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } + + /** + *

          An optional list of key-value pairs to associate with the resource.

          + *

          For more information about tagging, see Tagging + * Amazon Web Services resources

          + */ + inline CreateLogAnomalyDetectorRequest& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } + + private: + + Aws::Vector m_logGroupArnList; + bool m_logGroupArnListHasBeenSet = false; + + Aws::String m_detectorName; + bool m_detectorNameHasBeenSet = false; + + EvaluationFrequency m_evaluationFrequency; + bool m_evaluationFrequencyHasBeenSet = false; + + Aws::String m_filterPattern; + bool m_filterPatternHasBeenSet = false; + + Aws::String m_kmsKeyId; + bool m_kmsKeyIdHasBeenSet = false; + + long long m_anomalyVisibilityTime; + bool m_anomalyVisibilityTimeHasBeenSet = false; + + Aws::Map m_tags; + bool m_tagsHasBeenSet = false; + }; + +} // namespace Model +} // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/CreateLogAnomalyDetectorResult.h b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/CreateLogAnomalyDetectorResult.h new file mode 100644 index 00000000000..92cd01e7a12 --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/CreateLogAnomalyDetectorResult.h @@ -0,0 +1,101 @@ +/** + * 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 CloudWatchLogs +{ +namespace Model +{ + class CreateLogAnomalyDetectorResult + { + public: + AWS_CLOUDWATCHLOGS_API CreateLogAnomalyDetectorResult(); + AWS_CLOUDWATCHLOGS_API CreateLogAnomalyDetectorResult(const Aws::AmazonWebServiceResult& result); + AWS_CLOUDWATCHLOGS_API CreateLogAnomalyDetectorResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

          The ARN of the log anomaly detector that you just created.

          + */ + inline const Aws::String& GetAnomalyDetectorArn() const{ return m_anomalyDetectorArn; } + + /** + *

          The ARN of the log anomaly detector that you just created.

          + */ + inline void SetAnomalyDetectorArn(const Aws::String& value) { m_anomalyDetectorArn = value; } + + /** + *

          The ARN of the log anomaly detector that you just created.

          + */ + inline void SetAnomalyDetectorArn(Aws::String&& value) { m_anomalyDetectorArn = std::move(value); } + + /** + *

          The ARN of the log anomaly detector that you just created.

          + */ + inline void SetAnomalyDetectorArn(const char* value) { m_anomalyDetectorArn.assign(value); } + + /** + *

          The ARN of the log anomaly detector that you just created.

          + */ + inline CreateLogAnomalyDetectorResult& WithAnomalyDetectorArn(const Aws::String& value) { SetAnomalyDetectorArn(value); return *this;} + + /** + *

          The ARN of the log anomaly detector that you just created.

          + */ + inline CreateLogAnomalyDetectorResult& WithAnomalyDetectorArn(Aws::String&& value) { SetAnomalyDetectorArn(std::move(value)); return *this;} + + /** + *

          The ARN of the log anomaly detector that you just created.

          + */ + inline CreateLogAnomalyDetectorResult& WithAnomalyDetectorArn(const char* value) { SetAnomalyDetectorArn(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 CreateLogAnomalyDetectorResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline CreateLogAnomalyDetectorResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline CreateLogAnomalyDetectorResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::String m_anomalyDetectorArn; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/CreateLogGroupRequest.h b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/CreateLogGroupRequest.h index e457f2f58ee..dcaf6854bff 100644 --- a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/CreateLogGroupRequest.h +++ b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/CreateLogGroupRequest.h @@ -8,6 +8,7 @@ #include #include #include +#include #include namespace Aws @@ -36,42 +37,42 @@ namespace Model /** - *

          The name of the log group.

          + *

          A name for the log group.

          */ inline const Aws::String& GetLogGroupName() const{ return m_logGroupName; } /** - *

          The name of the log group.

          + *

          A name for the log group.

          */ inline bool LogGroupNameHasBeenSet() const { return m_logGroupNameHasBeenSet; } /** - *

          The name of the log group.

          + *

          A name for the log group.

          */ inline void SetLogGroupName(const Aws::String& value) { m_logGroupNameHasBeenSet = true; m_logGroupName = value; } /** - *

          The name of the log group.

          + *

          A name for the log group.

          */ inline void SetLogGroupName(Aws::String&& value) { m_logGroupNameHasBeenSet = true; m_logGroupName = std::move(value); } /** - *

          The name of the log group.

          + *

          A name for the log group.

          */ inline void SetLogGroupName(const char* value) { m_logGroupNameHasBeenSet = true; m_logGroupName.assign(value); } /** - *

          The name of the log group.

          + *

          A name for the log group.

          */ inline CreateLogGroupRequest& WithLogGroupName(const Aws::String& value) { SetLogGroupName(value); return *this;} /** - *

          The name of the log group.

          + *

          A name for the log group.

          */ inline CreateLogGroupRequest& WithLogGroupName(Aws::String&& value) { SetLogGroupName(std::move(value)); return *this;} /** - *

          The name of the log group.

          + *

          A name for the log group.

          */ inline CreateLogGroupRequest& WithLogGroupName(const char* value) { SetLogGroupName(value); return *this;} @@ -336,6 +337,85 @@ namespace Model */ inline CreateLogGroupRequest& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } + + /** + *

          Use this parameter to specify the log group class for this log group. There + * are two classes:

          • The Standard log class supports + * all CloudWatch Logs features.

          • The Infrequent + * Access log class supports a subset of CloudWatch Logs features and incurs + * lower costs.

          If you omit this parameter, the default of + * STANDARD is used.

          For details about the features supported + * by each class, see Log + * classes

          + */ + inline const LogGroupClass& GetLogGroupClass() const{ return m_logGroupClass; } + + /** + *

          Use this parameter to specify the log group class for this log group. There + * are two classes:

          • The Standard log class supports + * all CloudWatch Logs features.

          • The Infrequent + * Access log class supports a subset of CloudWatch Logs features and incurs + * lower costs.

          If you omit this parameter, the default of + * STANDARD is used.

          For details about the features supported + * by each class, see Log + * classes

          + */ + inline bool LogGroupClassHasBeenSet() const { return m_logGroupClassHasBeenSet; } + + /** + *

          Use this parameter to specify the log group class for this log group. There + * are two classes:

          • The Standard log class supports + * all CloudWatch Logs features.

          • The Infrequent + * Access log class supports a subset of CloudWatch Logs features and incurs + * lower costs.

          If you omit this parameter, the default of + * STANDARD is used.

          For details about the features supported + * by each class, see Log + * classes

          + */ + inline void SetLogGroupClass(const LogGroupClass& value) { m_logGroupClassHasBeenSet = true; m_logGroupClass = value; } + + /** + *

          Use this parameter to specify the log group class for this log group. There + * are two classes:

          • The Standard log class supports + * all CloudWatch Logs features.

          • The Infrequent + * Access log class supports a subset of CloudWatch Logs features and incurs + * lower costs.

          If you omit this parameter, the default of + * STANDARD is used.

          For details about the features supported + * by each class, see Log + * classes

          + */ + inline void SetLogGroupClass(LogGroupClass&& value) { m_logGroupClassHasBeenSet = true; m_logGroupClass = std::move(value); } + + /** + *

          Use this parameter to specify the log group class for this log group. There + * are two classes:

          • The Standard log class supports + * all CloudWatch Logs features.

          • The Infrequent + * Access log class supports a subset of CloudWatch Logs features and incurs + * lower costs.

          If you omit this parameter, the default of + * STANDARD is used.

          For details about the features supported + * by each class, see Log + * classes

          + */ + inline CreateLogGroupRequest& WithLogGroupClass(const LogGroupClass& value) { SetLogGroupClass(value); return *this;} + + /** + *

          Use this parameter to specify the log group class for this log group. There + * are two classes:

          • The Standard log class supports + * all CloudWatch Logs features.

          • The Infrequent + * Access log class supports a subset of CloudWatch Logs features and incurs + * lower costs.

          If you omit this parameter, the default of + * STANDARD is used.

          For details about the features supported + * by each class, see Log + * classes

          + */ + inline CreateLogGroupRequest& WithLogGroupClass(LogGroupClass&& value) { SetLogGroupClass(std::move(value)); return *this;} + private: Aws::String m_logGroupName; @@ -346,6 +426,9 @@ namespace Model Aws::Map m_tags; bool m_tagsHasBeenSet = false; + + LogGroupClass m_logGroupClass; + bool m_logGroupClassHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/DeleteLogAnomalyDetectorRequest.h b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/DeleteLogAnomalyDetectorRequest.h new file mode 100644 index 00000000000..6adf0aaad98 --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/DeleteLogAnomalyDetectorRequest.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 + +namespace Aws +{ +namespace CloudWatchLogs +{ +namespace Model +{ + + /** + */ + class DeleteLogAnomalyDetectorRequest : public CloudWatchLogsRequest + { + public: + AWS_CLOUDWATCHLOGS_API DeleteLogAnomalyDetectorRequest(); + + // 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 "DeleteLogAnomalyDetector"; } + + AWS_CLOUDWATCHLOGS_API Aws::String SerializePayload() const override; + + AWS_CLOUDWATCHLOGS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + *

          The ARN of the anomaly detector to delete. You can find the ARNs of log + * anomaly detectors in your account by using the ListLogAnomalyDetectors + * operation.

          + */ + inline const Aws::String& GetAnomalyDetectorArn() const{ return m_anomalyDetectorArn; } + + /** + *

          The ARN of the anomaly detector to delete. You can find the ARNs of log + * anomaly detectors in your account by using the ListLogAnomalyDetectors + * operation.

          + */ + inline bool AnomalyDetectorArnHasBeenSet() const { return m_anomalyDetectorArnHasBeenSet; } + + /** + *

          The ARN of the anomaly detector to delete. You can find the ARNs of log + * anomaly detectors in your account by using the ListLogAnomalyDetectors + * operation.

          + */ + inline void SetAnomalyDetectorArn(const Aws::String& value) { m_anomalyDetectorArnHasBeenSet = true; m_anomalyDetectorArn = value; } + + /** + *

          The ARN of the anomaly detector to delete. You can find the ARNs of log + * anomaly detectors in your account by using the ListLogAnomalyDetectors + * operation.

          + */ + inline void SetAnomalyDetectorArn(Aws::String&& value) { m_anomalyDetectorArnHasBeenSet = true; m_anomalyDetectorArn = std::move(value); } + + /** + *

          The ARN of the anomaly detector to delete. You can find the ARNs of log + * anomaly detectors in your account by using the ListLogAnomalyDetectors + * operation.

          + */ + inline void SetAnomalyDetectorArn(const char* value) { m_anomalyDetectorArnHasBeenSet = true; m_anomalyDetectorArn.assign(value); } + + /** + *

          The ARN of the anomaly detector to delete. You can find the ARNs of log + * anomaly detectors in your account by using the ListLogAnomalyDetectors + * operation.

          + */ + inline DeleteLogAnomalyDetectorRequest& WithAnomalyDetectorArn(const Aws::String& value) { SetAnomalyDetectorArn(value); return *this;} + + /** + *

          The ARN of the anomaly detector to delete. You can find the ARNs of log + * anomaly detectors in your account by using the ListLogAnomalyDetectors + * operation.

          + */ + inline DeleteLogAnomalyDetectorRequest& WithAnomalyDetectorArn(Aws::String&& value) { SetAnomalyDetectorArn(std::move(value)); return *this;} + + /** + *

          The ARN of the anomaly detector to delete. You can find the ARNs of log + * anomaly detectors in your account by using the ListLogAnomalyDetectors + * operation.

          + */ + inline DeleteLogAnomalyDetectorRequest& WithAnomalyDetectorArn(const char* value) { SetAnomalyDetectorArn(value); return *this;} + + private: + + Aws::String m_anomalyDetectorArn; + bool m_anomalyDetectorArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/DeliveryDestination.h b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/DeliveryDestination.h index af072fcec21..a2a4e9af89b 100644 --- a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/DeliveryDestination.h +++ b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/DeliveryDestination.h @@ -30,7 +30,7 @@ namespace Model /** *

          This structure contains information about one delivery destination in * your account. A delivery destination is an Amazon Web Services resource that - * represents an shared id="AWS"/> service that logs can be sent to. CloudWatch + * represents an Amazon Web Services service that logs can be sent to. CloudWatch * Logs, Amazon S3, are supported as Kinesis Data Firehose delivery * destinations.

          To configure logs delivery between a supported Amazon Web * Services service and a destination, you must do the following:

          • diff --git a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/DeliverySource.h b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/DeliverySource.h index 3e6f69aaaaa..444a526b34d 100644 --- a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/DeliverySource.h +++ b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/DeliverySource.h @@ -32,8 +32,7 @@ namespace Model * Amazon S3, or Kinesis Data Firehose.

            Only some Amazon Web Services * services support being configured as a delivery source. These services are * listed as Supported [V2 Permissions] in the table at Enabling + * href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html">Enabling * logging from Amazon Web Services services.

            To configure logs * delivery between a supported Amazon Web Services service and a destination, you * must do the following:

            • Create a delivery source, which is a diff --git a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/DescribeLogGroupsRequest.h b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/DescribeLogGroupsRequest.h index e57d31aaa47..911ea30f077 100644 --- a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/DescribeLogGroupsRequest.h +++ b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/DescribeLogGroupsRequest.h @@ -8,6 +8,7 @@ #include #include #include +#include #include namespace Aws @@ -383,6 +384,73 @@ namespace Model */ inline DescribeLogGroupsRequest& WithIncludeLinkedAccounts(bool value) { SetIncludeLinkedAccounts(value); return *this;} + + /** + *

              Specifies the log group class for this log group. There are two classes:

              + *
              • The Standard log class supports all CloudWatch Logs + * features.

              • The Infrequent Access log class + * supports a subset of CloudWatch Logs features and incurs lower costs.

              • + *

              For details about the features supported by each class, see Log + * classes

              + */ + inline const LogGroupClass& GetLogGroupClass() const{ return m_logGroupClass; } + + /** + *

              Specifies the log group class for this log group. There are two classes:

              + *
              • The Standard log class supports all CloudWatch Logs + * features.

              • The Infrequent Access log class + * supports a subset of CloudWatch Logs features and incurs lower costs.

              • + *

              For details about the features supported by each class, see Log + * classes

              + */ + inline bool LogGroupClassHasBeenSet() const { return m_logGroupClassHasBeenSet; } + + /** + *

              Specifies the log group class for this log group. There are two classes:

              + *
              • The Standard log class supports all CloudWatch Logs + * features.

              • The Infrequent Access log class + * supports a subset of CloudWatch Logs features and incurs lower costs.

              • + *

              For details about the features supported by each class, see Log + * classes

              + */ + inline void SetLogGroupClass(const LogGroupClass& value) { m_logGroupClassHasBeenSet = true; m_logGroupClass = value; } + + /** + *

              Specifies the log group class for this log group. There are two classes:

              + *
              • The Standard log class supports all CloudWatch Logs + * features.

              • The Infrequent Access log class + * supports a subset of CloudWatch Logs features and incurs lower costs.

              • + *

              For details about the features supported by each class, see Log + * classes

              + */ + inline void SetLogGroupClass(LogGroupClass&& value) { m_logGroupClassHasBeenSet = true; m_logGroupClass = std::move(value); } + + /** + *

              Specifies the log group class for this log group. There are two classes:

              + *
              • The Standard log class supports all CloudWatch Logs + * features.

              • The Infrequent Access log class + * supports a subset of CloudWatch Logs features and incurs lower costs.

              • + *

              For details about the features supported by each class, see Log + * classes

              + */ + inline DescribeLogGroupsRequest& WithLogGroupClass(const LogGroupClass& value) { SetLogGroupClass(value); return *this;} + + /** + *

              Specifies the log group class for this log group. There are two classes:

              + *
              • The Standard log class supports all CloudWatch Logs + * features.

              • The Infrequent Access log class + * supports a subset of CloudWatch Logs features and incurs lower costs.

              • + *

              For details about the features supported by each class, see Log + * classes

              + */ + inline DescribeLogGroupsRequest& WithLogGroupClass(LogGroupClass&& value) { SetLogGroupClass(std::move(value)); return *this;} + private: Aws::Vector m_accountIdentifiers; @@ -402,6 +470,9 @@ namespace Model bool m_includeLinkedAccounts; bool m_includeLinkedAccountsHasBeenSet = false; + + LogGroupClass m_logGroupClass; + bool m_logGroupClassHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/EvaluationFrequency.h b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/EvaluationFrequency.h new file mode 100644 index 00000000000..3b19bce9ac8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/EvaluationFrequency.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 CloudWatchLogs +{ +namespace Model +{ + enum class EvaluationFrequency + { + NOT_SET, + ONE_MIN, + FIVE_MIN, + TEN_MIN, + FIFTEEN_MIN, + THIRTY_MIN, + ONE_HOUR + }; + +namespace EvaluationFrequencyMapper +{ +AWS_CLOUDWATCHLOGS_API EvaluationFrequency GetEvaluationFrequencyForName(const Aws::String& name); + +AWS_CLOUDWATCHLOGS_API Aws::String GetNameForEvaluationFrequency(EvaluationFrequency value); +} // namespace EvaluationFrequencyMapper +} // namespace Model +} // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/GetLogAnomalyDetectorRequest.h b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/GetLogAnomalyDetectorRequest.h new file mode 100644 index 00000000000..33c925ad040 --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/GetLogAnomalyDetectorRequest.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 + +namespace Aws +{ +namespace CloudWatchLogs +{ +namespace Model +{ + + /** + */ + class GetLogAnomalyDetectorRequest : public CloudWatchLogsRequest + { + public: + AWS_CLOUDWATCHLOGS_API GetLogAnomalyDetectorRequest(); + + // 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 "GetLogAnomalyDetector"; } + + AWS_CLOUDWATCHLOGS_API Aws::String SerializePayload() const override; + + AWS_CLOUDWATCHLOGS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + *

              The ARN of the anomaly detector to retrieve information about. You can find + * the ARNs of log anomaly detectors in your account by using the ListLogAnomalyDetectors + * operation.

              + */ + inline const Aws::String& GetAnomalyDetectorArn() const{ return m_anomalyDetectorArn; } + + /** + *

              The ARN of the anomaly detector to retrieve information about. You can find + * the ARNs of log anomaly detectors in your account by using the ListLogAnomalyDetectors + * operation.

              + */ + inline bool AnomalyDetectorArnHasBeenSet() const { return m_anomalyDetectorArnHasBeenSet; } + + /** + *

              The ARN of the anomaly detector to retrieve information about. You can find + * the ARNs of log anomaly detectors in your account by using the ListLogAnomalyDetectors + * operation.

              + */ + inline void SetAnomalyDetectorArn(const Aws::String& value) { m_anomalyDetectorArnHasBeenSet = true; m_anomalyDetectorArn = value; } + + /** + *

              The ARN of the anomaly detector to retrieve information about. You can find + * the ARNs of log anomaly detectors in your account by using the ListLogAnomalyDetectors + * operation.

              + */ + inline void SetAnomalyDetectorArn(Aws::String&& value) { m_anomalyDetectorArnHasBeenSet = true; m_anomalyDetectorArn = std::move(value); } + + /** + *

              The ARN of the anomaly detector to retrieve information about. You can find + * the ARNs of log anomaly detectors in your account by using the ListLogAnomalyDetectors + * operation.

              + */ + inline void SetAnomalyDetectorArn(const char* value) { m_anomalyDetectorArnHasBeenSet = true; m_anomalyDetectorArn.assign(value); } + + /** + *

              The ARN of the anomaly detector to retrieve information about. You can find + * the ARNs of log anomaly detectors in your account by using the ListLogAnomalyDetectors + * operation.

              + */ + inline GetLogAnomalyDetectorRequest& WithAnomalyDetectorArn(const Aws::String& value) { SetAnomalyDetectorArn(value); return *this;} + + /** + *

              The ARN of the anomaly detector to retrieve information about. You can find + * the ARNs of log anomaly detectors in your account by using the ListLogAnomalyDetectors + * operation.

              + */ + inline GetLogAnomalyDetectorRequest& WithAnomalyDetectorArn(Aws::String&& value) { SetAnomalyDetectorArn(std::move(value)); return *this;} + + /** + *

              The ARN of the anomaly detector to retrieve information about. You can find + * the ARNs of log anomaly detectors in your account by using the ListLogAnomalyDetectors + * operation.

              + */ + inline GetLogAnomalyDetectorRequest& WithAnomalyDetectorArn(const char* value) { SetAnomalyDetectorArn(value); return *this;} + + private: + + Aws::String m_anomalyDetectorArn; + bool m_anomalyDetectorArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/GetLogAnomalyDetectorResult.h b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/GetLogAnomalyDetectorResult.h new file mode 100644 index 00000000000..43f9f544347 --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/GetLogAnomalyDetectorResult.h @@ -0,0 +1,368 @@ +/** + * 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 CloudWatchLogs +{ +namespace Model +{ + class GetLogAnomalyDetectorResult + { + public: + AWS_CLOUDWATCHLOGS_API GetLogAnomalyDetectorResult(); + AWS_CLOUDWATCHLOGS_API GetLogAnomalyDetectorResult(const Aws::AmazonWebServiceResult& result); + AWS_CLOUDWATCHLOGS_API GetLogAnomalyDetectorResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

              The name of the log anomaly detector

              + */ + inline const Aws::String& GetDetectorName() const{ return m_detectorName; } + + /** + *

              The name of the log anomaly detector

              + */ + inline void SetDetectorName(const Aws::String& value) { m_detectorName = value; } + + /** + *

              The name of the log anomaly detector

              + */ + inline void SetDetectorName(Aws::String&& value) { m_detectorName = std::move(value); } + + /** + *

              The name of the log anomaly detector

              + */ + inline void SetDetectorName(const char* value) { m_detectorName.assign(value); } + + /** + *

              The name of the log anomaly detector

              + */ + inline GetLogAnomalyDetectorResult& WithDetectorName(const Aws::String& value) { SetDetectorName(value); return *this;} + + /** + *

              The name of the log anomaly detector

              + */ + inline GetLogAnomalyDetectorResult& WithDetectorName(Aws::String&& value) { SetDetectorName(std::move(value)); return *this;} + + /** + *

              The name of the log anomaly detector

              + */ + inline GetLogAnomalyDetectorResult& WithDetectorName(const char* value) { SetDetectorName(value); return *this;} + + + /** + *

              An array of structures, where each structure contains the ARN of a log group + * associated with this anomaly detector.

              + */ + inline const Aws::Vector& GetLogGroupArnList() const{ return m_logGroupArnList; } + + /** + *

              An array of structures, where each structure contains the ARN of a log group + * associated with this anomaly detector.

              + */ + inline void SetLogGroupArnList(const Aws::Vector& value) { m_logGroupArnList = value; } + + /** + *

              An array of structures, where each structure contains the ARN of a log group + * associated with this anomaly detector.

              + */ + inline void SetLogGroupArnList(Aws::Vector&& value) { m_logGroupArnList = std::move(value); } + + /** + *

              An array of structures, where each structure contains the ARN of a log group + * associated with this anomaly detector.

              + */ + inline GetLogAnomalyDetectorResult& WithLogGroupArnList(const Aws::Vector& value) { SetLogGroupArnList(value); return *this;} + + /** + *

              An array of structures, where each structure contains the ARN of a log group + * associated with this anomaly detector.

              + */ + inline GetLogAnomalyDetectorResult& WithLogGroupArnList(Aws::Vector&& value) { SetLogGroupArnList(std::move(value)); return *this;} + + /** + *

              An array of structures, where each structure contains the ARN of a log group + * associated with this anomaly detector.

              + */ + inline GetLogAnomalyDetectorResult& AddLogGroupArnList(const Aws::String& value) { m_logGroupArnList.push_back(value); return *this; } + + /** + *

              An array of structures, where each structure contains the ARN of a log group + * associated with this anomaly detector.

              + */ + inline GetLogAnomalyDetectorResult& AddLogGroupArnList(Aws::String&& value) { m_logGroupArnList.push_back(std::move(value)); return *this; } + + /** + *

              An array of structures, where each structure contains the ARN of a log group + * associated with this anomaly detector.

              + */ + inline GetLogAnomalyDetectorResult& AddLogGroupArnList(const char* value) { m_logGroupArnList.push_back(value); return *this; } + + + /** + *

              Specifies how often the anomaly detector runs and look for anomalies. Set + * this value according to the frequency that the log group receives new logs. For + * example, if the log group receives new log events every 10 minutes, then setting + * evaluationFrequency to FIFTEEN_MIN might be + * appropriate.

              + */ + inline const EvaluationFrequency& GetEvaluationFrequency() const{ return m_evaluationFrequency; } + + /** + *

              Specifies how often the anomaly detector runs and look for anomalies. Set + * this value according to the frequency that the log group receives new logs. For + * example, if the log group receives new log events every 10 minutes, then setting + * evaluationFrequency to FIFTEEN_MIN might be + * appropriate.

              + */ + inline void SetEvaluationFrequency(const EvaluationFrequency& value) { m_evaluationFrequency = value; } + + /** + *

              Specifies how often the anomaly detector runs and look for anomalies. Set + * this value according to the frequency that the log group receives new logs. For + * example, if the log group receives new log events every 10 minutes, then setting + * evaluationFrequency to FIFTEEN_MIN might be + * appropriate.

              + */ + inline void SetEvaluationFrequency(EvaluationFrequency&& value) { m_evaluationFrequency = std::move(value); } + + /** + *

              Specifies how often the anomaly detector runs and look for anomalies. Set + * this value according to the frequency that the log group receives new logs. For + * example, if the log group receives new log events every 10 minutes, then setting + * evaluationFrequency to FIFTEEN_MIN might be + * appropriate.

              + */ + inline GetLogAnomalyDetectorResult& WithEvaluationFrequency(const EvaluationFrequency& value) { SetEvaluationFrequency(value); return *this;} + + /** + *

              Specifies how often the anomaly detector runs and look for anomalies. Set + * this value according to the frequency that the log group receives new logs. For + * example, if the log group receives new log events every 10 minutes, then setting + * evaluationFrequency to FIFTEEN_MIN might be + * appropriate.

              + */ + inline GetLogAnomalyDetectorResult& WithEvaluationFrequency(EvaluationFrequency&& value) { SetEvaluationFrequency(std::move(value)); return *this;} + + + + inline const Aws::String& GetFilterPattern() const{ return m_filterPattern; } + + + inline void SetFilterPattern(const Aws::String& value) { m_filterPattern = value; } + + + inline void SetFilterPattern(Aws::String&& value) { m_filterPattern = std::move(value); } + + + inline void SetFilterPattern(const char* value) { m_filterPattern.assign(value); } + + + inline GetLogAnomalyDetectorResult& WithFilterPattern(const Aws::String& value) { SetFilterPattern(value); return *this;} + + + inline GetLogAnomalyDetectorResult& WithFilterPattern(Aws::String&& value) { SetFilterPattern(std::move(value)); return *this;} + + + inline GetLogAnomalyDetectorResult& WithFilterPattern(const char* value) { SetFilterPattern(value); return *this;} + + + /** + *

              Specifies whether the anomaly detector is currently active. To change its + * status, use the enabled parameter in the UpdateLogAnomalyDetector + * operation.

              + */ + inline const AnomalyDetectorStatus& GetAnomalyDetectorStatus() const{ return m_anomalyDetectorStatus; } + + /** + *

              Specifies whether the anomaly detector is currently active. To change its + * status, use the enabled parameter in the UpdateLogAnomalyDetector + * operation.

              + */ + inline void SetAnomalyDetectorStatus(const AnomalyDetectorStatus& value) { m_anomalyDetectorStatus = value; } + + /** + *

              Specifies whether the anomaly detector is currently active. To change its + * status, use the enabled parameter in the UpdateLogAnomalyDetector + * operation.

              + */ + inline void SetAnomalyDetectorStatus(AnomalyDetectorStatus&& value) { m_anomalyDetectorStatus = std::move(value); } + + /** + *

              Specifies whether the anomaly detector is currently active. To change its + * status, use the enabled parameter in the UpdateLogAnomalyDetector + * operation.

              + */ + inline GetLogAnomalyDetectorResult& WithAnomalyDetectorStatus(const AnomalyDetectorStatus& value) { SetAnomalyDetectorStatus(value); return *this;} + + /** + *

              Specifies whether the anomaly detector is currently active. To change its + * status, use the enabled parameter in the UpdateLogAnomalyDetector + * operation.

              + */ + inline GetLogAnomalyDetectorResult& WithAnomalyDetectorStatus(AnomalyDetectorStatus&& value) { SetAnomalyDetectorStatus(std::move(value)); return *this;} + + + /** + *

              The ID of the KMS key assigned to this anomaly detector, if any.

              + */ + inline const Aws::String& GetKmsKeyId() const{ return m_kmsKeyId; } + + /** + *

              The ID of the KMS key assigned to this anomaly detector, if any.

              + */ + inline void SetKmsKeyId(const Aws::String& value) { m_kmsKeyId = value; } + + /** + *

              The ID of the KMS key assigned to this anomaly detector, if any.

              + */ + inline void SetKmsKeyId(Aws::String&& value) { m_kmsKeyId = std::move(value); } + + /** + *

              The ID of the KMS key assigned to this anomaly detector, if any.

              + */ + inline void SetKmsKeyId(const char* value) { m_kmsKeyId.assign(value); } + + /** + *

              The ID of the KMS key assigned to this anomaly detector, if any.

              + */ + inline GetLogAnomalyDetectorResult& WithKmsKeyId(const Aws::String& value) { SetKmsKeyId(value); return *this;} + + /** + *

              The ID of the KMS key assigned to this anomaly detector, if any.

              + */ + inline GetLogAnomalyDetectorResult& WithKmsKeyId(Aws::String&& value) { SetKmsKeyId(std::move(value)); return *this;} + + /** + *

              The ID of the KMS key assigned to this anomaly detector, if any.

              + */ + inline GetLogAnomalyDetectorResult& WithKmsKeyId(const char* value) { SetKmsKeyId(value); return *this;} + + + /** + *

              The date and time when this anomaly detector was created.

              + */ + inline long long GetCreationTimeStamp() const{ return m_creationTimeStamp; } + + /** + *

              The date and time when this anomaly detector was created.

              + */ + inline void SetCreationTimeStamp(long long value) { m_creationTimeStamp = value; } + + /** + *

              The date and time when this anomaly detector was created.

              + */ + inline GetLogAnomalyDetectorResult& WithCreationTimeStamp(long long value) { SetCreationTimeStamp(value); return *this;} + + + /** + *

              The date and time when this anomaly detector was most recently modified.

              + */ + inline long long GetLastModifiedTimeStamp() const{ return m_lastModifiedTimeStamp; } + + /** + *

              The date and time when this anomaly detector was most recently modified.

              + */ + inline void SetLastModifiedTimeStamp(long long value) { m_lastModifiedTimeStamp = value; } + + /** + *

              The date and time when this anomaly detector was most recently modified.

              + */ + inline GetLogAnomalyDetectorResult& WithLastModifiedTimeStamp(long long value) { SetLastModifiedTimeStamp(value); return *this;} + + + /** + *

              The number of days used as the life cycle of anomalies. After this time, + * anomalies are automatically baselined and the anomaly detector model will treat + * new occurrences of similar event as normal.

              + */ + inline long long GetAnomalyVisibilityTime() const{ return m_anomalyVisibilityTime; } + + /** + *

              The number of days used as the life cycle of anomalies. After this time, + * anomalies are automatically baselined and the anomaly detector model will treat + * new occurrences of similar event as normal.

              + */ + inline void SetAnomalyVisibilityTime(long long value) { m_anomalyVisibilityTime = value; } + + /** + *

              The number of days used as the life cycle of anomalies. After this time, + * anomalies are automatically baselined and the anomaly detector model will treat + * new occurrences of similar event as normal.

              + */ + inline GetLogAnomalyDetectorResult& WithAnomalyVisibilityTime(long long value) { SetAnomalyVisibilityTime(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 GetLogAnomalyDetectorResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline GetLogAnomalyDetectorResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline GetLogAnomalyDetectorResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::String m_detectorName; + + Aws::Vector m_logGroupArnList; + + EvaluationFrequency m_evaluationFrequency; + + Aws::String m_filterPattern; + + AnomalyDetectorStatus m_anomalyDetectorStatus; + + Aws::String m_kmsKeyId; + + long long m_creationTimeStamp; + + long long m_lastModifiedTimeStamp; + + long long m_anomalyVisibilityTime; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/ListAnomaliesRequest.h b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/ListAnomaliesRequest.h new file mode 100644 index 00000000000..b71200fb160 --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/ListAnomaliesRequest.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 + +namespace Aws +{ +namespace CloudWatchLogs +{ +namespace Model +{ + + /** + */ + class ListAnomaliesRequest : public CloudWatchLogsRequest + { + public: + AWS_CLOUDWATCHLOGS_API ListAnomaliesRequest(); + + // 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 "ListAnomalies"; } + + AWS_CLOUDWATCHLOGS_API Aws::String SerializePayload() const override; + + AWS_CLOUDWATCHLOGS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + *

              Use this to optionally limit the results to only the anomalies found by a + * certain anomaly detector.

              + */ + inline const Aws::String& GetAnomalyDetectorArn() const{ return m_anomalyDetectorArn; } + + /** + *

              Use this to optionally limit the results to only the anomalies found by a + * certain anomaly detector.

              + */ + inline bool AnomalyDetectorArnHasBeenSet() const { return m_anomalyDetectorArnHasBeenSet; } + + /** + *

              Use this to optionally limit the results to only the anomalies found by a + * certain anomaly detector.

              + */ + inline void SetAnomalyDetectorArn(const Aws::String& value) { m_anomalyDetectorArnHasBeenSet = true; m_anomalyDetectorArn = value; } + + /** + *

              Use this to optionally limit the results to only the anomalies found by a + * certain anomaly detector.

              + */ + inline void SetAnomalyDetectorArn(Aws::String&& value) { m_anomalyDetectorArnHasBeenSet = true; m_anomalyDetectorArn = std::move(value); } + + /** + *

              Use this to optionally limit the results to only the anomalies found by a + * certain anomaly detector.

              + */ + inline void SetAnomalyDetectorArn(const char* value) { m_anomalyDetectorArnHasBeenSet = true; m_anomalyDetectorArn.assign(value); } + + /** + *

              Use this to optionally limit the results to only the anomalies found by a + * certain anomaly detector.

              + */ + inline ListAnomaliesRequest& WithAnomalyDetectorArn(const Aws::String& value) { SetAnomalyDetectorArn(value); return *this;} + + /** + *

              Use this to optionally limit the results to only the anomalies found by a + * certain anomaly detector.

              + */ + inline ListAnomaliesRequest& WithAnomalyDetectorArn(Aws::String&& value) { SetAnomalyDetectorArn(std::move(value)); return *this;} + + /** + *

              Use this to optionally limit the results to only the anomalies found by a + * certain anomaly detector.

              + */ + inline ListAnomaliesRequest& WithAnomalyDetectorArn(const char* value) { SetAnomalyDetectorArn(value); return *this;} + + + /** + *

              You can specify this parameter if you want to the operation to return only + * anomalies that are currently either suppressed or unsuppressed.

              + */ + inline const SuppressionState& GetSuppressionState() const{ return m_suppressionState; } + + /** + *

              You can specify this parameter if you want to the operation to return only + * anomalies that are currently either suppressed or unsuppressed.

              + */ + inline bool SuppressionStateHasBeenSet() const { return m_suppressionStateHasBeenSet; } + + /** + *

              You can specify this parameter if you want to the operation to return only + * anomalies that are currently either suppressed or unsuppressed.

              + */ + inline void SetSuppressionState(const SuppressionState& value) { m_suppressionStateHasBeenSet = true; m_suppressionState = value; } + + /** + *

              You can specify this parameter if you want to the operation to return only + * anomalies that are currently either suppressed or unsuppressed.

              + */ + inline void SetSuppressionState(SuppressionState&& value) { m_suppressionStateHasBeenSet = true; m_suppressionState = std::move(value); } + + /** + *

              You can specify this parameter if you want to the operation to return only + * anomalies that are currently either suppressed or unsuppressed.

              + */ + inline ListAnomaliesRequest& WithSuppressionState(const SuppressionState& value) { SetSuppressionState(value); return *this;} + + /** + *

              You can specify this parameter if you want to the operation to return only + * anomalies that are currently either suppressed or unsuppressed.

              + */ + inline ListAnomaliesRequest& WithSuppressionState(SuppressionState&& value) { SetSuppressionState(std::move(value)); return *this;} + + + /** + *

              The maximum number of items to return. If you don't specify a value, the + * default maximum value of 50 items is used.

              + */ + inline int GetLimit() const{ return m_limit; } + + /** + *

              The maximum number of items to return. If you don't specify a value, the + * default maximum value of 50 items is used.

              + */ + inline bool LimitHasBeenSet() const { return m_limitHasBeenSet; } + + /** + *

              The maximum number of items to return. If you don't specify a value, the + * default maximum value of 50 items is used.

              + */ + inline void SetLimit(int value) { m_limitHasBeenSet = true; m_limit = value; } + + /** + *

              The maximum number of items to return. If you don't specify a value, the + * default maximum value of 50 items is used.

              + */ + inline ListAnomaliesRequest& WithLimit(int value) { SetLimit(value); return *this;} + + + + 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 ListAnomaliesRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + + + inline ListAnomaliesRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + + + inline ListAnomaliesRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + + private: + + Aws::String m_anomalyDetectorArn; + bool m_anomalyDetectorArnHasBeenSet = false; + + SuppressionState m_suppressionState; + bool m_suppressionStateHasBeenSet = false; + + int m_limit; + bool m_limitHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + }; + +} // namespace Model +} // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/ListAnomaliesResult.h b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/ListAnomaliesResult.h new file mode 100644 index 00000000000..1105496badc --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/ListAnomaliesResult.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 +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace CloudWatchLogs +{ +namespace Model +{ + class ListAnomaliesResult + { + public: + AWS_CLOUDWATCHLOGS_API ListAnomaliesResult(); + AWS_CLOUDWATCHLOGS_API ListAnomaliesResult(const Aws::AmazonWebServiceResult& result); + AWS_CLOUDWATCHLOGS_API ListAnomaliesResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

              An array of structures, where each structure contains information about one + * anomaly that a log anomaly detector has found.

              + */ + inline const Aws::Vector& GetAnomalies() const{ return m_anomalies; } + + /** + *

              An array of structures, where each structure contains information about one + * anomaly that a log anomaly detector has found.

              + */ + inline void SetAnomalies(const Aws::Vector& value) { m_anomalies = value; } + + /** + *

              An array of structures, where each structure contains information about one + * anomaly that a log anomaly detector has found.

              + */ + inline void SetAnomalies(Aws::Vector&& value) { m_anomalies = std::move(value); } + + /** + *

              An array of structures, where each structure contains information about one + * anomaly that a log anomaly detector has found.

              + */ + inline ListAnomaliesResult& WithAnomalies(const Aws::Vector& value) { SetAnomalies(value); return *this;} + + /** + *

              An array of structures, where each structure contains information about one + * anomaly that a log anomaly detector has found.

              + */ + inline ListAnomaliesResult& WithAnomalies(Aws::Vector&& value) { SetAnomalies(std::move(value)); return *this;} + + /** + *

              An array of structures, where each structure contains information about one + * anomaly that a log anomaly detector has found.

              + */ + inline ListAnomaliesResult& AddAnomalies(const Anomaly& value) { m_anomalies.push_back(value); return *this; } + + /** + *

              An array of structures, where each structure contains information about one + * anomaly that a log anomaly detector has found.

              + */ + inline ListAnomaliesResult& AddAnomalies(Anomaly&& value) { m_anomalies.push_back(std::move(value)); return *this; } + + + + 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 ListAnomaliesResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + + + inline ListAnomaliesResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + + + inline ListAnomaliesResult& 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 ListAnomaliesResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline ListAnomaliesResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline ListAnomaliesResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::Vector m_anomalies; + + Aws::String m_nextToken; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/ListLogAnomalyDetectorsRequest.h b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/ListLogAnomalyDetectorsRequest.h new file mode 100644 index 00000000000..edf44c86796 --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/ListLogAnomalyDetectorsRequest.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 +{ +namespace CloudWatchLogs +{ +namespace Model +{ + + /** + */ + class ListLogAnomalyDetectorsRequest : public CloudWatchLogsRequest + { + public: + AWS_CLOUDWATCHLOGS_API ListLogAnomalyDetectorsRequest(); + + // 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 "ListLogAnomalyDetectors"; } + + AWS_CLOUDWATCHLOGS_API Aws::String SerializePayload() const override; + + AWS_CLOUDWATCHLOGS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + *

              Use this to optionally filter the results to only include anomaly detectors + * that are associated with the specified log group.

              + */ + inline const Aws::String& GetFilterLogGroupArn() const{ return m_filterLogGroupArn; } + + /** + *

              Use this to optionally filter the results to only include anomaly detectors + * that are associated with the specified log group.

              + */ + inline bool FilterLogGroupArnHasBeenSet() const { return m_filterLogGroupArnHasBeenSet; } + + /** + *

              Use this to optionally filter the results to only include anomaly detectors + * that are associated with the specified log group.

              + */ + inline void SetFilterLogGroupArn(const Aws::String& value) { m_filterLogGroupArnHasBeenSet = true; m_filterLogGroupArn = value; } + + /** + *

              Use this to optionally filter the results to only include anomaly detectors + * that are associated with the specified log group.

              + */ + inline void SetFilterLogGroupArn(Aws::String&& value) { m_filterLogGroupArnHasBeenSet = true; m_filterLogGroupArn = std::move(value); } + + /** + *

              Use this to optionally filter the results to only include anomaly detectors + * that are associated with the specified log group.

              + */ + inline void SetFilterLogGroupArn(const char* value) { m_filterLogGroupArnHasBeenSet = true; m_filterLogGroupArn.assign(value); } + + /** + *

              Use this to optionally filter the results to only include anomaly detectors + * that are associated with the specified log group.

              + */ + inline ListLogAnomalyDetectorsRequest& WithFilterLogGroupArn(const Aws::String& value) { SetFilterLogGroupArn(value); return *this;} + + /** + *

              Use this to optionally filter the results to only include anomaly detectors + * that are associated with the specified log group.

              + */ + inline ListLogAnomalyDetectorsRequest& WithFilterLogGroupArn(Aws::String&& value) { SetFilterLogGroupArn(std::move(value)); return *this;} + + /** + *

              Use this to optionally filter the results to only include anomaly detectors + * that are associated with the specified log group.

              + */ + inline ListLogAnomalyDetectorsRequest& WithFilterLogGroupArn(const char* value) { SetFilterLogGroupArn(value); return *this;} + + + /** + *

              The maximum number of items to return. If you don't specify a value, the + * default maximum value of 50 items is used.

              + */ + inline int GetLimit() const{ return m_limit; } + + /** + *

              The maximum number of items to return. If you don't specify a value, the + * default maximum value of 50 items is used.

              + */ + inline bool LimitHasBeenSet() const { return m_limitHasBeenSet; } + + /** + *

              The maximum number of items to return. If you don't specify a value, the + * default maximum value of 50 items is used.

              + */ + inline void SetLimit(int value) { m_limitHasBeenSet = true; m_limit = value; } + + /** + *

              The maximum number of items to return. If you don't specify a value, the + * default maximum value of 50 items is used.

              + */ + inline ListLogAnomalyDetectorsRequest& WithLimit(int value) { SetLimit(value); return *this;} + + + + 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 ListLogAnomalyDetectorsRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + + + inline ListLogAnomalyDetectorsRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + + + inline ListLogAnomalyDetectorsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + + private: + + Aws::String m_filterLogGroupArn; + bool m_filterLogGroupArnHasBeenSet = false; + + int m_limit; + bool m_limitHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + }; + +} // namespace Model +} // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/ListLogAnomalyDetectorsResult.h b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/ListLogAnomalyDetectorsResult.h new file mode 100644 index 00000000000..c12b55d0872 --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/ListLogAnomalyDetectorsResult.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 +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace CloudWatchLogs +{ +namespace Model +{ + class ListLogAnomalyDetectorsResult + { + public: + AWS_CLOUDWATCHLOGS_API ListLogAnomalyDetectorsResult(); + AWS_CLOUDWATCHLOGS_API ListLogAnomalyDetectorsResult(const Aws::AmazonWebServiceResult& result); + AWS_CLOUDWATCHLOGS_API ListLogAnomalyDetectorsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

              An array of structures, where each structure in the array contains + * information about one anomaly detector.

              + */ + inline const Aws::Vector& GetAnomalyDetectors() const{ return m_anomalyDetectors; } + + /** + *

              An array of structures, where each structure in the array contains + * information about one anomaly detector.

              + */ + inline void SetAnomalyDetectors(const Aws::Vector& value) { m_anomalyDetectors = value; } + + /** + *

              An array of structures, where each structure in the array contains + * information about one anomaly detector.

              + */ + inline void SetAnomalyDetectors(Aws::Vector&& value) { m_anomalyDetectors = std::move(value); } + + /** + *

              An array of structures, where each structure in the array contains + * information about one anomaly detector.

              + */ + inline ListLogAnomalyDetectorsResult& WithAnomalyDetectors(const Aws::Vector& value) { SetAnomalyDetectors(value); return *this;} + + /** + *

              An array of structures, where each structure in the array contains + * information about one anomaly detector.

              + */ + inline ListLogAnomalyDetectorsResult& WithAnomalyDetectors(Aws::Vector&& value) { SetAnomalyDetectors(std::move(value)); return *this;} + + /** + *

              An array of structures, where each structure in the array contains + * information about one anomaly detector.

              + */ + inline ListLogAnomalyDetectorsResult& AddAnomalyDetectors(const AnomalyDetector& value) { m_anomalyDetectors.push_back(value); return *this; } + + /** + *

              An array of structures, where each structure in the array contains + * information about one anomaly detector.

              + */ + inline ListLogAnomalyDetectorsResult& AddAnomalyDetectors(AnomalyDetector&& value) { m_anomalyDetectors.push_back(std::move(value)); return *this; } + + + + 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 ListLogAnomalyDetectorsResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + + + inline ListLogAnomalyDetectorsResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + + + inline ListLogAnomalyDetectorsResult& 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 ListLogAnomalyDetectorsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline ListLogAnomalyDetectorsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline ListLogAnomalyDetectorsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::Vector m_anomalyDetectors; + + Aws::String m_nextToken; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/LogGroup.h b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/LogGroup.h index 3eb1214ae37..f856c204f9e 100644 --- a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/LogGroup.h +++ b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/LogGroup.h @@ -8,6 +8,7 @@ #include #include #include +#include #include #include @@ -342,6 +343,79 @@ namespace Model */ inline LogGroup& AddInheritedProperties(InheritedProperty&& value) { m_inheritedPropertiesHasBeenSet = true; m_inheritedProperties.push_back(std::move(value)); return *this; } + + /** + *

              This specifies the log group class for this log group. There are two + * classes:

              • The Standard log class supports all + * CloudWatch Logs features.

              • The Infrequent Access + * log class supports a subset of CloudWatch Logs features and incurs lower + * costs.

              For details about the features supported by each + * class, see Log + * classes

              + */ + inline const LogGroupClass& GetLogGroupClass() const{ return m_logGroupClass; } + + /** + *

              This specifies the log group class for this log group. There are two + * classes:

              • The Standard log class supports all + * CloudWatch Logs features.

              • The Infrequent Access + * log class supports a subset of CloudWatch Logs features and incurs lower + * costs.

              For details about the features supported by each + * class, see Log + * classes

              + */ + inline bool LogGroupClassHasBeenSet() const { return m_logGroupClassHasBeenSet; } + + /** + *

              This specifies the log group class for this log group. There are two + * classes:

              • The Standard log class supports all + * CloudWatch Logs features.

              • The Infrequent Access + * log class supports a subset of CloudWatch Logs features and incurs lower + * costs.

              For details about the features supported by each + * class, see Log + * classes

              + */ + inline void SetLogGroupClass(const LogGroupClass& value) { m_logGroupClassHasBeenSet = true; m_logGroupClass = value; } + + /** + *

              This specifies the log group class for this log group. There are two + * classes:

              • The Standard log class supports all + * CloudWatch Logs features.

              • The Infrequent Access + * log class supports a subset of CloudWatch Logs features and incurs lower + * costs.

              For details about the features supported by each + * class, see Log + * classes

              + */ + inline void SetLogGroupClass(LogGroupClass&& value) { m_logGroupClassHasBeenSet = true; m_logGroupClass = std::move(value); } + + /** + *

              This specifies the log group class for this log group. There are two + * classes:

              • The Standard log class supports all + * CloudWatch Logs features.

              • The Infrequent Access + * log class supports a subset of CloudWatch Logs features and incurs lower + * costs.

              For details about the features supported by each + * class, see Log + * classes

              + */ + inline LogGroup& WithLogGroupClass(const LogGroupClass& value) { SetLogGroupClass(value); return *this;} + + /** + *

              This specifies the log group class for this log group. There are two + * classes:

              • The Standard log class supports all + * CloudWatch Logs features.

              • The Infrequent Access + * log class supports a subset of CloudWatch Logs features and incurs lower + * costs.

              For details about the features supported by each + * class, see Log + * classes

              + */ + inline LogGroup& WithLogGroupClass(LogGroupClass&& value) { SetLogGroupClass(std::move(value)); return *this;} + private: Aws::String m_logGroupName; @@ -370,6 +444,9 @@ namespace Model Aws::Vector m_inheritedProperties; bool m_inheritedPropertiesHasBeenSet = false; + + LogGroupClass m_logGroupClass; + bool m_logGroupClassHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/LogGroupClass.h b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/LogGroupClass.h new file mode 100644 index 00000000000..abf08160435 --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/LogGroupClass.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 CloudWatchLogs +{ +namespace Model +{ + enum class LogGroupClass + { + NOT_SET, + STANDARD, + INFREQUENT_ACCESS + }; + +namespace LogGroupClassMapper +{ +AWS_CLOUDWATCHLOGS_API LogGroupClass GetLogGroupClassForName(const Aws::String& name); + +AWS_CLOUDWATCHLOGS_API Aws::String GetNameForLogGroupClass(LogGroupClass value); +} // namespace LogGroupClassMapper +} // namespace Model +} // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/PatternToken.h b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/PatternToken.h new file mode 100644 index 00000000000..2cb730ab646 --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/PatternToken.h @@ -0,0 +1,218 @@ +/** + * 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 CloudWatchLogs +{ +namespace Model +{ + + /** + *

              A tructures that contains information about one pattern token related to an + * anomaly.

              For more information about patterns and tokens, see CreateLogAnomalyDetector. + *

              See Also:

              AWS + * API Reference

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

              For a dynamic token, this indicates where in the pattern that this token + * appears, related to other dynamic tokens. The dynamic token that appears first + * has a value of 1, the one that appears second is 2, + * and so on.

              + */ + inline int GetDynamicTokenPosition() const{ return m_dynamicTokenPosition; } + + /** + *

              For a dynamic token, this indicates where in the pattern that this token + * appears, related to other dynamic tokens. The dynamic token that appears first + * has a value of 1, the one that appears second is 2, + * and so on.

              + */ + inline bool DynamicTokenPositionHasBeenSet() const { return m_dynamicTokenPositionHasBeenSet; } + + /** + *

              For a dynamic token, this indicates where in the pattern that this token + * appears, related to other dynamic tokens. The dynamic token that appears first + * has a value of 1, the one that appears second is 2, + * and so on.

              + */ + inline void SetDynamicTokenPosition(int value) { m_dynamicTokenPositionHasBeenSet = true; m_dynamicTokenPosition = value; } + + /** + *

              For a dynamic token, this indicates where in the pattern that this token + * appears, related to other dynamic tokens. The dynamic token that appears first + * has a value of 1, the one that appears second is 2, + * and so on.

              + */ + inline PatternToken& WithDynamicTokenPosition(int value) { SetDynamicTokenPosition(value); return *this;} + + + /** + *

              Specifies whether this is a dynamic token.

              + */ + inline bool GetIsDynamic() const{ return m_isDynamic; } + + /** + *

              Specifies whether this is a dynamic token.

              + */ + inline bool IsDynamicHasBeenSet() const { return m_isDynamicHasBeenSet; } + + /** + *

              Specifies whether this is a dynamic token.

              + */ + inline void SetIsDynamic(bool value) { m_isDynamicHasBeenSet = true; m_isDynamic = value; } + + /** + *

              Specifies whether this is a dynamic token.

              + */ + inline PatternToken& WithIsDynamic(bool value) { SetIsDynamic(value); return *this;} + + + /** + *

              The string represented by this token. If this is a dynamic token, the value + * will be <*>

              + */ + inline const Aws::String& GetTokenString() const{ return m_tokenString; } + + /** + *

              The string represented by this token. If this is a dynamic token, the value + * will be <*>

              + */ + inline bool TokenStringHasBeenSet() const { return m_tokenStringHasBeenSet; } + + /** + *

              The string represented by this token. If this is a dynamic token, the value + * will be <*>

              + */ + inline void SetTokenString(const Aws::String& value) { m_tokenStringHasBeenSet = true; m_tokenString = value; } + + /** + *

              The string represented by this token. If this is a dynamic token, the value + * will be <*>

              + */ + inline void SetTokenString(Aws::String&& value) { m_tokenStringHasBeenSet = true; m_tokenString = std::move(value); } + + /** + *

              The string represented by this token. If this is a dynamic token, the value + * will be <*>

              + */ + inline void SetTokenString(const char* value) { m_tokenStringHasBeenSet = true; m_tokenString.assign(value); } + + /** + *

              The string represented by this token. If this is a dynamic token, the value + * will be <*>

              + */ + inline PatternToken& WithTokenString(const Aws::String& value) { SetTokenString(value); return *this;} + + /** + *

              The string represented by this token. If this is a dynamic token, the value + * will be <*>

              + */ + inline PatternToken& WithTokenString(Aws::String&& value) { SetTokenString(std::move(value)); return *this;} + + /** + *

              The string represented by this token. If this is a dynamic token, the value + * will be <*>

              + */ + inline PatternToken& WithTokenString(const char* value) { SetTokenString(value); return *this;} + + + /** + *

              Contains the values found for a dynamic token, and the number of times each + * value was found.

              + */ + inline const Aws::Map& GetEnumerations() const{ return m_enumerations; } + + /** + *

              Contains the values found for a dynamic token, and the number of times each + * value was found.

              + */ + inline bool EnumerationsHasBeenSet() const { return m_enumerationsHasBeenSet; } + + /** + *

              Contains the values found for a dynamic token, and the number of times each + * value was found.

              + */ + inline void SetEnumerations(const Aws::Map& value) { m_enumerationsHasBeenSet = true; m_enumerations = value; } + + /** + *

              Contains the values found for a dynamic token, and the number of times each + * value was found.

              + */ + inline void SetEnumerations(Aws::Map&& value) { m_enumerationsHasBeenSet = true; m_enumerations = std::move(value); } + + /** + *

              Contains the values found for a dynamic token, and the number of times each + * value was found.

              + */ + inline PatternToken& WithEnumerations(const Aws::Map& value) { SetEnumerations(value); return *this;} + + /** + *

              Contains the values found for a dynamic token, and the number of times each + * value was found.

              + */ + inline PatternToken& WithEnumerations(Aws::Map&& value) { SetEnumerations(std::move(value)); return *this;} + + /** + *

              Contains the values found for a dynamic token, and the number of times each + * value was found.

              + */ + inline PatternToken& AddEnumerations(const Aws::String& key, long long value) { m_enumerationsHasBeenSet = true; m_enumerations.emplace(key, value); return *this; } + + /** + *

              Contains the values found for a dynamic token, and the number of times each + * value was found.

              + */ + inline PatternToken& AddEnumerations(Aws::String&& key, long long value) { m_enumerationsHasBeenSet = true; m_enumerations.emplace(std::move(key), value); return *this; } + + /** + *

              Contains the values found for a dynamic token, and the number of times each + * value was found.

              + */ + inline PatternToken& AddEnumerations(const char* key, long long value) { m_enumerationsHasBeenSet = true; m_enumerations.emplace(key, value); return *this; } + + private: + + int m_dynamicTokenPosition; + bool m_dynamicTokenPositionHasBeenSet = false; + + bool m_isDynamic; + bool m_isDynamicHasBeenSet = false; + + Aws::String m_tokenString; + bool m_tokenStringHasBeenSet = false; + + Aws::Map m_enumerations; + bool m_enumerationsHasBeenSet = false; + }; + +} // namespace Model +} // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/State.h b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/State.h new file mode 100644 index 00000000000..5d61f0e747a --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/State.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 CloudWatchLogs +{ +namespace Model +{ + enum class State + { + NOT_SET, + Active, + Suppressed, + Baseline + }; + +namespace StateMapper +{ +AWS_CLOUDWATCHLOGS_API State GetStateForName(const Aws::String& name); + +AWS_CLOUDWATCHLOGS_API Aws::String GetNameForState(State value); +} // namespace StateMapper +} // namespace Model +} // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/SuppressionPeriod.h b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/SuppressionPeriod.h new file mode 100644 index 00000000000..83f10402970 --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/SuppressionPeriod.h @@ -0,0 +1,113 @@ +/** + * 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 CloudWatchLogs +{ +namespace Model +{ + + /** + *

              If you are suppressing an anomaly temporariliy, this structure defines how + * long the suppression period is to be.

              See Also:

              AWS + * API Reference

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

              Specifies the number of seconds, minutes or hours to suppress this anomaly. + * There is no maximum.

              + */ + inline int GetValue() const{ return m_value; } + + /** + *

              Specifies the number of seconds, minutes or hours to suppress this anomaly. + * There is no maximum.

              + */ + inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; } + + /** + *

              Specifies the number of seconds, minutes or hours to suppress this anomaly. + * There is no maximum.

              + */ + inline void SetValue(int value) { m_valueHasBeenSet = true; m_value = value; } + + /** + *

              Specifies the number of seconds, minutes or hours to suppress this anomaly. + * There is no maximum.

              + */ + inline SuppressionPeriod& WithValue(int value) { SetValue(value); return *this;} + + + /** + *

              Specifies whether the value of value is in seconds, minutes, or + * hours.

              + */ + inline const SuppressionUnit& GetSuppressionUnit() const{ return m_suppressionUnit; } + + /** + *

              Specifies whether the value of value is in seconds, minutes, or + * hours.

              + */ + inline bool SuppressionUnitHasBeenSet() const { return m_suppressionUnitHasBeenSet; } + + /** + *

              Specifies whether the value of value is in seconds, minutes, or + * hours.

              + */ + inline void SetSuppressionUnit(const SuppressionUnit& value) { m_suppressionUnitHasBeenSet = true; m_suppressionUnit = value; } + + /** + *

              Specifies whether the value of value is in seconds, minutes, or + * hours.

              + */ + inline void SetSuppressionUnit(SuppressionUnit&& value) { m_suppressionUnitHasBeenSet = true; m_suppressionUnit = std::move(value); } + + /** + *

              Specifies whether the value of value is in seconds, minutes, or + * hours.

              + */ + inline SuppressionPeriod& WithSuppressionUnit(const SuppressionUnit& value) { SetSuppressionUnit(value); return *this;} + + /** + *

              Specifies whether the value of value is in seconds, minutes, or + * hours.

              + */ + inline SuppressionPeriod& WithSuppressionUnit(SuppressionUnit&& value) { SetSuppressionUnit(std::move(value)); return *this;} + + private: + + int m_value; + bool m_valueHasBeenSet = false; + + SuppressionUnit m_suppressionUnit; + bool m_suppressionUnitHasBeenSet = false; + }; + +} // namespace Model +} // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/SuppressionState.h b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/SuppressionState.h new file mode 100644 index 00000000000..59d1fe08c03 --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/SuppressionState.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 CloudWatchLogs +{ +namespace Model +{ + enum class SuppressionState + { + NOT_SET, + SUPPRESSED, + UNSUPPRESSED + }; + +namespace SuppressionStateMapper +{ +AWS_CLOUDWATCHLOGS_API SuppressionState GetSuppressionStateForName(const Aws::String& name); + +AWS_CLOUDWATCHLOGS_API Aws::String GetNameForSuppressionState(SuppressionState value); +} // namespace SuppressionStateMapper +} // namespace Model +} // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/SuppressionType.h b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/SuppressionType.h new file mode 100644 index 00000000000..8cf55152724 --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/SuppressionType.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 CloudWatchLogs +{ +namespace Model +{ + enum class SuppressionType + { + NOT_SET, + LIMITED, + INFINITE + }; + +namespace SuppressionTypeMapper +{ +AWS_CLOUDWATCHLOGS_API SuppressionType GetSuppressionTypeForName(const Aws::String& name); + +AWS_CLOUDWATCHLOGS_API Aws::String GetNameForSuppressionType(SuppressionType value); +} // namespace SuppressionTypeMapper +} // namespace Model +} // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/SuppressionUnit.h b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/SuppressionUnit.h new file mode 100644 index 00000000000..976661a90b5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/SuppressionUnit.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 CloudWatchLogs +{ +namespace Model +{ + enum class SuppressionUnit + { + NOT_SET, + SECONDS, + MINUTES, + HOURS + }; + +namespace SuppressionUnitMapper +{ +AWS_CLOUDWATCHLOGS_API SuppressionUnit GetSuppressionUnitForName(const Aws::String& name); + +AWS_CLOUDWATCHLOGS_API Aws::String GetNameForSuppressionUnit(SuppressionUnit value); +} // namespace SuppressionUnitMapper +} // namespace Model +} // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/UpdateAnomalyRequest.h b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/UpdateAnomalyRequest.h new file mode 100644 index 00000000000..9612b49ef2a --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/UpdateAnomalyRequest.h @@ -0,0 +1,315 @@ +/** + * 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 CloudWatchLogs +{ +namespace Model +{ + + /** + */ + class UpdateAnomalyRequest : public CloudWatchLogsRequest + { + public: + AWS_CLOUDWATCHLOGS_API UpdateAnomalyRequest(); + + // 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 "UpdateAnomaly"; } + + AWS_CLOUDWATCHLOGS_API Aws::String SerializePayload() const override; + + AWS_CLOUDWATCHLOGS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + *

              If you are suppressing or unsuppressing an anomaly, specify its unique ID + * here. You can find anomaly IDs by using the ListAnomalies + * operation.

              + */ + inline const Aws::String& GetAnomalyId() const{ return m_anomalyId; } + + /** + *

              If you are suppressing or unsuppressing an anomaly, specify its unique ID + * here. You can find anomaly IDs by using the ListAnomalies + * operation.

              + */ + inline bool AnomalyIdHasBeenSet() const { return m_anomalyIdHasBeenSet; } + + /** + *

              If you are suppressing or unsuppressing an anomaly, specify its unique ID + * here. You can find anomaly IDs by using the ListAnomalies + * operation.

              + */ + inline void SetAnomalyId(const Aws::String& value) { m_anomalyIdHasBeenSet = true; m_anomalyId = value; } + + /** + *

              If you are suppressing or unsuppressing an anomaly, specify its unique ID + * here. You can find anomaly IDs by using the ListAnomalies + * operation.

              + */ + inline void SetAnomalyId(Aws::String&& value) { m_anomalyIdHasBeenSet = true; m_anomalyId = std::move(value); } + + /** + *

              If you are suppressing or unsuppressing an anomaly, specify its unique ID + * here. You can find anomaly IDs by using the ListAnomalies + * operation.

              + */ + inline void SetAnomalyId(const char* value) { m_anomalyIdHasBeenSet = true; m_anomalyId.assign(value); } + + /** + *

              If you are suppressing or unsuppressing an anomaly, specify its unique ID + * here. You can find anomaly IDs by using the ListAnomalies + * operation.

              + */ + inline UpdateAnomalyRequest& WithAnomalyId(const Aws::String& value) { SetAnomalyId(value); return *this;} + + /** + *

              If you are suppressing or unsuppressing an anomaly, specify its unique ID + * here. You can find anomaly IDs by using the ListAnomalies + * operation.

              + */ + inline UpdateAnomalyRequest& WithAnomalyId(Aws::String&& value) { SetAnomalyId(std::move(value)); return *this;} + + /** + *

              If you are suppressing or unsuppressing an anomaly, specify its unique ID + * here. You can find anomaly IDs by using the ListAnomalies + * operation.

              + */ + inline UpdateAnomalyRequest& WithAnomalyId(const char* value) { SetAnomalyId(value); return *this;} + + + /** + *

              If you are suppressing or unsuppressing an pattern, specify its unique ID + * here. You can find pattern IDs by using the ListAnomalies + * operation.

              + */ + inline const Aws::String& GetPatternId() const{ return m_patternId; } + + /** + *

              If you are suppressing or unsuppressing an pattern, specify its unique ID + * here. You can find pattern IDs by using the ListAnomalies + * operation.

              + */ + inline bool PatternIdHasBeenSet() const { return m_patternIdHasBeenSet; } + + /** + *

              If you are suppressing or unsuppressing an pattern, specify its unique ID + * here. You can find pattern IDs by using the ListAnomalies + * operation.

              + */ + inline void SetPatternId(const Aws::String& value) { m_patternIdHasBeenSet = true; m_patternId = value; } + + /** + *

              If you are suppressing or unsuppressing an pattern, specify its unique ID + * here. You can find pattern IDs by using the ListAnomalies + * operation.

              + */ + inline void SetPatternId(Aws::String&& value) { m_patternIdHasBeenSet = true; m_patternId = std::move(value); } + + /** + *

              If you are suppressing or unsuppressing an pattern, specify its unique ID + * here. You can find pattern IDs by using the ListAnomalies + * operation.

              + */ + inline void SetPatternId(const char* value) { m_patternIdHasBeenSet = true; m_patternId.assign(value); } + + /** + *

              If you are suppressing or unsuppressing an pattern, specify its unique ID + * here. You can find pattern IDs by using the ListAnomalies + * operation.

              + */ + inline UpdateAnomalyRequest& WithPatternId(const Aws::String& value) { SetPatternId(value); return *this;} + + /** + *

              If you are suppressing or unsuppressing an pattern, specify its unique ID + * here. You can find pattern IDs by using the ListAnomalies + * operation.

              + */ + inline UpdateAnomalyRequest& WithPatternId(Aws::String&& value) { SetPatternId(std::move(value)); return *this;} + + /** + *

              If you are suppressing or unsuppressing an pattern, specify its unique ID + * here. You can find pattern IDs by using the ListAnomalies + * operation.

              + */ + inline UpdateAnomalyRequest& WithPatternId(const char* value) { SetPatternId(value); return *this;} + + + /** + *

              The ARN of the anomaly detector that this operation is to act on.

              + */ + inline const Aws::String& GetAnomalyDetectorArn() const{ return m_anomalyDetectorArn; } + + /** + *

              The ARN of the anomaly detector that this operation is to act on.

              + */ + inline bool AnomalyDetectorArnHasBeenSet() const { return m_anomalyDetectorArnHasBeenSet; } + + /** + *

              The ARN of the anomaly detector that this operation is to act on.

              + */ + inline void SetAnomalyDetectorArn(const Aws::String& value) { m_anomalyDetectorArnHasBeenSet = true; m_anomalyDetectorArn = value; } + + /** + *

              The ARN of the anomaly detector that this operation is to act on.

              + */ + inline void SetAnomalyDetectorArn(Aws::String&& value) { m_anomalyDetectorArnHasBeenSet = true; m_anomalyDetectorArn = std::move(value); } + + /** + *

              The ARN of the anomaly detector that this operation is to act on.

              + */ + inline void SetAnomalyDetectorArn(const char* value) { m_anomalyDetectorArnHasBeenSet = true; m_anomalyDetectorArn.assign(value); } + + /** + *

              The ARN of the anomaly detector that this operation is to act on.

              + */ + inline UpdateAnomalyRequest& WithAnomalyDetectorArn(const Aws::String& value) { SetAnomalyDetectorArn(value); return *this;} + + /** + *

              The ARN of the anomaly detector that this operation is to act on.

              + */ + inline UpdateAnomalyRequest& WithAnomalyDetectorArn(Aws::String&& value) { SetAnomalyDetectorArn(std::move(value)); return *this;} + + /** + *

              The ARN of the anomaly detector that this operation is to act on.

              + */ + inline UpdateAnomalyRequest& WithAnomalyDetectorArn(const char* value) { SetAnomalyDetectorArn(value); return *this;} + + + /** + *

              Use this to specify whether the suppression to be temporary or infinite. If + * you specify LIMITED, you must also specify a + * suppressionPeriod. If you specify INFINITE, any value + * for suppressionPeriod is ignored.

              + */ + inline const SuppressionType& GetSuppressionType() const{ return m_suppressionType; } + + /** + *

              Use this to specify whether the suppression to be temporary or infinite. If + * you specify LIMITED, you must also specify a + * suppressionPeriod. If you specify INFINITE, any value + * for suppressionPeriod is ignored.

              + */ + inline bool SuppressionTypeHasBeenSet() const { return m_suppressionTypeHasBeenSet; } + + /** + *

              Use this to specify whether the suppression to be temporary or infinite. If + * you specify LIMITED, you must also specify a + * suppressionPeriod. If you specify INFINITE, any value + * for suppressionPeriod is ignored.

              + */ + inline void SetSuppressionType(const SuppressionType& value) { m_suppressionTypeHasBeenSet = true; m_suppressionType = value; } + + /** + *

              Use this to specify whether the suppression to be temporary or infinite. If + * you specify LIMITED, you must also specify a + * suppressionPeriod. If you specify INFINITE, any value + * for suppressionPeriod is ignored.

              + */ + inline void SetSuppressionType(SuppressionType&& value) { m_suppressionTypeHasBeenSet = true; m_suppressionType = std::move(value); } + + /** + *

              Use this to specify whether the suppression to be temporary or infinite. If + * you specify LIMITED, you must also specify a + * suppressionPeriod. If you specify INFINITE, any value + * for suppressionPeriod is ignored.

              + */ + inline UpdateAnomalyRequest& WithSuppressionType(const SuppressionType& value) { SetSuppressionType(value); return *this;} + + /** + *

              Use this to specify whether the suppression to be temporary or infinite. If + * you specify LIMITED, you must also specify a + * suppressionPeriod. If you specify INFINITE, any value + * for suppressionPeriod is ignored.

              + */ + inline UpdateAnomalyRequest& WithSuppressionType(SuppressionType&& value) { SetSuppressionType(std::move(value)); return *this;} + + + /** + *

              If you are temporarily suppressing an anomaly or pattern, use this structure + * to specify how long the suppression is to last.

              + */ + inline const SuppressionPeriod& GetSuppressionPeriod() const{ return m_suppressionPeriod; } + + /** + *

              If you are temporarily suppressing an anomaly or pattern, use this structure + * to specify how long the suppression is to last.

              + */ + inline bool SuppressionPeriodHasBeenSet() const { return m_suppressionPeriodHasBeenSet; } + + /** + *

              If you are temporarily suppressing an anomaly or pattern, use this structure + * to specify how long the suppression is to last.

              + */ + inline void SetSuppressionPeriod(const SuppressionPeriod& value) { m_suppressionPeriodHasBeenSet = true; m_suppressionPeriod = value; } + + /** + *

              If you are temporarily suppressing an anomaly or pattern, use this structure + * to specify how long the suppression is to last.

              + */ + inline void SetSuppressionPeriod(SuppressionPeriod&& value) { m_suppressionPeriodHasBeenSet = true; m_suppressionPeriod = std::move(value); } + + /** + *

              If you are temporarily suppressing an anomaly or pattern, use this structure + * to specify how long the suppression is to last.

              + */ + inline UpdateAnomalyRequest& WithSuppressionPeriod(const SuppressionPeriod& value) { SetSuppressionPeriod(value); return *this;} + + /** + *

              If you are temporarily suppressing an anomaly or pattern, use this structure + * to specify how long the suppression is to last.

              + */ + inline UpdateAnomalyRequest& WithSuppressionPeriod(SuppressionPeriod&& value) { SetSuppressionPeriod(std::move(value)); return *this;} + + private: + + Aws::String m_anomalyId; + bool m_anomalyIdHasBeenSet = false; + + Aws::String m_patternId; + bool m_patternIdHasBeenSet = false; + + Aws::String m_anomalyDetectorArn; + bool m_anomalyDetectorArnHasBeenSet = false; + + SuppressionType m_suppressionType; + bool m_suppressionTypeHasBeenSet = false; + + SuppressionPeriod m_suppressionPeriod; + bool m_suppressionPeriodHasBeenSet = false; + }; + +} // namespace Model +} // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/UpdateLogAnomalyDetectorRequest.h b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/UpdateLogAnomalyDetectorRequest.h new file mode 100644 index 00000000000..f86753b21c7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/UpdateLogAnomalyDetectorRequest.h @@ -0,0 +1,236 @@ +/** + * 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 CloudWatchLogs +{ +namespace Model +{ + + /** + */ + class UpdateLogAnomalyDetectorRequest : public CloudWatchLogsRequest + { + public: + AWS_CLOUDWATCHLOGS_API UpdateLogAnomalyDetectorRequest(); + + // 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 "UpdateLogAnomalyDetector"; } + + AWS_CLOUDWATCHLOGS_API Aws::String SerializePayload() const override; + + AWS_CLOUDWATCHLOGS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + *

              The ARN of the anomaly detector that you want to update.

              + */ + inline const Aws::String& GetAnomalyDetectorArn() const{ return m_anomalyDetectorArn; } + + /** + *

              The ARN of the anomaly detector that you want to update.

              + */ + inline bool AnomalyDetectorArnHasBeenSet() const { return m_anomalyDetectorArnHasBeenSet; } + + /** + *

              The ARN of the anomaly detector that you want to update.

              + */ + inline void SetAnomalyDetectorArn(const Aws::String& value) { m_anomalyDetectorArnHasBeenSet = true; m_anomalyDetectorArn = value; } + + /** + *

              The ARN of the anomaly detector that you want to update.

              + */ + inline void SetAnomalyDetectorArn(Aws::String&& value) { m_anomalyDetectorArnHasBeenSet = true; m_anomalyDetectorArn = std::move(value); } + + /** + *

              The ARN of the anomaly detector that you want to update.

              + */ + inline void SetAnomalyDetectorArn(const char* value) { m_anomalyDetectorArnHasBeenSet = true; m_anomalyDetectorArn.assign(value); } + + /** + *

              The ARN of the anomaly detector that you want to update.

              + */ + inline UpdateLogAnomalyDetectorRequest& WithAnomalyDetectorArn(const Aws::String& value) { SetAnomalyDetectorArn(value); return *this;} + + /** + *

              The ARN of the anomaly detector that you want to update.

              + */ + inline UpdateLogAnomalyDetectorRequest& WithAnomalyDetectorArn(Aws::String&& value) { SetAnomalyDetectorArn(std::move(value)); return *this;} + + /** + *

              The ARN of the anomaly detector that you want to update.

              + */ + inline UpdateLogAnomalyDetectorRequest& WithAnomalyDetectorArn(const char* value) { SetAnomalyDetectorArn(value); return *this;} + + + /** + *

              Specifies how often the anomaly detector runs and look for anomalies. Set + * this value according to the frequency that the log group receives new logs. For + * example, if the log group receives new log events every 10 minutes, then setting + * evaluationFrequency to FIFTEEN_MIN might be + * appropriate.

              + */ + inline const EvaluationFrequency& GetEvaluationFrequency() const{ return m_evaluationFrequency; } + + /** + *

              Specifies how often the anomaly detector runs and look for anomalies. Set + * this value according to the frequency that the log group receives new logs. For + * example, if the log group receives new log events every 10 minutes, then setting + * evaluationFrequency to FIFTEEN_MIN might be + * appropriate.

              + */ + inline bool EvaluationFrequencyHasBeenSet() const { return m_evaluationFrequencyHasBeenSet; } + + /** + *

              Specifies how often the anomaly detector runs and look for anomalies. Set + * this value according to the frequency that the log group receives new logs. For + * example, if the log group receives new log events every 10 minutes, then setting + * evaluationFrequency to FIFTEEN_MIN might be + * appropriate.

              + */ + inline void SetEvaluationFrequency(const EvaluationFrequency& value) { m_evaluationFrequencyHasBeenSet = true; m_evaluationFrequency = value; } + + /** + *

              Specifies how often the anomaly detector runs and look for anomalies. Set + * this value according to the frequency that the log group receives new logs. For + * example, if the log group receives new log events every 10 minutes, then setting + * evaluationFrequency to FIFTEEN_MIN might be + * appropriate.

              + */ + inline void SetEvaluationFrequency(EvaluationFrequency&& value) { m_evaluationFrequencyHasBeenSet = true; m_evaluationFrequency = std::move(value); } + + /** + *

              Specifies how often the anomaly detector runs and look for anomalies. Set + * this value according to the frequency that the log group receives new logs. For + * example, if the log group receives new log events every 10 minutes, then setting + * evaluationFrequency to FIFTEEN_MIN might be + * appropriate.

              + */ + inline UpdateLogAnomalyDetectorRequest& WithEvaluationFrequency(const EvaluationFrequency& value) { SetEvaluationFrequency(value); return *this;} + + /** + *

              Specifies how often the anomaly detector runs and look for anomalies. Set + * this value according to the frequency that the log group receives new logs. For + * example, if the log group receives new log events every 10 minutes, then setting + * evaluationFrequency to FIFTEEN_MIN might be + * appropriate.

              + */ + inline UpdateLogAnomalyDetectorRequest& WithEvaluationFrequency(EvaluationFrequency&& value) { SetEvaluationFrequency(std::move(value)); return *this;} + + + + inline const Aws::String& GetFilterPattern() const{ return m_filterPattern; } + + + inline bool FilterPatternHasBeenSet() const { return m_filterPatternHasBeenSet; } + + + inline void SetFilterPattern(const Aws::String& value) { m_filterPatternHasBeenSet = true; m_filterPattern = value; } + + + inline void SetFilterPattern(Aws::String&& value) { m_filterPatternHasBeenSet = true; m_filterPattern = std::move(value); } + + + inline void SetFilterPattern(const char* value) { m_filterPatternHasBeenSet = true; m_filterPattern.assign(value); } + + + inline UpdateLogAnomalyDetectorRequest& WithFilterPattern(const Aws::String& value) { SetFilterPattern(value); return *this;} + + + inline UpdateLogAnomalyDetectorRequest& WithFilterPattern(Aws::String&& value) { SetFilterPattern(std::move(value)); return *this;} + + + inline UpdateLogAnomalyDetectorRequest& WithFilterPattern(const char* value) { SetFilterPattern(value); return *this;} + + + /** + *

              The number of days to use as the life cycle of anomalies. After this time, + * anomalies are automatically baselined and the anomaly detector model will treat + * new occurrences of similar event as normal. Therefore, if you do not correct the + * cause of an anomaly during this time, it will be considered normal going forward + * and will not be detected.

              + */ + inline long long GetAnomalyVisibilityTime() const{ return m_anomalyVisibilityTime; } + + /** + *

              The number of days to use as the life cycle of anomalies. After this time, + * anomalies are automatically baselined and the anomaly detector model will treat + * new occurrences of similar event as normal. Therefore, if you do not correct the + * cause of an anomaly during this time, it will be considered normal going forward + * and will not be detected.

              + */ + inline bool AnomalyVisibilityTimeHasBeenSet() const { return m_anomalyVisibilityTimeHasBeenSet; } + + /** + *

              The number of days to use as the life cycle of anomalies. After this time, + * anomalies are automatically baselined and the anomaly detector model will treat + * new occurrences of similar event as normal. Therefore, if you do not correct the + * cause of an anomaly during this time, it will be considered normal going forward + * and will not be detected.

              + */ + inline void SetAnomalyVisibilityTime(long long value) { m_anomalyVisibilityTimeHasBeenSet = true; m_anomalyVisibilityTime = value; } + + /** + *

              The number of days to use as the life cycle of anomalies. After this time, + * anomalies are automatically baselined and the anomaly detector model will treat + * new occurrences of similar event as normal. Therefore, if you do not correct the + * cause of an anomaly during this time, it will be considered normal going forward + * and will not be detected.

              + */ + inline UpdateLogAnomalyDetectorRequest& WithAnomalyVisibilityTime(long long value) { SetAnomalyVisibilityTime(value); return *this;} + + + /** + *

              Use this parameter to pause or restart the anomaly detector.

              + */ + inline bool GetEnabled() const{ return m_enabled; } + + /** + *

              Use this parameter to pause or restart the anomaly detector.

              + */ + inline bool EnabledHasBeenSet() const { return m_enabledHasBeenSet; } + + /** + *

              Use this parameter to pause or restart the anomaly detector.

              + */ + inline void SetEnabled(bool value) { m_enabledHasBeenSet = true; m_enabled = value; } + + /** + *

              Use this parameter to pause or restart the anomaly detector.

              + */ + inline UpdateLogAnomalyDetectorRequest& WithEnabled(bool value) { SetEnabled(value); return *this;} + + private: + + Aws::String m_anomalyDetectorArn; + bool m_anomalyDetectorArnHasBeenSet = false; + + EvaluationFrequency m_evaluationFrequency; + bool m_evaluationFrequencyHasBeenSet = false; + + Aws::String m_filterPattern; + bool m_filterPatternHasBeenSet = false; + + long long m_anomalyVisibilityTime; + bool m_anomalyVisibilityTimeHasBeenSet = false; + + bool m_enabled; + bool m_enabledHasBeenSet = false; + }; + +} // namespace Model +} // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/source/CloudWatchLogsClient.cpp b/generated/src/aws-cpp-sdk-logs/source/CloudWatchLogsClient.cpp index 8a9236eafc6..5bdd18bfc03 100644 --- a/generated/src/aws-cpp-sdk-logs/source/CloudWatchLogsClient.cpp +++ b/generated/src/aws-cpp-sdk-logs/source/CloudWatchLogsClient.cpp @@ -25,6 +25,7 @@ #include #include #include +#include #include #include #include @@ -34,6 +35,7 @@ #include #include #include +#include #include #include #include @@ -61,10 +63,13 @@ #include #include #include +#include #include #include #include #include +#include +#include #include #include #include @@ -84,6 +89,8 @@ #include #include #include +#include +#include #include @@ -321,6 +328,32 @@ CreateExportTaskOutcome CloudWatchLogsClient::CreateExportTask(const CreateExpor {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +CreateLogAnomalyDetectorOutcome CloudWatchLogsClient::CreateLogAnomalyDetector(const CreateLogAnomalyDetectorRequest& request) const +{ + AWS_OPERATION_GUARD(CreateLogAnomalyDetector); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CreateLogAnomalyDetector, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, CreateLogAnomalyDetector, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CreateLogAnomalyDetector, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".CreateLogAnomalyDetector", + {{ 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( + [&]()-> CreateLogAnomalyDetectorOutcome { + 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, CreateLogAnomalyDetector, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return CreateLogAnomalyDetectorOutcome(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()}}); +} + CreateLogGroupOutcome CloudWatchLogsClient::CreateLogGroup(const CreateLogGroupRequest& request) const { AWS_OPERATION_GUARD(CreateLogGroup); @@ -555,6 +588,32 @@ DeleteDestinationOutcome CloudWatchLogsClient::DeleteDestination(const DeleteDes {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +DeleteLogAnomalyDetectorOutcome CloudWatchLogsClient::DeleteLogAnomalyDetector(const DeleteLogAnomalyDetectorRequest& request) const +{ + AWS_OPERATION_GUARD(DeleteLogAnomalyDetector); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteLogAnomalyDetector, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DeleteLogAnomalyDetector, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DeleteLogAnomalyDetector, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DeleteLogAnomalyDetector", + {{ 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( + [&]()-> DeleteLogAnomalyDetectorOutcome { + 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, DeleteLogAnomalyDetector, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return DeleteLogAnomalyDetectorOutcome(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()}}); +} + DeleteLogGroupOutcome CloudWatchLogsClient::DeleteLogGroup(const DeleteLogGroupRequest& request) const { AWS_OPERATION_GUARD(DeleteLogGroup); @@ -1257,6 +1316,32 @@ GetDeliverySourceOutcome CloudWatchLogsClient::GetDeliverySource(const GetDelive {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +GetLogAnomalyDetectorOutcome CloudWatchLogsClient::GetLogAnomalyDetector(const GetLogAnomalyDetectorRequest& request) const +{ + AWS_OPERATION_GUARD(GetLogAnomalyDetector); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetLogAnomalyDetector, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetLogAnomalyDetector, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetLogAnomalyDetector, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetLogAnomalyDetector", + {{ 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( + [&]()-> GetLogAnomalyDetectorOutcome { + 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, GetLogAnomalyDetector, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return GetLogAnomalyDetectorOutcome(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()}}); +} + GetLogEventsOutcome CloudWatchLogsClient::GetLogEvents(const GetLogEventsRequest& request) const { AWS_OPERATION_GUARD(GetLogEvents); @@ -1361,6 +1446,58 @@ GetQueryResultsOutcome CloudWatchLogsClient::GetQueryResults(const GetQueryResul {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +ListAnomaliesOutcome CloudWatchLogsClient::ListAnomalies(const ListAnomaliesRequest& request) const +{ + AWS_OPERATION_GUARD(ListAnomalies); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListAnomalies, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListAnomalies, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListAnomalies, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListAnomalies", + {{ 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( + [&]()-> ListAnomaliesOutcome { + 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, ListAnomalies, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return ListAnomaliesOutcome(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()}}); +} + +ListLogAnomalyDetectorsOutcome CloudWatchLogsClient::ListLogAnomalyDetectors(const ListLogAnomalyDetectorsRequest& request) const +{ + AWS_OPERATION_GUARD(ListLogAnomalyDetectors); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListLogAnomalyDetectors, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListLogAnomalyDetectors, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListLogAnomalyDetectors, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListLogAnomalyDetectors", + {{ 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( + [&]()-> ListLogAnomalyDetectorsOutcome { + 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, ListLogAnomalyDetectors, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return ListLogAnomalyDetectorsOutcome(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()}}); +} + ListTagsForResourceOutcome CloudWatchLogsClient::ListTagsForResource(const ListTagsForResourceRequest& request) const { AWS_OPERATION_GUARD(ListTagsForResource); @@ -1855,3 +1992,55 @@ UntagResourceOutcome CloudWatchLogsClient::UntagResource(const UntagResourceRequ {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +UpdateAnomalyOutcome CloudWatchLogsClient::UpdateAnomaly(const UpdateAnomalyRequest& request) const +{ + AWS_OPERATION_GUARD(UpdateAnomaly); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UpdateAnomaly, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, UpdateAnomaly, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, UpdateAnomaly, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".UpdateAnomaly", + {{ 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( + [&]()-> UpdateAnomalyOutcome { + 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, UpdateAnomaly, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return UpdateAnomalyOutcome(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()}}); +} + +UpdateLogAnomalyDetectorOutcome CloudWatchLogsClient::UpdateLogAnomalyDetector(const UpdateLogAnomalyDetectorRequest& request) const +{ + AWS_OPERATION_GUARD(UpdateLogAnomalyDetector); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UpdateLogAnomalyDetector, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, UpdateLogAnomalyDetector, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, UpdateLogAnomalyDetector, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".UpdateLogAnomalyDetector", + {{ 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( + [&]()-> UpdateLogAnomalyDetectorOutcome { + 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, UpdateLogAnomalyDetector, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return UpdateLogAnomalyDetectorOutcome(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()}}); +} + diff --git a/generated/src/aws-cpp-sdk-logs/source/model/Anomaly.cpp b/generated/src/aws-cpp-sdk-logs/source/model/Anomaly.cpp new file mode 100644 index 00000000000..44cb662e2f7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/source/model/Anomaly.cpp @@ -0,0 +1,376 @@ +/** + * 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 CloudWatchLogs +{ +namespace Model +{ + +Anomaly::Anomaly() : + m_anomalyIdHasBeenSet(false), + m_patternIdHasBeenSet(false), + m_anomalyDetectorArnHasBeenSet(false), + m_patternStringHasBeenSet(false), + m_patternRegexHasBeenSet(false), + m_priorityHasBeenSet(false), + m_firstSeen(0), + m_firstSeenHasBeenSet(false), + m_lastSeen(0), + m_lastSeenHasBeenSet(false), + m_descriptionHasBeenSet(false), + m_active(false), + m_activeHasBeenSet(false), + m_state(State::NOT_SET), + m_stateHasBeenSet(false), + m_histogramHasBeenSet(false), + m_logSamplesHasBeenSet(false), + m_patternTokensHasBeenSet(false), + m_logGroupArnListHasBeenSet(false), + m_suppressed(false), + m_suppressedHasBeenSet(false), + m_suppressedDate(0), + m_suppressedDateHasBeenSet(false), + m_suppressedUntil(0), + m_suppressedUntilHasBeenSet(false), + m_isPatternLevelSuppression(false), + m_isPatternLevelSuppressionHasBeenSet(false) +{ +} + +Anomaly::Anomaly(JsonView jsonValue) : + m_anomalyIdHasBeenSet(false), + m_patternIdHasBeenSet(false), + m_anomalyDetectorArnHasBeenSet(false), + m_patternStringHasBeenSet(false), + m_patternRegexHasBeenSet(false), + m_priorityHasBeenSet(false), + m_firstSeen(0), + m_firstSeenHasBeenSet(false), + m_lastSeen(0), + m_lastSeenHasBeenSet(false), + m_descriptionHasBeenSet(false), + m_active(false), + m_activeHasBeenSet(false), + m_state(State::NOT_SET), + m_stateHasBeenSet(false), + m_histogramHasBeenSet(false), + m_logSamplesHasBeenSet(false), + m_patternTokensHasBeenSet(false), + m_logGroupArnListHasBeenSet(false), + m_suppressed(false), + m_suppressedHasBeenSet(false), + m_suppressedDate(0), + m_suppressedDateHasBeenSet(false), + m_suppressedUntil(0), + m_suppressedUntilHasBeenSet(false), + m_isPatternLevelSuppression(false), + m_isPatternLevelSuppressionHasBeenSet(false) +{ + *this = jsonValue; +} + +Anomaly& Anomaly::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("anomalyId")) + { + m_anomalyId = jsonValue.GetString("anomalyId"); + + m_anomalyIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("patternId")) + { + m_patternId = jsonValue.GetString("patternId"); + + m_patternIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("anomalyDetectorArn")) + { + m_anomalyDetectorArn = jsonValue.GetString("anomalyDetectorArn"); + + m_anomalyDetectorArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("patternString")) + { + m_patternString = jsonValue.GetString("patternString"); + + m_patternStringHasBeenSet = true; + } + + if(jsonValue.ValueExists("patternRegex")) + { + m_patternRegex = jsonValue.GetString("patternRegex"); + + m_patternRegexHasBeenSet = true; + } + + if(jsonValue.ValueExists("priority")) + { + m_priority = jsonValue.GetString("priority"); + + m_priorityHasBeenSet = true; + } + + if(jsonValue.ValueExists("firstSeen")) + { + m_firstSeen = jsonValue.GetInt64("firstSeen"); + + m_firstSeenHasBeenSet = true; + } + + if(jsonValue.ValueExists("lastSeen")) + { + m_lastSeen = jsonValue.GetInt64("lastSeen"); + + m_lastSeenHasBeenSet = true; + } + + if(jsonValue.ValueExists("description")) + { + m_description = jsonValue.GetString("description"); + + m_descriptionHasBeenSet = true; + } + + if(jsonValue.ValueExists("active")) + { + m_active = jsonValue.GetBool("active"); + + m_activeHasBeenSet = true; + } + + if(jsonValue.ValueExists("state")) + { + m_state = StateMapper::GetStateForName(jsonValue.GetString("state")); + + m_stateHasBeenSet = true; + } + + if(jsonValue.ValueExists("histogram")) + { + Aws::Map histogramJsonMap = jsonValue.GetObject("histogram").GetAllObjects(); + for(auto& histogramItem : histogramJsonMap) + { + m_histogram[histogramItem.first] = histogramItem.second.AsInt64(); + } + m_histogramHasBeenSet = true; + } + + if(jsonValue.ValueExists("logSamples")) + { + Aws::Utils::Array logSamplesJsonList = jsonValue.GetArray("logSamples"); + for(unsigned logSamplesIndex = 0; logSamplesIndex < logSamplesJsonList.GetLength(); ++logSamplesIndex) + { + m_logSamples.push_back(logSamplesJsonList[logSamplesIndex].AsString()); + } + m_logSamplesHasBeenSet = true; + } + + if(jsonValue.ValueExists("patternTokens")) + { + Aws::Utils::Array patternTokensJsonList = jsonValue.GetArray("patternTokens"); + for(unsigned patternTokensIndex = 0; patternTokensIndex < patternTokensJsonList.GetLength(); ++patternTokensIndex) + { + m_patternTokens.push_back(patternTokensJsonList[patternTokensIndex].AsObject()); + } + m_patternTokensHasBeenSet = true; + } + + if(jsonValue.ValueExists("logGroupArnList")) + { + Aws::Utils::Array logGroupArnListJsonList = jsonValue.GetArray("logGroupArnList"); + for(unsigned logGroupArnListIndex = 0; logGroupArnListIndex < logGroupArnListJsonList.GetLength(); ++logGroupArnListIndex) + { + m_logGroupArnList.push_back(logGroupArnListJsonList[logGroupArnListIndex].AsString()); + } + m_logGroupArnListHasBeenSet = true; + } + + if(jsonValue.ValueExists("suppressed")) + { + m_suppressed = jsonValue.GetBool("suppressed"); + + m_suppressedHasBeenSet = true; + } + + if(jsonValue.ValueExists("suppressedDate")) + { + m_suppressedDate = jsonValue.GetInt64("suppressedDate"); + + m_suppressedDateHasBeenSet = true; + } + + if(jsonValue.ValueExists("suppressedUntil")) + { + m_suppressedUntil = jsonValue.GetInt64("suppressedUntil"); + + m_suppressedUntilHasBeenSet = true; + } + + if(jsonValue.ValueExists("isPatternLevelSuppression")) + { + m_isPatternLevelSuppression = jsonValue.GetBool("isPatternLevelSuppression"); + + m_isPatternLevelSuppressionHasBeenSet = true; + } + + return *this; +} + +JsonValue Anomaly::Jsonize() const +{ + JsonValue payload; + + if(m_anomalyIdHasBeenSet) + { + payload.WithString("anomalyId", m_anomalyId); + + } + + if(m_patternIdHasBeenSet) + { + payload.WithString("patternId", m_patternId); + + } + + if(m_anomalyDetectorArnHasBeenSet) + { + payload.WithString("anomalyDetectorArn", m_anomalyDetectorArn); + + } + + if(m_patternStringHasBeenSet) + { + payload.WithString("patternString", m_patternString); + + } + + if(m_patternRegexHasBeenSet) + { + payload.WithString("patternRegex", m_patternRegex); + + } + + if(m_priorityHasBeenSet) + { + payload.WithString("priority", m_priority); + + } + + if(m_firstSeenHasBeenSet) + { + payload.WithInt64("firstSeen", m_firstSeen); + + } + + if(m_lastSeenHasBeenSet) + { + payload.WithInt64("lastSeen", m_lastSeen); + + } + + if(m_descriptionHasBeenSet) + { + payload.WithString("description", m_description); + + } + + if(m_activeHasBeenSet) + { + payload.WithBool("active", m_active); + + } + + if(m_stateHasBeenSet) + { + payload.WithString("state", StateMapper::GetNameForState(m_state)); + } + + if(m_histogramHasBeenSet) + { + JsonValue histogramJsonMap; + for(auto& histogramItem : m_histogram) + { + histogramJsonMap.WithInt64(histogramItem.first, histogramItem.second); + } + payload.WithObject("histogram", std::move(histogramJsonMap)); + + } + + if(m_logSamplesHasBeenSet) + { + Aws::Utils::Array logSamplesJsonList(m_logSamples.size()); + for(unsigned logSamplesIndex = 0; logSamplesIndex < logSamplesJsonList.GetLength(); ++logSamplesIndex) + { + logSamplesJsonList[logSamplesIndex].AsString(m_logSamples[logSamplesIndex]); + } + payload.WithArray("logSamples", std::move(logSamplesJsonList)); + + } + + if(m_patternTokensHasBeenSet) + { + Aws::Utils::Array patternTokensJsonList(m_patternTokens.size()); + for(unsigned patternTokensIndex = 0; patternTokensIndex < patternTokensJsonList.GetLength(); ++patternTokensIndex) + { + patternTokensJsonList[patternTokensIndex].AsObject(m_patternTokens[patternTokensIndex].Jsonize()); + } + payload.WithArray("patternTokens", std::move(patternTokensJsonList)); + + } + + if(m_logGroupArnListHasBeenSet) + { + Aws::Utils::Array logGroupArnListJsonList(m_logGroupArnList.size()); + for(unsigned logGroupArnListIndex = 0; logGroupArnListIndex < logGroupArnListJsonList.GetLength(); ++logGroupArnListIndex) + { + logGroupArnListJsonList[logGroupArnListIndex].AsString(m_logGroupArnList[logGroupArnListIndex]); + } + payload.WithArray("logGroupArnList", std::move(logGroupArnListJsonList)); + + } + + if(m_suppressedHasBeenSet) + { + payload.WithBool("suppressed", m_suppressed); + + } + + if(m_suppressedDateHasBeenSet) + { + payload.WithInt64("suppressedDate", m_suppressedDate); + + } + + if(m_suppressedUntilHasBeenSet) + { + payload.WithInt64("suppressedUntil", m_suppressedUntil); + + } + + if(m_isPatternLevelSuppressionHasBeenSet) + { + payload.WithBool("isPatternLevelSuppression", m_isPatternLevelSuppression); + + } + + return payload; +} + +} // namespace Model +} // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/source/model/AnomalyDetector.cpp b/generated/src/aws-cpp-sdk-logs/source/model/AnomalyDetector.cpp new file mode 100644 index 00000000000..d0239251b80 --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/source/model/AnomalyDetector.cpp @@ -0,0 +1,210 @@ +/** + * 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 CloudWatchLogs +{ +namespace Model +{ + +AnomalyDetector::AnomalyDetector() : + m_anomalyDetectorArnHasBeenSet(false), + m_detectorNameHasBeenSet(false), + m_logGroupArnListHasBeenSet(false), + m_evaluationFrequency(EvaluationFrequency::NOT_SET), + m_evaluationFrequencyHasBeenSet(false), + m_filterPatternHasBeenSet(false), + m_anomalyDetectorStatus(AnomalyDetectorStatus::NOT_SET), + m_anomalyDetectorStatusHasBeenSet(false), + m_kmsKeyIdHasBeenSet(false), + m_creationTimeStamp(0), + m_creationTimeStampHasBeenSet(false), + m_lastModifiedTimeStamp(0), + m_lastModifiedTimeStampHasBeenSet(false), + m_anomalyVisibilityTime(0), + m_anomalyVisibilityTimeHasBeenSet(false) +{ +} + +AnomalyDetector::AnomalyDetector(JsonView jsonValue) : + m_anomalyDetectorArnHasBeenSet(false), + m_detectorNameHasBeenSet(false), + m_logGroupArnListHasBeenSet(false), + m_evaluationFrequency(EvaluationFrequency::NOT_SET), + m_evaluationFrequencyHasBeenSet(false), + m_filterPatternHasBeenSet(false), + m_anomalyDetectorStatus(AnomalyDetectorStatus::NOT_SET), + m_anomalyDetectorStatusHasBeenSet(false), + m_kmsKeyIdHasBeenSet(false), + m_creationTimeStamp(0), + m_creationTimeStampHasBeenSet(false), + m_lastModifiedTimeStamp(0), + m_lastModifiedTimeStampHasBeenSet(false), + m_anomalyVisibilityTime(0), + m_anomalyVisibilityTimeHasBeenSet(false) +{ + *this = jsonValue; +} + +AnomalyDetector& AnomalyDetector::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("anomalyDetectorArn")) + { + m_anomalyDetectorArn = jsonValue.GetString("anomalyDetectorArn"); + + m_anomalyDetectorArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("detectorName")) + { + m_detectorName = jsonValue.GetString("detectorName"); + + m_detectorNameHasBeenSet = true; + } + + if(jsonValue.ValueExists("logGroupArnList")) + { + Aws::Utils::Array logGroupArnListJsonList = jsonValue.GetArray("logGroupArnList"); + for(unsigned logGroupArnListIndex = 0; logGroupArnListIndex < logGroupArnListJsonList.GetLength(); ++logGroupArnListIndex) + { + m_logGroupArnList.push_back(logGroupArnListJsonList[logGroupArnListIndex].AsString()); + } + m_logGroupArnListHasBeenSet = true; + } + + if(jsonValue.ValueExists("evaluationFrequency")) + { + m_evaluationFrequency = EvaluationFrequencyMapper::GetEvaluationFrequencyForName(jsonValue.GetString("evaluationFrequency")); + + m_evaluationFrequencyHasBeenSet = true; + } + + if(jsonValue.ValueExists("filterPattern")) + { + m_filterPattern = jsonValue.GetString("filterPattern"); + + m_filterPatternHasBeenSet = true; + } + + if(jsonValue.ValueExists("anomalyDetectorStatus")) + { + m_anomalyDetectorStatus = AnomalyDetectorStatusMapper::GetAnomalyDetectorStatusForName(jsonValue.GetString("anomalyDetectorStatus")); + + m_anomalyDetectorStatusHasBeenSet = true; + } + + if(jsonValue.ValueExists("kmsKeyId")) + { + m_kmsKeyId = jsonValue.GetString("kmsKeyId"); + + m_kmsKeyIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("creationTimeStamp")) + { + m_creationTimeStamp = jsonValue.GetInt64("creationTimeStamp"); + + m_creationTimeStampHasBeenSet = true; + } + + if(jsonValue.ValueExists("lastModifiedTimeStamp")) + { + m_lastModifiedTimeStamp = jsonValue.GetInt64("lastModifiedTimeStamp"); + + m_lastModifiedTimeStampHasBeenSet = true; + } + + if(jsonValue.ValueExists("anomalyVisibilityTime")) + { + m_anomalyVisibilityTime = jsonValue.GetInt64("anomalyVisibilityTime"); + + m_anomalyVisibilityTimeHasBeenSet = true; + } + + return *this; +} + +JsonValue AnomalyDetector::Jsonize() const +{ + JsonValue payload; + + if(m_anomalyDetectorArnHasBeenSet) + { + payload.WithString("anomalyDetectorArn", m_anomalyDetectorArn); + + } + + if(m_detectorNameHasBeenSet) + { + payload.WithString("detectorName", m_detectorName); + + } + + if(m_logGroupArnListHasBeenSet) + { + Aws::Utils::Array logGroupArnListJsonList(m_logGroupArnList.size()); + for(unsigned logGroupArnListIndex = 0; logGroupArnListIndex < logGroupArnListJsonList.GetLength(); ++logGroupArnListIndex) + { + logGroupArnListJsonList[logGroupArnListIndex].AsString(m_logGroupArnList[logGroupArnListIndex]); + } + payload.WithArray("logGroupArnList", std::move(logGroupArnListJsonList)); + + } + + if(m_evaluationFrequencyHasBeenSet) + { + payload.WithString("evaluationFrequency", EvaluationFrequencyMapper::GetNameForEvaluationFrequency(m_evaluationFrequency)); + } + + if(m_filterPatternHasBeenSet) + { + payload.WithString("filterPattern", m_filterPattern); + + } + + if(m_anomalyDetectorStatusHasBeenSet) + { + payload.WithString("anomalyDetectorStatus", AnomalyDetectorStatusMapper::GetNameForAnomalyDetectorStatus(m_anomalyDetectorStatus)); + } + + if(m_kmsKeyIdHasBeenSet) + { + payload.WithString("kmsKeyId", m_kmsKeyId); + + } + + if(m_creationTimeStampHasBeenSet) + { + payload.WithInt64("creationTimeStamp", m_creationTimeStamp); + + } + + if(m_lastModifiedTimeStampHasBeenSet) + { + payload.WithInt64("lastModifiedTimeStamp", m_lastModifiedTimeStamp); + + } + + if(m_anomalyVisibilityTimeHasBeenSet) + { + payload.WithInt64("anomalyVisibilityTime", m_anomalyVisibilityTime); + + } + + return payload; +} + +} // namespace Model +} // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/source/model/AnomalyDetectorStatus.cpp b/generated/src/aws-cpp-sdk-logs/source/model/AnomalyDetectorStatus.cpp new file mode 100644 index 00000000000..cc5b38686eb --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/source/model/AnomalyDetectorStatus.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 CloudWatchLogs + { + namespace Model + { + namespace AnomalyDetectorStatusMapper + { + + static const int INITIALIZING_HASH = HashingUtils::HashString("INITIALIZING"); + static const int TRAINING_HASH = HashingUtils::HashString("TRAINING"); + static const int ANALYZING_HASH = HashingUtils::HashString("ANALYZING"); + static const int FAILED_HASH = HashingUtils::HashString("FAILED"); + static const int DELETED_HASH = HashingUtils::HashString("DELETED"); + static const int PAUSED_HASH = HashingUtils::HashString("PAUSED"); + + + AnomalyDetectorStatus GetAnomalyDetectorStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == INITIALIZING_HASH) + { + return AnomalyDetectorStatus::INITIALIZING; + } + else if (hashCode == TRAINING_HASH) + { + return AnomalyDetectorStatus::TRAINING; + } + else if (hashCode == ANALYZING_HASH) + { + return AnomalyDetectorStatus::ANALYZING; + } + else if (hashCode == FAILED_HASH) + { + return AnomalyDetectorStatus::FAILED; + } + else if (hashCode == DELETED_HASH) + { + return AnomalyDetectorStatus::DELETED; + } + else if (hashCode == PAUSED_HASH) + { + return AnomalyDetectorStatus::PAUSED; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return AnomalyDetectorStatus::NOT_SET; + } + + Aws::String GetNameForAnomalyDetectorStatus(AnomalyDetectorStatus enumValue) + { + switch(enumValue) + { + case AnomalyDetectorStatus::NOT_SET: + return {}; + case AnomalyDetectorStatus::INITIALIZING: + return "INITIALIZING"; + case AnomalyDetectorStatus::TRAINING: + return "TRAINING"; + case AnomalyDetectorStatus::ANALYZING: + return "ANALYZING"; + case AnomalyDetectorStatus::FAILED: + return "FAILED"; + case AnomalyDetectorStatus::DELETED: + return "DELETED"; + case AnomalyDetectorStatus::PAUSED: + return "PAUSED"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace AnomalyDetectorStatusMapper + } // namespace Model + } // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/source/model/CreateLogAnomalyDetectorRequest.cpp b/generated/src/aws-cpp-sdk-logs/source/model/CreateLogAnomalyDetectorRequest.cpp new file mode 100644 index 00000000000..f08aade8650 --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/source/model/CreateLogAnomalyDetectorRequest.cpp @@ -0,0 +1,96 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::CloudWatchLogs::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +CreateLogAnomalyDetectorRequest::CreateLogAnomalyDetectorRequest() : + m_logGroupArnListHasBeenSet(false), + m_detectorNameHasBeenSet(false), + m_evaluationFrequency(EvaluationFrequency::NOT_SET), + m_evaluationFrequencyHasBeenSet(false), + m_filterPatternHasBeenSet(false), + m_kmsKeyIdHasBeenSet(false), + m_anomalyVisibilityTime(0), + m_anomalyVisibilityTimeHasBeenSet(false), + m_tagsHasBeenSet(false) +{ +} + +Aws::String CreateLogAnomalyDetectorRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_logGroupArnListHasBeenSet) + { + Aws::Utils::Array logGroupArnListJsonList(m_logGroupArnList.size()); + for(unsigned logGroupArnListIndex = 0; logGroupArnListIndex < logGroupArnListJsonList.GetLength(); ++logGroupArnListIndex) + { + logGroupArnListJsonList[logGroupArnListIndex].AsString(m_logGroupArnList[logGroupArnListIndex]); + } + payload.WithArray("logGroupArnList", std::move(logGroupArnListJsonList)); + + } + + if(m_detectorNameHasBeenSet) + { + payload.WithString("detectorName", m_detectorName); + + } + + if(m_evaluationFrequencyHasBeenSet) + { + payload.WithString("evaluationFrequency", EvaluationFrequencyMapper::GetNameForEvaluationFrequency(m_evaluationFrequency)); + } + + if(m_filterPatternHasBeenSet) + { + payload.WithString("filterPattern", m_filterPattern); + + } + + if(m_kmsKeyIdHasBeenSet) + { + payload.WithString("kmsKeyId", m_kmsKeyId); + + } + + if(m_anomalyVisibilityTimeHasBeenSet) + { + payload.WithInt64("anomalyVisibilityTime", m_anomalyVisibilityTime); + + } + + if(m_tagsHasBeenSet) + { + JsonValue tagsJsonMap; + for(auto& tagsItem : m_tags) + { + tagsJsonMap.WithString(tagsItem.first, tagsItem.second); + } + payload.WithObject("tags", std::move(tagsJsonMap)); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection CreateLogAnomalyDetectorRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "Logs_20140328.CreateLogAnomalyDetector")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-logs/source/model/CreateLogAnomalyDetectorResult.cpp b/generated/src/aws-cpp-sdk-logs/source/model/CreateLogAnomalyDetectorResult.cpp new file mode 100644 index 00000000000..524968cf93c --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/source/model/CreateLogAnomalyDetectorResult.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::CloudWatchLogs::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +CreateLogAnomalyDetectorResult::CreateLogAnomalyDetectorResult() +{ +} + +CreateLogAnomalyDetectorResult::CreateLogAnomalyDetectorResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +CreateLogAnomalyDetectorResult& CreateLogAnomalyDetectorResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("anomalyDetectorArn")) + { + m_anomalyDetectorArn = jsonValue.GetString("anomalyDetectorArn"); + + } + + + 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-logs/source/model/CreateLogGroupRequest.cpp b/generated/src/aws-cpp-sdk-logs/source/model/CreateLogGroupRequest.cpp index 83c530389d5..c71093d2b4b 100644 --- a/generated/src/aws-cpp-sdk-logs/source/model/CreateLogGroupRequest.cpp +++ b/generated/src/aws-cpp-sdk-logs/source/model/CreateLogGroupRequest.cpp @@ -15,7 +15,9 @@ using namespace Aws::Utils; CreateLogGroupRequest::CreateLogGroupRequest() : m_logGroupNameHasBeenSet(false), m_kmsKeyIdHasBeenSet(false), - m_tagsHasBeenSet(false) + m_tagsHasBeenSet(false), + m_logGroupClass(LogGroupClass::NOT_SET), + m_logGroupClassHasBeenSet(false) { } @@ -46,6 +48,11 @@ Aws::String CreateLogGroupRequest::SerializePayload() const } + if(m_logGroupClassHasBeenSet) + { + payload.WithString("logGroupClass", LogGroupClassMapper::GetNameForLogGroupClass(m_logGroupClass)); + } + return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-logs/source/model/DeleteLogAnomalyDetectorRequest.cpp b/generated/src/aws-cpp-sdk-logs/source/model/DeleteLogAnomalyDetectorRequest.cpp new file mode 100644 index 00000000000..e185ebffb19 --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/source/model/DeleteLogAnomalyDetectorRequest.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::CloudWatchLogs::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +DeleteLogAnomalyDetectorRequest::DeleteLogAnomalyDetectorRequest() : + m_anomalyDetectorArnHasBeenSet(false) +{ +} + +Aws::String DeleteLogAnomalyDetectorRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_anomalyDetectorArnHasBeenSet) + { + payload.WithString("anomalyDetectorArn", m_anomalyDetectorArn); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection DeleteLogAnomalyDetectorRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "Logs_20140328.DeleteLogAnomalyDetector")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-logs/source/model/DescribeLogGroupsRequest.cpp b/generated/src/aws-cpp-sdk-logs/source/model/DescribeLogGroupsRequest.cpp index 27c32a25725..e2b48a6181c 100644 --- a/generated/src/aws-cpp-sdk-logs/source/model/DescribeLogGroupsRequest.cpp +++ b/generated/src/aws-cpp-sdk-logs/source/model/DescribeLogGroupsRequest.cpp @@ -20,7 +20,9 @@ DescribeLogGroupsRequest::DescribeLogGroupsRequest() : m_limit(0), m_limitHasBeenSet(false), m_includeLinkedAccounts(false), - m_includeLinkedAccountsHasBeenSet(false) + m_includeLinkedAccountsHasBeenSet(false), + m_logGroupClass(LogGroupClass::NOT_SET), + m_logGroupClassHasBeenSet(false) { } @@ -69,6 +71,11 @@ Aws::String DescribeLogGroupsRequest::SerializePayload() const } + if(m_logGroupClassHasBeenSet) + { + payload.WithString("logGroupClass", LogGroupClassMapper::GetNameForLogGroupClass(m_logGroupClass)); + } + return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-logs/source/model/EvaluationFrequency.cpp b/generated/src/aws-cpp-sdk-logs/source/model/EvaluationFrequency.cpp new file mode 100644 index 00000000000..23cc3b36a63 --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/source/model/EvaluationFrequency.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 CloudWatchLogs + { + namespace Model + { + namespace EvaluationFrequencyMapper + { + + static const int ONE_MIN_HASH = HashingUtils::HashString("ONE_MIN"); + static const int FIVE_MIN_HASH = HashingUtils::HashString("FIVE_MIN"); + static const int TEN_MIN_HASH = HashingUtils::HashString("TEN_MIN"); + static const int FIFTEEN_MIN_HASH = HashingUtils::HashString("FIFTEEN_MIN"); + static const int THIRTY_MIN_HASH = HashingUtils::HashString("THIRTY_MIN"); + static const int ONE_HOUR_HASH = HashingUtils::HashString("ONE_HOUR"); + + + EvaluationFrequency GetEvaluationFrequencyForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == ONE_MIN_HASH) + { + return EvaluationFrequency::ONE_MIN; + } + else if (hashCode == FIVE_MIN_HASH) + { + return EvaluationFrequency::FIVE_MIN; + } + else if (hashCode == TEN_MIN_HASH) + { + return EvaluationFrequency::TEN_MIN; + } + else if (hashCode == FIFTEEN_MIN_HASH) + { + return EvaluationFrequency::FIFTEEN_MIN; + } + else if (hashCode == THIRTY_MIN_HASH) + { + return EvaluationFrequency::THIRTY_MIN; + } + else if (hashCode == ONE_HOUR_HASH) + { + return EvaluationFrequency::ONE_HOUR; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return EvaluationFrequency::NOT_SET; + } + + Aws::String GetNameForEvaluationFrequency(EvaluationFrequency enumValue) + { + switch(enumValue) + { + case EvaluationFrequency::NOT_SET: + return {}; + case EvaluationFrequency::ONE_MIN: + return "ONE_MIN"; + case EvaluationFrequency::FIVE_MIN: + return "FIVE_MIN"; + case EvaluationFrequency::TEN_MIN: + return "TEN_MIN"; + case EvaluationFrequency::FIFTEEN_MIN: + return "FIFTEEN_MIN"; + case EvaluationFrequency::THIRTY_MIN: + return "THIRTY_MIN"; + case EvaluationFrequency::ONE_HOUR: + return "ONE_HOUR"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace EvaluationFrequencyMapper + } // namespace Model + } // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/source/model/GetLogAnomalyDetectorRequest.cpp b/generated/src/aws-cpp-sdk-logs/source/model/GetLogAnomalyDetectorRequest.cpp new file mode 100644 index 00000000000..1e0f7eec93c --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/source/model/GetLogAnomalyDetectorRequest.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::CloudWatchLogs::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +GetLogAnomalyDetectorRequest::GetLogAnomalyDetectorRequest() : + m_anomalyDetectorArnHasBeenSet(false) +{ +} + +Aws::String GetLogAnomalyDetectorRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_anomalyDetectorArnHasBeenSet) + { + payload.WithString("anomalyDetectorArn", m_anomalyDetectorArn); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection GetLogAnomalyDetectorRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "Logs_20140328.GetLogAnomalyDetector")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-logs/source/model/GetLogAnomalyDetectorResult.cpp b/generated/src/aws-cpp-sdk-logs/source/model/GetLogAnomalyDetectorResult.cpp new file mode 100644 index 00000000000..5450f6deaba --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/source/model/GetLogAnomalyDetectorResult.cpp @@ -0,0 +1,109 @@ +/** + * 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::CloudWatchLogs::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetLogAnomalyDetectorResult::GetLogAnomalyDetectorResult() : + m_evaluationFrequency(EvaluationFrequency::NOT_SET), + m_anomalyDetectorStatus(AnomalyDetectorStatus::NOT_SET), + m_creationTimeStamp(0), + m_lastModifiedTimeStamp(0), + m_anomalyVisibilityTime(0) +{ +} + +GetLogAnomalyDetectorResult::GetLogAnomalyDetectorResult(const Aws::AmazonWebServiceResult& result) : + m_evaluationFrequency(EvaluationFrequency::NOT_SET), + m_anomalyDetectorStatus(AnomalyDetectorStatus::NOT_SET), + m_creationTimeStamp(0), + m_lastModifiedTimeStamp(0), + m_anomalyVisibilityTime(0) +{ + *this = result; +} + +GetLogAnomalyDetectorResult& GetLogAnomalyDetectorResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("detectorName")) + { + m_detectorName = jsonValue.GetString("detectorName"); + + } + + if(jsonValue.ValueExists("logGroupArnList")) + { + Aws::Utils::Array logGroupArnListJsonList = jsonValue.GetArray("logGroupArnList"); + for(unsigned logGroupArnListIndex = 0; logGroupArnListIndex < logGroupArnListJsonList.GetLength(); ++logGroupArnListIndex) + { + m_logGroupArnList.push_back(logGroupArnListJsonList[logGroupArnListIndex].AsString()); + } + } + + if(jsonValue.ValueExists("evaluationFrequency")) + { + m_evaluationFrequency = EvaluationFrequencyMapper::GetEvaluationFrequencyForName(jsonValue.GetString("evaluationFrequency")); + + } + + if(jsonValue.ValueExists("filterPattern")) + { + m_filterPattern = jsonValue.GetString("filterPattern"); + + } + + if(jsonValue.ValueExists("anomalyDetectorStatus")) + { + m_anomalyDetectorStatus = AnomalyDetectorStatusMapper::GetAnomalyDetectorStatusForName(jsonValue.GetString("anomalyDetectorStatus")); + + } + + if(jsonValue.ValueExists("kmsKeyId")) + { + m_kmsKeyId = jsonValue.GetString("kmsKeyId"); + + } + + if(jsonValue.ValueExists("creationTimeStamp")) + { + m_creationTimeStamp = jsonValue.GetInt64("creationTimeStamp"); + + } + + if(jsonValue.ValueExists("lastModifiedTimeStamp")) + { + m_lastModifiedTimeStamp = jsonValue.GetInt64("lastModifiedTimeStamp"); + + } + + if(jsonValue.ValueExists("anomalyVisibilityTime")) + { + m_anomalyVisibilityTime = jsonValue.GetInt64("anomalyVisibilityTime"); + + } + + + 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-logs/source/model/ListAnomaliesRequest.cpp b/generated/src/aws-cpp-sdk-logs/source/model/ListAnomaliesRequest.cpp new file mode 100644 index 00000000000..0caa33d474f --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/source/model/ListAnomaliesRequest.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::CloudWatchLogs::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +ListAnomaliesRequest::ListAnomaliesRequest() : + m_anomalyDetectorArnHasBeenSet(false), + m_suppressionState(SuppressionState::NOT_SET), + m_suppressionStateHasBeenSet(false), + m_limit(0), + m_limitHasBeenSet(false), + m_nextTokenHasBeenSet(false) +{ +} + +Aws::String ListAnomaliesRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_anomalyDetectorArnHasBeenSet) + { + payload.WithString("anomalyDetectorArn", m_anomalyDetectorArn); + + } + + if(m_suppressionStateHasBeenSet) + { + payload.WithString("suppressionState", SuppressionStateMapper::GetNameForSuppressionState(m_suppressionState)); + } + + if(m_limitHasBeenSet) + { + payload.WithInteger("limit", m_limit); + + } + + if(m_nextTokenHasBeenSet) + { + payload.WithString("nextToken", m_nextToken); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection ListAnomaliesRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "Logs_20140328.ListAnomalies")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-logs/source/model/ListAnomaliesResult.cpp b/generated/src/aws-cpp-sdk-logs/source/model/ListAnomaliesResult.cpp new file mode 100644 index 00000000000..b60c9640378 --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/source/model/ListAnomaliesResult.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::CloudWatchLogs::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListAnomaliesResult::ListAnomaliesResult() +{ +} + +ListAnomaliesResult::ListAnomaliesResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListAnomaliesResult& ListAnomaliesResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("anomalies")) + { + Aws::Utils::Array anomaliesJsonList = jsonValue.GetArray("anomalies"); + for(unsigned anomaliesIndex = 0; anomaliesIndex < anomaliesJsonList.GetLength(); ++anomaliesIndex) + { + m_anomalies.push_back(anomaliesJsonList[anomaliesIndex].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-logs/source/model/ListLogAnomalyDetectorsRequest.cpp b/generated/src/aws-cpp-sdk-logs/source/model/ListLogAnomalyDetectorsRequest.cpp new file mode 100644 index 00000000000..7740c2197a1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/source/model/ListLogAnomalyDetectorsRequest.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::CloudWatchLogs::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +ListLogAnomalyDetectorsRequest::ListLogAnomalyDetectorsRequest() : + m_filterLogGroupArnHasBeenSet(false), + m_limit(0), + m_limitHasBeenSet(false), + m_nextTokenHasBeenSet(false) +{ +} + +Aws::String ListLogAnomalyDetectorsRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_filterLogGroupArnHasBeenSet) + { + payload.WithString("filterLogGroupArn", m_filterLogGroupArn); + + } + + if(m_limitHasBeenSet) + { + payload.WithInteger("limit", m_limit); + + } + + if(m_nextTokenHasBeenSet) + { + payload.WithString("nextToken", m_nextToken); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection ListLogAnomalyDetectorsRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "Logs_20140328.ListLogAnomalyDetectors")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-logs/source/model/ListLogAnomalyDetectorsResult.cpp b/generated/src/aws-cpp-sdk-logs/source/model/ListLogAnomalyDetectorsResult.cpp new file mode 100644 index 00000000000..21cf494e24d --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/source/model/ListLogAnomalyDetectorsResult.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::CloudWatchLogs::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListLogAnomalyDetectorsResult::ListLogAnomalyDetectorsResult() +{ +} + +ListLogAnomalyDetectorsResult::ListLogAnomalyDetectorsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListLogAnomalyDetectorsResult& ListLogAnomalyDetectorsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("anomalyDetectors")) + { + Aws::Utils::Array anomalyDetectorsJsonList = jsonValue.GetArray("anomalyDetectors"); + for(unsigned anomalyDetectorsIndex = 0; anomalyDetectorsIndex < anomalyDetectorsJsonList.GetLength(); ++anomalyDetectorsIndex) + { + m_anomalyDetectors.push_back(anomalyDetectorsJsonList[anomalyDetectorsIndex].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-logs/source/model/LogGroup.cpp b/generated/src/aws-cpp-sdk-logs/source/model/LogGroup.cpp index 403b0c7a54d..708903c1e08 100644 --- a/generated/src/aws-cpp-sdk-logs/source/model/LogGroup.cpp +++ b/generated/src/aws-cpp-sdk-logs/source/model/LogGroup.cpp @@ -32,7 +32,9 @@ LogGroup::LogGroup() : m_kmsKeyIdHasBeenSet(false), m_dataProtectionStatus(DataProtectionStatus::NOT_SET), m_dataProtectionStatusHasBeenSet(false), - m_inheritedPropertiesHasBeenSet(false) + m_inheritedPropertiesHasBeenSet(false), + m_logGroupClass(LogGroupClass::NOT_SET), + m_logGroupClassHasBeenSet(false) { } @@ -50,7 +52,9 @@ LogGroup::LogGroup(JsonView jsonValue) : m_kmsKeyIdHasBeenSet(false), m_dataProtectionStatus(DataProtectionStatus::NOT_SET), m_dataProtectionStatusHasBeenSet(false), - m_inheritedPropertiesHasBeenSet(false) + m_inheritedPropertiesHasBeenSet(false), + m_logGroupClass(LogGroupClass::NOT_SET), + m_logGroupClassHasBeenSet(false) { *this = jsonValue; } @@ -123,6 +127,13 @@ LogGroup& LogGroup::operator =(JsonView jsonValue) m_inheritedPropertiesHasBeenSet = true; } + if(jsonValue.ValueExists("logGroupClass")) + { + m_logGroupClass = LogGroupClassMapper::GetLogGroupClassForName(jsonValue.GetString("logGroupClass")); + + m_logGroupClassHasBeenSet = true; + } + return *this; } @@ -188,6 +199,11 @@ JsonValue LogGroup::Jsonize() const } + if(m_logGroupClassHasBeenSet) + { + payload.WithString("logGroupClass", LogGroupClassMapper::GetNameForLogGroupClass(m_logGroupClass)); + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-logs/source/model/LogGroupClass.cpp b/generated/src/aws-cpp-sdk-logs/source/model/LogGroupClass.cpp new file mode 100644 index 00000000000..caceccd17bd --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/source/model/LogGroupClass.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 CloudWatchLogs + { + namespace Model + { + namespace LogGroupClassMapper + { + + static const int STANDARD_HASH = HashingUtils::HashString("STANDARD"); + static const int INFREQUENT_ACCESS_HASH = HashingUtils::HashString("INFREQUENT_ACCESS"); + + + LogGroupClass GetLogGroupClassForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == STANDARD_HASH) + { + return LogGroupClass::STANDARD; + } + else if (hashCode == INFREQUENT_ACCESS_HASH) + { + return LogGroupClass::INFREQUENT_ACCESS; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return LogGroupClass::NOT_SET; + } + + Aws::String GetNameForLogGroupClass(LogGroupClass enumValue) + { + switch(enumValue) + { + case LogGroupClass::NOT_SET: + return {}; + case LogGroupClass::STANDARD: + return "STANDARD"; + case LogGroupClass::INFREQUENT_ACCESS: + return "INFREQUENT_ACCESS"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace LogGroupClassMapper + } // namespace Model + } // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/source/model/PatternToken.cpp b/generated/src/aws-cpp-sdk-logs/source/model/PatternToken.cpp new file mode 100644 index 00000000000..154e5fbaf3e --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/source/model/PatternToken.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 CloudWatchLogs +{ +namespace Model +{ + +PatternToken::PatternToken() : + m_dynamicTokenPosition(0), + m_dynamicTokenPositionHasBeenSet(false), + m_isDynamic(false), + m_isDynamicHasBeenSet(false), + m_tokenStringHasBeenSet(false), + m_enumerationsHasBeenSet(false) +{ +} + +PatternToken::PatternToken(JsonView jsonValue) : + m_dynamicTokenPosition(0), + m_dynamicTokenPositionHasBeenSet(false), + m_isDynamic(false), + m_isDynamicHasBeenSet(false), + m_tokenStringHasBeenSet(false), + m_enumerationsHasBeenSet(false) +{ + *this = jsonValue; +} + +PatternToken& PatternToken::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("dynamicTokenPosition")) + { + m_dynamicTokenPosition = jsonValue.GetInteger("dynamicTokenPosition"); + + m_dynamicTokenPositionHasBeenSet = true; + } + + if(jsonValue.ValueExists("isDynamic")) + { + m_isDynamic = jsonValue.GetBool("isDynamic"); + + m_isDynamicHasBeenSet = true; + } + + if(jsonValue.ValueExists("tokenString")) + { + m_tokenString = jsonValue.GetString("tokenString"); + + m_tokenStringHasBeenSet = true; + } + + if(jsonValue.ValueExists("enumerations")) + { + Aws::Map enumerationsJsonMap = jsonValue.GetObject("enumerations").GetAllObjects(); + for(auto& enumerationsItem : enumerationsJsonMap) + { + m_enumerations[enumerationsItem.first] = enumerationsItem.second.AsInt64(); + } + m_enumerationsHasBeenSet = true; + } + + return *this; +} + +JsonValue PatternToken::Jsonize() const +{ + JsonValue payload; + + if(m_dynamicTokenPositionHasBeenSet) + { + payload.WithInteger("dynamicTokenPosition", m_dynamicTokenPosition); + + } + + if(m_isDynamicHasBeenSet) + { + payload.WithBool("isDynamic", m_isDynamic); + + } + + if(m_tokenStringHasBeenSet) + { + payload.WithString("tokenString", m_tokenString); + + } + + if(m_enumerationsHasBeenSet) + { + JsonValue enumerationsJsonMap; + for(auto& enumerationsItem : m_enumerations) + { + enumerationsJsonMap.WithInt64(enumerationsItem.first, enumerationsItem.second); + } + payload.WithObject("enumerations", std::move(enumerationsJsonMap)); + + } + + return payload; +} + +} // namespace Model +} // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/source/model/State.cpp b/generated/src/aws-cpp-sdk-logs/source/model/State.cpp new file mode 100644 index 00000000000..84f8e45efbb --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/source/model/State.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 CloudWatchLogs + { + namespace Model + { + namespace StateMapper + { + + static const int Active_HASH = HashingUtils::HashString("Active"); + static const int Suppressed_HASH = HashingUtils::HashString("Suppressed"); + static const int Baseline_HASH = HashingUtils::HashString("Baseline"); + + + State GetStateForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Active_HASH) + { + return State::Active; + } + else if (hashCode == Suppressed_HASH) + { + return State::Suppressed; + } + else if (hashCode == Baseline_HASH) + { + return State::Baseline; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return State::NOT_SET; + } + + Aws::String GetNameForState(State enumValue) + { + switch(enumValue) + { + case State::NOT_SET: + return {}; + case State::Active: + return "Active"; + case State::Suppressed: + return "Suppressed"; + case State::Baseline: + return "Baseline"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace StateMapper + } // namespace Model + } // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/source/model/SuppressionPeriod.cpp b/generated/src/aws-cpp-sdk-logs/source/model/SuppressionPeriod.cpp new file mode 100644 index 00000000000..c3635eedfaf --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/source/model/SuppressionPeriod.cpp @@ -0,0 +1,77 @@ +/** + * 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 CloudWatchLogs +{ +namespace Model +{ + +SuppressionPeriod::SuppressionPeriod() : + m_value(0), + m_valueHasBeenSet(false), + m_suppressionUnit(SuppressionUnit::NOT_SET), + m_suppressionUnitHasBeenSet(false) +{ +} + +SuppressionPeriod::SuppressionPeriod(JsonView jsonValue) : + m_value(0), + m_valueHasBeenSet(false), + m_suppressionUnit(SuppressionUnit::NOT_SET), + m_suppressionUnitHasBeenSet(false) +{ + *this = jsonValue; +} + +SuppressionPeriod& SuppressionPeriod::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("value")) + { + m_value = jsonValue.GetInteger("value"); + + m_valueHasBeenSet = true; + } + + if(jsonValue.ValueExists("suppressionUnit")) + { + m_suppressionUnit = SuppressionUnitMapper::GetSuppressionUnitForName(jsonValue.GetString("suppressionUnit")); + + m_suppressionUnitHasBeenSet = true; + } + + return *this; +} + +JsonValue SuppressionPeriod::Jsonize() const +{ + JsonValue payload; + + if(m_valueHasBeenSet) + { + payload.WithInteger("value", m_value); + + } + + if(m_suppressionUnitHasBeenSet) + { + payload.WithString("suppressionUnit", SuppressionUnitMapper::GetNameForSuppressionUnit(m_suppressionUnit)); + } + + return payload; +} + +} // namespace Model +} // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/source/model/SuppressionState.cpp b/generated/src/aws-cpp-sdk-logs/source/model/SuppressionState.cpp new file mode 100644 index 00000000000..3861119d734 --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/source/model/SuppressionState.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 CloudWatchLogs + { + namespace Model + { + namespace SuppressionStateMapper + { + + static const int SUPPRESSED_HASH = HashingUtils::HashString("SUPPRESSED"); + static const int UNSUPPRESSED_HASH = HashingUtils::HashString("UNSUPPRESSED"); + + + SuppressionState GetSuppressionStateForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == SUPPRESSED_HASH) + { + return SuppressionState::SUPPRESSED; + } + else if (hashCode == UNSUPPRESSED_HASH) + { + return SuppressionState::UNSUPPRESSED; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return SuppressionState::NOT_SET; + } + + Aws::String GetNameForSuppressionState(SuppressionState enumValue) + { + switch(enumValue) + { + case SuppressionState::NOT_SET: + return {}; + case SuppressionState::SUPPRESSED: + return "SUPPRESSED"; + case SuppressionState::UNSUPPRESSED: + return "UNSUPPRESSED"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace SuppressionStateMapper + } // namespace Model + } // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/source/model/SuppressionType.cpp b/generated/src/aws-cpp-sdk-logs/source/model/SuppressionType.cpp new file mode 100644 index 00000000000..dbf03759fa6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/source/model/SuppressionType.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 CloudWatchLogs + { + namespace Model + { + namespace SuppressionTypeMapper + { + + static const int LIMITED_HASH = HashingUtils::HashString("LIMITED"); + static const int INFINITE_HASH = HashingUtils::HashString("INFINITE"); + + + SuppressionType GetSuppressionTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == LIMITED_HASH) + { + return SuppressionType::LIMITED; + } + else if (hashCode == INFINITE_HASH) + { + return SuppressionType::INFINITE; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return SuppressionType::NOT_SET; + } + + Aws::String GetNameForSuppressionType(SuppressionType enumValue) + { + switch(enumValue) + { + case SuppressionType::NOT_SET: + return {}; + case SuppressionType::LIMITED: + return "LIMITED"; + case SuppressionType::INFINITE: + return "INFINITE"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace SuppressionTypeMapper + } // namespace Model + } // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/source/model/SuppressionUnit.cpp b/generated/src/aws-cpp-sdk-logs/source/model/SuppressionUnit.cpp new file mode 100644 index 00000000000..91e399a5d5b --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/source/model/SuppressionUnit.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 CloudWatchLogs + { + namespace Model + { + namespace SuppressionUnitMapper + { + + static const int SECONDS_HASH = HashingUtils::HashString("SECONDS"); + static const int MINUTES_HASH = HashingUtils::HashString("MINUTES"); + static const int HOURS_HASH = HashingUtils::HashString("HOURS"); + + + SuppressionUnit GetSuppressionUnitForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == SECONDS_HASH) + { + return SuppressionUnit::SECONDS; + } + else if (hashCode == MINUTES_HASH) + { + return SuppressionUnit::MINUTES; + } + else if (hashCode == HOURS_HASH) + { + return SuppressionUnit::HOURS; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return SuppressionUnit::NOT_SET; + } + + Aws::String GetNameForSuppressionUnit(SuppressionUnit enumValue) + { + switch(enumValue) + { + case SuppressionUnit::NOT_SET: + return {}; + case SuppressionUnit::SECONDS: + return "SECONDS"; + case SuppressionUnit::MINUTES: + return "MINUTES"; + case SuppressionUnit::HOURS: + return "HOURS"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace SuppressionUnitMapper + } // namespace Model + } // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/source/model/UpdateAnomalyRequest.cpp b/generated/src/aws-cpp-sdk-logs/source/model/UpdateAnomalyRequest.cpp new file mode 100644 index 00000000000..e985759516e --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/source/model/UpdateAnomalyRequest.cpp @@ -0,0 +1,71 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::CloudWatchLogs::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +UpdateAnomalyRequest::UpdateAnomalyRequest() : + m_anomalyIdHasBeenSet(false), + m_patternIdHasBeenSet(false), + m_anomalyDetectorArnHasBeenSet(false), + m_suppressionType(SuppressionType::NOT_SET), + m_suppressionTypeHasBeenSet(false), + m_suppressionPeriodHasBeenSet(false) +{ +} + +Aws::String UpdateAnomalyRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_anomalyIdHasBeenSet) + { + payload.WithString("anomalyId", m_anomalyId); + + } + + if(m_patternIdHasBeenSet) + { + payload.WithString("patternId", m_patternId); + + } + + if(m_anomalyDetectorArnHasBeenSet) + { + payload.WithString("anomalyDetectorArn", m_anomalyDetectorArn); + + } + + if(m_suppressionTypeHasBeenSet) + { + payload.WithString("suppressionType", SuppressionTypeMapper::GetNameForSuppressionType(m_suppressionType)); + } + + if(m_suppressionPeriodHasBeenSet) + { + payload.WithObject("suppressionPeriod", m_suppressionPeriod.Jsonize()); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection UpdateAnomalyRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "Logs_20140328.UpdateAnomaly")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-logs/source/model/UpdateLogAnomalyDetectorRequest.cpp b/generated/src/aws-cpp-sdk-logs/source/model/UpdateLogAnomalyDetectorRequest.cpp new file mode 100644 index 00000000000..4d3cca247f6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/source/model/UpdateLogAnomalyDetectorRequest.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::CloudWatchLogs::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +UpdateLogAnomalyDetectorRequest::UpdateLogAnomalyDetectorRequest() : + m_anomalyDetectorArnHasBeenSet(false), + m_evaluationFrequency(EvaluationFrequency::NOT_SET), + m_evaluationFrequencyHasBeenSet(false), + m_filterPatternHasBeenSet(false), + m_anomalyVisibilityTime(0), + m_anomalyVisibilityTimeHasBeenSet(false), + m_enabled(false), + m_enabledHasBeenSet(false) +{ +} + +Aws::String UpdateLogAnomalyDetectorRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_anomalyDetectorArnHasBeenSet) + { + payload.WithString("anomalyDetectorArn", m_anomalyDetectorArn); + + } + + if(m_evaluationFrequencyHasBeenSet) + { + payload.WithString("evaluationFrequency", EvaluationFrequencyMapper::GetNameForEvaluationFrequency(m_evaluationFrequency)); + } + + if(m_filterPatternHasBeenSet) + { + payload.WithString("filterPattern", m_filterPattern); + + } + + if(m_anomalyVisibilityTimeHasBeenSet) + { + payload.WithInt64("anomalyVisibilityTime", m_anomalyVisibilityTime); + + } + + if(m_enabledHasBeenSet) + { + payload.WithBool("enabled", m_enabled); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection UpdateLogAnomalyDetectorRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "Logs_20140328.UpdateLogAnomalyDetector")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-managedblockchain/include/aws/managedblockchain/ManagedBlockchainClient.h b/generated/src/aws-cpp-sdk-managedblockchain/include/aws/managedblockchain/ManagedBlockchainClient.h index bb51f21fbc4..92e7423250c 100644 --- a/generated/src/aws-cpp-sdk-managedblockchain/include/aws/managedblockchain/ManagedBlockchainClient.h +++ b/generated/src/aws-cpp-sdk-managedblockchain/include/aws/managedblockchain/ManagedBlockchainClient.h @@ -88,9 +88,9 @@ namespace ManagedBlockchain virtual ~ManagedBlockchainClient(); /** - *

              Creates a new accessor for use with Managed Blockchain Ethereum nodes. An - * accessor contains information required for token based access to your Ethereum - * nodes.

              See Also:

              Creates a new accessor for use with Amazon Managed Blockchain service that + * supports token based access. The accessor contains information required for + * token based access.

              See Also:

              AWS * API Reference

              */ diff --git a/generated/src/aws-cpp-sdk-managedblockchain/include/aws/managedblockchain/model/Accessor.h b/generated/src/aws-cpp-sdk-managedblockchain/include/aws/managedblockchain/model/Accessor.h index 272661b071e..c14ec3606e9 100644 --- a/generated/src/aws-cpp-sdk-managedblockchain/include/aws/managedblockchain/model/Accessor.h +++ b/generated/src/aws-cpp-sdk-managedblockchain/include/aws/managedblockchain/model/Accessor.h @@ -10,6 +10,7 @@ #include #include #include +#include #include namespace Aws @@ -120,66 +121,58 @@ namespace Model /** - *

              The billing token is a property of the accessor. Use this token to make - * Ethereum API calls to your Ethereum node. The billing token is used to track - * your accessor object for billing Ethereum API requests made to your Ethereum - * nodes.

              + *

              The billing token is a property of the Accessor. Use this token to when + * making calls to the blockchain network. The billing token is used to track your + * accessor token for billing requests.

              */ inline const Aws::String& GetBillingToken() const{ return m_billingToken; } /** - *

              The billing token is a property of the accessor. Use this token to make - * Ethereum API calls to your Ethereum node. The billing token is used to track - * your accessor object for billing Ethereum API requests made to your Ethereum - * nodes.

              + *

              The billing token is a property of the Accessor. Use this token to when + * making calls to the blockchain network. The billing token is used to track your + * accessor token for billing requests.

              */ inline bool BillingTokenHasBeenSet() const { return m_billingTokenHasBeenSet; } /** - *

              The billing token is a property of the accessor. Use this token to make - * Ethereum API calls to your Ethereum node. The billing token is used to track - * your accessor object for billing Ethereum API requests made to your Ethereum - * nodes.

              + *

              The billing token is a property of the Accessor. Use this token to when + * making calls to the blockchain network. The billing token is used to track your + * accessor token for billing requests.

              */ inline void SetBillingToken(const Aws::String& value) { m_billingTokenHasBeenSet = true; m_billingToken = value; } /** - *

              The billing token is a property of the accessor. Use this token to make - * Ethereum API calls to your Ethereum node. The billing token is used to track - * your accessor object for billing Ethereum API requests made to your Ethereum - * nodes.

              + *

              The billing token is a property of the Accessor. Use this token to when + * making calls to the blockchain network. The billing token is used to track your + * accessor token for billing requests.

              */ inline void SetBillingToken(Aws::String&& value) { m_billingTokenHasBeenSet = true; m_billingToken = std::move(value); } /** - *

              The billing token is a property of the accessor. Use this token to make - * Ethereum API calls to your Ethereum node. The billing token is used to track - * your accessor object for billing Ethereum API requests made to your Ethereum - * nodes.

              + *

              The billing token is a property of the Accessor. Use this token to when + * making calls to the blockchain network. The billing token is used to track your + * accessor token for billing requests.

              */ inline void SetBillingToken(const char* value) { m_billingTokenHasBeenSet = true; m_billingToken.assign(value); } /** - *

              The billing token is a property of the accessor. Use this token to make - * Ethereum API calls to your Ethereum node. The billing token is used to track - * your accessor object for billing Ethereum API requests made to your Ethereum - * nodes.

              + *

              The billing token is a property of the Accessor. Use this token to when + * making calls to the blockchain network. The billing token is used to track your + * accessor token for billing requests.

              */ inline Accessor& WithBillingToken(const Aws::String& value) { SetBillingToken(value); return *this;} /** - *

              The billing token is a property of the accessor. Use this token to make - * Ethereum API calls to your Ethereum node. The billing token is used to track - * your accessor object for billing Ethereum API requests made to your Ethereum - * nodes.

              + *

              The billing token is a property of the Accessor. Use this token to when + * making calls to the blockchain network. The billing token is used to track your + * accessor token for billing requests.

              */ inline Accessor& WithBillingToken(Aws::String&& value) { SetBillingToken(std::move(value)); return *this;} /** - *

              The billing token is a property of the accessor. Use this token to make - * Ethereum API calls to your Ethereum node. The billing token is used to track - * your accessor object for billing Ethereum API requests made to your Ethereum - * nodes.

              + *

              The billing token is a property of the Accessor. Use this token to when + * making calls to the blockchain network. The billing token is used to track your + * accessor token for billing requests.

              */ inline Accessor& WithBillingToken(const char* value) { SetBillingToken(value); return *this;} @@ -475,6 +468,37 @@ namespace Model */ inline Accessor& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } + + /** + *

              The blockchain network that the Accessor token is created for.

              + */ + inline const AccessorNetworkType& GetNetworkType() const{ return m_networkType; } + + /** + *

              The blockchain network that the Accessor token is created for.

              + */ + inline bool NetworkTypeHasBeenSet() const { return m_networkTypeHasBeenSet; } + + /** + *

              The blockchain network that the Accessor token is created for.

              + */ + inline void SetNetworkType(const AccessorNetworkType& value) { m_networkTypeHasBeenSet = true; m_networkType = value; } + + /** + *

              The blockchain network that the Accessor token is created for.

              + */ + inline void SetNetworkType(AccessorNetworkType&& value) { m_networkTypeHasBeenSet = true; m_networkType = std::move(value); } + + /** + *

              The blockchain network that the Accessor token is created for.

              + */ + inline Accessor& WithNetworkType(const AccessorNetworkType& value) { SetNetworkType(value); return *this;} + + /** + *

              The blockchain network that the Accessor token is created for.

              + */ + inline Accessor& WithNetworkType(AccessorNetworkType&& value) { SetNetworkType(std::move(value)); return *this;} + private: Aws::String m_id; @@ -497,6 +521,9 @@ namespace Model Aws::Map m_tags; bool m_tagsHasBeenSet = false; + + AccessorNetworkType m_networkType; + bool m_networkTypeHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-managedblockchain/include/aws/managedblockchain/model/AccessorNetworkType.h b/generated/src/aws-cpp-sdk-managedblockchain/include/aws/managedblockchain/model/AccessorNetworkType.h new file mode 100644 index 00000000000..6323734ed01 --- /dev/null +++ b/generated/src/aws-cpp-sdk-managedblockchain/include/aws/managedblockchain/model/AccessorNetworkType.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 ManagedBlockchain +{ +namespace Model +{ + enum class AccessorNetworkType + { + NOT_SET, + ETHEREUM_GOERLI, + ETHEREUM_MAINNET, + ETHEREUM_MAINNET_AND_GOERLI, + POLYGON_MAINNET, + POLYGON_MUMBAI + }; + +namespace AccessorNetworkTypeMapper +{ +AWS_MANAGEDBLOCKCHAIN_API AccessorNetworkType GetAccessorNetworkTypeForName(const Aws::String& name); + +AWS_MANAGEDBLOCKCHAIN_API Aws::String GetNameForAccessorNetworkType(AccessorNetworkType value); +} // namespace AccessorNetworkTypeMapper +} // namespace Model +} // namespace ManagedBlockchain +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-managedblockchain/include/aws/managedblockchain/model/AccessorSummary.h b/generated/src/aws-cpp-sdk-managedblockchain/include/aws/managedblockchain/model/AccessorSummary.h index a3caaf84bb7..1367c5fa967 100644 --- a/generated/src/aws-cpp-sdk-managedblockchain/include/aws/managedblockchain/model/AccessorSummary.h +++ b/generated/src/aws-cpp-sdk-managedblockchain/include/aws/managedblockchain/model/AccessorSummary.h @@ -9,6 +9,7 @@ #include #include #include +#include #include namespace Aws @@ -252,6 +253,37 @@ namespace Model */ inline AccessorSummary& WithArn(const char* value) { SetArn(value); return *this;} + + /** + *

              The blockchain network that the Accessor token is created for.

              + */ + inline const AccessorNetworkType& GetNetworkType() const{ return m_networkType; } + + /** + *

              The blockchain network that the Accessor token is created for.

              + */ + inline bool NetworkTypeHasBeenSet() const { return m_networkTypeHasBeenSet; } + + /** + *

              The blockchain network that the Accessor token is created for.

              + */ + inline void SetNetworkType(const AccessorNetworkType& value) { m_networkTypeHasBeenSet = true; m_networkType = value; } + + /** + *

              The blockchain network that the Accessor token is created for.

              + */ + inline void SetNetworkType(AccessorNetworkType&& value) { m_networkTypeHasBeenSet = true; m_networkType = std::move(value); } + + /** + *

              The blockchain network that the Accessor token is created for.

              + */ + inline AccessorSummary& WithNetworkType(const AccessorNetworkType& value) { SetNetworkType(value); return *this;} + + /** + *

              The blockchain network that the Accessor token is created for.

              + */ + inline AccessorSummary& WithNetworkType(AccessorNetworkType&& value) { SetNetworkType(std::move(value)); return *this;} + private: Aws::String m_id; @@ -268,6 +300,9 @@ namespace Model Aws::String m_arn; bool m_arnHasBeenSet = false; + + AccessorNetworkType m_networkType; + bool m_networkTypeHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-managedblockchain/include/aws/managedblockchain/model/ApprovalThresholdPolicy.h b/generated/src/aws-cpp-sdk-managedblockchain/include/aws/managedblockchain/model/ApprovalThresholdPolicy.h index f9029ca3e3e..7c4a1f47946 100644 --- a/generated/src/aws-cpp-sdk-managedblockchain/include/aws/managedblockchain/model/ApprovalThresholdPolicy.h +++ b/generated/src/aws-cpp-sdk-managedblockchain/include/aws/managedblockchain/model/ApprovalThresholdPolicy.h @@ -131,42 +131,42 @@ namespace Model /** *

              Determines whether the vote percentage must be greater than the * ThresholdPercentage or must be greater than or equal to the - * ThreholdPercentage to be approved.

              + * ThresholdPercentage to be approved.

              */ inline const ThresholdComparator& GetThresholdComparator() const{ return m_thresholdComparator; } /** *

              Determines whether the vote percentage must be greater than the * ThresholdPercentage or must be greater than or equal to the - * ThreholdPercentage to be approved.

              + * ThresholdPercentage to be approved.

              */ inline bool ThresholdComparatorHasBeenSet() const { return m_thresholdComparatorHasBeenSet; } /** *

              Determines whether the vote percentage must be greater than the * ThresholdPercentage or must be greater than or equal to the - * ThreholdPercentage to be approved.

              + * ThresholdPercentage to be approved.

              */ inline void SetThresholdComparator(const ThresholdComparator& value) { m_thresholdComparatorHasBeenSet = true; m_thresholdComparator = value; } /** *

              Determines whether the vote percentage must be greater than the * ThresholdPercentage or must be greater than or equal to the - * ThreholdPercentage to be approved.

              + * ThresholdPercentage to be approved.

              */ inline void SetThresholdComparator(ThresholdComparator&& value) { m_thresholdComparatorHasBeenSet = true; m_thresholdComparator = std::move(value); } /** *

              Determines whether the vote percentage must be greater than the * ThresholdPercentage or must be greater than or equal to the - * ThreholdPercentage to be approved.

              + * ThresholdPercentage to be approved.

              */ inline ApprovalThresholdPolicy& WithThresholdComparator(const ThresholdComparator& value) { SetThresholdComparator(value); return *this;} /** *

              Determines whether the vote percentage must be greater than the * ThresholdPercentage or must be greater than or equal to the - * ThreholdPercentage to be approved.

              + * ThresholdPercentage to be approved.

              */ inline ApprovalThresholdPolicy& WithThresholdComparator(ThresholdComparator&& value) { SetThresholdComparator(std::move(value)); return *this;} diff --git a/generated/src/aws-cpp-sdk-managedblockchain/include/aws/managedblockchain/model/CreateAccessorRequest.h b/generated/src/aws-cpp-sdk-managedblockchain/include/aws/managedblockchain/model/CreateAccessorRequest.h index 50339ef4ef4..eafe8f688eb 100644 --- a/generated/src/aws-cpp-sdk-managedblockchain/include/aws/managedblockchain/model/CreateAccessorRequest.h +++ b/generated/src/aws-cpp-sdk-managedblockchain/include/aws/managedblockchain/model/CreateAccessorRequest.h @@ -9,6 +9,7 @@ #include #include #include +#include #include #include @@ -327,6 +328,91 @@ namespace Model */ inline CreateAccessorRequest& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } + + /** + *

              The blockchain network that the Accessor token is created + * for.

              We recommend using the appropriate networkType + * value for the blockchain network that you are creating the Accessor + * token for. You cannnot use the value ETHEREUM_MAINNET_AND_GOERLI to + * specify a networkType for your Accessor token.

              The default + * value of ETHEREUM_MAINNET_AND_GOERLI is only applied:

              • + *

                when the CreateAccessor action does not set a + * networkType.

              • to all existing + * Accessor tokens that were created before the + * networkType property was introduced.

              + */ + inline const AccessorNetworkType& GetNetworkType() const{ return m_networkType; } + + /** + *

              The blockchain network that the Accessor token is created + * for.

              We recommend using the appropriate networkType + * value for the blockchain network that you are creating the Accessor + * token for. You cannnot use the value ETHEREUM_MAINNET_AND_GOERLI to + * specify a networkType for your Accessor token.

              The default + * value of ETHEREUM_MAINNET_AND_GOERLI is only applied:

              • + *

                when the CreateAccessor action does not set a + * networkType.

              • to all existing + * Accessor tokens that were created before the + * networkType property was introduced.

              + */ + inline bool NetworkTypeHasBeenSet() const { return m_networkTypeHasBeenSet; } + + /** + *

              The blockchain network that the Accessor token is created + * for.

              We recommend using the appropriate networkType + * value for the blockchain network that you are creating the Accessor + * token for. You cannnot use the value ETHEREUM_MAINNET_AND_GOERLI to + * specify a networkType for your Accessor token.

              The default + * value of ETHEREUM_MAINNET_AND_GOERLI is only applied:

              • + *

                when the CreateAccessor action does not set a + * networkType.

              • to all existing + * Accessor tokens that were created before the + * networkType property was introduced.

              + */ + inline void SetNetworkType(const AccessorNetworkType& value) { m_networkTypeHasBeenSet = true; m_networkType = value; } + + /** + *

              The blockchain network that the Accessor token is created + * for.

              We recommend using the appropriate networkType + * value for the blockchain network that you are creating the Accessor + * token for. You cannnot use the value ETHEREUM_MAINNET_AND_GOERLI to + * specify a networkType for your Accessor token.

              The default + * value of ETHEREUM_MAINNET_AND_GOERLI is only applied:

              • + *

                when the CreateAccessor action does not set a + * networkType.

              • to all existing + * Accessor tokens that were created before the + * networkType property was introduced.

              + */ + inline void SetNetworkType(AccessorNetworkType&& value) { m_networkTypeHasBeenSet = true; m_networkType = std::move(value); } + + /** + *

              The blockchain network that the Accessor token is created + * for.

              We recommend using the appropriate networkType + * value for the blockchain network that you are creating the Accessor + * token for. You cannnot use the value ETHEREUM_MAINNET_AND_GOERLI to + * specify a networkType for your Accessor token.

              The default + * value of ETHEREUM_MAINNET_AND_GOERLI is only applied:

              • + *

                when the CreateAccessor action does not set a + * networkType.

              • to all existing + * Accessor tokens that were created before the + * networkType property was introduced.

              + */ + inline CreateAccessorRequest& WithNetworkType(const AccessorNetworkType& value) { SetNetworkType(value); return *this;} + + /** + *

              The blockchain network that the Accessor token is created + * for.

              We recommend using the appropriate networkType + * value for the blockchain network that you are creating the Accessor + * token for. You cannnot use the value ETHEREUM_MAINNET_AND_GOERLI to + * specify a networkType for your Accessor token.

              The default + * value of ETHEREUM_MAINNET_AND_GOERLI is only applied:

              • + *

                when the CreateAccessor action does not set a + * networkType.

              • to all existing + * Accessor tokens that were created before the + * networkType property was introduced.

              + */ + inline CreateAccessorRequest& WithNetworkType(AccessorNetworkType&& value) { SetNetworkType(std::move(value)); return *this;} + private: Aws::String m_clientRequestToken; @@ -337,6 +423,9 @@ namespace Model Aws::Map m_tags; bool m_tagsHasBeenSet = false; + + AccessorNetworkType m_networkType; + bool m_networkTypeHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-managedblockchain/include/aws/managedblockchain/model/CreateAccessorResult.h b/generated/src/aws-cpp-sdk-managedblockchain/include/aws/managedblockchain/model/CreateAccessorResult.h index d33ae172f46..ea4b1a3494d 100644 --- a/generated/src/aws-cpp-sdk-managedblockchain/include/aws/managedblockchain/model/CreateAccessorResult.h +++ b/generated/src/aws-cpp-sdk-managedblockchain/include/aws/managedblockchain/model/CreateAccessorResult.h @@ -6,6 +6,7 @@ #pragma once #include #include +#include #include namespace Aws @@ -69,62 +70,81 @@ namespace Model /** - *

              The billing token is a property of the Accessor. Use this token to make - * Ethereum API calls to your Ethereum node. The billing token is used to track - * your accessor object for billing Ethereum API requests made to your Ethereum - * nodes.

              + *

              The billing token is a property of the Accessor. Use this token to when + * making calls to the blockchain network. The billing token is used to track your + * accessor token for billing requests.

              */ inline const Aws::String& GetBillingToken() const{ return m_billingToken; } /** - *

              The billing token is a property of the Accessor. Use this token to make - * Ethereum API calls to your Ethereum node. The billing token is used to track - * your accessor object for billing Ethereum API requests made to your Ethereum - * nodes.

              + *

              The billing token is a property of the Accessor. Use this token to when + * making calls to the blockchain network. The billing token is used to track your + * accessor token for billing requests.

              */ inline void SetBillingToken(const Aws::String& value) { m_billingToken = value; } /** - *

              The billing token is a property of the Accessor. Use this token to make - * Ethereum API calls to your Ethereum node. The billing token is used to track - * your accessor object for billing Ethereum API requests made to your Ethereum - * nodes.

              + *

              The billing token is a property of the Accessor. Use this token to when + * making calls to the blockchain network. The billing token is used to track your + * accessor token for billing requests.

              */ inline void SetBillingToken(Aws::String&& value) { m_billingToken = std::move(value); } /** - *

              The billing token is a property of the Accessor. Use this token to make - * Ethereum API calls to your Ethereum node. The billing token is used to track - * your accessor object for billing Ethereum API requests made to your Ethereum - * nodes.

              + *

              The billing token is a property of the Accessor. Use this token to when + * making calls to the blockchain network. The billing token is used to track your + * accessor token for billing requests.

              */ inline void SetBillingToken(const char* value) { m_billingToken.assign(value); } /** - *

              The billing token is a property of the Accessor. Use this token to make - * Ethereum API calls to your Ethereum node. The billing token is used to track - * your accessor object for billing Ethereum API requests made to your Ethereum - * nodes.

              + *

              The billing token is a property of the Accessor. Use this token to when + * making calls to the blockchain network. The billing token is used to track your + * accessor token for billing requests.

              */ inline CreateAccessorResult& WithBillingToken(const Aws::String& value) { SetBillingToken(value); return *this;} /** - *

              The billing token is a property of the Accessor. Use this token to make - * Ethereum API calls to your Ethereum node. The billing token is used to track - * your accessor object for billing Ethereum API requests made to your Ethereum - * nodes.

              + *

              The billing token is a property of the Accessor. Use this token to when + * making calls to the blockchain network. The billing token is used to track your + * accessor token for billing requests.

              */ inline CreateAccessorResult& WithBillingToken(Aws::String&& value) { SetBillingToken(std::move(value)); return *this;} /** - *

              The billing token is a property of the Accessor. Use this token to make - * Ethereum API calls to your Ethereum node. The billing token is used to track - * your accessor object for billing Ethereum API requests made to your Ethereum - * nodes.

              + *

              The billing token is a property of the Accessor. Use this token to when + * making calls to the blockchain network. The billing token is used to track your + * accessor token for billing requests.

              */ inline CreateAccessorResult& WithBillingToken(const char* value) { SetBillingToken(value); return *this;} + /** + *

              The blockchain network that the accessor token is created for.

              + */ + inline const AccessorNetworkType& GetNetworkType() const{ return m_networkType; } + + /** + *

              The blockchain network that the accessor token is created for.

              + */ + inline void SetNetworkType(const AccessorNetworkType& value) { m_networkType = value; } + + /** + *

              The blockchain network that the accessor token is created for.

              + */ + inline void SetNetworkType(AccessorNetworkType&& value) { m_networkType = std::move(value); } + + /** + *

              The blockchain network that the accessor token is created for.

              + */ + inline CreateAccessorResult& WithNetworkType(const AccessorNetworkType& value) { SetNetworkType(value); return *this;} + + /** + *

              The blockchain network that the accessor token is created for.

              + */ + inline CreateAccessorResult& WithNetworkType(AccessorNetworkType&& value) { SetNetworkType(std::move(value)); return *this;} + + inline const Aws::String& GetRequestId() const{ return m_requestId; } @@ -152,6 +172,8 @@ namespace Model Aws::String m_billingToken; + AccessorNetworkType m_networkType; + Aws::String m_requestId; }; diff --git a/generated/src/aws-cpp-sdk-managedblockchain/include/aws/managedblockchain/model/ListAccessorsRequest.h b/generated/src/aws-cpp-sdk-managedblockchain/include/aws/managedblockchain/model/ListAccessorsRequest.h index a27156cae21..28526505490 100644 --- a/generated/src/aws-cpp-sdk-managedblockchain/include/aws/managedblockchain/model/ListAccessorsRequest.h +++ b/generated/src/aws-cpp-sdk-managedblockchain/include/aws/managedblockchain/model/ListAccessorsRequest.h @@ -7,6 +7,7 @@ #include #include #include +#include #include namespace Aws @@ -107,6 +108,55 @@ namespace Model */ inline ListAccessorsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + + /** + *

              The blockchain network that the Accessor token is created + * for.

              Use the value ETHEREUM_MAINNET_AND_GOERLI for + * all existing Accessors tokens that were created before the + * networkType property was introduced.

              + */ + inline const AccessorNetworkType& GetNetworkType() const{ return m_networkType; } + + /** + *

              The blockchain network that the Accessor token is created + * for.

              Use the value ETHEREUM_MAINNET_AND_GOERLI for + * all existing Accessors tokens that were created before the + * networkType property was introduced.

              + */ + inline bool NetworkTypeHasBeenSet() const { return m_networkTypeHasBeenSet; } + + /** + *

              The blockchain network that the Accessor token is created + * for.

              Use the value ETHEREUM_MAINNET_AND_GOERLI for + * all existing Accessors tokens that were created before the + * networkType property was introduced.

              + */ + inline void SetNetworkType(const AccessorNetworkType& value) { m_networkTypeHasBeenSet = true; m_networkType = value; } + + /** + *

              The blockchain network that the Accessor token is created + * for.

              Use the value ETHEREUM_MAINNET_AND_GOERLI for + * all existing Accessors tokens that were created before the + * networkType property was introduced.

              + */ + inline void SetNetworkType(AccessorNetworkType&& value) { m_networkTypeHasBeenSet = true; m_networkType = std::move(value); } + + /** + *

              The blockchain network that the Accessor token is created + * for.

              Use the value ETHEREUM_MAINNET_AND_GOERLI for + * all existing Accessors tokens that were created before the + * networkType property was introduced.

              + */ + inline ListAccessorsRequest& WithNetworkType(const AccessorNetworkType& value) { SetNetworkType(value); return *this;} + + /** + *

              The blockchain network that the Accessor token is created + * for.

              Use the value ETHEREUM_MAINNET_AND_GOERLI for + * all existing Accessors tokens that were created before the + * networkType property was introduced.

              + */ + inline ListAccessorsRequest& WithNetworkType(AccessorNetworkType&& value) { SetNetworkType(std::move(value)); return *this;} + private: int m_maxResults; @@ -114,6 +164,9 @@ namespace Model Aws::String m_nextToken; bool m_nextTokenHasBeenSet = false; + + AccessorNetworkType m_networkType; + bool m_networkTypeHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-managedblockchain/source/ManagedBlockchainEndpointRules.cpp b/generated/src/aws-cpp-sdk-managedblockchain/source/ManagedBlockchainEndpointRules.cpp index 1b9cc458dcb..ddc344cdfd2 100644 --- a/generated/src/aws-cpp-sdk-managedblockchain/source/ManagedBlockchainEndpointRules.cpp +++ b/generated/src/aws-cpp-sdk-managedblockchain/source/ManagedBlockchainEndpointRules.cpp @@ -51,108 +51,108 @@ static constexpr RulesBlobT RulesBlob = {{ ',','"','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','"',':','[','{','"','f','n','"',':','"', 'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', -'d','p','o','i','n','t','"','}',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', -',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', -'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r', -'u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','C','o', -'n','f','i','g','u','r','a','t','i','o','n',':',' ','F','I','P','S',' ','a','n','d',' ','c','u','s', -'t','o','m',' ','e','n','d','p','o','i','n','t',' ','a','r','e',' ','n','o','t',' ','s','u','p','p', -'o','r','t','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e', +'d','p','o','i','n','t','"','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', +'s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':', +'"','I','n','v','a','l','i','d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','F', +'I','P','S',' ','a','n','d',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','a', +'r','e',' ','n','o','t',' ','s','u','p','p','o','r','t','e','d','"',',','"','t','y','p','e','"',':', +'"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"', +'}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i', +'d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','D','u','a','l','s','t','a','c', +'k',' ','a','n','d',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','a','r','e', +' ','n','o','t',' ','s','u','p','p','o','r','t','e','d','"',',','"','t','y','p','e','"',':','"','e', +'r','r','o','r','"','}',',','{','"','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','"',':','{', +'}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e', +'n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s', +'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i', +'o','n','"','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i', +'o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o', +'n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','P','a','r','t','i','t','i','o','n','R', +'e','s','u','l','t','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F', +'I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', 'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', '"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"', -'e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','C','o','n','f','i','g','u','r','a', -'t','i','o','n',':',' ','D','u','a','l','s','t','a','c','k',' ','a','n','d',' ','c','u','s','t','o', -'m',' ','e','n','d','p','o','i','n','t',' ','a','r','e',' ','n','o','t',' ','s','u','p','p','o','r', -'t','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o', +'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R', +'e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','F','I','P','S','"',']','}',']', +'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t', +'r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t', +'i','o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','D','u','a','l', +'S','t','a','c','k','"',']','}',']','}',']',',','"','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','"',':','{','}',',','"','h','e','a','d','e','r','s','"', -':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}', -',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s', -'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i', -'o','n','"','}',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u', -'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', -'"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g', -'n','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',']',',','"','t', -'y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o', -'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', -'s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o', -'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}', -']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o', -'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','t','r','u','e',',', -'{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',', -'"','s','u','p','p','o','r','t','s','F','I','P','S','"',']','}',']','}',',','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','t', -'r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l', -'t','"','}',',','"','s','u','p','p','o','r','t','s','D','u','a','l','S','t','a','c','k','"',']','}', -']','}',']',',','"','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','"',':','"','h','t','t','p','s',':','/','/','m','a','n','a', -'g','e','d','b','l','o','c','k','c','h','a','i','n','-','f','i','p','s','.','{','R','e','g','i','o', -'n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','u','a','l','S', -'t','a','c','k','D','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i', -'e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', -'e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t', -'i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','F','I','P','S',' ','a','n', -'d',' ','D','u','a','l','S','t','a','c','k',' ','a','r','e',' ','e','n','a','b','l','e','d',',',' ', -'b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ','n', -'o','t',' ','s','u','p','p','o','r','t',' ','o','n','e',' ','o','r',' ','b','o','t','h','"',',','"', -'t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',',','{','"','c','o','n','d','i','t', -'i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I', -'P','S','"','}',',','t','r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', -'"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i', -'o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','F','I','P','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','"',':','"','h','t','t','p','s',':','/','/','m','a', -'n','a','g','e','d','b','l','o','c','k','c','h','a','i','n','-','f','i','p','s','.','{','R','e','g', -'i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s', -'S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',', -'"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d', -'p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', -']',',','"','e','r','r','o','r','"',':','"','F','I','P','S',' ','i','s',' ','e','n','a','b','l','e', -'d',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s', -' ','n','o','t',' ','s','u','p','p','o','r','t',' ','F','I','P','S','"',',','"','t','y','p','e','"', -':','"','e','r','r','o','r','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', -':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a', -'c','k','"','}',',','t','r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', -'"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i', -'o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','D','u','a','l','S', -'t','a','c','k','"',']','}',']','}',']',',','"','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','"',':','"','h','t','t','p','s', -':','/','/','m','a','n','a','g','e','d','b','l','o','c','k','c','h','a','i','n','.','{','R','e','g', -'i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','u','a', -'l','S','t','a','c','k','D','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r', -'t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t', -'y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d', -'i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','D','u','a','l','S', -'t','a','c','k',' ','i','s',' ','e','n','a','b','l','e','d',' ','b','u','t',' ','t','h','i','s',' ', -'p','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r', -'t',' ','D','u','a','l','S','t','a','c','k','"',',','"','t','y','p','e','"',':','"','e','r','r','o', -'r','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e', -'n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/', -'m','a','n','a','g','e','d','b','l','o','c','k','c','h','a','i','n','.','{','R','e','g','i','o','n', -'}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f', -'f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e', -'a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i', -'n','t','"','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']', +'"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','m','a','n','a','g','e','d','b','l','o', +'c','k','c','h','a','i','n','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','P','a', +'r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','u','a','l','S','t','a','c','k','D','n', +'s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}', +',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n', +'d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',', +'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':', +'"','F','I','P','S',' ','a','n','d',' ','D','u','a','l','S','t','a','c','k',' ','a','r','e',' ','e', +'n','a','b','l','e','d',',',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o', +'n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','o','n','e',' ','o','r', +' ','b','o','t','h','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"', +'t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"', +'}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A', +'t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t', +'i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','F','I', +'P','S','"',']','}',',','t','r','u','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','"',':','"','h','t','t','p','s',':','/','/','m','a','n','a','g','e','d','b', +'l','o','c','k','c','h','a','i','n','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{', +'P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x', +'}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e', +'r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"', +'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','F','I','P','S',' ','i', +'s',' ','e','n','a','b','l','e','d',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t', +'i','o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','F','I','P','S', +'"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"', +':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"', +'}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','t','r','u','e',',','{','"','f','n','"',':', +'"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o', +'r','t','s','D','u','a','l','S','t','a','c','k','"',']','}',']','}',']',',','"','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','"',':','"','h','t','t','p','s',':','/','/','m','a','n', +'a','g','e','d','b','l','o','c','k','c','h','a','i','n','.','{','R','e','g','i','o','n','}','.','{', +'P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','u','a','l','S','t','a','c','k', +'D','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':', +'{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"', +'e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', +'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r', +'"',':','"','D','u','a','l','S','t','a','c','k',' ','i','s',' ','e','n','a','b','l','e','d',' ','b', +'u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ','n','o', +'t',' ','s','u','p','p','o','r','t',' ','D','u','a','l','S','t','a','c','k','"',',','"','t','y','p', +'e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', +'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p', +'o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','m','a','n', +'a','g','e','d','b','l','o','c','k','c','h','a','i','n','.','{','R','e','g','i','o','n','}','.','{', +'P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x', +'}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e', +'r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"', +'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e','"', +':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']', ',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','C','o','n','f','i','g','u', 'r','a','t','i','o','n',':',' ','M','i','s','s','i','n','g',' ','R','e','g','i','o','n','"',',','"', 't','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}','\0' diff --git a/generated/src/aws-cpp-sdk-managedblockchain/source/model/Accessor.cpp b/generated/src/aws-cpp-sdk-managedblockchain/source/model/Accessor.cpp index 2aa914f5f14..b48cb852673 100644 --- a/generated/src/aws-cpp-sdk-managedblockchain/source/model/Accessor.cpp +++ b/generated/src/aws-cpp-sdk-managedblockchain/source/model/Accessor.cpp @@ -27,7 +27,9 @@ Accessor::Accessor() : m_statusHasBeenSet(false), m_creationDateHasBeenSet(false), m_arnHasBeenSet(false), - m_tagsHasBeenSet(false) + m_tagsHasBeenSet(false), + m_networkType(AccessorNetworkType::NOT_SET), + m_networkTypeHasBeenSet(false) { } @@ -40,7 +42,9 @@ Accessor::Accessor(JsonView jsonValue) : m_statusHasBeenSet(false), m_creationDateHasBeenSet(false), m_arnHasBeenSet(false), - m_tagsHasBeenSet(false) + m_tagsHasBeenSet(false), + m_networkType(AccessorNetworkType::NOT_SET), + m_networkTypeHasBeenSet(false) { *this = jsonValue; } @@ -99,6 +103,13 @@ Accessor& Accessor::operator =(JsonView jsonValue) m_tagsHasBeenSet = true; } + if(jsonValue.ValueExists("NetworkType")) + { + m_networkType = AccessorNetworkTypeMapper::GetAccessorNetworkTypeForName(jsonValue.GetString("NetworkType")); + + m_networkTypeHasBeenSet = true; + } + return *this; } @@ -150,6 +161,11 @@ JsonValue Accessor::Jsonize() const } + if(m_networkTypeHasBeenSet) + { + payload.WithString("NetworkType", AccessorNetworkTypeMapper::GetNameForAccessorNetworkType(m_networkType)); + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-managedblockchain/source/model/AccessorNetworkType.cpp b/generated/src/aws-cpp-sdk-managedblockchain/source/model/AccessorNetworkType.cpp new file mode 100644 index 00000000000..f030f9a2cb5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-managedblockchain/source/model/AccessorNetworkType.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 ManagedBlockchain + { + namespace Model + { + namespace AccessorNetworkTypeMapper + { + + static const int ETHEREUM_GOERLI_HASH = HashingUtils::HashString("ETHEREUM_GOERLI"); + static const int ETHEREUM_MAINNET_HASH = HashingUtils::HashString("ETHEREUM_MAINNET"); + static const int ETHEREUM_MAINNET_AND_GOERLI_HASH = HashingUtils::HashString("ETHEREUM_MAINNET_AND_GOERLI"); + static const int POLYGON_MAINNET_HASH = HashingUtils::HashString("POLYGON_MAINNET"); + static const int POLYGON_MUMBAI_HASH = HashingUtils::HashString("POLYGON_MUMBAI"); + + + AccessorNetworkType GetAccessorNetworkTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == ETHEREUM_GOERLI_HASH) + { + return AccessorNetworkType::ETHEREUM_GOERLI; + } + else if (hashCode == ETHEREUM_MAINNET_HASH) + { + return AccessorNetworkType::ETHEREUM_MAINNET; + } + else if (hashCode == ETHEREUM_MAINNET_AND_GOERLI_HASH) + { + return AccessorNetworkType::ETHEREUM_MAINNET_AND_GOERLI; + } + else if (hashCode == POLYGON_MAINNET_HASH) + { + return AccessorNetworkType::POLYGON_MAINNET; + } + else if (hashCode == POLYGON_MUMBAI_HASH) + { + return AccessorNetworkType::POLYGON_MUMBAI; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return AccessorNetworkType::NOT_SET; + } + + Aws::String GetNameForAccessorNetworkType(AccessorNetworkType enumValue) + { + switch(enumValue) + { + case AccessorNetworkType::NOT_SET: + return {}; + case AccessorNetworkType::ETHEREUM_GOERLI: + return "ETHEREUM_GOERLI"; + case AccessorNetworkType::ETHEREUM_MAINNET: + return "ETHEREUM_MAINNET"; + case AccessorNetworkType::ETHEREUM_MAINNET_AND_GOERLI: + return "ETHEREUM_MAINNET_AND_GOERLI"; + case AccessorNetworkType::POLYGON_MAINNET: + return "POLYGON_MAINNET"; + case AccessorNetworkType::POLYGON_MUMBAI: + return "POLYGON_MUMBAI"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace AccessorNetworkTypeMapper + } // namespace Model + } // namespace ManagedBlockchain +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-managedblockchain/source/model/AccessorSummary.cpp b/generated/src/aws-cpp-sdk-managedblockchain/source/model/AccessorSummary.cpp index 229ae4b83fc..b10b9bc7db0 100644 --- a/generated/src/aws-cpp-sdk-managedblockchain/source/model/AccessorSummary.cpp +++ b/generated/src/aws-cpp-sdk-managedblockchain/source/model/AccessorSummary.cpp @@ -25,7 +25,9 @@ AccessorSummary::AccessorSummary() : m_status(AccessorStatus::NOT_SET), m_statusHasBeenSet(false), m_creationDateHasBeenSet(false), - m_arnHasBeenSet(false) + m_arnHasBeenSet(false), + m_networkType(AccessorNetworkType::NOT_SET), + m_networkTypeHasBeenSet(false) { } @@ -36,7 +38,9 @@ AccessorSummary::AccessorSummary(JsonView jsonValue) : m_status(AccessorStatus::NOT_SET), m_statusHasBeenSet(false), m_creationDateHasBeenSet(false), - m_arnHasBeenSet(false) + m_arnHasBeenSet(false), + m_networkType(AccessorNetworkType::NOT_SET), + m_networkTypeHasBeenSet(false) { *this = jsonValue; } @@ -78,6 +82,13 @@ AccessorSummary& AccessorSummary::operator =(JsonView jsonValue) m_arnHasBeenSet = true; } + if(jsonValue.ValueExists("NetworkType")) + { + m_networkType = AccessorNetworkTypeMapper::GetAccessorNetworkTypeForName(jsonValue.GetString("NetworkType")); + + m_networkTypeHasBeenSet = true; + } + return *this; } @@ -112,6 +123,11 @@ JsonValue AccessorSummary::Jsonize() const } + if(m_networkTypeHasBeenSet) + { + payload.WithString("NetworkType", AccessorNetworkTypeMapper::GetNameForAccessorNetworkType(m_networkType)); + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-managedblockchain/source/model/CreateAccessorRequest.cpp b/generated/src/aws-cpp-sdk-managedblockchain/source/model/CreateAccessorRequest.cpp index aee5d38b1dd..b8f34723196 100644 --- a/generated/src/aws-cpp-sdk-managedblockchain/source/model/CreateAccessorRequest.cpp +++ b/generated/src/aws-cpp-sdk-managedblockchain/source/model/CreateAccessorRequest.cpp @@ -17,7 +17,9 @@ CreateAccessorRequest::CreateAccessorRequest() : m_clientRequestTokenHasBeenSet(true), m_accessorType(AccessorType::NOT_SET), m_accessorTypeHasBeenSet(false), - m_tagsHasBeenSet(false) + m_tagsHasBeenSet(false), + m_networkType(AccessorNetworkType::NOT_SET), + m_networkTypeHasBeenSet(false) { } @@ -47,6 +49,11 @@ Aws::String CreateAccessorRequest::SerializePayload() const } + if(m_networkTypeHasBeenSet) + { + payload.WithString("NetworkType", AccessorNetworkTypeMapper::GetNameForAccessorNetworkType(m_networkType)); + } + return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-managedblockchain/source/model/CreateAccessorResult.cpp b/generated/src/aws-cpp-sdk-managedblockchain/source/model/CreateAccessorResult.cpp index b12a3f3a71b..ef409b72517 100644 --- a/generated/src/aws-cpp-sdk-managedblockchain/source/model/CreateAccessorResult.cpp +++ b/generated/src/aws-cpp-sdk-managedblockchain/source/model/CreateAccessorResult.cpp @@ -17,11 +17,13 @@ using namespace Aws::Utils::Json; using namespace Aws::Utils; using namespace Aws; -CreateAccessorResult::CreateAccessorResult() +CreateAccessorResult::CreateAccessorResult() : + m_networkType(AccessorNetworkType::NOT_SET) { } -CreateAccessorResult::CreateAccessorResult(const Aws::AmazonWebServiceResult& result) +CreateAccessorResult::CreateAccessorResult(const Aws::AmazonWebServiceResult& result) : + m_networkType(AccessorNetworkType::NOT_SET) { *this = result; } @@ -41,6 +43,12 @@ CreateAccessorResult& CreateAccessorResult::operator =(const Aws::AmazonWebServi } + if(jsonValue.ValueExists("NetworkType")) + { + m_networkType = AccessorNetworkTypeMapper::GetAccessorNetworkTypeForName(jsonValue.GetString("NetworkType")); + + } + const auto& headers = result.GetHeaderValueCollection(); const auto& requestIdIter = headers.find("x-amzn-requestid"); diff --git a/generated/src/aws-cpp-sdk-managedblockchain/source/model/ListAccessorsRequest.cpp b/generated/src/aws-cpp-sdk-managedblockchain/source/model/ListAccessorsRequest.cpp index 739c1e5aceb..febef457a6b 100644 --- a/generated/src/aws-cpp-sdk-managedblockchain/source/model/ListAccessorsRequest.cpp +++ b/generated/src/aws-cpp-sdk-managedblockchain/source/model/ListAccessorsRequest.cpp @@ -18,7 +18,9 @@ using namespace Aws::Http; ListAccessorsRequest::ListAccessorsRequest() : m_maxResults(0), m_maxResultsHasBeenSet(false), - m_nextTokenHasBeenSet(false) + m_nextTokenHasBeenSet(false), + m_networkType(AccessorNetworkType::NOT_SET), + m_networkTypeHasBeenSet(false) { } @@ -44,6 +46,13 @@ void ListAccessorsRequest::AddQueryStringParameters(URI& uri) const ss.str(""); } + if(m_networkTypeHasBeenSet) + { + ss << AccessorNetworkTypeMapper::GetNameForAccessorNetworkType(m_networkType); + uri.AddQueryStringParameter("networkType", ss.str()); + ss.str(""); + } + } diff --git a/generated/src/aws-cpp-sdk-personalize-events/include/aws/personalize-events/PersonalizeEventsClient.h b/generated/src/aws-cpp-sdk-personalize-events/include/aws/personalize-events/PersonalizeEventsClient.h index d2605eaddae..b3fe3224b3a 100644 --- a/generated/src/aws-cpp-sdk-personalize-events/include/aws/personalize-events/PersonalizeEventsClient.h +++ b/generated/src/aws-cpp-sdk-personalize-events/include/aws/personalize-events/PersonalizeEventsClient.h @@ -19,8 +19,8 @@ namespace PersonalizeEvents *

              Amazon Personalize can consume real-time user event data, such as * stream or click data, and use it for model training either alone * or combined with historical data. For more information see Recording - * Events.

              + * href="https://docs.aws.amazon.com/personalize/latest/dg/recording-item-interaction-events.html">Recording + * item interaction events.

              */ class AWS_PERSONALIZEEVENTS_API PersonalizeEventsClient : public Aws::Client::AWSJsonClient, public Aws::Client::ClientWithAsyncTemplateMethods { @@ -81,9 +81,69 @@ namespace PersonalizeEvents virtual ~PersonalizeEventsClient(); /** - *

              Records user interaction event data. For more information see Recording - * Events.

              See Also:

              Records action interaction event data. An action interaction event is + * an interaction between a user and an action. For example, a user taking + * an action, such a enrolling in a membership program or downloading your app.

              + *

              For more information about recording action interactions, see Recording + * action interaction events. For more information about actions in an Actions + * dataset, see Actions + * dataset.

              See Also:

              AWS + * API Reference

              + */ + virtual Model::PutActionInteractionsOutcome PutActionInteractions(const Model::PutActionInteractionsRequest& request) const; + + /** + * A Callable wrapper for PutActionInteractions that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::PutActionInteractionsOutcomeCallable PutActionInteractionsCallable(const PutActionInteractionsRequestT& request) const + { + return SubmitCallable(&PersonalizeEventsClient::PutActionInteractions, request); + } + + /** + * An Async wrapper for PutActionInteractions that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void PutActionInteractionsAsync(const PutActionInteractionsRequestT& request, const PutActionInteractionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&PersonalizeEventsClient::PutActionInteractions, request, handler, context); + } + + /** + *

              Adds one or more actions to an Actions dataset. For more information see Importing + * actions individually.

              See Also:

              AWS + * API Reference

              + */ + virtual Model::PutActionsOutcome PutActions(const Model::PutActionsRequest& request) const; + + /** + * A Callable wrapper for PutActions that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::PutActionsOutcomeCallable PutActionsCallable(const PutActionsRequestT& request) const + { + return SubmitCallable(&PersonalizeEventsClient::PutActions, request); + } + + /** + * An Async wrapper for PutActions that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void PutActionsAsync(const PutActionsRequestT& request, const PutActionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&PersonalizeEventsClient::PutActions, request, handler, context); + } + + /** + *

              Records item interaction event data. For more information see Recording + * item interaction events.

              See Also:

              AWS * API Reference

              */ @@ -110,7 +170,7 @@ namespace PersonalizeEvents /** *

              Adds one or more items to an Items dataset. For more information see Importing - * Items Incrementally.

              See Also:

              .

              See Also:

              AWS * API Reference

              */ @@ -137,7 +197,7 @@ namespace PersonalizeEvents /** *

              Adds one or more users to a Users dataset. For more information see Importing - * Users Incrementally.

              See Also:

              .

              See Also:

              AWS * API Reference

              */ diff --git a/generated/src/aws-cpp-sdk-personalize-events/include/aws/personalize-events/PersonalizeEventsServiceClientModel.h b/generated/src/aws-cpp-sdk-personalize-events/include/aws/personalize-events/PersonalizeEventsServiceClientModel.h index 7ef1cd0515a..68d56c78468 100644 --- a/generated/src/aws-cpp-sdk-personalize-events/include/aws/personalize-events/PersonalizeEventsServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-personalize-events/include/aws/personalize-events/PersonalizeEventsServiceClientModel.h @@ -59,18 +59,24 @@ namespace Aws namespace Model { /* Service model forward declarations required in PersonalizeEventsClient header */ + class PutActionInteractionsRequest; + class PutActionsRequest; class PutEventsRequest; class PutItemsRequest; class PutUsersRequest; /* End of service model forward declarations required in PersonalizeEventsClient header */ /* Service model Outcome class definitions */ + typedef Aws::Utils::Outcome PutActionInteractionsOutcome; + typedef Aws::Utils::Outcome PutActionsOutcome; typedef Aws::Utils::Outcome PutEventsOutcome; typedef Aws::Utils::Outcome PutItemsOutcome; typedef Aws::Utils::Outcome PutUsersOutcome; /* End of service model Outcome class definitions */ /* Service model Outcome callable definitions */ + typedef std::future PutActionInteractionsOutcomeCallable; + typedef std::future PutActionsOutcomeCallable; typedef std::future PutEventsOutcomeCallable; typedef std::future PutItemsOutcomeCallable; typedef std::future PutUsersOutcomeCallable; @@ -80,6 +86,8 @@ namespace Aws class PersonalizeEventsClient; /* Service model async handlers definitions */ + typedef std::function&) > PutActionInteractionsResponseReceivedHandler; + typedef std::function&) > PutActionsResponseReceivedHandler; typedef std::function&) > PutEventsResponseReceivedHandler; typedef std::function&) > PutItemsResponseReceivedHandler; typedef std::function&) > PutUsersResponseReceivedHandler; diff --git a/generated/src/aws-cpp-sdk-personalize-events/include/aws/personalize-events/model/Action.h b/generated/src/aws-cpp-sdk-personalize-events/include/aws/personalize-events/model/Action.h new file mode 100644 index 00000000000..5555000c872 --- /dev/null +++ b/generated/src/aws-cpp-sdk-personalize-events/include/aws/personalize-events/model/Action.h @@ -0,0 +1,183 @@ +/** + * 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 PersonalizeEvents +{ +namespace Model +{ + + /** + *

              Represents action metadata added to an Action dataset using the + * PutActions API. For more information see Importing + * actions individually.

              See Also:

              AWS + * API Reference

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

              The ID associated with the action.

              + */ + inline const Aws::String& GetActionId() const{ return m_actionId; } + + /** + *

              The ID associated with the action.

              + */ + inline bool ActionIdHasBeenSet() const { return m_actionIdHasBeenSet; } + + /** + *

              The ID associated with the action.

              + */ + inline void SetActionId(const Aws::String& value) { m_actionIdHasBeenSet = true; m_actionId = value; } + + /** + *

              The ID associated with the action.

              + */ + inline void SetActionId(Aws::String&& value) { m_actionIdHasBeenSet = true; m_actionId = std::move(value); } + + /** + *

              The ID associated with the action.

              + */ + inline void SetActionId(const char* value) { m_actionIdHasBeenSet = true; m_actionId.assign(value); } + + /** + *

              The ID associated with the action.

              + */ + inline Action& WithActionId(const Aws::String& value) { SetActionId(value); return *this;} + + /** + *

              The ID associated with the action.

              + */ + inline Action& WithActionId(Aws::String&& value) { SetActionId(std::move(value)); return *this;} + + /** + *

              The ID associated with the action.

              + */ + inline Action& WithActionId(const char* value) { SetActionId(value); return *this;} + + + /** + *

              A string map of action-specific metadata. Each element in the map consists of + * a key-value pair. For example, {"value": "100"}.

              The keys + * use camel case names that match the fields in the schema for the Actions + * dataset. In the previous example, the value matches the 'VALUE' + * field defined in the Actions schema. For categorical string data, to include + * multiple categories for a single action, separate each category with a pipe + * separator (|). For example, \"Deluxe|Premium\".

              + */ + inline const Aws::String& GetProperties() const{ return m_properties; } + + /** + *

              A string map of action-specific metadata. Each element in the map consists of + * a key-value pair. For example, {"value": "100"}.

              The keys + * use camel case names that match the fields in the schema for the Actions + * dataset. In the previous example, the value matches the 'VALUE' + * field defined in the Actions schema. For categorical string data, to include + * multiple categories for a single action, separate each category with a pipe + * separator (|). For example, \"Deluxe|Premium\".

              + */ + inline bool PropertiesHasBeenSet() const { return m_propertiesHasBeenSet; } + + /** + *

              A string map of action-specific metadata. Each element in the map consists of + * a key-value pair. For example, {"value": "100"}.

              The keys + * use camel case names that match the fields in the schema for the Actions + * dataset. In the previous example, the value matches the 'VALUE' + * field defined in the Actions schema. For categorical string data, to include + * multiple categories for a single action, separate each category with a pipe + * separator (|). For example, \"Deluxe|Premium\".

              + */ + inline void SetProperties(const Aws::String& value) { m_propertiesHasBeenSet = true; m_properties = value; } + + /** + *

              A string map of action-specific metadata. Each element in the map consists of + * a key-value pair. For example, {"value": "100"}.

              The keys + * use camel case names that match the fields in the schema for the Actions + * dataset. In the previous example, the value matches the 'VALUE' + * field defined in the Actions schema. For categorical string data, to include + * multiple categories for a single action, separate each category with a pipe + * separator (|). For example, \"Deluxe|Premium\".

              + */ + inline void SetProperties(Aws::String&& value) { m_propertiesHasBeenSet = true; m_properties = std::move(value); } + + /** + *

              A string map of action-specific metadata. Each element in the map consists of + * a key-value pair. For example, {"value": "100"}.

              The keys + * use camel case names that match the fields in the schema for the Actions + * dataset. In the previous example, the value matches the 'VALUE' + * field defined in the Actions schema. For categorical string data, to include + * multiple categories for a single action, separate each category with a pipe + * separator (|). For example, \"Deluxe|Premium\".

              + */ + inline void SetProperties(const char* value) { m_propertiesHasBeenSet = true; m_properties.assign(value); } + + /** + *

              A string map of action-specific metadata. Each element in the map consists of + * a key-value pair. For example, {"value": "100"}.

              The keys + * use camel case names that match the fields in the schema for the Actions + * dataset. In the previous example, the value matches the 'VALUE' + * field defined in the Actions schema. For categorical string data, to include + * multiple categories for a single action, separate each category with a pipe + * separator (|). For example, \"Deluxe|Premium\".

              + */ + inline Action& WithProperties(const Aws::String& value) { SetProperties(value); return *this;} + + /** + *

              A string map of action-specific metadata. Each element in the map consists of + * a key-value pair. For example, {"value": "100"}.

              The keys + * use camel case names that match the fields in the schema for the Actions + * dataset. In the previous example, the value matches the 'VALUE' + * field defined in the Actions schema. For categorical string data, to include + * multiple categories for a single action, separate each category with a pipe + * separator (|). For example, \"Deluxe|Premium\".

              + */ + inline Action& WithProperties(Aws::String&& value) { SetProperties(std::move(value)); return *this;} + + /** + *

              A string map of action-specific metadata. Each element in the map consists of + * a key-value pair. For example, {"value": "100"}.

              The keys + * use camel case names that match the fields in the schema for the Actions + * dataset. In the previous example, the value matches the 'VALUE' + * field defined in the Actions schema. For categorical string data, to include + * multiple categories for a single action, separate each category with a pipe + * separator (|). For example, \"Deluxe|Premium\".

              + */ + inline Action& WithProperties(const char* value) { SetProperties(value); return *this;} + + private: + + Aws::String m_actionId; + bool m_actionIdHasBeenSet = false; + + Aws::String m_properties; + bool m_propertiesHasBeenSet = false; + }; + +} // namespace Model +} // namespace PersonalizeEvents +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-personalize-events/include/aws/personalize-events/model/ActionInteraction.h b/generated/src/aws-cpp-sdk-personalize-events/include/aws/personalize-events/model/ActionInteraction.h new file mode 100644 index 00000000000..971c7c9bc81 --- /dev/null +++ b/generated/src/aws-cpp-sdk-personalize-events/include/aws/personalize-events/model/ActionInteraction.h @@ -0,0 +1,664 @@ +/** + * 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 PersonalizeEvents +{ +namespace Model +{ + + /** + *

              Represents an action interaction event sent using the + * PutActionInteractions API.

              See Also:

              AWS + * API Reference

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

              The ID of the action the user interacted with. This corresponds to the + * ACTION_ID field of the Action interaction schema.

              + */ + inline const Aws::String& GetActionId() const{ return m_actionId; } + + /** + *

              The ID of the action the user interacted with. This corresponds to the + * ACTION_ID field of the Action interaction schema.

              + */ + inline bool ActionIdHasBeenSet() const { return m_actionIdHasBeenSet; } + + /** + *

              The ID of the action the user interacted with. This corresponds to the + * ACTION_ID field of the Action interaction schema.

              + */ + inline void SetActionId(const Aws::String& value) { m_actionIdHasBeenSet = true; m_actionId = value; } + + /** + *

              The ID of the action the user interacted with. This corresponds to the + * ACTION_ID field of the Action interaction schema.

              + */ + inline void SetActionId(Aws::String&& value) { m_actionIdHasBeenSet = true; m_actionId = std::move(value); } + + /** + *

              The ID of the action the user interacted with. This corresponds to the + * ACTION_ID field of the Action interaction schema.

              + */ + inline void SetActionId(const char* value) { m_actionIdHasBeenSet = true; m_actionId.assign(value); } + + /** + *

              The ID of the action the user interacted with. This corresponds to the + * ACTION_ID field of the Action interaction schema.

              + */ + inline ActionInteraction& WithActionId(const Aws::String& value) { SetActionId(value); return *this;} + + /** + *

              The ID of the action the user interacted with. This corresponds to the + * ACTION_ID field of the Action interaction schema.

              + */ + inline ActionInteraction& WithActionId(Aws::String&& value) { SetActionId(std::move(value)); return *this;} + + /** + *

              The ID of the action the user interacted with. This corresponds to the + * ACTION_ID field of the Action interaction schema.

              + */ + inline ActionInteraction& WithActionId(const char* value) { SetActionId(value); return *this;} + + + /** + *

              The ID of the user who interacted with the action. This corresponds to the + * USER_ID field of the Action interaction schema.

              + */ + inline const Aws::String& GetUserId() const{ return m_userId; } + + /** + *

              The ID of the user who interacted with the action. This corresponds to the + * USER_ID field of the Action interaction schema.

              + */ + inline bool UserIdHasBeenSet() const { return m_userIdHasBeenSet; } + + /** + *

              The ID of the user who interacted with the action. This corresponds to the + * USER_ID field of the Action interaction schema.

              + */ + inline void SetUserId(const Aws::String& value) { m_userIdHasBeenSet = true; m_userId = value; } + + /** + *

              The ID of the user who interacted with the action. This corresponds to the + * USER_ID field of the Action interaction schema.

              + */ + inline void SetUserId(Aws::String&& value) { m_userIdHasBeenSet = true; m_userId = std::move(value); } + + /** + *

              The ID of the user who interacted with the action. This corresponds to the + * USER_ID field of the Action interaction schema.

              + */ + inline void SetUserId(const char* value) { m_userIdHasBeenSet = true; m_userId.assign(value); } + + /** + *

              The ID of the user who interacted with the action. This corresponds to the + * USER_ID field of the Action interaction schema.

              + */ + inline ActionInteraction& WithUserId(const Aws::String& value) { SetUserId(value); return *this;} + + /** + *

              The ID of the user who interacted with the action. This corresponds to the + * USER_ID field of the Action interaction schema.

              + */ + inline ActionInteraction& WithUserId(Aws::String&& value) { SetUserId(std::move(value)); return *this;} + + /** + *

              The ID of the user who interacted with the action. This corresponds to the + * USER_ID field of the Action interaction schema.

              + */ + inline ActionInteraction& WithUserId(const char* value) { SetUserId(value); return *this;} + + + /** + *

              The ID associated with the user's visit. Your application generates a unique + * sessionId when a user first visits your website or uses your + * application.

              + */ + inline const Aws::String& GetSessionId() const{ return m_sessionId; } + + /** + *

              The ID associated with the user's visit. Your application generates a unique + * sessionId when a user first visits your website or uses your + * application.

              + */ + inline bool SessionIdHasBeenSet() const { return m_sessionIdHasBeenSet; } + + /** + *

              The ID associated with the user's visit. Your application generates a unique + * sessionId when a user first visits your website or uses your + * application.

              + */ + inline void SetSessionId(const Aws::String& value) { m_sessionIdHasBeenSet = true; m_sessionId = value; } + + /** + *

              The ID associated with the user's visit. Your application generates a unique + * sessionId when a user first visits your website or uses your + * application.

              + */ + inline void SetSessionId(Aws::String&& value) { m_sessionIdHasBeenSet = true; m_sessionId = std::move(value); } + + /** + *

              The ID associated with the user's visit. Your application generates a unique + * sessionId when a user first visits your website or uses your + * application.

              + */ + inline void SetSessionId(const char* value) { m_sessionIdHasBeenSet = true; m_sessionId.assign(value); } + + /** + *

              The ID associated with the user's visit. Your application generates a unique + * sessionId when a user first visits your website or uses your + * application.

              + */ + inline ActionInteraction& WithSessionId(const Aws::String& value) { SetSessionId(value); return *this;} + + /** + *

              The ID associated with the user's visit. Your application generates a unique + * sessionId when a user first visits your website or uses your + * application.

              + */ + inline ActionInteraction& WithSessionId(Aws::String&& value) { SetSessionId(std::move(value)); return *this;} + + /** + *

              The ID associated with the user's visit. Your application generates a unique + * sessionId when a user first visits your website or uses your + * application.

              + */ + inline ActionInteraction& WithSessionId(const char* value) { SetSessionId(value); return *this;} + + + /** + *

              The timestamp for when the action interaction event occurred. Timestamps must + * be in Unix epoch time format, in seconds.

              + */ + inline const Aws::Utils::DateTime& GetTimestamp() const{ return m_timestamp; } + + /** + *

              The timestamp for when the action interaction event occurred. Timestamps must + * be in Unix epoch time format, in seconds.

              + */ + inline bool TimestampHasBeenSet() const { return m_timestampHasBeenSet; } + + /** + *

              The timestamp for when the action interaction event occurred. Timestamps must + * be in Unix epoch time format, in seconds.

              + */ + inline void SetTimestamp(const Aws::Utils::DateTime& value) { m_timestampHasBeenSet = true; m_timestamp = value; } + + /** + *

              The timestamp for when the action interaction event occurred. Timestamps must + * be in Unix epoch time format, in seconds.

              + */ + inline void SetTimestamp(Aws::Utils::DateTime&& value) { m_timestampHasBeenSet = true; m_timestamp = std::move(value); } + + /** + *

              The timestamp for when the action interaction event occurred. Timestamps must + * be in Unix epoch time format, in seconds.

              + */ + inline ActionInteraction& WithTimestamp(const Aws::Utils::DateTime& value) { SetTimestamp(value); return *this;} + + /** + *

              The timestamp for when the action interaction event occurred. Timestamps must + * be in Unix epoch time format, in seconds.

              + */ + inline ActionInteraction& WithTimestamp(Aws::Utils::DateTime&& value) { SetTimestamp(std::move(value)); return *this;} + + + /** + *

              The type of action interaction event. You can specify Viewed, + * Taken, and Not Taken event types. For more information + * about action interaction event type data, see Event + * type data.

              + */ + inline const Aws::String& GetEventType() const{ return m_eventType; } + + /** + *

              The type of action interaction event. You can specify Viewed, + * Taken, and Not Taken event types. For more information + * about action interaction event type data, see Event + * type data.

              + */ + inline bool EventTypeHasBeenSet() const { return m_eventTypeHasBeenSet; } + + /** + *

              The type of action interaction event. You can specify Viewed, + * Taken, and Not Taken event types. For more information + * about action interaction event type data, see Event + * type data.

              + */ + inline void SetEventType(const Aws::String& value) { m_eventTypeHasBeenSet = true; m_eventType = value; } + + /** + *

              The type of action interaction event. You can specify Viewed, + * Taken, and Not Taken event types. For more information + * about action interaction event type data, see Event + * type data.

              + */ + inline void SetEventType(Aws::String&& value) { m_eventTypeHasBeenSet = true; m_eventType = std::move(value); } + + /** + *

              The type of action interaction event. You can specify Viewed, + * Taken, and Not Taken event types. For more information + * about action interaction event type data, see Event + * type data.

              + */ + inline void SetEventType(const char* value) { m_eventTypeHasBeenSet = true; m_eventType.assign(value); } + + /** + *

              The type of action interaction event. You can specify Viewed, + * Taken, and Not Taken event types. For more information + * about action interaction event type data, see Event + * type data.

              + */ + inline ActionInteraction& WithEventType(const Aws::String& value) { SetEventType(value); return *this;} + + /** + *

              The type of action interaction event. You can specify Viewed, + * Taken, and Not Taken event types. For more information + * about action interaction event type data, see Event + * type data.

              + */ + inline ActionInteraction& WithEventType(Aws::String&& value) { SetEventType(std::move(value)); return *this;} + + /** + *

              The type of action interaction event. You can specify Viewed, + * Taken, and Not Taken event types. For more information + * about action interaction event type data, see Event + * type data.

              + */ + inline ActionInteraction& WithEventType(const char* value) { SetEventType(value); return *this;} + + + /** + *

              An ID associated with the event. If an event ID is not provided, Amazon + * Personalize generates a unique ID for the event. An event ID is not used as an + * input to the model. Amazon Personalize uses the event ID to distinguish unique + * events. Any subsequent events after the first with the same event ID are not + * used in model training.

              + */ + inline const Aws::String& GetEventId() const{ return m_eventId; } + + /** + *

              An ID associated with the event. If an event ID is not provided, Amazon + * Personalize generates a unique ID for the event. An event ID is not used as an + * input to the model. Amazon Personalize uses the event ID to distinguish unique + * events. Any subsequent events after the first with the same event ID are not + * used in model training.

              + */ + inline bool EventIdHasBeenSet() const { return m_eventIdHasBeenSet; } + + /** + *

              An ID associated with the event. If an event ID is not provided, Amazon + * Personalize generates a unique ID for the event. An event ID is not used as an + * input to the model. Amazon Personalize uses the event ID to distinguish unique + * events. Any subsequent events after the first with the same event ID are not + * used in model training.

              + */ + inline void SetEventId(const Aws::String& value) { m_eventIdHasBeenSet = true; m_eventId = value; } + + /** + *

              An ID associated with the event. If an event ID is not provided, Amazon + * Personalize generates a unique ID for the event. An event ID is not used as an + * input to the model. Amazon Personalize uses the event ID to distinguish unique + * events. Any subsequent events after the first with the same event ID are not + * used in model training.

              + */ + inline void SetEventId(Aws::String&& value) { m_eventIdHasBeenSet = true; m_eventId = std::move(value); } + + /** + *

              An ID associated with the event. If an event ID is not provided, Amazon + * Personalize generates a unique ID for the event. An event ID is not used as an + * input to the model. Amazon Personalize uses the event ID to distinguish unique + * events. Any subsequent events after the first with the same event ID are not + * used in model training.

              + */ + inline void SetEventId(const char* value) { m_eventIdHasBeenSet = true; m_eventId.assign(value); } + + /** + *

              An ID associated with the event. If an event ID is not provided, Amazon + * Personalize generates a unique ID for the event. An event ID is not used as an + * input to the model. Amazon Personalize uses the event ID to distinguish unique + * events. Any subsequent events after the first with the same event ID are not + * used in model training.

              + */ + inline ActionInteraction& WithEventId(const Aws::String& value) { SetEventId(value); return *this;} + + /** + *

              An ID associated with the event. If an event ID is not provided, Amazon + * Personalize generates a unique ID for the event. An event ID is not used as an + * input to the model. Amazon Personalize uses the event ID to distinguish unique + * events. Any subsequent events after the first with the same event ID are not + * used in model training.

              + */ + inline ActionInteraction& WithEventId(Aws::String&& value) { SetEventId(std::move(value)); return *this;} + + /** + *

              An ID associated with the event. If an event ID is not provided, Amazon + * Personalize generates a unique ID for the event. An event ID is not used as an + * input to the model. Amazon Personalize uses the event ID to distinguish unique + * events. Any subsequent events after the first with the same event ID are not + * used in model training.

              + */ + inline ActionInteraction& WithEventId(const char* value) { SetEventId(value); return *this;} + + + /** + *

              The ID of the list of recommendations that contains the action the user + * interacted with.

              + */ + inline const Aws::String& GetRecommendationId() const{ return m_recommendationId; } + + /** + *

              The ID of the list of recommendations that contains the action the user + * interacted with.

              + */ + inline bool RecommendationIdHasBeenSet() const { return m_recommendationIdHasBeenSet; } + + /** + *

              The ID of the list of recommendations that contains the action the user + * interacted with.

              + */ + inline void SetRecommendationId(const Aws::String& value) { m_recommendationIdHasBeenSet = true; m_recommendationId = value; } + + /** + *

              The ID of the list of recommendations that contains the action the user + * interacted with.

              + */ + inline void SetRecommendationId(Aws::String&& value) { m_recommendationIdHasBeenSet = true; m_recommendationId = std::move(value); } + + /** + *

              The ID of the list of recommendations that contains the action the user + * interacted with.

              + */ + inline void SetRecommendationId(const char* value) { m_recommendationIdHasBeenSet = true; m_recommendationId.assign(value); } + + /** + *

              The ID of the list of recommendations that contains the action the user + * interacted with.

              + */ + inline ActionInteraction& WithRecommendationId(const Aws::String& value) { SetRecommendationId(value); return *this;} + + /** + *

              The ID of the list of recommendations that contains the action the user + * interacted with.

              + */ + inline ActionInteraction& WithRecommendationId(Aws::String&& value) { SetRecommendationId(std::move(value)); return *this;} + + /** + *

              The ID of the list of recommendations that contains the action the user + * interacted with.

              + */ + inline ActionInteraction& WithRecommendationId(const char* value) { SetRecommendationId(value); return *this;} + + + /** + *

              A list of action IDs that represents the sequence of actions you have shown + * the user. For example, ["actionId1", "actionId2", "actionId3"]. + * Amazon Personalize doesn't use impressions data from action interaction events. + * Instead, record multiple events for each action and use the Viewed + * event type.

              + */ + inline const Aws::Vector& GetImpression() const{ return m_impression; } + + /** + *

              A list of action IDs that represents the sequence of actions you have shown + * the user. For example, ["actionId1", "actionId2", "actionId3"]. + * Amazon Personalize doesn't use impressions data from action interaction events. + * Instead, record multiple events for each action and use the Viewed + * event type.

              + */ + inline bool ImpressionHasBeenSet() const { return m_impressionHasBeenSet; } + + /** + *

              A list of action IDs that represents the sequence of actions you have shown + * the user. For example, ["actionId1", "actionId2", "actionId3"]. + * Amazon Personalize doesn't use impressions data from action interaction events. + * Instead, record multiple events for each action and use the Viewed + * event type.

              + */ + inline void SetImpression(const Aws::Vector& value) { m_impressionHasBeenSet = true; m_impression = value; } + + /** + *

              A list of action IDs that represents the sequence of actions you have shown + * the user. For example, ["actionId1", "actionId2", "actionId3"]. + * Amazon Personalize doesn't use impressions data from action interaction events. + * Instead, record multiple events for each action and use the Viewed + * event type.

              + */ + inline void SetImpression(Aws::Vector&& value) { m_impressionHasBeenSet = true; m_impression = std::move(value); } + + /** + *

              A list of action IDs that represents the sequence of actions you have shown + * the user. For example, ["actionId1", "actionId2", "actionId3"]. + * Amazon Personalize doesn't use impressions data from action interaction events. + * Instead, record multiple events for each action and use the Viewed + * event type.

              + */ + inline ActionInteraction& WithImpression(const Aws::Vector& value) { SetImpression(value); return *this;} + + /** + *

              A list of action IDs that represents the sequence of actions you have shown + * the user. For example, ["actionId1", "actionId2", "actionId3"]. + * Amazon Personalize doesn't use impressions data from action interaction events. + * Instead, record multiple events for each action and use the Viewed + * event type.

              + */ + inline ActionInteraction& WithImpression(Aws::Vector&& value) { SetImpression(std::move(value)); return *this;} + + /** + *

              A list of action IDs that represents the sequence of actions you have shown + * the user. For example, ["actionId1", "actionId2", "actionId3"]. + * Amazon Personalize doesn't use impressions data from action interaction events. + * Instead, record multiple events for each action and use the Viewed + * event type.

              + */ + inline ActionInteraction& AddImpression(const Aws::String& value) { m_impressionHasBeenSet = true; m_impression.push_back(value); return *this; } + + /** + *

              A list of action IDs that represents the sequence of actions you have shown + * the user. For example, ["actionId1", "actionId2", "actionId3"]. + * Amazon Personalize doesn't use impressions data from action interaction events. + * Instead, record multiple events for each action and use the Viewed + * event type.

              + */ + inline ActionInteraction& AddImpression(Aws::String&& value) { m_impressionHasBeenSet = true; m_impression.push_back(std::move(value)); return *this; } + + /** + *

              A list of action IDs that represents the sequence of actions you have shown + * the user. For example, ["actionId1", "actionId2", "actionId3"]. + * Amazon Personalize doesn't use impressions data from action interaction events. + * Instead, record multiple events for each action and use the Viewed + * event type.

              + */ + inline ActionInteraction& AddImpression(const char* value) { m_impressionHasBeenSet = true; m_impression.push_back(value); return *this; } + + + /** + *

              A string map of event-specific data that you might choose to record. For + * example, if a user takes an action, other than the action ID, you might also + * send the number of actions taken by the user.

              Each item in the map + * consists of a key-value pair. For example,

              {"numberOfActions": + * "12"}

              The keys use camel case names that match the fields in the + * Action interactions schema. In the above example, the + * numberOfActions would match the 'NUMBER_OF_ACTIONS' field defined + * in the Action interactions schema.

              The following can't be included as a + * keyword for properties (case insensitive).

              • userId

              • + *
              • sessionId

              • eventType

              • timestamp

                + *
              • recommendationId

              • impression

              + */ + inline const Aws::String& GetProperties() const{ return m_properties; } + + /** + *

              A string map of event-specific data that you might choose to record. For + * example, if a user takes an action, other than the action ID, you might also + * send the number of actions taken by the user.

              Each item in the map + * consists of a key-value pair. For example,

              {"numberOfActions": + * "12"}

              The keys use camel case names that match the fields in the + * Action interactions schema. In the above example, the + * numberOfActions would match the 'NUMBER_OF_ACTIONS' field defined + * in the Action interactions schema.

              The following can't be included as a + * keyword for properties (case insensitive).

              • userId

              • + *
              • sessionId

              • eventType

              • timestamp

                + *
              • recommendationId

              • impression

              + */ + inline bool PropertiesHasBeenSet() const { return m_propertiesHasBeenSet; } + + /** + *

              A string map of event-specific data that you might choose to record. For + * example, if a user takes an action, other than the action ID, you might also + * send the number of actions taken by the user.

              Each item in the map + * consists of a key-value pair. For example,

              {"numberOfActions": + * "12"}

              The keys use camel case names that match the fields in the + * Action interactions schema. In the above example, the + * numberOfActions would match the 'NUMBER_OF_ACTIONS' field defined + * in the Action interactions schema.

              The following can't be included as a + * keyword for properties (case insensitive).

              • userId

              • + *
              • sessionId

              • eventType

              • timestamp

                + *
              • recommendationId

              • impression

              + */ + inline void SetProperties(const Aws::String& value) { m_propertiesHasBeenSet = true; m_properties = value; } + + /** + *

              A string map of event-specific data that you might choose to record. For + * example, if a user takes an action, other than the action ID, you might also + * send the number of actions taken by the user.

              Each item in the map + * consists of a key-value pair. For example,

              {"numberOfActions": + * "12"}

              The keys use camel case names that match the fields in the + * Action interactions schema. In the above example, the + * numberOfActions would match the 'NUMBER_OF_ACTIONS' field defined + * in the Action interactions schema.

              The following can't be included as a + * keyword for properties (case insensitive).

              • userId

              • + *
              • sessionId

              • eventType

              • timestamp

                + *
              • recommendationId

              • impression

              + */ + inline void SetProperties(Aws::String&& value) { m_propertiesHasBeenSet = true; m_properties = std::move(value); } + + /** + *

              A string map of event-specific data that you might choose to record. For + * example, if a user takes an action, other than the action ID, you might also + * send the number of actions taken by the user.

              Each item in the map + * consists of a key-value pair. For example,

              {"numberOfActions": + * "12"}

              The keys use camel case names that match the fields in the + * Action interactions schema. In the above example, the + * numberOfActions would match the 'NUMBER_OF_ACTIONS' field defined + * in the Action interactions schema.

              The following can't be included as a + * keyword for properties (case insensitive).

              • userId

              • + *
              • sessionId

              • eventType

              • timestamp

                + *
              • recommendationId

              • impression

              + */ + inline void SetProperties(const char* value) { m_propertiesHasBeenSet = true; m_properties.assign(value); } + + /** + *

              A string map of event-specific data that you might choose to record. For + * example, if a user takes an action, other than the action ID, you might also + * send the number of actions taken by the user.

              Each item in the map + * consists of a key-value pair. For example,

              {"numberOfActions": + * "12"}

              The keys use camel case names that match the fields in the + * Action interactions schema. In the above example, the + * numberOfActions would match the 'NUMBER_OF_ACTIONS' field defined + * in the Action interactions schema.

              The following can't be included as a + * keyword for properties (case insensitive).

              • userId

              • + *
              • sessionId

              • eventType

              • timestamp

                + *
              • recommendationId

              • impression

              + */ + inline ActionInteraction& WithProperties(const Aws::String& value) { SetProperties(value); return *this;} + + /** + *

              A string map of event-specific data that you might choose to record. For + * example, if a user takes an action, other than the action ID, you might also + * send the number of actions taken by the user.

              Each item in the map + * consists of a key-value pair. For example,

              {"numberOfActions": + * "12"}

              The keys use camel case names that match the fields in the + * Action interactions schema. In the above example, the + * numberOfActions would match the 'NUMBER_OF_ACTIONS' field defined + * in the Action interactions schema.

              The following can't be included as a + * keyword for properties (case insensitive).

              • userId

              • + *
              • sessionId

              • eventType

              • timestamp

                + *
              • recommendationId

              • impression

              + */ + inline ActionInteraction& WithProperties(Aws::String&& value) { SetProperties(std::move(value)); return *this;} + + /** + *

              A string map of event-specific data that you might choose to record. For + * example, if a user takes an action, other than the action ID, you might also + * send the number of actions taken by the user.

              Each item in the map + * consists of a key-value pair. For example,

              {"numberOfActions": + * "12"}

              The keys use camel case names that match the fields in the + * Action interactions schema. In the above example, the + * numberOfActions would match the 'NUMBER_OF_ACTIONS' field defined + * in the Action interactions schema.

              The following can't be included as a + * keyword for properties (case insensitive).

              • userId

              • + *
              • sessionId

              • eventType

              • timestamp

                + *
              • recommendationId

              • impression

              + */ + inline ActionInteraction& WithProperties(const char* value) { SetProperties(value); return *this;} + + private: + + Aws::String m_actionId; + bool m_actionIdHasBeenSet = false; + + Aws::String m_userId; + bool m_userIdHasBeenSet = false; + + Aws::String m_sessionId; + bool m_sessionIdHasBeenSet = false; + + Aws::Utils::DateTime m_timestamp; + bool m_timestampHasBeenSet = false; + + Aws::String m_eventType; + bool m_eventTypeHasBeenSet = false; + + Aws::String m_eventId; + bool m_eventIdHasBeenSet = false; + + Aws::String m_recommendationId; + bool m_recommendationIdHasBeenSet = false; + + Aws::Vector m_impression; + bool m_impressionHasBeenSet = false; + + Aws::String m_properties; + bool m_propertiesHasBeenSet = false; + }; + +} // namespace Model +} // namespace PersonalizeEvents +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-personalize-events/include/aws/personalize-events/model/Event.h b/generated/src/aws-cpp-sdk-personalize-events/include/aws/personalize-events/model/Event.h index 6e77f57b3df..7c378a0baa2 100644 --- a/generated/src/aws-cpp-sdk-personalize-events/include/aws/personalize-events/model/Event.h +++ b/generated/src/aws-cpp-sdk-personalize-events/include/aws/personalize-events/model/Event.h @@ -27,7 +27,7 @@ namespace Model { /** - *

              Represents user interaction event information sent using the + *

              Represents item interaction event information sent using the * PutEvents API.

              See Also:

              AWS * API Reference

              @@ -44,7 +44,7 @@ namespace Model /** *

              An ID associated with the event. If an event ID is not provided, Amazon * Personalize generates a unique ID for the event. An event ID is not used as an - * input to the model. Amazon Personalize uses the event ID to distinquish unique + * input to the model. Amazon Personalize uses the event ID to distinguish unique * events. Any subsequent events after the first with the same event ID are not * used in model training.

              */ @@ -53,7 +53,7 @@ namespace Model /** *

              An ID associated with the event. If an event ID is not provided, Amazon * Personalize generates a unique ID for the event. An event ID is not used as an - * input to the model. Amazon Personalize uses the event ID to distinquish unique + * input to the model. Amazon Personalize uses the event ID to distinguish unique * events. Any subsequent events after the first with the same event ID are not * used in model training.

              */ @@ -62,7 +62,7 @@ namespace Model /** *

              An ID associated with the event. If an event ID is not provided, Amazon * Personalize generates a unique ID for the event. An event ID is not used as an - * input to the model. Amazon Personalize uses the event ID to distinquish unique + * input to the model. Amazon Personalize uses the event ID to distinguish unique * events. Any subsequent events after the first with the same event ID are not * used in model training.

              */ @@ -71,7 +71,7 @@ namespace Model /** *

              An ID associated with the event. If an event ID is not provided, Amazon * Personalize generates a unique ID for the event. An event ID is not used as an - * input to the model. Amazon Personalize uses the event ID to distinquish unique + * input to the model. Amazon Personalize uses the event ID to distinguish unique * events. Any subsequent events after the first with the same event ID are not * used in model training.

              */ @@ -80,7 +80,7 @@ namespace Model /** *

              An ID associated with the event. If an event ID is not provided, Amazon * Personalize generates a unique ID for the event. An event ID is not used as an - * input to the model. Amazon Personalize uses the event ID to distinquish unique + * input to the model. Amazon Personalize uses the event ID to distinguish unique * events. Any subsequent events after the first with the same event ID are not * used in model training.

              */ @@ -89,7 +89,7 @@ namespace Model /** *

              An ID associated with the event. If an event ID is not provided, Amazon * Personalize generates a unique ID for the event. An event ID is not used as an - * input to the model. Amazon Personalize uses the event ID to distinquish unique + * input to the model. Amazon Personalize uses the event ID to distinguish unique * events. Any subsequent events after the first with the same event ID are not * used in model training.

              */ @@ -98,7 +98,7 @@ namespace Model /** *

              An ID associated with the event. If an event ID is not provided, Amazon * Personalize generates a unique ID for the event. An event ID is not used as an - * input to the model. Amazon Personalize uses the event ID to distinquish unique + * input to the model. Amazon Personalize uses the event ID to distinguish unique * events. Any subsequent events after the first with the same event ID are not * used in model training.

              */ @@ -107,7 +107,7 @@ namespace Model /** *

              An ID associated with the event. If an event ID is not provided, Amazon * Personalize generates a unique ID for the event. An event ID is not used as an - * input to the model. Amazon Personalize uses the event ID to distinquish unique + * input to the model. Amazon Personalize uses the event ID to distinguish unique * events. Any subsequent events after the first with the same event ID are not * used in model training.

              */ @@ -116,131 +116,131 @@ namespace Model /** *

              The type of event, such as click or download. This property corresponds to - * the EVENT_TYPE field of your Interactions schema and depends on the - * types of events you are tracking.

              + * the EVENT_TYPE field of your Item interactions dataset's schema and + * depends on the types of events you are tracking.

              */ inline const Aws::String& GetEventType() const{ return m_eventType; } /** *

              The type of event, such as click or download. This property corresponds to - * the EVENT_TYPE field of your Interactions schema and depends on the - * types of events you are tracking.

              + * the EVENT_TYPE field of your Item interactions dataset's schema and + * depends on the types of events you are tracking.

              */ inline bool EventTypeHasBeenSet() const { return m_eventTypeHasBeenSet; } /** *

              The type of event, such as click or download. This property corresponds to - * the EVENT_TYPE field of your Interactions schema and depends on the - * types of events you are tracking.

              + * the EVENT_TYPE field of your Item interactions dataset's schema and + * depends on the types of events you are tracking.

              */ inline void SetEventType(const Aws::String& value) { m_eventTypeHasBeenSet = true; m_eventType = value; } /** *

              The type of event, such as click or download. This property corresponds to - * the EVENT_TYPE field of your Interactions schema and depends on the - * types of events you are tracking.

              + * the EVENT_TYPE field of your Item interactions dataset's schema and + * depends on the types of events you are tracking.

              */ inline void SetEventType(Aws::String&& value) { m_eventTypeHasBeenSet = true; m_eventType = std::move(value); } /** *

              The type of event, such as click or download. This property corresponds to - * the EVENT_TYPE field of your Interactions schema and depends on the - * types of events you are tracking.

              + * the EVENT_TYPE field of your Item interactions dataset's schema and + * depends on the types of events you are tracking.

              */ inline void SetEventType(const char* value) { m_eventTypeHasBeenSet = true; m_eventType.assign(value); } /** *

              The type of event, such as click or download. This property corresponds to - * the EVENT_TYPE field of your Interactions schema and depends on the - * types of events you are tracking.

              + * the EVENT_TYPE field of your Item interactions dataset's schema and + * depends on the types of events you are tracking.

              */ inline Event& WithEventType(const Aws::String& value) { SetEventType(value); return *this;} /** *

              The type of event, such as click or download. This property corresponds to - * the EVENT_TYPE field of your Interactions schema and depends on the - * types of events you are tracking.

              + * the EVENT_TYPE field of your Item interactions dataset's schema and + * depends on the types of events you are tracking.

              */ inline Event& WithEventType(Aws::String&& value) { SetEventType(std::move(value)); return *this;} /** *

              The type of event, such as click or download. This property corresponds to - * the EVENT_TYPE field of your Interactions schema and depends on the - * types of events you are tracking.

              + * the EVENT_TYPE field of your Item interactions dataset's schema and + * depends on the types of events you are tracking.

              */ inline Event& WithEventType(const char* value) { SetEventType(value); return *this;} /** *

              The event value that corresponds to the EVENT_VALUE field of the - * Interactions schema.

              + * Item interactions schema.

              */ inline double GetEventValue() const{ return m_eventValue; } /** *

              The event value that corresponds to the EVENT_VALUE field of the - * Interactions schema.

              + * Item interactions schema.

              */ inline bool EventValueHasBeenSet() const { return m_eventValueHasBeenSet; } /** *

              The event value that corresponds to the EVENT_VALUE field of the - * Interactions schema.

              + * Item interactions schema.

              */ inline void SetEventValue(double value) { m_eventValueHasBeenSet = true; m_eventValue = value; } /** *

              The event value that corresponds to the EVENT_VALUE field of the - * Interactions schema.

              + * Item interactions schema.

              */ inline Event& WithEventValue(double value) { SetEventValue(value); return *this;} /** *

              The item ID key that corresponds to the ITEM_ID field of the - * Interactions schema.

              + * Item interactions dataset's schema.

              */ inline const Aws::String& GetItemId() const{ return m_itemId; } /** *

              The item ID key that corresponds to the ITEM_ID field of the - * Interactions schema.

              + * Item interactions dataset's schema.

              */ inline bool ItemIdHasBeenSet() const { return m_itemIdHasBeenSet; } /** *

              The item ID key that corresponds to the ITEM_ID field of the - * Interactions schema.

              + * Item interactions dataset's schema.

              */ inline void SetItemId(const Aws::String& value) { m_itemIdHasBeenSet = true; m_itemId = value; } /** *

              The item ID key that corresponds to the ITEM_ID field of the - * Interactions schema.

              + * Item interactions dataset's schema.

              */ inline void SetItemId(Aws::String&& value) { m_itemIdHasBeenSet = true; m_itemId = std::move(value); } /** *

              The item ID key that corresponds to the ITEM_ID field of the - * Interactions schema.

              + * Item interactions dataset's schema.

              */ inline void SetItemId(const char* value) { m_itemIdHasBeenSet = true; m_itemId.assign(value); } /** *

              The item ID key that corresponds to the ITEM_ID field of the - * Interactions schema.

              + * Item interactions dataset's schema.

              */ inline Event& WithItemId(const Aws::String& value) { SetItemId(value); return *this;} /** *

              The item ID key that corresponds to the ITEM_ID field of the - * Interactions schema.

              + * Item interactions dataset's schema.

              */ inline Event& WithItemId(Aws::String&& value) { SetItemId(std::move(value)); return *this;} /** *

              The item ID key that corresponds to the ITEM_ID field of the - * Interactions schema.

              + * Item interactions dataset's schema.

              */ inline Event& WithItemId(const char* value) { SetItemId(value); return *this;} @@ -252,9 +252,13 @@ namespace Model * the number of movie ratings made by the user.

              Each item in the map * consists of a key-value pair. For example,

              {"numberOfRatings": * "12"}

              The keys use camel case names that match the fields in the - * Interactions schema. In the above example, the numberOfRatings - * would match the 'NUMBER_OF_RATINGS' field defined in the Interactions - * schema.

              + * Item interactions dataset's schema. In the above example, the + * numberOfRatings would match the 'NUMBER_OF_RATINGS' field defined + * in the Item interactions dataset's schema.

              The following can't be + * included as a keyword for properties (case insensitive).

              • + * userId

              • sessionId

              • eventType

              • + *

                timestamp

              • recommendationId

              • impression

                + *
              */ inline const Aws::String& GetProperties() const{ return m_properties; } @@ -265,9 +269,13 @@ namespace Model * the number of movie ratings made by the user.

              Each item in the map * consists of a key-value pair. For example,

              {"numberOfRatings": * "12"}

              The keys use camel case names that match the fields in the - * Interactions schema. In the above example, the numberOfRatings - * would match the 'NUMBER_OF_RATINGS' field defined in the Interactions - * schema.

              + * Item interactions dataset's schema. In the above example, the + * numberOfRatings would match the 'NUMBER_OF_RATINGS' field defined + * in the Item interactions dataset's schema.

              The following can't be + * included as a keyword for properties (case insensitive).

              • + * userId

              • sessionId

              • eventType

              • + *

                timestamp

              • recommendationId

              • impression

                + *
              */ inline bool PropertiesHasBeenSet() const { return m_propertiesHasBeenSet; } @@ -278,9 +286,13 @@ namespace Model * the number of movie ratings made by the user.

              Each item in the map * consists of a key-value pair. For example,

              {"numberOfRatings": * "12"}

              The keys use camel case names that match the fields in the - * Interactions schema. In the above example, the numberOfRatings - * would match the 'NUMBER_OF_RATINGS' field defined in the Interactions - * schema.

              + * Item interactions dataset's schema. In the above example, the + * numberOfRatings would match the 'NUMBER_OF_RATINGS' field defined + * in the Item interactions dataset's schema.

              The following can't be + * included as a keyword for properties (case insensitive).

              • + * userId

              • sessionId

              • eventType

              • + *

                timestamp

              • recommendationId

              • impression

                + *
              */ inline void SetProperties(const Aws::String& value) { m_propertiesHasBeenSet = true; m_properties = value; } @@ -291,9 +303,13 @@ namespace Model * the number of movie ratings made by the user.

              Each item in the map * consists of a key-value pair. For example,

              {"numberOfRatings": * "12"}

              The keys use camel case names that match the fields in the - * Interactions schema. In the above example, the numberOfRatings - * would match the 'NUMBER_OF_RATINGS' field defined in the Interactions - * schema.

              + * Item interactions dataset's schema. In the above example, the + * numberOfRatings would match the 'NUMBER_OF_RATINGS' field defined + * in the Item interactions dataset's schema.

              The following can't be + * included as a keyword for properties (case insensitive).

              • + * userId

              • sessionId

              • eventType

              • + *

                timestamp

              • recommendationId

              • impression

                + *
              */ inline void SetProperties(Aws::String&& value) { m_propertiesHasBeenSet = true; m_properties = std::move(value); } @@ -304,9 +320,13 @@ namespace Model * the number of movie ratings made by the user.

              Each item in the map * consists of a key-value pair. For example,

              {"numberOfRatings": * "12"}

              The keys use camel case names that match the fields in the - * Interactions schema. In the above example, the numberOfRatings - * would match the 'NUMBER_OF_RATINGS' field defined in the Interactions - * schema.

              + * Item interactions dataset's schema. In the above example, the + * numberOfRatings would match the 'NUMBER_OF_RATINGS' field defined + * in the Item interactions dataset's schema.

              The following can't be + * included as a keyword for properties (case insensitive).

              • + * userId

              • sessionId

              • eventType

              • + *

                timestamp

              • recommendationId

              • impression

                + *
              */ inline void SetProperties(const char* value) { m_propertiesHasBeenSet = true; m_properties.assign(value); } @@ -317,9 +337,13 @@ namespace Model * the number of movie ratings made by the user.

              Each item in the map * consists of a key-value pair. For example,

              {"numberOfRatings": * "12"}

              The keys use camel case names that match the fields in the - * Interactions schema. In the above example, the numberOfRatings - * would match the 'NUMBER_OF_RATINGS' field defined in the Interactions - * schema.

              + * Item interactions dataset's schema. In the above example, the + * numberOfRatings would match the 'NUMBER_OF_RATINGS' field defined + * in the Item interactions dataset's schema.

              The following can't be + * included as a keyword for properties (case insensitive).

              • + * userId

              • sessionId

              • eventType

              • + *

                timestamp

              • recommendationId

              • impression

                + *
              */ inline Event& WithProperties(const Aws::String& value) { SetProperties(value); return *this;} @@ -330,9 +354,13 @@ namespace Model * the number of movie ratings made by the user.

              Each item in the map * consists of a key-value pair. For example,

              {"numberOfRatings": * "12"}

              The keys use camel case names that match the fields in the - * Interactions schema. In the above example, the numberOfRatings - * would match the 'NUMBER_OF_RATINGS' field defined in the Interactions - * schema.

              + * Item interactions dataset's schema. In the above example, the + * numberOfRatings would match the 'NUMBER_OF_RATINGS' field defined + * in the Item interactions dataset's schema.

              The following can't be + * included as a keyword for properties (case insensitive).

              • + * userId

              • sessionId

              • eventType

              • + *

                timestamp

              • recommendationId

              • impression

                + *
              */ inline Event& WithProperties(Aws::String&& value) { SetProperties(std::move(value)); return *this;} @@ -343,9 +371,13 @@ namespace Model * the number of movie ratings made by the user.

              Each item in the map * consists of a key-value pair. For example,

              {"numberOfRatings": * "12"}

              The keys use camel case names that match the fields in the - * Interactions schema. In the above example, the numberOfRatings - * would match the 'NUMBER_OF_RATINGS' field defined in the Interactions - * schema.

              + * Item interactions dataset's schema. In the above example, the + * numberOfRatings would match the 'NUMBER_OF_RATINGS' field defined + * in the Item interactions dataset's schema.

              The following can't be + * included as a keyword for properties (case insensitive).

              • + * userId

              • sessionId

              • eventType

              • + *

                timestamp

              • recommendationId

              • impression

                + *
              */ inline Event& WithProperties(const char* value) { SetProperties(value); return *this;} diff --git a/generated/src/aws-cpp-sdk-personalize-events/include/aws/personalize-events/model/Item.h b/generated/src/aws-cpp-sdk-personalize-events/include/aws/personalize-events/model/Item.h index 5101c4438b3..a9be60479e9 100644 --- a/generated/src/aws-cpp-sdk-personalize-events/include/aws/personalize-events/model/Item.h +++ b/generated/src/aws-cpp-sdk-personalize-events/include/aws/personalize-events/model/Item.h @@ -27,7 +27,7 @@ namespace Model *

              Represents item metadata added to an Items dataset using the * PutItems API. For more information see Importing - * Items Incrementally.

              See Also:

              .

              See Also:

              AWS * API Reference

              */ diff --git a/generated/src/aws-cpp-sdk-personalize-events/include/aws/personalize-events/model/PutActionInteractionsRequest.h b/generated/src/aws-cpp-sdk-personalize-events/include/aws/personalize-events/model/PutActionInteractionsRequest.h new file mode 100644 index 00000000000..543d7251335 --- /dev/null +++ b/generated/src/aws-cpp-sdk-personalize-events/include/aws/personalize-events/model/PutActionInteractionsRequest.h @@ -0,0 +1,161 @@ +/** + * 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 PersonalizeEvents +{ +namespace Model +{ + + /** + */ + class PutActionInteractionsRequest : public PersonalizeEventsRequest + { + public: + AWS_PERSONALIZEEVENTS_API PutActionInteractionsRequest(); + + // 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 "PutActionInteractions"; } + + AWS_PERSONALIZEEVENTS_API Aws::String SerializePayload() const override; + + + /** + *

              The ID of your action interaction event tracker. When you create an Action + * interactions dataset, Amazon Personalize creates an action interaction event + * tracker for you. For more information, see Action + * interaction event tracker ID.

              + */ + inline const Aws::String& GetTrackingId() const{ return m_trackingId; } + + /** + *

              The ID of your action interaction event tracker. When you create an Action + * interactions dataset, Amazon Personalize creates an action interaction event + * tracker for you. For more information, see Action + * interaction event tracker ID.

              + */ + inline bool TrackingIdHasBeenSet() const { return m_trackingIdHasBeenSet; } + + /** + *

              The ID of your action interaction event tracker. When you create an Action + * interactions dataset, Amazon Personalize creates an action interaction event + * tracker for you. For more information, see Action + * interaction event tracker ID.

              + */ + inline void SetTrackingId(const Aws::String& value) { m_trackingIdHasBeenSet = true; m_trackingId = value; } + + /** + *

              The ID of your action interaction event tracker. When you create an Action + * interactions dataset, Amazon Personalize creates an action interaction event + * tracker for you. For more information, see Action + * interaction event tracker ID.

              + */ + inline void SetTrackingId(Aws::String&& value) { m_trackingIdHasBeenSet = true; m_trackingId = std::move(value); } + + /** + *

              The ID of your action interaction event tracker. When you create an Action + * interactions dataset, Amazon Personalize creates an action interaction event + * tracker for you. For more information, see Action + * interaction event tracker ID.

              + */ + inline void SetTrackingId(const char* value) { m_trackingIdHasBeenSet = true; m_trackingId.assign(value); } + + /** + *

              The ID of your action interaction event tracker. When you create an Action + * interactions dataset, Amazon Personalize creates an action interaction event + * tracker for you. For more information, see Action + * interaction event tracker ID.

              + */ + inline PutActionInteractionsRequest& WithTrackingId(const Aws::String& value) { SetTrackingId(value); return *this;} + + /** + *

              The ID of your action interaction event tracker. When you create an Action + * interactions dataset, Amazon Personalize creates an action interaction event + * tracker for you. For more information, see Action + * interaction event tracker ID.

              + */ + inline PutActionInteractionsRequest& WithTrackingId(Aws::String&& value) { SetTrackingId(std::move(value)); return *this;} + + /** + *

              The ID of your action interaction event tracker. When you create an Action + * interactions dataset, Amazon Personalize creates an action interaction event + * tracker for you. For more information, see Action + * interaction event tracker ID.

              + */ + inline PutActionInteractionsRequest& WithTrackingId(const char* value) { SetTrackingId(value); return *this;} + + + /** + *

              A list of action interaction events from the session.

              + */ + inline const Aws::Vector& GetActionInteractions() const{ return m_actionInteractions; } + + /** + *

              A list of action interaction events from the session.

              + */ + inline bool ActionInteractionsHasBeenSet() const { return m_actionInteractionsHasBeenSet; } + + /** + *

              A list of action interaction events from the session.

              + */ + inline void SetActionInteractions(const Aws::Vector& value) { m_actionInteractionsHasBeenSet = true; m_actionInteractions = value; } + + /** + *

              A list of action interaction events from the session.

              + */ + inline void SetActionInteractions(Aws::Vector&& value) { m_actionInteractionsHasBeenSet = true; m_actionInteractions = std::move(value); } + + /** + *

              A list of action interaction events from the session.

              + */ + inline PutActionInteractionsRequest& WithActionInteractions(const Aws::Vector& value) { SetActionInteractions(value); return *this;} + + /** + *

              A list of action interaction events from the session.

              + */ + inline PutActionInteractionsRequest& WithActionInteractions(Aws::Vector&& value) { SetActionInteractions(std::move(value)); return *this;} + + /** + *

              A list of action interaction events from the session.

              + */ + inline PutActionInteractionsRequest& AddActionInteractions(const ActionInteraction& value) { m_actionInteractionsHasBeenSet = true; m_actionInteractions.push_back(value); return *this; } + + /** + *

              A list of action interaction events from the session.

              + */ + inline PutActionInteractionsRequest& AddActionInteractions(ActionInteraction&& value) { m_actionInteractionsHasBeenSet = true; m_actionInteractions.push_back(std::move(value)); return *this; } + + private: + + Aws::String m_trackingId; + bool m_trackingIdHasBeenSet = false; + + Aws::Vector m_actionInteractions; + bool m_actionInteractionsHasBeenSet = false; + }; + +} // namespace Model +} // namespace PersonalizeEvents +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-personalize-events/include/aws/personalize-events/model/PutActionsRequest.h b/generated/src/aws-cpp-sdk-personalize-events/include/aws/personalize-events/model/PutActionsRequest.h new file mode 100644 index 00000000000..4d38d7eab2e --- /dev/null +++ b/generated/src/aws-cpp-sdk-personalize-events/include/aws/personalize-events/model/PutActionsRequest.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 +#include +#include + +namespace Aws +{ +namespace PersonalizeEvents +{ +namespace Model +{ + + /** + */ + class PutActionsRequest : public PersonalizeEventsRequest + { + public: + AWS_PERSONALIZEEVENTS_API PutActionsRequest(); + + // 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 "PutActions"; } + + AWS_PERSONALIZEEVENTS_API Aws::String SerializePayload() const override; + + + /** + *

              The Amazon Resource Name (ARN) of the Actions dataset you are adding the + * action or actions to.

              + */ + inline const Aws::String& GetDatasetArn() const{ return m_datasetArn; } + + /** + *

              The Amazon Resource Name (ARN) of the Actions dataset you are adding the + * action or actions to.

              + */ + inline bool DatasetArnHasBeenSet() const { return m_datasetArnHasBeenSet; } + + /** + *

              The Amazon Resource Name (ARN) of the Actions dataset you are adding the + * action or actions to.

              + */ + inline void SetDatasetArn(const Aws::String& value) { m_datasetArnHasBeenSet = true; m_datasetArn = value; } + + /** + *

              The Amazon Resource Name (ARN) of the Actions dataset you are adding the + * action or actions to.

              + */ + inline void SetDatasetArn(Aws::String&& value) { m_datasetArnHasBeenSet = true; m_datasetArn = std::move(value); } + + /** + *

              The Amazon Resource Name (ARN) of the Actions dataset you are adding the + * action or actions to.

              + */ + inline void SetDatasetArn(const char* value) { m_datasetArnHasBeenSet = true; m_datasetArn.assign(value); } + + /** + *

              The Amazon Resource Name (ARN) of the Actions dataset you are adding the + * action or actions to.

              + */ + inline PutActionsRequest& WithDatasetArn(const Aws::String& value) { SetDatasetArn(value); return *this;} + + /** + *

              The Amazon Resource Name (ARN) of the Actions dataset you are adding the + * action or actions to.

              + */ + inline PutActionsRequest& WithDatasetArn(Aws::String&& value) { SetDatasetArn(std::move(value)); return *this;} + + /** + *

              The Amazon Resource Name (ARN) of the Actions dataset you are adding the + * action or actions to.

              + */ + inline PutActionsRequest& WithDatasetArn(const char* value) { SetDatasetArn(value); return *this;} + + + /** + *

              A list of action data.

              + */ + inline const Aws::Vector& GetActions() const{ return m_actions; } + + /** + *

              A list of action data.

              + */ + inline bool ActionsHasBeenSet() const { return m_actionsHasBeenSet; } + + /** + *

              A list of action data.

              + */ + inline void SetActions(const Aws::Vector& value) { m_actionsHasBeenSet = true; m_actions = value; } + + /** + *

              A list of action data.

              + */ + inline void SetActions(Aws::Vector&& value) { m_actionsHasBeenSet = true; m_actions = std::move(value); } + + /** + *

              A list of action data.

              + */ + inline PutActionsRequest& WithActions(const Aws::Vector& value) { SetActions(value); return *this;} + + /** + *

              A list of action data.

              + */ + inline PutActionsRequest& WithActions(Aws::Vector&& value) { SetActions(std::move(value)); return *this;} + + /** + *

              A list of action data.

              + */ + inline PutActionsRequest& AddActions(const Action& value) { m_actionsHasBeenSet = true; m_actions.push_back(value); return *this; } + + /** + *

              A list of action data.

              + */ + inline PutActionsRequest& AddActions(Action&& value) { m_actionsHasBeenSet = true; m_actions.push_back(std::move(value)); return *this; } + + private: + + Aws::String m_datasetArn; + bool m_datasetArnHasBeenSet = false; + + Aws::Vector m_actions; + bool m_actionsHasBeenSet = false; + }; + +} // namespace Model +} // namespace PersonalizeEvents +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-personalize-events/include/aws/personalize-events/model/PutEventsRequest.h b/generated/src/aws-cpp-sdk-personalize-events/include/aws/personalize-events/model/PutEventsRequest.h index 91593f162c4..3a3cb9e15d8 100644 --- a/generated/src/aws-cpp-sdk-personalize-events/include/aws/personalize-events/model/PutEventsRequest.h +++ b/generated/src/aws-cpp-sdk-personalize-events/include/aws/personalize-events/model/PutEventsRequest.h @@ -137,8 +137,8 @@ namespace Model * the sessionId when a user first visits your website or uses your application. * Amazon Personalize uses the sessionId to associate events with the user before * they log in. For more information, see Recording - * Events.

              + * href="https://docs.aws.amazon.com/personalize/latest/dg/recording-item-interaction-events.html">Recording + * item interaction events.

              */ inline const Aws::String& GetSessionId() const{ return m_sessionId; } @@ -147,8 +147,8 @@ namespace Model * the sessionId when a user first visits your website or uses your application. * Amazon Personalize uses the sessionId to associate events with the user before * they log in. For more information, see Recording - * Events.

              + * href="https://docs.aws.amazon.com/personalize/latest/dg/recording-item-interaction-events.html">Recording + * item interaction events.

              */ inline bool SessionIdHasBeenSet() const { return m_sessionIdHasBeenSet; } @@ -157,8 +157,8 @@ namespace Model * the sessionId when a user first visits your website or uses your application. * Amazon Personalize uses the sessionId to associate events with the user before * they log in. For more information, see Recording - * Events.

              + * href="https://docs.aws.amazon.com/personalize/latest/dg/recording-item-interaction-events.html">Recording + * item interaction events.

              */ inline void SetSessionId(const Aws::String& value) { m_sessionIdHasBeenSet = true; m_sessionId = value; } @@ -167,8 +167,8 @@ namespace Model * the sessionId when a user first visits your website or uses your application. * Amazon Personalize uses the sessionId to associate events with the user before * they log in. For more information, see Recording - * Events.

              + * href="https://docs.aws.amazon.com/personalize/latest/dg/recording-item-interaction-events.html">Recording + * item interaction events.

              */ inline void SetSessionId(Aws::String&& value) { m_sessionIdHasBeenSet = true; m_sessionId = std::move(value); } @@ -177,8 +177,8 @@ namespace Model * the sessionId when a user first visits your website or uses your application. * Amazon Personalize uses the sessionId to associate events with the user before * they log in. For more information, see Recording - * Events.

              + * href="https://docs.aws.amazon.com/personalize/latest/dg/recording-item-interaction-events.html">Recording + * item interaction events.

              */ inline void SetSessionId(const char* value) { m_sessionIdHasBeenSet = true; m_sessionId.assign(value); } @@ -187,8 +187,8 @@ namespace Model * the sessionId when a user first visits your website or uses your application. * Amazon Personalize uses the sessionId to associate events with the user before * they log in. For more information, see Recording - * Events.

              + * href="https://docs.aws.amazon.com/personalize/latest/dg/recording-item-interaction-events.html">Recording + * item interaction events.

              */ inline PutEventsRequest& WithSessionId(const Aws::String& value) { SetSessionId(value); return *this;} @@ -197,8 +197,8 @@ namespace Model * the sessionId when a user first visits your website or uses your application. * Amazon Personalize uses the sessionId to associate events with the user before * they log in. For more information, see Recording - * Events.

              + * href="https://docs.aws.amazon.com/personalize/latest/dg/recording-item-interaction-events.html">Recording + * item interaction events.

              */ inline PutEventsRequest& WithSessionId(Aws::String&& value) { SetSessionId(std::move(value)); return *this;} @@ -207,8 +207,8 @@ namespace Model * the sessionId when a user first visits your website or uses your application. * Amazon Personalize uses the sessionId to associate events with the user before * they log in. For more information, see Recording - * Events.

              + * href="https://docs.aws.amazon.com/personalize/latest/dg/recording-item-interaction-events.html">Recording + * item interaction events.

              */ inline PutEventsRequest& WithSessionId(const char* value) { SetSessionId(value); return *this;} diff --git a/generated/src/aws-cpp-sdk-personalize-events/include/aws/personalize-events/model/User.h b/generated/src/aws-cpp-sdk-personalize-events/include/aws/personalize-events/model/User.h index a8f7f7ae10b..38e166d5d3f 100644 --- a/generated/src/aws-cpp-sdk-personalize-events/include/aws/personalize-events/model/User.h +++ b/generated/src/aws-cpp-sdk-personalize-events/include/aws/personalize-events/model/User.h @@ -27,7 +27,7 @@ namespace Model *

              Represents user metadata added to a Users dataset using the * PutUsers API. For more information see Importing - * Users Incrementally.

              See Also:

              .

              See Also:

              AWS * API Reference

              */ diff --git a/generated/src/aws-cpp-sdk-personalize-events/source/PersonalizeEventsClient.cpp b/generated/src/aws-cpp-sdk-personalize-events/source/PersonalizeEventsClient.cpp index 89142afd817..a4ba33615c0 100644 --- a/generated/src/aws-cpp-sdk-personalize-events/source/PersonalizeEventsClient.cpp +++ b/generated/src/aws-cpp-sdk-personalize-events/source/PersonalizeEventsClient.cpp @@ -21,6 +21,8 @@ #include #include #include +#include +#include #include #include #include @@ -157,6 +159,60 @@ void PersonalizeEventsClient::OverrideEndpoint(const Aws::String& endpoint) m_endpointProvider->OverrideEndpoint(endpoint); } +PutActionInteractionsOutcome PersonalizeEventsClient::PutActionInteractions(const PutActionInteractionsRequest& request) const +{ + AWS_OPERATION_GUARD(PutActionInteractions); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, PutActionInteractions, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, PutActionInteractions, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, PutActionInteractions, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".PutActionInteractions", + {{ 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( + [&]()-> PutActionInteractionsOutcome { + 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, PutActionInteractions, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/action-interactions"); + return PutActionInteractionsOutcome(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()}}); +} + +PutActionsOutcome PersonalizeEventsClient::PutActions(const PutActionsRequest& request) const +{ + AWS_OPERATION_GUARD(PutActions); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, PutActions, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, PutActions, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, PutActions, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".PutActions", + {{ 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( + [&]()-> PutActionsOutcome { + 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, PutActions, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/actions"); + return PutActionsOutcome(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()}}); +} + PutEventsOutcome PersonalizeEventsClient::PutEvents(const PutEventsRequest& request) const { AWS_OPERATION_GUARD(PutEvents); diff --git a/generated/src/aws-cpp-sdk-personalize-events/source/PersonalizeEventsEndpointRules.cpp b/generated/src/aws-cpp-sdk-personalize-events/source/PersonalizeEventsEndpointRules.cpp index 2e728bcef9c..eed004ee283 100644 --- a/generated/src/aws-cpp-sdk-personalize-events/source/PersonalizeEventsEndpointRules.cpp +++ b/generated/src/aws-cpp-sdk-personalize-events/source/PersonalizeEventsEndpointRules.cpp @@ -51,108 +51,108 @@ static constexpr RulesBlobT RulesBlob = {{ ',','"','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','"',':','[','{','"','f','n','"',':','"', 'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', -'d','p','o','i','n','t','"','}',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', -',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', -'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r', -'u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','C','o', -'n','f','i','g','u','r','a','t','i','o','n',':',' ','F','I','P','S',' ','a','n','d',' ','c','u','s', -'t','o','m',' ','e','n','d','p','o','i','n','t',' ','a','r','e',' ','n','o','t',' ','s','u','p','p', -'o','r','t','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e', -'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"', -'e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','C','o','n','f','i','g','u','r','a', -'t','i','o','n',':',' ','D','u','a','l','s','t','a','c','k',' ','a','n','d',' ','c','u','s','t','o', -'m',' ','e','n','d','p','o','i','n','t',' ','a','r','e',' ','n','o','t',' ','s','u','p','p','o','r', -'t','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','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','"',':','{','}',',','"','h','e','a','d','e','r','s','"', -':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}', -',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s', -'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i', -'o','n','"','}',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u', -'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', -'"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g', -'n','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',']',',','"','t', -'y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o', +'d','p','o','i','n','t','"','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o', 'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', 'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', -'s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o', -'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}', -']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o', -'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','t','r','u','e',',', -'{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',', -'"','s','u','p','p','o','r','t','s','F','I','P','S','"',']','}',']','}',',','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','t', -'r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l', -'t','"','}',',','"','s','u','p','p','o','r','t','s','D','u','a','l','S','t','a','c','k','"',']','}', -']','}',']',',','"','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','"',':','"','h','t','t','p','s',':','/','/','p','e','r','s', -'o','n','a','l','i','z','e','-','e','v','e','n','t','s','-','f','i','p','s','.','{','R','e','g','i', -'o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','u','a','l', -'S','t','a','c','k','D','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t', -'i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y', -'p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i', -'t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','F','I','P','S',' ','a', -'n','d',' ','D','u','a','l','S','t','a','c','k',' ','a','r','e',' ','e','n','a','b','l','e','d',',', -' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ', -'n','o','t',' ','s','u','p','p','o','r','t',' ','o','n','e',' ','o','r',' ','b','o','t','h','"',',', -'"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',',','{','"','c','o','n','d','i', +'s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':', +'"','I','n','v','a','l','i','d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','F', +'I','P','S',' ','a','n','d',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','a', +'r','e',' ','n','o','t',' ','s','u','p','p','o','r','t','e','d','"',',','"','t','y','p','e','"',':', +'"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"', +'}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i', +'d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','D','u','a','l','s','t','a','c', +'k',' ','a','n','d',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','a','r','e', +' ','n','o','t',' ','s','u','p','p','o','r','t','e','d','"',',','"','t','y','p','e','"',':','"','e', +'r','r','o','r','"','}',',','{','"','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','"',':','{', +'}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e', +'n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s', +'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i', +'o','n','"','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i', +'o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o', +'n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','P','a','r','t','i','t','i','o','n','R', +'e','s','u','l','t','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', 't','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', 'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F', -'I','P','S','"','}',',','t','r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e', -'e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"', -':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', +'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"', +'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R', +'e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','F','I','P','S','"',']','}',']', +'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', 'a','r','g','v','"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t', 'r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t', -'i','o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','F','I','P','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','"',':','"','h','t','t','p','s',':','/','/','p', -'e','r','s','o','n','a','l','i','z','e','-','e','v','e','n','t','s','-','f','i','p','s','.','{','R', -'e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d', +'i','o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','D','u','a','l', +'S','t','a','c','k','"',']','}',']','}',']',',','"','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','"',':','"','h','t','t','p','s',':','/','/','p','e','r','s','o','n','a','l','i','z', +'e','-','e','v','e','n','t','s','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','P', +'a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','u','a','l','S','t','a','c','k','D', 'n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{', '}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e', -'n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', -':','[',']',',','"','e','r','r','o','r','"',':','"','F','I','P','S',' ','i','s',' ','e','n','a','b', -'l','e','d',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o', -'e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','F','I','P','S','"',',','"','t','y','p', -'e','"',':','"','e','r','r','o','r','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n', -'s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S', -'t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r', -'e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t', -'t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i', -'t','i','o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','D','u','a', -'l','S','t','a','c','k','"',']','}',']','}',']',',','"','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','"',':','"','h','t','t', -'p','s',':','/','/','p','e','r','s','o','n','a','l','i','z','e','-','e','v','e','n','t','s','.','{', -'R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#', -'d','u','a','l','S','t','a','c','k','D','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o', -'p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}', -',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c', -'o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','D','u', -'a','l','S','t','a','c','k',' ','i','s',' ','e','n','a','b','l','e','d',' ','b','u','t',' ','t','h', -'i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p', -'p','o','r','t',' ','D','u','a','l','S','t','a','c','k','"',',','"','t','y','p','e','"',':','"','e', -'r','r','o','r','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']', -',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s', -':','/','/','p','e','r','s','o','n','a','l','i','z','e','-','e','v','e','n','t','s','.','{','R','e', -'g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n', -'s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}', -',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n', -'d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s', +'n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"', +':','"','F','I','P','S',' ','a','n','d',' ','D','u','a','l','S','t','a','c','k',' ','a','r','e',' ', +'e','n','a','b','l','e','d',',',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i', +'o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','o','n','e',' ','o', +'r',' ','b','o','t','h','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',', +'"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S', +'"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n', +'d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t', +'A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r', +'t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','F', +'I','P','S','"',']','}',',','t','r','u','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','"',':','"','h','t','t','p','s',':','/','/','p','e','r','s','o','n','a', +'l','i','z','e','-','e','v','e','n','t','s','-','f','i','p','s','.','{','R','e','g','i','o','n','}', +'.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f', +'i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a', +'d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n', +'t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n', +'d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','F','I','P','S', +' ','i','s',' ','e','n','a','b','l','e','d',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t', +'i','t','i','o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','F','I', +'P','S','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p', +'e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c', +'k','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','t','r','u','e',',','{','"','f','n', +'"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','s','u','p', +'p','o','r','t','s','D','u','a','l','S','t','a','c','k','"',']','}',']','}',']',',','"','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','"',':','"','h','t','t','p','s',':','/','/','p', +'e','r','s','o','n','a','l','i','z','e','-','e','v','e','n','t','s','.','{','R','e','g','i','o','n', +'}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','u','a','l','S','t', +'a','c','k','D','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e', +'s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e', +'"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r', +'e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r', +'r','o','r','"',':','"','D','u','a','l','S','t','a','c','k',' ','i','s',' ','e','n','a','b','l','e', +'d',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s', +' ','n','o','t',' ','s','u','p','p','o','r','t',' ','D','u','a','l','S','t','a','c','k','"',',','"', +'t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t', +'r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e', +'n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/', +'p','e','r','s','o','n','a','l','i','z','e','-','e','v','e','n','t','s','.','{','R','e','g','i','o', +'n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u', +'f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h', +'e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o', +'i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t', +'y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', '"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','C','o','n', 'f','i','g','u','r','a','t','i','o','n',':',' ','M','i','s','s','i','n','g',' ','R','e','g','i','o', 'n','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}','\0' diff --git a/generated/src/aws-cpp-sdk-personalize-events/source/model/Action.cpp b/generated/src/aws-cpp-sdk-personalize-events/source/model/Action.cpp new file mode 100644 index 00000000000..c57b4e0a7f9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-personalize-events/source/model/Action.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 PersonalizeEvents +{ +namespace Model +{ + +Action::Action() : + m_actionIdHasBeenSet(false), + m_propertiesHasBeenSet(false) +{ +} + +Action::Action(JsonView jsonValue) : + m_actionIdHasBeenSet(false), + m_propertiesHasBeenSet(false) +{ + *this = jsonValue; +} + +Action& Action::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("actionId")) + { + m_actionId = jsonValue.GetString("actionId"); + + m_actionIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("properties")) + { + m_properties = jsonValue.GetString("properties"); + + m_propertiesHasBeenSet = true; + } + + return *this; +} + +JsonValue Action::Jsonize() const +{ + JsonValue payload; + + if(m_actionIdHasBeenSet) + { + payload.WithString("actionId", m_actionId); + + } + + if(m_propertiesHasBeenSet) + { + payload.WithString("properties", m_properties); + + } + + return payload; +} + +} // namespace Model +} // namespace PersonalizeEvents +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-personalize-events/source/model/ActionInteraction.cpp b/generated/src/aws-cpp-sdk-personalize-events/source/model/ActionInteraction.cpp new file mode 100644 index 00000000000..0565f4b1e32 --- /dev/null +++ b/generated/src/aws-cpp-sdk-personalize-events/source/model/ActionInteraction.cpp @@ -0,0 +1,186 @@ +/** + * 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 PersonalizeEvents +{ +namespace Model +{ + +ActionInteraction::ActionInteraction() : + m_actionIdHasBeenSet(false), + m_userIdHasBeenSet(false), + m_sessionIdHasBeenSet(false), + m_timestampHasBeenSet(false), + m_eventTypeHasBeenSet(false), + m_eventIdHasBeenSet(false), + m_recommendationIdHasBeenSet(false), + m_impressionHasBeenSet(false), + m_propertiesHasBeenSet(false) +{ +} + +ActionInteraction::ActionInteraction(JsonView jsonValue) : + m_actionIdHasBeenSet(false), + m_userIdHasBeenSet(false), + m_sessionIdHasBeenSet(false), + m_timestampHasBeenSet(false), + m_eventTypeHasBeenSet(false), + m_eventIdHasBeenSet(false), + m_recommendationIdHasBeenSet(false), + m_impressionHasBeenSet(false), + m_propertiesHasBeenSet(false) +{ + *this = jsonValue; +} + +ActionInteraction& ActionInteraction::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("actionId")) + { + m_actionId = jsonValue.GetString("actionId"); + + m_actionIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("userId")) + { + m_userId = jsonValue.GetString("userId"); + + m_userIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("sessionId")) + { + m_sessionId = jsonValue.GetString("sessionId"); + + m_sessionIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("timestamp")) + { + m_timestamp = jsonValue.GetDouble("timestamp"); + + m_timestampHasBeenSet = true; + } + + if(jsonValue.ValueExists("eventType")) + { + m_eventType = jsonValue.GetString("eventType"); + + m_eventTypeHasBeenSet = true; + } + + if(jsonValue.ValueExists("eventId")) + { + m_eventId = jsonValue.GetString("eventId"); + + m_eventIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("recommendationId")) + { + m_recommendationId = jsonValue.GetString("recommendationId"); + + m_recommendationIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("impression")) + { + Aws::Utils::Array impressionJsonList = jsonValue.GetArray("impression"); + for(unsigned impressionIndex = 0; impressionIndex < impressionJsonList.GetLength(); ++impressionIndex) + { + m_impression.push_back(impressionJsonList[impressionIndex].AsString()); + } + m_impressionHasBeenSet = true; + } + + if(jsonValue.ValueExists("properties")) + { + m_properties = jsonValue.GetString("properties"); + + m_propertiesHasBeenSet = true; + } + + return *this; +} + +JsonValue ActionInteraction::Jsonize() const +{ + JsonValue payload; + + if(m_actionIdHasBeenSet) + { + payload.WithString("actionId", m_actionId); + + } + + if(m_userIdHasBeenSet) + { + payload.WithString("userId", m_userId); + + } + + if(m_sessionIdHasBeenSet) + { + payload.WithString("sessionId", m_sessionId); + + } + + if(m_timestampHasBeenSet) + { + payload.WithDouble("timestamp", m_timestamp.SecondsWithMSPrecision()); + } + + if(m_eventTypeHasBeenSet) + { + payload.WithString("eventType", m_eventType); + + } + + if(m_eventIdHasBeenSet) + { + payload.WithString("eventId", m_eventId); + + } + + if(m_recommendationIdHasBeenSet) + { + payload.WithString("recommendationId", m_recommendationId); + + } + + if(m_impressionHasBeenSet) + { + Aws::Utils::Array impressionJsonList(m_impression.size()); + for(unsigned impressionIndex = 0; impressionIndex < impressionJsonList.GetLength(); ++impressionIndex) + { + impressionJsonList[impressionIndex].AsString(m_impression[impressionIndex]); + } + payload.WithArray("impression", std::move(impressionJsonList)); + + } + + if(m_propertiesHasBeenSet) + { + payload.WithString("properties", m_properties); + + } + + return payload; +} + +} // namespace Model +} // namespace PersonalizeEvents +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-personalize-events/source/model/PutActionInteractionsRequest.cpp b/generated/src/aws-cpp-sdk-personalize-events/source/model/PutActionInteractionsRequest.cpp new file mode 100644 index 00000000000..3078ed61953 --- /dev/null +++ b/generated/src/aws-cpp-sdk-personalize-events/source/model/PutActionInteractionsRequest.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::PersonalizeEvents::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +PutActionInteractionsRequest::PutActionInteractionsRequest() : + m_trackingIdHasBeenSet(false), + m_actionInteractionsHasBeenSet(false) +{ +} + +Aws::String PutActionInteractionsRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_trackingIdHasBeenSet) + { + payload.WithString("trackingId", m_trackingId); + + } + + if(m_actionInteractionsHasBeenSet) + { + Aws::Utils::Array actionInteractionsJsonList(m_actionInteractions.size()); + for(unsigned actionInteractionsIndex = 0; actionInteractionsIndex < actionInteractionsJsonList.GetLength(); ++actionInteractionsIndex) + { + actionInteractionsJsonList[actionInteractionsIndex].AsObject(m_actionInteractions[actionInteractionsIndex].Jsonize()); + } + payload.WithArray("actionInteractions", std::move(actionInteractionsJsonList)); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-personalize-events/source/model/PutActionsRequest.cpp b/generated/src/aws-cpp-sdk-personalize-events/source/model/PutActionsRequest.cpp new file mode 100644 index 00000000000..f67690c1cda --- /dev/null +++ b/generated/src/aws-cpp-sdk-personalize-events/source/model/PutActionsRequest.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::PersonalizeEvents::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +PutActionsRequest::PutActionsRequest() : + m_datasetArnHasBeenSet(false), + m_actionsHasBeenSet(false) +{ +} + +Aws::String PutActionsRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_datasetArnHasBeenSet) + { + payload.WithString("datasetArn", m_datasetArn); + + } + + if(m_actionsHasBeenSet) + { + Aws::Utils::Array actionsJsonList(m_actions.size()); + for(unsigned actionsIndex = 0; actionsIndex < actionsJsonList.GetLength(); ++actionsIndex) + { + actionsJsonList[actionsIndex].AsObject(m_actions[actionsIndex].Jsonize()); + } + payload.WithArray("actions", std::move(actionsJsonList)); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-personalize-runtime/include/aws/personalize-runtime/PersonalizeRuntimeClient.h b/generated/src/aws-cpp-sdk-personalize-runtime/include/aws/personalize-runtime/PersonalizeRuntimeClient.h index 4556baa513f..8c7d5cac8ed 100644 --- a/generated/src/aws-cpp-sdk-personalize-runtime/include/aws/personalize-runtime/PersonalizeRuntimeClient.h +++ b/generated/src/aws-cpp-sdk-personalize-runtime/include/aws/personalize-runtime/PersonalizeRuntimeClient.h @@ -76,6 +76,39 @@ namespace PersonalizeRuntime /* End of legacy constructors due deprecation */ virtual ~PersonalizeRuntimeClient(); + /** + *

              Returns a list of recommended actions in sorted in descending order by + * prediction score. Use the GetActionRecommendations API if you have + * a custom campaign that deploys a solution version trained with a + * PERSONALIZED_ACTIONS recipe.

              For more information about + * PERSONALIZED_ACTIONS recipes, see PERSONALIZED_ACTIONS + * recipes. For more information about getting action recommendations, see Getting + * action recommendations.

              See Also:

              AWS + * API Reference

              + */ + virtual Model::GetActionRecommendationsOutcome GetActionRecommendations(const Model::GetActionRecommendationsRequest& request) const; + + /** + * A Callable wrapper for GetActionRecommendations that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetActionRecommendationsOutcomeCallable GetActionRecommendationsCallable(const GetActionRecommendationsRequestT& request) const + { + return SubmitCallable(&PersonalizeRuntimeClient::GetActionRecommendations, request); + } + + /** + * An Async wrapper for GetActionRecommendations that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetActionRecommendationsAsync(const GetActionRecommendationsRequestT& request, const GetActionRecommendationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&PersonalizeRuntimeClient::GetActionRecommendations, request, handler, context); + } + /** *

              Re-ranks a list of recommended items for the given user. The first item in * the list is deemed the most likely item to be of interest to the user.

              diff --git a/generated/src/aws-cpp-sdk-personalize-runtime/include/aws/personalize-runtime/PersonalizeRuntimeServiceClientModel.h b/generated/src/aws-cpp-sdk-personalize-runtime/include/aws/personalize-runtime/PersonalizeRuntimeServiceClientModel.h index 0d7526a9183..e4be72d38e6 100644 --- a/generated/src/aws-cpp-sdk-personalize-runtime/include/aws/personalize-runtime/PersonalizeRuntimeServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-personalize-runtime/include/aws/personalize-runtime/PersonalizeRuntimeServiceClientModel.h @@ -18,6 +18,7 @@ /* End of generic header includes */ /* Service model headers required in PersonalizeRuntimeClient header */ +#include #include #include /* End of service model headers required in PersonalizeRuntimeClient header */ @@ -60,16 +61,19 @@ namespace Aws namespace Model { /* Service model forward declarations required in PersonalizeRuntimeClient header */ + class GetActionRecommendationsRequest; class GetPersonalizedRankingRequest; class GetRecommendationsRequest; /* End of service model forward declarations required in PersonalizeRuntimeClient header */ /* Service model Outcome class definitions */ + typedef Aws::Utils::Outcome GetActionRecommendationsOutcome; typedef Aws::Utils::Outcome GetPersonalizedRankingOutcome; typedef Aws::Utils::Outcome GetRecommendationsOutcome; /* End of service model Outcome class definitions */ /* Service model Outcome callable definitions */ + typedef std::future GetActionRecommendationsOutcomeCallable; typedef std::future GetPersonalizedRankingOutcomeCallable; typedef std::future GetRecommendationsOutcomeCallable; /* End of service model Outcome callable definitions */ @@ -78,6 +82,7 @@ namespace Aws class PersonalizeRuntimeClient; /* Service model async handlers definitions */ + typedef std::function&) > GetActionRecommendationsResponseReceivedHandler; typedef std::function&) > GetPersonalizedRankingResponseReceivedHandler; typedef std::function&) > GetRecommendationsResponseReceivedHandler; /* End of service model async handlers definitions */ diff --git a/generated/src/aws-cpp-sdk-personalize-runtime/include/aws/personalize-runtime/model/GetActionRecommendationsRequest.h b/generated/src/aws-cpp-sdk-personalize-runtime/include/aws/personalize-runtime/model/GetActionRecommendationsRequest.h new file mode 100644 index 00000000000..aa8480f7c93 --- /dev/null +++ b/generated/src/aws-cpp-sdk-personalize-runtime/include/aws/personalize-runtime/model/GetActionRecommendationsRequest.h @@ -0,0 +1,456 @@ +/** + * 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 PersonalizeRuntime +{ +namespace Model +{ + + /** + */ + class GetActionRecommendationsRequest : public PersonalizeRuntimeRequest + { + public: + AWS_PERSONALIZERUNTIME_API GetActionRecommendationsRequest(); + + // 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 "GetActionRecommendations"; } + + AWS_PERSONALIZERUNTIME_API Aws::String SerializePayload() const override; + + + /** + *

              The Amazon Resource Name (ARN) of the campaign to use for getting action + * recommendations. This campaign must deploy a solution version trained with a + * PERSONALIZED_ACTIONS recipe.

              + */ + inline const Aws::String& GetCampaignArn() const{ return m_campaignArn; } + + /** + *

              The Amazon Resource Name (ARN) of the campaign to use for getting action + * recommendations. This campaign must deploy a solution version trained with a + * PERSONALIZED_ACTIONS recipe.

              + */ + inline bool CampaignArnHasBeenSet() const { return m_campaignArnHasBeenSet; } + + /** + *

              The Amazon Resource Name (ARN) of the campaign to use for getting action + * recommendations. This campaign must deploy a solution version trained with a + * PERSONALIZED_ACTIONS recipe.

              + */ + inline void SetCampaignArn(const Aws::String& value) { m_campaignArnHasBeenSet = true; m_campaignArn = value; } + + /** + *

              The Amazon Resource Name (ARN) of the campaign to use for getting action + * recommendations. This campaign must deploy a solution version trained with a + * PERSONALIZED_ACTIONS recipe.

              + */ + inline void SetCampaignArn(Aws::String&& value) { m_campaignArnHasBeenSet = true; m_campaignArn = std::move(value); } + + /** + *

              The Amazon Resource Name (ARN) of the campaign to use for getting action + * recommendations. This campaign must deploy a solution version trained with a + * PERSONALIZED_ACTIONS recipe.

              + */ + inline void SetCampaignArn(const char* value) { m_campaignArnHasBeenSet = true; m_campaignArn.assign(value); } + + /** + *

              The Amazon Resource Name (ARN) of the campaign to use for getting action + * recommendations. This campaign must deploy a solution version trained with a + * PERSONALIZED_ACTIONS recipe.

              + */ + inline GetActionRecommendationsRequest& WithCampaignArn(const Aws::String& value) { SetCampaignArn(value); return *this;} + + /** + *

              The Amazon Resource Name (ARN) of the campaign to use for getting action + * recommendations. This campaign must deploy a solution version trained with a + * PERSONALIZED_ACTIONS recipe.

              + */ + inline GetActionRecommendationsRequest& WithCampaignArn(Aws::String&& value) { SetCampaignArn(std::move(value)); return *this;} + + /** + *

              The Amazon Resource Name (ARN) of the campaign to use for getting action + * recommendations. This campaign must deploy a solution version trained with a + * PERSONALIZED_ACTIONS recipe.

              + */ + inline GetActionRecommendationsRequest& WithCampaignArn(const char* value) { SetCampaignArn(value); return *this;} + + + /** + *

              The user ID of the user to provide action recommendations for.

              + */ + inline const Aws::String& GetUserId() const{ return m_userId; } + + /** + *

              The user ID of the user to provide action recommendations for.

              + */ + inline bool UserIdHasBeenSet() const { return m_userIdHasBeenSet; } + + /** + *

              The user ID of the user to provide action recommendations for.

              + */ + inline void SetUserId(const Aws::String& value) { m_userIdHasBeenSet = true; m_userId = value; } + + /** + *

              The user ID of the user to provide action recommendations for.

              + */ + inline void SetUserId(Aws::String&& value) { m_userIdHasBeenSet = true; m_userId = std::move(value); } + + /** + *

              The user ID of the user to provide action recommendations for.

              + */ + inline void SetUserId(const char* value) { m_userIdHasBeenSet = true; m_userId.assign(value); } + + /** + *

              The user ID of the user to provide action recommendations for.

              + */ + inline GetActionRecommendationsRequest& WithUserId(const Aws::String& value) { SetUserId(value); return *this;} + + /** + *

              The user ID of the user to provide action recommendations for.

              + */ + inline GetActionRecommendationsRequest& WithUserId(Aws::String&& value) { SetUserId(std::move(value)); return *this;} + + /** + *

              The user ID of the user to provide action recommendations for.

              + */ + inline GetActionRecommendationsRequest& WithUserId(const char* value) { SetUserId(value); return *this;} + + + /** + *

              The number of results to return. The default is 5. The maximum is 100.

              + */ + inline int GetNumResults() const{ return m_numResults; } + + /** + *

              The number of results to return. The default is 5. The maximum is 100.

              + */ + inline bool NumResultsHasBeenSet() const { return m_numResultsHasBeenSet; } + + /** + *

              The number of results to return. The default is 5. The maximum is 100.

              + */ + inline void SetNumResults(int value) { m_numResultsHasBeenSet = true; m_numResults = value; } + + /** + *

              The number of results to return. The default is 5. The maximum is 100.

              + */ + inline GetActionRecommendationsRequest& WithNumResults(int value) { SetNumResults(value); return *this;} + + + /** + *

              The ARN of the filter to apply to the returned recommendations. For more + * information, see Filtering + * Recommendations.

              When using this parameter, be sure the filter + * resource is ACTIVE.

              + */ + inline const Aws::String& GetFilterArn() const{ return m_filterArn; } + + /** + *

              The ARN of the filter to apply to the returned recommendations. For more + * information, see Filtering + * Recommendations.

              When using this parameter, be sure the filter + * resource is ACTIVE.

              + */ + inline bool FilterArnHasBeenSet() const { return m_filterArnHasBeenSet; } + + /** + *

              The ARN of the filter to apply to the returned recommendations. For more + * information, see Filtering + * Recommendations.

              When using this parameter, be sure the filter + * resource is ACTIVE.

              + */ + inline void SetFilterArn(const Aws::String& value) { m_filterArnHasBeenSet = true; m_filterArn = value; } + + /** + *

              The ARN of the filter to apply to the returned recommendations. For more + * information, see Filtering + * Recommendations.

              When using this parameter, be sure the filter + * resource is ACTIVE.

              + */ + inline void SetFilterArn(Aws::String&& value) { m_filterArnHasBeenSet = true; m_filterArn = std::move(value); } + + /** + *

              The ARN of the filter to apply to the returned recommendations. For more + * information, see Filtering + * Recommendations.

              When using this parameter, be sure the filter + * resource is ACTIVE.

              + */ + inline void SetFilterArn(const char* value) { m_filterArnHasBeenSet = true; m_filterArn.assign(value); } + + /** + *

              The ARN of the filter to apply to the returned recommendations. For more + * information, see Filtering + * Recommendations.

              When using this parameter, be sure the filter + * resource is ACTIVE.

              + */ + inline GetActionRecommendationsRequest& WithFilterArn(const Aws::String& value) { SetFilterArn(value); return *this;} + + /** + *

              The ARN of the filter to apply to the returned recommendations. For more + * information, see Filtering + * Recommendations.

              When using this parameter, be sure the filter + * resource is ACTIVE.

              + */ + inline GetActionRecommendationsRequest& WithFilterArn(Aws::String&& value) { SetFilterArn(std::move(value)); return *this;} + + /** + *

              The ARN of the filter to apply to the returned recommendations. For more + * information, see Filtering + * Recommendations.

              When using this parameter, be sure the filter + * resource is ACTIVE.

              + */ + inline GetActionRecommendationsRequest& WithFilterArn(const char* value) { SetFilterArn(value); return *this;} + + + /** + *

              The values to use when filtering recommendations. For each placeholder + * parameter in your filter expression, provide the parameter name (in matching + * case) as a key and the filter value(s) as the corresponding value. Separate + * multiple values for one parameter with a comma.

              For filter expressions + * that use an INCLUDE element to include actions, you must provide + * values for all parameters that are defined in the expression. For filters with + * expressions that use an EXCLUDE element to exclude actions, you can + * omit the filter-values. In this case, Amazon Personalize doesn't + * use that portion of the expression to filter recommendations.

              For more + * information, see Filtering + * recommendations and user segments.

              + */ + inline const Aws::Map& GetFilterValues() const{ return m_filterValues; } + + /** + *

              The values to use when filtering recommendations. For each placeholder + * parameter in your filter expression, provide the parameter name (in matching + * case) as a key and the filter value(s) as the corresponding value. Separate + * multiple values for one parameter with a comma.

              For filter expressions + * that use an INCLUDE element to include actions, you must provide + * values for all parameters that are defined in the expression. For filters with + * expressions that use an EXCLUDE element to exclude actions, you can + * omit the filter-values. In this case, Amazon Personalize doesn't + * use that portion of the expression to filter recommendations.

              For more + * information, see Filtering + * recommendations and user segments.

              + */ + inline bool FilterValuesHasBeenSet() const { return m_filterValuesHasBeenSet; } + + /** + *

              The values to use when filtering recommendations. For each placeholder + * parameter in your filter expression, provide the parameter name (in matching + * case) as a key and the filter value(s) as the corresponding value. Separate + * multiple values for one parameter with a comma.

              For filter expressions + * that use an INCLUDE element to include actions, you must provide + * values for all parameters that are defined in the expression. For filters with + * expressions that use an EXCLUDE element to exclude actions, you can + * omit the filter-values. In this case, Amazon Personalize doesn't + * use that portion of the expression to filter recommendations.

              For more + * information, see Filtering + * recommendations and user segments.

              + */ + inline void SetFilterValues(const Aws::Map& value) { m_filterValuesHasBeenSet = true; m_filterValues = value; } + + /** + *

              The values to use when filtering recommendations. For each placeholder + * parameter in your filter expression, provide the parameter name (in matching + * case) as a key and the filter value(s) as the corresponding value. Separate + * multiple values for one parameter with a comma.

              For filter expressions + * that use an INCLUDE element to include actions, you must provide + * values for all parameters that are defined in the expression. For filters with + * expressions that use an EXCLUDE element to exclude actions, you can + * omit the filter-values. In this case, Amazon Personalize doesn't + * use that portion of the expression to filter recommendations.

              For more + * information, see Filtering + * recommendations and user segments.

              + */ + inline void SetFilterValues(Aws::Map&& value) { m_filterValuesHasBeenSet = true; m_filterValues = std::move(value); } + + /** + *

              The values to use when filtering recommendations. For each placeholder + * parameter in your filter expression, provide the parameter name (in matching + * case) as a key and the filter value(s) as the corresponding value. Separate + * multiple values for one parameter with a comma.

              For filter expressions + * that use an INCLUDE element to include actions, you must provide + * values for all parameters that are defined in the expression. For filters with + * expressions that use an EXCLUDE element to exclude actions, you can + * omit the filter-values. In this case, Amazon Personalize doesn't + * use that portion of the expression to filter recommendations.

              For more + * information, see Filtering + * recommendations and user segments.

              + */ + inline GetActionRecommendationsRequest& WithFilterValues(const Aws::Map& value) { SetFilterValues(value); return *this;} + + /** + *

              The values to use when filtering recommendations. For each placeholder + * parameter in your filter expression, provide the parameter name (in matching + * case) as a key and the filter value(s) as the corresponding value. Separate + * multiple values for one parameter with a comma.

              For filter expressions + * that use an INCLUDE element to include actions, you must provide + * values for all parameters that are defined in the expression. For filters with + * expressions that use an EXCLUDE element to exclude actions, you can + * omit the filter-values. In this case, Amazon Personalize doesn't + * use that portion of the expression to filter recommendations.

              For more + * information, see Filtering + * recommendations and user segments.

              + */ + inline GetActionRecommendationsRequest& WithFilterValues(Aws::Map&& value) { SetFilterValues(std::move(value)); return *this;} + + /** + *

              The values to use when filtering recommendations. For each placeholder + * parameter in your filter expression, provide the parameter name (in matching + * case) as a key and the filter value(s) as the corresponding value. Separate + * multiple values for one parameter with a comma.

              For filter expressions + * that use an INCLUDE element to include actions, you must provide + * values for all parameters that are defined in the expression. For filters with + * expressions that use an EXCLUDE element to exclude actions, you can + * omit the filter-values. In this case, Amazon Personalize doesn't + * use that portion of the expression to filter recommendations.

              For more + * information, see Filtering + * recommendations and user segments.

              + */ + inline GetActionRecommendationsRequest& AddFilterValues(const Aws::String& key, const Aws::String& value) { m_filterValuesHasBeenSet = true; m_filterValues.emplace(key, value); return *this; } + + /** + *

              The values to use when filtering recommendations. For each placeholder + * parameter in your filter expression, provide the parameter name (in matching + * case) as a key and the filter value(s) as the corresponding value. Separate + * multiple values for one parameter with a comma.

              For filter expressions + * that use an INCLUDE element to include actions, you must provide + * values for all parameters that are defined in the expression. For filters with + * expressions that use an EXCLUDE element to exclude actions, you can + * omit the filter-values. In this case, Amazon Personalize doesn't + * use that portion of the expression to filter recommendations.

              For more + * information, see Filtering + * recommendations and user segments.

              + */ + inline GetActionRecommendationsRequest& AddFilterValues(Aws::String&& key, const Aws::String& value) { m_filterValuesHasBeenSet = true; m_filterValues.emplace(std::move(key), value); return *this; } + + /** + *

              The values to use when filtering recommendations. For each placeholder + * parameter in your filter expression, provide the parameter name (in matching + * case) as a key and the filter value(s) as the corresponding value. Separate + * multiple values for one parameter with a comma.

              For filter expressions + * that use an INCLUDE element to include actions, you must provide + * values for all parameters that are defined in the expression. For filters with + * expressions that use an EXCLUDE element to exclude actions, you can + * omit the filter-values. In this case, Amazon Personalize doesn't + * use that portion of the expression to filter recommendations.

              For more + * information, see Filtering + * recommendations and user segments.

              + */ + inline GetActionRecommendationsRequest& AddFilterValues(const Aws::String& key, Aws::String&& value) { m_filterValuesHasBeenSet = true; m_filterValues.emplace(key, std::move(value)); return *this; } + + /** + *

              The values to use when filtering recommendations. For each placeholder + * parameter in your filter expression, provide the parameter name (in matching + * case) as a key and the filter value(s) as the corresponding value. Separate + * multiple values for one parameter with a comma.

              For filter expressions + * that use an INCLUDE element to include actions, you must provide + * values for all parameters that are defined in the expression. For filters with + * expressions that use an EXCLUDE element to exclude actions, you can + * omit the filter-values. In this case, Amazon Personalize doesn't + * use that portion of the expression to filter recommendations.

              For more + * information, see Filtering + * recommendations and user segments.

              + */ + inline GetActionRecommendationsRequest& AddFilterValues(Aws::String&& key, Aws::String&& value) { m_filterValuesHasBeenSet = true; m_filterValues.emplace(std::move(key), std::move(value)); return *this; } + + /** + *

              The values to use when filtering recommendations. For each placeholder + * parameter in your filter expression, provide the parameter name (in matching + * case) as a key and the filter value(s) as the corresponding value. Separate + * multiple values for one parameter with a comma.

              For filter expressions + * that use an INCLUDE element to include actions, you must provide + * values for all parameters that are defined in the expression. For filters with + * expressions that use an EXCLUDE element to exclude actions, you can + * omit the filter-values. In this case, Amazon Personalize doesn't + * use that portion of the expression to filter recommendations.

              For more + * information, see Filtering + * recommendations and user segments.

              + */ + inline GetActionRecommendationsRequest& AddFilterValues(const char* key, Aws::String&& value) { m_filterValuesHasBeenSet = true; m_filterValues.emplace(key, std::move(value)); return *this; } + + /** + *

              The values to use when filtering recommendations. For each placeholder + * parameter in your filter expression, provide the parameter name (in matching + * case) as a key and the filter value(s) as the corresponding value. Separate + * multiple values for one parameter with a comma.

              For filter expressions + * that use an INCLUDE element to include actions, you must provide + * values for all parameters that are defined in the expression. For filters with + * expressions that use an EXCLUDE element to exclude actions, you can + * omit the filter-values. In this case, Amazon Personalize doesn't + * use that portion of the expression to filter recommendations.

              For more + * information, see Filtering + * recommendations and user segments.

              + */ + inline GetActionRecommendationsRequest& AddFilterValues(Aws::String&& key, const char* value) { m_filterValuesHasBeenSet = true; m_filterValues.emplace(std::move(key), value); return *this; } + + /** + *

              The values to use when filtering recommendations. For each placeholder + * parameter in your filter expression, provide the parameter name (in matching + * case) as a key and the filter value(s) as the corresponding value. Separate + * multiple values for one parameter with a comma.

              For filter expressions + * that use an INCLUDE element to include actions, you must provide + * values for all parameters that are defined in the expression. For filters with + * expressions that use an EXCLUDE element to exclude actions, you can + * omit the filter-values. In this case, Amazon Personalize doesn't + * use that portion of the expression to filter recommendations.

              For more + * information, see Filtering + * recommendations and user segments.

              + */ + inline GetActionRecommendationsRequest& AddFilterValues(const char* key, const char* value) { m_filterValuesHasBeenSet = true; m_filterValues.emplace(key, value); return *this; } + + private: + + Aws::String m_campaignArn; + bool m_campaignArnHasBeenSet = false; + + Aws::String m_userId; + bool m_userIdHasBeenSet = false; + + int m_numResults; + bool m_numResultsHasBeenSet = false; + + Aws::String m_filterArn; + bool m_filterArnHasBeenSet = false; + + Aws::Map m_filterValues; + bool m_filterValuesHasBeenSet = false; + }; + +} // namespace Model +} // namespace PersonalizeRuntime +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-personalize-runtime/include/aws/personalize-runtime/model/GetActionRecommendationsResult.h b/generated/src/aws-cpp-sdk-personalize-runtime/include/aws/personalize-runtime/model/GetActionRecommendationsResult.h new file mode 100644 index 00000000000..40768a983c4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-personalize-runtime/include/aws/personalize-runtime/model/GetActionRecommendationsResult.h @@ -0,0 +1,169 @@ +/** + * 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 PersonalizeRuntime +{ +namespace Model +{ + class GetActionRecommendationsResult + { + public: + AWS_PERSONALIZERUNTIME_API GetActionRecommendationsResult(); + AWS_PERSONALIZERUNTIME_API GetActionRecommendationsResult(const Aws::AmazonWebServiceResult& result); + AWS_PERSONALIZERUNTIME_API GetActionRecommendationsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

              A list of action recommendations sorted in descending order by prediction + * score. There can be a maximum of 100 actions in the list. For information about + * action scores, see How + * action recommendation scoring works.

              + */ + inline const Aws::Vector& GetActionList() const{ return m_actionList; } + + /** + *

              A list of action recommendations sorted in descending order by prediction + * score. There can be a maximum of 100 actions in the list. For information about + * action scores, see How + * action recommendation scoring works.

              + */ + inline void SetActionList(const Aws::Vector& value) { m_actionList = value; } + + /** + *

              A list of action recommendations sorted in descending order by prediction + * score. There can be a maximum of 100 actions in the list. For information about + * action scores, see How + * action recommendation scoring works.

              + */ + inline void SetActionList(Aws::Vector&& value) { m_actionList = std::move(value); } + + /** + *

              A list of action recommendations sorted in descending order by prediction + * score. There can be a maximum of 100 actions in the list. For information about + * action scores, see How + * action recommendation scoring works.

              + */ + inline GetActionRecommendationsResult& WithActionList(const Aws::Vector& value) { SetActionList(value); return *this;} + + /** + *

              A list of action recommendations sorted in descending order by prediction + * score. There can be a maximum of 100 actions in the list. For information about + * action scores, see How + * action recommendation scoring works.

              + */ + inline GetActionRecommendationsResult& WithActionList(Aws::Vector&& value) { SetActionList(std::move(value)); return *this;} + + /** + *

              A list of action recommendations sorted in descending order by prediction + * score. There can be a maximum of 100 actions in the list. For information about + * action scores, see How + * action recommendation scoring works.

              + */ + inline GetActionRecommendationsResult& AddActionList(const PredictedAction& value) { m_actionList.push_back(value); return *this; } + + /** + *

              A list of action recommendations sorted in descending order by prediction + * score. There can be a maximum of 100 actions in the list. For information about + * action scores, see How + * action recommendation scoring works.

              + */ + inline GetActionRecommendationsResult& AddActionList(PredictedAction&& value) { m_actionList.push_back(std::move(value)); return *this; } + + + /** + *

              The ID of the recommendation.

              + */ + inline const Aws::String& GetRecommendationId() const{ return m_recommendationId; } + + /** + *

              The ID of the recommendation.

              + */ + inline void SetRecommendationId(const Aws::String& value) { m_recommendationId = value; } + + /** + *

              The ID of the recommendation.

              + */ + inline void SetRecommendationId(Aws::String&& value) { m_recommendationId = std::move(value); } + + /** + *

              The ID of the recommendation.

              + */ + inline void SetRecommendationId(const char* value) { m_recommendationId.assign(value); } + + /** + *

              The ID of the recommendation.

              + */ + inline GetActionRecommendationsResult& WithRecommendationId(const Aws::String& value) { SetRecommendationId(value); return *this;} + + /** + *

              The ID of the recommendation.

              + */ + inline GetActionRecommendationsResult& WithRecommendationId(Aws::String&& value) { SetRecommendationId(std::move(value)); return *this;} + + /** + *

              The ID of the recommendation.

              + */ + inline GetActionRecommendationsResult& WithRecommendationId(const char* value) { SetRecommendationId(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 GetActionRecommendationsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline GetActionRecommendationsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline GetActionRecommendationsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::Vector m_actionList; + + Aws::String m_recommendationId; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace PersonalizeRuntime +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-personalize-runtime/include/aws/personalize-runtime/model/GetPersonalizedRankingRequest.h b/generated/src/aws-cpp-sdk-personalize-runtime/include/aws/personalize-runtime/model/GetPersonalizedRankingRequest.h index ac8582c0427..a144c95b56e 100644 --- a/generated/src/aws-cpp-sdk-personalize-runtime/include/aws/personalize-runtime/model/GetPersonalizedRankingRequest.h +++ b/generated/src/aws-cpp-sdk-personalize-runtime/include/aws/personalize-runtime/model/GetPersonalizedRankingRequest.h @@ -86,63 +86,72 @@ namespace Model /** *

              A list of items (by itemId) to rank. If an item was not included * in the training dataset, the item is appended to the end of the reranked list. - * The maximum is 500.

              + * If you are including metadata in recommendations, the maximum is 50. Otherwise, + * the maximum is 500.

              */ inline const Aws::Vector& GetInputList() const{ return m_inputList; } /** *

              A list of items (by itemId) to rank. If an item was not included * in the training dataset, the item is appended to the end of the reranked list. - * The maximum is 500.

              + * If you are including metadata in recommendations, the maximum is 50. Otherwise, + * the maximum is 500.

              */ inline bool InputListHasBeenSet() const { return m_inputListHasBeenSet; } /** *

              A list of items (by itemId) to rank. If an item was not included * in the training dataset, the item is appended to the end of the reranked list. - * The maximum is 500.

              + * If you are including metadata in recommendations, the maximum is 50. Otherwise, + * the maximum is 500.

              */ inline void SetInputList(const Aws::Vector& value) { m_inputListHasBeenSet = true; m_inputList = value; } /** *

              A list of items (by itemId) to rank. If an item was not included * in the training dataset, the item is appended to the end of the reranked list. - * The maximum is 500.

              + * If you are including metadata in recommendations, the maximum is 50. Otherwise, + * the maximum is 500.

              */ inline void SetInputList(Aws::Vector&& value) { m_inputListHasBeenSet = true; m_inputList = std::move(value); } /** *

              A list of items (by itemId) to rank. If an item was not included * in the training dataset, the item is appended to the end of the reranked list. - * The maximum is 500.

              + * If you are including metadata in recommendations, the maximum is 50. Otherwise, + * the maximum is 500.

              */ inline GetPersonalizedRankingRequest& WithInputList(const Aws::Vector& value) { SetInputList(value); return *this;} /** *

              A list of items (by itemId) to rank. If an item was not included * in the training dataset, the item is appended to the end of the reranked list. - * The maximum is 500.

              + * If you are including metadata in recommendations, the maximum is 50. Otherwise, + * the maximum is 500.

              */ inline GetPersonalizedRankingRequest& WithInputList(Aws::Vector&& value) { SetInputList(std::move(value)); return *this;} /** *

              A list of items (by itemId) to rank. If an item was not included * in the training dataset, the item is appended to the end of the reranked list. - * The maximum is 500.

              + * If you are including metadata in recommendations, the maximum is 50. Otherwise, + * the maximum is 500.

              */ inline GetPersonalizedRankingRequest& AddInputList(const Aws::String& value) { m_inputListHasBeenSet = true; m_inputList.push_back(value); return *this; } /** *

              A list of items (by itemId) to rank. If an item was not included * in the training dataset, the item is appended to the end of the reranked list. - * The maximum is 500.

              + * If you are including metadata in recommendations, the maximum is 50. Otherwise, + * the maximum is 500.

              */ inline GetPersonalizedRankingRequest& AddInputList(Aws::String&& value) { m_inputListHasBeenSet = true; m_inputList.push_back(std::move(value)); return *this; } /** *

              A list of items (by itemId) to rank. If an item was not included * in the training dataset, the item is appended to the end of the reranked list. - * The maximum is 500.

              + * If you are including metadata in recommendations, the maximum is 50. Otherwise, + * the maximum is 500.

              */ inline GetPersonalizedRankingRequest& AddInputList(const char* value) { m_inputListHasBeenSet = true; m_inputList.push_back(value); return *this; } @@ -582,6 +591,151 @@ namespace Model */ inline GetPersonalizedRankingRequest& AddFilterValues(const char* key, const char* value) { m_filterValuesHasBeenSet = true; m_filterValues.emplace(key, value); return *this; } + + /** + *

              If you enabled metadata in recommendations when you created or updated the + * campaign, specify metadata columns from your Items dataset to include in the + * personalized ranking. The map key is ITEMS and the value is a list + * of column names from your Items dataset. The maximum number of columns you can + * provide is 10.

              For information about enabling metadata for a campaign, + * see Enabling + * metadata in recommendations for a campaign.

              + */ + inline const Aws::Map>& GetMetadataColumns() const{ return m_metadataColumns; } + + /** + *

              If you enabled metadata in recommendations when you created or updated the + * campaign, specify metadata columns from your Items dataset to include in the + * personalized ranking. The map key is ITEMS and the value is a list + * of column names from your Items dataset. The maximum number of columns you can + * provide is 10.

              For information about enabling metadata for a campaign, + * see Enabling + * metadata in recommendations for a campaign.

              + */ + inline bool MetadataColumnsHasBeenSet() const { return m_metadataColumnsHasBeenSet; } + + /** + *

              If you enabled metadata in recommendations when you created or updated the + * campaign, specify metadata columns from your Items dataset to include in the + * personalized ranking. The map key is ITEMS and the value is a list + * of column names from your Items dataset. The maximum number of columns you can + * provide is 10.

              For information about enabling metadata for a campaign, + * see Enabling + * metadata in recommendations for a campaign.

              + */ + inline void SetMetadataColumns(const Aws::Map>& value) { m_metadataColumnsHasBeenSet = true; m_metadataColumns = value; } + + /** + *

              If you enabled metadata in recommendations when you created or updated the + * campaign, specify metadata columns from your Items dataset to include in the + * personalized ranking. The map key is ITEMS and the value is a list + * of column names from your Items dataset. The maximum number of columns you can + * provide is 10.

              For information about enabling metadata for a campaign, + * see Enabling + * metadata in recommendations for a campaign.

              + */ + inline void SetMetadataColumns(Aws::Map>&& value) { m_metadataColumnsHasBeenSet = true; m_metadataColumns = std::move(value); } + + /** + *

              If you enabled metadata in recommendations when you created or updated the + * campaign, specify metadata columns from your Items dataset to include in the + * personalized ranking. The map key is ITEMS and the value is a list + * of column names from your Items dataset. The maximum number of columns you can + * provide is 10.

              For information about enabling metadata for a campaign, + * see Enabling + * metadata in recommendations for a campaign.

              + */ + inline GetPersonalizedRankingRequest& WithMetadataColumns(const Aws::Map>& value) { SetMetadataColumns(value); return *this;} + + /** + *

              If you enabled metadata in recommendations when you created or updated the + * campaign, specify metadata columns from your Items dataset to include in the + * personalized ranking. The map key is ITEMS and the value is a list + * of column names from your Items dataset. The maximum number of columns you can + * provide is 10.

              For information about enabling metadata for a campaign, + * see Enabling + * metadata in recommendations for a campaign.

              + */ + inline GetPersonalizedRankingRequest& WithMetadataColumns(Aws::Map>&& value) { SetMetadataColumns(std::move(value)); return *this;} + + /** + *

              If you enabled metadata in recommendations when you created or updated the + * campaign, specify metadata columns from your Items dataset to include in the + * personalized ranking. The map key is ITEMS and the value is a list + * of column names from your Items dataset. The maximum number of columns you can + * provide is 10.

              For information about enabling metadata for a campaign, + * see Enabling + * metadata in recommendations for a campaign.

              + */ + inline GetPersonalizedRankingRequest& AddMetadataColumns(const Aws::String& key, const Aws::Vector& value) { m_metadataColumnsHasBeenSet = true; m_metadataColumns.emplace(key, value); return *this; } + + /** + *

              If you enabled metadata in recommendations when you created or updated the + * campaign, specify metadata columns from your Items dataset to include in the + * personalized ranking. The map key is ITEMS and the value is a list + * of column names from your Items dataset. The maximum number of columns you can + * provide is 10.

              For information about enabling metadata for a campaign, + * see Enabling + * metadata in recommendations for a campaign.

              + */ + inline GetPersonalizedRankingRequest& AddMetadataColumns(Aws::String&& key, const Aws::Vector& value) { m_metadataColumnsHasBeenSet = true; m_metadataColumns.emplace(std::move(key), value); return *this; } + + /** + *

              If you enabled metadata in recommendations when you created or updated the + * campaign, specify metadata columns from your Items dataset to include in the + * personalized ranking. The map key is ITEMS and the value is a list + * of column names from your Items dataset. The maximum number of columns you can + * provide is 10.

              For information about enabling metadata for a campaign, + * see Enabling + * metadata in recommendations for a campaign.

              + */ + inline GetPersonalizedRankingRequest& AddMetadataColumns(const Aws::String& key, Aws::Vector&& value) { m_metadataColumnsHasBeenSet = true; m_metadataColumns.emplace(key, std::move(value)); return *this; } + + /** + *

              If you enabled metadata in recommendations when you created or updated the + * campaign, specify metadata columns from your Items dataset to include in the + * personalized ranking. The map key is ITEMS and the value is a list + * of column names from your Items dataset. The maximum number of columns you can + * provide is 10.

              For information about enabling metadata for a campaign, + * see Enabling + * metadata in recommendations for a campaign.

              + */ + inline GetPersonalizedRankingRequest& AddMetadataColumns(Aws::String&& key, Aws::Vector&& value) { m_metadataColumnsHasBeenSet = true; m_metadataColumns.emplace(std::move(key), std::move(value)); return *this; } + + /** + *

              If you enabled metadata in recommendations when you created or updated the + * campaign, specify metadata columns from your Items dataset to include in the + * personalized ranking. The map key is ITEMS and the value is a list + * of column names from your Items dataset. The maximum number of columns you can + * provide is 10.

              For information about enabling metadata for a campaign, + * see Enabling + * metadata in recommendations for a campaign.

              + */ + inline GetPersonalizedRankingRequest& AddMetadataColumns(const char* key, Aws::Vector&& value) { m_metadataColumnsHasBeenSet = true; m_metadataColumns.emplace(key, std::move(value)); return *this; } + + /** + *

              If you enabled metadata in recommendations when you created or updated the + * campaign, specify metadata columns from your Items dataset to include in the + * personalized ranking. The map key is ITEMS and the value is a list + * of column names from your Items dataset. The maximum number of columns you can + * provide is 10.

              For information about enabling metadata for a campaign, + * see Enabling + * metadata in recommendations for a campaign.

              + */ + inline GetPersonalizedRankingRequest& AddMetadataColumns(const char* key, const Aws::Vector& value) { m_metadataColumnsHasBeenSet = true; m_metadataColumns.emplace(key, value); return *this; } + private: Aws::String m_campaignArn; @@ -601,6 +755,9 @@ namespace Model Aws::Map m_filterValues; bool m_filterValuesHasBeenSet = false; + + Aws::Map> m_metadataColumns; + bool m_metadataColumnsHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-personalize-runtime/include/aws/personalize-runtime/model/GetRecommendationsRequest.h b/generated/src/aws-cpp-sdk-personalize-runtime/include/aws/personalize-runtime/model/GetRecommendationsRequest.h index 44b157bc9f3..6ffd74e2d69 100644 --- a/generated/src/aws-cpp-sdk-personalize-runtime/include/aws/personalize-runtime/model/GetRecommendationsRequest.h +++ b/generated/src/aws-cpp-sdk-personalize-runtime/include/aws/personalize-runtime/model/GetRecommendationsRequest.h @@ -183,22 +183,30 @@ namespace Model /** - *

              The number of results to return. The default is 25. The maximum is 500.

              + *

              The number of results to return. The default is 25. If you are including + * metadata in recommendations, the maximum is 50. Otherwise, the maximum is + * 500.

              */ inline int GetNumResults() const{ return m_numResults; } /** - *

              The number of results to return. The default is 25. The maximum is 500.

              + *

              The number of results to return. The default is 25. If you are including + * metadata in recommendations, the maximum is 50. Otherwise, the maximum is + * 500.

              */ inline bool NumResultsHasBeenSet() const { return m_numResultsHasBeenSet; } /** - *

              The number of results to return. The default is 25. The maximum is 500.

              + *

              The number of results to return. The default is 25. If you are including + * metadata in recommendations, the maximum is 50. Otherwise, the maximum is + * 500.

              */ inline void SetNumResults(int value) { m_numResultsHasBeenSet = true; m_numResults = value; } /** - *

              The number of results to return. The default is 25. The maximum is 500.

              + *

              The number of results to return. The default is 25. If you are including + * metadata in recommendations, the maximum is 50. Otherwise, the maximum is + * 500.

              */ inline GetRecommendationsRequest& WithNumResults(int value) { SetNumResults(value); return *this;} @@ -703,6 +711,187 @@ namespace Model */ inline GetRecommendationsRequest& AddPromotions(Promotion&& value) { m_promotionsHasBeenSet = true; m_promotions.push_back(std::move(value)); return *this; } + + /** + *

              If you enabled metadata in recommendations when you created or updated the + * campaign or recommender, specify the metadata columns from your Items dataset to + * include in item recommendations. The map key is ITEMS and the value + * is a list of column names from your Items dataset. The maximum number of columns + * you can provide is 10.

              For information about enabling metadata for a + * campaign, see Enabling + * metadata in recommendations for a campaign. For information about enabling + * metadata for a recommender, see Enabling + * metadata in recommendations for a recommender.

              + */ + inline const Aws::Map>& GetMetadataColumns() const{ return m_metadataColumns; } + + /** + *

              If you enabled metadata in recommendations when you created or updated the + * campaign or recommender, specify the metadata columns from your Items dataset to + * include in item recommendations. The map key is ITEMS and the value + * is a list of column names from your Items dataset. The maximum number of columns + * you can provide is 10.

              For information about enabling metadata for a + * campaign, see Enabling + * metadata in recommendations for a campaign. For information about enabling + * metadata for a recommender, see Enabling + * metadata in recommendations for a recommender.

              + */ + inline bool MetadataColumnsHasBeenSet() const { return m_metadataColumnsHasBeenSet; } + + /** + *

              If you enabled metadata in recommendations when you created or updated the + * campaign or recommender, specify the metadata columns from your Items dataset to + * include in item recommendations. The map key is ITEMS and the value + * is a list of column names from your Items dataset. The maximum number of columns + * you can provide is 10.

              For information about enabling metadata for a + * campaign, see Enabling + * metadata in recommendations for a campaign. For information about enabling + * metadata for a recommender, see Enabling + * metadata in recommendations for a recommender.

              + */ + inline void SetMetadataColumns(const Aws::Map>& value) { m_metadataColumnsHasBeenSet = true; m_metadataColumns = value; } + + /** + *

              If you enabled metadata in recommendations when you created or updated the + * campaign or recommender, specify the metadata columns from your Items dataset to + * include in item recommendations. The map key is ITEMS and the value + * is a list of column names from your Items dataset. The maximum number of columns + * you can provide is 10.

              For information about enabling metadata for a + * campaign, see Enabling + * metadata in recommendations for a campaign. For information about enabling + * metadata for a recommender, see Enabling + * metadata in recommendations for a recommender.

              + */ + inline void SetMetadataColumns(Aws::Map>&& value) { m_metadataColumnsHasBeenSet = true; m_metadataColumns = std::move(value); } + + /** + *

              If you enabled metadata in recommendations when you created or updated the + * campaign or recommender, specify the metadata columns from your Items dataset to + * include in item recommendations. The map key is ITEMS and the value + * is a list of column names from your Items dataset. The maximum number of columns + * you can provide is 10.

              For information about enabling metadata for a + * campaign, see Enabling + * metadata in recommendations for a campaign. For information about enabling + * metadata for a recommender, see Enabling + * metadata in recommendations for a recommender.

              + */ + inline GetRecommendationsRequest& WithMetadataColumns(const Aws::Map>& value) { SetMetadataColumns(value); return *this;} + + /** + *

              If you enabled metadata in recommendations when you created or updated the + * campaign or recommender, specify the metadata columns from your Items dataset to + * include in item recommendations. The map key is ITEMS and the value + * is a list of column names from your Items dataset. The maximum number of columns + * you can provide is 10.

              For information about enabling metadata for a + * campaign, see Enabling + * metadata in recommendations for a campaign. For information about enabling + * metadata for a recommender, see Enabling + * metadata in recommendations for a recommender.

              + */ + inline GetRecommendationsRequest& WithMetadataColumns(Aws::Map>&& value) { SetMetadataColumns(std::move(value)); return *this;} + + /** + *

              If you enabled metadata in recommendations when you created or updated the + * campaign or recommender, specify the metadata columns from your Items dataset to + * include in item recommendations. The map key is ITEMS and the value + * is a list of column names from your Items dataset. The maximum number of columns + * you can provide is 10.

              For information about enabling metadata for a + * campaign, see Enabling + * metadata in recommendations for a campaign. For information about enabling + * metadata for a recommender, see Enabling + * metadata in recommendations for a recommender.

              + */ + inline GetRecommendationsRequest& AddMetadataColumns(const Aws::String& key, const Aws::Vector& value) { m_metadataColumnsHasBeenSet = true; m_metadataColumns.emplace(key, value); return *this; } + + /** + *

              If you enabled metadata in recommendations when you created or updated the + * campaign or recommender, specify the metadata columns from your Items dataset to + * include in item recommendations. The map key is ITEMS and the value + * is a list of column names from your Items dataset. The maximum number of columns + * you can provide is 10.

              For information about enabling metadata for a + * campaign, see Enabling + * metadata in recommendations for a campaign. For information about enabling + * metadata for a recommender, see Enabling + * metadata in recommendations for a recommender.

              + */ + inline GetRecommendationsRequest& AddMetadataColumns(Aws::String&& key, const Aws::Vector& value) { m_metadataColumnsHasBeenSet = true; m_metadataColumns.emplace(std::move(key), value); return *this; } + + /** + *

              If you enabled metadata in recommendations when you created or updated the + * campaign or recommender, specify the metadata columns from your Items dataset to + * include in item recommendations. The map key is ITEMS and the value + * is a list of column names from your Items dataset. The maximum number of columns + * you can provide is 10.

              For information about enabling metadata for a + * campaign, see Enabling + * metadata in recommendations for a campaign. For information about enabling + * metadata for a recommender, see Enabling + * metadata in recommendations for a recommender.

              + */ + inline GetRecommendationsRequest& AddMetadataColumns(const Aws::String& key, Aws::Vector&& value) { m_metadataColumnsHasBeenSet = true; m_metadataColumns.emplace(key, std::move(value)); return *this; } + + /** + *

              If you enabled metadata in recommendations when you created or updated the + * campaign or recommender, specify the metadata columns from your Items dataset to + * include in item recommendations. The map key is ITEMS and the value + * is a list of column names from your Items dataset. The maximum number of columns + * you can provide is 10.

              For information about enabling metadata for a + * campaign, see Enabling + * metadata in recommendations for a campaign. For information about enabling + * metadata for a recommender, see Enabling + * metadata in recommendations for a recommender.

              + */ + inline GetRecommendationsRequest& AddMetadataColumns(Aws::String&& key, Aws::Vector&& value) { m_metadataColumnsHasBeenSet = true; m_metadataColumns.emplace(std::move(key), std::move(value)); return *this; } + + /** + *

              If you enabled metadata in recommendations when you created or updated the + * campaign or recommender, specify the metadata columns from your Items dataset to + * include in item recommendations. The map key is ITEMS and the value + * is a list of column names from your Items dataset. The maximum number of columns + * you can provide is 10.

              For information about enabling metadata for a + * campaign, see Enabling + * metadata in recommendations for a campaign. For information about enabling + * metadata for a recommender, see Enabling + * metadata in recommendations for a recommender.

              + */ + inline GetRecommendationsRequest& AddMetadataColumns(const char* key, Aws::Vector&& value) { m_metadataColumnsHasBeenSet = true; m_metadataColumns.emplace(key, std::move(value)); return *this; } + + /** + *

              If you enabled metadata in recommendations when you created or updated the + * campaign or recommender, specify the metadata columns from your Items dataset to + * include in item recommendations. The map key is ITEMS and the value + * is a list of column names from your Items dataset. The maximum number of columns + * you can provide is 10.

              For information about enabling metadata for a + * campaign, see Enabling + * metadata in recommendations for a campaign. For information about enabling + * metadata for a recommender, see Enabling + * metadata in recommendations for a recommender.

              + */ + inline GetRecommendationsRequest& AddMetadataColumns(const char* key, const Aws::Vector& value) { m_metadataColumnsHasBeenSet = true; m_metadataColumns.emplace(key, value); return *this; } + private: Aws::String m_campaignArn; @@ -731,6 +920,9 @@ namespace Model Aws::Vector m_promotions; bool m_promotionsHasBeenSet = false; + + Aws::Map> m_metadataColumns; + bool m_metadataColumnsHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-personalize-runtime/include/aws/personalize-runtime/model/PredictedAction.h b/generated/src/aws-cpp-sdk-personalize-runtime/include/aws/personalize-runtime/model/PredictedAction.h new file mode 100644 index 00000000000..1621072c555 --- /dev/null +++ b/generated/src/aws-cpp-sdk-personalize-runtime/include/aws/personalize-runtime/model/PredictedAction.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 + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace PersonalizeRuntime +{ +namespace Model +{ + + /** + *

              An object that identifies an action.

              The API returns a list of + * PredictedActions.

              See Also:

              AWS + * API Reference

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

              The ID of the recommended action.

              + */ + inline const Aws::String& GetActionId() const{ return m_actionId; } + + /** + *

              The ID of the recommended action.

              + */ + inline bool ActionIdHasBeenSet() const { return m_actionIdHasBeenSet; } + + /** + *

              The ID of the recommended action.

              + */ + inline void SetActionId(const Aws::String& value) { m_actionIdHasBeenSet = true; m_actionId = value; } + + /** + *

              The ID of the recommended action.

              + */ + inline void SetActionId(Aws::String&& value) { m_actionIdHasBeenSet = true; m_actionId = std::move(value); } + + /** + *

              The ID of the recommended action.

              + */ + inline void SetActionId(const char* value) { m_actionIdHasBeenSet = true; m_actionId.assign(value); } + + /** + *

              The ID of the recommended action.

              + */ + inline PredictedAction& WithActionId(const Aws::String& value) { SetActionId(value); return *this;} + + /** + *

              The ID of the recommended action.

              + */ + inline PredictedAction& WithActionId(Aws::String&& value) { SetActionId(std::move(value)); return *this;} + + /** + *

              The ID of the recommended action.

              + */ + inline PredictedAction& WithActionId(const char* value) { SetActionId(value); return *this;} + + + /** + *

              The score of the recommended action. For information about action scores, see + * How + * action recommendation scoring works.

              + */ + inline double GetScore() const{ return m_score; } + + /** + *

              The score of the recommended action. For information about action scores, see + * How + * action recommendation scoring works.

              + */ + inline bool ScoreHasBeenSet() const { return m_scoreHasBeenSet; } + + /** + *

              The score of the recommended action. For information about action scores, see + * How + * action recommendation scoring works.

              + */ + inline void SetScore(double value) { m_scoreHasBeenSet = true; m_score = value; } + + /** + *

              The score of the recommended action. For information about action scores, see + * How + * action recommendation scoring works.

              + */ + inline PredictedAction& WithScore(double value) { SetScore(value); return *this;} + + private: + + Aws::String m_actionId; + bool m_actionIdHasBeenSet = false; + + double m_score; + bool m_scoreHasBeenSet = false; + }; + +} // namespace Model +} // namespace PersonalizeRuntime +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-personalize-runtime/include/aws/personalize-runtime/model/PredictedItem.h b/generated/src/aws-cpp-sdk-personalize-runtime/include/aws/personalize-runtime/model/PredictedItem.h index cb3c05542bf..e702cf3c060 100644 --- a/generated/src/aws-cpp-sdk-personalize-runtime/include/aws/personalize-runtime/model/PredictedItem.h +++ b/generated/src/aws-cpp-sdk-personalize-runtime/include/aws/personalize-runtime/model/PredictedItem.h @@ -6,6 +6,7 @@ #pragma once #include #include +#include #include namespace Aws @@ -148,6 +149,72 @@ namespace Model */ inline PredictedItem& WithPromotionName(const char* value) { SetPromotionName(value); return *this;} + + /** + *

              Metadata about the item from your Items dataset.

              + */ + inline const Aws::Map& GetMetadata() const{ return m_metadata; } + + /** + *

              Metadata about the item from your Items dataset.

              + */ + inline bool MetadataHasBeenSet() const { return m_metadataHasBeenSet; } + + /** + *

              Metadata about the item from your Items dataset.

              + */ + inline void SetMetadata(const Aws::Map& value) { m_metadataHasBeenSet = true; m_metadata = value; } + + /** + *

              Metadata about the item from your Items dataset.

              + */ + inline void SetMetadata(Aws::Map&& value) { m_metadataHasBeenSet = true; m_metadata = std::move(value); } + + /** + *

              Metadata about the item from your Items dataset.

              + */ + inline PredictedItem& WithMetadata(const Aws::Map& value) { SetMetadata(value); return *this;} + + /** + *

              Metadata about the item from your Items dataset.

              + */ + inline PredictedItem& WithMetadata(Aws::Map&& value) { SetMetadata(std::move(value)); return *this;} + + /** + *

              Metadata about the item from your Items dataset.

              + */ + inline PredictedItem& AddMetadata(const Aws::String& key, const Aws::String& value) { m_metadataHasBeenSet = true; m_metadata.emplace(key, value); return *this; } + + /** + *

              Metadata about the item from your Items dataset.

              + */ + inline PredictedItem& AddMetadata(Aws::String&& key, const Aws::String& value) { m_metadataHasBeenSet = true; m_metadata.emplace(std::move(key), value); return *this; } + + /** + *

              Metadata about the item from your Items dataset.

              + */ + inline PredictedItem& AddMetadata(const Aws::String& key, Aws::String&& value) { m_metadataHasBeenSet = true; m_metadata.emplace(key, std::move(value)); return *this; } + + /** + *

              Metadata about the item from your Items dataset.

              + */ + inline PredictedItem& AddMetadata(Aws::String&& key, Aws::String&& value) { m_metadataHasBeenSet = true; m_metadata.emplace(std::move(key), std::move(value)); return *this; } + + /** + *

              Metadata about the item from your Items dataset.

              + */ + inline PredictedItem& AddMetadata(const char* key, Aws::String&& value) { m_metadataHasBeenSet = true; m_metadata.emplace(key, std::move(value)); return *this; } + + /** + *

              Metadata about the item from your Items dataset.

              + */ + inline PredictedItem& AddMetadata(Aws::String&& key, const char* value) { m_metadataHasBeenSet = true; m_metadata.emplace(std::move(key), value); return *this; } + + /** + *

              Metadata about the item from your Items dataset.

              + */ + inline PredictedItem& AddMetadata(const char* key, const char* value) { m_metadataHasBeenSet = true; m_metadata.emplace(key, value); return *this; } + private: Aws::String m_itemId; @@ -158,6 +225,9 @@ namespace Model Aws::String m_promotionName; bool m_promotionNameHasBeenSet = false; + + Aws::Map m_metadata; + bool m_metadataHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-personalize-runtime/source/PersonalizeRuntimeClient.cpp b/generated/src/aws-cpp-sdk-personalize-runtime/source/PersonalizeRuntimeClient.cpp index 9977ed8f404..0cddcfa6f8a 100644 --- a/generated/src/aws-cpp-sdk-personalize-runtime/source/PersonalizeRuntimeClient.cpp +++ b/generated/src/aws-cpp-sdk-personalize-runtime/source/PersonalizeRuntimeClient.cpp @@ -21,6 +21,7 @@ #include #include #include +#include #include #include @@ -156,6 +157,33 @@ void PersonalizeRuntimeClient::OverrideEndpoint(const Aws::String& endpoint) m_endpointProvider->OverrideEndpoint(endpoint); } +GetActionRecommendationsOutcome PersonalizeRuntimeClient::GetActionRecommendations(const GetActionRecommendationsRequest& request) const +{ + AWS_OPERATION_GUARD(GetActionRecommendations); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetActionRecommendations, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetActionRecommendations, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetActionRecommendations, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetActionRecommendations", + {{ 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( + [&]()-> GetActionRecommendationsOutcome { + 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, GetActionRecommendations, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/action-recommendations"); + return GetActionRecommendationsOutcome(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()}}); +} + GetPersonalizedRankingOutcome PersonalizeRuntimeClient::GetPersonalizedRanking(const GetPersonalizedRankingRequest& request) const { AWS_OPERATION_GUARD(GetPersonalizedRanking); diff --git a/generated/src/aws-cpp-sdk-personalize-runtime/source/PersonalizeRuntimeEndpointRules.cpp b/generated/src/aws-cpp-sdk-personalize-runtime/source/PersonalizeRuntimeEndpointRules.cpp index e0f513a1e1d..a149809b935 100644 --- a/generated/src/aws-cpp-sdk-personalize-runtime/source/PersonalizeRuntimeEndpointRules.cpp +++ b/generated/src/aws-cpp-sdk-personalize-runtime/source/PersonalizeRuntimeEndpointRules.cpp @@ -51,108 +51,108 @@ static constexpr RulesBlobT RulesBlob = {{ ',','"','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','"',':','[','{','"','f','n','"',':','"', 'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', -'d','p','o','i','n','t','"','}',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', -',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', -'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r', -'u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','C','o', -'n','f','i','g','u','r','a','t','i','o','n',':',' ','F','I','P','S',' ','a','n','d',' ','c','u','s', -'t','o','m',' ','e','n','d','p','o','i','n','t',' ','a','r','e',' ','n','o','t',' ','s','u','p','p', -'o','r','t','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e', +'d','p','o','i','n','t','"','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', +'s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':', +'"','I','n','v','a','l','i','d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','F', +'I','P','S',' ','a','n','d',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','a', +'r','e',' ','n','o','t',' ','s','u','p','p','o','r','t','e','d','"',',','"','t','y','p','e','"',':', +'"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"', +'}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i', +'d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','D','u','a','l','s','t','a','c', +'k',' ','a','n','d',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','a','r','e', +' ','n','o','t',' ','s','u','p','p','o','r','t','e','d','"',',','"','t','y','p','e','"',':','"','e', +'r','r','o','r','"','}',',','{','"','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','"',':','{', +'}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e', +'n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s', +'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i', +'o','n','"','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i', +'o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o', +'n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','P','a','r','t','i','t','i','o','n','R', +'e','s','u','l','t','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F', +'I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', 'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', '"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"', -'e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','C','o','n','f','i','g','u','r','a', -'t','i','o','n',':',' ','D','u','a','l','s','t','a','c','k',' ','a','n','d',' ','c','u','s','t','o', -'m',' ','e','n','d','p','o','i','n','t',' ','a','r','e',' ','n','o','t',' ','s','u','p','p','o','r', -'t','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o', +'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R', +'e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','F','I','P','S','"',']','}',']', +'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t', +'r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t', +'i','o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','D','u','a','l', +'S','t','a','c','k','"',']','}',']','}',']',',','"','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','"',':','{','}',',','"','h','e','a','d','e','r','s','"', -':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}', -',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s', -'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i', -'o','n','"','}',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u', -'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', -'"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g', -'n','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',']',',','"','t', -'y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o', +'"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','p','e','r','s','o','n','a','l','i','z', +'e','-','r','u','n','t','i','m','e','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{', +'P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','u','a','l','S','t','a','c','k', +'D','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':', +'{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"', +'e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', +'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r', +'"',':','"','F','I','P','S',' ','a','n','d',' ','D','u','a','l','S','t','a','c','k',' ','a','r','e', +' ','e','n','a','b','l','e','d',',',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t', +'i','o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','o','n','e',' ', +'o','r',' ','b','o','t','h','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']', +',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P', +'S','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o', 'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', -'s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o', -'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}', -']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o', -'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','t','r','u','e',',', -'{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',', -'"','s','u','p','p','o','r','t','s','F','I','P','S','"',']','}',']','}',',','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','t', -'r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l', -'t','"','}',',','"','s','u','p','p','o','r','t','s','D','u','a','l','S','t','a','c','k','"',']','}', -']','}',']',',','"','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','"',':','"','h','t','t','p','s',':','/','/','p','e','r','s', -'o','n','a','l','i','z','e','-','r','u','n','t','i','m','e','-','f','i','p','s','.','{','R','e','g', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e', +'t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a', +'r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s', +'F','I','P','S','"',']','}',',','t','r','u','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','"',':','"','h','t','t','p','s',':','/','/','p','e','r','s','o','n', +'a','l','i','z','e','-','r','u','n','t','i','m','e','-','f','i','p','s','.','{','R','e','g','i','o', +'n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u', +'f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h', +'e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o', +'i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','F','I', +'P','S',' ','i','s',' ','e','n','a','b','l','e','d',' ','b','u','t',' ','t','h','i','s',' ','p','a', +'r','t','i','t','i','o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ', +'F','I','P','S','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t', +'y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', +'"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t', +'a','c','k','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e', +'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','t','r','u','e',',','{','"', +'f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','s', +'u','p','p','o','r','t','s','D','u','a','l','S','t','a','c','k','"',']','}',']','}',']',',','"','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','"',':','"','h','t','t','p','s',':','/', +'/','p','e','r','s','o','n','a','l','i','z','e','-','r','u','n','t','i','m','e','.','{','R','e','g', 'i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','u','a', 'l','S','t','a','c','k','D','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r', 't','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t', -'y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d', -'i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','F','I','P','S',' ', -'a','n','d',' ','D','u','a','l','S','t','a','c','k',' ','a','r','e',' ','e','n','a','b','l','e','d', -',',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s', -' ','n','o','t',' ','s','u','p','p','o','r','t',' ','o','n','e',' ','o','r',' ','b','o','t','h','"', -',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',',','{','"','c','o','n','d', -'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', -'F','I','P','S','"','}',',','t','r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r', -'e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t', -'t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i', -'t','i','o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','F','I','P', -'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','"',':','"','h','t','t','p','s',':','/','/', -'p','e','r','s','o','n','a','l','i','z','e','-','r','u','n','t','i','m','e','-','f','i','p','s','.', -'{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t', -'#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"', -':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':', -'"','e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n', -'s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','F','I','P','S',' ','i','s',' ','e','n', -'a','b','l','e','d',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ', -'d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','F','I','P','S','"',',','"','t', -'y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',',','{','"','c','o','n','d','i','t','i', -'o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', -'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a', -'l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"','t','y','p','e','"',':','"', -'t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o', -'n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t', -'A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r', -'t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','D', -'u','a','l','S','t','a','c','k','"',']','}',']','}',']',',','"','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','"',':','"','h', -'t','t','p','s',':','/','/','p','e','r','s','o','n','a','l','i','z','e','-','r','u','n','t','i','m', -'e','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u', -'l','t','#','d','u','a','l','S','t','a','c','k','D','n','s','S','u','f','f','i','x','}','"',',','"', -'p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':', -'{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',',', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':', -'"','D','u','a','l','S','t','a','c','k',' ','i','s',' ','e','n','a','b','l','e','d',' ','b','u','t', -' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ','n','o','t',' ', -'s','u','p','p','o','r','t',' ','D','u','a','l','S','t','a','c','k','"',',','"','t','y','p','e','"', -':','"','e','r','r','o','r','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', -':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t', -'t','p','s',':','/','/','p','e','r','s','o','n','a','l','i','z','e','-','r','u','n','t','i','m','e', -'.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l', -'t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s', -'"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"', -':','"','e','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','c','o','n','d','i','t', +'y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':', +'"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',', +'"','e','r','r','o','r','"',':','"','D','u','a','l','S','t','a','c','k',' ','i','s',' ','e','n','a', +'b','l','e','d',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d', +'o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','D','u','a','l','S','t','a','c','k', +'"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"', +':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']', +',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s', +':','/','/','p','e','r','s','o','n','a','l','i','z','e','-','r','u','n','t','i','m','e','.','{','R', +'e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d', +'n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{', +'}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e', +'n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}', +']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t', 'i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d', ' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','M','i','s','s','i','n','g',' ','R', 'e','g','i','o','n','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}','\0' diff --git a/generated/src/aws-cpp-sdk-personalize-runtime/source/model/GetActionRecommendationsRequest.cpp b/generated/src/aws-cpp-sdk-personalize-runtime/source/model/GetActionRecommendationsRequest.cpp new file mode 100644 index 00000000000..7e1dd3e94a4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-personalize-runtime/source/model/GetActionRecommendationsRequest.cpp @@ -0,0 +1,69 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::PersonalizeRuntime::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +GetActionRecommendationsRequest::GetActionRecommendationsRequest() : + m_campaignArnHasBeenSet(false), + m_userIdHasBeenSet(false), + m_numResults(0), + m_numResultsHasBeenSet(false), + m_filterArnHasBeenSet(false), + m_filterValuesHasBeenSet(false) +{ +} + +Aws::String GetActionRecommendationsRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_campaignArnHasBeenSet) + { + payload.WithString("campaignArn", m_campaignArn); + + } + + if(m_userIdHasBeenSet) + { + payload.WithString("userId", m_userId); + + } + + if(m_numResultsHasBeenSet) + { + payload.WithInteger("numResults", m_numResults); + + } + + if(m_filterArnHasBeenSet) + { + payload.WithString("filterArn", m_filterArn); + + } + + if(m_filterValuesHasBeenSet) + { + JsonValue filterValuesJsonMap; + for(auto& filterValuesItem : m_filterValues) + { + filterValuesJsonMap.WithString(filterValuesItem.first, filterValuesItem.second); + } + payload.WithObject("filterValues", std::move(filterValuesJsonMap)); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-personalize-runtime/source/model/GetActionRecommendationsResult.cpp b/generated/src/aws-cpp-sdk-personalize-runtime/source/model/GetActionRecommendationsResult.cpp new file mode 100644 index 00000000000..e2c986a2d25 --- /dev/null +++ b/generated/src/aws-cpp-sdk-personalize-runtime/source/model/GetActionRecommendationsResult.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::PersonalizeRuntime::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetActionRecommendationsResult::GetActionRecommendationsResult() +{ +} + +GetActionRecommendationsResult::GetActionRecommendationsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetActionRecommendationsResult& GetActionRecommendationsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("actionList")) + { + Aws::Utils::Array actionListJsonList = jsonValue.GetArray("actionList"); + for(unsigned actionListIndex = 0; actionListIndex < actionListJsonList.GetLength(); ++actionListIndex) + { + m_actionList.push_back(actionListJsonList[actionListIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("recommendationId")) + { + m_recommendationId = jsonValue.GetString("recommendationId"); + + } + + + 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-personalize-runtime/source/model/GetPersonalizedRankingRequest.cpp b/generated/src/aws-cpp-sdk-personalize-runtime/source/model/GetPersonalizedRankingRequest.cpp index 8e36f187367..1fcf4c84c42 100644 --- a/generated/src/aws-cpp-sdk-personalize-runtime/source/model/GetPersonalizedRankingRequest.cpp +++ b/generated/src/aws-cpp-sdk-personalize-runtime/source/model/GetPersonalizedRankingRequest.cpp @@ -18,7 +18,8 @@ GetPersonalizedRankingRequest::GetPersonalizedRankingRequest() : m_userIdHasBeenSet(false), m_contextHasBeenSet(false), m_filterArnHasBeenSet(false), - m_filterValuesHasBeenSet(false) + m_filterValuesHasBeenSet(false), + m_metadataColumnsHasBeenSet(false) { } @@ -77,6 +78,22 @@ Aws::String GetPersonalizedRankingRequest::SerializePayload() const } + if(m_metadataColumnsHasBeenSet) + { + JsonValue metadataColumnsJsonMap; + for(auto& metadataColumnsItem : m_metadataColumns) + { + Aws::Utils::Array columnNamesListJsonList(metadataColumnsItem.second.size()); + for(unsigned columnNamesListIndex = 0; columnNamesListIndex < columnNamesListJsonList.GetLength(); ++columnNamesListIndex) + { + columnNamesListJsonList[columnNamesListIndex].AsString(metadataColumnsItem.second[columnNamesListIndex]); + } + metadataColumnsJsonMap.WithArray(metadataColumnsItem.first, std::move(columnNamesListJsonList)); + } + payload.WithObject("metadataColumns", std::move(metadataColumnsJsonMap)); + + } + return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-personalize-runtime/source/model/GetRecommendationsRequest.cpp b/generated/src/aws-cpp-sdk-personalize-runtime/source/model/GetRecommendationsRequest.cpp index b6fff500a38..22a7ca3e0b0 100644 --- a/generated/src/aws-cpp-sdk-personalize-runtime/source/model/GetRecommendationsRequest.cpp +++ b/generated/src/aws-cpp-sdk-personalize-runtime/source/model/GetRecommendationsRequest.cpp @@ -22,7 +22,8 @@ GetRecommendationsRequest::GetRecommendationsRequest() : m_filterArnHasBeenSet(false), m_filterValuesHasBeenSet(false), m_recommenderArnHasBeenSet(false), - m_promotionsHasBeenSet(false) + m_promotionsHasBeenSet(false), + m_metadataColumnsHasBeenSet(false) { } @@ -99,6 +100,22 @@ Aws::String GetRecommendationsRequest::SerializePayload() const } + if(m_metadataColumnsHasBeenSet) + { + JsonValue metadataColumnsJsonMap; + for(auto& metadataColumnsItem : m_metadataColumns) + { + Aws::Utils::Array columnNamesListJsonList(metadataColumnsItem.second.size()); + for(unsigned columnNamesListIndex = 0; columnNamesListIndex < columnNamesListJsonList.GetLength(); ++columnNamesListIndex) + { + columnNamesListJsonList[columnNamesListIndex].AsString(metadataColumnsItem.second[columnNamesListIndex]); + } + metadataColumnsJsonMap.WithArray(metadataColumnsItem.first, std::move(columnNamesListJsonList)); + } + payload.WithObject("metadataColumns", std::move(metadataColumnsJsonMap)); + + } + return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-personalize-runtime/source/model/PredictedAction.cpp b/generated/src/aws-cpp-sdk-personalize-runtime/source/model/PredictedAction.cpp new file mode 100644 index 00000000000..d53abd93425 --- /dev/null +++ b/generated/src/aws-cpp-sdk-personalize-runtime/source/model/PredictedAction.cpp @@ -0,0 +1,76 @@ +/** + * 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 PersonalizeRuntime +{ +namespace Model +{ + +PredictedAction::PredictedAction() : + m_actionIdHasBeenSet(false), + m_score(0.0), + m_scoreHasBeenSet(false) +{ +} + +PredictedAction::PredictedAction(JsonView jsonValue) : + m_actionIdHasBeenSet(false), + m_score(0.0), + m_scoreHasBeenSet(false) +{ + *this = jsonValue; +} + +PredictedAction& PredictedAction::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("actionId")) + { + m_actionId = jsonValue.GetString("actionId"); + + m_actionIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("score")) + { + m_score = jsonValue.GetDouble("score"); + + m_scoreHasBeenSet = true; + } + + return *this; +} + +JsonValue PredictedAction::Jsonize() const +{ + JsonValue payload; + + if(m_actionIdHasBeenSet) + { + payload.WithString("actionId", m_actionId); + + } + + if(m_scoreHasBeenSet) + { + payload.WithDouble("score", m_score); + + } + + return payload; +} + +} // namespace Model +} // namespace PersonalizeRuntime +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-personalize-runtime/source/model/PredictedItem.cpp b/generated/src/aws-cpp-sdk-personalize-runtime/source/model/PredictedItem.cpp index cb26ee9b578..fc7e7902c5b 100644 --- a/generated/src/aws-cpp-sdk-personalize-runtime/source/model/PredictedItem.cpp +++ b/generated/src/aws-cpp-sdk-personalize-runtime/source/model/PredictedItem.cpp @@ -22,7 +22,8 @@ PredictedItem::PredictedItem() : m_itemIdHasBeenSet(false), m_score(0.0), m_scoreHasBeenSet(false), - m_promotionNameHasBeenSet(false) + m_promotionNameHasBeenSet(false), + m_metadataHasBeenSet(false) { } @@ -30,7 +31,8 @@ PredictedItem::PredictedItem(JsonView jsonValue) : m_itemIdHasBeenSet(false), m_score(0.0), m_scoreHasBeenSet(false), - m_promotionNameHasBeenSet(false) + m_promotionNameHasBeenSet(false), + m_metadataHasBeenSet(false) { *this = jsonValue; } @@ -58,6 +60,16 @@ PredictedItem& PredictedItem::operator =(JsonView jsonValue) m_promotionNameHasBeenSet = true; } + if(jsonValue.ValueExists("metadata")) + { + Aws::Map metadataJsonMap = jsonValue.GetObject("metadata").GetAllObjects(); + for(auto& metadataItem : metadataJsonMap) + { + m_metadata[metadataItem.first] = metadataItem.second.AsString(); + } + m_metadataHasBeenSet = true; + } + return *this; } @@ -83,6 +95,17 @@ JsonValue PredictedItem::Jsonize() const } + if(m_metadataHasBeenSet) + { + JsonValue metadataJsonMap; + for(auto& metadataItem : m_metadata) + { + metadataJsonMap.WithString(metadataItem.first, metadataItem.second); + } + payload.WithObject("metadata", std::move(metadataJsonMap)); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-personalize/include/aws/personalize/PersonalizeClient.h b/generated/src/aws-cpp-sdk-personalize/include/aws/personalize/PersonalizeClient.h index d2b45afc686..62a2bc0e003 100644 --- a/generated/src/aws-cpp-sdk-personalize/include/aws/personalize/PersonalizeClient.h +++ b/generated/src/aws-cpp-sdk-personalize/include/aws/personalize/PersonalizeClient.h @@ -78,10 +78,24 @@ namespace Personalize virtual ~PersonalizeClient(); /** - *

              Creates a batch inference job. The operation can handle up to 50 million - * records and the input file must be in JSON format. For more information, see Creating - * a batch inference job.

              See Also:

              Generates batch recommendations based on a list of items or users stored in + * Amazon S3 and exports the recommendations to an Amazon S3 bucket.

              To + * generate batch recommendations, specify the ARN of a solution version and an + * Amazon S3 URI for the input and output data. For user personalization, popular + * items, and personalized ranking solutions, the batch inference job generates a + * list of recommended items for each user ID in the input file. For related items + * solutions, the job generates a list of recommended items for each item ID in the + * input file.

              For more information, see Creating + * a batch inference job .

              If you use the Similar-Items recipe, Amazon + * Personalize can add descriptive themes to batch recommendations. To generate + * themes, set the job's mode to THEME_GENERATION and specify the name + * of the field that contains item names in the input data.

              For more + * information about generating themes, see Batch + * recommendations with themes from Content Generator .

              You can't get + * batch recommendations with the Trending-Now or Next-Best-Action + * recipes.

              See Also:

              AWS * API Reference

              */ @@ -200,15 +214,16 @@ namespace Personalize /** *

              Creates an empty dataset and adds it to the specified dataset group. Use CreateDatasetImportJob - * to import your training data to a dataset.

              There are three types of - * datasets:

              • Interactions

              • Items

              • - *

                Users

              Each dataset type has an associated schema with - * required field types. Only the Interactions dataset is required in - * order to train a model (also referred to as creating a solution).

              A - * dataset can be in one of the following states:

              • CREATE PENDING - * > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

              • DELETE - * PENDING > DELETE IN_PROGRESS

              To get the status of the - * dataset, call

              There are 5 types of + * datasets:

              • Item interactions

              • Items

              • + *
              • Users

              • Action interactions

              • + *

                Actions

              Each dataset type has an associated schema with + * required field types. Only the Item interactions dataset is + * required in order to train a model (also referred to as creating a + * solution).

              A dataset can be in one of the following states:

              • + *

                CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

                + *
              • DELETE PENDING > DELETE IN_PROGRESS

              To get + * the status of the dataset, call DescribeDataset.

              *

              Related APIs

              • CreateDatasetGroup @@ -283,17 +298,18 @@ namespace Personalize /** *

                Creates an empty dataset group. A dataset group is a container for Amazon * Personalize resources. A dataset group can contain at most three datasets, one - * for each type of dataset:

                • Interactions

                • - *

                  Items

                • Users

                A dataset group can be a - * Domain dataset group, where you specify a domain and use pre-configured - * resources like recommenders, or a Custom dataset group, where you use custom - * resources, such as a solution with a solution version, that you deploy with a - * campaign. If you start with a Domain dataset group, you can still add custom - * resources such as solutions and solution versions trained with recipes for - * custom use cases and deployed with campaigns.

                A dataset group can be in - * one of the following states:

                • CREATE PENDING > CREATE - * IN_PROGRESS > ACTIVE -or- CREATE FAILED

                • DELETE PENDING

                  - *

                To get the status of the dataset group, call

                A dataset group can be a Domain + * dataset group, where you specify a domain and use pre-configured resources like + * recommenders, or a Custom dataset group, where you use custom resources, such as + * a solution with a solution version, that you deploy with a campaign. If you + * start with a Domain dataset group, you can still add custom resources such as + * solutions and solution versions trained with recipes for custom use cases and + * deployed with campaigns.

                A dataset group can be in one of the following + * states:

                • CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- + * CREATE FAILED

                • DELETE PENDING

                To get the + * status of the dataset group, call DescribeDatasetGroup. * If the status shows as CREATE FAILED, the response includes a * failureReason key, which describes why the creation failed.

                @@ -347,7 +363,12 @@ namespace Personalize * processes it internally. For information on granting access to your Amazon S3 * bucket, see Giving - * Amazon Personalize Access to Amazon S3 Resources.

                By + * Amazon Personalize Access to Amazon S3 Resources.

                If you already + * created a recommender or deployed a custom solution version with a campaign, how + * new bulk records influence recommendations depends on the domain use case or + * recipe that you use. For more information, see How + * new data influences real-time recommendations.

                By * default, a dataset import job replaces any existing data in the dataset that you * imported in bulk. To add new records without replacing existing data, specify * INCREMENTAL for the import mode in the CreateDatasetImportJob operation.

                @@ -399,12 +420,12 @@ namespace Personalize * create an event tracker, the response includes a tracking ID, which you pass as * a parameter when you use the PutEvents - * operation. Amazon Personalize then appends the event data to the Interactions - * dataset of the dataset group you specify in your event tracker.

                The - * event tracker can be in one of the following states:

                • CREATE - * PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

                • - *

                  DELETE PENDING > DELETE IN_PROGRESS

                To get the status - * of the event tracker, call

                The event tracker can be in one of the following states:

                • + *

                  CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

                  + *
                • DELETE PENDING > DELETE IN_PROGRESS

                To get + * the status of the event tracker, call DescribeEventTracker.

                *

                The event tracker must be in the ACTIVE state before using the * tracking ID.

                Related APIs

                • @@ -807,9 +828,8 @@ namespace Personalize } /** - *

                  Deletes the event tracker. Does not delete the event-interactions dataset - * from the associated dataset group. For more information on event trackers, see - * Deletes the event tracker. Does not delete the dataset from the dataset + * group. For more information on event trackers, see CreateEventTracker.

                  See * Also:

                  AWS @@ -2097,18 +2117,21 @@ namespace Personalize } /** - *

                  Updates a campaign by either deploying a new solution or changing the value - * of the campaign's minProvisionedTPS parameter.

                  To update a - * campaign, the campaign status must be ACTIVE or CREATE FAILED. Check the - * campaign status using the Updates a campaign to deploy a retrained solution version with an existing + * campaign, change your campaign's minProvisionedTPS, or modify your + * campaign's configuration, such as the exploration configuration.

                  To + * update a campaign, the campaign status must be ACTIVE or CREATE FAILED. Check + * the campaign status using the DescribeCampaign * operation.

                  You can still get recommendations from a campaign while * an update is in progress. The campaign will use the previous solution version * and campaign configuration to generate recommendations until the latest campaign - * update status is Active.

                  For more information on - * campaigns, see CreateCampaign.

                  See - * Also:

                  Active.

                  For more information about + * updating a campaign, including code samples, see Updating + * a campaign. For more information about campaigns, see Creating + * a campaign.

                  See Also:

                  AWS * API Reference

                  */ diff --git a/generated/src/aws-cpp-sdk-personalize/include/aws/personalize/model/BatchInferenceJob.h b/generated/src/aws-cpp-sdk-personalize/include/aws/personalize/model/BatchInferenceJob.h index 6486a85fe95..03bd11712a1 100644 --- a/generated/src/aws-cpp-sdk-personalize/include/aws/personalize/model/BatchInferenceJob.h +++ b/generated/src/aws-cpp-sdk-personalize/include/aws/personalize/model/BatchInferenceJob.h @@ -9,6 +9,8 @@ #include #include #include +#include +#include #include #include @@ -439,6 +441,68 @@ namespace Model inline BatchInferenceJob& WithRoleArn(const char* value) { SetRoleArn(value); return *this;} + /** + *

                  The job's mode.

                  + */ + inline const BatchInferenceJobMode& GetBatchInferenceJobMode() const{ return m_batchInferenceJobMode; } + + /** + *

                  The job's mode.

                  + */ + inline bool BatchInferenceJobModeHasBeenSet() const { return m_batchInferenceJobModeHasBeenSet; } + + /** + *

                  The job's mode.

                  + */ + inline void SetBatchInferenceJobMode(const BatchInferenceJobMode& value) { m_batchInferenceJobModeHasBeenSet = true; m_batchInferenceJobMode = value; } + + /** + *

                  The job's mode.

                  + */ + inline void SetBatchInferenceJobMode(BatchInferenceJobMode&& value) { m_batchInferenceJobModeHasBeenSet = true; m_batchInferenceJobMode = std::move(value); } + + /** + *

                  The job's mode.

                  + */ + inline BatchInferenceJob& WithBatchInferenceJobMode(const BatchInferenceJobMode& value) { SetBatchInferenceJobMode(value); return *this;} + + /** + *

                  The job's mode.

                  + */ + inline BatchInferenceJob& WithBatchInferenceJobMode(BatchInferenceJobMode&& value) { SetBatchInferenceJobMode(std::move(value)); return *this;} + + + /** + *

                  The job's theme generation settings.

                  + */ + inline const ThemeGenerationConfig& GetThemeGenerationConfig() const{ return m_themeGenerationConfig; } + + /** + *

                  The job's theme generation settings.

                  + */ + inline bool ThemeGenerationConfigHasBeenSet() const { return m_themeGenerationConfigHasBeenSet; } + + /** + *

                  The job's theme generation settings.

                  + */ + inline void SetThemeGenerationConfig(const ThemeGenerationConfig& value) { m_themeGenerationConfigHasBeenSet = true; m_themeGenerationConfig = value; } + + /** + *

                  The job's theme generation settings.

                  + */ + inline void SetThemeGenerationConfig(ThemeGenerationConfig&& value) { m_themeGenerationConfigHasBeenSet = true; m_themeGenerationConfig = std::move(value); } + + /** + *

                  The job's theme generation settings.

                  + */ + inline BatchInferenceJob& WithThemeGenerationConfig(const ThemeGenerationConfig& value) { SetThemeGenerationConfig(value); return *this;} + + /** + *

                  The job's theme generation settings.

                  + */ + inline BatchInferenceJob& WithThemeGenerationConfig(ThemeGenerationConfig&& value) { SetThemeGenerationConfig(std::move(value)); return *this;} + + /** *

                  The status of the batch inference job. The status is one of the following * values:

                  • PENDING

                  • IN PROGRESS

                  • @@ -589,6 +653,12 @@ namespace Model Aws::String m_roleArn; bool m_roleArnHasBeenSet = false; + BatchInferenceJobMode m_batchInferenceJobMode; + bool m_batchInferenceJobModeHasBeenSet = false; + + ThemeGenerationConfig m_themeGenerationConfig; + bool m_themeGenerationConfigHasBeenSet = false; + Aws::String m_status; bool m_statusHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-personalize/include/aws/personalize/model/BatchInferenceJobMode.h b/generated/src/aws-cpp-sdk-personalize/include/aws/personalize/model/BatchInferenceJobMode.h new file mode 100644 index 00000000000..824fd4bc396 --- /dev/null +++ b/generated/src/aws-cpp-sdk-personalize/include/aws/personalize/model/BatchInferenceJobMode.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 Personalize +{ +namespace Model +{ + enum class BatchInferenceJobMode + { + NOT_SET, + BATCH_INFERENCE, + THEME_GENERATION + }; + +namespace BatchInferenceJobModeMapper +{ +AWS_PERSONALIZE_API BatchInferenceJobMode GetBatchInferenceJobModeForName(const Aws::String& name); + +AWS_PERSONALIZE_API Aws::String GetNameForBatchInferenceJobMode(BatchInferenceJobMode value); +} // namespace BatchInferenceJobModeMapper +} // namespace Model +} // namespace Personalize +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-personalize/include/aws/personalize/model/BatchInferenceJobSummary.h b/generated/src/aws-cpp-sdk-personalize/include/aws/personalize/model/BatchInferenceJobSummary.h index a51cf6e2270..c2c9bab4d45 100644 --- a/generated/src/aws-cpp-sdk-personalize/include/aws/personalize/model/BatchInferenceJobSummary.h +++ b/generated/src/aws-cpp-sdk-personalize/include/aws/personalize/model/BatchInferenceJobSummary.h @@ -7,6 +7,7 @@ #include #include #include +#include #include namespace Aws @@ -325,6 +326,37 @@ namespace Model */ inline BatchInferenceJobSummary& WithSolutionVersionArn(const char* value) { SetSolutionVersionArn(value); return *this;} + + /** + *

                    The job's mode.

                    + */ + inline const BatchInferenceJobMode& GetBatchInferenceJobMode() const{ return m_batchInferenceJobMode; } + + /** + *

                    The job's mode.

                    + */ + inline bool BatchInferenceJobModeHasBeenSet() const { return m_batchInferenceJobModeHasBeenSet; } + + /** + *

                    The job's mode.

                    + */ + inline void SetBatchInferenceJobMode(const BatchInferenceJobMode& value) { m_batchInferenceJobModeHasBeenSet = true; m_batchInferenceJobMode = value; } + + /** + *

                    The job's mode.

                    + */ + inline void SetBatchInferenceJobMode(BatchInferenceJobMode&& value) { m_batchInferenceJobModeHasBeenSet = true; m_batchInferenceJobMode = std::move(value); } + + /** + *

                    The job's mode.

                    + */ + inline BatchInferenceJobSummary& WithBatchInferenceJobMode(const BatchInferenceJobMode& value) { SetBatchInferenceJobMode(value); return *this;} + + /** + *

                    The job's mode.

                    + */ + inline BatchInferenceJobSummary& WithBatchInferenceJobMode(BatchInferenceJobMode&& value) { SetBatchInferenceJobMode(std::move(value)); return *this;} + private: Aws::String m_batchInferenceJobArn; @@ -347,6 +379,9 @@ namespace Model Aws::String m_solutionVersionArn; bool m_solutionVersionArnHasBeenSet = false; + + BatchInferenceJobMode m_batchInferenceJobMode; + bool m_batchInferenceJobModeHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-personalize/include/aws/personalize/model/CampaignConfig.h b/generated/src/aws-cpp-sdk-personalize/include/aws/personalize/model/CampaignConfig.h index 25e5c3d37b1..152d0819a54 100644 --- a/generated/src/aws-cpp-sdk-personalize/include/aws/personalize/model/CampaignConfig.h +++ b/generated/src/aws-cpp-sdk-personalize/include/aws/personalize/model/CampaignConfig.h @@ -181,10 +181,58 @@ namespace Model */ inline CampaignConfig& AddItemExplorationConfig(const char* key, const char* value) { m_itemExplorationConfigHasBeenSet = true; m_itemExplorationConfig.emplace(key, value); return *this; } + + /** + *

                    Whether metadata with recommendations is enabled for the campaign. If + * enabled, you can specify the columns from your Items dataset in your request for + * recommendations. Amazon Personalize returns this data for each item in the + * recommendation response.

                    If you enable metadata in recommendations, you + * will incur additional costs. For more information, see Amazon Personalize + * pricing.

                    + */ + inline bool GetEnableMetadataWithRecommendations() const{ return m_enableMetadataWithRecommendations; } + + /** + *

                    Whether metadata with recommendations is enabled for the campaign. If + * enabled, you can specify the columns from your Items dataset in your request for + * recommendations. Amazon Personalize returns this data for each item in the + * recommendation response.

                    If you enable metadata in recommendations, you + * will incur additional costs. For more information, see Amazon Personalize + * pricing.

                    + */ + inline bool EnableMetadataWithRecommendationsHasBeenSet() const { return m_enableMetadataWithRecommendationsHasBeenSet; } + + /** + *

                    Whether metadata with recommendations is enabled for the campaign. If + * enabled, you can specify the columns from your Items dataset in your request for + * recommendations. Amazon Personalize returns this data for each item in the + * recommendation response.

                    If you enable metadata in recommendations, you + * will incur additional costs. For more information, see Amazon Personalize + * pricing.

                    + */ + inline void SetEnableMetadataWithRecommendations(bool value) { m_enableMetadataWithRecommendationsHasBeenSet = true; m_enableMetadataWithRecommendations = value; } + + /** + *

                    Whether metadata with recommendations is enabled for the campaign. If + * enabled, you can specify the columns from your Items dataset in your request for + * recommendations. Amazon Personalize returns this data for each item in the + * recommendation response.

                    If you enable metadata in recommendations, you + * will incur additional costs. For more information, see Amazon Personalize + * pricing.

                    + */ + inline CampaignConfig& WithEnableMetadataWithRecommendations(bool value) { SetEnableMetadataWithRecommendations(value); return *this;} + private: Aws::Map m_itemExplorationConfig; bool m_itemExplorationConfigHasBeenSet = false; + + bool m_enableMetadataWithRecommendations; + bool m_enableMetadataWithRecommendationsHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-personalize/include/aws/personalize/model/CreateBatchInferenceJobRequest.h b/generated/src/aws-cpp-sdk-personalize/include/aws/personalize/model/CreateBatchInferenceJobRequest.h index 651ebbabc6b..332ad8e38e7 100644 --- a/generated/src/aws-cpp-sdk-personalize/include/aws/personalize/model/CreateBatchInferenceJobRequest.h +++ b/generated/src/aws-cpp-sdk-personalize/include/aws/personalize/model/CreateBatchInferenceJobRequest.h @@ -11,6 +11,8 @@ #include #include #include +#include +#include #include #include @@ -427,6 +429,110 @@ namespace Model */ inline CreateBatchInferenceJobRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } + + /** + *

                    The mode of the batch inference job. To generate descriptive themes for + * groups of similar items, set the job mode to THEME_GENERATION. If + * you don't want to generate themes, use the default + * BATCH_INFERENCE.

                    When you get batch recommendations with + * themes, you will incur additional costs. For more information, see Amazon Personalize + * pricing.

                    + */ + inline const BatchInferenceJobMode& GetBatchInferenceJobMode() const{ return m_batchInferenceJobMode; } + + /** + *

                    The mode of the batch inference job. To generate descriptive themes for + * groups of similar items, set the job mode to THEME_GENERATION. If + * you don't want to generate themes, use the default + * BATCH_INFERENCE.

                    When you get batch recommendations with + * themes, you will incur additional costs. For more information, see Amazon Personalize + * pricing.

                    + */ + inline bool BatchInferenceJobModeHasBeenSet() const { return m_batchInferenceJobModeHasBeenSet; } + + /** + *

                    The mode of the batch inference job. To generate descriptive themes for + * groups of similar items, set the job mode to THEME_GENERATION. If + * you don't want to generate themes, use the default + * BATCH_INFERENCE.

                    When you get batch recommendations with + * themes, you will incur additional costs. For more information, see Amazon Personalize + * pricing.

                    + */ + inline void SetBatchInferenceJobMode(const BatchInferenceJobMode& value) { m_batchInferenceJobModeHasBeenSet = true; m_batchInferenceJobMode = value; } + + /** + *

                    The mode of the batch inference job. To generate descriptive themes for + * groups of similar items, set the job mode to THEME_GENERATION. If + * you don't want to generate themes, use the default + * BATCH_INFERENCE.

                    When you get batch recommendations with + * themes, you will incur additional costs. For more information, see Amazon Personalize + * pricing.

                    + */ + inline void SetBatchInferenceJobMode(BatchInferenceJobMode&& value) { m_batchInferenceJobModeHasBeenSet = true; m_batchInferenceJobMode = std::move(value); } + + /** + *

                    The mode of the batch inference job. To generate descriptive themes for + * groups of similar items, set the job mode to THEME_GENERATION. If + * you don't want to generate themes, use the default + * BATCH_INFERENCE.

                    When you get batch recommendations with + * themes, you will incur additional costs. For more information, see Amazon Personalize + * pricing.

                    + */ + inline CreateBatchInferenceJobRequest& WithBatchInferenceJobMode(const BatchInferenceJobMode& value) { SetBatchInferenceJobMode(value); return *this;} + + /** + *

                    The mode of the batch inference job. To generate descriptive themes for + * groups of similar items, set the job mode to THEME_GENERATION. If + * you don't want to generate themes, use the default + * BATCH_INFERENCE.

                    When you get batch recommendations with + * themes, you will incur additional costs. For more information, see Amazon Personalize + * pricing.

                    + */ + inline CreateBatchInferenceJobRequest& WithBatchInferenceJobMode(BatchInferenceJobMode&& value) { SetBatchInferenceJobMode(std::move(value)); return *this;} + + + /** + *

                    For theme generation jobs, specify the name of the column in your Items + * dataset that contains each item's name.

                    + */ + inline const ThemeGenerationConfig& GetThemeGenerationConfig() const{ return m_themeGenerationConfig; } + + /** + *

                    For theme generation jobs, specify the name of the column in your Items + * dataset that contains each item's name.

                    + */ + inline bool ThemeGenerationConfigHasBeenSet() const { return m_themeGenerationConfigHasBeenSet; } + + /** + *

                    For theme generation jobs, specify the name of the column in your Items + * dataset that contains each item's name.

                    + */ + inline void SetThemeGenerationConfig(const ThemeGenerationConfig& value) { m_themeGenerationConfigHasBeenSet = true; m_themeGenerationConfig = value; } + + /** + *

                    For theme generation jobs, specify the name of the column in your Items + * dataset that contains each item's name.

                    + */ + inline void SetThemeGenerationConfig(ThemeGenerationConfig&& value) { m_themeGenerationConfigHasBeenSet = true; m_themeGenerationConfig = std::move(value); } + + /** + *

                    For theme generation jobs, specify the name of the column in your Items + * dataset that contains each item's name.

                    + */ + inline CreateBatchInferenceJobRequest& WithThemeGenerationConfig(const ThemeGenerationConfig& value) { SetThemeGenerationConfig(value); return *this;} + + /** + *

                    For theme generation jobs, specify the name of the column in your Items + * dataset that contains each item's name.

                    + */ + inline CreateBatchInferenceJobRequest& WithThemeGenerationConfig(ThemeGenerationConfig&& value) { SetThemeGenerationConfig(std::move(value)); return *this;} + private: Aws::String m_jobName; @@ -455,6 +561,12 @@ namespace Model Aws::Vector m_tags; bool m_tagsHasBeenSet = false; + + BatchInferenceJobMode m_batchInferenceJobMode; + bool m_batchInferenceJobModeHasBeenSet = false; + + ThemeGenerationConfig m_themeGenerationConfig; + bool m_themeGenerationConfigHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-personalize/include/aws/personalize/model/CreateDatasetRequest.h b/generated/src/aws-cpp-sdk-personalize/include/aws/personalize/model/CreateDatasetRequest.h index 4613e965e5a..de42b2a7a21 100644 --- a/generated/src/aws-cpp-sdk-personalize/include/aws/personalize/model/CreateDatasetRequest.h +++ b/generated/src/aws-cpp-sdk-personalize/include/aws/personalize/model/CreateDatasetRequest.h @@ -178,56 +178,64 @@ namespace Model /** *

                    The type of dataset.

                    One of the following (case insensitive) * values:

                    • Interactions

                    • Items

                    • - *

                      Users

                    + *

                    Users

                  • Actions

                  • Action_Interactions

                    + *
                  */ inline const Aws::String& GetDatasetType() const{ return m_datasetType; } /** *

                  The type of dataset.

                  One of the following (case insensitive) * values:

                  • Interactions

                  • Items

                  • - *

                    Users

                  + *

                  Users

                • Actions

                • Action_Interactions

                  + *
                */ inline bool DatasetTypeHasBeenSet() const { return m_datasetTypeHasBeenSet; } /** *

                The type of dataset.

                One of the following (case insensitive) * values:

                • Interactions

                • Items

                • - *

                  Users

                + *

                Users

              • Actions

              • Action_Interactions

                + *
              */ inline void SetDatasetType(const Aws::String& value) { m_datasetTypeHasBeenSet = true; m_datasetType = value; } /** *

              The type of dataset.

              One of the following (case insensitive) * values:

              • Interactions

              • Items

              • - *

                Users

              + *

              Users

            • Actions

            • Action_Interactions

              + *
            */ inline void SetDatasetType(Aws::String&& value) { m_datasetTypeHasBeenSet = true; m_datasetType = std::move(value); } /** *

            The type of dataset.

            One of the following (case insensitive) * values:

            • Interactions

            • Items

            • - *

              Users

            + *

            Users

          • Actions

          • Action_Interactions

            + *
          */ inline void SetDatasetType(const char* value) { m_datasetTypeHasBeenSet = true; m_datasetType.assign(value); } /** *

          The type of dataset.

          One of the following (case insensitive) * values:

          • Interactions

          • Items

          • - *

            Users

          + *

          Users

        • Actions

        • Action_Interactions

          + *
        */ inline CreateDatasetRequest& WithDatasetType(const Aws::String& value) { SetDatasetType(value); return *this;} /** *

        The type of dataset.

        One of the following (case insensitive) * values:

        • Interactions

        • Items

        • - *

          Users

        + *

        Users

      • Actions

      • Action_Interactions

        + *
      */ inline CreateDatasetRequest& WithDatasetType(Aws::String&& value) { SetDatasetType(std::move(value)); return *this;} /** *

      The type of dataset.

      One of the following (case insensitive) * values:

      • Interactions

      • Items

      • - *

        Users

      + *

      Users

    • Actions

    • Action_Interactions

      + *
    */ inline CreateDatasetRequest& WithDatasetType(const char* value) { SetDatasetType(value); return *this;} diff --git a/generated/src/aws-cpp-sdk-personalize/include/aws/personalize/model/CreateSolutionVersionRequest.h b/generated/src/aws-cpp-sdk-personalize/include/aws/personalize/model/CreateSolutionVersionRequest.h index ba655a71d02..c89d5fb8eaa 100644 --- a/generated/src/aws-cpp-sdk-personalize/include/aws/personalize/model/CreateSolutionVersionRequest.h +++ b/generated/src/aws-cpp-sdk-personalize/include/aws/personalize/model/CreateSolutionVersionRequest.h @@ -129,103 +129,145 @@ namespace Model /** *

    The scope of training to be performed when creating the solution version. The - * FULL option trains the solution version based on the entirety of - * the input solution's training data, while the UPDATE option - * processes only the data that has changed in comparison to the input solution. - * Choose UPDATE when you want to incrementally update your solution - * version instead of creating an entirely new one.

    The - * UPDATE option can only be used when you already have an active - * solution version created from the input solution using the FULL - * option and the input solution was trained with the FULL. This creates a completely new model based on the + * entirety of the training data from the datasets in your dataset group.

    + *

    If you use User-Personalization, + * you can specify a training mode of UPDATE. This updates the model + * to consider new items for recommendations. It is not a full retraining. You + * should still complete a full retraining weekly. If you specify + * UPDATE, Amazon Personalize will stop automatic updates for the + * solution version. To resume updates, create a new solution with training mode + * set to FULL and deploy it in a campaign. For more information about + * automatic updates, see Automatic + * updates.

    The UPDATE option can only be used when you + * already have an active solution version created from the input solution using + * the FULL option and the input solution was trained with the User-Personalization - * recipe or the HRNN-Coldstart - * recipe.

    + * recipe.

    */ inline const TrainingMode& GetTrainingMode() const{ return m_trainingMode; } /** *

    The scope of training to be performed when creating the solution version. The - * FULL option trains the solution version based on the entirety of - * the input solution's training data, while the UPDATE option - * processes only the data that has changed in comparison to the input solution. - * Choose UPDATE when you want to incrementally update your solution - * version instead of creating an entirely new one.

    The - * UPDATE option can only be used when you already have an active - * solution version created from the input solution using the FULL - * option and the input solution was trained with the FULL. This creates a completely new model based on the + * entirety of the training data from the datasets in your dataset group.

    + *

    If you use User-Personalization, + * you can specify a training mode of UPDATE. This updates the model + * to consider new items for recommendations. It is not a full retraining. You + * should still complete a full retraining weekly. If you specify + * UPDATE, Amazon Personalize will stop automatic updates for the + * solution version. To resume updates, create a new solution with training mode + * set to FULL and deploy it in a campaign. For more information about + * automatic updates, see Automatic + * updates.

    The UPDATE option can only be used when you + * already have an active solution version created from the input solution using + * the FULL option and the input solution was trained with the User-Personalization - * recipe or the HRNN-Coldstart - * recipe.

    + * recipe.

    */ inline bool TrainingModeHasBeenSet() const { return m_trainingModeHasBeenSet; } /** *

    The scope of training to be performed when creating the solution version. The - * FULL option trains the solution version based on the entirety of - * the input solution's training data, while the UPDATE option - * processes only the data that has changed in comparison to the input solution. - * Choose UPDATE when you want to incrementally update your solution - * version instead of creating an entirely new one.

    The - * UPDATE option can only be used when you already have an active - * solution version created from the input solution using the FULL - * option and the input solution was trained with the FULL. This creates a completely new model based on the + * entirety of the training data from the datasets in your dataset group.

    + *

    If you use User-Personalization, + * you can specify a training mode of UPDATE. This updates the model + * to consider new items for recommendations. It is not a full retraining. You + * should still complete a full retraining weekly. If you specify + * UPDATE, Amazon Personalize will stop automatic updates for the + * solution version. To resume updates, create a new solution with training mode + * set to FULL and deploy it in a campaign. For more information about + * automatic updates, see Automatic + * updates.

    The UPDATE option can only be used when you + * already have an active solution version created from the input solution using + * the FULL option and the input solution was trained with the User-Personalization - * recipe or the HRNN-Coldstart - * recipe.

    + * recipe.

    */ inline void SetTrainingMode(const TrainingMode& value) { m_trainingModeHasBeenSet = true; m_trainingMode = value; } /** *

    The scope of training to be performed when creating the solution version. The - * FULL option trains the solution version based on the entirety of - * the input solution's training data, while the UPDATE option - * processes only the data that has changed in comparison to the input solution. - * Choose UPDATE when you want to incrementally update your solution - * version instead of creating an entirely new one.

    The - * UPDATE option can only be used when you already have an active - * solution version created from the input solution using the FULL - * option and the input solution was trained with the FULL. This creates a completely new model based on the + * entirety of the training data from the datasets in your dataset group.

    + *

    If you use User-Personalization, + * you can specify a training mode of UPDATE. This updates the model + * to consider new items for recommendations. It is not a full retraining. You + * should still complete a full retraining weekly. If you specify + * UPDATE, Amazon Personalize will stop automatic updates for the + * solution version. To resume updates, create a new solution with training mode + * set to FULL and deploy it in a campaign. For more information about + * automatic updates, see Automatic + * updates.

    The UPDATE option can only be used when you + * already have an active solution version created from the input solution using + * the FULL option and the input solution was trained with the User-Personalization - * recipe or the HRNN-Coldstart - * recipe.

    + * recipe.

    */ inline void SetTrainingMode(TrainingMode&& value) { m_trainingModeHasBeenSet = true; m_trainingMode = std::move(value); } /** *

    The scope of training to be performed when creating the solution version. The - * FULL option trains the solution version based on the entirety of - * the input solution's training data, while the UPDATE option - * processes only the data that has changed in comparison to the input solution. - * Choose UPDATE when you want to incrementally update your solution - * version instead of creating an entirely new one.

    The - * UPDATE option can only be used when you already have an active - * solution version created from the input solution using the FULL - * option and the input solution was trained with the FULL. This creates a completely new model based on the + * entirety of the training data from the datasets in your dataset group.

    + *

    If you use User-Personalization, + * you can specify a training mode of UPDATE. This updates the model + * to consider new items for recommendations. It is not a full retraining. You + * should still complete a full retraining weekly. If you specify + * UPDATE, Amazon Personalize will stop automatic updates for the + * solution version. To resume updates, create a new solution with training mode + * set to FULL and deploy it in a campaign. For more information about + * automatic updates, see Automatic + * updates.

    The UPDATE option can only be used when you + * already have an active solution version created from the input solution using + * the FULL option and the input solution was trained with the User-Personalization - * recipe or the HRNN-Coldstart - * recipe.

    + * recipe.

    */ inline CreateSolutionVersionRequest& WithTrainingMode(const TrainingMode& value) { SetTrainingMode(value); return *this;} /** *

    The scope of training to be performed when creating the solution version. The - * FULL option trains the solution version based on the entirety of - * the input solution's training data, while the UPDATE option - * processes only the data that has changed in comparison to the input solution. - * Choose UPDATE when you want to incrementally update your solution - * version instead of creating an entirely new one.

    The - * UPDATE option can only be used when you already have an active - * solution version created from the input solution using the FULL - * option and the input solution was trained with the FULL. This creates a completely new model based on the + * entirety of the training data from the datasets in your dataset group.

    + *

    If you use User-Personalization, + * you can specify a training mode of UPDATE. This updates the model + * to consider new items for recommendations. It is not a full retraining. You + * should still complete a full retraining weekly. If you specify + * UPDATE, Amazon Personalize will stop automatic updates for the + * solution version. To resume updates, create a new solution with training mode + * set to FULL and deploy it in a campaign. For more information about + * automatic updates, see Automatic + * updates.

    The UPDATE option can only be used when you + * already have an active solution version created from the input solution using + * the FULL option and the input solution was trained with the User-Personalization - * recipe or the HRNN-Coldstart - * recipe.

    + * recipe.

    */ inline CreateSolutionVersionRequest& WithTrainingMode(TrainingMode&& value) { SetTrainingMode(std::move(value)); return *this;} diff --git a/generated/src/aws-cpp-sdk-personalize/include/aws/personalize/model/Dataset.h b/generated/src/aws-cpp-sdk-personalize/include/aws/personalize/model/Dataset.h index 6aa667fbde9..82da6c75357 100644 --- a/generated/src/aws-cpp-sdk-personalize/include/aws/personalize/model/Dataset.h +++ b/generated/src/aws-cpp-sdk-personalize/include/aws/personalize/model/Dataset.h @@ -164,49 +164,57 @@ namespace Model /** *

    One of the following values:

    • Interactions

    • - *

      Items

    • Users

    + *

    Items

  • Users

  • Actions

  • + *

    Action_Interactions

  • */ inline const Aws::String& GetDatasetType() const{ return m_datasetType; } /** *

    One of the following values:

    • Interactions

    • - *

      Items

    • Users

    + *

    Items

  • Users

  • Actions

  • + *

    Action_Interactions

  • */ inline bool DatasetTypeHasBeenSet() const { return m_datasetTypeHasBeenSet; } /** *

    One of the following values:

    • Interactions

    • - *

      Items

    • Users

    + *

    Items

  • Users

  • Actions

  • + *

    Action_Interactions

  • */ inline void SetDatasetType(const Aws::String& value) { m_datasetTypeHasBeenSet = true; m_datasetType = value; } /** *

    One of the following values:

    • Interactions

    • - *

      Items

    • Users

    + *

    Items

  • Users

  • Actions

  • + *

    Action_Interactions

  • */ inline void SetDatasetType(Aws::String&& value) { m_datasetTypeHasBeenSet = true; m_datasetType = std::move(value); } /** *

    One of the following values:

    • Interactions

    • - *

      Items

    • Users

    + *

    Items

  • Users

  • Actions

  • + *

    Action_Interactions

  • */ inline void SetDatasetType(const char* value) { m_datasetTypeHasBeenSet = true; m_datasetType.assign(value); } /** *

    One of the following values:

    • Interactions

    • - *

      Items

    • Users

    + *

    Items

  • Users

  • Actions

  • + *

    Action_Interactions

  • */ inline Dataset& WithDatasetType(const Aws::String& value) { SetDatasetType(value); return *this;} /** *

    One of the following values:

    • Interactions

    • - *

      Items

    • Users

    + *

    Items

  • Users

  • Actions

  • + *

    Action_Interactions

  • */ inline Dataset& WithDatasetType(Aws::String&& value) { SetDatasetType(std::move(value)); return *this;} /** *

    One of the following values:

    • Interactions

    • - *

      Items

    • Users

    + *

    Items

  • Users

  • Actions

  • + *

    Action_Interactions

  • */ inline Dataset& WithDatasetType(const char* value) { SetDatasetType(value); return *this;} @@ -409,6 +417,71 @@ namespace Model */ inline Dataset& WithLatestDatasetUpdate(DatasetUpdateSummary&& value) { SetLatestDatasetUpdate(std::move(value)); return *this;} + + /** + *

    The ID of the event tracker for an Action interactions dataset. You specify + * the tracker's ID in the PutActionInteractions API operation. Amazon + * Personalize uses it to direct new data to the Action interactions dataset in + * your dataset group.

    + */ + inline const Aws::String& GetTrackingId() const{ return m_trackingId; } + + /** + *

    The ID of the event tracker for an Action interactions dataset. You specify + * the tracker's ID in the PutActionInteractions API operation. Amazon + * Personalize uses it to direct new data to the Action interactions dataset in + * your dataset group.

    + */ + inline bool TrackingIdHasBeenSet() const { return m_trackingIdHasBeenSet; } + + /** + *

    The ID of the event tracker for an Action interactions dataset. You specify + * the tracker's ID in the PutActionInteractions API operation. Amazon + * Personalize uses it to direct new data to the Action interactions dataset in + * your dataset group.

    + */ + inline void SetTrackingId(const Aws::String& value) { m_trackingIdHasBeenSet = true; m_trackingId = value; } + + /** + *

    The ID of the event tracker for an Action interactions dataset. You specify + * the tracker's ID in the PutActionInteractions API operation. Amazon + * Personalize uses it to direct new data to the Action interactions dataset in + * your dataset group.

    + */ + inline void SetTrackingId(Aws::String&& value) { m_trackingIdHasBeenSet = true; m_trackingId = std::move(value); } + + /** + *

    The ID of the event tracker for an Action interactions dataset. You specify + * the tracker's ID in the PutActionInteractions API operation. Amazon + * Personalize uses it to direct new data to the Action interactions dataset in + * your dataset group.

    + */ + inline void SetTrackingId(const char* value) { m_trackingIdHasBeenSet = true; m_trackingId.assign(value); } + + /** + *

    The ID of the event tracker for an Action interactions dataset. You specify + * the tracker's ID in the PutActionInteractions API operation. Amazon + * Personalize uses it to direct new data to the Action interactions dataset in + * your dataset group.

    + */ + inline Dataset& WithTrackingId(const Aws::String& value) { SetTrackingId(value); return *this;} + + /** + *

    The ID of the event tracker for an Action interactions dataset. You specify + * the tracker's ID in the PutActionInteractions API operation. Amazon + * Personalize uses it to direct new data to the Action interactions dataset in + * your dataset group.

    + */ + inline Dataset& WithTrackingId(Aws::String&& value) { SetTrackingId(std::move(value)); return *this;} + + /** + *

    The ID of the event tracker for an Action interactions dataset. You specify + * the tracker's ID in the PutActionInteractions API operation. Amazon + * Personalize uses it to direct new data to the Action interactions dataset in + * your dataset group.

    + */ + inline Dataset& WithTrackingId(const char* value) { SetTrackingId(value); return *this;} + private: Aws::String m_name; @@ -437,6 +510,9 @@ namespace Model DatasetUpdateSummary m_latestDatasetUpdate; bool m_latestDatasetUpdateHasBeenSet = false; + + Aws::String m_trackingId; + bool m_trackingIdHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-personalize/include/aws/personalize/model/DatasetGroup.h b/generated/src/aws-cpp-sdk-personalize/include/aws/personalize/model/DatasetGroup.h index 4ed6c040bb6..55e57af9ac9 100644 --- a/generated/src/aws-cpp-sdk-personalize/include/aws/personalize/model/DatasetGroup.h +++ b/generated/src/aws-cpp-sdk-personalize/include/aws/personalize/model/DatasetGroup.h @@ -26,8 +26,9 @@ namespace Model { /** - *

    A dataset group is a collection of related datasets (Interactions, User, and - * Item). You create a dataset group by calling A dataset group is a collection of related datasets (Item interactions, + * Users, Items, Actions, Action interactions). You create a dataset group by + * calling CreateDatasetGroup. * You then create a dataset and add it to a dataset group by calling CreateDataset. @@ -188,42 +189,58 @@ namespace Model /** - *

    The ARN of the IAM role that has permissions to create the dataset group.

    + *

    The ARN of the Identity and Access Management (IAM) role that has permissions + * to access the Key Management Service (KMS) key. Supplying an IAM role is only + * valid when also specifying a KMS key.

    */ inline const Aws::String& GetRoleArn() const{ return m_roleArn; } /** - *

    The ARN of the IAM role that has permissions to create the dataset group.

    + *

    The ARN of the Identity and Access Management (IAM) role that has permissions + * to access the Key Management Service (KMS) key. Supplying an IAM role is only + * valid when also specifying a KMS key.

    */ inline bool RoleArnHasBeenSet() const { return m_roleArnHasBeenSet; } /** - *

    The ARN of the IAM role that has permissions to create the dataset group.

    + *

    The ARN of the Identity and Access Management (IAM) role that has permissions + * to access the Key Management Service (KMS) key. Supplying an IAM role is only + * valid when also specifying a KMS key.

    */ inline void SetRoleArn(const Aws::String& value) { m_roleArnHasBeenSet = true; m_roleArn = value; } /** - *

    The ARN of the IAM role that has permissions to create the dataset group.

    + *

    The ARN of the Identity and Access Management (IAM) role that has permissions + * to access the Key Management Service (KMS) key. Supplying an IAM role is only + * valid when also specifying a KMS key.

    */ inline void SetRoleArn(Aws::String&& value) { m_roleArnHasBeenSet = true; m_roleArn = std::move(value); } /** - *

    The ARN of the IAM role that has permissions to create the dataset group.

    + *

    The ARN of the Identity and Access Management (IAM) role that has permissions + * to access the Key Management Service (KMS) key. Supplying an IAM role is only + * valid when also specifying a KMS key.

    */ inline void SetRoleArn(const char* value) { m_roleArnHasBeenSet = true; m_roleArn.assign(value); } /** - *

    The ARN of the IAM role that has permissions to create the dataset group.

    + *

    The ARN of the Identity and Access Management (IAM) role that has permissions + * to access the Key Management Service (KMS) key. Supplying an IAM role is only + * valid when also specifying a KMS key.

    */ inline DatasetGroup& WithRoleArn(const Aws::String& value) { SetRoleArn(value); return *this;} /** - *

    The ARN of the IAM role that has permissions to create the dataset group.

    + *

    The ARN of the Identity and Access Management (IAM) role that has permissions + * to access the Key Management Service (KMS) key. Supplying an IAM role is only + * valid when also specifying a KMS key.

    */ inline DatasetGroup& WithRoleArn(Aws::String&& value) { SetRoleArn(std::move(value)); return *this;} /** - *

    The ARN of the IAM role that has permissions to create the dataset group.

    + *

    The ARN of the Identity and Access Management (IAM) role that has permissions + * to access the Key Management Service (KMS) key. Supplying an IAM role is only + * valid when also specifying a KMS key.

    */ inline DatasetGroup& WithRoleArn(const char* value) { SetRoleArn(value); return *this;} diff --git a/generated/src/aws-cpp-sdk-personalize/include/aws/personalize/model/FieldsForThemeGeneration.h b/generated/src/aws-cpp-sdk-personalize/include/aws/personalize/model/FieldsForThemeGeneration.h new file mode 100644 index 00000000000..6343cd15b39 --- /dev/null +++ b/generated/src/aws-cpp-sdk-personalize/include/aws/personalize/model/FieldsForThemeGeneration.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 Personalize +{ +namespace Model +{ + + /** + *

    A string to string map of the configuration details for theme + * generation.

    See Also:

    AWS + * API Reference

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

    The name of the Items dataset column that stores the name of each item in the + * dataset.

    + */ + inline const Aws::String& GetItemName() const{ return m_itemName; } + + /** + *

    The name of the Items dataset column that stores the name of each item in the + * dataset.

    + */ + inline bool ItemNameHasBeenSet() const { return m_itemNameHasBeenSet; } + + /** + *

    The name of the Items dataset column that stores the name of each item in the + * dataset.

    + */ + inline void SetItemName(const Aws::String& value) { m_itemNameHasBeenSet = true; m_itemName = value; } + + /** + *

    The name of the Items dataset column that stores the name of each item in the + * dataset.

    + */ + inline void SetItemName(Aws::String&& value) { m_itemNameHasBeenSet = true; m_itemName = std::move(value); } + + /** + *

    The name of the Items dataset column that stores the name of each item in the + * dataset.

    + */ + inline void SetItemName(const char* value) { m_itemNameHasBeenSet = true; m_itemName.assign(value); } + + /** + *

    The name of the Items dataset column that stores the name of each item in the + * dataset.

    + */ + inline FieldsForThemeGeneration& WithItemName(const Aws::String& value) { SetItemName(value); return *this;} + + /** + *

    The name of the Items dataset column that stores the name of each item in the + * dataset.

    + */ + inline FieldsForThemeGeneration& WithItemName(Aws::String&& value) { SetItemName(std::move(value)); return *this;} + + /** + *

    The name of the Items dataset column that stores the name of each item in the + * dataset.

    + */ + inline FieldsForThemeGeneration& WithItemName(const char* value) { SetItemName(value); return *this;} + + private: + + Aws::String m_itemName; + bool m_itemNameHasBeenSet = false; + }; + +} // namespace Model +} // namespace Personalize +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-personalize/include/aws/personalize/model/ListDatasetsRequest.h b/generated/src/aws-cpp-sdk-personalize/include/aws/personalize/model/ListDatasetsRequest.h index 227d606d975..e0803dbd412 100644 --- a/generated/src/aws-cpp-sdk-personalize/include/aws/personalize/model/ListDatasetsRequest.h +++ b/generated/src/aws-cpp-sdk-personalize/include/aws/personalize/model/ListDatasetsRequest.h @@ -84,50 +84,50 @@ namespace Model /** - *

    A token returned from the previous call to ListDatasetImportJobs - * for getting the next set of dataset import jobs (if they exist).

    + *

    A token returned from the previous call to ListDatasets for + * getting the next set of dataset import jobs (if they exist).

    */ inline const Aws::String& GetNextToken() const{ return m_nextToken; } /** - *

    A token returned from the previous call to ListDatasetImportJobs - * for getting the next set of dataset import jobs (if they exist).

    + *

    A token returned from the previous call to ListDatasets for + * getting the next set of dataset import jobs (if they exist).

    */ inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } /** - *

    A token returned from the previous call to ListDatasetImportJobs - * for getting the next set of dataset import jobs (if they exist).

    + *

    A token returned from the previous call to ListDatasets for + * getting the next set of dataset import jobs (if they exist).

    */ inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } /** - *

    A token returned from the previous call to ListDatasetImportJobs - * for getting the next set of dataset import jobs (if they exist).

    + *

    A token returned from the previous call to ListDatasets for + * getting the next set of dataset import jobs (if they exist).

    */ inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } /** - *

    A token returned from the previous call to ListDatasetImportJobs - * for getting the next set of dataset import jobs (if they exist).

    + *

    A token returned from the previous call to ListDatasets for + * getting the next set of dataset import jobs (if they exist).

    */ inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } /** - *

    A token returned from the previous call to ListDatasetImportJobs - * for getting the next set of dataset import jobs (if they exist).

    + *

    A token returned from the previous call to ListDatasets for + * getting the next set of dataset import jobs (if they exist).

    */ inline ListDatasetsRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} /** - *

    A token returned from the previous call to ListDatasetImportJobs - * for getting the next set of dataset import jobs (if they exist).

    + *

    A token returned from the previous call to ListDatasets for + * getting the next set of dataset import jobs (if they exist).

    */ inline ListDatasetsRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} /** - *

    A token returned from the previous call to ListDatasetImportJobs - * for getting the next set of dataset import jobs (if they exist).

    + *

    A token returned from the previous call to ListDatasets for + * getting the next set of dataset import jobs (if they exist).

    */ inline ListDatasetsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} diff --git a/generated/src/aws-cpp-sdk-personalize/include/aws/personalize/model/RecommenderConfig.h b/generated/src/aws-cpp-sdk-personalize/include/aws/personalize/model/RecommenderConfig.h index 90e403a29cc..dff2b4b71b9 100644 --- a/generated/src/aws-cpp-sdk-personalize/include/aws/personalize/model/RecommenderConfig.h +++ b/generated/src/aws-cpp-sdk-personalize/include/aws/personalize/model/RecommenderConfig.h @@ -247,6 +247,51 @@ namespace Model */ inline RecommenderConfig& WithTrainingDataConfig(TrainingDataConfig&& value) { SetTrainingDataConfig(std::move(value)); return *this;} + + /** + *

    Whether metadata with recommendations is enabled for the recommender. If + * enabled, you can specify the columns from your Items dataset in your request for + * recommendations. Amazon Personalize returns this data for each item in the + * recommendation response.

    If you enable metadata in recommendations, you + * will incur additional costs. For more information, see Amazon Personalize + * pricing.

    + */ + inline bool GetEnableMetadataWithRecommendations() const{ return m_enableMetadataWithRecommendations; } + + /** + *

    Whether metadata with recommendations is enabled for the recommender. If + * enabled, you can specify the columns from your Items dataset in your request for + * recommendations. Amazon Personalize returns this data for each item in the + * recommendation response.

    If you enable metadata in recommendations, you + * will incur additional costs. For more information, see Amazon Personalize + * pricing.

    + */ + inline bool EnableMetadataWithRecommendationsHasBeenSet() const { return m_enableMetadataWithRecommendationsHasBeenSet; } + + /** + *

    Whether metadata with recommendations is enabled for the recommender. If + * enabled, you can specify the columns from your Items dataset in your request for + * recommendations. Amazon Personalize returns this data for each item in the + * recommendation response.

    If you enable metadata in recommendations, you + * will incur additional costs. For more information, see Amazon Personalize + * pricing.

    + */ + inline void SetEnableMetadataWithRecommendations(bool value) { m_enableMetadataWithRecommendationsHasBeenSet = true; m_enableMetadataWithRecommendations = value; } + + /** + *

    Whether metadata with recommendations is enabled for the recommender. If + * enabled, you can specify the columns from your Items dataset in your request for + * recommendations. Amazon Personalize returns this data for each item in the + * recommendation response.

    If you enable metadata in recommendations, you + * will incur additional costs. For more information, see Amazon Personalize + * pricing.

    + */ + inline RecommenderConfig& WithEnableMetadataWithRecommendations(bool value) { SetEnableMetadataWithRecommendations(value); return *this;} + private: Aws::Map m_itemExplorationConfig; @@ -257,6 +302,9 @@ namespace Model TrainingDataConfig m_trainingDataConfig; bool m_trainingDataConfigHasBeenSet = false; + + bool m_enableMetadataWithRecommendations; + bool m_enableMetadataWithRecommendationsHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-personalize/include/aws/personalize/model/SolutionConfig.h b/generated/src/aws-cpp-sdk-personalize/include/aws/personalize/model/SolutionConfig.h index 2d936aebb49..dce302cff53 100644 --- a/generated/src/aws-cpp-sdk-personalize/include/aws/personalize/model/SolutionConfig.h +++ b/generated/src/aws-cpp-sdk-personalize/include/aws/personalize/model/SolutionConfig.h @@ -124,67 +124,67 @@ namespace Model /** - *

    Lists the hyperparameter names and ranges.

    + *

    Lists the algorithm hyperparameters and their values.

    */ inline const Aws::Map& GetAlgorithmHyperParameters() const{ return m_algorithmHyperParameters; } /** - *

    Lists the hyperparameter names and ranges.

    + *

    Lists the algorithm hyperparameters and their values.

    */ inline bool AlgorithmHyperParametersHasBeenSet() const { return m_algorithmHyperParametersHasBeenSet; } /** - *

    Lists the hyperparameter names and ranges.

    + *

    Lists the algorithm hyperparameters and their values.

    */ inline void SetAlgorithmHyperParameters(const Aws::Map& value) { m_algorithmHyperParametersHasBeenSet = true; m_algorithmHyperParameters = value; } /** - *

    Lists the hyperparameter names and ranges.

    + *

    Lists the algorithm hyperparameters and their values.

    */ inline void SetAlgorithmHyperParameters(Aws::Map&& value) { m_algorithmHyperParametersHasBeenSet = true; m_algorithmHyperParameters = std::move(value); } /** - *

    Lists the hyperparameter names and ranges.

    + *

    Lists the algorithm hyperparameters and their values.

    */ inline SolutionConfig& WithAlgorithmHyperParameters(const Aws::Map& value) { SetAlgorithmHyperParameters(value); return *this;} /** - *

    Lists the hyperparameter names and ranges.

    + *

    Lists the algorithm hyperparameters and their values.

    */ inline SolutionConfig& WithAlgorithmHyperParameters(Aws::Map&& value) { SetAlgorithmHyperParameters(std::move(value)); return *this;} /** - *

    Lists the hyperparameter names and ranges.

    + *

    Lists the algorithm hyperparameters and their values.

    */ inline SolutionConfig& AddAlgorithmHyperParameters(const Aws::String& key, const Aws::String& value) { m_algorithmHyperParametersHasBeenSet = true; m_algorithmHyperParameters.emplace(key, value); return *this; } /** - *

    Lists the hyperparameter names and ranges.

    + *

    Lists the algorithm hyperparameters and their values.

    */ inline SolutionConfig& AddAlgorithmHyperParameters(Aws::String&& key, const Aws::String& value) { m_algorithmHyperParametersHasBeenSet = true; m_algorithmHyperParameters.emplace(std::move(key), value); return *this; } /** - *

    Lists the hyperparameter names and ranges.

    + *

    Lists the algorithm hyperparameters and their values.

    */ inline SolutionConfig& AddAlgorithmHyperParameters(const Aws::String& key, Aws::String&& value) { m_algorithmHyperParametersHasBeenSet = true; m_algorithmHyperParameters.emplace(key, std::move(value)); return *this; } /** - *

    Lists the hyperparameter names and ranges.

    + *

    Lists the algorithm hyperparameters and their values.

    */ inline SolutionConfig& AddAlgorithmHyperParameters(Aws::String&& key, Aws::String&& value) { m_algorithmHyperParametersHasBeenSet = true; m_algorithmHyperParameters.emplace(std::move(key), std::move(value)); return *this; } /** - *

    Lists the hyperparameter names and ranges.

    + *

    Lists the algorithm hyperparameters and their values.

    */ inline SolutionConfig& AddAlgorithmHyperParameters(const char* key, Aws::String&& value) { m_algorithmHyperParametersHasBeenSet = true; m_algorithmHyperParameters.emplace(key, std::move(value)); return *this; } /** - *

    Lists the hyperparameter names and ranges.

    + *

    Lists the algorithm hyperparameters and their values.

    */ inline SolutionConfig& AddAlgorithmHyperParameters(Aws::String&& key, const char* value) { m_algorithmHyperParametersHasBeenSet = true; m_algorithmHyperParameters.emplace(std::move(key), value); return *this; } /** - *

    Lists the hyperparameter names and ranges.

    + *

    Lists the algorithm hyperparameters and their values.

    */ inline SolutionConfig& AddAlgorithmHyperParameters(const char* key, const char* value) { m_algorithmHyperParametersHasBeenSet = true; m_algorithmHyperParameters.emplace(key, value); return *this; } diff --git a/generated/src/aws-cpp-sdk-personalize/include/aws/personalize/model/ThemeGenerationConfig.h b/generated/src/aws-cpp-sdk-personalize/include/aws/personalize/model/ThemeGenerationConfig.h new file mode 100644 index 00000000000..900195d05a7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-personalize/include/aws/personalize/model/ThemeGenerationConfig.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 Personalize +{ +namespace Model +{ + + /** + *

    The configuration details for generating themes with a batch inference + * job.

    See Also:

    AWS + * API Reference

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

    Fields used to generate descriptive themes for a batch inference job.

    + */ + inline const FieldsForThemeGeneration& GetFieldsForThemeGeneration() const{ return m_fieldsForThemeGeneration; } + + /** + *

    Fields used to generate descriptive themes for a batch inference job.

    + */ + inline bool FieldsForThemeGenerationHasBeenSet() const { return m_fieldsForThemeGenerationHasBeenSet; } + + /** + *

    Fields used to generate descriptive themes for a batch inference job.

    + */ + inline void SetFieldsForThemeGeneration(const FieldsForThemeGeneration& value) { m_fieldsForThemeGenerationHasBeenSet = true; m_fieldsForThemeGeneration = value; } + + /** + *

    Fields used to generate descriptive themes for a batch inference job.

    + */ + inline void SetFieldsForThemeGeneration(FieldsForThemeGeneration&& value) { m_fieldsForThemeGenerationHasBeenSet = true; m_fieldsForThemeGeneration = std::move(value); } + + /** + *

    Fields used to generate descriptive themes for a batch inference job.

    + */ + inline ThemeGenerationConfig& WithFieldsForThemeGeneration(const FieldsForThemeGeneration& value) { SetFieldsForThemeGeneration(value); return *this;} + + /** + *

    Fields used to generate descriptive themes for a batch inference job.

    + */ + inline ThemeGenerationConfig& WithFieldsForThemeGeneration(FieldsForThemeGeneration&& value) { SetFieldsForThemeGeneration(std::move(value)); return *this;} + + private: + + FieldsForThemeGeneration m_fieldsForThemeGeneration; + bool m_fieldsForThemeGenerationHasBeenSet = false; + }; + +} // namespace Model +} // namespace Personalize +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-personalize/source/PersonalizeEndpointRules.cpp b/generated/src/aws-cpp-sdk-personalize/source/PersonalizeEndpointRules.cpp index 6643154a960..b787772ff67 100644 --- a/generated/src/aws-cpp-sdk-personalize/source/PersonalizeEndpointRules.cpp +++ b/generated/src/aws-cpp-sdk-personalize/source/PersonalizeEndpointRules.cpp @@ -51,107 +51,107 @@ static constexpr RulesBlobT RulesBlob = {{ ',','"','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','"',':','[','{','"','f','n','"',':','"', 'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', -'d','p','o','i','n','t','"','}',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', -',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', -'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r', -'u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','C','o', -'n','f','i','g','u','r','a','t','i','o','n',':',' ','F','I','P','S',' ','a','n','d',' ','c','u','s', -'t','o','m',' ','e','n','d','p','o','i','n','t',' ','a','r','e',' ','n','o','t',' ','s','u','p','p', -'o','r','t','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e', +'d','p','o','i','n','t','"','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', +'s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':', +'"','I','n','v','a','l','i','d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','F', +'I','P','S',' ','a','n','d',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','a', +'r','e',' ','n','o','t',' ','s','u','p','p','o','r','t','e','d','"',',','"','t','y','p','e','"',':', +'"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"', +'}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i', +'d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','D','u','a','l','s','t','a','c', +'k',' ','a','n','d',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','a','r','e', +' ','n','o','t',' ','s','u','p','p','o','r','t','e','d','"',',','"','t','y','p','e','"',':','"','e', +'r','r','o','r','"','}',',','{','"','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','"',':','{', +'}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e', +'n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s', +'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i', +'o','n','"','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i', +'o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o', +'n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','P','a','r','t','i','t','i','o','n','R', +'e','s','u','l','t','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F', +'I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', 'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', '"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"', -'e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','C','o','n','f','i','g','u','r','a', -'t','i','o','n',':',' ','D','u','a','l','s','t','a','c','k',' ','a','n','d',' ','c','u','s','t','o', -'m',' ','e','n','d','p','o','i','n','t',' ','a','r','e',' ','n','o','t',' ','s','u','p','p','o','r', -'t','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o', +'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R', +'e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','F','I','P','S','"',']','}',']', +'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t', +'r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t', +'i','o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','D','u','a','l', +'S','t','a','c','k','"',']','}',']','}',']',',','"','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','"',':','{','}',',','"','h','e','a','d','e','r','s','"', -':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}', -',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s', -'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i', -'o','n','"','}',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u', -'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', -'"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g', -'n','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',']',',','"','t', -'y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o', -'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', -'s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o', -'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}', -']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o', -'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','t','r','u','e',',', -'{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',', -'"','s','u','p','p','o','r','t','s','F','I','P','S','"',']','}',']','}',',','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','t', -'r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l', -'t','"','}',',','"','s','u','p','p','o','r','t','s','D','u','a','l','S','t','a','c','k','"',']','}', -']','}',']',',','"','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','"',':','"','h','t','t','p','s',':','/','/','p','e','r','s', -'o','n','a','l','i','z','e','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','P','a', -'r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','u','a','l','S','t','a','c','k','D','n', -'s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}', -',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n', -'d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[',']',',','"','e','r','r','o','r','"',':','"','F','I','P','S',' ','a','n','d',' ','D','u','a','l', -'S','t','a','c','k',' ','a','r','e',' ','e','n','a','b','l','e','d',',',' ','b','u','t',' ','t','h', -'i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p', -'p','o','r','t',' ','o','n','e',' ','o','r',' ','b','o','t','h','"',',','"','t','y','p','e','"',':', -'"','e','r','r','o','r','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t', -'r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l', -'e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', -':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u', -'l','t','"','}',',','"','s','u','p','p','o','r','t','s','F','I','P','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','"',':','"','h','t','t','p','s',':','/','/','p','e','r','s','o','n','a','l', -'i','z','e','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t', -'i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r', -'o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}', -'}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',',','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','F', -'I','P','S',' ','i','s',' ','e','n','a','b','l','e','d',' ','b','u','t',' ','t','h','i','s',' ','p', -'a','r','t','i','t','i','o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t', -' ','F','I','P','S','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',',', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o', -'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']', -',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','t','r','u','e',',','{', -'"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"', -'s','u','p','p','o','r','t','s','D','u','a','l','S','t','a','c','k','"',']','}',']','}',']',',','"', -'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','"',':','"','h','t','t','p','s',':','/','/','p','e','r','s','o','n','a','l','i', -'z','e','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s', -'u','l','t','#','d','u','a','l','S','t','a','c','k','D','n','s','S','u','f','f','i','x','}','"',',', -'"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"', -':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}', -',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"', -':','"','D','u','a','l','S','t','a','c','k',' ','i','s',' ','e','n','a','b','l','e','d',' ','b','u', +'"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','p','e','r','s','o','n','a','l','i','z', +'e','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o', +'n','R','e','s','u','l','t','#','d','u','a','l','S','t','a','c','k','D','n','s','S','u','f','f','i', +'x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d', +'e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t', +'"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','F','I','P','S',' ', +'a','n','d',' ','D','u','a','l','S','t','a','c','k',' ','a','r','e',' ','e','n','a','b','l','e','d', +',',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s', +' ','n','o','t',' ','s','u','p','p','o','r','t',' ','o','n','e',' ','o','r',' ','b','o','t','h','"', +',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':', +'"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e', +']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s', +'"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R', +'e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','F','I','P','S','"',']','}',',', +'t','r','u','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', +'"',':','"','h','t','t','p','s',':','/','/','p','e','r','s','o','n','a','l','i','z','e','-','f','i', +'p','s','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s', +'u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i', +'e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', +'e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t', +'r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e', +'r','r','o','r','"',':','"','F','I','P','S',' ','i','s',' ','e','n','a','b','l','e','d',' ','b','u', 't',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ','n','o','t', -' ','s','u','p','p','o','r','t',' ','D','u','a','l','S','t','a','c','k','"',',','"','t','y','p','e', -'"',':','"','e','r','r','o','r','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h', -'t','t','p','s',':','/','/','p','e','r','s','o','n','a','l','i','z','e','.','{','R','e','g','i','o', -'n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u', -'f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h', -'e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o', -'i','n','t','"','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +' ','s','u','p','p','o','r','t',' ','F','I','P','S','"',',','"','t','y','p','e','"',':','"','e','r', +'r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a', +'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"','r', +'u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', +'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e', +'s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','D','u','a','l','S','t','a','c','k', +'"',']','}',']','}',']',',','"','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','"', +':','"','h','t','t','p','s',':','/','/','p','e','r','s','o','n','a','l','i','z','e','.','{','R','e', +'g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','u', +'a','l','S','t','a','c','k','D','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e', +'r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"', +'t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"', +':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']', +',','"','e','r','r','o','r','"',':','"','D','u','a','l','S','t','a','c','k',' ','i','s',' ','e','n', +'a','b','l','e','d',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ', +'d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','D','u','a','l','S','t','a','c', +'k','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e', +'"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p', +'s',':','/','/','p','e','r','s','o','n','a','l','i','z','e','.','{','R','e','g','i','o','n','}','.', +'{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i', +'x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d', +'e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t', +'"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e', +'"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', ']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','C','o','n','f','i','g', 'u','r','a','t','i','o','n',':',' ','M','i','s','s','i','n','g',' ','R','e','g','i','o','n','"',',', '"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}','\0' diff --git a/generated/src/aws-cpp-sdk-personalize/source/model/BatchInferenceJob.cpp b/generated/src/aws-cpp-sdk-personalize/source/model/BatchInferenceJob.cpp index 7b5d46bb436..1b5c079d902 100644 --- a/generated/src/aws-cpp-sdk-personalize/source/model/BatchInferenceJob.cpp +++ b/generated/src/aws-cpp-sdk-personalize/source/model/BatchInferenceJob.cpp @@ -30,6 +30,9 @@ BatchInferenceJob::BatchInferenceJob() : m_jobOutputHasBeenSet(false), m_batchInferenceJobConfigHasBeenSet(false), m_roleArnHasBeenSet(false), + m_batchInferenceJobMode(BatchInferenceJobMode::NOT_SET), + m_batchInferenceJobModeHasBeenSet(false), + m_themeGenerationConfigHasBeenSet(false), m_statusHasBeenSet(false), m_creationDateTimeHasBeenSet(false), m_lastUpdatedDateTimeHasBeenSet(false) @@ -48,6 +51,9 @@ BatchInferenceJob::BatchInferenceJob(JsonView jsonValue) : m_jobOutputHasBeenSet(false), m_batchInferenceJobConfigHasBeenSet(false), m_roleArnHasBeenSet(false), + m_batchInferenceJobMode(BatchInferenceJobMode::NOT_SET), + m_batchInferenceJobModeHasBeenSet(false), + m_themeGenerationConfigHasBeenSet(false), m_statusHasBeenSet(false), m_creationDateTimeHasBeenSet(false), m_lastUpdatedDateTimeHasBeenSet(false) @@ -127,6 +133,20 @@ BatchInferenceJob& BatchInferenceJob::operator =(JsonView jsonValue) m_roleArnHasBeenSet = true; } + if(jsonValue.ValueExists("batchInferenceJobMode")) + { + m_batchInferenceJobMode = BatchInferenceJobModeMapper::GetBatchInferenceJobModeForName(jsonValue.GetString("batchInferenceJobMode")); + + m_batchInferenceJobModeHasBeenSet = true; + } + + if(jsonValue.ValueExists("themeGenerationConfig")) + { + m_themeGenerationConfig = jsonValue.GetObject("themeGenerationConfig"); + + m_themeGenerationConfigHasBeenSet = true; + } + if(jsonValue.ValueExists("status")) { m_status = jsonValue.GetString("status"); @@ -215,6 +235,17 @@ JsonValue BatchInferenceJob::Jsonize() const } + if(m_batchInferenceJobModeHasBeenSet) + { + payload.WithString("batchInferenceJobMode", BatchInferenceJobModeMapper::GetNameForBatchInferenceJobMode(m_batchInferenceJobMode)); + } + + if(m_themeGenerationConfigHasBeenSet) + { + payload.WithObject("themeGenerationConfig", m_themeGenerationConfig.Jsonize()); + + } + if(m_statusHasBeenSet) { payload.WithString("status", m_status); diff --git a/generated/src/aws-cpp-sdk-personalize/source/model/BatchInferenceJobMode.cpp b/generated/src/aws-cpp-sdk-personalize/source/model/BatchInferenceJobMode.cpp new file mode 100644 index 00000000000..9f7a71795c9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-personalize/source/model/BatchInferenceJobMode.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 Personalize + { + namespace Model + { + namespace BatchInferenceJobModeMapper + { + + static const int BATCH_INFERENCE_HASH = HashingUtils::HashString("BATCH_INFERENCE"); + static const int THEME_GENERATION_HASH = HashingUtils::HashString("THEME_GENERATION"); + + + BatchInferenceJobMode GetBatchInferenceJobModeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == BATCH_INFERENCE_HASH) + { + return BatchInferenceJobMode::BATCH_INFERENCE; + } + else if (hashCode == THEME_GENERATION_HASH) + { + return BatchInferenceJobMode::THEME_GENERATION; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return BatchInferenceJobMode::NOT_SET; + } + + Aws::String GetNameForBatchInferenceJobMode(BatchInferenceJobMode enumValue) + { + switch(enumValue) + { + case BatchInferenceJobMode::NOT_SET: + return {}; + case BatchInferenceJobMode::BATCH_INFERENCE: + return "BATCH_INFERENCE"; + case BatchInferenceJobMode::THEME_GENERATION: + return "THEME_GENERATION"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace BatchInferenceJobModeMapper + } // namespace Model + } // namespace Personalize +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-personalize/source/model/BatchInferenceJobSummary.cpp b/generated/src/aws-cpp-sdk-personalize/source/model/BatchInferenceJobSummary.cpp index 8e339cf6f94..603d87bb3f4 100644 --- a/generated/src/aws-cpp-sdk-personalize/source/model/BatchInferenceJobSummary.cpp +++ b/generated/src/aws-cpp-sdk-personalize/source/model/BatchInferenceJobSummary.cpp @@ -25,7 +25,9 @@ BatchInferenceJobSummary::BatchInferenceJobSummary() : m_creationDateTimeHasBeenSet(false), m_lastUpdatedDateTimeHasBeenSet(false), m_failureReasonHasBeenSet(false), - m_solutionVersionArnHasBeenSet(false) + m_solutionVersionArnHasBeenSet(false), + m_batchInferenceJobMode(BatchInferenceJobMode::NOT_SET), + m_batchInferenceJobModeHasBeenSet(false) { } @@ -36,7 +38,9 @@ BatchInferenceJobSummary::BatchInferenceJobSummary(JsonView jsonValue) : m_creationDateTimeHasBeenSet(false), m_lastUpdatedDateTimeHasBeenSet(false), m_failureReasonHasBeenSet(false), - m_solutionVersionArnHasBeenSet(false) + m_solutionVersionArnHasBeenSet(false), + m_batchInferenceJobMode(BatchInferenceJobMode::NOT_SET), + m_batchInferenceJobModeHasBeenSet(false) { *this = jsonValue; } @@ -92,6 +96,13 @@ BatchInferenceJobSummary& BatchInferenceJobSummary::operator =(JsonView jsonValu m_solutionVersionArnHasBeenSet = true; } + if(jsonValue.ValueExists("batchInferenceJobMode")) + { + m_batchInferenceJobMode = BatchInferenceJobModeMapper::GetBatchInferenceJobModeForName(jsonValue.GetString("batchInferenceJobMode")); + + m_batchInferenceJobModeHasBeenSet = true; + } + return *this; } @@ -139,6 +150,11 @@ JsonValue BatchInferenceJobSummary::Jsonize() const } + if(m_batchInferenceJobModeHasBeenSet) + { + payload.WithString("batchInferenceJobMode", BatchInferenceJobModeMapper::GetNameForBatchInferenceJobMode(m_batchInferenceJobMode)); + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-personalize/source/model/CampaignConfig.cpp b/generated/src/aws-cpp-sdk-personalize/source/model/CampaignConfig.cpp index 7728fe9f591..940fbcdbadf 100644 --- a/generated/src/aws-cpp-sdk-personalize/source/model/CampaignConfig.cpp +++ b/generated/src/aws-cpp-sdk-personalize/source/model/CampaignConfig.cpp @@ -19,12 +19,16 @@ namespace Model { CampaignConfig::CampaignConfig() : - m_itemExplorationConfigHasBeenSet(false) + m_itemExplorationConfigHasBeenSet(false), + m_enableMetadataWithRecommendations(false), + m_enableMetadataWithRecommendationsHasBeenSet(false) { } CampaignConfig::CampaignConfig(JsonView jsonValue) : - m_itemExplorationConfigHasBeenSet(false) + m_itemExplorationConfigHasBeenSet(false), + m_enableMetadataWithRecommendations(false), + m_enableMetadataWithRecommendationsHasBeenSet(false) { *this = jsonValue; } @@ -41,6 +45,13 @@ CampaignConfig& CampaignConfig::operator =(JsonView jsonValue) m_itemExplorationConfigHasBeenSet = true; } + if(jsonValue.ValueExists("enableMetadataWithRecommendations")) + { + m_enableMetadataWithRecommendations = jsonValue.GetBool("enableMetadataWithRecommendations"); + + m_enableMetadataWithRecommendationsHasBeenSet = true; + } + return *this; } @@ -59,6 +70,12 @@ JsonValue CampaignConfig::Jsonize() const } + if(m_enableMetadataWithRecommendationsHasBeenSet) + { + payload.WithBool("enableMetadataWithRecommendations", m_enableMetadataWithRecommendations); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-personalize/source/model/CreateBatchInferenceJobRequest.cpp b/generated/src/aws-cpp-sdk-personalize/source/model/CreateBatchInferenceJobRequest.cpp index 7aeacf74cf3..5daba2ebb66 100644 --- a/generated/src/aws-cpp-sdk-personalize/source/model/CreateBatchInferenceJobRequest.cpp +++ b/generated/src/aws-cpp-sdk-personalize/source/model/CreateBatchInferenceJobRequest.cpp @@ -22,7 +22,10 @@ CreateBatchInferenceJobRequest::CreateBatchInferenceJobRequest() : m_jobOutputHasBeenSet(false), m_roleArnHasBeenSet(false), m_batchInferenceJobConfigHasBeenSet(false), - m_tagsHasBeenSet(false) + m_tagsHasBeenSet(false), + m_batchInferenceJobMode(BatchInferenceJobMode::NOT_SET), + m_batchInferenceJobModeHasBeenSet(false), + m_themeGenerationConfigHasBeenSet(false) { } @@ -89,6 +92,17 @@ Aws::String CreateBatchInferenceJobRequest::SerializePayload() const } + if(m_batchInferenceJobModeHasBeenSet) + { + payload.WithString("batchInferenceJobMode", BatchInferenceJobModeMapper::GetNameForBatchInferenceJobMode(m_batchInferenceJobMode)); + } + + if(m_themeGenerationConfigHasBeenSet) + { + payload.WithObject("themeGenerationConfig", m_themeGenerationConfig.Jsonize()); + + } + return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-personalize/source/model/Dataset.cpp b/generated/src/aws-cpp-sdk-personalize/source/model/Dataset.cpp index 2ef80a72259..5a002e08785 100644 --- a/generated/src/aws-cpp-sdk-personalize/source/model/Dataset.cpp +++ b/generated/src/aws-cpp-sdk-personalize/source/model/Dataset.cpp @@ -27,7 +27,8 @@ Dataset::Dataset() : m_statusHasBeenSet(false), m_creationDateTimeHasBeenSet(false), m_lastUpdatedDateTimeHasBeenSet(false), - m_latestDatasetUpdateHasBeenSet(false) + m_latestDatasetUpdateHasBeenSet(false), + m_trackingIdHasBeenSet(false) { } @@ -40,7 +41,8 @@ Dataset::Dataset(JsonView jsonValue) : m_statusHasBeenSet(false), m_creationDateTimeHasBeenSet(false), m_lastUpdatedDateTimeHasBeenSet(false), - m_latestDatasetUpdateHasBeenSet(false) + m_latestDatasetUpdateHasBeenSet(false), + m_trackingIdHasBeenSet(false) { *this = jsonValue; } @@ -110,6 +112,13 @@ Dataset& Dataset::operator =(JsonView jsonValue) m_latestDatasetUpdateHasBeenSet = true; } + if(jsonValue.ValueExists("trackingId")) + { + m_trackingId = jsonValue.GetString("trackingId"); + + m_trackingIdHasBeenSet = true; + } + return *this; } @@ -169,6 +178,12 @@ JsonValue Dataset::Jsonize() const } + if(m_trackingIdHasBeenSet) + { + payload.WithString("trackingId", m_trackingId); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-personalize/source/model/FieldsForThemeGeneration.cpp b/generated/src/aws-cpp-sdk-personalize/source/model/FieldsForThemeGeneration.cpp new file mode 100644 index 00000000000..2c0593236aa --- /dev/null +++ b/generated/src/aws-cpp-sdk-personalize/source/model/FieldsForThemeGeneration.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 Personalize +{ +namespace Model +{ + +FieldsForThemeGeneration::FieldsForThemeGeneration() : + m_itemNameHasBeenSet(false) +{ +} + +FieldsForThemeGeneration::FieldsForThemeGeneration(JsonView jsonValue) : + m_itemNameHasBeenSet(false) +{ + *this = jsonValue; +} + +FieldsForThemeGeneration& FieldsForThemeGeneration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("itemName")) + { + m_itemName = jsonValue.GetString("itemName"); + + m_itemNameHasBeenSet = true; + } + + return *this; +} + +JsonValue FieldsForThemeGeneration::Jsonize() const +{ + JsonValue payload; + + if(m_itemNameHasBeenSet) + { + payload.WithString("itemName", m_itemName); + + } + + return payload; +} + +} // namespace Model +} // namespace Personalize +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-personalize/source/model/RecommenderConfig.cpp b/generated/src/aws-cpp-sdk-personalize/source/model/RecommenderConfig.cpp index 55aa4cc4922..52f737c9d12 100644 --- a/generated/src/aws-cpp-sdk-personalize/source/model/RecommenderConfig.cpp +++ b/generated/src/aws-cpp-sdk-personalize/source/model/RecommenderConfig.cpp @@ -22,7 +22,9 @@ RecommenderConfig::RecommenderConfig() : m_itemExplorationConfigHasBeenSet(false), m_minRecommendationRequestsPerSecond(0), m_minRecommendationRequestsPerSecondHasBeenSet(false), - m_trainingDataConfigHasBeenSet(false) + m_trainingDataConfigHasBeenSet(false), + m_enableMetadataWithRecommendations(false), + m_enableMetadataWithRecommendationsHasBeenSet(false) { } @@ -30,7 +32,9 @@ RecommenderConfig::RecommenderConfig(JsonView jsonValue) : m_itemExplorationConfigHasBeenSet(false), m_minRecommendationRequestsPerSecond(0), m_minRecommendationRequestsPerSecondHasBeenSet(false), - m_trainingDataConfigHasBeenSet(false) + m_trainingDataConfigHasBeenSet(false), + m_enableMetadataWithRecommendations(false), + m_enableMetadataWithRecommendationsHasBeenSet(false) { *this = jsonValue; } @@ -61,6 +65,13 @@ RecommenderConfig& RecommenderConfig::operator =(JsonView jsonValue) m_trainingDataConfigHasBeenSet = true; } + if(jsonValue.ValueExists("enableMetadataWithRecommendations")) + { + m_enableMetadataWithRecommendations = jsonValue.GetBool("enableMetadataWithRecommendations"); + + m_enableMetadataWithRecommendationsHasBeenSet = true; + } + return *this; } @@ -91,6 +102,12 @@ JsonValue RecommenderConfig::Jsonize() const } + if(m_enableMetadataWithRecommendationsHasBeenSet) + { + payload.WithBool("enableMetadataWithRecommendations", m_enableMetadataWithRecommendations); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-personalize/source/model/ThemeGenerationConfig.cpp b/generated/src/aws-cpp-sdk-personalize/source/model/ThemeGenerationConfig.cpp new file mode 100644 index 00000000000..fe3a77ece47 --- /dev/null +++ b/generated/src/aws-cpp-sdk-personalize/source/model/ThemeGenerationConfig.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 Personalize +{ +namespace Model +{ + +ThemeGenerationConfig::ThemeGenerationConfig() : + m_fieldsForThemeGenerationHasBeenSet(false) +{ +} + +ThemeGenerationConfig::ThemeGenerationConfig(JsonView jsonValue) : + m_fieldsForThemeGenerationHasBeenSet(false) +{ + *this = jsonValue; +} + +ThemeGenerationConfig& ThemeGenerationConfig::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("fieldsForThemeGeneration")) + { + m_fieldsForThemeGeneration = jsonValue.GetObject("fieldsForThemeGeneration"); + + m_fieldsForThemeGenerationHasBeenSet = true; + } + + return *this; +} + +JsonValue ThemeGenerationConfig::Jsonize() const +{ + JsonValue payload; + + if(m_fieldsForThemeGenerationHasBeenSet) + { + payload.WithObject("fieldsForThemeGeneration", m_fieldsForThemeGeneration.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace Personalize +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-quicksight/include/aws/quicksight/QuickSightClient.h b/generated/src/aws-cpp-sdk-quicksight/include/aws/quicksight/QuickSightClient.h index 87fa7497bf6..551b86559ee 100644 --- a/generated/src/aws-cpp-sdk-quicksight/include/aws/quicksight/QuickSightClient.h +++ b/generated/src/aws-cpp-sdk-quicksight/include/aws/quicksight/QuickSightClient.h @@ -1087,6 +1087,34 @@ namespace QuickSight return SubmitAsync(&QuickSightClient::DeleteIAMPolicyAssignment, request, handler, context); } + /** + *

    Deletes all access scopes and authorized targets that are associated with a + * service from the Amazon QuickSight IAM Identity Center application.

    This + * operation is only supported for Amazon QuickSight accounts that use IAM Identity + * Center.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::DeleteIdentityPropagationConfigOutcome DeleteIdentityPropagationConfig(const Model::DeleteIdentityPropagationConfigRequest& request) const; + + /** + * A Callable wrapper for DeleteIdentityPropagationConfig that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DeleteIdentityPropagationConfigOutcomeCallable DeleteIdentityPropagationConfigCallable(const DeleteIdentityPropagationConfigRequestT& request) const + { + return SubmitCallable(&QuickSightClient::DeleteIdentityPropagationConfig, request); + } + + /** + * An Async wrapper for DeleteIdentityPropagationConfig that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DeleteIdentityPropagationConfigAsync(const DeleteIdentityPropagationConfigRequestT& request, const DeleteIdentityPropagationConfigResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&QuickSightClient::DeleteIdentityPropagationConfig, request, handler, context); + } + /** *

    Deletes a namespace and the users and groups that are associated with the * namespace. This is an asynchronous process. Assets including dashboards, @@ -3087,6 +3115,34 @@ namespace QuickSight return SubmitAsync(&QuickSightClient::ListIAMPolicyAssignmentsForUser, request, handler, context); } + /** + *

    Lists all services and authorized targets that the Amazon QuickSight IAM + * Identity Center application can access.

    This operation is only supported + * for Amazon QuickSight accounts that use IAM Identity Center.

    See + * Also:

    AWS + * API Reference

    + */ + virtual Model::ListIdentityPropagationConfigsOutcome ListIdentityPropagationConfigs(const Model::ListIdentityPropagationConfigsRequest& request) const; + + /** + * A Callable wrapper for ListIdentityPropagationConfigs that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListIdentityPropagationConfigsOutcomeCallable ListIdentityPropagationConfigsCallable(const ListIdentityPropagationConfigsRequestT& request) const + { + return SubmitCallable(&QuickSightClient::ListIdentityPropagationConfigs, request); + } + + /** + * An Async wrapper for ListIdentityPropagationConfigs that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListIdentityPropagationConfigsAsync(const ListIdentityPropagationConfigsRequestT& request, const ListIdentityPropagationConfigsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&QuickSightClient::ListIdentityPropagationConfigs, request, handler, context); + } + /** *

    Lists the history of SPICE ingestions for a dataset.

    See Also:

    * Adds or updates services and authorized targets to configure what the Amazon + * QuickSight IAM Identity Center application can access.

    This operation is + * only supported for Amazon QuickSight accounts using IAM Identity + * Center

    See Also:

    AWS + * API Reference

    + */ + virtual Model::UpdateIdentityPropagationConfigOutcome UpdateIdentityPropagationConfig(const Model::UpdateIdentityPropagationConfigRequest& request) const; + + /** + * A Callable wrapper for UpdateIdentityPropagationConfig that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::UpdateIdentityPropagationConfigOutcomeCallable UpdateIdentityPropagationConfigCallable(const UpdateIdentityPropagationConfigRequestT& request) const + { + return SubmitCallable(&QuickSightClient::UpdateIdentityPropagationConfig, request); + } + + /** + * An Async wrapper for UpdateIdentityPropagationConfig that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void UpdateIdentityPropagationConfigAsync(const UpdateIdentityPropagationConfigRequestT& request, const UpdateIdentityPropagationConfigResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&QuickSightClient::UpdateIdentityPropagationConfig, request, handler, context); + } + /** *

    Updates the content and status of IP rules. To use this operation, you must * provide the entire map of rules. You can use the diff --git a/generated/src/aws-cpp-sdk-quicksight/include/aws/quicksight/QuickSightServiceClientModel.h b/generated/src/aws-cpp-sdk-quicksight/include/aws/quicksight/QuickSightServiceClientModel.h index 06bd02b618d..96088217f6c 100644 --- a/generated/src/aws-cpp-sdk-quicksight/include/aws/quicksight/QuickSightServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-quicksight/include/aws/quicksight/QuickSightServiceClientModel.h @@ -53,6 +53,7 @@ #include #include #include +#include #include #include #include @@ -125,6 +126,7 @@ #include #include #include +#include #include #include #include @@ -170,6 +172,7 @@ #include #include #include +#include #include #include #include @@ -260,6 +263,7 @@ namespace Aws class DeleteGroupRequest; class DeleteGroupMembershipRequest; class DeleteIAMPolicyAssignmentRequest; + class DeleteIdentityPropagationConfigRequest; class DeleteNamespaceRequest; class DeleteRefreshScheduleRequest; class DeleteRoleCustomPermissionRequest; @@ -332,6 +336,7 @@ namespace Aws class ListGroupsRequest; class ListIAMPolicyAssignmentsRequest; class ListIAMPolicyAssignmentsForUserRequest; + class ListIdentityPropagationConfigsRequest; class ListIngestionsRequest; class ListNamespacesRequest; class ListRefreshSchedulesRequest; @@ -377,6 +382,7 @@ namespace Aws class UpdateFolderPermissionsRequest; class UpdateGroupRequest; class UpdateIAMPolicyAssignmentRequest; + class UpdateIdentityPropagationConfigRequest; class UpdateIpRestrictionRequest; class UpdatePublicSharingSettingsRequest; class UpdateRefreshScheduleRequest; @@ -430,6 +436,7 @@ namespace Aws typedef Aws::Utils::Outcome DeleteGroupOutcome; typedef Aws::Utils::Outcome DeleteGroupMembershipOutcome; typedef Aws::Utils::Outcome DeleteIAMPolicyAssignmentOutcome; + typedef Aws::Utils::Outcome DeleteIdentityPropagationConfigOutcome; typedef Aws::Utils::Outcome DeleteNamespaceOutcome; typedef Aws::Utils::Outcome DeleteRefreshScheduleOutcome; typedef Aws::Utils::Outcome DeleteRoleCustomPermissionOutcome; @@ -502,6 +509,7 @@ namespace Aws typedef Aws::Utils::Outcome ListGroupsOutcome; typedef Aws::Utils::Outcome ListIAMPolicyAssignmentsOutcome; typedef Aws::Utils::Outcome ListIAMPolicyAssignmentsForUserOutcome; + typedef Aws::Utils::Outcome ListIdentityPropagationConfigsOutcome; typedef Aws::Utils::Outcome ListIngestionsOutcome; typedef Aws::Utils::Outcome ListNamespacesOutcome; typedef Aws::Utils::Outcome ListRefreshSchedulesOutcome; @@ -547,6 +555,7 @@ namespace Aws typedef Aws::Utils::Outcome UpdateFolderPermissionsOutcome; typedef Aws::Utils::Outcome UpdateGroupOutcome; typedef Aws::Utils::Outcome UpdateIAMPolicyAssignmentOutcome; + typedef Aws::Utils::Outcome UpdateIdentityPropagationConfigOutcome; typedef Aws::Utils::Outcome UpdateIpRestrictionOutcome; typedef Aws::Utils::Outcome UpdatePublicSharingSettingsOutcome; typedef Aws::Utils::Outcome UpdateRefreshScheduleOutcome; @@ -600,6 +609,7 @@ namespace Aws typedef std::future DeleteGroupOutcomeCallable; typedef std::future DeleteGroupMembershipOutcomeCallable; typedef std::future DeleteIAMPolicyAssignmentOutcomeCallable; + typedef std::future DeleteIdentityPropagationConfigOutcomeCallable; typedef std::future DeleteNamespaceOutcomeCallable; typedef std::future DeleteRefreshScheduleOutcomeCallable; typedef std::future DeleteRoleCustomPermissionOutcomeCallable; @@ -672,6 +682,7 @@ namespace Aws typedef std::future ListGroupsOutcomeCallable; typedef std::future ListIAMPolicyAssignmentsOutcomeCallable; typedef std::future ListIAMPolicyAssignmentsForUserOutcomeCallable; + typedef std::future ListIdentityPropagationConfigsOutcomeCallable; typedef std::future ListIngestionsOutcomeCallable; typedef std::future ListNamespacesOutcomeCallable; typedef std::future ListRefreshSchedulesOutcomeCallable; @@ -717,6 +728,7 @@ namespace Aws typedef std::future UpdateFolderPermissionsOutcomeCallable; typedef std::future UpdateGroupOutcomeCallable; typedef std::future UpdateIAMPolicyAssignmentOutcomeCallable; + typedef std::future UpdateIdentityPropagationConfigOutcomeCallable; typedef std::future UpdateIpRestrictionOutcomeCallable; typedef std::future UpdatePublicSharingSettingsOutcomeCallable; typedef std::future UpdateRefreshScheduleOutcomeCallable; @@ -773,6 +785,7 @@ namespace Aws typedef std::function&) > DeleteGroupResponseReceivedHandler; typedef std::function&) > DeleteGroupMembershipResponseReceivedHandler; typedef std::function&) > DeleteIAMPolicyAssignmentResponseReceivedHandler; + typedef std::function&) > DeleteIdentityPropagationConfigResponseReceivedHandler; typedef std::function&) > DeleteNamespaceResponseReceivedHandler; typedef std::function&) > DeleteRefreshScheduleResponseReceivedHandler; typedef std::function&) > DeleteRoleCustomPermissionResponseReceivedHandler; @@ -845,6 +858,7 @@ namespace Aws typedef std::function&) > ListGroupsResponseReceivedHandler; typedef std::function&) > ListIAMPolicyAssignmentsResponseReceivedHandler; typedef std::function&) > ListIAMPolicyAssignmentsForUserResponseReceivedHandler; + typedef std::function&) > ListIdentityPropagationConfigsResponseReceivedHandler; typedef std::function&) > ListIngestionsResponseReceivedHandler; typedef std::function&) > ListNamespacesResponseReceivedHandler; typedef std::function&) > ListRefreshSchedulesResponseReceivedHandler; @@ -890,6 +904,7 @@ namespace Aws typedef std::function&) > UpdateFolderPermissionsResponseReceivedHandler; typedef std::function&) > UpdateGroupResponseReceivedHandler; typedef std::function&) > UpdateIAMPolicyAssignmentResponseReceivedHandler; + typedef std::function&) > UpdateIdentityPropagationConfigResponseReceivedHandler; typedef std::function&) > UpdateIpRestrictionResponseReceivedHandler; typedef std::function&) > UpdatePublicSharingSettingsResponseReceivedHandler; typedef std::function&) > UpdateRefreshScheduleResponseReceivedHandler; diff --git a/generated/src/aws-cpp-sdk-quicksight/include/aws/quicksight/model/AuthorizedTargetsByService.h b/generated/src/aws-cpp-sdk-quicksight/include/aws/quicksight/model/AuthorizedTargetsByService.h new file mode 100644 index 00000000000..a0824bc6eb9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-quicksight/include/aws/quicksight/model/AuthorizedTargetsByService.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 Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace QuickSight +{ +namespace Model +{ + + /** + *

    The authorized targets that are associated with a service.

    See + * Also:

    AWS + * API Reference

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

    The name of the Amazon Web Services service.

    + */ + inline const ServiceType& GetService() const{ return m_service; } + + /** + *

    The name of the Amazon Web Services service.

    + */ + inline bool ServiceHasBeenSet() const { return m_serviceHasBeenSet; } + + /** + *

    The name of the Amazon Web Services service.

    + */ + inline void SetService(const ServiceType& value) { m_serviceHasBeenSet = true; m_service = value; } + + /** + *

    The name of the Amazon Web Services service.

    + */ + inline void SetService(ServiceType&& value) { m_serviceHasBeenSet = true; m_service = std::move(value); } + + /** + *

    The name of the Amazon Web Services service.

    + */ + inline AuthorizedTargetsByService& WithService(const ServiceType& value) { SetService(value); return *this;} + + /** + *

    The name of the Amazon Web Services service.

    + */ + inline AuthorizedTargetsByService& WithService(ServiceType&& value) { SetService(std::move(value)); return *this;} + + + /** + *

    Aist of authorized targets that are represented by IAM Identity Center + * application ARNs.

    + */ + inline const Aws::Vector& GetAuthorizedTargets() const{ return m_authorizedTargets; } + + /** + *

    Aist of authorized targets that are represented by IAM Identity Center + * application ARNs.

    + */ + inline bool AuthorizedTargetsHasBeenSet() const { return m_authorizedTargetsHasBeenSet; } + + /** + *

    Aist of authorized targets that are represented by IAM Identity Center + * application ARNs.

    + */ + inline void SetAuthorizedTargets(const Aws::Vector& value) { m_authorizedTargetsHasBeenSet = true; m_authorizedTargets = value; } + + /** + *

    Aist of authorized targets that are represented by IAM Identity Center + * application ARNs.

    + */ + inline void SetAuthorizedTargets(Aws::Vector&& value) { m_authorizedTargetsHasBeenSet = true; m_authorizedTargets = std::move(value); } + + /** + *

    Aist of authorized targets that are represented by IAM Identity Center + * application ARNs.

    + */ + inline AuthorizedTargetsByService& WithAuthorizedTargets(const Aws::Vector& value) { SetAuthorizedTargets(value); return *this;} + + /** + *

    Aist of authorized targets that are represented by IAM Identity Center + * application ARNs.

    + */ + inline AuthorizedTargetsByService& WithAuthorizedTargets(Aws::Vector&& value) { SetAuthorizedTargets(std::move(value)); return *this;} + + /** + *

    Aist of authorized targets that are represented by IAM Identity Center + * application ARNs.

    + */ + inline AuthorizedTargetsByService& AddAuthorizedTargets(const Aws::String& value) { m_authorizedTargetsHasBeenSet = true; m_authorizedTargets.push_back(value); return *this; } + + /** + *

    Aist of authorized targets that are represented by IAM Identity Center + * application ARNs.

    + */ + inline AuthorizedTargetsByService& AddAuthorizedTargets(Aws::String&& value) { m_authorizedTargetsHasBeenSet = true; m_authorizedTargets.push_back(std::move(value)); return *this; } + + /** + *

    Aist of authorized targets that are represented by IAM Identity Center + * application ARNs.

    + */ + inline AuthorizedTargetsByService& AddAuthorizedTargets(const char* value) { m_authorizedTargetsHasBeenSet = true; m_authorizedTargets.push_back(value); return *this; } + + private: + + ServiceType m_service; + bool m_serviceHasBeenSet = false; + + Aws::Vector m_authorizedTargets; + bool m_authorizedTargetsHasBeenSet = false; + }; + +} // namespace Model +} // namespace QuickSight +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-quicksight/include/aws/quicksight/model/DeleteIdentityPropagationConfigRequest.h b/generated/src/aws-cpp-sdk-quicksight/include/aws/quicksight/model/DeleteIdentityPropagationConfigRequest.h new file mode 100644 index 00000000000..e9f3bc2353f --- /dev/null +++ b/generated/src/aws-cpp-sdk-quicksight/include/aws/quicksight/model/DeleteIdentityPropagationConfigRequest.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 +#include + +namespace Aws +{ +namespace QuickSight +{ +namespace Model +{ + + /** + */ + class DeleteIdentityPropagationConfigRequest : public QuickSightRequest + { + public: + AWS_QUICKSIGHT_API DeleteIdentityPropagationConfigRequest(); + + // 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 "DeleteIdentityPropagationConfig"; } + + AWS_QUICKSIGHT_API Aws::String SerializePayload() const override; + + + /** + *

    The ID of the Amazon Web Services account that you want to delete an identity + * propagation configuration from.

    + */ + inline const Aws::String& GetAwsAccountId() const{ return m_awsAccountId; } + + /** + *

    The ID of the Amazon Web Services account that you want to delete an identity + * propagation configuration from.

    + */ + inline bool AwsAccountIdHasBeenSet() const { return m_awsAccountIdHasBeenSet; } + + /** + *

    The ID of the Amazon Web Services account that you want to delete an identity + * propagation configuration from.

    + */ + inline void SetAwsAccountId(const Aws::String& value) { m_awsAccountIdHasBeenSet = true; m_awsAccountId = value; } + + /** + *

    The ID of the Amazon Web Services account that you want to delete an identity + * propagation configuration from.

    + */ + inline void SetAwsAccountId(Aws::String&& value) { m_awsAccountIdHasBeenSet = true; m_awsAccountId = std::move(value); } + + /** + *

    The ID of the Amazon Web Services account that you want to delete an identity + * propagation configuration from.

    + */ + inline void SetAwsAccountId(const char* value) { m_awsAccountIdHasBeenSet = true; m_awsAccountId.assign(value); } + + /** + *

    The ID of the Amazon Web Services account that you want to delete an identity + * propagation configuration from.

    + */ + inline DeleteIdentityPropagationConfigRequest& WithAwsAccountId(const Aws::String& value) { SetAwsAccountId(value); return *this;} + + /** + *

    The ID of the Amazon Web Services account that you want to delete an identity + * propagation configuration from.

    + */ + inline DeleteIdentityPropagationConfigRequest& WithAwsAccountId(Aws::String&& value) { SetAwsAccountId(std::move(value)); return *this;} + + /** + *

    The ID of the Amazon Web Services account that you want to delete an identity + * propagation configuration from.

    + */ + inline DeleteIdentityPropagationConfigRequest& WithAwsAccountId(const char* value) { SetAwsAccountId(value); return *this;} + + + /** + *

    The name of the Amazon Web Services service that you want to delete the + * associated access scopes and authorized targets from.

    + */ + inline const ServiceType& GetService() const{ return m_service; } + + /** + *

    The name of the Amazon Web Services service that you want to delete the + * associated access scopes and authorized targets from.

    + */ + inline bool ServiceHasBeenSet() const { return m_serviceHasBeenSet; } + + /** + *

    The name of the Amazon Web Services service that you want to delete the + * associated access scopes and authorized targets from.

    + */ + inline void SetService(const ServiceType& value) { m_serviceHasBeenSet = true; m_service = value; } + + /** + *

    The name of the Amazon Web Services service that you want to delete the + * associated access scopes and authorized targets from.

    + */ + inline void SetService(ServiceType&& value) { m_serviceHasBeenSet = true; m_service = std::move(value); } + + /** + *

    The name of the Amazon Web Services service that you want to delete the + * associated access scopes and authorized targets from.

    + */ + inline DeleteIdentityPropagationConfigRequest& WithService(const ServiceType& value) { SetService(value); return *this;} + + /** + *

    The name of the Amazon Web Services service that you want to delete the + * associated access scopes and authorized targets from.

    + */ + inline DeleteIdentityPropagationConfigRequest& WithService(ServiceType&& value) { SetService(std::move(value)); return *this;} + + private: + + Aws::String m_awsAccountId; + bool m_awsAccountIdHasBeenSet = false; + + ServiceType m_service; + bool m_serviceHasBeenSet = false; + }; + +} // namespace Model +} // namespace QuickSight +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-quicksight/include/aws/quicksight/model/DeleteIdentityPropagationConfigResult.h b/generated/src/aws-cpp-sdk-quicksight/include/aws/quicksight/model/DeleteIdentityPropagationConfigResult.h new file mode 100644 index 00000000000..a1d70f4cefd --- /dev/null +++ b/generated/src/aws-cpp-sdk-quicksight/include/aws/quicksight/model/DeleteIdentityPropagationConfigResult.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 +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace QuickSight +{ +namespace Model +{ + class DeleteIdentityPropagationConfigResult + { + public: + AWS_QUICKSIGHT_API DeleteIdentityPropagationConfigResult(); + AWS_QUICKSIGHT_API DeleteIdentityPropagationConfigResult(const Aws::AmazonWebServiceResult& result); + AWS_QUICKSIGHT_API DeleteIdentityPropagationConfigResult& 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 DeleteIdentityPropagationConfigResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline DeleteIdentityPropagationConfigResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline DeleteIdentityPropagationConfigResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + + /** + *

    The HTTP status of the request.

    + */ + inline int GetStatus() const{ return m_status; } + + /** + *

    The HTTP status of the request.

    + */ + inline void SetStatus(int value) { m_status = value; } + + /** + *

    The HTTP status of the request.

    + */ + inline DeleteIdentityPropagationConfigResult& WithStatus(int value) { SetStatus(value); return *this;} + + private: + + Aws::String m_requestId; + + int m_status; + }; + +} // namespace Model +} // namespace QuickSight +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-quicksight/include/aws/quicksight/model/IdentityCenterConfiguration.h b/generated/src/aws-cpp-sdk-quicksight/include/aws/quicksight/model/IdentityCenterConfiguration.h new file mode 100644 index 00000000000..cd43c74ec87 --- /dev/null +++ b/generated/src/aws-cpp-sdk-quicksight/include/aws/quicksight/model/IdentityCenterConfiguration.h @@ -0,0 +1,71 @@ +/** + * 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 QuickSight +{ +namespace Model +{ + + /** + *

    The parameters for an IAM Identity Center configuration.

    See + * Also:

    AWS + * API Reference

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

    A Boolean option that controls whether Trusted Identity Propagation should be + * used.

    + */ + inline bool GetEnableIdentityPropagation() const{ return m_enableIdentityPropagation; } + + /** + *

    A Boolean option that controls whether Trusted Identity Propagation should be + * used.

    + */ + inline bool EnableIdentityPropagationHasBeenSet() const { return m_enableIdentityPropagationHasBeenSet; } + + /** + *

    A Boolean option that controls whether Trusted Identity Propagation should be + * used.

    + */ + inline void SetEnableIdentityPropagation(bool value) { m_enableIdentityPropagationHasBeenSet = true; m_enableIdentityPropagation = value; } + + /** + *

    A Boolean option that controls whether Trusted Identity Propagation should be + * used.

    + */ + inline IdentityCenterConfiguration& WithEnableIdentityPropagation(bool value) { SetEnableIdentityPropagation(value); return *this;} + + private: + + bool m_enableIdentityPropagation; + bool m_enableIdentityPropagationHasBeenSet = false; + }; + +} // namespace Model +} // namespace QuickSight +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-quicksight/include/aws/quicksight/model/ListIdentityPropagationConfigsRequest.h b/generated/src/aws-cpp-sdk-quicksight/include/aws/quicksight/model/ListIdentityPropagationConfigsRequest.h new file mode 100644 index 00000000000..147c8d9bf7a --- /dev/null +++ b/generated/src/aws-cpp-sdk-quicksight/include/aws/quicksight/model/ListIdentityPropagationConfigsRequest.h @@ -0,0 +1,173 @@ +/** + * 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 QuickSight +{ +namespace Model +{ + + /** + */ + class ListIdentityPropagationConfigsRequest : public QuickSightRequest + { + public: + AWS_QUICKSIGHT_API ListIdentityPropagationConfigsRequest(); + + // 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 "ListIdentityPropagationConfigs"; } + + AWS_QUICKSIGHT_API Aws::String SerializePayload() const override; + + AWS_QUICKSIGHT_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + /** + *

    The ID of the Amazon Web Services account that contain the identity + * propagation configurations of.

    + */ + inline const Aws::String& GetAwsAccountId() const{ return m_awsAccountId; } + + /** + *

    The ID of the Amazon Web Services account that contain the identity + * propagation configurations of.

    + */ + inline bool AwsAccountIdHasBeenSet() const { return m_awsAccountIdHasBeenSet; } + + /** + *

    The ID of the Amazon Web Services account that contain the identity + * propagation configurations of.

    + */ + inline void SetAwsAccountId(const Aws::String& value) { m_awsAccountIdHasBeenSet = true; m_awsAccountId = value; } + + /** + *

    The ID of the Amazon Web Services account that contain the identity + * propagation configurations of.

    + */ + inline void SetAwsAccountId(Aws::String&& value) { m_awsAccountIdHasBeenSet = true; m_awsAccountId = std::move(value); } + + /** + *

    The ID of the Amazon Web Services account that contain the identity + * propagation configurations of.

    + */ + inline void SetAwsAccountId(const char* value) { m_awsAccountIdHasBeenSet = true; m_awsAccountId.assign(value); } + + /** + *

    The ID of the Amazon Web Services account that contain the identity + * propagation configurations of.

    + */ + inline ListIdentityPropagationConfigsRequest& WithAwsAccountId(const Aws::String& value) { SetAwsAccountId(value); return *this;} + + /** + *

    The ID of the Amazon Web Services account that contain the identity + * propagation configurations of.

    + */ + inline ListIdentityPropagationConfigsRequest& WithAwsAccountId(Aws::String&& value) { SetAwsAccountId(std::move(value)); return *this;} + + /** + *

    The ID of the Amazon Web Services account that contain the identity + * propagation configurations of.

    + */ + inline ListIdentityPropagationConfigsRequest& WithAwsAccountId(const char* value) { SetAwsAccountId(value); return *this;} + + + /** + *

    The maximum number of results to be returned.

    + */ + inline int GetMaxResults() const{ return m_maxResults; } + + /** + *

    The maximum number of results to be returned.

    + */ + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + + /** + *

    The maximum number of results to be returned.

    + */ + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + + /** + *

    The maximum number of results to be returned.

    + */ + inline ListIdentityPropagationConfigsRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + + + /** + *

    The token for the next set of results, or null if there are no more + * results.

    + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + + /** + *

    The token for the next set of results, or null if there are no more + * results.

    + */ + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + + /** + *

    The token for the next set of results, or null if there are no more + * results.

    + */ + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + + /** + *

    The token for the next set of results, or null if there are no more + * results.

    + */ + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + + /** + *

    The token for the next set of results, or null if there are no more + * results.

    + */ + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + + /** + *

    The token for the next set of results, or null if there are no more + * results.

    + */ + inline ListIdentityPropagationConfigsRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + + /** + *

    The token for the next set of results, or null if there are no more + * results.

    + */ + inline ListIdentityPropagationConfigsRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + + /** + *

    The token for the next set of results, or null if there are no more + * results.

    + */ + inline ListIdentityPropagationConfigsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + + private: + + Aws::String m_awsAccountId; + bool m_awsAccountIdHasBeenSet = false; + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + }; + +} // namespace Model +} // namespace QuickSight +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-quicksight/include/aws/quicksight/model/ListIdentityPropagationConfigsResult.h b/generated/src/aws-cpp-sdk-quicksight/include/aws/quicksight/model/ListIdentityPropagationConfigsResult.h new file mode 100644 index 00000000000..1e9fafa719e --- /dev/null +++ b/generated/src/aws-cpp-sdk-quicksight/include/aws/quicksight/model/ListIdentityPropagationConfigsResult.h @@ -0,0 +1,173 @@ +/** + * 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 QuickSight +{ +namespace Model +{ + class ListIdentityPropagationConfigsResult + { + public: + AWS_QUICKSIGHT_API ListIdentityPropagationConfigsResult(); + AWS_QUICKSIGHT_API ListIdentityPropagationConfigsResult(const Aws::AmazonWebServiceResult& result); + AWS_QUICKSIGHT_API ListIdentityPropagationConfigsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

    A list of services and their authorized targets that the Amazon QuickSight + * IAM Identity Center application can access.

    + */ + inline const Aws::Vector& GetServices() const{ return m_services; } + + /** + *

    A list of services and their authorized targets that the Amazon QuickSight + * IAM Identity Center application can access.

    + */ + inline void SetServices(const Aws::Vector& value) { m_services = value; } + + /** + *

    A list of services and their authorized targets that the Amazon QuickSight + * IAM Identity Center application can access.

    + */ + inline void SetServices(Aws::Vector&& value) { m_services = std::move(value); } + + /** + *

    A list of services and their authorized targets that the Amazon QuickSight + * IAM Identity Center application can access.

    + */ + inline ListIdentityPropagationConfigsResult& WithServices(const Aws::Vector& value) { SetServices(value); return *this;} + + /** + *

    A list of services and their authorized targets that the Amazon QuickSight + * IAM Identity Center application can access.

    + */ + inline ListIdentityPropagationConfigsResult& WithServices(Aws::Vector&& value) { SetServices(std::move(value)); return *this;} + + /** + *

    A list of services and their authorized targets that the Amazon QuickSight + * IAM Identity Center application can access.

    + */ + inline ListIdentityPropagationConfigsResult& AddServices(const AuthorizedTargetsByService& value) { m_services.push_back(value); return *this; } + + /** + *

    A list of services and their authorized targets that the Amazon QuickSight + * IAM Identity Center application can access.

    + */ + inline ListIdentityPropagationConfigsResult& AddServices(AuthorizedTargetsByService&& value) { m_services.push_back(std::move(value)); return *this; } + + + /** + *

    The token for the next set of results, or null if there are no more + * results.

    + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + + /** + *

    The token for the next set of results, or null if there are no more + * results.

    + */ + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + + /** + *

    The token for the next set of results, or null if there are no more + * results.

    + */ + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + + /** + *

    The token for the next set of results, or null if there are no more + * results.

    + */ + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + + /** + *

    The token for the next set of results, or null if there are no more + * results.

    + */ + inline ListIdentityPropagationConfigsResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + + /** + *

    The token for the next set of results, or null if there are no more + * results.

    + */ + inline ListIdentityPropagationConfigsResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + + /** + *

    The token for the next set of results, or null if there are no more + * results.

    + */ + inline ListIdentityPropagationConfigsResult& WithNextToken(const char* value) { SetNextToken(value); return *this;} + + + /** + *

    The HTTP status of the request.

    + */ + inline int GetStatus() const{ return m_status; } + + /** + *

    The HTTP status of the request.

    + */ + inline void SetStatus(int value) { m_status = value; } + + /** + *

    The HTTP status of the request.

    + */ + inline ListIdentityPropagationConfigsResult& 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 ListIdentityPropagationConfigsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline ListIdentityPropagationConfigsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline ListIdentityPropagationConfigsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::Vector m_services; + + Aws::String m_nextToken; + + int m_status; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace QuickSight +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-quicksight/include/aws/quicksight/model/RedshiftParameters.h b/generated/src/aws-cpp-sdk-quicksight/include/aws/quicksight/model/RedshiftParameters.h index 090830bc8c1..3be8acd8555 100644 --- a/generated/src/aws-cpp-sdk-quicksight/include/aws/quicksight/model/RedshiftParameters.h +++ b/generated/src/aws-cpp-sdk-quicksight/include/aws/quicksight/model/RedshiftParameters.h @@ -7,6 +7,7 @@ #include #include #include +#include #include namespace Aws @@ -235,6 +236,55 @@ namespace Model */ inline RedshiftParameters& WithIAMParameters(RedshiftIAMParameters&& value) { SetIAMParameters(std::move(value)); return *this;} + + /** + *

    An optional parameter that configures IAM Identity Center authentication to + * grant Amazon QuickSight access to your cluster.

    This parameter can only + * be specified if your Amazon QuickSight account is configured with IAM Identity + * Center.

    + */ + inline const IdentityCenterConfiguration& GetIdentityCenterConfiguration() const{ return m_identityCenterConfiguration; } + + /** + *

    An optional parameter that configures IAM Identity Center authentication to + * grant Amazon QuickSight access to your cluster.

    This parameter can only + * be specified if your Amazon QuickSight account is configured with IAM Identity + * Center.

    + */ + inline bool IdentityCenterConfigurationHasBeenSet() const { return m_identityCenterConfigurationHasBeenSet; } + + /** + *

    An optional parameter that configures IAM Identity Center authentication to + * grant Amazon QuickSight access to your cluster.

    This parameter can only + * be specified if your Amazon QuickSight account is configured with IAM Identity + * Center.

    + */ + inline void SetIdentityCenterConfiguration(const IdentityCenterConfiguration& value) { m_identityCenterConfigurationHasBeenSet = true; m_identityCenterConfiguration = value; } + + /** + *

    An optional parameter that configures IAM Identity Center authentication to + * grant Amazon QuickSight access to your cluster.

    This parameter can only + * be specified if your Amazon QuickSight account is configured with IAM Identity + * Center.

    + */ + inline void SetIdentityCenterConfiguration(IdentityCenterConfiguration&& value) { m_identityCenterConfigurationHasBeenSet = true; m_identityCenterConfiguration = std::move(value); } + + /** + *

    An optional parameter that configures IAM Identity Center authentication to + * grant Amazon QuickSight access to your cluster.

    This parameter can only + * be specified if your Amazon QuickSight account is configured with IAM Identity + * Center.

    + */ + inline RedshiftParameters& WithIdentityCenterConfiguration(const IdentityCenterConfiguration& value) { SetIdentityCenterConfiguration(value); return *this;} + + /** + *

    An optional parameter that configures IAM Identity Center authentication to + * grant Amazon QuickSight access to your cluster.

    This parameter can only + * be specified if your Amazon QuickSight account is configured with IAM Identity + * Center.

    + */ + inline RedshiftParameters& WithIdentityCenterConfiguration(IdentityCenterConfiguration&& value) { SetIdentityCenterConfiguration(std::move(value)); return *this;} + private: Aws::String m_host; @@ -251,6 +301,9 @@ namespace Model RedshiftIAMParameters m_iAMParameters; bool m_iAMParametersHasBeenSet = false; + + IdentityCenterConfiguration m_identityCenterConfiguration; + bool m_identityCenterConfigurationHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-quicksight/include/aws/quicksight/model/ServiceType.h b/generated/src/aws-cpp-sdk-quicksight/include/aws/quicksight/model/ServiceType.h new file mode 100644 index 00000000000..f7f16e2357e --- /dev/null +++ b/generated/src/aws-cpp-sdk-quicksight/include/aws/quicksight/model/ServiceType.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 QuickSight +{ +namespace Model +{ + enum class ServiceType + { + NOT_SET, + REDSHIFT + }; + +namespace ServiceTypeMapper +{ +AWS_QUICKSIGHT_API ServiceType GetServiceTypeForName(const Aws::String& name); + +AWS_QUICKSIGHT_API Aws::String GetNameForServiceType(ServiceType value); +} // namespace ServiceTypeMapper +} // namespace Model +} // namespace QuickSight +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-quicksight/include/aws/quicksight/model/UpdateIdentityPropagationConfigRequest.h b/generated/src/aws-cpp-sdk-quicksight/include/aws/quicksight/model/UpdateIdentityPropagationConfigRequest.h new file mode 100644 index 00000000000..eb164c9428d --- /dev/null +++ b/generated/src/aws-cpp-sdk-quicksight/include/aws/quicksight/model/UpdateIdentityPropagationConfigRequest.h @@ -0,0 +1,191 @@ +/** + * 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 QuickSight +{ +namespace Model +{ + + /** + */ + class UpdateIdentityPropagationConfigRequest : public QuickSightRequest + { + public: + AWS_QUICKSIGHT_API UpdateIdentityPropagationConfigRequest(); + + // 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 "UpdateIdentityPropagationConfig"; } + + AWS_QUICKSIGHT_API Aws::String SerializePayload() const override; + + + /** + *

    The ID of the Amazon Web Services account that contains the identity + * propagation configuration that you want to update.

    + */ + inline const Aws::String& GetAwsAccountId() const{ return m_awsAccountId; } + + /** + *

    The ID of the Amazon Web Services account that contains the identity + * propagation configuration that you want to update.

    + */ + inline bool AwsAccountIdHasBeenSet() const { return m_awsAccountIdHasBeenSet; } + + /** + *

    The ID of the Amazon Web Services account that contains the identity + * propagation configuration that you want to update.

    + */ + inline void SetAwsAccountId(const Aws::String& value) { m_awsAccountIdHasBeenSet = true; m_awsAccountId = value; } + + /** + *

    The ID of the Amazon Web Services account that contains the identity + * propagation configuration that you want to update.

    + */ + inline void SetAwsAccountId(Aws::String&& value) { m_awsAccountIdHasBeenSet = true; m_awsAccountId = std::move(value); } + + /** + *

    The ID of the Amazon Web Services account that contains the identity + * propagation configuration that you want to update.

    + */ + inline void SetAwsAccountId(const char* value) { m_awsAccountIdHasBeenSet = true; m_awsAccountId.assign(value); } + + /** + *

    The ID of the Amazon Web Services account that contains the identity + * propagation configuration that you want to update.

    + */ + inline UpdateIdentityPropagationConfigRequest& WithAwsAccountId(const Aws::String& value) { SetAwsAccountId(value); return *this;} + + /** + *

    The ID of the Amazon Web Services account that contains the identity + * propagation configuration that you want to update.

    + */ + inline UpdateIdentityPropagationConfigRequest& WithAwsAccountId(Aws::String&& value) { SetAwsAccountId(std::move(value)); return *this;} + + /** + *

    The ID of the Amazon Web Services account that contains the identity + * propagation configuration that you want to update.

    + */ + inline UpdateIdentityPropagationConfigRequest& WithAwsAccountId(const char* value) { SetAwsAccountId(value); return *this;} + + + /** + *

    The name of the Amazon Web Services service that contains the authorized + * targets that you want to add or update.

    + */ + inline const ServiceType& GetService() const{ return m_service; } + + /** + *

    The name of the Amazon Web Services service that contains the authorized + * targets that you want to add or update.

    + */ + inline bool ServiceHasBeenSet() const { return m_serviceHasBeenSet; } + + /** + *

    The name of the Amazon Web Services service that contains the authorized + * targets that you want to add or update.

    + */ + inline void SetService(const ServiceType& value) { m_serviceHasBeenSet = true; m_service = value; } + + /** + *

    The name of the Amazon Web Services service that contains the authorized + * targets that you want to add or update.

    + */ + inline void SetService(ServiceType&& value) { m_serviceHasBeenSet = true; m_service = std::move(value); } + + /** + *

    The name of the Amazon Web Services service that contains the authorized + * targets that you want to add or update.

    + */ + inline UpdateIdentityPropagationConfigRequest& WithService(const ServiceType& value) { SetService(value); return *this;} + + /** + *

    The name of the Amazon Web Services service that contains the authorized + * targets that you want to add or update.

    + */ + inline UpdateIdentityPropagationConfigRequest& WithService(ServiceType&& value) { SetService(std::move(value)); return *this;} + + + /** + *

    Specifies a list of application ARNs that represent the authorized targets + * for a service.

    + */ + inline const Aws::Vector& GetAuthorizedTargets() const{ return m_authorizedTargets; } + + /** + *

    Specifies a list of application ARNs that represent the authorized targets + * for a service.

    + */ + inline bool AuthorizedTargetsHasBeenSet() const { return m_authorizedTargetsHasBeenSet; } + + /** + *

    Specifies a list of application ARNs that represent the authorized targets + * for a service.

    + */ + inline void SetAuthorizedTargets(const Aws::Vector& value) { m_authorizedTargetsHasBeenSet = true; m_authorizedTargets = value; } + + /** + *

    Specifies a list of application ARNs that represent the authorized targets + * for a service.

    + */ + inline void SetAuthorizedTargets(Aws::Vector&& value) { m_authorizedTargetsHasBeenSet = true; m_authorizedTargets = std::move(value); } + + /** + *

    Specifies a list of application ARNs that represent the authorized targets + * for a service.

    + */ + inline UpdateIdentityPropagationConfigRequest& WithAuthorizedTargets(const Aws::Vector& value) { SetAuthorizedTargets(value); return *this;} + + /** + *

    Specifies a list of application ARNs that represent the authorized targets + * for a service.

    + */ + inline UpdateIdentityPropagationConfigRequest& WithAuthorizedTargets(Aws::Vector&& value) { SetAuthorizedTargets(std::move(value)); return *this;} + + /** + *

    Specifies a list of application ARNs that represent the authorized targets + * for a service.

    + */ + inline UpdateIdentityPropagationConfigRequest& AddAuthorizedTargets(const Aws::String& value) { m_authorizedTargetsHasBeenSet = true; m_authorizedTargets.push_back(value); return *this; } + + /** + *

    Specifies a list of application ARNs that represent the authorized targets + * for a service.

    + */ + inline UpdateIdentityPropagationConfigRequest& AddAuthorizedTargets(Aws::String&& value) { m_authorizedTargetsHasBeenSet = true; m_authorizedTargets.push_back(std::move(value)); return *this; } + + /** + *

    Specifies a list of application ARNs that represent the authorized targets + * for a service.

    + */ + inline UpdateIdentityPropagationConfigRequest& AddAuthorizedTargets(const char* value) { m_authorizedTargetsHasBeenSet = true; m_authorizedTargets.push_back(value); return *this; } + + private: + + Aws::String m_awsAccountId; + bool m_awsAccountIdHasBeenSet = false; + + ServiceType m_service; + bool m_serviceHasBeenSet = false; + + Aws::Vector m_authorizedTargets; + bool m_authorizedTargetsHasBeenSet = false; + }; + +} // namespace Model +} // namespace QuickSight +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-quicksight/include/aws/quicksight/model/UpdateIdentityPropagationConfigResult.h b/generated/src/aws-cpp-sdk-quicksight/include/aws/quicksight/model/UpdateIdentityPropagationConfigResult.h new file mode 100644 index 00000000000..4e56e1ffbab --- /dev/null +++ b/generated/src/aws-cpp-sdk-quicksight/include/aws/quicksight/model/UpdateIdentityPropagationConfigResult.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 +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace QuickSight +{ +namespace Model +{ + class UpdateIdentityPropagationConfigResult + { + public: + AWS_QUICKSIGHT_API UpdateIdentityPropagationConfigResult(); + AWS_QUICKSIGHT_API UpdateIdentityPropagationConfigResult(const Aws::AmazonWebServiceResult& result); + AWS_QUICKSIGHT_API UpdateIdentityPropagationConfigResult& 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 UpdateIdentityPropagationConfigResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline UpdateIdentityPropagationConfigResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline UpdateIdentityPropagationConfigResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + + /** + *

    The HTTP status of the request.

    + */ + inline int GetStatus() const{ return m_status; } + + /** + *

    The HTTP status of the request.

    + */ + inline void SetStatus(int value) { m_status = value; } + + /** + *

    The HTTP status of the request.

    + */ + inline UpdateIdentityPropagationConfigResult& WithStatus(int value) { SetStatus(value); return *this;} + + private: + + Aws::String m_requestId; + + int m_status; + }; + +} // namespace Model +} // namespace QuickSight +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-quicksight/source/QuickSightClient.cpp b/generated/src/aws-cpp-sdk-quicksight/source/QuickSightClient.cpp index 33beb9ef33d..38add2cc5cd 100644 --- a/generated/src/aws-cpp-sdk-quicksight/source/QuickSightClient.cpp +++ b/generated/src/aws-cpp-sdk-quicksight/source/QuickSightClient.cpp @@ -56,6 +56,7 @@ #include #include #include +#include #include #include #include @@ -128,6 +129,7 @@ #include #include #include +#include #include #include #include @@ -173,6 +175,7 @@ #include #include #include +#include #include #include #include @@ -1779,6 +1782,46 @@ DeleteIAMPolicyAssignmentOutcome QuickSightClient::DeleteIAMPolicyAssignment(con {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +DeleteIdentityPropagationConfigOutcome QuickSightClient::DeleteIdentityPropagationConfig(const DeleteIdentityPropagationConfigRequest& request) const +{ + AWS_OPERATION_GUARD(DeleteIdentityPropagationConfig); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteIdentityPropagationConfig, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.AwsAccountIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteIdentityPropagationConfig", "Required field: AwsAccountId, is not set"); + return DeleteIdentityPropagationConfigOutcome(Aws::Client::AWSError(QuickSightErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [AwsAccountId]", false)); + } + if (!request.ServiceHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteIdentityPropagationConfig", "Required field: Service, is not set"); + return DeleteIdentityPropagationConfigOutcome(Aws::Client::AWSError(QuickSightErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Service]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DeleteIdentityPropagationConfig, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DeleteIdentityPropagationConfig, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DeleteIdentityPropagationConfig", + {{ 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( + [&]()-> DeleteIdentityPropagationConfigOutcome { + 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, DeleteIdentityPropagationConfig, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/accounts/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetAwsAccountId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/identity-propagation-config/"); + endpointResolutionOutcome.GetResult().AddPathSegment(ServiceTypeMapper::GetNameForServiceType(request.GetService())); + return DeleteIdentityPropagationConfigOutcome(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()}}); +} + DeleteNamespaceOutcome QuickSightClient::DeleteNamespace(const DeleteNamespaceRequest& request) const { AWS_OPERATION_GUARD(DeleteNamespace); @@ -4777,6 +4820,40 @@ ListIAMPolicyAssignmentsForUserOutcome QuickSightClient::ListIAMPolicyAssignment {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +ListIdentityPropagationConfigsOutcome QuickSightClient::ListIdentityPropagationConfigs(const ListIdentityPropagationConfigsRequest& request) const +{ + AWS_OPERATION_GUARD(ListIdentityPropagationConfigs); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListIdentityPropagationConfigs, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.AwsAccountIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("ListIdentityPropagationConfigs", "Required field: AwsAccountId, is not set"); + return ListIdentityPropagationConfigsOutcome(Aws::Client::AWSError(QuickSightErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [AwsAccountId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListIdentityPropagationConfigs, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListIdentityPropagationConfigs, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListIdentityPropagationConfigs", + {{ 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( + [&]()-> ListIdentityPropagationConfigsOutcome { + 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, ListIdentityPropagationConfigs, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/accounts/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetAwsAccountId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/identity-propagation-config"); + return ListIdentityPropagationConfigsOutcome(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()}}); +} + ListIngestionsOutcome QuickSightClient::ListIngestions(const ListIngestionsRequest& request) const { AWS_OPERATION_GUARD(ListIngestions); @@ -6534,6 +6611,46 @@ UpdateIAMPolicyAssignmentOutcome QuickSightClient::UpdateIAMPolicyAssignment(con {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +UpdateIdentityPropagationConfigOutcome QuickSightClient::UpdateIdentityPropagationConfig(const UpdateIdentityPropagationConfigRequest& request) const +{ + AWS_OPERATION_GUARD(UpdateIdentityPropagationConfig); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UpdateIdentityPropagationConfig, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.AwsAccountIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("UpdateIdentityPropagationConfig", "Required field: AwsAccountId, is not set"); + return UpdateIdentityPropagationConfigOutcome(Aws::Client::AWSError(QuickSightErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [AwsAccountId]", false)); + } + if (!request.ServiceHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("UpdateIdentityPropagationConfig", "Required field: Service, is not set"); + return UpdateIdentityPropagationConfigOutcome(Aws::Client::AWSError(QuickSightErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Service]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, UpdateIdentityPropagationConfig, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, UpdateIdentityPropagationConfig, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".UpdateIdentityPropagationConfig", + {{ 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( + [&]()-> UpdateIdentityPropagationConfigOutcome { + 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, UpdateIdentityPropagationConfig, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/accounts/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetAwsAccountId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/identity-propagation-config/"); + endpointResolutionOutcome.GetResult().AddPathSegment(ServiceTypeMapper::GetNameForServiceType(request.GetService())); + return UpdateIdentityPropagationConfigOutcome(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()}}); +} + UpdateIpRestrictionOutcome QuickSightClient::UpdateIpRestriction(const UpdateIpRestrictionRequest& request) const { AWS_OPERATION_GUARD(UpdateIpRestriction); diff --git a/generated/src/aws-cpp-sdk-quicksight/source/model/AuthorizedTargetsByService.cpp b/generated/src/aws-cpp-sdk-quicksight/source/model/AuthorizedTargetsByService.cpp new file mode 100644 index 00000000000..c94ba923b50 --- /dev/null +++ b/generated/src/aws-cpp-sdk-quicksight/source/model/AuthorizedTargetsByService.cpp @@ -0,0 +1,83 @@ +/** + * 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 QuickSight +{ +namespace Model +{ + +AuthorizedTargetsByService::AuthorizedTargetsByService() : + m_service(ServiceType::NOT_SET), + m_serviceHasBeenSet(false), + m_authorizedTargetsHasBeenSet(false) +{ +} + +AuthorizedTargetsByService::AuthorizedTargetsByService(JsonView jsonValue) : + m_service(ServiceType::NOT_SET), + m_serviceHasBeenSet(false), + m_authorizedTargetsHasBeenSet(false) +{ + *this = jsonValue; +} + +AuthorizedTargetsByService& AuthorizedTargetsByService::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Service")) + { + m_service = ServiceTypeMapper::GetServiceTypeForName(jsonValue.GetString("Service")); + + m_serviceHasBeenSet = true; + } + + if(jsonValue.ValueExists("AuthorizedTargets")) + { + Aws::Utils::Array authorizedTargetsJsonList = jsonValue.GetArray("AuthorizedTargets"); + for(unsigned authorizedTargetsIndex = 0; authorizedTargetsIndex < authorizedTargetsJsonList.GetLength(); ++authorizedTargetsIndex) + { + m_authorizedTargets.push_back(authorizedTargetsJsonList[authorizedTargetsIndex].AsString()); + } + m_authorizedTargetsHasBeenSet = true; + } + + return *this; +} + +JsonValue AuthorizedTargetsByService::Jsonize() const +{ + JsonValue payload; + + if(m_serviceHasBeenSet) + { + payload.WithString("Service", ServiceTypeMapper::GetNameForServiceType(m_service)); + } + + if(m_authorizedTargetsHasBeenSet) + { + Aws::Utils::Array authorizedTargetsJsonList(m_authorizedTargets.size()); + for(unsigned authorizedTargetsIndex = 0; authorizedTargetsIndex < authorizedTargetsJsonList.GetLength(); ++authorizedTargetsIndex) + { + authorizedTargetsJsonList[authorizedTargetsIndex].AsString(m_authorizedTargets[authorizedTargetsIndex]); + } + payload.WithArray("AuthorizedTargets", std::move(authorizedTargetsJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace QuickSight +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-quicksight/source/model/DeleteIdentityPropagationConfigRequest.cpp b/generated/src/aws-cpp-sdk-quicksight/source/model/DeleteIdentityPropagationConfigRequest.cpp new file mode 100644 index 00000000000..0cf6c441243 --- /dev/null +++ b/generated/src/aws-cpp-sdk-quicksight/source/model/DeleteIdentityPropagationConfigRequest.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::QuickSight::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +DeleteIdentityPropagationConfigRequest::DeleteIdentityPropagationConfigRequest() : + m_awsAccountIdHasBeenSet(false), + m_service(ServiceType::NOT_SET), + m_serviceHasBeenSet(false) +{ +} + +Aws::String DeleteIdentityPropagationConfigRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-quicksight/source/model/DeleteIdentityPropagationConfigResult.cpp b/generated/src/aws-cpp-sdk-quicksight/source/model/DeleteIdentityPropagationConfigResult.cpp new file mode 100644 index 00000000000..e3e6f896119 --- /dev/null +++ b/generated/src/aws-cpp-sdk-quicksight/source/model/DeleteIdentityPropagationConfigResult.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::QuickSight::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DeleteIdentityPropagationConfigResult::DeleteIdentityPropagationConfigResult() : + m_status(0) +{ +} + +DeleteIdentityPropagationConfigResult::DeleteIdentityPropagationConfigResult(const Aws::AmazonWebServiceResult& result) : + m_status(0) +{ + *this = result; +} + +DeleteIdentityPropagationConfigResult& DeleteIdentityPropagationConfigResult::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/src/aws-cpp-sdk-quicksight/source/model/IdentityCenterConfiguration.cpp b/generated/src/aws-cpp-sdk-quicksight/source/model/IdentityCenterConfiguration.cpp new file mode 100644 index 00000000000..5026e7f2f33 --- /dev/null +++ b/generated/src/aws-cpp-sdk-quicksight/source/model/IdentityCenterConfiguration.cpp @@ -0,0 +1,61 @@ +/** + * 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 QuickSight +{ +namespace Model +{ + +IdentityCenterConfiguration::IdentityCenterConfiguration() : + m_enableIdentityPropagation(false), + m_enableIdentityPropagationHasBeenSet(false) +{ +} + +IdentityCenterConfiguration::IdentityCenterConfiguration(JsonView jsonValue) : + m_enableIdentityPropagation(false), + m_enableIdentityPropagationHasBeenSet(false) +{ + *this = jsonValue; +} + +IdentityCenterConfiguration& IdentityCenterConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("EnableIdentityPropagation")) + { + m_enableIdentityPropagation = jsonValue.GetBool("EnableIdentityPropagation"); + + m_enableIdentityPropagationHasBeenSet = true; + } + + return *this; +} + +JsonValue IdentityCenterConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_enableIdentityPropagationHasBeenSet) + { + payload.WithBool("EnableIdentityPropagation", m_enableIdentityPropagation); + + } + + return payload; +} + +} // namespace Model +} // namespace QuickSight +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-quicksight/source/model/ListIdentityPropagationConfigsRequest.cpp b/generated/src/aws-cpp-sdk-quicksight/source/model/ListIdentityPropagationConfigsRequest.cpp new file mode 100644 index 00000000000..eb9e15fb6aa --- /dev/null +++ b/generated/src/aws-cpp-sdk-quicksight/source/model/ListIdentityPropagationConfigsRequest.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::QuickSight::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +ListIdentityPropagationConfigsRequest::ListIdentityPropagationConfigsRequest() : + m_awsAccountIdHasBeenSet(false), + m_maxResults(0), + m_maxResultsHasBeenSet(false), + m_nextTokenHasBeenSet(false) +{ +} + +Aws::String ListIdentityPropagationConfigsRequest::SerializePayload() const +{ + return {}; +} + +void ListIdentityPropagationConfigsRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_maxResultsHasBeenSet) + { + ss << m_maxResults; + uri.AddQueryStringParameter("max-results", ss.str()); + ss.str(""); + } + + if(m_nextTokenHasBeenSet) + { + ss << m_nextToken; + uri.AddQueryStringParameter("next-token", ss.str()); + ss.str(""); + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-quicksight/source/model/ListIdentityPropagationConfigsResult.cpp b/generated/src/aws-cpp-sdk-quicksight/source/model/ListIdentityPropagationConfigsResult.cpp new file mode 100644 index 00000000000..47f62e33813 --- /dev/null +++ b/generated/src/aws-cpp-sdk-quicksight/source/model/ListIdentityPropagationConfigsResult.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 +#include +#include + +#include + +using namespace Aws::QuickSight::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListIdentityPropagationConfigsResult::ListIdentityPropagationConfigsResult() : + m_status(0) +{ +} + +ListIdentityPropagationConfigsResult::ListIdentityPropagationConfigsResult(const Aws::AmazonWebServiceResult& result) : + m_status(0) +{ + *this = result; +} + +ListIdentityPropagationConfigsResult& ListIdentityPropagationConfigsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("Services")) + { + Aws::Utils::Array servicesJsonList = jsonValue.GetArray("Services"); + for(unsigned servicesIndex = 0; servicesIndex < servicesJsonList.GetLength(); ++servicesIndex) + { + m_services.push_back(servicesJsonList[servicesIndex].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; + } + + + m_status = static_cast(result.GetResponseCode()); + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-quicksight/source/model/RedshiftParameters.cpp b/generated/src/aws-cpp-sdk-quicksight/source/model/RedshiftParameters.cpp index 75501d9377e..7da4820636a 100644 --- a/generated/src/aws-cpp-sdk-quicksight/source/model/RedshiftParameters.cpp +++ b/generated/src/aws-cpp-sdk-quicksight/source/model/RedshiftParameters.cpp @@ -24,7 +24,8 @@ RedshiftParameters::RedshiftParameters() : m_portHasBeenSet(false), m_databaseHasBeenSet(false), m_clusterIdHasBeenSet(false), - m_iAMParametersHasBeenSet(false) + m_iAMParametersHasBeenSet(false), + m_identityCenterConfigurationHasBeenSet(false) { } @@ -34,7 +35,8 @@ RedshiftParameters::RedshiftParameters(JsonView jsonValue) : m_portHasBeenSet(false), m_databaseHasBeenSet(false), m_clusterIdHasBeenSet(false), - m_iAMParametersHasBeenSet(false) + m_iAMParametersHasBeenSet(false), + m_identityCenterConfigurationHasBeenSet(false) { *this = jsonValue; } @@ -76,6 +78,13 @@ RedshiftParameters& RedshiftParameters::operator =(JsonView jsonValue) m_iAMParametersHasBeenSet = true; } + if(jsonValue.ValueExists("IdentityCenterConfiguration")) + { + m_identityCenterConfiguration = jsonValue.GetObject("IdentityCenterConfiguration"); + + m_identityCenterConfigurationHasBeenSet = true; + } + return *this; } @@ -113,6 +122,12 @@ JsonValue RedshiftParameters::Jsonize() const } + if(m_identityCenterConfigurationHasBeenSet) + { + payload.WithObject("IdentityCenterConfiguration", m_identityCenterConfiguration.Jsonize()); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-quicksight/source/model/ServiceType.cpp b/generated/src/aws-cpp-sdk-quicksight/source/model/ServiceType.cpp new file mode 100644 index 00000000000..40ba71a3bbc --- /dev/null +++ b/generated/src/aws-cpp-sdk-quicksight/source/model/ServiceType.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 QuickSight + { + namespace Model + { + namespace ServiceTypeMapper + { + + static const int REDSHIFT_HASH = HashingUtils::HashString("REDSHIFT"); + + + ServiceType GetServiceTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == REDSHIFT_HASH) + { + return ServiceType::REDSHIFT; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ServiceType::NOT_SET; + } + + Aws::String GetNameForServiceType(ServiceType enumValue) + { + switch(enumValue) + { + case ServiceType::NOT_SET: + return {}; + case ServiceType::REDSHIFT: + return "REDSHIFT"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ServiceTypeMapper + } // namespace Model + } // namespace QuickSight +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-quicksight/source/model/UpdateIdentityPropagationConfigRequest.cpp b/generated/src/aws-cpp-sdk-quicksight/source/model/UpdateIdentityPropagationConfigRequest.cpp new file mode 100644 index 00000000000..d46809aa3fc --- /dev/null +++ b/generated/src/aws-cpp-sdk-quicksight/source/model/UpdateIdentityPropagationConfigRequest.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::QuickSight::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +UpdateIdentityPropagationConfigRequest::UpdateIdentityPropagationConfigRequest() : + m_awsAccountIdHasBeenSet(false), + m_service(ServiceType::NOT_SET), + m_serviceHasBeenSet(false), + m_authorizedTargetsHasBeenSet(false) +{ +} + +Aws::String UpdateIdentityPropagationConfigRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_authorizedTargetsHasBeenSet) + { + Aws::Utils::Array authorizedTargetsJsonList(m_authorizedTargets.size()); + for(unsigned authorizedTargetsIndex = 0; authorizedTargetsIndex < authorizedTargetsJsonList.GetLength(); ++authorizedTargetsIndex) + { + authorizedTargetsJsonList[authorizedTargetsIndex].AsString(m_authorizedTargets[authorizedTargetsIndex]); + } + payload.WithArray("AuthorizedTargets", std::move(authorizedTargetsJsonList)); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-quicksight/source/model/UpdateIdentityPropagationConfigResult.cpp b/generated/src/aws-cpp-sdk-quicksight/source/model/UpdateIdentityPropagationConfigResult.cpp new file mode 100644 index 00000000000..7afcf3f7e3d --- /dev/null +++ b/generated/src/aws-cpp-sdk-quicksight/source/model/UpdateIdentityPropagationConfigResult.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::QuickSight::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +UpdateIdentityPropagationConfigResult::UpdateIdentityPropagationConfigResult() : + m_status(0) +{ +} + +UpdateIdentityPropagationConfigResult::UpdateIdentityPropagationConfigResult(const Aws::AmazonWebServiceResult& result) : + m_status(0) +{ + *this = result; +} + +UpdateIdentityPropagationConfigResult& UpdateIdentityPropagationConfigResult::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/src/aws-cpp-sdk-redshift/include/aws/redshift/model/AssociateDataShareConsumerRequest.h b/generated/src/aws-cpp-sdk-redshift/include/aws/redshift/model/AssociateDataShareConsumerRequest.h index 4cc5e29bec2..2dd6d2dc651 100644 --- a/generated/src/aws-cpp-sdk-redshift/include/aws/redshift/model/AssociateDataShareConsumerRequest.h +++ b/generated/src/aws-cpp-sdk-redshift/include/aws/redshift/model/AssociateDataShareConsumerRequest.h @@ -207,6 +207,27 @@ namespace Model */ inline AssociateDataShareConsumerRequest& WithConsumerRegion(const char* value) { SetConsumerRegion(value); return *this;} + + /** + *

    If set to true, allows write operations for a datashare.

    + */ + inline bool GetAllowWrites() const{ return m_allowWrites; } + + /** + *

    If set to true, allows write operations for a datashare.

    + */ + inline bool AllowWritesHasBeenSet() const { return m_allowWritesHasBeenSet; } + + /** + *

    If set to true, allows write operations for a datashare.

    + */ + inline void SetAllowWrites(bool value) { m_allowWritesHasBeenSet = true; m_allowWrites = value; } + + /** + *

    If set to true, allows write operations for a datashare.

    + */ + inline AssociateDataShareConsumerRequest& WithAllowWrites(bool value) { SetAllowWrites(value); return *this;} + private: Aws::String m_dataShareArn; @@ -220,6 +241,9 @@ namespace Model Aws::String m_consumerRegion; bool m_consumerRegionHasBeenSet = false; + + bool m_allowWrites; + bool m_allowWritesHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-redshift/include/aws/redshift/model/AuthorizeDataShareRequest.h b/generated/src/aws-cpp-sdk-redshift/include/aws/redshift/model/AuthorizeDataShareRequest.h index f2df571b6cc..c1efcfd4d1a 100644 --- a/generated/src/aws-cpp-sdk-redshift/include/aws/redshift/model/AuthorizeDataShareRequest.h +++ b/generated/src/aws-cpp-sdk-redshift/include/aws/redshift/model/AuthorizeDataShareRequest.h @@ -141,6 +141,27 @@ namespace Model */ inline AuthorizeDataShareRequest& WithConsumerIdentifier(const char* value) { SetConsumerIdentifier(value); return *this;} + + /** + *

    If set to true, allows write operations for a datashare.

    + */ + inline bool GetAllowWrites() const{ return m_allowWrites; } + + /** + *

    If set to true, allows write operations for a datashare.

    + */ + inline bool AllowWritesHasBeenSet() const { return m_allowWritesHasBeenSet; } + + /** + *

    If set to true, allows write operations for a datashare.

    + */ + inline void SetAllowWrites(bool value) { m_allowWritesHasBeenSet = true; m_allowWrites = value; } + + /** + *

    If set to true, allows write operations for a datashare.

    + */ + inline AuthorizeDataShareRequest& WithAllowWrites(bool value) { SetAllowWrites(value); return *this;} + private: Aws::String m_dataShareArn; @@ -148,6 +169,9 @@ namespace Model Aws::String m_consumerIdentifier; bool m_consumerIdentifierHasBeenSet = false; + + bool m_allowWrites; + bool m_allowWritesHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-redshift/include/aws/redshift/model/DataShareAssociation.h b/generated/src/aws-cpp-sdk-redshift/include/aws/redshift/model/DataShareAssociation.h index 17138f66426..bc10973ecf8 100644 --- a/generated/src/aws-cpp-sdk-redshift/include/aws/redshift/model/DataShareAssociation.h +++ b/generated/src/aws-cpp-sdk-redshift/include/aws/redshift/model/DataShareAssociation.h @@ -232,6 +232,56 @@ namespace Model */ inline DataShareAssociation& WithStatusChangeDate(Aws::Utils::DateTime&& value) { SetStatusChangeDate(std::move(value)); return *this;} + + /** + *

    Specifies whether write operations were allowed during data share + * authorization.

    + */ + inline bool GetProducerAllowedWrites() const{ return m_producerAllowedWrites; } + + /** + *

    Specifies whether write operations were allowed during data share + * authorization.

    + */ + inline bool ProducerAllowedWritesHasBeenSet() const { return m_producerAllowedWritesHasBeenSet; } + + /** + *

    Specifies whether write operations were allowed during data share + * authorization.

    + */ + inline void SetProducerAllowedWrites(bool value) { m_producerAllowedWritesHasBeenSet = true; m_producerAllowedWrites = value; } + + /** + *

    Specifies whether write operations were allowed during data share + * authorization.

    + */ + inline DataShareAssociation& WithProducerAllowedWrites(bool value) { SetProducerAllowedWrites(value); return *this;} + + + /** + *

    Specifies whether write operations were allowed during data share + * association.

    + */ + inline bool GetConsumerAcceptedWrites() const{ return m_consumerAcceptedWrites; } + + /** + *

    Specifies whether write operations were allowed during data share + * association.

    + */ + inline bool ConsumerAcceptedWritesHasBeenSet() const { return m_consumerAcceptedWritesHasBeenSet; } + + /** + *

    Specifies whether write operations were allowed during data share + * association.

    + */ + inline void SetConsumerAcceptedWrites(bool value) { m_consumerAcceptedWritesHasBeenSet = true; m_consumerAcceptedWrites = value; } + + /** + *

    Specifies whether write operations were allowed during data share + * association.

    + */ + inline DataShareAssociation& WithConsumerAcceptedWrites(bool value) { SetConsumerAcceptedWrites(value); return *this;} + private: Aws::String m_consumerIdentifier; @@ -248,6 +298,12 @@ namespace Model Aws::Utils::DateTime m_statusChangeDate; bool m_statusChangeDateHasBeenSet = false; + + bool m_producerAllowedWrites; + bool m_producerAllowedWritesHasBeenSet = false; + + bool m_consumerAcceptedWrites; + bool m_consumerAcceptedWritesHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-redshift/source/model/AssociateDataShareConsumerRequest.cpp b/generated/src/aws-cpp-sdk-redshift/source/model/AssociateDataShareConsumerRequest.cpp index 2cba80bfe50..9572a262e01 100644 --- a/generated/src/aws-cpp-sdk-redshift/source/model/AssociateDataShareConsumerRequest.cpp +++ b/generated/src/aws-cpp-sdk-redshift/source/model/AssociateDataShareConsumerRequest.cpp @@ -15,7 +15,9 @@ AssociateDataShareConsumerRequest::AssociateDataShareConsumerRequest() : m_associateEntireAccount(false), m_associateEntireAccountHasBeenSet(false), m_consumerArnHasBeenSet(false), - m_consumerRegionHasBeenSet(false) + m_consumerRegionHasBeenSet(false), + m_allowWrites(false), + m_allowWritesHasBeenSet(false) { } @@ -43,6 +45,11 @@ Aws::String AssociateDataShareConsumerRequest::SerializePayload() const ss << "ConsumerRegion=" << StringUtils::URLEncode(m_consumerRegion.c_str()) << "&"; } + if(m_allowWritesHasBeenSet) + { + ss << "AllowWrites=" << std::boolalpha << m_allowWrites << "&"; + } + ss << "Version=2012-12-01"; return ss.str(); } diff --git a/generated/src/aws-cpp-sdk-redshift/source/model/AuthorizeDataShareRequest.cpp b/generated/src/aws-cpp-sdk-redshift/source/model/AuthorizeDataShareRequest.cpp index c65a9ba465e..2eb972782b5 100644 --- a/generated/src/aws-cpp-sdk-redshift/source/model/AuthorizeDataShareRequest.cpp +++ b/generated/src/aws-cpp-sdk-redshift/source/model/AuthorizeDataShareRequest.cpp @@ -12,7 +12,9 @@ using namespace Aws::Utils; AuthorizeDataShareRequest::AuthorizeDataShareRequest() : m_dataShareArnHasBeenSet(false), - m_consumerIdentifierHasBeenSet(false) + m_consumerIdentifierHasBeenSet(false), + m_allowWrites(false), + m_allowWritesHasBeenSet(false) { } @@ -30,6 +32,11 @@ Aws::String AuthorizeDataShareRequest::SerializePayload() const ss << "ConsumerIdentifier=" << StringUtils::URLEncode(m_consumerIdentifier.c_str()) << "&"; } + if(m_allowWritesHasBeenSet) + { + ss << "AllowWrites=" << std::boolalpha << m_allowWrites << "&"; + } + ss << "Version=2012-12-01"; return ss.str(); } diff --git a/generated/src/aws-cpp-sdk-redshift/source/model/DataShareAssociation.cpp b/generated/src/aws-cpp-sdk-redshift/source/model/DataShareAssociation.cpp index da54c43e2df..4254fdffe3f 100644 --- a/generated/src/aws-cpp-sdk-redshift/source/model/DataShareAssociation.cpp +++ b/generated/src/aws-cpp-sdk-redshift/source/model/DataShareAssociation.cpp @@ -26,7 +26,11 @@ DataShareAssociation::DataShareAssociation() : m_statusHasBeenSet(false), m_consumerRegionHasBeenSet(false), m_createdDateHasBeenSet(false), - m_statusChangeDateHasBeenSet(false) + m_statusChangeDateHasBeenSet(false), + m_producerAllowedWrites(false), + m_producerAllowedWritesHasBeenSet(false), + m_consumerAcceptedWrites(false), + m_consumerAcceptedWritesHasBeenSet(false) { } @@ -36,7 +40,11 @@ DataShareAssociation::DataShareAssociation(const XmlNode& xmlNode) : m_statusHasBeenSet(false), m_consumerRegionHasBeenSet(false), m_createdDateHasBeenSet(false), - m_statusChangeDateHasBeenSet(false) + m_statusChangeDateHasBeenSet(false), + m_producerAllowedWrites(false), + m_producerAllowedWritesHasBeenSet(false), + m_consumerAcceptedWrites(false), + m_consumerAcceptedWritesHasBeenSet(false) { *this = xmlNode; } @@ -77,6 +85,18 @@ DataShareAssociation& DataShareAssociation::operator =(const XmlNode& xmlNode) m_statusChangeDate = DateTime(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(statusChangeDateNode.GetText()).c_str()).c_str(), Aws::Utils::DateFormat::ISO_8601); m_statusChangeDateHasBeenSet = true; } + XmlNode producerAllowedWritesNode = resultNode.FirstChild("ProducerAllowedWrites"); + if(!producerAllowedWritesNode.IsNull()) + { + m_producerAllowedWrites = StringUtils::ConvertToBool(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(producerAllowedWritesNode.GetText()).c_str()).c_str()); + m_producerAllowedWritesHasBeenSet = true; + } + XmlNode consumerAcceptedWritesNode = resultNode.FirstChild("ConsumerAcceptedWrites"); + if(!consumerAcceptedWritesNode.IsNull()) + { + m_consumerAcceptedWrites = StringUtils::ConvertToBool(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(consumerAcceptedWritesNode.GetText()).c_str()).c_str()); + m_consumerAcceptedWritesHasBeenSet = true; + } } return *this; @@ -109,6 +129,16 @@ void DataShareAssociation::OutputToStream(Aws::OStream& oStream, const char* loc oStream << location << index << locationValue << ".StatusChangeDate=" << StringUtils::URLEncode(m_statusChangeDate.ToGmtString(Aws::Utils::DateFormat::ISO_8601).c_str()) << "&"; } + if(m_producerAllowedWritesHasBeenSet) + { + oStream << location << index << locationValue << ".ProducerAllowedWrites=" << std::boolalpha << m_producerAllowedWrites << "&"; + } + + if(m_consumerAcceptedWritesHasBeenSet) + { + oStream << location << index << locationValue << ".ConsumerAcceptedWrites=" << std::boolalpha << m_consumerAcceptedWrites << "&"; + } + } void DataShareAssociation::OutputToStream(Aws::OStream& oStream, const char* location) const @@ -133,6 +163,14 @@ void DataShareAssociation::OutputToStream(Aws::OStream& oStream, const char* loc { oStream << location << ".StatusChangeDate=" << StringUtils::URLEncode(m_statusChangeDate.ToGmtString(Aws::Utils::DateFormat::ISO_8601).c_str()) << "&"; } + if(m_producerAllowedWritesHasBeenSet) + { + oStream << location << ".ProducerAllowedWrites=" << std::boolalpha << m_producerAllowedWrites << "&"; + } + if(m_consumerAcceptedWritesHasBeenSet) + { + oStream << location << ".ConsumerAcceptedWrites=" << std::boolalpha << m_consumerAcceptedWrites << "&"; + } } } // namespace Model diff --git a/generated/src/aws-cpp-sdk-repostspace/CMakeLists.txt b/generated/src/aws-cpp-sdk-repostspace/CMakeLists.txt new file mode 100644 index 00000000000..d491820433a --- /dev/null +++ b/generated/src/aws-cpp-sdk-repostspace/CMakeLists.txt @@ -0,0 +1,76 @@ +add_project(aws-cpp-sdk-repostspace "C++ SDK for the AWS repostspace service" aws-cpp-sdk-core) + +file(GLOB AWS_REPOSTSPACE_HEADERS + "include/aws/repostspace/*.h" +) + +file(GLOB AWS_REPOSTSPACE_MODEL_HEADERS + "include/aws/repostspace/model/*.h" +) + +file(GLOB AWS_REPOSTSPACE_SOURCE + "source/*.cpp" +) + +file(GLOB AWS_REPOSTSPACE_MODEL_SOURCE + "source/model/*.cpp" +) + +file(GLOB REPOSTSPACE_UNIFIED_HEADERS + ${AWS_REPOSTSPACE_HEADERS} + ${AWS_REPOSTSPACE_MODEL_HEADERS} +) + +file(GLOB REPOSTSPACE_UNITY_SRC + ${AWS_REPOSTSPACE_SOURCE} + ${AWS_REPOSTSPACE_MODEL_SOURCE} +) + +if(ENABLE_UNITY_BUILD) + enable_unity_build("REPOSTSPACE" REPOSTSPACE_UNITY_SRC) +endif() + +file(GLOB REPOSTSPACE_SRC + ${REPOSTSPACE_UNIFIED_HEADERS} + ${REPOSTSPACE_UNITY_SRC} +) + +if(WIN32) + #if we are compiling for visual studio, create a sane directory tree. + if(MSVC) + source_group("Header Files\\aws\\repostspace" FILES ${AWS_REPOSTSPACE_HEADERS}) + source_group("Header Files\\aws\\repostspace\\model" FILES ${AWS_REPOSTSPACE_MODEL_HEADERS}) + source_group("Source Files" FILES ${AWS_REPOSTSPACE_SOURCE}) + source_group("Source Files\\model" FILES ${AWS_REPOSTSPACE_MODEL_SOURCE}) + endif(MSVC) +endif() + +set(REPOSTSPACE_INCLUDES + "${CMAKE_CURRENT_SOURCE_DIR}/include/" +) + +add_library(${PROJECT_NAME} ${REPOSTSPACE_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_REPOSTSPACE_EXPORTS") +endif() + +target_include_directories(${PROJECT_NAME} PUBLIC + $ + $) + +target_link_libraries(${PROJECT_NAME} PRIVATE ${PLATFORM_DEP_LIBS} ${PROJECT_LIBS}) + + +setup_install() + +install (FILES ${AWS_REPOSTSPACE_HEADERS} DESTINATION ${INCLUDE_DIRECTORY}/aws/repostspace) +install (FILES ${AWS_REPOSTSPACE_MODEL_HEADERS} DESTINATION ${INCLUDE_DIRECTORY}/aws/repostspace/model) + +do_packaging() + + diff --git a/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/RepostspaceClient.h b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/RepostspaceClient.h new file mode 100644 index 00000000000..cb190150e2c --- /dev/null +++ b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/RepostspaceClient.h @@ -0,0 +1,390 @@ +/** + * 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 repostspace +{ + /** + *

    AWS re:Post Private is a private version of AWS re:Post for enterprises with + * Enterprise Support or Enterprise On-Ramp Support plans. It provides access to + * knowledge and experts to accelerate cloud adoption and increase developer + * productivity. With your organization-specific private re:Post, you can build an + * organization-specific developer community that drives efficiencies at scale and + * provides access to valuable knowledge resources. Additionally, re:Post Private + * centralizes trusted AWS technical content and offers private discussion forums + * to improve how your teams collaborate internally and with AWS to remove + * technical obstacles, accelerate innovation, and scale more efficiently in the + * cloud.

    + */ + class AWS_REPOSTSPACE_API RepostspaceClient : public Aws::Client::AWSJsonClient, public Aws::Client::ClientWithAsyncTemplateMethods + { + public: + typedef Aws::Client::AWSJsonClient BASECLASS; + static const char* SERVICE_NAME; + static const char* ALLOCATION_TAG; + + typedef RepostspaceClientConfiguration ClientConfigurationType; + typedef RepostspaceEndpointProvider 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. + */ + RepostspaceClient(const Aws::repostspace::RepostspaceClientConfiguration& clientConfiguration = Aws::repostspace::RepostspaceClientConfiguration(), + std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG)); + + /** + * 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. + */ + RepostspaceClient(const Aws::Auth::AWSCredentials& credentials, + std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG), + const Aws::repostspace::RepostspaceClientConfiguration& clientConfiguration = Aws::repostspace::RepostspaceClientConfiguration()); + + /** + * 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 + */ + RepostspaceClient(const std::shared_ptr& credentialsProvider, + std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG), + const Aws::repostspace::RepostspaceClientConfiguration& clientConfiguration = Aws::repostspace::RepostspaceClientConfiguration()); + + + /* 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. + */ + RepostspaceClient(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. + */ + RepostspaceClient(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 + */ + RepostspaceClient(const std::shared_ptr& credentialsProvider, + const Aws::Client::ClientConfiguration& clientConfiguration); + + /* End of legacy constructors due deprecation */ + virtual ~RepostspaceClient(); + + /** + *

    Creates an AWS re:Post Private private re:Post.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::CreateSpaceOutcome CreateSpace(const Model::CreateSpaceRequest& request) const; + + /** + * A Callable wrapper for CreateSpace that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::CreateSpaceOutcomeCallable CreateSpaceCallable(const CreateSpaceRequestT& request) const + { + return SubmitCallable(&RepostspaceClient::CreateSpace, request); + } + + /** + * An Async wrapper for CreateSpace that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void CreateSpaceAsync(const CreateSpaceRequestT& request, const CreateSpaceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&RepostspaceClient::CreateSpace, request, handler, context); + } + + /** + *

    Deletes an AWS re:Post Private private re:Post.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::DeleteSpaceOutcome DeleteSpace(const Model::DeleteSpaceRequest& request) const; + + /** + * A Callable wrapper for DeleteSpace that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DeleteSpaceOutcomeCallable DeleteSpaceCallable(const DeleteSpaceRequestT& request) const + { + return SubmitCallable(&RepostspaceClient::DeleteSpace, request); + } + + /** + * An Async wrapper for DeleteSpace that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DeleteSpaceAsync(const DeleteSpaceRequestT& request, const DeleteSpaceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&RepostspaceClient::DeleteSpace, request, handler, context); + } + + /** + *

    Removes the user or group from the list of administrators of the private + * re:Post.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::DeregisterAdminOutcome DeregisterAdmin(const Model::DeregisterAdminRequest& request) const; + + /** + * A Callable wrapper for DeregisterAdmin that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DeregisterAdminOutcomeCallable DeregisterAdminCallable(const DeregisterAdminRequestT& request) const + { + return SubmitCallable(&RepostspaceClient::DeregisterAdmin, request); + } + + /** + * An Async wrapper for DeregisterAdmin that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DeregisterAdminAsync(const DeregisterAdminRequestT& request, const DeregisterAdminResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&RepostspaceClient::DeregisterAdmin, request, handler, context); + } + + /** + *

    Displays information about the AWS re:Post Private private + * re:Post.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::GetSpaceOutcome GetSpace(const Model::GetSpaceRequest& request) const; + + /** + * A Callable wrapper for GetSpace that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetSpaceOutcomeCallable GetSpaceCallable(const GetSpaceRequestT& request) const + { + return SubmitCallable(&RepostspaceClient::GetSpace, request); + } + + /** + * An Async wrapper for GetSpace that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetSpaceAsync(const GetSpaceRequestT& request, const GetSpaceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&RepostspaceClient::GetSpace, request, handler, context); + } + + /** + *

    Returns a list of AWS re:Post Private private re:Posts in the account with + * some information about each private re:Post.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::ListSpacesOutcome ListSpaces(const Model::ListSpacesRequest& request) const; + + /** + * A Callable wrapper for ListSpaces that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListSpacesOutcomeCallable ListSpacesCallable(const ListSpacesRequestT& request) const + { + return SubmitCallable(&RepostspaceClient::ListSpaces, request); + } + + /** + * An Async wrapper for ListSpaces that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListSpacesAsync(const ListSpacesRequestT& request, const ListSpacesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&RepostspaceClient::ListSpaces, request, handler, context); + } + + /** + *

    Returns the tags that are associated with the AWS re:Post Private resource + * specified by the resourceArn. The only resource that can be tagged is a private + * re:Post.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest& request) const; + + /** + * A Callable wrapper for ListTagsForResource that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const ListTagsForResourceRequestT& request) const + { + return SubmitCallable(&RepostspaceClient::ListTagsForResource, request); + } + + /** + * An Async wrapper for ListTagsForResource that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListTagsForResourceAsync(const ListTagsForResourceRequestT& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&RepostspaceClient::ListTagsForResource, request, handler, context); + } + + /** + *

    Adds a user or group to the list of administrators of the private + * re:Post.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::RegisterAdminOutcome RegisterAdmin(const Model::RegisterAdminRequest& request) const; + + /** + * A Callable wrapper for RegisterAdmin that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::RegisterAdminOutcomeCallable RegisterAdminCallable(const RegisterAdminRequestT& request) const + { + return SubmitCallable(&RepostspaceClient::RegisterAdmin, request); + } + + /** + * An Async wrapper for RegisterAdmin that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void RegisterAdminAsync(const RegisterAdminRequestT& request, const RegisterAdminResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&RepostspaceClient::RegisterAdmin, request, handler, context); + } + + /** + *

    Sends an invitation email to selected users and groups.

    See + * Also:

    AWS + * API Reference

    + */ + virtual Model::SendInvitesOutcome SendInvites(const Model::SendInvitesRequest& request) const; + + /** + * A Callable wrapper for SendInvites that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::SendInvitesOutcomeCallable SendInvitesCallable(const SendInvitesRequestT& request) const + { + return SubmitCallable(&RepostspaceClient::SendInvites, request); + } + + /** + * An Async wrapper for SendInvites that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void SendInvitesAsync(const SendInvitesRequestT& request, const SendInvitesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&RepostspaceClient::SendInvites, request, handler, context); + } + + /** + *

    Associates tags with an AWS re:Post Private resource. Currently, the only + * resource that can be tagged is the private re:Post. If you specify a new tag key + * for the resource, the tag is appended to the list of tags that are associated + * with the resource. If you specify a tag key that’s already associated with the + * resource, the new tag value that you specify replaces the previous value for + * that tag.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest& request) const; + + /** + * A Callable wrapper for TagResource that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::TagResourceOutcomeCallable TagResourceCallable(const TagResourceRequestT& request) const + { + return SubmitCallable(&RepostspaceClient::TagResource, request); + } + + /** + * An Async wrapper for TagResource that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void TagResourceAsync(const TagResourceRequestT& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&RepostspaceClient::TagResource, request, handler, context); + } + + /** + *

    Removes the association of the tag with the AWS re:Post Private + * resource.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest& request) const; + + /** + * A Callable wrapper for UntagResource that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::UntagResourceOutcomeCallable UntagResourceCallable(const UntagResourceRequestT& request) const + { + return SubmitCallable(&RepostspaceClient::UntagResource, request); + } + + /** + * An Async wrapper for UntagResource that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void UntagResourceAsync(const UntagResourceRequestT& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&RepostspaceClient::UntagResource, request, handler, context); + } + + /** + *

    Modifies an existing AWS re:Post Private private re:Post.

    See + * Also:

    AWS + * API Reference

    + */ + virtual Model::UpdateSpaceOutcome UpdateSpace(const Model::UpdateSpaceRequest& request) const; + + /** + * A Callable wrapper for UpdateSpace that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::UpdateSpaceOutcomeCallable UpdateSpaceCallable(const UpdateSpaceRequestT& request) const + { + return SubmitCallable(&RepostspaceClient::UpdateSpace, request); + } + + /** + * An Async wrapper for UpdateSpace that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void UpdateSpaceAsync(const UpdateSpaceRequestT& request, const UpdateSpaceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&RepostspaceClient::UpdateSpace, request, handler, context); + } + + + void OverrideEndpoint(const Aws::String& endpoint); + std::shared_ptr& accessEndpointProvider(); + private: + friend class Aws::Client::ClientWithAsyncTemplateMethods; + void init(const RepostspaceClientConfiguration& clientConfiguration); + + RepostspaceClientConfiguration m_clientConfiguration; + std::shared_ptr m_executor; + std::shared_ptr m_endpointProvider; + }; + +} // namespace repostspace +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/RepostspaceEndpointProvider.h b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/RepostspaceEndpointProvider.h new file mode 100644 index 00000000000..65ebd1388e7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/RepostspaceEndpointProvider.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 repostspace +{ +namespace Endpoint +{ +using EndpointParameters = Aws::Endpoint::EndpointParameters; +using Aws::Endpoint::EndpointProviderBase; +using Aws::Endpoint::DefaultEndpointProvider; + +using RepostspaceClientContextParameters = Aws::Endpoint::ClientContextParameters; + +using RepostspaceClientConfiguration = Aws::Client::GenericClientConfiguration; +using RepostspaceBuiltInParameters = Aws::Endpoint::BuiltInParameters; + +/** + * The type for the repostspace 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 RepostspaceEndpointProviderBase = + EndpointProviderBase; + +using RepostspaceDefaultEpProviderBase = + DefaultEndpointProvider; + +/** + * Default endpoint provider used for this service + */ +class AWS_REPOSTSPACE_API RepostspaceEndpointProvider : public RepostspaceDefaultEpProviderBase +{ +public: + using RepostspaceResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; + + RepostspaceEndpointProvider() + : RepostspaceDefaultEpProviderBase(Aws::repostspace::RepostspaceEndpointRules::GetRulesBlob(), Aws::repostspace::RepostspaceEndpointRules::RulesBlobSize) + {} + + ~RepostspaceEndpointProvider() + { + } +}; +} // namespace Endpoint +} // namespace repostspace +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/RepostspaceEndpointRules.h b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/RepostspaceEndpointRules.h new file mode 100644 index 00000000000..64aa7bbf41f --- /dev/null +++ b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/RepostspaceEndpointRules.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 repostspace +{ +class RepostspaceEndpointRules +{ +public: + static const size_t RulesBlobStrLen; + static const size_t RulesBlobSize; + + static const char* GetRulesBlob(); +}; +} // namespace repostspace +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/RepostspaceErrorMarshaller.h b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/RepostspaceErrorMarshaller.h new file mode 100644 index 00000000000..c54dbdcc1df --- /dev/null +++ b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/RepostspaceErrorMarshaller.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_REPOSTSPACE_API RepostspaceErrorMarshaller : public Aws::Client::JsonErrorMarshaller +{ +public: + Aws::Client::AWSError FindErrorByName(const char* exceptionName) const override; +}; + +} // namespace Client +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/RepostspaceErrors.h b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/RepostspaceErrors.h new file mode 100644 index 00000000000..e707c0ab4e8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/RepostspaceErrors.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 repostspace +{ +enum class RepostspaceErrors +{ + //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, + /////////////////////////////////////////////////////////////////////////////////////////// + + CONFLICT= static_cast(Aws::Client::CoreErrors::SERVICE_EXTENSION_START_RANGE) + 1, + INTERNAL_SERVER, + SERVICE_QUOTA_EXCEEDED +}; + +class AWS_REPOSTSPACE_API RepostspaceError : public Aws::Client::AWSError +{ +public: + RepostspaceError() {} + RepostspaceError(const Aws::Client::AWSError& rhs) : Aws::Client::AWSError(rhs) {} + RepostspaceError(Aws::Client::AWSError&& rhs) : Aws::Client::AWSError(rhs) {} + RepostspaceError(const Aws::Client::AWSError& rhs) : Aws::Client::AWSError(rhs) {} + RepostspaceError(Aws::Client::AWSError&& rhs) : Aws::Client::AWSError(rhs) {} + + template + T GetModeledError(); +}; + +namespace RepostspaceErrorMapper +{ + AWS_REPOSTSPACE_API Aws::Client::AWSError GetErrorForName(const char* errorName); +} + +} // namespace repostspace +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/RepostspaceRequest.h b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/RepostspaceRequest.h new file mode 100644 index 00000000000..6ca68c62292 --- /dev/null +++ b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/RepostspaceRequest.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 repostspace +{ + class AWS_REPOSTSPACE_API RepostspaceRequest : public Aws::AmazonSerializableWebServiceRequest + { + public: + using EndpointParameter = Aws::Endpoint::EndpointParameter; + using EndpointParameters = Aws::Endpoint::EndpointParameters; + + virtual ~RepostspaceRequest () {} + + 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, "2022-05-13")); + return headers; + } + + protected: + virtual Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const { return Aws::Http::HeaderValueCollection(); } + + }; + + +} // namespace repostspace +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/RepostspaceServiceClientModel.h b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/RepostspaceServiceClientModel.h new file mode 100644 index 00000000000..ad4068690d6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/RepostspaceServiceClientModel.h @@ -0,0 +1,126 @@ +/** + * 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 RepostspaceClient header */ +#include +#include +#include +#include +#include +#include +#include +/* End of service model headers required in RepostspaceClient 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 repostspace + { + using RepostspaceClientConfiguration = Aws::Client::GenericClientConfiguration; + using RepostspaceEndpointProviderBase = Aws::repostspace::Endpoint::RepostspaceEndpointProviderBase; + using RepostspaceEndpointProvider = Aws::repostspace::Endpoint::RepostspaceEndpointProvider; + + namespace Model + { + /* Service model forward declarations required in RepostspaceClient header */ + class CreateSpaceRequest; + class DeleteSpaceRequest; + class DeregisterAdminRequest; + class GetSpaceRequest; + class ListSpacesRequest; + class ListTagsForResourceRequest; + class RegisterAdminRequest; + class SendInvitesRequest; + class TagResourceRequest; + class UntagResourceRequest; + class UpdateSpaceRequest; + /* End of service model forward declarations required in RepostspaceClient header */ + + /* Service model Outcome class definitions */ + typedef Aws::Utils::Outcome CreateSpaceOutcome; + typedef Aws::Utils::Outcome DeleteSpaceOutcome; + typedef Aws::Utils::Outcome DeregisterAdminOutcome; + typedef Aws::Utils::Outcome GetSpaceOutcome; + typedef Aws::Utils::Outcome ListSpacesOutcome; + typedef Aws::Utils::Outcome ListTagsForResourceOutcome; + typedef Aws::Utils::Outcome RegisterAdminOutcome; + typedef Aws::Utils::Outcome SendInvitesOutcome; + typedef Aws::Utils::Outcome TagResourceOutcome; + typedef Aws::Utils::Outcome UntagResourceOutcome; + typedef Aws::Utils::Outcome UpdateSpaceOutcome; + /* End of service model Outcome class definitions */ + + /* Service model Outcome callable definitions */ + typedef std::future CreateSpaceOutcomeCallable; + typedef std::future DeleteSpaceOutcomeCallable; + typedef std::future DeregisterAdminOutcomeCallable; + typedef std::future GetSpaceOutcomeCallable; + typedef std::future ListSpacesOutcomeCallable; + typedef std::future ListTagsForResourceOutcomeCallable; + typedef std::future RegisterAdminOutcomeCallable; + typedef std::future SendInvitesOutcomeCallable; + typedef std::future TagResourceOutcomeCallable; + typedef std::future UntagResourceOutcomeCallable; + typedef std::future UpdateSpaceOutcomeCallable; + /* End of service model Outcome callable definitions */ + } // namespace Model + + class RepostspaceClient; + + /* Service model async handlers definitions */ + typedef std::function&) > CreateSpaceResponseReceivedHandler; + typedef std::function&) > DeleteSpaceResponseReceivedHandler; + typedef std::function&) > DeregisterAdminResponseReceivedHandler; + typedef std::function&) > GetSpaceResponseReceivedHandler; + typedef std::function&) > ListSpacesResponseReceivedHandler; + typedef std::function&) > ListTagsForResourceResponseReceivedHandler; + typedef std::function&) > RegisterAdminResponseReceivedHandler; + typedef std::function&) > SendInvitesResponseReceivedHandler; + typedef std::function&) > TagResourceResponseReceivedHandler; + typedef std::function&) > UntagResourceResponseReceivedHandler; + typedef std::function&) > UpdateSpaceResponseReceivedHandler; + /* End of service model async handlers definitions */ + } // namespace repostspace +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/Repostspace_EXPORTS.h b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/Repostspace_EXPORTS.h new file mode 100644 index 00000000000..d88cf5a9206 --- /dev/null +++ b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/Repostspace_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_REPOSTSPACE_EXPORTS + #define AWS_REPOSTSPACE_API __declspec(dllexport) + #else + #define AWS_REPOSTSPACE_API __declspec(dllimport) + #endif /* AWS_REPOSTSPACE_EXPORTS */ + #define AWS_REPOSTSPACE_EXTERN + #else + #define AWS_REPOSTSPACE_API + #define AWS_REPOSTSPACE_EXTERN extern + #endif // USE_IMPORT_EXPORT +#else // defined (USE_WINDOWS_DLL_SEMANTICS) || defined (WIN32) + #define AWS_REPOSTSPACE_API + #define AWS_REPOSTSPACE_EXTERN extern +#endif // defined (USE_WINDOWS_DLL_SEMANTICS) || defined (WIN32) diff --git a/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/ConfigurationStatus.h b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/ConfigurationStatus.h new file mode 100644 index 00000000000..bc792028894 --- /dev/null +++ b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/ConfigurationStatus.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 repostspace +{ +namespace Model +{ + enum class ConfigurationStatus + { + NOT_SET, + CONFIGURED, + UNCONFIGURED + }; + +namespace ConfigurationStatusMapper +{ +AWS_REPOSTSPACE_API ConfigurationStatus GetConfigurationStatusForName(const Aws::String& name); + +AWS_REPOSTSPACE_API Aws::String GetNameForConfigurationStatus(ConfigurationStatus value); +} // namespace ConfigurationStatusMapper +} // namespace Model +} // namespace repostspace +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/ConflictException.h b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/ConflictException.h new file mode 100644 index 00000000000..93f38532114 --- /dev/null +++ b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/ConflictException.h @@ -0,0 +1,161 @@ +/** + * 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 repostspace +{ +namespace Model +{ + + /** + *

    Updating or deleting a resource can cause an inconsistent + * state.

    See Also:

    AWS + * API Reference

    + */ + class ConflictException + { + public: + AWS_REPOSTSPACE_API ConflictException(); + AWS_REPOSTSPACE_API ConflictException(Aws::Utils::Json::JsonView jsonValue); + AWS_REPOSTSPACE_API ConflictException& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_REPOSTSPACE_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 ConflictException& WithMessage(const Aws::String& value) { SetMessage(value); return *this;} + + + inline ConflictException& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;} + + + inline ConflictException& WithMessage(const char* value) { SetMessage(value); return *this;} + + + /** + *

    The ID of the resource.

    + */ + inline const Aws::String& GetResourceId() const{ return m_resourceId; } + + /** + *

    The ID of the resource.

    + */ + inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; } + + /** + *

    The ID of the resource.

    + */ + inline void SetResourceId(const Aws::String& value) { m_resourceIdHasBeenSet = true; m_resourceId = value; } + + /** + *

    The ID of the resource.

    + */ + inline void SetResourceId(Aws::String&& value) { m_resourceIdHasBeenSet = true; m_resourceId = std::move(value); } + + /** + *

    The ID of the resource.

    + */ + inline void SetResourceId(const char* value) { m_resourceIdHasBeenSet = true; m_resourceId.assign(value); } + + /** + *

    The ID of the resource.

    + */ + inline ConflictException& WithResourceId(const Aws::String& value) { SetResourceId(value); return *this;} + + /** + *

    The ID of the resource.

    + */ + inline ConflictException& WithResourceId(Aws::String&& value) { SetResourceId(std::move(value)); return *this;} + + /** + *

    The ID of the resource.

    + */ + inline ConflictException& WithResourceId(const char* value) { SetResourceId(value); return *this;} + + + /** + *

    The type of the resource.

    + */ + inline const Aws::String& GetResourceType() const{ return m_resourceType; } + + /** + *

    The type of the resource.

    + */ + inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; } + + /** + *

    The type of the resource.

    + */ + inline void SetResourceType(const Aws::String& value) { m_resourceTypeHasBeenSet = true; m_resourceType = value; } + + /** + *

    The type of the resource.

    + */ + inline void SetResourceType(Aws::String&& value) { m_resourceTypeHasBeenSet = true; m_resourceType = std::move(value); } + + /** + *

    The type of the resource.

    + */ + inline void SetResourceType(const char* value) { m_resourceTypeHasBeenSet = true; m_resourceType.assign(value); } + + /** + *

    The type of the resource.

    + */ + inline ConflictException& WithResourceType(const Aws::String& value) { SetResourceType(value); return *this;} + + /** + *

    The type of the resource.

    + */ + inline ConflictException& WithResourceType(Aws::String&& value) { SetResourceType(std::move(value)); return *this;} + + /** + *

    The type of the resource.

    + */ + inline ConflictException& WithResourceType(const char* value) { SetResourceType(value); return *this;} + + private: + + Aws::String m_message; + bool m_messageHasBeenSet = false; + + Aws::String m_resourceId; + bool m_resourceIdHasBeenSet = false; + + Aws::String m_resourceType; + bool m_resourceTypeHasBeenSet = false; + }; + +} // namespace Model +} // namespace repostspace +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/CreateSpaceRequest.h b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/CreateSpaceRequest.h new file mode 100644 index 00000000000..c6360c1ce15 --- /dev/null +++ b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/CreateSpaceRequest.h @@ -0,0 +1,420 @@ +/** + * 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 repostspace +{ +namespace Model +{ + + /** + */ + class CreateSpaceRequest : public RepostspaceRequest + { + public: + AWS_REPOSTSPACE_API CreateSpaceRequest(); + + // 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 "CreateSpace"; } + + AWS_REPOSTSPACE_API Aws::String SerializePayload() const override; + + + /** + *

    A description for the private re:Post. This is used only to help you identify + * this private re:Post.

    + */ + inline const Aws::String& GetDescription() const{ return m_description; } + + /** + *

    A description for the private re:Post. This is used only to help you identify + * this private re:Post.

    + */ + inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } + + /** + *

    A description for the private re:Post. This is used only to help you identify + * this private re:Post.

    + */ + inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } + + /** + *

    A description for the private re:Post. This is used only to help you identify + * this private re:Post.

    + */ + inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } + + /** + *

    A description for the private re:Post. This is used only to help you identify + * this private re:Post.

    + */ + inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } + + /** + *

    A description for the private re:Post. This is used only to help you identify + * this private re:Post.

    + */ + inline CreateSpaceRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} + + /** + *

    A description for the private re:Post. This is used only to help you identify + * this private re:Post.

    + */ + inline CreateSpaceRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} + + /** + *

    A description for the private re:Post. This is used only to help you identify + * this private re:Post.

    + */ + inline CreateSpaceRequest& WithDescription(const char* value) { SetDescription(value); return *this;} + + + /** + *

    The name for the private re:Post. This must be unique in your account.

    + */ + inline const Aws::String& GetName() const{ return m_name; } + + /** + *

    The name for the private re:Post. This must be unique in your account.

    + */ + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + + /** + *

    The name for the private re:Post. This must be unique in your account.

    + */ + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + + /** + *

    The name for the private re:Post. This must be unique in your account.

    + */ + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + + /** + *

    The name for the private re:Post. This must be unique in your account.

    + */ + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + + /** + *

    The name for the private re:Post. This must be unique in your account.

    + */ + inline CreateSpaceRequest& WithName(const Aws::String& value) { SetName(value); return *this;} + + /** + *

    The name for the private re:Post. This must be unique in your account.

    + */ + inline CreateSpaceRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + + /** + *

    The name for the private re:Post. This must be unique in your account.

    + */ + inline CreateSpaceRequest& WithName(const char* value) { SetName(value); return *this;} + + + /** + *

    The IAM role that grants permissions to the private re:Post to convert + * unanswered questions into AWS support tickets.

    + */ + inline const Aws::String& GetRoleArn() const{ return m_roleArn; } + + /** + *

    The IAM role that grants permissions to the private re:Post to convert + * unanswered questions into AWS support tickets.

    + */ + inline bool RoleArnHasBeenSet() const { return m_roleArnHasBeenSet; } + + /** + *

    The IAM role that grants permissions to the private re:Post to convert + * unanswered questions into AWS support tickets.

    + */ + inline void SetRoleArn(const Aws::String& value) { m_roleArnHasBeenSet = true; m_roleArn = value; } + + /** + *

    The IAM role that grants permissions to the private re:Post to convert + * unanswered questions into AWS support tickets.

    + */ + inline void SetRoleArn(Aws::String&& value) { m_roleArnHasBeenSet = true; m_roleArn = std::move(value); } + + /** + *

    The IAM role that grants permissions to the private re:Post to convert + * unanswered questions into AWS support tickets.

    + */ + inline void SetRoleArn(const char* value) { m_roleArnHasBeenSet = true; m_roleArn.assign(value); } + + /** + *

    The IAM role that grants permissions to the private re:Post to convert + * unanswered questions into AWS support tickets.

    + */ + inline CreateSpaceRequest& WithRoleArn(const Aws::String& value) { SetRoleArn(value); return *this;} + + /** + *

    The IAM role that grants permissions to the private re:Post to convert + * unanswered questions into AWS support tickets.

    + */ + inline CreateSpaceRequest& WithRoleArn(Aws::String&& value) { SetRoleArn(std::move(value)); return *this;} + + /** + *

    The IAM role that grants permissions to the private re:Post to convert + * unanswered questions into AWS support tickets.

    + */ + inline CreateSpaceRequest& WithRoleArn(const char* value) { SetRoleArn(value); return *this;} + + + /** + *

    The subdomain that you use to access your AWS re:Post Private private + * re:Post. All custom subdomains must be approved by AWS before use. In addition + * to your custom subdomain, all private re:Posts are issued an AWS generated + * subdomain for immediate use.

    + */ + inline const Aws::String& GetSubdomain() const{ return m_subdomain; } + + /** + *

    The subdomain that you use to access your AWS re:Post Private private + * re:Post. All custom subdomains must be approved by AWS before use. In addition + * to your custom subdomain, all private re:Posts are issued an AWS generated + * subdomain for immediate use.

    + */ + inline bool SubdomainHasBeenSet() const { return m_subdomainHasBeenSet; } + + /** + *

    The subdomain that you use to access your AWS re:Post Private private + * re:Post. All custom subdomains must be approved by AWS before use. In addition + * to your custom subdomain, all private re:Posts are issued an AWS generated + * subdomain for immediate use.

    + */ + inline void SetSubdomain(const Aws::String& value) { m_subdomainHasBeenSet = true; m_subdomain = value; } + + /** + *

    The subdomain that you use to access your AWS re:Post Private private + * re:Post. All custom subdomains must be approved by AWS before use. In addition + * to your custom subdomain, all private re:Posts are issued an AWS generated + * subdomain for immediate use.

    + */ + inline void SetSubdomain(Aws::String&& value) { m_subdomainHasBeenSet = true; m_subdomain = std::move(value); } + + /** + *

    The subdomain that you use to access your AWS re:Post Private private + * re:Post. All custom subdomains must be approved by AWS before use. In addition + * to your custom subdomain, all private re:Posts are issued an AWS generated + * subdomain for immediate use.

    + */ + inline void SetSubdomain(const char* value) { m_subdomainHasBeenSet = true; m_subdomain.assign(value); } + + /** + *

    The subdomain that you use to access your AWS re:Post Private private + * re:Post. All custom subdomains must be approved by AWS before use. In addition + * to your custom subdomain, all private re:Posts are issued an AWS generated + * subdomain for immediate use.

    + */ + inline CreateSpaceRequest& WithSubdomain(const Aws::String& value) { SetSubdomain(value); return *this;} + + /** + *

    The subdomain that you use to access your AWS re:Post Private private + * re:Post. All custom subdomains must be approved by AWS before use. In addition + * to your custom subdomain, all private re:Posts are issued an AWS generated + * subdomain for immediate use.

    + */ + inline CreateSpaceRequest& WithSubdomain(Aws::String&& value) { SetSubdomain(std::move(value)); return *this;} + + /** + *

    The subdomain that you use to access your AWS re:Post Private private + * re:Post. All custom subdomains must be approved by AWS before use. In addition + * to your custom subdomain, all private re:Posts are issued an AWS generated + * subdomain for immediate use.

    + */ + inline CreateSpaceRequest& WithSubdomain(const char* value) { SetSubdomain(value); return *this;} + + + /** + *

    The list of tags associated with the private re:Post.

    + */ + inline const Aws::Map& GetTags() const{ return m_tags; } + + /** + *

    The list of tags associated with the private re:Post.

    + */ + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + + /** + *

    The list of tags associated with the private re:Post.

    + */ + inline void SetTags(const Aws::Map& value) { m_tagsHasBeenSet = true; m_tags = value; } + + /** + *

    The list of tags associated with the private re:Post.

    + */ + inline void SetTags(Aws::Map&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } + + /** + *

    The list of tags associated with the private re:Post.

    + */ + inline CreateSpaceRequest& WithTags(const Aws::Map& value) { SetTags(value); return *this;} + + /** + *

    The list of tags associated with the private re:Post.

    + */ + inline CreateSpaceRequest& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} + + /** + *

    The list of tags associated with the private re:Post.

    + */ + inline CreateSpaceRequest& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } + + /** + *

    The list of tags associated with the private re:Post.

    + */ + inline CreateSpaceRequest& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } + + /** + *

    The list of tags associated with the private re:Post.

    + */ + inline CreateSpaceRequest& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } + + /** + *

    The list of tags associated with the private re:Post.

    + */ + inline CreateSpaceRequest& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } + + /** + *

    The list of tags associated with the private re:Post.

    + */ + inline CreateSpaceRequest& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } + + /** + *

    The list of tags associated with the private re:Post.

    + */ + inline CreateSpaceRequest& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } + + /** + *

    The list of tags associated with the private re:Post.

    + */ + inline CreateSpaceRequest& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } + + + /** + *

    The pricing tier for the private re:Post.

    + */ + inline const TierLevel& GetTier() const{ return m_tier; } + + /** + *

    The pricing tier for the private re:Post.

    + */ + inline bool TierHasBeenSet() const { return m_tierHasBeenSet; } + + /** + *

    The pricing tier for the private re:Post.

    + */ + inline void SetTier(const TierLevel& value) { m_tierHasBeenSet = true; m_tier = value; } + + /** + *

    The pricing tier for the private re:Post.

    + */ + inline void SetTier(TierLevel&& value) { m_tierHasBeenSet = true; m_tier = std::move(value); } + + /** + *

    The pricing tier for the private re:Post.

    + */ + inline CreateSpaceRequest& WithTier(const TierLevel& value) { SetTier(value); return *this;} + + /** + *

    The pricing tier for the private re:Post.

    + */ + inline CreateSpaceRequest& WithTier(TierLevel&& value) { SetTier(std::move(value)); return *this;} + + + /** + *

    The AWS KMS key ARN that’s used for the AWS KMS encryption. If you don't + * provide a key, your data is encrypted by default with a key that AWS owns and + * manages for you.

    + */ + inline const Aws::String& GetUserKMSKey() const{ return m_userKMSKey; } + + /** + *

    The AWS KMS key ARN that’s used for the AWS KMS encryption. If you don't + * provide a key, your data is encrypted by default with a key that AWS owns and + * manages for you.

    + */ + inline bool UserKMSKeyHasBeenSet() const { return m_userKMSKeyHasBeenSet; } + + /** + *

    The AWS KMS key ARN that’s used for the AWS KMS encryption. If you don't + * provide a key, your data is encrypted by default with a key that AWS owns and + * manages for you.

    + */ + inline void SetUserKMSKey(const Aws::String& value) { m_userKMSKeyHasBeenSet = true; m_userKMSKey = value; } + + /** + *

    The AWS KMS key ARN that’s used for the AWS KMS encryption. If you don't + * provide a key, your data is encrypted by default with a key that AWS owns and + * manages for you.

    + */ + inline void SetUserKMSKey(Aws::String&& value) { m_userKMSKeyHasBeenSet = true; m_userKMSKey = std::move(value); } + + /** + *

    The AWS KMS key ARN that’s used for the AWS KMS encryption. If you don't + * provide a key, your data is encrypted by default with a key that AWS owns and + * manages for you.

    + */ + inline void SetUserKMSKey(const char* value) { m_userKMSKeyHasBeenSet = true; m_userKMSKey.assign(value); } + + /** + *

    The AWS KMS key ARN that’s used for the AWS KMS encryption. If you don't + * provide a key, your data is encrypted by default with a key that AWS owns and + * manages for you.

    + */ + inline CreateSpaceRequest& WithUserKMSKey(const Aws::String& value) { SetUserKMSKey(value); return *this;} + + /** + *

    The AWS KMS key ARN that’s used for the AWS KMS encryption. If you don't + * provide a key, your data is encrypted by default with a key that AWS owns and + * manages for you.

    + */ + inline CreateSpaceRequest& WithUserKMSKey(Aws::String&& value) { SetUserKMSKey(std::move(value)); return *this;} + + /** + *

    The AWS KMS key ARN that’s used for the AWS KMS encryption. If you don't + * provide a key, your data is encrypted by default with a key that AWS owns and + * manages for you.

    + */ + inline CreateSpaceRequest& WithUserKMSKey(const char* value) { SetUserKMSKey(value); return *this;} + + private: + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::String m_roleArn; + bool m_roleArnHasBeenSet = false; + + Aws::String m_subdomain; + bool m_subdomainHasBeenSet = false; + + Aws::Map m_tags; + bool m_tagsHasBeenSet = false; + + TierLevel m_tier; + bool m_tierHasBeenSet = false; + + Aws::String m_userKMSKey; + bool m_userKMSKeyHasBeenSet = false; + }; + +} // namespace Model +} // namespace repostspace +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/CreateSpaceResult.h b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/CreateSpaceResult.h new file mode 100644 index 00000000000..9b361a61bc5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/CreateSpaceResult.h @@ -0,0 +1,101 @@ +/** + * 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 repostspace +{ +namespace Model +{ + class CreateSpaceResult + { + public: + AWS_REPOSTSPACE_API CreateSpaceResult(); + AWS_REPOSTSPACE_API CreateSpaceResult(const Aws::AmazonWebServiceResult& result); + AWS_REPOSTSPACE_API CreateSpaceResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

    The unique ID of the private re:Post.

    + */ + inline const Aws::String& GetSpaceId() const{ return m_spaceId; } + + /** + *

    The unique ID of the private re:Post.

    + */ + inline void SetSpaceId(const Aws::String& value) { m_spaceId = value; } + + /** + *

    The unique ID of the private re:Post.

    + */ + inline void SetSpaceId(Aws::String&& value) { m_spaceId = std::move(value); } + + /** + *

    The unique ID of the private re:Post.

    + */ + inline void SetSpaceId(const char* value) { m_spaceId.assign(value); } + + /** + *

    The unique ID of the private re:Post.

    + */ + inline CreateSpaceResult& WithSpaceId(const Aws::String& value) { SetSpaceId(value); return *this;} + + /** + *

    The unique ID of the private re:Post.

    + */ + inline CreateSpaceResult& WithSpaceId(Aws::String&& value) { SetSpaceId(std::move(value)); return *this;} + + /** + *

    The unique ID of the private re:Post.

    + */ + inline CreateSpaceResult& WithSpaceId(const char* value) { SetSpaceId(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 CreateSpaceResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline CreateSpaceResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline CreateSpaceResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::String m_spaceId; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace repostspace +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/DeleteSpaceRequest.h b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/DeleteSpaceRequest.h new file mode 100644 index 00000000000..55620dce620 --- /dev/null +++ b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/DeleteSpaceRequest.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 +#include + +namespace Aws +{ +namespace repostspace +{ +namespace Model +{ + + /** + */ + class DeleteSpaceRequest : public RepostspaceRequest + { + public: + AWS_REPOSTSPACE_API DeleteSpaceRequest(); + + // 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 "DeleteSpace"; } + + AWS_REPOSTSPACE_API Aws::String SerializePayload() const override; + + + /** + *

    The unique ID of the private re:Post.

    + */ + inline const Aws::String& GetSpaceId() const{ return m_spaceId; } + + /** + *

    The unique ID of the private re:Post.

    + */ + inline bool SpaceIdHasBeenSet() const { return m_spaceIdHasBeenSet; } + + /** + *

    The unique ID of the private re:Post.

    + */ + inline void SetSpaceId(const Aws::String& value) { m_spaceIdHasBeenSet = true; m_spaceId = value; } + + /** + *

    The unique ID of the private re:Post.

    + */ + inline void SetSpaceId(Aws::String&& value) { m_spaceIdHasBeenSet = true; m_spaceId = std::move(value); } + + /** + *

    The unique ID of the private re:Post.

    + */ + inline void SetSpaceId(const char* value) { m_spaceIdHasBeenSet = true; m_spaceId.assign(value); } + + /** + *

    The unique ID of the private re:Post.

    + */ + inline DeleteSpaceRequest& WithSpaceId(const Aws::String& value) { SetSpaceId(value); return *this;} + + /** + *

    The unique ID of the private re:Post.

    + */ + inline DeleteSpaceRequest& WithSpaceId(Aws::String&& value) { SetSpaceId(std::move(value)); return *this;} + + /** + *

    The unique ID of the private re:Post.

    + */ + inline DeleteSpaceRequest& WithSpaceId(const char* value) { SetSpaceId(value); return *this;} + + private: + + Aws::String m_spaceId; + bool m_spaceIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace repostspace +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/DeregisterAdminRequest.h b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/DeregisterAdminRequest.h new file mode 100644 index 00000000000..508daf2e569 --- /dev/null +++ b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/DeregisterAdminRequest.h @@ -0,0 +1,127 @@ +/** + * 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 repostspace +{ +namespace Model +{ + + /** + */ + class DeregisterAdminRequest : public RepostspaceRequest + { + public: + AWS_REPOSTSPACE_API DeregisterAdminRequest(); + + // 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 "DeregisterAdmin"; } + + AWS_REPOSTSPACE_API Aws::String SerializePayload() const override; + + + /** + *

    The ID of the admin to remove.

    + */ + inline const Aws::String& GetAdminId() const{ return m_adminId; } + + /** + *

    The ID of the admin to remove.

    + */ + inline bool AdminIdHasBeenSet() const { return m_adminIdHasBeenSet; } + + /** + *

    The ID of the admin to remove.

    + */ + inline void SetAdminId(const Aws::String& value) { m_adminIdHasBeenSet = true; m_adminId = value; } + + /** + *

    The ID of the admin to remove.

    + */ + inline void SetAdminId(Aws::String&& value) { m_adminIdHasBeenSet = true; m_adminId = std::move(value); } + + /** + *

    The ID of the admin to remove.

    + */ + inline void SetAdminId(const char* value) { m_adminIdHasBeenSet = true; m_adminId.assign(value); } + + /** + *

    The ID of the admin to remove.

    + */ + inline DeregisterAdminRequest& WithAdminId(const Aws::String& value) { SetAdminId(value); return *this;} + + /** + *

    The ID of the admin to remove.

    + */ + inline DeregisterAdminRequest& WithAdminId(Aws::String&& value) { SetAdminId(std::move(value)); return *this;} + + /** + *

    The ID of the admin to remove.

    + */ + inline DeregisterAdminRequest& WithAdminId(const char* value) { SetAdminId(value); return *this;} + + + /** + *

    The ID of the private re:Post to remove the admin from.

    + */ + inline const Aws::String& GetSpaceId() const{ return m_spaceId; } + + /** + *

    The ID of the private re:Post to remove the admin from.

    + */ + inline bool SpaceIdHasBeenSet() const { return m_spaceIdHasBeenSet; } + + /** + *

    The ID of the private re:Post to remove the admin from.

    + */ + inline void SetSpaceId(const Aws::String& value) { m_spaceIdHasBeenSet = true; m_spaceId = value; } + + /** + *

    The ID of the private re:Post to remove the admin from.

    + */ + inline void SetSpaceId(Aws::String&& value) { m_spaceIdHasBeenSet = true; m_spaceId = std::move(value); } + + /** + *

    The ID of the private re:Post to remove the admin from.

    + */ + inline void SetSpaceId(const char* value) { m_spaceIdHasBeenSet = true; m_spaceId.assign(value); } + + /** + *

    The ID of the private re:Post to remove the admin from.

    + */ + inline DeregisterAdminRequest& WithSpaceId(const Aws::String& value) { SetSpaceId(value); return *this;} + + /** + *

    The ID of the private re:Post to remove the admin from.

    + */ + inline DeregisterAdminRequest& WithSpaceId(Aws::String&& value) { SetSpaceId(std::move(value)); return *this;} + + /** + *

    The ID of the private re:Post to remove the admin from.

    + */ + inline DeregisterAdminRequest& WithSpaceId(const char* value) { SetSpaceId(value); return *this;} + + private: + + Aws::String m_adminId; + bool m_adminIdHasBeenSet = false; + + Aws::String m_spaceId; + bool m_spaceIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace repostspace +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/GetSpaceRequest.h b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/GetSpaceRequest.h new file mode 100644 index 00000000000..80b124a67ed --- /dev/null +++ b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/GetSpaceRequest.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 +#include + +namespace Aws +{ +namespace repostspace +{ +namespace Model +{ + + /** + */ + class GetSpaceRequest : public RepostspaceRequest + { + public: + AWS_REPOSTSPACE_API GetSpaceRequest(); + + // 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 "GetSpace"; } + + AWS_REPOSTSPACE_API Aws::String SerializePayload() const override; + + + /** + *

    The ID of the private re:Post.

    + */ + inline const Aws::String& GetSpaceId() const{ return m_spaceId; } + + /** + *

    The ID of the private re:Post.

    + */ + inline bool SpaceIdHasBeenSet() const { return m_spaceIdHasBeenSet; } + + /** + *

    The ID of the private re:Post.

    + */ + inline void SetSpaceId(const Aws::String& value) { m_spaceIdHasBeenSet = true; m_spaceId = value; } + + /** + *

    The ID of the private re:Post.

    + */ + inline void SetSpaceId(Aws::String&& value) { m_spaceIdHasBeenSet = true; m_spaceId = std::move(value); } + + /** + *

    The ID of the private re:Post.

    + */ + inline void SetSpaceId(const char* value) { m_spaceIdHasBeenSet = true; m_spaceId.assign(value); } + + /** + *

    The ID of the private re:Post.

    + */ + inline GetSpaceRequest& WithSpaceId(const Aws::String& value) { SetSpaceId(value); return *this;} + + /** + *

    The ID of the private re:Post.

    + */ + inline GetSpaceRequest& WithSpaceId(Aws::String&& value) { SetSpaceId(std::move(value)); return *this;} + + /** + *

    The ID of the private re:Post.

    + */ + inline GetSpaceRequest& WithSpaceId(const char* value) { SetSpaceId(value); return *this;} + + private: + + Aws::String m_spaceId; + bool m_spaceIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace repostspace +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/GetSpaceResult.h b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/GetSpaceResult.h new file mode 100644 index 00000000000..884b4829192 --- /dev/null +++ b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/GetSpaceResult.h @@ -0,0 +1,742 @@ +/** + * 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 Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace repostspace +{ +namespace Model +{ + class GetSpaceResult + { + public: + AWS_REPOSTSPACE_API GetSpaceResult(); + AWS_REPOSTSPACE_API GetSpaceResult(const Aws::AmazonWebServiceResult& result); + AWS_REPOSTSPACE_API GetSpaceResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

    The ARN of the private re:Post.

    + */ + inline const Aws::String& GetArn() const{ return m_arn; } + + /** + *

    The ARN of the private re:Post.

    + */ + inline void SetArn(const Aws::String& value) { m_arn = value; } + + /** + *

    The ARN of the private re:Post.

    + */ + inline void SetArn(Aws::String&& value) { m_arn = std::move(value); } + + /** + *

    The ARN of the private re:Post.

    + */ + inline void SetArn(const char* value) { m_arn.assign(value); } + + /** + *

    The ARN of the private re:Post.

    + */ + inline GetSpaceResult& WithArn(const Aws::String& value) { SetArn(value); return *this;} + + /** + *

    The ARN of the private re:Post.

    + */ + inline GetSpaceResult& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} + + /** + *

    The ARN of the private re:Post.

    + */ + inline GetSpaceResult& WithArn(const char* value) { SetArn(value); return *this;} + + + /** + *

    The Identity Center identifier for the Application Instance.

    + */ + inline const Aws::String& GetClientId() const{ return m_clientId; } + + /** + *

    The Identity Center identifier for the Application Instance.

    + */ + inline void SetClientId(const Aws::String& value) { m_clientId = value; } + + /** + *

    The Identity Center identifier for the Application Instance.

    + */ + inline void SetClientId(Aws::String&& value) { m_clientId = std::move(value); } + + /** + *

    The Identity Center identifier for the Application Instance.

    + */ + inline void SetClientId(const char* value) { m_clientId.assign(value); } + + /** + *

    The Identity Center identifier for the Application Instance.

    + */ + inline GetSpaceResult& WithClientId(const Aws::String& value) { SetClientId(value); return *this;} + + /** + *

    The Identity Center identifier for the Application Instance.

    + */ + inline GetSpaceResult& WithClientId(Aws::String&& value) { SetClientId(std::move(value)); return *this;} + + /** + *

    The Identity Center identifier for the Application Instance.

    + */ + inline GetSpaceResult& WithClientId(const char* value) { SetClientId(value); return *this;} + + + /** + *

    The configuration status of the private re:Post.

    + */ + inline const ConfigurationStatus& GetConfigurationStatus() const{ return m_configurationStatus; } + + /** + *

    The configuration status of the private re:Post.

    + */ + inline void SetConfigurationStatus(const ConfigurationStatus& value) { m_configurationStatus = value; } + + /** + *

    The configuration status of the private re:Post.

    + */ + inline void SetConfigurationStatus(ConfigurationStatus&& value) { m_configurationStatus = std::move(value); } + + /** + *

    The configuration status of the private re:Post.

    + */ + inline GetSpaceResult& WithConfigurationStatus(const ConfigurationStatus& value) { SetConfigurationStatus(value); return *this;} + + /** + *

    The configuration status of the private re:Post.

    + */ + inline GetSpaceResult& WithConfigurationStatus(ConfigurationStatus&& value) { SetConfigurationStatus(std::move(value)); return *this;} + + + /** + *

    The content size of the private re:Post.

    + */ + inline long long GetContentSize() const{ return m_contentSize; } + + /** + *

    The content size of the private re:Post.

    + */ + inline void SetContentSize(long long value) { m_contentSize = value; } + + /** + *

    The content size of the private re:Post.

    + */ + inline GetSpaceResult& WithContentSize(long long value) { SetContentSize(value); return *this;} + + + /** + *

    The date when the private re:Post was created.

    + */ + inline const Aws::Utils::DateTime& GetCreateDateTime() const{ return m_createDateTime; } + + /** + *

    The date when the private re:Post was created.

    + */ + inline void SetCreateDateTime(const Aws::Utils::DateTime& value) { m_createDateTime = value; } + + /** + *

    The date when the private re:Post was created.

    + */ + inline void SetCreateDateTime(Aws::Utils::DateTime&& value) { m_createDateTime = std::move(value); } + + /** + *

    The date when the private re:Post was created.

    + */ + inline GetSpaceResult& WithCreateDateTime(const Aws::Utils::DateTime& value) { SetCreateDateTime(value); return *this;} + + /** + *

    The date when the private re:Post was created.

    + */ + inline GetSpaceResult& WithCreateDateTime(Aws::Utils::DateTime&& value) { SetCreateDateTime(std::move(value)); return *this;} + + + /** + *

    The IAM role that grants permissions to the private re:Post to convert + * unanswered questions into AWS support tickets.

    + */ + inline const Aws::String& GetCustomerRoleArn() const{ return m_customerRoleArn; } + + /** + *

    The IAM role that grants permissions to the private re:Post to convert + * unanswered questions into AWS support tickets.

    + */ + inline void SetCustomerRoleArn(const Aws::String& value) { m_customerRoleArn = value; } + + /** + *

    The IAM role that grants permissions to the private re:Post to convert + * unanswered questions into AWS support tickets.

    + */ + inline void SetCustomerRoleArn(Aws::String&& value) { m_customerRoleArn = std::move(value); } + + /** + *

    The IAM role that grants permissions to the private re:Post to convert + * unanswered questions into AWS support tickets.

    + */ + inline void SetCustomerRoleArn(const char* value) { m_customerRoleArn.assign(value); } + + /** + *

    The IAM role that grants permissions to the private re:Post to convert + * unanswered questions into AWS support tickets.

    + */ + inline GetSpaceResult& WithCustomerRoleArn(const Aws::String& value) { SetCustomerRoleArn(value); return *this;} + + /** + *

    The IAM role that grants permissions to the private re:Post to convert + * unanswered questions into AWS support tickets.

    + */ + inline GetSpaceResult& WithCustomerRoleArn(Aws::String&& value) { SetCustomerRoleArn(std::move(value)); return *this;} + + /** + *

    The IAM role that grants permissions to the private re:Post to convert + * unanswered questions into AWS support tickets.

    + */ + inline GetSpaceResult& WithCustomerRoleArn(const char* value) { SetCustomerRoleArn(value); return *this;} + + + /** + *

    The date when the private re:Post was deleted.

    + */ + inline const Aws::Utils::DateTime& GetDeleteDateTime() const{ return m_deleteDateTime; } + + /** + *

    The date when the private re:Post was deleted.

    + */ + inline void SetDeleteDateTime(const Aws::Utils::DateTime& value) { m_deleteDateTime = value; } + + /** + *

    The date when the private re:Post was deleted.

    + */ + inline void SetDeleteDateTime(Aws::Utils::DateTime&& value) { m_deleteDateTime = std::move(value); } + + /** + *

    The date when the private re:Post was deleted.

    + */ + inline GetSpaceResult& WithDeleteDateTime(const Aws::Utils::DateTime& value) { SetDeleteDateTime(value); return *this;} + + /** + *

    The date when the private re:Post was deleted.

    + */ + inline GetSpaceResult& WithDeleteDateTime(Aws::Utils::DateTime&& value) { SetDeleteDateTime(std::move(value)); return *this;} + + + /** + *

    The description of the private re:Post.

    + */ + inline const Aws::String& GetDescription() const{ return m_description; } + + /** + *

    The description of the private re:Post.

    + */ + inline void SetDescription(const Aws::String& value) { m_description = value; } + + /** + *

    The description of the private re:Post.

    + */ + inline void SetDescription(Aws::String&& value) { m_description = std::move(value); } + + /** + *

    The description of the private re:Post.

    + */ + inline void SetDescription(const char* value) { m_description.assign(value); } + + /** + *

    The description of the private re:Post.

    + */ + inline GetSpaceResult& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} + + /** + *

    The description of the private re:Post.

    + */ + inline GetSpaceResult& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} + + /** + *

    The description of the private re:Post.

    + */ + inline GetSpaceResult& WithDescription(const char* value) { SetDescription(value); return *this;} + + + /** + *

    The list of groups that are administrators of the private re:Post.

    + */ + inline const Aws::Vector& GetGroupAdmins() const{ return m_groupAdmins; } + + /** + *

    The list of groups that are administrators of the private re:Post.

    + */ + inline void SetGroupAdmins(const Aws::Vector& value) { m_groupAdmins = value; } + + /** + *

    The list of groups that are administrators of the private re:Post.

    + */ + inline void SetGroupAdmins(Aws::Vector&& value) { m_groupAdmins = std::move(value); } + + /** + *

    The list of groups that are administrators of the private re:Post.

    + */ + inline GetSpaceResult& WithGroupAdmins(const Aws::Vector& value) { SetGroupAdmins(value); return *this;} + + /** + *

    The list of groups that are administrators of the private re:Post.

    + */ + inline GetSpaceResult& WithGroupAdmins(Aws::Vector&& value) { SetGroupAdmins(std::move(value)); return *this;} + + /** + *

    The list of groups that are administrators of the private re:Post.

    + */ + inline GetSpaceResult& AddGroupAdmins(const Aws::String& value) { m_groupAdmins.push_back(value); return *this; } + + /** + *

    The list of groups that are administrators of the private re:Post.

    + */ + inline GetSpaceResult& AddGroupAdmins(Aws::String&& value) { m_groupAdmins.push_back(std::move(value)); return *this; } + + /** + *

    The list of groups that are administrators of the private re:Post.

    + */ + inline GetSpaceResult& AddGroupAdmins(const char* value) { m_groupAdmins.push_back(value); return *this; } + + + /** + *

    The name of the private re:Post.

    + */ + inline const Aws::String& GetName() const{ return m_name; } + + /** + *

    The name of the private re:Post.

    + */ + inline void SetName(const Aws::String& value) { m_name = value; } + + /** + *

    The name of the private re:Post.

    + */ + inline void SetName(Aws::String&& value) { m_name = std::move(value); } + + /** + *

    The name of the private re:Post.

    + */ + inline void SetName(const char* value) { m_name.assign(value); } + + /** + *

    The name of the private re:Post.

    + */ + inline GetSpaceResult& WithName(const Aws::String& value) { SetName(value); return *this;} + + /** + *

    The name of the private re:Post.

    + */ + inline GetSpaceResult& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + + /** + *

    The name of the private re:Post.

    + */ + inline GetSpaceResult& WithName(const char* value) { SetName(value); return *this;} + + + /** + *

    The AWS generated subdomain of the private re:Post

    + */ + inline const Aws::String& GetRandomDomain() const{ return m_randomDomain; } + + /** + *

    The AWS generated subdomain of the private re:Post

    + */ + inline void SetRandomDomain(const Aws::String& value) { m_randomDomain = value; } + + /** + *

    The AWS generated subdomain of the private re:Post

    + */ + inline void SetRandomDomain(Aws::String&& value) { m_randomDomain = std::move(value); } + + /** + *

    The AWS generated subdomain of the private re:Post

    + */ + inline void SetRandomDomain(const char* value) { m_randomDomain.assign(value); } + + /** + *

    The AWS generated subdomain of the private re:Post

    + */ + inline GetSpaceResult& WithRandomDomain(const Aws::String& value) { SetRandomDomain(value); return *this;} + + /** + *

    The AWS generated subdomain of the private re:Post

    + */ + inline GetSpaceResult& WithRandomDomain(Aws::String&& value) { SetRandomDomain(std::move(value)); return *this;} + + /** + *

    The AWS generated subdomain of the private re:Post

    + */ + inline GetSpaceResult& WithRandomDomain(const char* value) { SetRandomDomain(value); return *this;} + + + /** + *

    The unique ID of the private re:Post.

    + */ + inline const Aws::String& GetSpaceId() const{ return m_spaceId; } + + /** + *

    The unique ID of the private re:Post.

    + */ + inline void SetSpaceId(const Aws::String& value) { m_spaceId = value; } + + /** + *

    The unique ID of the private re:Post.

    + */ + inline void SetSpaceId(Aws::String&& value) { m_spaceId = std::move(value); } + + /** + *

    The unique ID of the private re:Post.

    + */ + inline void SetSpaceId(const char* value) { m_spaceId.assign(value); } + + /** + *

    The unique ID of the private re:Post.

    + */ + inline GetSpaceResult& WithSpaceId(const Aws::String& value) { SetSpaceId(value); return *this;} + + /** + *

    The unique ID of the private re:Post.

    + */ + inline GetSpaceResult& WithSpaceId(Aws::String&& value) { SetSpaceId(std::move(value)); return *this;} + + /** + *

    The unique ID of the private re:Post.

    + */ + inline GetSpaceResult& WithSpaceId(const char* value) { SetSpaceId(value); return *this;} + + + /** + *

    The creation or deletion status of the private re:Post.

    + */ + inline const Aws::String& GetStatus() const{ return m_status; } + + /** + *

    The creation or deletion status of the private re:Post.

    + */ + inline void SetStatus(const Aws::String& value) { m_status = value; } + + /** + *

    The creation or deletion status of the private re:Post.

    + */ + inline void SetStatus(Aws::String&& value) { m_status = std::move(value); } + + /** + *

    The creation or deletion status of the private re:Post.

    + */ + inline void SetStatus(const char* value) { m_status.assign(value); } + + /** + *

    The creation or deletion status of the private re:Post.

    + */ + inline GetSpaceResult& WithStatus(const Aws::String& value) { SetStatus(value); return *this;} + + /** + *

    The creation or deletion status of the private re:Post.

    + */ + inline GetSpaceResult& WithStatus(Aws::String&& value) { SetStatus(std::move(value)); return *this;} + + /** + *

    The creation or deletion status of the private re:Post.

    + */ + inline GetSpaceResult& WithStatus(const char* value) { SetStatus(value); return *this;} + + + /** + *

    The storage limit of the private re:Post.

    + */ + inline long long GetStorageLimit() const{ return m_storageLimit; } + + /** + *

    The storage limit of the private re:Post.

    + */ + inline void SetStorageLimit(long long value) { m_storageLimit = value; } + + /** + *

    The storage limit of the private re:Post.

    + */ + inline GetSpaceResult& WithStorageLimit(long long value) { SetStorageLimit(value); return *this;} + + + /** + *

    The pricing tier of the private re:Post.

    + */ + inline const TierLevel& GetTier() const{ return m_tier; } + + /** + *

    The pricing tier of the private re:Post.

    + */ + inline void SetTier(const TierLevel& value) { m_tier = value; } + + /** + *

    The pricing tier of the private re:Post.

    + */ + inline void SetTier(TierLevel&& value) { m_tier = std::move(value); } + + /** + *

    The pricing tier of the private re:Post.

    + */ + inline GetSpaceResult& WithTier(const TierLevel& value) { SetTier(value); return *this;} + + /** + *

    The pricing tier of the private re:Post.

    + */ + inline GetSpaceResult& WithTier(TierLevel&& value) { SetTier(std::move(value)); return *this;} + + + /** + *

    The list of users that are administrators of the private re:Post.

    + */ + inline const Aws::Vector& GetUserAdmins() const{ return m_userAdmins; } + + /** + *

    The list of users that are administrators of the private re:Post.

    + */ + inline void SetUserAdmins(const Aws::Vector& value) { m_userAdmins = value; } + + /** + *

    The list of users that are administrators of the private re:Post.

    + */ + inline void SetUserAdmins(Aws::Vector&& value) { m_userAdmins = std::move(value); } + + /** + *

    The list of users that are administrators of the private re:Post.

    + */ + inline GetSpaceResult& WithUserAdmins(const Aws::Vector& value) { SetUserAdmins(value); return *this;} + + /** + *

    The list of users that are administrators of the private re:Post.

    + */ + inline GetSpaceResult& WithUserAdmins(Aws::Vector&& value) { SetUserAdmins(std::move(value)); return *this;} + + /** + *

    The list of users that are administrators of the private re:Post.

    + */ + inline GetSpaceResult& AddUserAdmins(const Aws::String& value) { m_userAdmins.push_back(value); return *this; } + + /** + *

    The list of users that are administrators of the private re:Post.

    + */ + inline GetSpaceResult& AddUserAdmins(Aws::String&& value) { m_userAdmins.push_back(std::move(value)); return *this; } + + /** + *

    The list of users that are administrators of the private re:Post.

    + */ + inline GetSpaceResult& AddUserAdmins(const char* value) { m_userAdmins.push_back(value); return *this; } + + + /** + *

    The number of users that have onboarded to the private re:Post.

    + */ + inline int GetUserCount() const{ return m_userCount; } + + /** + *

    The number of users that have onboarded to the private re:Post.

    + */ + inline void SetUserCount(int value) { m_userCount = value; } + + /** + *

    The number of users that have onboarded to the private re:Post.

    + */ + inline GetSpaceResult& WithUserCount(int value) { SetUserCount(value); return *this;} + + + /** + *

    The custom AWS KMS key ARN that’s used for the AWS KMS encryption.

    + */ + inline const Aws::String& GetUserKMSKey() const{ return m_userKMSKey; } + + /** + *

    The custom AWS KMS key ARN that’s used for the AWS KMS encryption.

    + */ + inline void SetUserKMSKey(const Aws::String& value) { m_userKMSKey = value; } + + /** + *

    The custom AWS KMS key ARN that’s used for the AWS KMS encryption.

    + */ + inline void SetUserKMSKey(Aws::String&& value) { m_userKMSKey = std::move(value); } + + /** + *

    The custom AWS KMS key ARN that’s used for the AWS KMS encryption.

    + */ + inline void SetUserKMSKey(const char* value) { m_userKMSKey.assign(value); } + + /** + *

    The custom AWS KMS key ARN that’s used for the AWS KMS encryption.

    + */ + inline GetSpaceResult& WithUserKMSKey(const Aws::String& value) { SetUserKMSKey(value); return *this;} + + /** + *

    The custom AWS KMS key ARN that’s used for the AWS KMS encryption.

    + */ + inline GetSpaceResult& WithUserKMSKey(Aws::String&& value) { SetUserKMSKey(std::move(value)); return *this;} + + /** + *

    The custom AWS KMS key ARN that’s used for the AWS KMS encryption.

    + */ + inline GetSpaceResult& WithUserKMSKey(const char* value) { SetUserKMSKey(value); return *this;} + + + /** + *

    The custom subdomain that you use to access your private re:Post. All custom + * subdomains must be approved by AWS before use.

    + */ + inline const Aws::String& GetVanityDomain() const{ return m_vanityDomain; } + + /** + *

    The custom subdomain that you use to access your private re:Post. All custom + * subdomains must be approved by AWS before use.

    + */ + inline void SetVanityDomain(const Aws::String& value) { m_vanityDomain = value; } + + /** + *

    The custom subdomain that you use to access your private re:Post. All custom + * subdomains must be approved by AWS before use.

    + */ + inline void SetVanityDomain(Aws::String&& value) { m_vanityDomain = std::move(value); } + + /** + *

    The custom subdomain that you use to access your private re:Post. All custom + * subdomains must be approved by AWS before use.

    + */ + inline void SetVanityDomain(const char* value) { m_vanityDomain.assign(value); } + + /** + *

    The custom subdomain that you use to access your private re:Post. All custom + * subdomains must be approved by AWS before use.

    + */ + inline GetSpaceResult& WithVanityDomain(const Aws::String& value) { SetVanityDomain(value); return *this;} + + /** + *

    The custom subdomain that you use to access your private re:Post. All custom + * subdomains must be approved by AWS before use.

    + */ + inline GetSpaceResult& WithVanityDomain(Aws::String&& value) { SetVanityDomain(std::move(value)); return *this;} + + /** + *

    The custom subdomain that you use to access your private re:Post. All custom + * subdomains must be approved by AWS before use.

    + */ + inline GetSpaceResult& WithVanityDomain(const char* value) { SetVanityDomain(value); return *this;} + + + /** + *

    The approval status of the custom subdomain.

    + */ + inline const VanityDomainStatus& GetVanityDomainStatus() const{ return m_vanityDomainStatus; } + + /** + *

    The approval status of the custom subdomain.

    + */ + inline void SetVanityDomainStatus(const VanityDomainStatus& value) { m_vanityDomainStatus = value; } + + /** + *

    The approval status of the custom subdomain.

    + */ + inline void SetVanityDomainStatus(VanityDomainStatus&& value) { m_vanityDomainStatus = std::move(value); } + + /** + *

    The approval status of the custom subdomain.

    + */ + inline GetSpaceResult& WithVanityDomainStatus(const VanityDomainStatus& value) { SetVanityDomainStatus(value); return *this;} + + /** + *

    The approval status of the custom subdomain.

    + */ + inline GetSpaceResult& WithVanityDomainStatus(VanityDomainStatus&& value) { SetVanityDomainStatus(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 GetSpaceResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline GetSpaceResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline GetSpaceResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::String m_arn; + + Aws::String m_clientId; + + ConfigurationStatus m_configurationStatus; + + long long m_contentSize; + + Aws::Utils::DateTime m_createDateTime; + + Aws::String m_customerRoleArn; + + Aws::Utils::DateTime m_deleteDateTime; + + Aws::String m_description; + + Aws::Vector m_groupAdmins; + + Aws::String m_name; + + Aws::String m_randomDomain; + + Aws::String m_spaceId; + + Aws::String m_status; + + long long m_storageLimit; + + TierLevel m_tier; + + Aws::Vector m_userAdmins; + + int m_userCount; + + Aws::String m_userKMSKey; + + Aws::String m_vanityDomain; + + VanityDomainStatus m_vanityDomainStatus; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace repostspace +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/InternalServerException.h b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/InternalServerException.h new file mode 100644 index 00000000000..1d76141722f --- /dev/null +++ b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/InternalServerException.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 + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace repostspace +{ +namespace Model +{ + + /** + *

    Unexpected error during processing of request.

    See Also:

    AWS + * API Reference

    + */ + class InternalServerException + { + public: + AWS_REPOSTSPACE_API InternalServerException(); + AWS_REPOSTSPACE_API InternalServerException(Aws::Utils::Json::JsonView jsonValue); + AWS_REPOSTSPACE_API InternalServerException& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_REPOSTSPACE_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;} + + + /** + *

    Advice to clients on when the call can be safely retried.

    + */ + inline int GetRetryAfterSeconds() const{ return m_retryAfterSeconds; } + + /** + *

    Advice to clients on when the call can be safely retried.

    + */ + inline bool RetryAfterSecondsHasBeenSet() const { return m_retryAfterSecondsHasBeenSet; } + + /** + *

    Advice to clients on when the call can be safely retried.

    + */ + inline void SetRetryAfterSeconds(int value) { m_retryAfterSecondsHasBeenSet = true; m_retryAfterSeconds = value; } + + /** + *

    Advice to clients on when the call can be safely retried.

    + */ + inline InternalServerException& WithRetryAfterSeconds(int value) { SetRetryAfterSeconds(value); return *this;} + + private: + + Aws::String m_message; + bool m_messageHasBeenSet = false; + + int m_retryAfterSeconds; + bool m_retryAfterSecondsHasBeenSet = false; + }; + +} // namespace Model +} // namespace repostspace +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/ListSpacesRequest.h b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/ListSpacesRequest.h new file mode 100644 index 00000000000..5c76f887fd4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/ListSpacesRequest.h @@ -0,0 +1,121 @@ +/** + * 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 repostspace +{ +namespace Model +{ + + /** + */ + class ListSpacesRequest : public RepostspaceRequest + { + public: + AWS_REPOSTSPACE_API ListSpacesRequest(); + + // 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 "ListSpaces"; } + + AWS_REPOSTSPACE_API Aws::String SerializePayload() const override; + + AWS_REPOSTSPACE_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + /** + *

    The maximum number of private re:Posts to include in the results.

    + */ + inline int GetMaxResults() const{ return m_maxResults; } + + /** + *

    The maximum number of private re:Posts to include in the results.

    + */ + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + + /** + *

    The maximum number of private re:Posts to include in the results.

    + */ + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + + /** + *

    The maximum number of private re:Posts to include in the results.

    + */ + inline ListSpacesRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + + + /** + *

    The token for the next set of private re:Posts to return. You receive this + * token from a previous ListSpaces operation.

    + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + + /** + *

    The token for the next set of private re:Posts to return. You receive this + * token from a previous ListSpaces operation.

    + */ + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + + /** + *

    The token for the next set of private re:Posts to return. You receive this + * token from a previous ListSpaces operation.

    + */ + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + + /** + *

    The token for the next set of private re:Posts to return. You receive this + * token from a previous ListSpaces operation.

    + */ + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + + /** + *

    The token for the next set of private re:Posts to return. You receive this + * token from a previous ListSpaces operation.

    + */ + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + + /** + *

    The token for the next set of private re:Posts to return. You receive this + * token from a previous ListSpaces operation.

    + */ + inline ListSpacesRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + + /** + *

    The token for the next set of private re:Posts to return. You receive this + * token from a previous ListSpaces operation.

    + */ + inline ListSpacesRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + + /** + *

    The token for the next set of private re:Posts to return. You receive this + * token from a previous ListSpaces operation.

    + */ + inline ListSpacesRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + + private: + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + }; + +} // namespace Model +} // namespace repostspace +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/ListSpacesResult.h b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/ListSpacesResult.h new file mode 100644 index 00000000000..af6c580c122 --- /dev/null +++ b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/ListSpacesResult.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 +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace repostspace +{ +namespace Model +{ + class ListSpacesResult + { + public: + AWS_REPOSTSPACE_API ListSpacesResult(); + AWS_REPOSTSPACE_API ListSpacesResult(const Aws::AmazonWebServiceResult& result); + AWS_REPOSTSPACE_API ListSpacesResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

    The token that you use when you request the next set of private re:Posts.

    + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + + /** + *

    The token that you use when you request the next set of private re:Posts.

    + */ + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + + /** + *

    The token that you use when you request the next set of private re:Posts.

    + */ + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + + /** + *

    The token that you use when you request the next set of private re:Posts.

    + */ + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + + /** + *

    The token that you use when you request the next set of private re:Posts.

    + */ + inline ListSpacesResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + + /** + *

    The token that you use when you request the next set of private re:Posts.

    + */ + inline ListSpacesResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + + /** + *

    The token that you use when you request the next set of private re:Posts.

    + */ + inline ListSpacesResult& WithNextToken(const char* value) { SetNextToken(value); return *this;} + + + /** + *

    An array of structures that contain some information about the private + * re:Posts in the account.

    + */ + inline const Aws::Vector& GetSpaces() const{ return m_spaces; } + + /** + *

    An array of structures that contain some information about the private + * re:Posts in the account.

    + */ + inline void SetSpaces(const Aws::Vector& value) { m_spaces = value; } + + /** + *

    An array of structures that contain some information about the private + * re:Posts in the account.

    + */ + inline void SetSpaces(Aws::Vector&& value) { m_spaces = std::move(value); } + + /** + *

    An array of structures that contain some information about the private + * re:Posts in the account.

    + */ + inline ListSpacesResult& WithSpaces(const Aws::Vector& value) { SetSpaces(value); return *this;} + + /** + *

    An array of structures that contain some information about the private + * re:Posts in the account.

    + */ + inline ListSpacesResult& WithSpaces(Aws::Vector&& value) { SetSpaces(std::move(value)); return *this;} + + /** + *

    An array of structures that contain some information about the private + * re:Posts in the account.

    + */ + inline ListSpacesResult& AddSpaces(const SpaceData& value) { m_spaces.push_back(value); return *this; } + + /** + *

    An array of structures that contain some information about the private + * re:Posts in the account.

    + */ + inline ListSpacesResult& AddSpaces(SpaceData&& value) { m_spaces.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 ListSpacesResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline ListSpacesResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline ListSpacesResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::String m_nextToken; + + Aws::Vector m_spaces; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace repostspace +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/ListTagsForResourceRequest.h b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/ListTagsForResourceRequest.h new file mode 100644 index 00000000000..722d08b612e --- /dev/null +++ b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/ListTagsForResourceRequest.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 +#include + +namespace Aws +{ +namespace repostspace +{ +namespace Model +{ + + /** + */ + class ListTagsForResourceRequest : public RepostspaceRequest + { + public: + AWS_REPOSTSPACE_API ListTagsForResourceRequest(); + + // 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 "ListTagsForResource"; } + + AWS_REPOSTSPACE_API Aws::String SerializePayload() const override; + + + /** + *

    The ARN of the resource that the tags are associated with.

    + */ + inline const Aws::String& GetResourceArn() const{ return m_resourceArn; } + + /** + *

    The ARN of the resource that the tags are associated with.

    + */ + inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; } + + /** + *

    The ARN of the resource that the tags are associated with.

    + */ + inline void SetResourceArn(const Aws::String& value) { m_resourceArnHasBeenSet = true; m_resourceArn = value; } + + /** + *

    The ARN of the resource that the tags are associated with.

    + */ + inline void SetResourceArn(Aws::String&& value) { m_resourceArnHasBeenSet = true; m_resourceArn = std::move(value); } + + /** + *

    The ARN of the resource that the tags are associated with.

    + */ + inline void SetResourceArn(const char* value) { m_resourceArnHasBeenSet = true; m_resourceArn.assign(value); } + + /** + *

    The ARN of the resource that the tags are associated with.

    + */ + inline ListTagsForResourceRequest& WithResourceArn(const Aws::String& value) { SetResourceArn(value); return *this;} + + /** + *

    The ARN of the resource that the tags are associated with.

    + */ + inline ListTagsForResourceRequest& WithResourceArn(Aws::String&& value) { SetResourceArn(std::move(value)); return *this;} + + /** + *

    The ARN of the resource that the tags are associated with.

    + */ + inline ListTagsForResourceRequest& WithResourceArn(const char* value) { SetResourceArn(value); return *this;} + + private: + + Aws::String m_resourceArn; + bool m_resourceArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace repostspace +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/ListTagsForResourceResult.h b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/ListTagsForResourceResult.h new file mode 100644 index 00000000000..a9d71c50db9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/ListTagsForResourceResult.h @@ -0,0 +1,127 @@ +/** + * 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 repostspace +{ +namespace Model +{ + class ListTagsForResourceResult + { + public: + AWS_REPOSTSPACE_API ListTagsForResourceResult(); + AWS_REPOSTSPACE_API ListTagsForResourceResult(const Aws::AmazonWebServiceResult& result); + AWS_REPOSTSPACE_API ListTagsForResourceResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

    The list of tags that are associated with the resource.

    + */ + inline const Aws::Map& GetTags() const{ return m_tags; } + + /** + *

    The list of tags that are associated with the resource.

    + */ + inline void SetTags(const Aws::Map& value) { m_tags = value; } + + /** + *

    The list of tags that are associated with the resource.

    + */ + inline void SetTags(Aws::Map&& value) { m_tags = std::move(value); } + + /** + *

    The list of tags that are associated with the resource.

    + */ + inline ListTagsForResourceResult& WithTags(const Aws::Map& value) { SetTags(value); return *this;} + + /** + *

    The list of tags that are associated with the resource.

    + */ + inline ListTagsForResourceResult& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} + + /** + *

    The list of tags that are associated with the resource.

    + */ + inline ListTagsForResourceResult& AddTags(const Aws::String& key, const Aws::String& value) { m_tags.emplace(key, value); return *this; } + + /** + *

    The list of tags that are associated with the resource.

    + */ + inline ListTagsForResourceResult& AddTags(Aws::String&& key, const Aws::String& value) { m_tags.emplace(std::move(key), value); return *this; } + + /** + *

    The list of tags that are associated with the resource.

    + */ + inline ListTagsForResourceResult& AddTags(const Aws::String& key, Aws::String&& value) { m_tags.emplace(key, std::move(value)); return *this; } + + /** + *

    The list of tags that are associated with the resource.

    + */ + inline ListTagsForResourceResult& AddTags(Aws::String&& key, Aws::String&& value) { m_tags.emplace(std::move(key), std::move(value)); return *this; } + + /** + *

    The list of tags that are associated with the resource.

    + */ + inline ListTagsForResourceResult& AddTags(const char* key, Aws::String&& value) { m_tags.emplace(key, std::move(value)); return *this; } + + /** + *

    The list of tags that are associated with the resource.

    + */ + inline ListTagsForResourceResult& AddTags(Aws::String&& key, const char* value) { m_tags.emplace(std::move(key), value); return *this; } + + /** + *

    The list of tags that are associated with the resource.

    + */ + inline ListTagsForResourceResult& AddTags(const char* key, const char* value) { m_tags.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 ListTagsForResourceResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline ListTagsForResourceResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline ListTagsForResourceResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::Map m_tags; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace repostspace +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/RegisterAdminRequest.h b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/RegisterAdminRequest.h new file mode 100644 index 00000000000..7dc03ec23f9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/RegisterAdminRequest.h @@ -0,0 +1,127 @@ +/** + * 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 repostspace +{ +namespace Model +{ + + /** + */ + class RegisterAdminRequest : public RepostspaceRequest + { + public: + AWS_REPOSTSPACE_API RegisterAdminRequest(); + + // 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 "RegisterAdmin"; } + + AWS_REPOSTSPACE_API Aws::String SerializePayload() const override; + + + /** + *

    The ID of the administrator.

    + */ + inline const Aws::String& GetAdminId() const{ return m_adminId; } + + /** + *

    The ID of the administrator.

    + */ + inline bool AdminIdHasBeenSet() const { return m_adminIdHasBeenSet; } + + /** + *

    The ID of the administrator.

    + */ + inline void SetAdminId(const Aws::String& value) { m_adminIdHasBeenSet = true; m_adminId = value; } + + /** + *

    The ID of the administrator.

    + */ + inline void SetAdminId(Aws::String&& value) { m_adminIdHasBeenSet = true; m_adminId = std::move(value); } + + /** + *

    The ID of the administrator.

    + */ + inline void SetAdminId(const char* value) { m_adminIdHasBeenSet = true; m_adminId.assign(value); } + + /** + *

    The ID of the administrator.

    + */ + inline RegisterAdminRequest& WithAdminId(const Aws::String& value) { SetAdminId(value); return *this;} + + /** + *

    The ID of the administrator.

    + */ + inline RegisterAdminRequest& WithAdminId(Aws::String&& value) { SetAdminId(std::move(value)); return *this;} + + /** + *

    The ID of the administrator.

    + */ + inline RegisterAdminRequest& WithAdminId(const char* value) { SetAdminId(value); return *this;} + + + /** + *

    The ID of the private re:Post.

    + */ + inline const Aws::String& GetSpaceId() const{ return m_spaceId; } + + /** + *

    The ID of the private re:Post.

    + */ + inline bool SpaceIdHasBeenSet() const { return m_spaceIdHasBeenSet; } + + /** + *

    The ID of the private re:Post.

    + */ + inline void SetSpaceId(const Aws::String& value) { m_spaceIdHasBeenSet = true; m_spaceId = value; } + + /** + *

    The ID of the private re:Post.

    + */ + inline void SetSpaceId(Aws::String&& value) { m_spaceIdHasBeenSet = true; m_spaceId = std::move(value); } + + /** + *

    The ID of the private re:Post.

    + */ + inline void SetSpaceId(const char* value) { m_spaceIdHasBeenSet = true; m_spaceId.assign(value); } + + /** + *

    The ID of the private re:Post.

    + */ + inline RegisterAdminRequest& WithSpaceId(const Aws::String& value) { SetSpaceId(value); return *this;} + + /** + *

    The ID of the private re:Post.

    + */ + inline RegisterAdminRequest& WithSpaceId(Aws::String&& value) { SetSpaceId(std::move(value)); return *this;} + + /** + *

    The ID of the private re:Post.

    + */ + inline RegisterAdminRequest& WithSpaceId(const char* value) { SetSpaceId(value); return *this;} + + private: + + Aws::String m_adminId; + bool m_adminIdHasBeenSet = false; + + Aws::String m_spaceId; + bool m_spaceIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace repostspace +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/ResourceNotFoundException.h b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/ResourceNotFoundException.h new file mode 100644 index 00000000000..d5ca30f5b90 --- /dev/null +++ b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/ResourceNotFoundException.h @@ -0,0 +1,161 @@ +/** + * 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 repostspace +{ +namespace Model +{ + + /** + *

    Request references a resource which does not exist.

    See Also:

    + * AWS + * API Reference

    + */ + class ResourceNotFoundException + { + public: + AWS_REPOSTSPACE_API ResourceNotFoundException(); + AWS_REPOSTSPACE_API ResourceNotFoundException(Aws::Utils::Json::JsonView jsonValue); + AWS_REPOSTSPACE_API ResourceNotFoundException& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_REPOSTSPACE_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 ResourceNotFoundException& WithMessage(const Aws::String& value) { SetMessage(value); return *this;} + + + inline ResourceNotFoundException& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;} + + + inline ResourceNotFoundException& WithMessage(const char* value) { SetMessage(value); return *this;} + + + /** + *

    The ID of the resource.

    + */ + inline const Aws::String& GetResourceId() const{ return m_resourceId; } + + /** + *

    The ID of the resource.

    + */ + inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; } + + /** + *

    The ID of the resource.

    + */ + inline void SetResourceId(const Aws::String& value) { m_resourceIdHasBeenSet = true; m_resourceId = value; } + + /** + *

    The ID of the resource.

    + */ + inline void SetResourceId(Aws::String&& value) { m_resourceIdHasBeenSet = true; m_resourceId = std::move(value); } + + /** + *

    The ID of the resource.

    + */ + inline void SetResourceId(const char* value) { m_resourceIdHasBeenSet = true; m_resourceId.assign(value); } + + /** + *

    The ID of the resource.

    + */ + inline ResourceNotFoundException& WithResourceId(const Aws::String& value) { SetResourceId(value); return *this;} + + /** + *

    The ID of the resource.

    + */ + inline ResourceNotFoundException& WithResourceId(Aws::String&& value) { SetResourceId(std::move(value)); return *this;} + + /** + *

    The ID of the resource.

    + */ + inline ResourceNotFoundException& WithResourceId(const char* value) { SetResourceId(value); return *this;} + + + /** + *

    The type of the resource.

    + */ + inline const Aws::String& GetResourceType() const{ return m_resourceType; } + + /** + *

    The type of the resource.

    + */ + inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; } + + /** + *

    The type of the resource.

    + */ + inline void SetResourceType(const Aws::String& value) { m_resourceTypeHasBeenSet = true; m_resourceType = value; } + + /** + *

    The type of the resource.

    + */ + inline void SetResourceType(Aws::String&& value) { m_resourceTypeHasBeenSet = true; m_resourceType = std::move(value); } + + /** + *

    The type of the resource.

    + */ + inline void SetResourceType(const char* value) { m_resourceTypeHasBeenSet = true; m_resourceType.assign(value); } + + /** + *

    The type of the resource.

    + */ + inline ResourceNotFoundException& WithResourceType(const Aws::String& value) { SetResourceType(value); return *this;} + + /** + *

    The type of the resource.

    + */ + inline ResourceNotFoundException& WithResourceType(Aws::String&& value) { SetResourceType(std::move(value)); return *this;} + + /** + *

    The type of the resource.

    + */ + inline ResourceNotFoundException& WithResourceType(const char* value) { SetResourceType(value); return *this;} + + private: + + Aws::String m_message; + bool m_messageHasBeenSet = false; + + Aws::String m_resourceId; + bool m_resourceIdHasBeenSet = false; + + Aws::String m_resourceType; + bool m_resourceTypeHasBeenSet = false; + }; + +} // namespace Model +} // namespace repostspace +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/SendInvitesRequest.h b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/SendInvitesRequest.h new file mode 100644 index 00000000000..f15664c520d --- /dev/null +++ b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/SendInvitesRequest.h @@ -0,0 +1,221 @@ +/** + * 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 repostspace +{ +namespace Model +{ + + /** + */ + class SendInvitesRequest : public RepostspaceRequest + { + public: + AWS_REPOSTSPACE_API SendInvitesRequest(); + + // 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 "SendInvites"; } + + AWS_REPOSTSPACE_API Aws::String SerializePayload() const override; + + + /** + *

    The array of identifiers for the users and groups.

    + */ + inline const Aws::Vector& GetAccessorIds() const{ return m_accessorIds; } + + /** + *

    The array of identifiers for the users and groups.

    + */ + inline bool AccessorIdsHasBeenSet() const { return m_accessorIdsHasBeenSet; } + + /** + *

    The array of identifiers for the users and groups.

    + */ + inline void SetAccessorIds(const Aws::Vector& value) { m_accessorIdsHasBeenSet = true; m_accessorIds = value; } + + /** + *

    The array of identifiers for the users and groups.

    + */ + inline void SetAccessorIds(Aws::Vector&& value) { m_accessorIdsHasBeenSet = true; m_accessorIds = std::move(value); } + + /** + *

    The array of identifiers for the users and groups.

    + */ + inline SendInvitesRequest& WithAccessorIds(const Aws::Vector& value) { SetAccessorIds(value); return *this;} + + /** + *

    The array of identifiers for the users and groups.

    + */ + inline SendInvitesRequest& WithAccessorIds(Aws::Vector&& value) { SetAccessorIds(std::move(value)); return *this;} + + /** + *

    The array of identifiers for the users and groups.

    + */ + inline SendInvitesRequest& AddAccessorIds(const Aws::String& value) { m_accessorIdsHasBeenSet = true; m_accessorIds.push_back(value); return *this; } + + /** + *

    The array of identifiers for the users and groups.

    + */ + inline SendInvitesRequest& AddAccessorIds(Aws::String&& value) { m_accessorIdsHasBeenSet = true; m_accessorIds.push_back(std::move(value)); return *this; } + + /** + *

    The array of identifiers for the users and groups.

    + */ + inline SendInvitesRequest& AddAccessorIds(const char* value) { m_accessorIdsHasBeenSet = true; m_accessorIds.push_back(value); return *this; } + + + /** + *

    The body of the invite.

    + */ + inline const Aws::String& GetMemberBody() const{ return m_body; } + + /** + *

    The body of the invite.

    + */ + inline bool BodyHasBeenSet() const { return m_bodyHasBeenSet; } + + /** + *

    The body of the invite.

    + */ + inline void SetBody(const Aws::String& value) { m_bodyHasBeenSet = true; m_body = value; } + + /** + *

    The body of the invite.

    + */ + inline void SetBody(Aws::String&& value) { m_bodyHasBeenSet = true; m_body = std::move(value); } + + /** + *

    The body of the invite.

    + */ + inline void SetBody(const char* value) { m_bodyHasBeenSet = true; m_body.assign(value); } + + /** + *

    The body of the invite.

    + */ + inline SendInvitesRequest& WithBody(const Aws::String& value) { SetBody(value); return *this;} + + /** + *

    The body of the invite.

    + */ + inline SendInvitesRequest& WithBody(Aws::String&& value) { SetBody(std::move(value)); return *this;} + + /** + *

    The body of the invite.

    + */ + inline SendInvitesRequest& WithBody(const char* value) { SetBody(value); return *this;} + + + /** + *

    The ID of the private re:Post.

    + */ + inline const Aws::String& GetSpaceId() const{ return m_spaceId; } + + /** + *

    The ID of the private re:Post.

    + */ + inline bool SpaceIdHasBeenSet() const { return m_spaceIdHasBeenSet; } + + /** + *

    The ID of the private re:Post.

    + */ + inline void SetSpaceId(const Aws::String& value) { m_spaceIdHasBeenSet = true; m_spaceId = value; } + + /** + *

    The ID of the private re:Post.

    + */ + inline void SetSpaceId(Aws::String&& value) { m_spaceIdHasBeenSet = true; m_spaceId = std::move(value); } + + /** + *

    The ID of the private re:Post.

    + */ + inline void SetSpaceId(const char* value) { m_spaceIdHasBeenSet = true; m_spaceId.assign(value); } + + /** + *

    The ID of the private re:Post.

    + */ + inline SendInvitesRequest& WithSpaceId(const Aws::String& value) { SetSpaceId(value); return *this;} + + /** + *

    The ID of the private re:Post.

    + */ + inline SendInvitesRequest& WithSpaceId(Aws::String&& value) { SetSpaceId(std::move(value)); return *this;} + + /** + *

    The ID of the private re:Post.

    + */ + inline SendInvitesRequest& WithSpaceId(const char* value) { SetSpaceId(value); return *this;} + + + /** + *

    The title of the invite.

    + */ + inline const Aws::String& GetTitle() const{ return m_title; } + + /** + *

    The title of the invite.

    + */ + inline bool TitleHasBeenSet() const { return m_titleHasBeenSet; } + + /** + *

    The title of the invite.

    + */ + inline void SetTitle(const Aws::String& value) { m_titleHasBeenSet = true; m_title = value; } + + /** + *

    The title of the invite.

    + */ + inline void SetTitle(Aws::String&& value) { m_titleHasBeenSet = true; m_title = std::move(value); } + + /** + *

    The title of the invite.

    + */ + inline void SetTitle(const char* value) { m_titleHasBeenSet = true; m_title.assign(value); } + + /** + *

    The title of the invite.

    + */ + inline SendInvitesRequest& WithTitle(const Aws::String& value) { SetTitle(value); return *this;} + + /** + *

    The title of the invite.

    + */ + inline SendInvitesRequest& WithTitle(Aws::String&& value) { SetTitle(std::move(value)); return *this;} + + /** + *

    The title of the invite.

    + */ + inline SendInvitesRequest& WithTitle(const char* value) { SetTitle(value); return *this;} + + private: + + Aws::Vector m_accessorIds; + bool m_accessorIdsHasBeenSet = false; + + Aws::String m_body; + bool m_bodyHasBeenSet = false; + + Aws::String m_spaceId; + bool m_spaceIdHasBeenSet = false; + + Aws::String m_title; + bool m_titleHasBeenSet = false; + }; + +} // namespace Model +} // namespace repostspace +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/ServiceQuotaExceededException.h b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/ServiceQuotaExceededException.h new file mode 100644 index 00000000000..dfd90be9251 --- /dev/null +++ b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/ServiceQuotaExceededException.h @@ -0,0 +1,249 @@ +/** + * 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 repostspace +{ +namespace Model +{ + + /** + *

    Request would cause a service quota to be exceeded.

    See Also:

    + * AWS + * API Reference

    + */ + class ServiceQuotaExceededException + { + public: + AWS_REPOSTSPACE_API ServiceQuotaExceededException(); + AWS_REPOSTSPACE_API ServiceQuotaExceededException(Aws::Utils::Json::JsonView jsonValue); + AWS_REPOSTSPACE_API ServiceQuotaExceededException& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_REPOSTSPACE_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 ServiceQuotaExceededException& WithMessage(const Aws::String& value) { SetMessage(value); return *this;} + + + inline ServiceQuotaExceededException& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;} + + + inline ServiceQuotaExceededException& WithMessage(const char* value) { SetMessage(value); return *this;} + + + /** + *

    The code to identify the quota.

    + */ + inline const Aws::String& GetQuotaCode() const{ return m_quotaCode; } + + /** + *

    The code to identify the quota.

    + */ + inline bool QuotaCodeHasBeenSet() const { return m_quotaCodeHasBeenSet; } + + /** + *

    The code to identify the quota.

    + */ + inline void SetQuotaCode(const Aws::String& value) { m_quotaCodeHasBeenSet = true; m_quotaCode = value; } + + /** + *

    The code to identify the quota.

    + */ + inline void SetQuotaCode(Aws::String&& value) { m_quotaCodeHasBeenSet = true; m_quotaCode = std::move(value); } + + /** + *

    The code to identify the quota.

    + */ + inline void SetQuotaCode(const char* value) { m_quotaCodeHasBeenSet = true; m_quotaCode.assign(value); } + + /** + *

    The code to identify the quota.

    + */ + inline ServiceQuotaExceededException& WithQuotaCode(const Aws::String& value) { SetQuotaCode(value); return *this;} + + /** + *

    The code to identify the quota.

    + */ + inline ServiceQuotaExceededException& WithQuotaCode(Aws::String&& value) { SetQuotaCode(std::move(value)); return *this;} + + /** + *

    The code to identify the quota.

    + */ + inline ServiceQuotaExceededException& WithQuotaCode(const char* value) { SetQuotaCode(value); return *this;} + + + /** + *

    The id of the resource.

    + */ + inline const Aws::String& GetResourceId() const{ return m_resourceId; } + + /** + *

    The id of the resource.

    + */ + inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; } + + /** + *

    The id of the resource.

    + */ + inline void SetResourceId(const Aws::String& value) { m_resourceIdHasBeenSet = true; m_resourceId = value; } + + /** + *

    The id of the resource.

    + */ + inline void SetResourceId(Aws::String&& value) { m_resourceIdHasBeenSet = true; m_resourceId = std::move(value); } + + /** + *

    The id of the resource.

    + */ + inline void SetResourceId(const char* value) { m_resourceIdHasBeenSet = true; m_resourceId.assign(value); } + + /** + *

    The id of the resource.

    + */ + inline ServiceQuotaExceededException& WithResourceId(const Aws::String& value) { SetResourceId(value); return *this;} + + /** + *

    The id of the resource.

    + */ + inline ServiceQuotaExceededException& WithResourceId(Aws::String&& value) { SetResourceId(std::move(value)); return *this;} + + /** + *

    The id of the resource.

    + */ + inline ServiceQuotaExceededException& WithResourceId(const char* value) { SetResourceId(value); return *this;} + + + /** + *

    The type of the resource.

    + */ + inline const Aws::String& GetResourceType() const{ return m_resourceType; } + + /** + *

    The type of the resource.

    + */ + inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; } + + /** + *

    The type of the resource.

    + */ + inline void SetResourceType(const Aws::String& value) { m_resourceTypeHasBeenSet = true; m_resourceType = value; } + + /** + *

    The type of the resource.

    + */ + inline void SetResourceType(Aws::String&& value) { m_resourceTypeHasBeenSet = true; m_resourceType = std::move(value); } + + /** + *

    The type of the resource.

    + */ + inline void SetResourceType(const char* value) { m_resourceTypeHasBeenSet = true; m_resourceType.assign(value); } + + /** + *

    The type of the resource.

    + */ + inline ServiceQuotaExceededException& WithResourceType(const Aws::String& value) { SetResourceType(value); return *this;} + + /** + *

    The type of the resource.

    + */ + inline ServiceQuotaExceededException& WithResourceType(Aws::String&& value) { SetResourceType(std::move(value)); return *this;} + + /** + *

    The type of the resource.

    + */ + inline ServiceQuotaExceededException& WithResourceType(const char* value) { SetResourceType(value); return *this;} + + + /** + *

    The code to identify the service.

    + */ + inline const Aws::String& GetServiceCode() const{ return m_serviceCode; } + + /** + *

    The code to identify the service.

    + */ + inline bool ServiceCodeHasBeenSet() const { return m_serviceCodeHasBeenSet; } + + /** + *

    The code to identify the service.

    + */ + inline void SetServiceCode(const Aws::String& value) { m_serviceCodeHasBeenSet = true; m_serviceCode = value; } + + /** + *

    The code to identify the service.

    + */ + inline void SetServiceCode(Aws::String&& value) { m_serviceCodeHasBeenSet = true; m_serviceCode = std::move(value); } + + /** + *

    The code to identify the service.

    + */ + inline void SetServiceCode(const char* value) { m_serviceCodeHasBeenSet = true; m_serviceCode.assign(value); } + + /** + *

    The code to identify the service.

    + */ + inline ServiceQuotaExceededException& WithServiceCode(const Aws::String& value) { SetServiceCode(value); return *this;} + + /** + *

    The code to identify the service.

    + */ + inline ServiceQuotaExceededException& WithServiceCode(Aws::String&& value) { SetServiceCode(std::move(value)); return *this;} + + /** + *

    The code to identify the service.

    + */ + inline ServiceQuotaExceededException& WithServiceCode(const char* value) { SetServiceCode(value); return *this;} + + private: + + Aws::String m_message; + bool m_messageHasBeenSet = false; + + Aws::String m_quotaCode; + bool m_quotaCodeHasBeenSet = false; + + Aws::String m_resourceId; + bool m_resourceIdHasBeenSet = false; + + Aws::String m_resourceType; + bool m_resourceTypeHasBeenSet = false; + + Aws::String m_serviceCode; + bool m_serviceCodeHasBeenSet = false; + }; + +} // namespace Model +} // namespace repostspace +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/SpaceData.h b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/SpaceData.h new file mode 100644 index 00000000000..64be80d30fc --- /dev/null +++ b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/SpaceData.h @@ -0,0 +1,659 @@ +/** + * 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 Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace repostspace +{ +namespace Model +{ + + /** + *

    A structure that contains some information about a private re:Post in the + * account.

    See Also:

    AWS + * API Reference

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

    The ARN of the private re:Post.

    + */ + inline const Aws::String& GetArn() const{ return m_arn; } + + /** + *

    The ARN of the private re:Post.

    + */ + inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } + + /** + *

    The ARN of the private re:Post.

    + */ + inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } + + /** + *

    The ARN of the private re:Post.

    + */ + inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } + + /** + *

    The ARN of the private re:Post.

    + */ + inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } + + /** + *

    The ARN of the private re:Post.

    + */ + inline SpaceData& WithArn(const Aws::String& value) { SetArn(value); return *this;} + + /** + *

    The ARN of the private re:Post.

    + */ + inline SpaceData& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} + + /** + *

    The ARN of the private re:Post.

    + */ + inline SpaceData& WithArn(const char* value) { SetArn(value); return *this;} + + + /** + *

    The configuration status of the private re:Post.

    + */ + inline const ConfigurationStatus& GetConfigurationStatus() const{ return m_configurationStatus; } + + /** + *

    The configuration status of the private re:Post.

    + */ + inline bool ConfigurationStatusHasBeenSet() const { return m_configurationStatusHasBeenSet; } + + /** + *

    The configuration status of the private re:Post.

    + */ + inline void SetConfigurationStatus(const ConfigurationStatus& value) { m_configurationStatusHasBeenSet = true; m_configurationStatus = value; } + + /** + *

    The configuration status of the private re:Post.

    + */ + inline void SetConfigurationStatus(ConfigurationStatus&& value) { m_configurationStatusHasBeenSet = true; m_configurationStatus = std::move(value); } + + /** + *

    The configuration status of the private re:Post.

    + */ + inline SpaceData& WithConfigurationStatus(const ConfigurationStatus& value) { SetConfigurationStatus(value); return *this;} + + /** + *

    The configuration status of the private re:Post.

    + */ + inline SpaceData& WithConfigurationStatus(ConfigurationStatus&& value) { SetConfigurationStatus(std::move(value)); return *this;} + + + /** + *

    The content size of the private re:Post.

    + */ + inline long long GetContentSize() const{ return m_contentSize; } + + /** + *

    The content size of the private re:Post.

    + */ + inline bool ContentSizeHasBeenSet() const { return m_contentSizeHasBeenSet; } + + /** + *

    The content size of the private re:Post.

    + */ + inline void SetContentSize(long long value) { m_contentSizeHasBeenSet = true; m_contentSize = value; } + + /** + *

    The content size of the private re:Post.

    + */ + inline SpaceData& WithContentSize(long long value) { SetContentSize(value); return *this;} + + + /** + *

    The date when the private re:Post was created.

    + */ + inline const Aws::Utils::DateTime& GetCreateDateTime() const{ return m_createDateTime; } + + /** + *

    The date when the private re:Post was created.

    + */ + inline bool CreateDateTimeHasBeenSet() const { return m_createDateTimeHasBeenSet; } + + /** + *

    The date when the private re:Post was created.

    + */ + inline void SetCreateDateTime(const Aws::Utils::DateTime& value) { m_createDateTimeHasBeenSet = true; m_createDateTime = value; } + + /** + *

    The date when the private re:Post was created.

    + */ + inline void SetCreateDateTime(Aws::Utils::DateTime&& value) { m_createDateTimeHasBeenSet = true; m_createDateTime = std::move(value); } + + /** + *

    The date when the private re:Post was created.

    + */ + inline SpaceData& WithCreateDateTime(const Aws::Utils::DateTime& value) { SetCreateDateTime(value); return *this;} + + /** + *

    The date when the private re:Post was created.

    + */ + inline SpaceData& WithCreateDateTime(Aws::Utils::DateTime&& value) { SetCreateDateTime(std::move(value)); return *this;} + + + /** + *

    The date when the private re:Post was deleted.

    + */ + inline const Aws::Utils::DateTime& GetDeleteDateTime() const{ return m_deleteDateTime; } + + /** + *

    The date when the private re:Post was deleted.

    + */ + inline bool DeleteDateTimeHasBeenSet() const { return m_deleteDateTimeHasBeenSet; } + + /** + *

    The date when the private re:Post was deleted.

    + */ + inline void SetDeleteDateTime(const Aws::Utils::DateTime& value) { m_deleteDateTimeHasBeenSet = true; m_deleteDateTime = value; } + + /** + *

    The date when the private re:Post was deleted.

    + */ + inline void SetDeleteDateTime(Aws::Utils::DateTime&& value) { m_deleteDateTimeHasBeenSet = true; m_deleteDateTime = std::move(value); } + + /** + *

    The date when the private re:Post was deleted.

    + */ + inline SpaceData& WithDeleteDateTime(const Aws::Utils::DateTime& value) { SetDeleteDateTime(value); return *this;} + + /** + *

    The date when the private re:Post was deleted.

    + */ + inline SpaceData& WithDeleteDateTime(Aws::Utils::DateTime&& value) { SetDeleteDateTime(std::move(value)); return *this;} + + + /** + *

    The description for the private re:Post. This is used only to help you + * identify this private re:Post.

    + */ + inline const Aws::String& GetDescription() const{ return m_description; } + + /** + *

    The description for the private re:Post. This is used only to help you + * identify this private re:Post.

    + */ + inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } + + /** + *

    The description for the private re:Post. This is used only to help you + * identify this private re:Post.

    + */ + inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } + + /** + *

    The description for the private re:Post. This is used only to help you + * identify this private re:Post.

    + */ + inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } + + /** + *

    The description for the private re:Post. This is used only to help you + * identify this private re:Post.

    + */ + inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } + + /** + *

    The description for the private re:Post. This is used only to help you + * identify this private re:Post.

    + */ + inline SpaceData& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} + + /** + *

    The description for the private re:Post. This is used only to help you + * identify this private re:Post.

    + */ + inline SpaceData& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} + + /** + *

    The description for the private re:Post. This is used only to help you + * identify this private re:Post.

    + */ + inline SpaceData& WithDescription(const char* value) { SetDescription(value); return *this;} + + + /** + *

    The name for the private re:Post.

    + */ + inline const Aws::String& GetName() const{ return m_name; } + + /** + *

    The name for the private re:Post.

    + */ + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + + /** + *

    The name for the private re:Post.

    + */ + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + + /** + *

    The name for the private re:Post.

    + */ + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + + /** + *

    The name for the private re:Post.

    + */ + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + + /** + *

    The name for the private re:Post.

    + */ + inline SpaceData& WithName(const Aws::String& value) { SetName(value); return *this;} + + /** + *

    The name for the private re:Post.

    + */ + inline SpaceData& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + + /** + *

    The name for the private re:Post.

    + */ + inline SpaceData& WithName(const char* value) { SetName(value); return *this;} + + + /** + *

    The AWS generated subdomain of the private re:Post.

    + */ + inline const Aws::String& GetRandomDomain() const{ return m_randomDomain; } + + /** + *

    The AWS generated subdomain of the private re:Post.

    + */ + inline bool RandomDomainHasBeenSet() const { return m_randomDomainHasBeenSet; } + + /** + *

    The AWS generated subdomain of the private re:Post.

    + */ + inline void SetRandomDomain(const Aws::String& value) { m_randomDomainHasBeenSet = true; m_randomDomain = value; } + + /** + *

    The AWS generated subdomain of the private re:Post.

    + */ + inline void SetRandomDomain(Aws::String&& value) { m_randomDomainHasBeenSet = true; m_randomDomain = std::move(value); } + + /** + *

    The AWS generated subdomain of the private re:Post.

    + */ + inline void SetRandomDomain(const char* value) { m_randomDomainHasBeenSet = true; m_randomDomain.assign(value); } + + /** + *

    The AWS generated subdomain of the private re:Post.

    + */ + inline SpaceData& WithRandomDomain(const Aws::String& value) { SetRandomDomain(value); return *this;} + + /** + *

    The AWS generated subdomain of the private re:Post.

    + */ + inline SpaceData& WithRandomDomain(Aws::String&& value) { SetRandomDomain(std::move(value)); return *this;} + + /** + *

    The AWS generated subdomain of the private re:Post.

    + */ + inline SpaceData& WithRandomDomain(const char* value) { SetRandomDomain(value); return *this;} + + + /** + *

    The unique ID of the private re:Post.

    + */ + inline const Aws::String& GetSpaceId() const{ return m_spaceId; } + + /** + *

    The unique ID of the private re:Post.

    + */ + inline bool SpaceIdHasBeenSet() const { return m_spaceIdHasBeenSet; } + + /** + *

    The unique ID of the private re:Post.

    + */ + inline void SetSpaceId(const Aws::String& value) { m_spaceIdHasBeenSet = true; m_spaceId = value; } + + /** + *

    The unique ID of the private re:Post.

    + */ + inline void SetSpaceId(Aws::String&& value) { m_spaceIdHasBeenSet = true; m_spaceId = std::move(value); } + + /** + *

    The unique ID of the private re:Post.

    + */ + inline void SetSpaceId(const char* value) { m_spaceIdHasBeenSet = true; m_spaceId.assign(value); } + + /** + *

    The unique ID of the private re:Post.

    + */ + inline SpaceData& WithSpaceId(const Aws::String& value) { SetSpaceId(value); return *this;} + + /** + *

    The unique ID of the private re:Post.

    + */ + inline SpaceData& WithSpaceId(Aws::String&& value) { SetSpaceId(std::move(value)); return *this;} + + /** + *

    The unique ID of the private re:Post.

    + */ + inline SpaceData& WithSpaceId(const char* value) { SetSpaceId(value); return *this;} + + + /** + *

    The creation/deletion status of the private re:Post.

    + */ + inline const Aws::String& GetStatus() const{ return m_status; } + + /** + *

    The creation/deletion status of the private re:Post.

    + */ + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + + /** + *

    The creation/deletion status of the private re:Post.

    + */ + inline void SetStatus(const Aws::String& value) { m_statusHasBeenSet = true; m_status = value; } + + /** + *

    The creation/deletion status of the private re:Post.

    + */ + inline void SetStatus(Aws::String&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } + + /** + *

    The creation/deletion status of the private re:Post.

    + */ + inline void SetStatus(const char* value) { m_statusHasBeenSet = true; m_status.assign(value); } + + /** + *

    The creation/deletion status of the private re:Post.

    + */ + inline SpaceData& WithStatus(const Aws::String& value) { SetStatus(value); return *this;} + + /** + *

    The creation/deletion status of the private re:Post.

    + */ + inline SpaceData& WithStatus(Aws::String&& value) { SetStatus(std::move(value)); return *this;} + + /** + *

    The creation/deletion status of the private re:Post.

    + */ + inline SpaceData& WithStatus(const char* value) { SetStatus(value); return *this;} + + + /** + *

    The storage limit of the private re:Post.

    + */ + inline long long GetStorageLimit() const{ return m_storageLimit; } + + /** + *

    The storage limit of the private re:Post.

    + */ + inline bool StorageLimitHasBeenSet() const { return m_storageLimitHasBeenSet; } + + /** + *

    The storage limit of the private re:Post.

    + */ + inline void SetStorageLimit(long long value) { m_storageLimitHasBeenSet = true; m_storageLimit = value; } + + /** + *

    The storage limit of the private re:Post.

    + */ + inline SpaceData& WithStorageLimit(long long value) { SetStorageLimit(value); return *this;} + + + /** + *

    The pricing tier of the private re:Post.

    + */ + inline const TierLevel& GetTier() const{ return m_tier; } + + /** + *

    The pricing tier of the private re:Post.

    + */ + inline bool TierHasBeenSet() const { return m_tierHasBeenSet; } + + /** + *

    The pricing tier of the private re:Post.

    + */ + inline void SetTier(const TierLevel& value) { m_tierHasBeenSet = true; m_tier = value; } + + /** + *

    The pricing tier of the private re:Post.

    + */ + inline void SetTier(TierLevel&& value) { m_tierHasBeenSet = true; m_tier = std::move(value); } + + /** + *

    The pricing tier of the private re:Post.

    + */ + inline SpaceData& WithTier(const TierLevel& value) { SetTier(value); return *this;} + + /** + *

    The pricing tier of the private re:Post.

    + */ + inline SpaceData& WithTier(TierLevel&& value) { SetTier(std::move(value)); return *this;} + + + /** + *

    The number of onboarded users to the private re:Post.

    + */ + inline int GetUserCount() const{ return m_userCount; } + + /** + *

    The number of onboarded users to the private re:Post.

    + */ + inline bool UserCountHasBeenSet() const { return m_userCountHasBeenSet; } + + /** + *

    The number of onboarded users to the private re:Post.

    + */ + inline void SetUserCount(int value) { m_userCountHasBeenSet = true; m_userCount = value; } + + /** + *

    The number of onboarded users to the private re:Post.

    + */ + inline SpaceData& WithUserCount(int value) { SetUserCount(value); return *this;} + + + /** + *

    The custom AWS KMS key ARN that’s used for the AWS KMS encryption.

    + */ + inline const Aws::String& GetUserKMSKey() const{ return m_userKMSKey; } + + /** + *

    The custom AWS KMS key ARN that’s used for the AWS KMS encryption.

    + */ + inline bool UserKMSKeyHasBeenSet() const { return m_userKMSKeyHasBeenSet; } + + /** + *

    The custom AWS KMS key ARN that’s used for the AWS KMS encryption.

    + */ + inline void SetUserKMSKey(const Aws::String& value) { m_userKMSKeyHasBeenSet = true; m_userKMSKey = value; } + + /** + *

    The custom AWS KMS key ARN that’s used for the AWS KMS encryption.

    + */ + inline void SetUserKMSKey(Aws::String&& value) { m_userKMSKeyHasBeenSet = true; m_userKMSKey = std::move(value); } + + /** + *

    The custom AWS KMS key ARN that’s used for the AWS KMS encryption.

    + */ + inline void SetUserKMSKey(const char* value) { m_userKMSKeyHasBeenSet = true; m_userKMSKey.assign(value); } + + /** + *

    The custom AWS KMS key ARN that’s used for the AWS KMS encryption.

    + */ + inline SpaceData& WithUserKMSKey(const Aws::String& value) { SetUserKMSKey(value); return *this;} + + /** + *

    The custom AWS KMS key ARN that’s used for the AWS KMS encryption.

    + */ + inline SpaceData& WithUserKMSKey(Aws::String&& value) { SetUserKMSKey(std::move(value)); return *this;} + + /** + *

    The custom AWS KMS key ARN that’s used for the AWS KMS encryption.

    + */ + inline SpaceData& WithUserKMSKey(const char* value) { SetUserKMSKey(value); return *this;} + + + /** + *

    This custom subdomain that you use to access your private re:Post. All custom + * subdomains must be approved by AWS before use.

    + */ + inline const Aws::String& GetVanityDomain() const{ return m_vanityDomain; } + + /** + *

    This custom subdomain that you use to access your private re:Post. All custom + * subdomains must be approved by AWS before use.

    + */ + inline bool VanityDomainHasBeenSet() const { return m_vanityDomainHasBeenSet; } + + /** + *

    This custom subdomain that you use to access your private re:Post. All custom + * subdomains must be approved by AWS before use.

    + */ + inline void SetVanityDomain(const Aws::String& value) { m_vanityDomainHasBeenSet = true; m_vanityDomain = value; } + + /** + *

    This custom subdomain that you use to access your private re:Post. All custom + * subdomains must be approved by AWS before use.

    + */ + inline void SetVanityDomain(Aws::String&& value) { m_vanityDomainHasBeenSet = true; m_vanityDomain = std::move(value); } + + /** + *

    This custom subdomain that you use to access your private re:Post. All custom + * subdomains must be approved by AWS before use.

    + */ + inline void SetVanityDomain(const char* value) { m_vanityDomainHasBeenSet = true; m_vanityDomain.assign(value); } + + /** + *

    This custom subdomain that you use to access your private re:Post. All custom + * subdomains must be approved by AWS before use.

    + */ + inline SpaceData& WithVanityDomain(const Aws::String& value) { SetVanityDomain(value); return *this;} + + /** + *

    This custom subdomain that you use to access your private re:Post. All custom + * subdomains must be approved by AWS before use.

    + */ + inline SpaceData& WithVanityDomain(Aws::String&& value) { SetVanityDomain(std::move(value)); return *this;} + + /** + *

    This custom subdomain that you use to access your private re:Post. All custom + * subdomains must be approved by AWS before use.

    + */ + inline SpaceData& WithVanityDomain(const char* value) { SetVanityDomain(value); return *this;} + + + /** + *

    This approval status of the custom subdomain.

    + */ + inline const VanityDomainStatus& GetVanityDomainStatus() const{ return m_vanityDomainStatus; } + + /** + *

    This approval status of the custom subdomain.

    + */ + inline bool VanityDomainStatusHasBeenSet() const { return m_vanityDomainStatusHasBeenSet; } + + /** + *

    This approval status of the custom subdomain.

    + */ + inline void SetVanityDomainStatus(const VanityDomainStatus& value) { m_vanityDomainStatusHasBeenSet = true; m_vanityDomainStatus = value; } + + /** + *

    This approval status of the custom subdomain.

    + */ + inline void SetVanityDomainStatus(VanityDomainStatus&& value) { m_vanityDomainStatusHasBeenSet = true; m_vanityDomainStatus = std::move(value); } + + /** + *

    This approval status of the custom subdomain.

    + */ + inline SpaceData& WithVanityDomainStatus(const VanityDomainStatus& value) { SetVanityDomainStatus(value); return *this;} + + /** + *

    This approval status of the custom subdomain.

    + */ + inline SpaceData& WithVanityDomainStatus(VanityDomainStatus&& value) { SetVanityDomainStatus(std::move(value)); return *this;} + + private: + + Aws::String m_arn; + bool m_arnHasBeenSet = false; + + ConfigurationStatus m_configurationStatus; + bool m_configurationStatusHasBeenSet = false; + + long long m_contentSize; + bool m_contentSizeHasBeenSet = false; + + Aws::Utils::DateTime m_createDateTime; + bool m_createDateTimeHasBeenSet = false; + + Aws::Utils::DateTime m_deleteDateTime; + bool m_deleteDateTimeHasBeenSet = false; + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::String m_randomDomain; + bool m_randomDomainHasBeenSet = false; + + Aws::String m_spaceId; + bool m_spaceIdHasBeenSet = false; + + Aws::String m_status; + bool m_statusHasBeenSet = false; + + long long m_storageLimit; + bool m_storageLimitHasBeenSet = false; + + TierLevel m_tier; + bool m_tierHasBeenSet = false; + + int m_userCount; + bool m_userCountHasBeenSet = false; + + Aws::String m_userKMSKey; + bool m_userKMSKeyHasBeenSet = false; + + Aws::String m_vanityDomain; + bool m_vanityDomainHasBeenSet = false; + + VanityDomainStatus m_vanityDomainStatus; + bool m_vanityDomainStatusHasBeenSet = false; + }; + +} // namespace Model +} // namespace repostspace +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/TagResourceRequest.h b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/TagResourceRequest.h new file mode 100644 index 00000000000..0663418bf73 --- /dev/null +++ b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/TagResourceRequest.h @@ -0,0 +1,179 @@ +/** + * 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 repostspace +{ +namespace Model +{ + + /** + */ + class TagResourceRequest : public RepostspaceRequest + { + public: + AWS_REPOSTSPACE_API TagResourceRequest(); + + // 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 "TagResource"; } + + AWS_REPOSTSPACE_API Aws::String SerializePayload() const override; + + + /** + *

    The ARN of the resource that the tag is associated with.

    + */ + inline const Aws::String& GetResourceArn() const{ return m_resourceArn; } + + /** + *

    The ARN of the resource that the tag is associated with.

    + */ + inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; } + + /** + *

    The ARN of the resource that the tag is associated with.

    + */ + inline void SetResourceArn(const Aws::String& value) { m_resourceArnHasBeenSet = true; m_resourceArn = value; } + + /** + *

    The ARN of the resource that the tag is associated with.

    + */ + inline void SetResourceArn(Aws::String&& value) { m_resourceArnHasBeenSet = true; m_resourceArn = std::move(value); } + + /** + *

    The ARN of the resource that the tag is associated with.

    + */ + inline void SetResourceArn(const char* value) { m_resourceArnHasBeenSet = true; m_resourceArn.assign(value); } + + /** + *

    The ARN of the resource that the tag is associated with.

    + */ + inline TagResourceRequest& WithResourceArn(const Aws::String& value) { SetResourceArn(value); return *this;} + + /** + *

    The ARN of the resource that the tag is associated with.

    + */ + inline TagResourceRequest& WithResourceArn(Aws::String&& value) { SetResourceArn(std::move(value)); return *this;} + + /** + *

    The ARN of the resource that the tag is associated with.

    + */ + inline TagResourceRequest& WithResourceArn(const char* value) { SetResourceArn(value); return *this;} + + + /** + *

    The list of tag keys and values that must be associated with the resource. + * You can associate tag keys only, tags (key and values) only, or a combination of + * tag keys and tags.

    + */ + inline const Aws::Map& GetTags() const{ return m_tags; } + + /** + *

    The list of tag keys and values that must be associated with the resource. + * You can associate tag keys only, tags (key and values) only, or a combination of + * tag keys and tags.

    + */ + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + + /** + *

    The list of tag keys and values that must be associated with the resource. + * You can associate tag keys only, tags (key and values) only, or a combination of + * tag keys and tags.

    + */ + inline void SetTags(const Aws::Map& value) { m_tagsHasBeenSet = true; m_tags = value; } + + /** + *

    The list of tag keys and values that must be associated with the resource. + * You can associate tag keys only, tags (key and values) only, or a combination of + * tag keys and tags.

    + */ + inline void SetTags(Aws::Map&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } + + /** + *

    The list of tag keys and values that must be associated with the resource. + * You can associate tag keys only, tags (key and values) only, or a combination of + * tag keys and tags.

    + */ + inline TagResourceRequest& WithTags(const Aws::Map& value) { SetTags(value); return *this;} + + /** + *

    The list of tag keys and values that must be associated with the resource. + * You can associate tag keys only, tags (key and values) only, or a combination of + * tag keys and tags.

    + */ + inline TagResourceRequest& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} + + /** + *

    The list of tag keys and values that must be associated with the resource. + * You can associate tag keys only, tags (key and values) only, or a combination of + * tag keys and tags.

    + */ + inline TagResourceRequest& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } + + /** + *

    The list of tag keys and values that must be associated with the resource. + * You can associate tag keys only, tags (key and values) only, or a combination of + * tag keys and tags.

    + */ + inline TagResourceRequest& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } + + /** + *

    The list of tag keys and values that must be associated with the resource. + * You can associate tag keys only, tags (key and values) only, or a combination of + * tag keys and tags.

    + */ + inline TagResourceRequest& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } + + /** + *

    The list of tag keys and values that must be associated with the resource. + * You can associate tag keys only, tags (key and values) only, or a combination of + * tag keys and tags.

    + */ + inline TagResourceRequest& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } + + /** + *

    The list of tag keys and values that must be associated with the resource. + * You can associate tag keys only, tags (key and values) only, or a combination of + * tag keys and tags.

    + */ + inline TagResourceRequest& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } + + /** + *

    The list of tag keys and values that must be associated with the resource. + * You can associate tag keys only, tags (key and values) only, or a combination of + * tag keys and tags.

    + */ + inline TagResourceRequest& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } + + /** + *

    The list of tag keys and values that must be associated with the resource. + * You can associate tag keys only, tags (key and values) only, or a combination of + * tag keys and tags.

    + */ + inline TagResourceRequest& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } + + private: + + Aws::String m_resourceArn; + bool m_resourceArnHasBeenSet = false; + + Aws::Map m_tags; + bool m_tagsHasBeenSet = false; + }; + +} // namespace Model +} // namespace repostspace +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/TagResourceResult.h b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/TagResourceResult.h new file mode 100644 index 00000000000..482a1430d97 --- /dev/null +++ b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/TagResourceResult.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 + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace repostspace +{ +namespace Model +{ + class TagResourceResult + { + public: + AWS_REPOSTSPACE_API TagResourceResult(); + AWS_REPOSTSPACE_API TagResourceResult(const Aws::AmazonWebServiceResult& result); + AWS_REPOSTSPACE_API TagResourceResult& 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 TagResourceResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline TagResourceResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline TagResourceResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace repostspace +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/ThrottlingException.h b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/ThrottlingException.h new file mode 100644 index 00000000000..7f80557d05e --- /dev/null +++ b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/ThrottlingException.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 + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace repostspace +{ +namespace Model +{ + + /** + *

    Request was denied due to request throttling.

    See Also:

    AWS + * API Reference

    + */ + class ThrottlingException + { + public: + AWS_REPOSTSPACE_API ThrottlingException(); + AWS_REPOSTSPACE_API ThrottlingException(Aws::Utils::Json::JsonView jsonValue); + AWS_REPOSTSPACE_API ThrottlingException& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_REPOSTSPACE_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 ThrottlingException& WithMessage(const Aws::String& value) { SetMessage(value); return *this;} + + + inline ThrottlingException& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;} + + + inline ThrottlingException& WithMessage(const char* value) { SetMessage(value); return *this;} + + + /** + *

    The code to identify the quota.

    + */ + inline const Aws::String& GetQuotaCode() const{ return m_quotaCode; } + + /** + *

    The code to identify the quota.

    + */ + inline bool QuotaCodeHasBeenSet() const { return m_quotaCodeHasBeenSet; } + + /** + *

    The code to identify the quota.

    + */ + inline void SetQuotaCode(const Aws::String& value) { m_quotaCodeHasBeenSet = true; m_quotaCode = value; } + + /** + *

    The code to identify the quota.

    + */ + inline void SetQuotaCode(Aws::String&& value) { m_quotaCodeHasBeenSet = true; m_quotaCode = std::move(value); } + + /** + *

    The code to identify the quota.

    + */ + inline void SetQuotaCode(const char* value) { m_quotaCodeHasBeenSet = true; m_quotaCode.assign(value); } + + /** + *

    The code to identify the quota.

    + */ + inline ThrottlingException& WithQuotaCode(const Aws::String& value) { SetQuotaCode(value); return *this;} + + /** + *

    The code to identify the quota.

    + */ + inline ThrottlingException& WithQuotaCode(Aws::String&& value) { SetQuotaCode(std::move(value)); return *this;} + + /** + *

    The code to identify the quota.

    + */ + inline ThrottlingException& WithQuotaCode(const char* value) { SetQuotaCode(value); return *this;} + + + /** + *

    Advice to clients on when the call can be safely retried.

    + */ + inline int GetRetryAfterSeconds() const{ return m_retryAfterSeconds; } + + /** + *

    Advice to clients on when the call can be safely retried.

    + */ + inline bool RetryAfterSecondsHasBeenSet() const { return m_retryAfterSecondsHasBeenSet; } + + /** + *

    Advice to clients on when the call can be safely retried.

    + */ + inline void SetRetryAfterSeconds(int value) { m_retryAfterSecondsHasBeenSet = true; m_retryAfterSeconds = value; } + + /** + *

    Advice to clients on when the call can be safely retried.

    + */ + inline ThrottlingException& WithRetryAfterSeconds(int value) { SetRetryAfterSeconds(value); return *this;} + + + /** + *

    The code to identify the service.

    + */ + inline const Aws::String& GetServiceCode() const{ return m_serviceCode; } + + /** + *

    The code to identify the service.

    + */ + inline bool ServiceCodeHasBeenSet() const { return m_serviceCodeHasBeenSet; } + + /** + *

    The code to identify the service.

    + */ + inline void SetServiceCode(const Aws::String& value) { m_serviceCodeHasBeenSet = true; m_serviceCode = value; } + + /** + *

    The code to identify the service.

    + */ + inline void SetServiceCode(Aws::String&& value) { m_serviceCodeHasBeenSet = true; m_serviceCode = std::move(value); } + + /** + *

    The code to identify the service.

    + */ + inline void SetServiceCode(const char* value) { m_serviceCodeHasBeenSet = true; m_serviceCode.assign(value); } + + /** + *

    The code to identify the service.

    + */ + inline ThrottlingException& WithServiceCode(const Aws::String& value) { SetServiceCode(value); return *this;} + + /** + *

    The code to identify the service.

    + */ + inline ThrottlingException& WithServiceCode(Aws::String&& value) { SetServiceCode(std::move(value)); return *this;} + + /** + *

    The code to identify the service.

    + */ + inline ThrottlingException& WithServiceCode(const char* value) { SetServiceCode(value); return *this;} + + private: + + Aws::String m_message; + bool m_messageHasBeenSet = false; + + Aws::String m_quotaCode; + bool m_quotaCodeHasBeenSet = false; + + int m_retryAfterSeconds; + bool m_retryAfterSecondsHasBeenSet = false; + + Aws::String m_serviceCode; + bool m_serviceCodeHasBeenSet = false; + }; + +} // namespace Model +} // namespace repostspace +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/TierLevel.h b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/TierLevel.h new file mode 100644 index 00000000000..30d57021de6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/TierLevel.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 repostspace +{ +namespace Model +{ + enum class TierLevel + { + NOT_SET, + BASIC, + STANDARD + }; + +namespace TierLevelMapper +{ +AWS_REPOSTSPACE_API TierLevel GetTierLevelForName(const Aws::String& name); + +AWS_REPOSTSPACE_API Aws::String GetNameForTierLevel(TierLevel value); +} // namespace TierLevelMapper +} // namespace Model +} // namespace repostspace +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/UntagResourceRequest.h b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/UntagResourceRequest.h new file mode 100644 index 00000000000..538f7fefeb0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/UntagResourceRequest.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 Http +{ + class URI; +} //namespace Http +namespace repostspace +{ +namespace Model +{ + + /** + */ + class UntagResourceRequest : public RepostspaceRequest + { + public: + AWS_REPOSTSPACE_API UntagResourceRequest(); + + // 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 "UntagResource"; } + + AWS_REPOSTSPACE_API Aws::String SerializePayload() const override; + + AWS_REPOSTSPACE_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + /** + *

    The ARN of the resource.

    + */ + inline const Aws::String& GetResourceArn() const{ return m_resourceArn; } + + /** + *

    The ARN of the resource.

    + */ + inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; } + + /** + *

    The ARN of the resource.

    + */ + inline void SetResourceArn(const Aws::String& value) { m_resourceArnHasBeenSet = true; m_resourceArn = value; } + + /** + *

    The ARN of the resource.

    + */ + inline void SetResourceArn(Aws::String&& value) { m_resourceArnHasBeenSet = true; m_resourceArn = std::move(value); } + + /** + *

    The ARN of the resource.

    + */ + inline void SetResourceArn(const char* value) { m_resourceArnHasBeenSet = true; m_resourceArn.assign(value); } + + /** + *

    The ARN of the resource.

    + */ + inline UntagResourceRequest& WithResourceArn(const Aws::String& value) { SetResourceArn(value); return *this;} + + /** + *

    The ARN of the resource.

    + */ + inline UntagResourceRequest& WithResourceArn(Aws::String&& value) { SetResourceArn(std::move(value)); return *this;} + + /** + *

    The ARN of the resource.

    + */ + inline UntagResourceRequest& WithResourceArn(const char* value) { SetResourceArn(value); return *this;} + + + /** + *

    The key values of the tag.

    + */ + inline const Aws::Vector& GetTagKeys() const{ return m_tagKeys; } + + /** + *

    The key values of the tag.

    + */ + inline bool TagKeysHasBeenSet() const { return m_tagKeysHasBeenSet; } + + /** + *

    The key values of the tag.

    + */ + inline void SetTagKeys(const Aws::Vector& value) { m_tagKeysHasBeenSet = true; m_tagKeys = value; } + + /** + *

    The key values of the tag.

    + */ + inline void SetTagKeys(Aws::Vector&& value) { m_tagKeysHasBeenSet = true; m_tagKeys = std::move(value); } + + /** + *

    The key values of the tag.

    + */ + inline UntagResourceRequest& WithTagKeys(const Aws::Vector& value) { SetTagKeys(value); return *this;} + + /** + *

    The key values of the tag.

    + */ + inline UntagResourceRequest& WithTagKeys(Aws::Vector&& value) { SetTagKeys(std::move(value)); return *this;} + + /** + *

    The key values of the tag.

    + */ + inline UntagResourceRequest& AddTagKeys(const Aws::String& value) { m_tagKeysHasBeenSet = true; m_tagKeys.push_back(value); return *this; } + + /** + *

    The key values of the tag.

    + */ + inline UntagResourceRequest& AddTagKeys(Aws::String&& value) { m_tagKeysHasBeenSet = true; m_tagKeys.push_back(std::move(value)); return *this; } + + /** + *

    The key values of the tag.

    + */ + inline UntagResourceRequest& AddTagKeys(const char* value) { m_tagKeysHasBeenSet = true; m_tagKeys.push_back(value); return *this; } + + private: + + Aws::String m_resourceArn; + bool m_resourceArnHasBeenSet = false; + + Aws::Vector m_tagKeys; + bool m_tagKeysHasBeenSet = false; + }; + +} // namespace Model +} // namespace repostspace +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/UntagResourceResult.h b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/UntagResourceResult.h new file mode 100644 index 00000000000..f452e153154 --- /dev/null +++ b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/UntagResourceResult.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 + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace repostspace +{ +namespace Model +{ + class UntagResourceResult + { + public: + AWS_REPOSTSPACE_API UntagResourceResult(); + AWS_REPOSTSPACE_API UntagResourceResult(const Aws::AmazonWebServiceResult& result); + AWS_REPOSTSPACE_API UntagResourceResult& 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 UntagResourceResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline UntagResourceResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline UntagResourceResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace repostspace +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/UpdateSpaceRequest.h b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/UpdateSpaceRequest.h new file mode 100644 index 00000000000..1d8dc572488 --- /dev/null +++ b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/UpdateSpaceRequest.h @@ -0,0 +1,222 @@ +/** + * 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 repostspace +{ +namespace Model +{ + + /** + */ + class UpdateSpaceRequest : public RepostspaceRequest + { + public: + AWS_REPOSTSPACE_API UpdateSpaceRequest(); + + // 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 "UpdateSpace"; } + + AWS_REPOSTSPACE_API Aws::String SerializePayload() const override; + + + /** + *

    A description for the private re:Post. This is used only to help you identify + * this private re:Post.

    + */ + inline const Aws::String& GetDescription() const{ return m_description; } + + /** + *

    A description for the private re:Post. This is used only to help you identify + * this private re:Post.

    + */ + inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } + + /** + *

    A description for the private re:Post. This is used only to help you identify + * this private re:Post.

    + */ + inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } + + /** + *

    A description for the private re:Post. This is used only to help you identify + * this private re:Post.

    + */ + inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } + + /** + *

    A description for the private re:Post. This is used only to help you identify + * this private re:Post.

    + */ + inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } + + /** + *

    A description for the private re:Post. This is used only to help you identify + * this private re:Post.

    + */ + inline UpdateSpaceRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} + + /** + *

    A description for the private re:Post. This is used only to help you identify + * this private re:Post.

    + */ + inline UpdateSpaceRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} + + /** + *

    A description for the private re:Post. This is used only to help you identify + * this private re:Post.

    + */ + inline UpdateSpaceRequest& WithDescription(const char* value) { SetDescription(value); return *this;} + + + /** + *

    The IAM role that grants permissions to the private re:Post to convert + * unanswered questions into AWS support tickets.

    + */ + inline const Aws::String& GetRoleArn() const{ return m_roleArn; } + + /** + *

    The IAM role that grants permissions to the private re:Post to convert + * unanswered questions into AWS support tickets.

    + */ + inline bool RoleArnHasBeenSet() const { return m_roleArnHasBeenSet; } + + /** + *

    The IAM role that grants permissions to the private re:Post to convert + * unanswered questions into AWS support tickets.

    + */ + inline void SetRoleArn(const Aws::String& value) { m_roleArnHasBeenSet = true; m_roleArn = value; } + + /** + *

    The IAM role that grants permissions to the private re:Post to convert + * unanswered questions into AWS support tickets.

    + */ + inline void SetRoleArn(Aws::String&& value) { m_roleArnHasBeenSet = true; m_roleArn = std::move(value); } + + /** + *

    The IAM role that grants permissions to the private re:Post to convert + * unanswered questions into AWS support tickets.

    + */ + inline void SetRoleArn(const char* value) { m_roleArnHasBeenSet = true; m_roleArn.assign(value); } + + /** + *

    The IAM role that grants permissions to the private re:Post to convert + * unanswered questions into AWS support tickets.

    + */ + inline UpdateSpaceRequest& WithRoleArn(const Aws::String& value) { SetRoleArn(value); return *this;} + + /** + *

    The IAM role that grants permissions to the private re:Post to convert + * unanswered questions into AWS support tickets.

    + */ + inline UpdateSpaceRequest& WithRoleArn(Aws::String&& value) { SetRoleArn(std::move(value)); return *this;} + + /** + *

    The IAM role that grants permissions to the private re:Post to convert + * unanswered questions into AWS support tickets.

    + */ + inline UpdateSpaceRequest& WithRoleArn(const char* value) { SetRoleArn(value); return *this;} + + + /** + *

    The unique ID of this private re:Post.

    + */ + inline const Aws::String& GetSpaceId() const{ return m_spaceId; } + + /** + *

    The unique ID of this private re:Post.

    + */ + inline bool SpaceIdHasBeenSet() const { return m_spaceIdHasBeenSet; } + + /** + *

    The unique ID of this private re:Post.

    + */ + inline void SetSpaceId(const Aws::String& value) { m_spaceIdHasBeenSet = true; m_spaceId = value; } + + /** + *

    The unique ID of this private re:Post.

    + */ + inline void SetSpaceId(Aws::String&& value) { m_spaceIdHasBeenSet = true; m_spaceId = std::move(value); } + + /** + *

    The unique ID of this private re:Post.

    + */ + inline void SetSpaceId(const char* value) { m_spaceIdHasBeenSet = true; m_spaceId.assign(value); } + + /** + *

    The unique ID of this private re:Post.

    + */ + inline UpdateSpaceRequest& WithSpaceId(const Aws::String& value) { SetSpaceId(value); return *this;} + + /** + *

    The unique ID of this private re:Post.

    + */ + inline UpdateSpaceRequest& WithSpaceId(Aws::String&& value) { SetSpaceId(std::move(value)); return *this;} + + /** + *

    The unique ID of this private re:Post.

    + */ + inline UpdateSpaceRequest& WithSpaceId(const char* value) { SetSpaceId(value); return *this;} + + + /** + *

    The pricing tier of this private re:Post.

    + */ + inline const TierLevel& GetTier() const{ return m_tier; } + + /** + *

    The pricing tier of this private re:Post.

    + */ + inline bool TierHasBeenSet() const { return m_tierHasBeenSet; } + + /** + *

    The pricing tier of this private re:Post.

    + */ + inline void SetTier(const TierLevel& value) { m_tierHasBeenSet = true; m_tier = value; } + + /** + *

    The pricing tier of this private re:Post.

    + */ + inline void SetTier(TierLevel&& value) { m_tierHasBeenSet = true; m_tier = std::move(value); } + + /** + *

    The pricing tier of this private re:Post.

    + */ + inline UpdateSpaceRequest& WithTier(const TierLevel& value) { SetTier(value); return *this;} + + /** + *

    The pricing tier of this private re:Post.

    + */ + inline UpdateSpaceRequest& WithTier(TierLevel&& value) { SetTier(std::move(value)); return *this;} + + private: + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + Aws::String m_roleArn; + bool m_roleArnHasBeenSet = false; + + Aws::String m_spaceId; + bool m_spaceIdHasBeenSet = false; + + TierLevel m_tier; + bool m_tierHasBeenSet = false; + }; + +} // namespace Model +} // namespace repostspace +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/ValidationException.h b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/ValidationException.h new file mode 100644 index 00000000000..86cc67f88c7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/ValidationException.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 +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace repostspace +{ +namespace Model +{ + + /** + *

    The input fails to satisfy the constraints specified by an AWS + * service.

    See Also:

    AWS + * API Reference

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

    The field that caused the error, if applicable.

    + */ + inline const Aws::Vector& GetFieldList() const{ return m_fieldList; } + + /** + *

    The field that caused the error, if applicable.

    + */ + inline bool FieldListHasBeenSet() const { return m_fieldListHasBeenSet; } + + /** + *

    The field that caused the error, if applicable.

    + */ + inline void SetFieldList(const Aws::Vector& value) { m_fieldListHasBeenSet = true; m_fieldList = value; } + + /** + *

    The field that caused the error, if applicable.

    + */ + inline void SetFieldList(Aws::Vector&& value) { m_fieldListHasBeenSet = true; m_fieldList = std::move(value); } + + /** + *

    The field that caused the error, if applicable.

    + */ + inline ValidationException& WithFieldList(const Aws::Vector& value) { SetFieldList(value); return *this;} + + /** + *

    The field that caused the error, if applicable.

    + */ + inline ValidationException& WithFieldList(Aws::Vector&& value) { SetFieldList(std::move(value)); return *this;} + + /** + *

    The field that caused the error, if applicable.

    + */ + inline ValidationException& AddFieldList(const ValidationExceptionField& value) { m_fieldListHasBeenSet = true; m_fieldList.push_back(value); return *this; } + + /** + *

    The field that caused the error, if applicable.

    + */ + inline ValidationException& AddFieldList(ValidationExceptionField&& value) { m_fieldListHasBeenSet = true; m_fieldList.push_back(std::move(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 ValidationException& WithMessage(const Aws::String& value) { SetMessage(value); return *this;} + + + inline ValidationException& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;} + + + inline ValidationException& WithMessage(const char* value) { SetMessage(value); return *this;} + + + /** + *

    The reason why the request failed validation.

    + */ + inline const ValidationExceptionReason& GetReason() const{ return m_reason; } + + /** + *

    The reason why the request failed validation.

    + */ + inline bool ReasonHasBeenSet() const { return m_reasonHasBeenSet; } + + /** + *

    The reason why the request failed validation.

    + */ + inline void SetReason(const ValidationExceptionReason& value) { m_reasonHasBeenSet = true; m_reason = value; } + + /** + *

    The reason why the request failed validation.

    + */ + inline void SetReason(ValidationExceptionReason&& value) { m_reasonHasBeenSet = true; m_reason = std::move(value); } + + /** + *

    The reason why the request failed validation.

    + */ + inline ValidationException& WithReason(const ValidationExceptionReason& value) { SetReason(value); return *this;} + + /** + *

    The reason why the request failed validation.

    + */ + inline ValidationException& WithReason(ValidationExceptionReason&& value) { SetReason(std::move(value)); return *this;} + + private: + + Aws::Vector m_fieldList; + bool m_fieldListHasBeenSet = false; + + Aws::String m_message; + bool m_messageHasBeenSet = false; + + ValidationExceptionReason m_reason; + bool m_reasonHasBeenSet = false; + }; + +} // namespace Model +} // namespace repostspace +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/ValidationExceptionField.h b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/ValidationExceptionField.h new file mode 100644 index 00000000000..87a5f7db862 --- /dev/null +++ b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/ValidationExceptionField.h @@ -0,0 +1,133 @@ +/** + * 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 repostspace +{ +namespace Model +{ + + /** + *

    Stores information about a field that’s passed inside a request that resulted + * in an exception.

    See Also:

    AWS + * API Reference

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

    The name of the field.

    + */ + inline const Aws::String& GetMessage() const{ return m_message; } + + /** + *

    The name of the field.

    + */ + inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } + + /** + *

    The name of the field.

    + */ + inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; } + + /** + *

    The name of the field.

    + */ + inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); } + + /** + *

    The name of the field.

    + */ + inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); } + + /** + *

    The name of the field.

    + */ + inline ValidationExceptionField& WithMessage(const Aws::String& value) { SetMessage(value); return *this;} + + /** + *

    The name of the field.

    + */ + inline ValidationExceptionField& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;} + + /** + *

    The name of the field.

    + */ + inline ValidationExceptionField& WithMessage(const char* value) { SetMessage(value); return *this;} + + + /** + *

    Message describing why the field failed validation.

    + */ + inline const Aws::String& GetName() const{ return m_name; } + + /** + *

    Message describing why the field failed validation.

    + */ + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + + /** + *

    Message describing why the field failed validation.

    + */ + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + + /** + *

    Message describing why the field failed validation.

    + */ + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + + /** + *

    Message describing why the field failed validation.

    + */ + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + + /** + *

    Message describing why the field failed validation.

    + */ + inline ValidationExceptionField& WithName(const Aws::String& value) { SetName(value); return *this;} + + /** + *

    Message describing why the field failed validation.

    + */ + inline ValidationExceptionField& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + + /** + *

    Message describing why the field failed validation.

    + */ + inline ValidationExceptionField& WithName(const char* value) { SetName(value); return *this;} + + private: + + Aws::String m_message; + bool m_messageHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + }; + +} // namespace Model +} // namespace repostspace +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/ValidationExceptionReason.h b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/ValidationExceptionReason.h new file mode 100644 index 00000000000..fa1de25ab06 --- /dev/null +++ b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/ValidationExceptionReason.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 repostspace +{ +namespace Model +{ + enum class ValidationExceptionReason + { + NOT_SET, + unknownOperation, + cannotParse, + fieldValidationFailed, + other + }; + +namespace ValidationExceptionReasonMapper +{ +AWS_REPOSTSPACE_API ValidationExceptionReason GetValidationExceptionReasonForName(const Aws::String& name); + +AWS_REPOSTSPACE_API Aws::String GetNameForValidationExceptionReason(ValidationExceptionReason value); +} // namespace ValidationExceptionReasonMapper +} // namespace Model +} // namespace repostspace +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/VanityDomainStatus.h b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/VanityDomainStatus.h new file mode 100644 index 00000000000..96fe021d086 --- /dev/null +++ b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/model/VanityDomainStatus.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 repostspace +{ +namespace Model +{ + enum class VanityDomainStatus + { + NOT_SET, + PENDING, + APPROVED, + UNAPPROVED + }; + +namespace VanityDomainStatusMapper +{ +AWS_REPOSTSPACE_API VanityDomainStatus GetVanityDomainStatusForName(const Aws::String& name); + +AWS_REPOSTSPACE_API Aws::String GetNameForVanityDomainStatus(VanityDomainStatus value); +} // namespace VanityDomainStatusMapper +} // namespace Model +} // namespace repostspace +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-repostspace/source/RepostspaceClient.cpp b/generated/src/aws-cpp-sdk-repostspace/source/RepostspaceClient.cpp new file mode 100644 index 00000000000..462effc9a07 --- /dev/null +++ b/generated/src/aws-cpp-sdk-repostspace/source/RepostspaceClient.cpp @@ -0,0 +1,538 @@ +/** + * 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::repostspace; +using namespace Aws::repostspace::Model; +using namespace Aws::Http; +using namespace Aws::Utils::Json; +using namespace smithy::components::tracing; +using ResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; + +const char* RepostspaceClient::SERVICE_NAME = "repostspace"; +const char* RepostspaceClient::ALLOCATION_TAG = "RepostspaceClient"; + +RepostspaceClient::RepostspaceClient(const repostspace::RepostspaceClientConfiguration& 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_executor(clientConfiguration.executor), + m_endpointProvider(std::move(endpointProvider)) +{ + init(m_clientConfiguration); +} + +RepostspaceClient::RepostspaceClient(const AWSCredentials& credentials, + std::shared_ptr endpointProvider, + const repostspace::RepostspaceClientConfiguration& 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_executor(clientConfiguration.executor), + m_endpointProvider(std::move(endpointProvider)) +{ + init(m_clientConfiguration); +} + +RepostspaceClient::RepostspaceClient(const std::shared_ptr& credentialsProvider, + std::shared_ptr endpointProvider, + const repostspace::RepostspaceClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + credentialsProvider, + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_executor(clientConfiguration.executor), + m_endpointProvider(std::move(endpointProvider)) +{ + init(m_clientConfiguration); +} + + /* Legacy constructors due deprecation */ + RepostspaceClient::RepostspaceClient(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_executor(clientConfiguration.executor), + m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +RepostspaceClient::RepostspaceClient(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_executor(clientConfiguration.executor), + m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +RepostspaceClient::RepostspaceClient(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_executor(clientConfiguration.executor), + m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + + /* End of legacy constructors due deprecation */ +RepostspaceClient::~RepostspaceClient() +{ + ShutdownSdkClient(this, -1); +} + +std::shared_ptr& RepostspaceClient::accessEndpointProvider() +{ + return m_endpointProvider; +} + +void RepostspaceClient::init(const repostspace::RepostspaceClientConfiguration& config) +{ + AWSClient::SetServiceClientName("repostspace"); + AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); + m_endpointProvider->InitBuiltInParameters(config); +} + +void RepostspaceClient::OverrideEndpoint(const Aws::String& endpoint) +{ + AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); + m_endpointProvider->OverrideEndpoint(endpoint); +} + +CreateSpaceOutcome RepostspaceClient::CreateSpace(const CreateSpaceRequest& request) const +{ + AWS_OPERATION_GUARD(CreateSpace); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CreateSpace, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, CreateSpace, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CreateSpace, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".CreateSpace", + {{ 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( + [&]()-> CreateSpaceOutcome { + 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, CreateSpace, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/spaces"); + return CreateSpaceOutcome(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()}}); +} + +DeleteSpaceOutcome RepostspaceClient::DeleteSpace(const DeleteSpaceRequest& request) const +{ + AWS_OPERATION_GUARD(DeleteSpace); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteSpace, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.SpaceIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteSpace", "Required field: SpaceId, is not set"); + return DeleteSpaceOutcome(Aws::Client::AWSError(RepostspaceErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [SpaceId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DeleteSpace, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DeleteSpace, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DeleteSpace", + {{ 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( + [&]()-> DeleteSpaceOutcome { + 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, DeleteSpace, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/spaces/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetSpaceId()); + return DeleteSpaceOutcome(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()}}); +} + +DeregisterAdminOutcome RepostspaceClient::DeregisterAdmin(const DeregisterAdminRequest& request) const +{ + AWS_OPERATION_GUARD(DeregisterAdmin); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeregisterAdmin, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.AdminIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeregisterAdmin", "Required field: AdminId, is not set"); + return DeregisterAdminOutcome(Aws::Client::AWSError(RepostspaceErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [AdminId]", false)); + } + if (!request.SpaceIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeregisterAdmin", "Required field: SpaceId, is not set"); + return DeregisterAdminOutcome(Aws::Client::AWSError(RepostspaceErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [SpaceId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DeregisterAdmin, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DeregisterAdmin, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DeregisterAdmin", + {{ 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( + [&]()-> DeregisterAdminOutcome { + 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, DeregisterAdmin, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/spaces/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetSpaceId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/admins/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetAdminId()); + return DeregisterAdminOutcome(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()}}); +} + +GetSpaceOutcome RepostspaceClient::GetSpace(const GetSpaceRequest& request) const +{ + AWS_OPERATION_GUARD(GetSpace); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetSpace, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.SpaceIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetSpace", "Required field: SpaceId, is not set"); + return GetSpaceOutcome(Aws::Client::AWSError(RepostspaceErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [SpaceId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetSpace, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetSpace, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetSpace", + {{ 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( + [&]()-> GetSpaceOutcome { + 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, GetSpace, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/spaces/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetSpaceId()); + return GetSpaceOutcome(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()}}); +} + +ListSpacesOutcome RepostspaceClient::ListSpaces(const ListSpacesRequest& request) const +{ + AWS_OPERATION_GUARD(ListSpaces); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListSpaces, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListSpaces, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListSpaces, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListSpaces", + {{ 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( + [&]()-> ListSpacesOutcome { + 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, ListSpaces, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/spaces"); + return ListSpacesOutcome(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 RepostspaceClient::ListTagsForResource(const ListTagsForResourceRequest& request) const +{ + AWS_OPERATION_GUARD(ListTagsForResource); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListTagsForResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ResourceArnHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("ListTagsForResource", "Required field: ResourceArn, is not set"); + return ListTagsForResourceOutcome(Aws::Client::AWSError(RepostspaceErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ResourceArn]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListTagsForResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListTagsForResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListTagsForResource", + {{ 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( + [&]()-> ListTagsForResourceOutcome { + 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, ListTagsForResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/tags/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetResourceArn()); + return ListTagsForResourceOutcome(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()}}); +} + +RegisterAdminOutcome RepostspaceClient::RegisterAdmin(const RegisterAdminRequest& request) const +{ + AWS_OPERATION_GUARD(RegisterAdmin); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, RegisterAdmin, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.AdminIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("RegisterAdmin", "Required field: AdminId, is not set"); + return RegisterAdminOutcome(Aws::Client::AWSError(RepostspaceErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [AdminId]", false)); + } + if (!request.SpaceIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("RegisterAdmin", "Required field: SpaceId, is not set"); + return RegisterAdminOutcome(Aws::Client::AWSError(RepostspaceErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [SpaceId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, RegisterAdmin, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, RegisterAdmin, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".RegisterAdmin", + {{ 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( + [&]()-> RegisterAdminOutcome { + 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, RegisterAdmin, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/spaces/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetSpaceId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/admins/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetAdminId()); + return RegisterAdminOutcome(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()}}); +} + +SendInvitesOutcome RepostspaceClient::SendInvites(const SendInvitesRequest& request) const +{ + AWS_OPERATION_GUARD(SendInvites); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, SendInvites, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.SpaceIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("SendInvites", "Required field: SpaceId, is not set"); + return SendInvitesOutcome(Aws::Client::AWSError(RepostspaceErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [SpaceId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, SendInvites, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, SendInvites, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".SendInvites", + {{ 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( + [&]()-> SendInvitesOutcome { + 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, SendInvites, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/spaces/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetSpaceId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/invite"); + return SendInvitesOutcome(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()}}); +} + +TagResourceOutcome RepostspaceClient::TagResource(const TagResourceRequest& request) const +{ + AWS_OPERATION_GUARD(TagResource); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, TagResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ResourceArnHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("TagResource", "Required field: ResourceArn, is not set"); + return TagResourceOutcome(Aws::Client::AWSError(RepostspaceErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ResourceArn]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, TagResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, TagResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".TagResource", + {{ 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( + [&]()-> TagResourceOutcome { + 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, TagResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/tags/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetResourceArn()); + return TagResourceOutcome(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()}}); +} + +UntagResourceOutcome RepostspaceClient::UntagResource(const UntagResourceRequest& request) const +{ + AWS_OPERATION_GUARD(UntagResource); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UntagResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ResourceArnHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("UntagResource", "Required field: ResourceArn, is not set"); + return UntagResourceOutcome(Aws::Client::AWSError(RepostspaceErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ResourceArn]", false)); + } + if (!request.TagKeysHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("UntagResource", "Required field: TagKeys, is not set"); + return UntagResourceOutcome(Aws::Client::AWSError(RepostspaceErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [TagKeys]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, UntagResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, UntagResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".UntagResource", + {{ 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( + [&]()-> UntagResourceOutcome { + 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, UntagResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/tags/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetResourceArn()); + return UntagResourceOutcome(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()}}); +} + +UpdateSpaceOutcome RepostspaceClient::UpdateSpace(const UpdateSpaceRequest& request) const +{ + AWS_OPERATION_GUARD(UpdateSpace); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UpdateSpace, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.SpaceIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("UpdateSpace", "Required field: SpaceId, is not set"); + return UpdateSpaceOutcome(Aws::Client::AWSError(RepostspaceErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [SpaceId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, UpdateSpace, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, UpdateSpace, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".UpdateSpace", + {{ 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( + [&]()-> UpdateSpaceOutcome { + 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, UpdateSpace, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/spaces/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetSpaceId()); + return UpdateSpaceOutcome(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()}}); +} + diff --git a/generated/src/aws-cpp-sdk-repostspace/source/RepostspaceEndpointProvider.cpp b/generated/src/aws-cpp-sdk-repostspace/source/RepostspaceEndpointProvider.cpp new file mode 100644 index 00000000000..20333fff3d2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-repostspace/source/RepostspaceEndpointProvider.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 repostspace +{ +namespace Endpoint +{ +} // namespace Endpoint +} // namespace repostspace +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-repostspace/source/RepostspaceEndpointRules.cpp b/generated/src/aws-cpp-sdk-repostspace/source/RepostspaceEndpointRules.cpp new file mode 100644 index 00000000000..76a619e83f7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-repostspace/source/RepostspaceEndpointRules.cpp @@ -0,0 +1,176 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +namespace Aws +{ +namespace repostspace +{ +const size_t RepostspaceEndpointRules::RulesBlobStrLen = 3744; +const size_t RepostspaceEndpointRules::RulesBlobSize = 3745; + +using RulesBlobT = Aws::Array; +static constexpr RulesBlobT RulesBlob = {{ +'{','"','v','e','r','s','i','o','n','"',':','"','1','.','0','"',',','"','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','"', +':','f','a','l','s','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','"',':','[','{','"','f','n','"',':','"', +'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', +'d','p','o','i','n','t','"','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', +'s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':', +'"','I','n','v','a','l','i','d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','F', +'I','P','S',' ','a','n','d',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','a', +'r','e',' ','n','o','t',' ','s','u','p','p','o','r','t','e','d','"',',','"','t','y','p','e','"',':', +'"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']', +',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k', +'"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l', +'i','d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','D','u','a','l','s','t','a', +'c','k',' ','a','n','d',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','a','r', +'e',' ','n','o','t',' ','s','u','p','p','o','r','t','e','d','"',',','"','t','y','p','e','"',':','"', +'e','r','r','o','r','"','}',',','{','"','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','"',':', +'{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"', +'e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', +'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']','}',']', +',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a', +'s','s','i','g','n','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}', +']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t', +'r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a', +'l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':', +'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','t','r','u','e', +',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}', +',','"','s','u','p','p','o','r','t','s','F','I','P','S','"',']','}',']','}',',','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u', +'l','t','"','}',',','"','s','u','p','p','o','r','t','s','D','u','a','l','S','t','a','c','k','"',']', +'}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[',']',',','"','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','"',':', +'"','h','t','t','p','s',':','/','/','r','e','p','o','s','t','s','p','a','c','e','-','f','i','p','s', +'.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l', +'t','#','d','u','a','l','S','t','a','c','k','D','n','s','S','u','f','f','i','x','}','"',',','"','p', +'r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{', +'}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t', +'y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e', +'e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r', +'o','r','"',':','"','F','I','P','S',' ','a','n','d',' ','D','u','a','l','S','t','a','c','k',' ','a', +'r','e',' ','e','n','a','b','l','e','d',',',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t', +'i','t','i','o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','o','n', +'e',' ','o','r',' ','b','o','t','h','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"', +'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F', +'I','P','S','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e', +'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', +'g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r', +'t','s','F','I','P','S','"',']','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"', +':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','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','"',':','"','h','t','t','p','s',':','/','/','r','e','p', +'o','s','t','s','p','a','c','e','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','P', +'a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}', +'"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r', +'s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}', +']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e','"',':', +'"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',', +'"','e','r','r','o','r','"',':','"','F','I','P','S',' ','i','s',' ','e','n','a','b','l','e','d',' ', +'b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ','n', +'o','t',' ','s','u','p','p','o','r','t',' ','F','I','P','S','"',',','"','t','y','p','e','"',':','"', +'e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', +'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',', +'"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n', +'R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','D','u','a','l','S','t','a', +'c','k','"',']','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[',']',',','"','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','"',':','"','h','t','t','p','s',':','/','/','r','e','p','o','s','t','s','p','a','c','e','.', +'{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t', +'#','d','u','a','l','S','t','a','c','k','D','n','s','S','u','f','f','i','x','}','"',',','"','p','r', +'o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}', +'}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y', +'p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', +'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o', +'r','"',':','"','D','u','a','l','S','t','a','c','k',' ','i','s',' ','e','n','a','b','l','e','d',' ', +'b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ','n', +'o','t',' ','s','u','p','p','o','r','t',' ','D','u','a','l','S','t','a','c','k','"',',','"','t','y', +'p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e', +'e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','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','"',':','"','h','t','t','p','s',':','/','/','r', +'e','p','o','s','t','s','p','a','c','e','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t', +'i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"', +'p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':', +'{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"', +'t','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r', +'e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v', +'a','l','i','d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','M','i','s','s','i', +'n','g',' ','R','e','g','i','o','n','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"', +'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']','}','\0' +}}; + +const char* RepostspaceEndpointRules::GetRulesBlob() +{ + return RulesBlob.data(); +} + +} // namespace repostspace +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-repostspace/source/RepostspaceErrorMarshaller.cpp b/generated/src/aws-cpp-sdk-repostspace/source/RepostspaceErrorMarshaller.cpp new file mode 100644 index 00000000000..64064e94055 --- /dev/null +++ b/generated/src/aws-cpp-sdk-repostspace/source/RepostspaceErrorMarshaller.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::repostspace; + +AWSError RepostspaceErrorMarshaller::FindErrorByName(const char* errorName) const +{ + AWSError error = RepostspaceErrorMapper::GetErrorForName(errorName); + if(error.GetErrorType() != CoreErrors::UNKNOWN) + { + return error; + } + + return AWSErrorMarshaller::FindErrorByName(errorName); +} \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-repostspace/source/RepostspaceErrors.cpp b/generated/src/aws-cpp-sdk-repostspace/source/RepostspaceErrors.cpp new file mode 100644 index 00000000000..24874d5d9f5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-repostspace/source/RepostspaceErrors.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 +#include +#include +#include +#include + +using namespace Aws::Client; +using namespace Aws::Utils; +using namespace Aws::repostspace; +using namespace Aws::repostspace::Model; + +namespace Aws +{ +namespace repostspace +{ +template<> AWS_REPOSTSPACE_API ConflictException RepostspaceError::GetModeledError() +{ + assert(this->GetErrorType() == RepostspaceErrors::CONFLICT); + return ConflictException(this->GetJsonPayload().View()); +} + +template<> AWS_REPOSTSPACE_API ServiceQuotaExceededException RepostspaceError::GetModeledError() +{ + assert(this->GetErrorType() == RepostspaceErrors::SERVICE_QUOTA_EXCEEDED); + return ServiceQuotaExceededException(this->GetJsonPayload().View()); +} + +template<> AWS_REPOSTSPACE_API ThrottlingException RepostspaceError::GetModeledError() +{ + assert(this->GetErrorType() == RepostspaceErrors::THROTTLING); + return ThrottlingException(this->GetJsonPayload().View()); +} + +template<> AWS_REPOSTSPACE_API ResourceNotFoundException RepostspaceError::GetModeledError() +{ + assert(this->GetErrorType() == RepostspaceErrors::RESOURCE_NOT_FOUND); + return ResourceNotFoundException(this->GetJsonPayload().View()); +} + +template<> AWS_REPOSTSPACE_API InternalServerException RepostspaceError::GetModeledError() +{ + assert(this->GetErrorType() == RepostspaceErrors::INTERNAL_SERVER); + return InternalServerException(this->GetJsonPayload().View()); +} + +template<> AWS_REPOSTSPACE_API ValidationException RepostspaceError::GetModeledError() +{ + assert(this->GetErrorType() == RepostspaceErrors::VALIDATION); + return ValidationException(this->GetJsonPayload().View()); +} + +namespace RepostspaceErrorMapper +{ + +static const int CONFLICT_HASH = HashingUtils::HashString("ConflictException"); +static const int SERVICE_QUOTA_EXCEEDED_HASH = HashingUtils::HashString("ServiceQuotaExceededException"); +static const int INTERNAL_SERVER_HASH = HashingUtils::HashString("InternalServerException"); + + +AWSError GetErrorForName(const char* errorName) +{ + int hashCode = HashingUtils::HashString(errorName); + + if (hashCode == CONFLICT_HASH) + { + return AWSError(static_cast(RepostspaceErrors::CONFLICT), false); + } + else if (hashCode == SERVICE_QUOTA_EXCEEDED_HASH) + { + return AWSError(static_cast(RepostspaceErrors::SERVICE_QUOTA_EXCEEDED), false); + } + else if (hashCode == INTERNAL_SERVER_HASH) + { + return AWSError(static_cast(RepostspaceErrors::INTERNAL_SERVER), false); + } + return AWSError(CoreErrors::UNKNOWN, false); +} + +} // namespace RepostspaceErrorMapper +} // namespace repostspace +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-repostspace/source/RepostspaceRequest.cpp b/generated/src/aws-cpp-sdk-repostspace/source/RepostspaceRequest.cpp new file mode 100644 index 00000000000..034214053f6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-repostspace/source/RepostspaceRequest.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 repostspace +{ +} // namespace repostspace +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-repostspace/source/model/ConfigurationStatus.cpp b/generated/src/aws-cpp-sdk-repostspace/source/model/ConfigurationStatus.cpp new file mode 100644 index 00000000000..869335c7cda --- /dev/null +++ b/generated/src/aws-cpp-sdk-repostspace/source/model/ConfigurationStatus.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 repostspace + { + namespace Model + { + namespace ConfigurationStatusMapper + { + + static const int CONFIGURED_HASH = HashingUtils::HashString("CONFIGURED"); + static const int UNCONFIGURED_HASH = HashingUtils::HashString("UNCONFIGURED"); + + + ConfigurationStatus GetConfigurationStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == CONFIGURED_HASH) + { + return ConfigurationStatus::CONFIGURED; + } + else if (hashCode == UNCONFIGURED_HASH) + { + return ConfigurationStatus::UNCONFIGURED; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ConfigurationStatus::NOT_SET; + } + + Aws::String GetNameForConfigurationStatus(ConfigurationStatus enumValue) + { + switch(enumValue) + { + case ConfigurationStatus::NOT_SET: + return {}; + case ConfigurationStatus::CONFIGURED: + return "CONFIGURED"; + case ConfigurationStatus::UNCONFIGURED: + return "UNCONFIGURED"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ConfigurationStatusMapper + } // namespace Model + } // namespace repostspace +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-repostspace/source/model/ConflictException.cpp b/generated/src/aws-cpp-sdk-repostspace/source/model/ConflictException.cpp new file mode 100644 index 00000000000..184cb08aa6b --- /dev/null +++ b/generated/src/aws-cpp-sdk-repostspace/source/model/ConflictException.cpp @@ -0,0 +1,89 @@ +/** + * 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 repostspace +{ +namespace Model +{ + +ConflictException::ConflictException() : + m_messageHasBeenSet(false), + m_resourceIdHasBeenSet(false), + m_resourceTypeHasBeenSet(false) +{ +} + +ConflictException::ConflictException(JsonView jsonValue) : + m_messageHasBeenSet(false), + m_resourceIdHasBeenSet(false), + m_resourceTypeHasBeenSet(false) +{ + *this = jsonValue; +} + +ConflictException& ConflictException::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("message")) + { + m_message = jsonValue.GetString("message"); + + m_messageHasBeenSet = true; + } + + if(jsonValue.ValueExists("resourceId")) + { + m_resourceId = jsonValue.GetString("resourceId"); + + m_resourceIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("resourceType")) + { + m_resourceType = jsonValue.GetString("resourceType"); + + m_resourceTypeHasBeenSet = true; + } + + return *this; +} + +JsonValue ConflictException::Jsonize() const +{ + JsonValue payload; + + if(m_messageHasBeenSet) + { + payload.WithString("message", m_message); + + } + + if(m_resourceIdHasBeenSet) + { + payload.WithString("resourceId", m_resourceId); + + } + + if(m_resourceTypeHasBeenSet) + { + payload.WithString("resourceType", m_resourceType); + + } + + return payload; +} + +} // namespace Model +} // namespace repostspace +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-repostspace/source/model/CreateSpaceRequest.cpp b/generated/src/aws-cpp-sdk-repostspace/source/model/CreateSpaceRequest.cpp new file mode 100644 index 00000000000..2036d046bff --- /dev/null +++ b/generated/src/aws-cpp-sdk-repostspace/source/model/CreateSpaceRequest.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::repostspace::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +CreateSpaceRequest::CreateSpaceRequest() : + m_descriptionHasBeenSet(false), + m_nameHasBeenSet(false), + m_roleArnHasBeenSet(false), + m_subdomainHasBeenSet(false), + m_tagsHasBeenSet(false), + m_tier(TierLevel::NOT_SET), + m_tierHasBeenSet(false), + m_userKMSKeyHasBeenSet(false) +{ +} + +Aws::String CreateSpaceRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_descriptionHasBeenSet) + { + payload.WithString("description", m_description); + + } + + if(m_nameHasBeenSet) + { + payload.WithString("name", m_name); + + } + + if(m_roleArnHasBeenSet) + { + payload.WithString("roleArn", m_roleArn); + + } + + if(m_subdomainHasBeenSet) + { + payload.WithString("subdomain", m_subdomain); + + } + + if(m_tagsHasBeenSet) + { + JsonValue tagsJsonMap; + for(auto& tagsItem : m_tags) + { + tagsJsonMap.WithString(tagsItem.first, tagsItem.second); + } + payload.WithObject("tags", std::move(tagsJsonMap)); + + } + + if(m_tierHasBeenSet) + { + payload.WithString("tier", TierLevelMapper::GetNameForTierLevel(m_tier)); + } + + if(m_userKMSKeyHasBeenSet) + { + payload.WithString("userKMSKey", m_userKMSKey); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-repostspace/source/model/CreateSpaceResult.cpp b/generated/src/aws-cpp-sdk-repostspace/source/model/CreateSpaceResult.cpp new file mode 100644 index 00000000000..ed11028a6fa --- /dev/null +++ b/generated/src/aws-cpp-sdk-repostspace/source/model/CreateSpaceResult.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::repostspace::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +CreateSpaceResult::CreateSpaceResult() +{ +} + +CreateSpaceResult::CreateSpaceResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +CreateSpaceResult& CreateSpaceResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("spaceId")) + { + m_spaceId = jsonValue.GetString("spaceId"); + + } + + + 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-repostspace/source/model/DeleteSpaceRequest.cpp b/generated/src/aws-cpp-sdk-repostspace/source/model/DeleteSpaceRequest.cpp new file mode 100644 index 00000000000..44a70ed06db --- /dev/null +++ b/generated/src/aws-cpp-sdk-repostspace/source/model/DeleteSpaceRequest.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::repostspace::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +DeleteSpaceRequest::DeleteSpaceRequest() : + m_spaceIdHasBeenSet(false) +{ +} + +Aws::String DeleteSpaceRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-repostspace/source/model/DeregisterAdminRequest.cpp b/generated/src/aws-cpp-sdk-repostspace/source/model/DeregisterAdminRequest.cpp new file mode 100644 index 00000000000..d2689494c51 --- /dev/null +++ b/generated/src/aws-cpp-sdk-repostspace/source/model/DeregisterAdminRequest.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::repostspace::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +DeregisterAdminRequest::DeregisterAdminRequest() : + m_adminIdHasBeenSet(false), + m_spaceIdHasBeenSet(false) +{ +} + +Aws::String DeregisterAdminRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-repostspace/source/model/GetSpaceRequest.cpp b/generated/src/aws-cpp-sdk-repostspace/source/model/GetSpaceRequest.cpp new file mode 100644 index 00000000000..fc3cf7049f2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-repostspace/source/model/GetSpaceRequest.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::repostspace::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +GetSpaceRequest::GetSpaceRequest() : + m_spaceIdHasBeenSet(false) +{ +} + +Aws::String GetSpaceRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-repostspace/source/model/GetSpaceResult.cpp b/generated/src/aws-cpp-sdk-repostspace/source/model/GetSpaceResult.cpp new file mode 100644 index 00000000000..77f9469fcf1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-repostspace/source/model/GetSpaceResult.cpp @@ -0,0 +1,180 @@ +/** + * 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::repostspace::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetSpaceResult::GetSpaceResult() : + m_configurationStatus(ConfigurationStatus::NOT_SET), + m_contentSize(0), + m_storageLimit(0), + m_tier(TierLevel::NOT_SET), + m_userCount(0), + m_vanityDomainStatus(VanityDomainStatus::NOT_SET) +{ +} + +GetSpaceResult::GetSpaceResult(const Aws::AmazonWebServiceResult& result) : + m_configurationStatus(ConfigurationStatus::NOT_SET), + m_contentSize(0), + m_storageLimit(0), + m_tier(TierLevel::NOT_SET), + m_userCount(0), + m_vanityDomainStatus(VanityDomainStatus::NOT_SET) +{ + *this = result; +} + +GetSpaceResult& GetSpaceResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("arn")) + { + m_arn = jsonValue.GetString("arn"); + + } + + if(jsonValue.ValueExists("clientId")) + { + m_clientId = jsonValue.GetString("clientId"); + + } + + if(jsonValue.ValueExists("configurationStatus")) + { + m_configurationStatus = ConfigurationStatusMapper::GetConfigurationStatusForName(jsonValue.GetString("configurationStatus")); + + } + + if(jsonValue.ValueExists("contentSize")) + { + m_contentSize = jsonValue.GetInt64("contentSize"); + + } + + if(jsonValue.ValueExists("createDateTime")) + { + m_createDateTime = jsonValue.GetString("createDateTime"); + + } + + if(jsonValue.ValueExists("customerRoleArn")) + { + m_customerRoleArn = jsonValue.GetString("customerRoleArn"); + + } + + if(jsonValue.ValueExists("deleteDateTime")) + { + m_deleteDateTime = jsonValue.GetString("deleteDateTime"); + + } + + if(jsonValue.ValueExists("description")) + { + m_description = jsonValue.GetString("description"); + + } + + if(jsonValue.ValueExists("groupAdmins")) + { + Aws::Utils::Array groupAdminsJsonList = jsonValue.GetArray("groupAdmins"); + for(unsigned groupAdminsIndex = 0; groupAdminsIndex < groupAdminsJsonList.GetLength(); ++groupAdminsIndex) + { + m_groupAdmins.push_back(groupAdminsJsonList[groupAdminsIndex].AsString()); + } + } + + if(jsonValue.ValueExists("name")) + { + m_name = jsonValue.GetString("name"); + + } + + if(jsonValue.ValueExists("randomDomain")) + { + m_randomDomain = jsonValue.GetString("randomDomain"); + + } + + if(jsonValue.ValueExists("spaceId")) + { + m_spaceId = jsonValue.GetString("spaceId"); + + } + + if(jsonValue.ValueExists("status")) + { + m_status = jsonValue.GetString("status"); + + } + + if(jsonValue.ValueExists("storageLimit")) + { + m_storageLimit = jsonValue.GetInt64("storageLimit"); + + } + + if(jsonValue.ValueExists("tier")) + { + m_tier = TierLevelMapper::GetTierLevelForName(jsonValue.GetString("tier")); + + } + + if(jsonValue.ValueExists("userAdmins")) + { + Aws::Utils::Array userAdminsJsonList = jsonValue.GetArray("userAdmins"); + for(unsigned userAdminsIndex = 0; userAdminsIndex < userAdminsJsonList.GetLength(); ++userAdminsIndex) + { + m_userAdmins.push_back(userAdminsJsonList[userAdminsIndex].AsString()); + } + } + + if(jsonValue.ValueExists("userCount")) + { + m_userCount = jsonValue.GetInteger("userCount"); + + } + + if(jsonValue.ValueExists("userKMSKey")) + { + m_userKMSKey = jsonValue.GetString("userKMSKey"); + + } + + if(jsonValue.ValueExists("vanityDomain")) + { + m_vanityDomain = jsonValue.GetString("vanityDomain"); + + } + + if(jsonValue.ValueExists("vanityDomainStatus")) + { + m_vanityDomainStatus = VanityDomainStatusMapper::GetVanityDomainStatusForName(jsonValue.GetString("vanityDomainStatus")); + + } + + + 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-repostspace/source/model/InternalServerException.cpp b/generated/src/aws-cpp-sdk-repostspace/source/model/InternalServerException.cpp new file mode 100644 index 00000000000..97d9cd2e946 --- /dev/null +++ b/generated/src/aws-cpp-sdk-repostspace/source/model/InternalServerException.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 + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace repostspace +{ +namespace Model +{ + +InternalServerException::InternalServerException() : + m_messageHasBeenSet(false), + m_retryAfterSeconds(0), + m_retryAfterSecondsHasBeenSet(false) +{ +} + +InternalServerException::InternalServerException(JsonView jsonValue) : + m_messageHasBeenSet(false), + m_retryAfterSeconds(0), + m_retryAfterSecondsHasBeenSet(false) +{ + *this = jsonValue; +} + +InternalServerException& InternalServerException::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("message")) + { + m_message = jsonValue.GetString("message"); + + m_messageHasBeenSet = true; + } + + return *this; +} + +JsonValue InternalServerException::Jsonize() const +{ + JsonValue payload; + + if(m_messageHasBeenSet) + { + payload.WithString("message", m_message); + + } + + return payload; +} + +} // namespace Model +} // namespace repostspace +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-repostspace/source/model/ListSpacesRequest.cpp b/generated/src/aws-cpp-sdk-repostspace/source/model/ListSpacesRequest.cpp new file mode 100644 index 00000000000..372bfe1466e --- /dev/null +++ b/generated/src/aws-cpp-sdk-repostspace/source/model/ListSpacesRequest.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 + +using namespace Aws::repostspace::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +ListSpacesRequest::ListSpacesRequest() : + m_maxResults(0), + m_maxResultsHasBeenSet(false), + m_nextTokenHasBeenSet(false) +{ +} + +Aws::String ListSpacesRequest::SerializePayload() const +{ + return {}; +} + +void ListSpacesRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_maxResultsHasBeenSet) + { + ss << m_maxResults; + uri.AddQueryStringParameter("maxResults", ss.str()); + ss.str(""); + } + + if(m_nextTokenHasBeenSet) + { + ss << m_nextToken; + uri.AddQueryStringParameter("nextToken", ss.str()); + ss.str(""); + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-repostspace/source/model/ListSpacesResult.cpp b/generated/src/aws-cpp-sdk-repostspace/source/model/ListSpacesResult.cpp new file mode 100644 index 00000000000..4690a28cf3e --- /dev/null +++ b/generated/src/aws-cpp-sdk-repostspace/source/model/ListSpacesResult.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::repostspace::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListSpacesResult::ListSpacesResult() +{ +} + +ListSpacesResult::ListSpacesResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListSpacesResult& ListSpacesResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("nextToken")) + { + m_nextToken = jsonValue.GetString("nextToken"); + + } + + if(jsonValue.ValueExists("spaces")) + { + Aws::Utils::Array spacesJsonList = jsonValue.GetArray("spaces"); + for(unsigned spacesIndex = 0; spacesIndex < spacesJsonList.GetLength(); ++spacesIndex) + { + m_spaces.push_back(spacesJsonList[spacesIndex].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-repostspace/source/model/ListTagsForResourceRequest.cpp b/generated/src/aws-cpp-sdk-repostspace/source/model/ListTagsForResourceRequest.cpp new file mode 100644 index 00000000000..e6f167a0303 --- /dev/null +++ b/generated/src/aws-cpp-sdk-repostspace/source/model/ListTagsForResourceRequest.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::repostspace::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +ListTagsForResourceRequest::ListTagsForResourceRequest() : + m_resourceArnHasBeenSet(false) +{ +} + +Aws::String ListTagsForResourceRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-repostspace/source/model/ListTagsForResourceResult.cpp b/generated/src/aws-cpp-sdk-repostspace/source/model/ListTagsForResourceResult.cpp new file mode 100644 index 00000000000..1c63f1ffa00 --- /dev/null +++ b/generated/src/aws-cpp-sdk-repostspace/source/model/ListTagsForResourceResult.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::repostspace::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListTagsForResourceResult::ListTagsForResourceResult() +{ +} + +ListTagsForResourceResult::ListTagsForResourceResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListTagsForResourceResult& ListTagsForResourceResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("tags")) + { + Aws::Map tagsJsonMap = jsonValue.GetObject("tags").GetAllObjects(); + for(auto& tagsItem : tagsJsonMap) + { + m_tags[tagsItem.first] = tagsItem.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/src/aws-cpp-sdk-repostspace/source/model/RegisterAdminRequest.cpp b/generated/src/aws-cpp-sdk-repostspace/source/model/RegisterAdminRequest.cpp new file mode 100644 index 00000000000..f7aebb54c56 --- /dev/null +++ b/generated/src/aws-cpp-sdk-repostspace/source/model/RegisterAdminRequest.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::repostspace::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +RegisterAdminRequest::RegisterAdminRequest() : + m_adminIdHasBeenSet(false), + m_spaceIdHasBeenSet(false) +{ +} + +Aws::String RegisterAdminRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-repostspace/source/model/ResourceNotFoundException.cpp b/generated/src/aws-cpp-sdk-repostspace/source/model/ResourceNotFoundException.cpp new file mode 100644 index 00000000000..f2bef0ca029 --- /dev/null +++ b/generated/src/aws-cpp-sdk-repostspace/source/model/ResourceNotFoundException.cpp @@ -0,0 +1,89 @@ +/** + * 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 repostspace +{ +namespace Model +{ + +ResourceNotFoundException::ResourceNotFoundException() : + m_messageHasBeenSet(false), + m_resourceIdHasBeenSet(false), + m_resourceTypeHasBeenSet(false) +{ +} + +ResourceNotFoundException::ResourceNotFoundException(JsonView jsonValue) : + m_messageHasBeenSet(false), + m_resourceIdHasBeenSet(false), + m_resourceTypeHasBeenSet(false) +{ + *this = jsonValue; +} + +ResourceNotFoundException& ResourceNotFoundException::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("message")) + { + m_message = jsonValue.GetString("message"); + + m_messageHasBeenSet = true; + } + + if(jsonValue.ValueExists("resourceId")) + { + m_resourceId = jsonValue.GetString("resourceId"); + + m_resourceIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("resourceType")) + { + m_resourceType = jsonValue.GetString("resourceType"); + + m_resourceTypeHasBeenSet = true; + } + + return *this; +} + +JsonValue ResourceNotFoundException::Jsonize() const +{ + JsonValue payload; + + if(m_messageHasBeenSet) + { + payload.WithString("message", m_message); + + } + + if(m_resourceIdHasBeenSet) + { + payload.WithString("resourceId", m_resourceId); + + } + + if(m_resourceTypeHasBeenSet) + { + payload.WithString("resourceType", m_resourceType); + + } + + return payload; +} + +} // namespace Model +} // namespace repostspace +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-repostspace/source/model/SendInvitesRequest.cpp b/generated/src/aws-cpp-sdk-repostspace/source/model/SendInvitesRequest.cpp new file mode 100644 index 00000000000..05cf865cc6b --- /dev/null +++ b/generated/src/aws-cpp-sdk-repostspace/source/model/SendInvitesRequest.cpp @@ -0,0 +1,55 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::repostspace::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +SendInvitesRequest::SendInvitesRequest() : + m_accessorIdsHasBeenSet(false), + m_bodyHasBeenSet(false), + m_spaceIdHasBeenSet(false), + m_titleHasBeenSet(false) +{ +} + +Aws::String SendInvitesRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_accessorIdsHasBeenSet) + { + Aws::Utils::Array accessorIdsJsonList(m_accessorIds.size()); + for(unsigned accessorIdsIndex = 0; accessorIdsIndex < accessorIdsJsonList.GetLength(); ++accessorIdsIndex) + { + accessorIdsJsonList[accessorIdsIndex].AsString(m_accessorIds[accessorIdsIndex]); + } + payload.WithArray("accessorIds", std::move(accessorIdsJsonList)); + + } + + if(m_bodyHasBeenSet) + { + payload.WithString("body", m_body); + + } + + if(m_titleHasBeenSet) + { + payload.WithString("title", m_title); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-repostspace/source/model/ServiceQuotaExceededException.cpp b/generated/src/aws-cpp-sdk-repostspace/source/model/ServiceQuotaExceededException.cpp new file mode 100644 index 00000000000..7f802bb291a --- /dev/null +++ b/generated/src/aws-cpp-sdk-repostspace/source/model/ServiceQuotaExceededException.cpp @@ -0,0 +1,119 @@ +/** + * 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 repostspace +{ +namespace Model +{ + +ServiceQuotaExceededException::ServiceQuotaExceededException() : + m_messageHasBeenSet(false), + m_quotaCodeHasBeenSet(false), + m_resourceIdHasBeenSet(false), + m_resourceTypeHasBeenSet(false), + m_serviceCodeHasBeenSet(false) +{ +} + +ServiceQuotaExceededException::ServiceQuotaExceededException(JsonView jsonValue) : + m_messageHasBeenSet(false), + m_quotaCodeHasBeenSet(false), + m_resourceIdHasBeenSet(false), + m_resourceTypeHasBeenSet(false), + m_serviceCodeHasBeenSet(false) +{ + *this = jsonValue; +} + +ServiceQuotaExceededException& ServiceQuotaExceededException::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("message")) + { + m_message = jsonValue.GetString("message"); + + m_messageHasBeenSet = true; + } + + if(jsonValue.ValueExists("quotaCode")) + { + m_quotaCode = jsonValue.GetString("quotaCode"); + + m_quotaCodeHasBeenSet = true; + } + + if(jsonValue.ValueExists("resourceId")) + { + m_resourceId = jsonValue.GetString("resourceId"); + + m_resourceIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("resourceType")) + { + m_resourceType = jsonValue.GetString("resourceType"); + + m_resourceTypeHasBeenSet = true; + } + + if(jsonValue.ValueExists("serviceCode")) + { + m_serviceCode = jsonValue.GetString("serviceCode"); + + m_serviceCodeHasBeenSet = true; + } + + return *this; +} + +JsonValue ServiceQuotaExceededException::Jsonize() const +{ + JsonValue payload; + + if(m_messageHasBeenSet) + { + payload.WithString("message", m_message); + + } + + if(m_quotaCodeHasBeenSet) + { + payload.WithString("quotaCode", m_quotaCode); + + } + + if(m_resourceIdHasBeenSet) + { + payload.WithString("resourceId", m_resourceId); + + } + + if(m_resourceTypeHasBeenSet) + { + payload.WithString("resourceType", m_resourceType); + + } + + if(m_serviceCodeHasBeenSet) + { + payload.WithString("serviceCode", m_serviceCode); + + } + + return payload; +} + +} // namespace Model +} // namespace repostspace +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-repostspace/source/model/SpaceData.cpp b/generated/src/aws-cpp-sdk-repostspace/source/model/SpaceData.cpp new file mode 100644 index 00000000000..014baa98c3d --- /dev/null +++ b/generated/src/aws-cpp-sdk-repostspace/source/model/SpaceData.cpp @@ -0,0 +1,291 @@ +/** + * 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 repostspace +{ +namespace Model +{ + +SpaceData::SpaceData() : + m_arnHasBeenSet(false), + m_configurationStatus(ConfigurationStatus::NOT_SET), + m_configurationStatusHasBeenSet(false), + m_contentSize(0), + m_contentSizeHasBeenSet(false), + m_createDateTimeHasBeenSet(false), + m_deleteDateTimeHasBeenSet(false), + m_descriptionHasBeenSet(false), + m_nameHasBeenSet(false), + m_randomDomainHasBeenSet(false), + m_spaceIdHasBeenSet(false), + m_statusHasBeenSet(false), + m_storageLimit(0), + m_storageLimitHasBeenSet(false), + m_tier(TierLevel::NOT_SET), + m_tierHasBeenSet(false), + m_userCount(0), + m_userCountHasBeenSet(false), + m_userKMSKeyHasBeenSet(false), + m_vanityDomainHasBeenSet(false), + m_vanityDomainStatus(VanityDomainStatus::NOT_SET), + m_vanityDomainStatusHasBeenSet(false) +{ +} + +SpaceData::SpaceData(JsonView jsonValue) : + m_arnHasBeenSet(false), + m_configurationStatus(ConfigurationStatus::NOT_SET), + m_configurationStatusHasBeenSet(false), + m_contentSize(0), + m_contentSizeHasBeenSet(false), + m_createDateTimeHasBeenSet(false), + m_deleteDateTimeHasBeenSet(false), + m_descriptionHasBeenSet(false), + m_nameHasBeenSet(false), + m_randomDomainHasBeenSet(false), + m_spaceIdHasBeenSet(false), + m_statusHasBeenSet(false), + m_storageLimit(0), + m_storageLimitHasBeenSet(false), + m_tier(TierLevel::NOT_SET), + m_tierHasBeenSet(false), + m_userCount(0), + m_userCountHasBeenSet(false), + m_userKMSKeyHasBeenSet(false), + m_vanityDomainHasBeenSet(false), + m_vanityDomainStatus(VanityDomainStatus::NOT_SET), + m_vanityDomainStatusHasBeenSet(false) +{ + *this = jsonValue; +} + +SpaceData& SpaceData::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("arn")) + { + m_arn = jsonValue.GetString("arn"); + + m_arnHasBeenSet = true; + } + + if(jsonValue.ValueExists("configurationStatus")) + { + m_configurationStatus = ConfigurationStatusMapper::GetConfigurationStatusForName(jsonValue.GetString("configurationStatus")); + + m_configurationStatusHasBeenSet = true; + } + + if(jsonValue.ValueExists("contentSize")) + { + m_contentSize = jsonValue.GetInt64("contentSize"); + + m_contentSizeHasBeenSet = true; + } + + if(jsonValue.ValueExists("createDateTime")) + { + m_createDateTime = jsonValue.GetString("createDateTime"); + + m_createDateTimeHasBeenSet = true; + } + + if(jsonValue.ValueExists("deleteDateTime")) + { + m_deleteDateTime = jsonValue.GetString("deleteDateTime"); + + m_deleteDateTimeHasBeenSet = true; + } + + if(jsonValue.ValueExists("description")) + { + m_description = jsonValue.GetString("description"); + + m_descriptionHasBeenSet = true; + } + + if(jsonValue.ValueExists("name")) + { + m_name = jsonValue.GetString("name"); + + m_nameHasBeenSet = true; + } + + if(jsonValue.ValueExists("randomDomain")) + { + m_randomDomain = jsonValue.GetString("randomDomain"); + + m_randomDomainHasBeenSet = true; + } + + if(jsonValue.ValueExists("spaceId")) + { + m_spaceId = jsonValue.GetString("spaceId"); + + m_spaceIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("status")) + { + m_status = jsonValue.GetString("status"); + + m_statusHasBeenSet = true; + } + + if(jsonValue.ValueExists("storageLimit")) + { + m_storageLimit = jsonValue.GetInt64("storageLimit"); + + m_storageLimitHasBeenSet = true; + } + + if(jsonValue.ValueExists("tier")) + { + m_tier = TierLevelMapper::GetTierLevelForName(jsonValue.GetString("tier")); + + m_tierHasBeenSet = true; + } + + if(jsonValue.ValueExists("userCount")) + { + m_userCount = jsonValue.GetInteger("userCount"); + + m_userCountHasBeenSet = true; + } + + if(jsonValue.ValueExists("userKMSKey")) + { + m_userKMSKey = jsonValue.GetString("userKMSKey"); + + m_userKMSKeyHasBeenSet = true; + } + + if(jsonValue.ValueExists("vanityDomain")) + { + m_vanityDomain = jsonValue.GetString("vanityDomain"); + + m_vanityDomainHasBeenSet = true; + } + + if(jsonValue.ValueExists("vanityDomainStatus")) + { + m_vanityDomainStatus = VanityDomainStatusMapper::GetVanityDomainStatusForName(jsonValue.GetString("vanityDomainStatus")); + + m_vanityDomainStatusHasBeenSet = true; + } + + return *this; +} + +JsonValue SpaceData::Jsonize() const +{ + JsonValue payload; + + if(m_arnHasBeenSet) + { + payload.WithString("arn", m_arn); + + } + + if(m_configurationStatusHasBeenSet) + { + payload.WithString("configurationStatus", ConfigurationStatusMapper::GetNameForConfigurationStatus(m_configurationStatus)); + } + + if(m_contentSizeHasBeenSet) + { + payload.WithInt64("contentSize", m_contentSize); + + } + + if(m_createDateTimeHasBeenSet) + { + payload.WithString("createDateTime", m_createDateTime.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + if(m_deleteDateTimeHasBeenSet) + { + payload.WithString("deleteDateTime", m_deleteDateTime.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + if(m_descriptionHasBeenSet) + { + payload.WithString("description", m_description); + + } + + if(m_nameHasBeenSet) + { + payload.WithString("name", m_name); + + } + + if(m_randomDomainHasBeenSet) + { + payload.WithString("randomDomain", m_randomDomain); + + } + + if(m_spaceIdHasBeenSet) + { + payload.WithString("spaceId", m_spaceId); + + } + + if(m_statusHasBeenSet) + { + payload.WithString("status", m_status); + + } + + if(m_storageLimitHasBeenSet) + { + payload.WithInt64("storageLimit", m_storageLimit); + + } + + if(m_tierHasBeenSet) + { + payload.WithString("tier", TierLevelMapper::GetNameForTierLevel(m_tier)); + } + + if(m_userCountHasBeenSet) + { + payload.WithInteger("userCount", m_userCount); + + } + + if(m_userKMSKeyHasBeenSet) + { + payload.WithString("userKMSKey", m_userKMSKey); + + } + + if(m_vanityDomainHasBeenSet) + { + payload.WithString("vanityDomain", m_vanityDomain); + + } + + if(m_vanityDomainStatusHasBeenSet) + { + payload.WithString("vanityDomainStatus", VanityDomainStatusMapper::GetNameForVanityDomainStatus(m_vanityDomainStatus)); + } + + return payload; +} + +} // namespace Model +} // namespace repostspace +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-repostspace/source/model/TagResourceRequest.cpp b/generated/src/aws-cpp-sdk-repostspace/source/model/TagResourceRequest.cpp new file mode 100644 index 00000000000..6ef81e29df0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-repostspace/source/model/TagResourceRequest.cpp @@ -0,0 +1,41 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::repostspace::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +TagResourceRequest::TagResourceRequest() : + m_resourceArnHasBeenSet(false), + m_tagsHasBeenSet(false) +{ +} + +Aws::String TagResourceRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_tagsHasBeenSet) + { + JsonValue tagsJsonMap; + for(auto& tagsItem : m_tags) + { + tagsJsonMap.WithString(tagsItem.first, tagsItem.second); + } + payload.WithObject("tags", std::move(tagsJsonMap)); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-repostspace/source/model/TagResourceResult.cpp b/generated/src/aws-cpp-sdk-repostspace/source/model/TagResourceResult.cpp new file mode 100644 index 00000000000..5c05edecb21 --- /dev/null +++ b/generated/src/aws-cpp-sdk-repostspace/source/model/TagResourceResult.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::repostspace::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +TagResourceResult::TagResourceResult() +{ +} + +TagResourceResult::TagResourceResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +TagResourceResult& TagResourceResult::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-repostspace/source/model/ThrottlingException.cpp b/generated/src/aws-cpp-sdk-repostspace/source/model/ThrottlingException.cpp new file mode 100644 index 00000000000..3d83cd1db77 --- /dev/null +++ b/generated/src/aws-cpp-sdk-repostspace/source/model/ThrottlingException.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 + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace repostspace +{ +namespace Model +{ + +ThrottlingException::ThrottlingException() : + m_messageHasBeenSet(false), + m_quotaCodeHasBeenSet(false), + m_retryAfterSeconds(0), + m_retryAfterSecondsHasBeenSet(false), + m_serviceCodeHasBeenSet(false) +{ +} + +ThrottlingException::ThrottlingException(JsonView jsonValue) : + m_messageHasBeenSet(false), + m_quotaCodeHasBeenSet(false), + m_retryAfterSeconds(0), + m_retryAfterSecondsHasBeenSet(false), + m_serviceCodeHasBeenSet(false) +{ + *this = jsonValue; +} + +ThrottlingException& ThrottlingException::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("message")) + { + m_message = jsonValue.GetString("message"); + + m_messageHasBeenSet = true; + } + + if(jsonValue.ValueExists("quotaCode")) + { + m_quotaCode = jsonValue.GetString("quotaCode"); + + m_quotaCodeHasBeenSet = true; + } + + if(jsonValue.ValueExists("serviceCode")) + { + m_serviceCode = jsonValue.GetString("serviceCode"); + + m_serviceCodeHasBeenSet = true; + } + + return *this; +} + +JsonValue ThrottlingException::Jsonize() const +{ + JsonValue payload; + + if(m_messageHasBeenSet) + { + payload.WithString("message", m_message); + + } + + if(m_quotaCodeHasBeenSet) + { + payload.WithString("quotaCode", m_quotaCode); + + } + + if(m_serviceCodeHasBeenSet) + { + payload.WithString("serviceCode", m_serviceCode); + + } + + return payload; +} + +} // namespace Model +} // namespace repostspace +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-repostspace/source/model/TierLevel.cpp b/generated/src/aws-cpp-sdk-repostspace/source/model/TierLevel.cpp new file mode 100644 index 00000000000..807d8961193 --- /dev/null +++ b/generated/src/aws-cpp-sdk-repostspace/source/model/TierLevel.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 repostspace + { + namespace Model + { + namespace TierLevelMapper + { + + static const int BASIC_HASH = HashingUtils::HashString("BASIC"); + static const int STANDARD_HASH = HashingUtils::HashString("STANDARD"); + + + TierLevel GetTierLevelForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == BASIC_HASH) + { + return TierLevel::BASIC; + } + else if (hashCode == STANDARD_HASH) + { + return TierLevel::STANDARD; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return TierLevel::NOT_SET; + } + + Aws::String GetNameForTierLevel(TierLevel enumValue) + { + switch(enumValue) + { + case TierLevel::NOT_SET: + return {}; + case TierLevel::BASIC: + return "BASIC"; + case TierLevel::STANDARD: + return "STANDARD"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace TierLevelMapper + } // namespace Model + } // namespace repostspace +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-repostspace/source/model/UntagResourceRequest.cpp b/generated/src/aws-cpp-sdk-repostspace/source/model/UntagResourceRequest.cpp new file mode 100644 index 00000000000..edd29f38530 --- /dev/null +++ b/generated/src/aws-cpp-sdk-repostspace/source/model/UntagResourceRequest.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::repostspace::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +UntagResourceRequest::UntagResourceRequest() : + m_resourceArnHasBeenSet(false), + m_tagKeysHasBeenSet(false) +{ +} + +Aws::String UntagResourceRequest::SerializePayload() const +{ + return {}; +} + +void UntagResourceRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_tagKeysHasBeenSet) + { + for(const auto& item : m_tagKeys) + { + ss << item; + uri.AddQueryStringParameter("tagKeys", ss.str()); + ss.str(""); + } + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-repostspace/source/model/UntagResourceResult.cpp b/generated/src/aws-cpp-sdk-repostspace/source/model/UntagResourceResult.cpp new file mode 100644 index 00000000000..c0741366c20 --- /dev/null +++ b/generated/src/aws-cpp-sdk-repostspace/source/model/UntagResourceResult.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::repostspace::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +UntagResourceResult::UntagResourceResult() +{ +} + +UntagResourceResult::UntagResourceResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +UntagResourceResult& UntagResourceResult::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-repostspace/source/model/UpdateSpaceRequest.cpp b/generated/src/aws-cpp-sdk-repostspace/source/model/UpdateSpaceRequest.cpp new file mode 100644 index 00000000000..37a38b66041 --- /dev/null +++ b/generated/src/aws-cpp-sdk-repostspace/source/model/UpdateSpaceRequest.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::repostspace::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +UpdateSpaceRequest::UpdateSpaceRequest() : + m_descriptionHasBeenSet(false), + m_roleArnHasBeenSet(false), + m_spaceIdHasBeenSet(false), + m_tier(TierLevel::NOT_SET), + m_tierHasBeenSet(false) +{ +} + +Aws::String UpdateSpaceRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_descriptionHasBeenSet) + { + payload.WithString("description", m_description); + + } + + if(m_roleArnHasBeenSet) + { + payload.WithString("roleArn", m_roleArn); + + } + + if(m_tierHasBeenSet) + { + payload.WithString("tier", TierLevelMapper::GetNameForTierLevel(m_tier)); + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-repostspace/source/model/ValidationException.cpp b/generated/src/aws-cpp-sdk-repostspace/source/model/ValidationException.cpp new file mode 100644 index 00000000000..5c726289386 --- /dev/null +++ b/generated/src/aws-cpp-sdk-repostspace/source/model/ValidationException.cpp @@ -0,0 +1,98 @@ +/** + * 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 repostspace +{ +namespace Model +{ + +ValidationException::ValidationException() : + m_fieldListHasBeenSet(false), + m_messageHasBeenSet(false), + m_reason(ValidationExceptionReason::NOT_SET), + m_reasonHasBeenSet(false) +{ +} + +ValidationException::ValidationException(JsonView jsonValue) : + m_fieldListHasBeenSet(false), + m_messageHasBeenSet(false), + m_reason(ValidationExceptionReason::NOT_SET), + m_reasonHasBeenSet(false) +{ + *this = jsonValue; +} + +ValidationException& ValidationException::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("fieldList")) + { + Aws::Utils::Array fieldListJsonList = jsonValue.GetArray("fieldList"); + for(unsigned fieldListIndex = 0; fieldListIndex < fieldListJsonList.GetLength(); ++fieldListIndex) + { + m_fieldList.push_back(fieldListJsonList[fieldListIndex].AsObject()); + } + m_fieldListHasBeenSet = true; + } + + if(jsonValue.ValueExists("message")) + { + m_message = jsonValue.GetString("message"); + + m_messageHasBeenSet = true; + } + + if(jsonValue.ValueExists("reason")) + { + m_reason = ValidationExceptionReasonMapper::GetValidationExceptionReasonForName(jsonValue.GetString("reason")); + + m_reasonHasBeenSet = true; + } + + return *this; +} + +JsonValue ValidationException::Jsonize() const +{ + JsonValue payload; + + if(m_fieldListHasBeenSet) + { + Aws::Utils::Array fieldListJsonList(m_fieldList.size()); + for(unsigned fieldListIndex = 0; fieldListIndex < fieldListJsonList.GetLength(); ++fieldListIndex) + { + fieldListJsonList[fieldListIndex].AsObject(m_fieldList[fieldListIndex].Jsonize()); + } + payload.WithArray("fieldList", std::move(fieldListJsonList)); + + } + + if(m_messageHasBeenSet) + { + payload.WithString("message", m_message); + + } + + if(m_reasonHasBeenSet) + { + payload.WithString("reason", ValidationExceptionReasonMapper::GetNameForValidationExceptionReason(m_reason)); + } + + return payload; +} + +} // namespace Model +} // namespace repostspace +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-repostspace/source/model/ValidationExceptionField.cpp b/generated/src/aws-cpp-sdk-repostspace/source/model/ValidationExceptionField.cpp new file mode 100644 index 00000000000..a922945ddc6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-repostspace/source/model/ValidationExceptionField.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 repostspace +{ +namespace Model +{ + +ValidationExceptionField::ValidationExceptionField() : + m_messageHasBeenSet(false), + m_nameHasBeenSet(false) +{ +} + +ValidationExceptionField::ValidationExceptionField(JsonView jsonValue) : + m_messageHasBeenSet(false), + m_nameHasBeenSet(false) +{ + *this = jsonValue; +} + +ValidationExceptionField& ValidationExceptionField::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("message")) + { + m_message = jsonValue.GetString("message"); + + m_messageHasBeenSet = true; + } + + if(jsonValue.ValueExists("name")) + { + m_name = jsonValue.GetString("name"); + + m_nameHasBeenSet = true; + } + + return *this; +} + +JsonValue ValidationExceptionField::Jsonize() const +{ + JsonValue payload; + + if(m_messageHasBeenSet) + { + payload.WithString("message", m_message); + + } + + if(m_nameHasBeenSet) + { + payload.WithString("name", m_name); + + } + + return payload; +} + +} // namespace Model +} // namespace repostspace +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-repostspace/source/model/ValidationExceptionReason.cpp b/generated/src/aws-cpp-sdk-repostspace/source/model/ValidationExceptionReason.cpp new file mode 100644 index 00000000000..a6222403445 --- /dev/null +++ b/generated/src/aws-cpp-sdk-repostspace/source/model/ValidationExceptionReason.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 repostspace + { + namespace Model + { + namespace ValidationExceptionReasonMapper + { + + static const int unknownOperation_HASH = HashingUtils::HashString("unknownOperation"); + static const int cannotParse_HASH = HashingUtils::HashString("cannotParse"); + static const int fieldValidationFailed_HASH = HashingUtils::HashString("fieldValidationFailed"); + static const int other_HASH = HashingUtils::HashString("other"); + + + ValidationExceptionReason GetValidationExceptionReasonForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == unknownOperation_HASH) + { + return ValidationExceptionReason::unknownOperation; + } + else if (hashCode == cannotParse_HASH) + { + return ValidationExceptionReason::cannotParse; + } + else if (hashCode == fieldValidationFailed_HASH) + { + return ValidationExceptionReason::fieldValidationFailed; + } + else if (hashCode == other_HASH) + { + return ValidationExceptionReason::other; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ValidationExceptionReason::NOT_SET; + } + + Aws::String GetNameForValidationExceptionReason(ValidationExceptionReason enumValue) + { + switch(enumValue) + { + case ValidationExceptionReason::NOT_SET: + return {}; + case ValidationExceptionReason::unknownOperation: + return "unknownOperation"; + case ValidationExceptionReason::cannotParse: + return "cannotParse"; + case ValidationExceptionReason::fieldValidationFailed: + return "fieldValidationFailed"; + case ValidationExceptionReason::other: + return "other"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ValidationExceptionReasonMapper + } // namespace Model + } // namespace repostspace +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-repostspace/source/model/VanityDomainStatus.cpp b/generated/src/aws-cpp-sdk-repostspace/source/model/VanityDomainStatus.cpp new file mode 100644 index 00000000000..cd05f09b94c --- /dev/null +++ b/generated/src/aws-cpp-sdk-repostspace/source/model/VanityDomainStatus.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 repostspace + { + namespace Model + { + namespace VanityDomainStatusMapper + { + + static const int PENDING_HASH = HashingUtils::HashString("PENDING"); + static const int APPROVED_HASH = HashingUtils::HashString("APPROVED"); + static const int UNAPPROVED_HASH = HashingUtils::HashString("UNAPPROVED"); + + + VanityDomainStatus GetVanityDomainStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == PENDING_HASH) + { + return VanityDomainStatus::PENDING; + } + else if (hashCode == APPROVED_HASH) + { + return VanityDomainStatus::APPROVED; + } + else if (hashCode == UNAPPROVED_HASH) + { + return VanityDomainStatus::UNAPPROVED; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return VanityDomainStatus::NOT_SET; + } + + Aws::String GetNameForVanityDomainStatus(VanityDomainStatus enumValue) + { + switch(enumValue) + { + case VanityDomainStatus::NOT_SET: + return {}; + case VanityDomainStatus::PENDING: + return "PENDING"; + case VanityDomainStatus::APPROVED: + return "APPROVED"; + case VanityDomainStatus::UNAPPROVED: + return "UNAPPROVED"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace VanityDomainStatusMapper + } // namespace Model + } // namespace repostspace +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/S3CrtClient.h b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/S3CrtClient.h index 08c91c9d524..06461c6fc97 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/S3CrtClient.h +++ b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/S3CrtClient.h @@ -4789,10 +4789,10 @@ namespace Aws * require both a mode and a period.

  • The * DefaultRetention period can be either Days or * Years but you must select one. You cannot specify Days - * and Years at the same time.

  • You can only enable - * Object Lock for new buckets. If you want to turn on Object Lock for an existing - * bucket, contact Amazon Web Services Support.

  • See - * Also:

    Years at the same time.

  • You can enable Object + * Lock for new or existing buckets. For more information, see Configuring + * Object Lock.

  • See Also:

    AWS * API Reference

    */ diff --git a/generated/src/aws-cpp-sdk-s3-crt/source/S3CrtEndpointRules.cpp b/generated/src/aws-cpp-sdk-s3-crt/source/S3CrtEndpointRules.cpp index 68421c6849b..169e11ee212 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/source/S3CrtEndpointRules.cpp +++ b/generated/src/aws-cpp-sdk-s3-crt/source/S3CrtEndpointRules.cpp @@ -10,8 +10,8 @@ namespace Aws { namespace S3Crt { -const size_t S3CrtEndpointRules::RulesBlobStrLen = 64175; -const size_t S3CrtEndpointRules::RulesBlobSize = 64176; +const size_t S3CrtEndpointRules::RulesBlobStrLen = 64588; +const size_t S3CrtEndpointRules::RulesBlobSize = 64589; using RulesBlobT = Aws::Array; static constexpr RulesBlobT RulesBlob = {{ @@ -89,134 +89,139 @@ static constexpr RulesBlobT RulesBlob = {{ 'm','b','d','a',' ','e','n','d','p','o','i','n','t',' ','f','o','r',' ','a','n',' ','o','p','e','r', 'a','t','i','o','n',' ','(','e','g',':',' ','W','r','i','t','e','G','e','t','O','b','j','e','c','t', 'R','e','s','p','o','n','s','e',')','"',',','"','t','y','p','e','"',':','"','B','o','o','l','e','a', -'n','"','}',',','"','D','i','s','a','b','l','e','A','c','c','e','s','s','P','o','i','n','t','s','"', -':','{','"','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','"',':','"','I','n','t','e','r','n','a','l',' ','p','a','r','a','m', -'e','t','e','r',' ','t','o',' ','d','i','s','a','b','l','e',' ','A','c','c','e','s','s',' ','P','o', -'i','n','t',' ','B','u','c','k','e','t','s','"',',','"','t','y','p','e','"',':','"','B','o','o','l', -'e','a','n','"','}',',','"','D','i','s','a','b','l','e','M','u','l','t','i','R','e','g','i','o','n', -'A','c','c','e','s','s','P','o','i','n','t','s','"',':','{','"','b','u','i','l','t','I','n','"',':', -'"','A','W','S',':',':','S','3',':',':','D','i','s','a','b','l','e','M','u','l','t','i','R','e','g', -'i','o','n','A','c','c','e','s','s','P','o','i','n','t','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','t','h','e','r',' ','m', -'u','l','t','i','-','r','e','g','i','o','n',' ','a','c','c','e','s','s',' ','p','o','i','n','t','s', -' ','(','M','R','A','P',')',' ','s','h','o','u','l','d',' ','b','e',' ','d','i','s','a','b','l','e', -'d','.','"',',','"','t','y','p','e','"',':','"','B','o','o','l','e','a','n','"','}',',','"','U','s', -'e','A','r','n','R','e','g','i','o','n','"',':','{','"','b','u','i','l','t','I','n','"',':','"','A', -'W','S',':',':','S','3',':',':','U','s','e','A','r','n','R','e','g','i','o','n','"',',','"','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','"',':','"','W','h','e','n',' ','a','n',' ','A','c','c','e','s','s',' ','P','o','i','n', -'t',' ','A','R','N',' ','i','s',' ','p','r','o','v','i','d','e','d',' ','a','n','d',' ','t','h','i', -'s',' ','f','l','a','g',' ','i','s',' ','e','n','a','b','l','e','d',',',' ','t','h','e',' ','S','D', -'K',' ','M','U','S','T',' ','u','s','e',' ','t','h','e',' ','A','R','N','\'','s',' ','r','e','g','i', -'o','n',' ','w','h','e','n',' ','c','o','n','s','t','r','u','c','t','i','n','g',' ','t','h','e',' ', -'e','n','d','p','o','i','n','t',' ','i','n','s','t','e','a','d',' ','o','f',' ','t','h','e',' ','c', -'l','i','e','n','t','\'','s',' ','c','o','n','f','i','g','u','r','e','d',' ','r','e','g','i','o','n', -'.','"',',','"','t','y','p','e','"',':','"','B','o','o','l','e','a','n','"','}','}',',','"','r','u', -'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', -'"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','R','e','g','i','o','n','"','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c', -'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a', -'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'A','c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"', -':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',']', -',','"','e','r','r','o','r','"',':','"','A','c','c','e','l','e','r','a','t','e',' ','c','a','n','n', -'o','t',' ','b','e',' ','u','s','e','d',' ','w','i','t','h',' ','F','I','P','S','"',',','"','t','y', -'p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t', -'a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n', -'t','"','}',']','}',']',',','"','e','r','r','o','r','"',':','"','C','a','n','n','o','t',' ','s','e', -'t',' ','d','u','a','l','-','s','t','a','c','k',' ','i','n',' ','c','o','m','b','i','n','a','t','i', -'o','n',' ','w','i','t','h',' ','a',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t', -'.','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d', +'n','"','}',',','"','K','e','y','"',':','{','"','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','"',':','"','T','h','e',' ','S', +'3',' ','K','e','y',' ','u','s','e','d',' ','t','o',' ','s','e','n','d',' ','t','h','e',' ','r','e', +'q','u','e','s','t','.',' ','T','h','i','s',' ','i','s',' ','a','n',' ','o','p','t','i','o','n','a', +'l',' ','p','a','r','a','m','e','t','e','r',' ','t','h','a','t',' ','w','i','l','l',' ','b','e',' ', +'s','e','t',' ','a','u','t','o','m','a','t','i','c','a','l','l','y',' ','f','o','r',' ','o','p','e', +'r','a','t','i','o','n','s',' ','t','h','a','t',' ','a','r','e',' ','s','c','o','p','e','d',' ','t', +'o',' ','a','n',' ','S','3',' ','K','e','y','.','"',',','"','t','y','p','e','"',':','"','S','t','r', +'i','n','g','"','}',',','"','P','r','e','f','i','x','"',':','{','"','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','"',':','"', +'T','h','e',' ','S','3',' ','P','r','e','f','i','x',' ','u','s','e','d',' ','t','o',' ','s','e','n', +'d',' ','t','h','e',' ','r','e','q','u','e','s','t','.',' ','T','h','i','s',' ','i','s',' ','a','n', +' ','o','p','t','i','o','n','a','l',' ','p','a','r','a','m','e','t','e','r',' ','t','h','a','t',' ', +'w','i','l','l',' ','b','e',' ','s','e','t',' ','a','u','t','o','m','a','t','i','c','a','l','l','y', +' ','f','o','r',' ','o','p','e','r','a','t','i','o','n','s',' ','t','h','a','t',' ','a','r','e',' ', +'s','c','o','p','e','d',' ','t','o',' ','a','n',' ','S','3',' ','P','r','e','f','i','x','.','"',',', +'"','t','y','p','e','"',':','"','S','t','r','i','n','g','"','}',',','"','D','i','s','a','b','l','e', +'A','c','c','e','s','s','P','o','i','n','t','s','"',':','{','"','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','"',':','"','I', +'n','t','e','r','n','a','l',' ','p','a','r','a','m','e','t','e','r',' ','t','o',' ','d','i','s','a', +'b','l','e',' ','A','c','c','e','s','s',' ','P','o','i','n','t',' ','B','u','c','k','e','t','s','"', +',','"','t','y','p','e','"',':','"','B','o','o','l','e','a','n','"','}',',','"','D','i','s','a','b', +'l','e','M','u','l','t','i','R','e','g','i','o','n','A','c','c','e','s','s','P','o','i','n','t','s', +'"',':','{','"','b','u','i','l','t','I','n','"',':','"','A','W','S',':',':','S','3',':',':','D','i', +'s','a','b','l','e','M','u','l','t','i','R','e','g','i','o','n','A','c','c','e','s','s','P','o','i', +'n','t','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','t','h','e','r',' ','m','u','l','t','i','-','r','e','g','i','o','n',' ', +'a','c','c','e','s','s',' ','p','o','i','n','t','s',' ','(','M','R','A','P',')',' ','s','h','o','u', +'l','d',' ','b','e',' ','d','i','s','a','b','l','e','d','.','"',',','"','t','y','p','e','"',':','"', +'B','o','o','l','e','a','n','"','}',',','"','U','s','e','A','r','n','R','e','g','i','o','n','"',':', +'{','"','b','u','i','l','t','I','n','"',':','"','A','W','S',':',':','S','3',':',':','U','s','e','A', +'r','n','R','e','g','i','o','n','"',',','"','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','"',':','"','W','h','e','n',' ','a', +'n',' ','A','c','c','e','s','s',' ','P','o','i','n','t',' ','A','R','N',' ','i','s',' ','p','r','o', +'v','i','d','e','d',' ','a','n','d',' ','t','h','i','s',' ','f','l','a','g',' ','i','s',' ','e','n', +'a','b','l','e','d',',',' ','t','h','e',' ','S','D','K',' ','M','U','S','T',' ','u','s','e',' ','t', +'h','e',' ','A','R','N','\'','s',' ','r','e','g','i','o','n',' ','w','h','e','n',' ','c','o','n','s', +'t','r','u','c','t','i','n','g',' ','t','h','e',' ','e','n','d','p','o','i','n','t',' ','i','n','s', +'t','e','a','d',' ','o','f',' ','t','h','e',' ','c','l','i','e','n','t','\'','s',' ','c','o','n','f', +'i','g','u','r','e','d',' ','r','e','g','i','o','n','.','"',',','"','t','y','p','e','"',':','"','B', +'o','o','l','e','a','n','"','}','}',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']','}',']', +',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}', +',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F', +'I','P','S','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','A','c', +'c','e','l','e','r','a','t','e',' ','c','a','n','n','o','t',' ','b','e',' ','u','s','e','d',' ','w', +'i','t','h',' ','F','I','P','S','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}', +',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']',',','"','e','r','r','o', +'r','"',':','"','C','a','n','n','o','t',' ','s','e','t',' ','d','u','a','l','-','s','t','a','c','k', +' ','i','n',' ','c','o','m','b','i','n','a','t','i','o','n',' ','w','i','t','h',' ','a',' ','c','u', +'s','t','o','m',' ','e','n','d','p','o','i','n','t','.','"',',','"','t','y','p','e','"',':','"','e', +'r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', +'n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','b','o','o', +'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r', +'o','r','"',':','"','A',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','c','a', +'n','n','o','t',' ','b','e',' ','c','o','m','b','i','n','e','d',' ','w','i','t','h',' ','F','I','P', +'S','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d', 'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a', 'r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']', '}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',', -'t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','A',' ','c','u','s','t','o','m', -' ','e','n','d','p','o','i','n','t',' ','c','a','n','n','o','t',' ','b','e',' ','c','o','m','b','i', -'n','e','d',' ','w','i','t','h',' ','F','I','P','S','"',',','"','t','y','p','e','"',':','"','e','r', -'r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', -'"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e',']','}',']',',','"','e', -'r','r','o','r','"',':','"','A',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ', -'c','a','n','n','o','t',' ','b','e',' ','c','o','m','b','i','n','e','d',' ','w','i','t','h',' ','S', -'3',' ','A','c','c','e','l','e','r','a','t','e','"',',','"','t','y','p','e','"',':','"','e','r','r', -'o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', -':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',', -'{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a', -'s','s','i','g','n','"',':','"','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}', -',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','p','a','r','t','i','t','i','o','n','R','e','s','u', -'l','t','"','}',',','"','n','a','m','e','"',']','}',',','"','a','w','s','-','c','n','"',']','}',']', -',','"','e','r','r','o','r','"',':','"','P','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ', -'n','o','t',' ','s','u','p','p','o','r','t',' ','F','I','P','S','"',',','"','t','y','p','e','"',':', -'"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', -'"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','B','u','c','k','e','t','"','}',']','}',',','{','"','f','n','"',':','"','s','u','b', -'s','t','r','i','n','g','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B', -'u','c','k','e','t','"','}',',','4','9',',','5','0',',','t','r','u','e',']',',','"','a','s','s','i', -'g','n','"',':','"','h','a','r','d','w','a','r','e','T','y','p','e','"','}',',','{','"','f','n','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e', +'"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','A',' ','c','u','s', +'t','o','m',' ','e','n','d','p','o','i','n','t',' ','c','a','n','n','o','t',' ','b','e',' ','c','o', +'m','b','i','n','e','d',' ','w','i','t','h',' ','S','3',' ','A','c','c','e','l','e','r','a','t','e', +'"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F', +'I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','a','w','s','.','p', +'a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','p','a','r','t', +'i','t','i','o','n','R','e','s','u','l','t','"','}',',','{','"','f','n','"',':','"','s','t','r','i', +'n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', +'g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','n','a','m','e','"',']', +'}',',','"','a','w','s','-','c','n','"',']','}',']',',','"','e','r','r','o','r','"',':','"','P','a', +'r','t','i','t','i','o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ', +'F','I','P','S','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}', +']','}',',','{','"','f','n','"',':','"','s','u','b','s','t','r','i','n','g','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',',','4','9',',','5', +'0',',','t','r','u','e',']',',','"','a','s','s','i','g','n','"',':','"','h','a','r','d','w','a','r', +'e','T','y','p','e','"','}',',','{','"','f','n','"',':','"','s','u','b','s','t','r','i','n','g','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}', +',','8',',','1','2',',','t','r','u','e',']',',','"','a','s','s','i','g','n','"',':','"','r','e','g', +'i','o','n','P','r','e','f','i','x','"','}',',','{','"','f','n','"',':','"','s','u','b','s','t','r', +'i','n','g','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k', +'e','t','"','}',',','0',',','7',',','t','r','u','e',']',',','"','a','s','s','i','g','n','"',':','"', +'b','u','c','k','e','t','A','l','i','a','s','S','u','f','f','i','x','"','}',',','{','"','f','n','"', ':','"','s','u','b','s','t','r','i','n','g','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','B','u','c','k','e','t','"','}',',','8',',','1','2',',','t','r','u','e',']',',','"', -'a','s','s','i','g','n','"',':','"','r','e','g','i','o','n','P','r','e','f','i','x','"','}',',','{', -'"','f','n','"',':','"','s','u','b','s','t','r','i','n','g','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',',','0',',','7',',','t','r','u','e', -']',',','"','a','s','s','i','g','n','"',':','"','b','u','c','k','e','t','A','l','i','a','s','S','u', -'f','f','i','x','"','}',',','{','"','f','n','"',':','"','s','u','b','s','t','r','i','n','g','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',',', -'3','2',',','4','9',',','t','r','u','e',']',',','"','a','s','s','i','g','n','"',':','"','o','u','t', -'p','o','s','t','I','d','"','}',',','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i', -'t','i','o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g', -'i','o','n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','r','e','g','i','o','n','P','a', -'r','t','i','t','i','o','n','"','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c', -'k','e','t','A','l','i','a','s','S','u','f','f','i','x','"','}',',','"','-','-','o','p','-','s','3', -'"',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n', -'s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b', -'e','l','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','o','u','t','p','o', -'s','t','I','d','"','}',',','f','a','l','s','e',']','}',']',',','"','r','u','l','e','s','"',':','[', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r', -'i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','h','a','r','d','w','a','r','e','T','y','p','e','"','}',',','"','e','"',']','}',']',',','"', -'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', +'f','"',':','"','B','u','c','k','e','t','"','}',',','3','2',',','4','9',',','t','r','u','e',']',',', +'"','a','s','s','i','g','n','"',':','"','o','u','t','p','o','s','t','I','d','"','}',',','{','"','f', +'n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i', +'g','n','"',':','"','r','e','g','i','o','n','P','a','r','t','i','t','i','o','n','"','}',',','{','"', 'f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','r','e','g','i','o','n','P','r','e','f','i','x','"','}',',', -'"','b','e','t','a','"',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d', -'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g', -'v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',']',',', -'"','e','r','r','o','r','"',':','"','E','x','p','e','c','t','e','d',' ','a',' ','e','n','d','p','o', -'i','n','t',' ','t','o',' ','b','e',' ','s','p','e','c','i','f','i','e','d',' ','b','u','t',' ','n', -'o',' ','e','n','d','p','o','i','n','t',' ','w','a','s',' ','f','o','u','n','d','"',',','"','t','y', -'p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n', -'"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':', -'"','u','r','l','"','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"', -':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','e','c','2','.','{','u', -'r','l','#','a','u','t','h','o','r','i','t','y','}','"',',','"','p','r','o','p','e','r','t','i','e', -'s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a', -'b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"', -'n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m', -'e','"',':','"','s','3','-','o','u','t','p','o','s','t','s','"',',','"','s','i','g','n','i','n','g', -'R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e', -'a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i', -'n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o', -'n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{', -'"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','e', -'c','2','.','s','3','-','o','u','t','p','o','s','t','s','.','{','R','e','g','i','o','n','}','.','{', -'r','e','g','i','o','n','P','a','r','t','i','t','i','o','n','#','d','n','s','S','u','f','f','i','x', +':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','l','i','a','s','S','u','f','f', +'i','x','"','}',',','"','-','-','o','p','-','s','3','"',']','}',']',',','"','r','u','l','e','s','"', +':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i', +'s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','o','u','t','p','o','s','t','I','d','"','}',',','f','a','l','s','e', +']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s', +'"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','h','a','r','d','w','a','r','e','T','y', +'p','e','"','}',',','"','e','"',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','r','e', +'g','i','o','n','P','r','e','f','i','x','"','}',',','"','b','e','t','a','"',']','}',']',',','"','r', +'u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', +'n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i', +'s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d', +'p','o','i','n','t','"','}',']','}',']','}',']',',','"','e','r','r','o','r','"',':','"','E','x','p', +'e','c','t','e','d',' ','a',' ','e','n','d','p','o','i','n','t',' ','t','o',' ','b','e',' ','s','p', +'e','c','i','f','i','e','d',' ','b','u','t',' ','n','o',' ','e','n','d','p','o','i','n','t',' ','w', +'a','s',' ','f','o','u','n','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s', +'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p', +'o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t', +'"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',']',',','"','e','n','d', +'p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B', +'u','c','k','e','t','}','.','e','c','2','.','{','u','r','l','#','a','u','t','h','o','r','i','t','y', '}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h', 'e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c', 'o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4', @@ -224,96 +229,184 @@ static constexpr RulesBlobT RulesBlob = {{ 's','t','s','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e', 'g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"', 't','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"', -':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', -'"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','h','a','r','d','w','a','r','e','T','y','p','e','"','}', -',','"','o','"',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t', -'i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l', -'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','r','e','g','i','o','n', -'P','r','e','f','i','x','"','}',',','"','b','e','t','a','"',']','}',']',',','"','r','u','l','e','s', -'"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', -'n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n', -'t','"','}',']','}',']','}',']',',','"','e','r','r','o','r','"',':','"','E','x','p','e','c','t','e', -'d',' ','a',' ','e','n','d','p','o','i','n','t',' ','t','o',' ','b','e',' ','s','p','e','c','i','f', -'i','e','d',' ','b','u','t',' ','n','o',' ','e','n','d','p','o','i','n','t',' ','w','a','s',' ','f', -'o','u','n','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c', -'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t', -'"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',', -'"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',']',',','"','e','n','d','p','o','i','n', -'t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e', -'t','}','.','o','p','-','{','o','u','t','p','o','s','t','I','d','}','.','{','u','r','l','#','a','u', -'t','h','o','r','i','t','y','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"', -'a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o', -'u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"', -':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s', -'3','-','o','u','t','p','o','s','t','s','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o', -'n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s', -'"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']', -',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i', -'o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"', -':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','o','p','-','{','o','u', -'t','p','o','s','t','I','d','}','.','s','3','-','o','u','t','p','o','s','t','s','.','{','R','e','g', -'i','o','n','}','.','{','r','e','g','i','o','n','P','a','r','t','i','t','i','o','n','#','d','n','s', -'S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a', -'u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u', -'b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':', -'"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3', -'-','o','u','t','p','o','s','t','s','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n', -'"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"', -':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',', -'"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o', -'n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','U','n','r','e','c','o','g','n','i', -'z','e','d',' ','h','a','r','d','w','a','r','e',' ','t','y','p','e',':',' ','\\','"','E','x','p','e', -'c','t','e','d',' ','h','a','r','d','w','a','r','e',' ','t','y','p','e',' ','o',' ','o','r',' ','e', -' ','b','u','t',' ','g','o','t',' ','{','h','a','r','d','w','a','r','e','T','y','p','e','}','\\','"', -'"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"', ':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']', -',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','T','h', -'e',' ','o','u','t','p','o','s','t',' ','I','d',' ','m','u','s','t',' ','o','n','l','y',' ','c','o', -'n','t','a','i','n',' ','a','-','z',',',' ','A','-','Z',',',' ','0','-','9',' ','a','n','d',' ','`', -'-','`','.','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y', -'p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', -':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',']','}',']',',','"','r','u','l','e','s', -'"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', -'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', -'d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a', -'r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v', -'"',':','[','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}', -']','}',']',',','"','e','r','r','o','r','"',':','"','C','u','s','t','o','m',' ','e','n','d','p','o', -'i','n','t',' ','`','{','E','n','d','p','o','i','n','t','}','`',' ','w','a','s',' ','n','o','t',' ', -'a',' ','v','a','l','i','d',' ','U','R','I','"',',','"','t','y','p','e','"',':','"','e','r','r','o', -'r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', +',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s', +':','/','/','{','B','u','c','k','e','t','}','.','e','c','2','.','s','3','-','o','u','t','p','o','s', +'t','s','.','{','R','e','g','i','o','n','}','.','{','r','e','g','i','o','n','P','a','r','t','i','t', +'i','o','n','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i', +'e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s', +'a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',', +'"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a', +'m','e','"',':','"','s','3','-','o','u','t','p','o','s','t','s','"',',','"','s','i','g','n','i','n', +'g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h', +'e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o', +'i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','h', +'a','r','d','w','a','r','e','T','y','p','e','"','}',',','"','o','"',']','}',']',',','"','r','u','l', +'e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', +':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','r','e','g','i','o','n','P','r','e','f','i','x','"','}',',','"','b','e', +'t','a','"',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':', +'[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',']',',','"','e','r', +'r','o','r','"',':','"','E','x','p','e','c','t','e','d',' ','a',' ','e','n','d','p','o','i','n','t', +' ','t','o',' ','b','e',' ','s','p','e','c','i','f','i','e','d',' ','b','u','t',' ','n','o',' ','e', +'n','d','p','o','i','n','t',' ','w','a','s',' ','f','o','u','n','d','"',',','"','t','y','p','e','"', +':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"', +'p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r', +'l','"','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h', +'t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','o','p','-','{','o','u','t','p','o', +'s','t','I','d','}','.','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','"',',','"','p', +'r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"', +':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g', +'"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i', +'g','n','i','n','g','N','a','m','e','"',':','"','s','3','-','o','u','t','p','o','s','t','s','"',',', +'"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}', +'"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"', +':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e', +'e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d', +'p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B', +'u','c','k','e','t','}','.','o','p','-','{','o','u','t','p','o','s','t','I','d','}','.','s','3','-', +'o','u','t','p','o','s','t','s','.','{','R','e','g','i','o','n','}','.','{','r','e','g','i','o','n', +'P','a','r','t','i','t','i','o','n','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r', +'o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':', +'[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"', +':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g', +'n','i','n','g','N','a','m','e','"',':','"','s','3','-','o','u','t','p','o','s','t','s','"',',','"', +'s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"', +'}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':', +'"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', +'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o', +'r','"',':','"','U','n','r','e','c','o','g','n','i','z','e','d',' ','h','a','r','d','w','a','r','e', +' ','t','y','p','e',':',' ','\\','"','E','x','p','e','c','t','e','d',' ','h','a','r','d','w','a','r', +'e',' ','t','y','p','e',' ','o',' ','o','r',' ','e',' ','b','u','t',' ','g','o','t',' ','{','h','a', +'r','d','w','a','r','e','T','y','p','e','}','\\','"','"',',','"','t','y','p','e','"',':','"','e','r', +'r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n', +'v','a','l','i','d',' ','A','R','N',':',' ','T','h','e',' ','o','u','t','p','o','s','t',' ','I','d', +' ','m','u','s','t',' ','o','n','l','y',' ','c','o','n','t','a','i','n',' ','a','-','z',',',' ','A', +'-','Z',',',' ','0','-','9',' ','a','n','d',' ','`','-','`','.','"',',','"','t','y','p','e','"',':', +'"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',', +'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S', +'e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e', +'t','"','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{', +'"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':', +'"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','p','a', +'r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E', +'n','d','p','o','i','n','t','"','}',']','}',']','}',']','}',']',',','"','e','r','r','o','r','"',':', +'"','C','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','`','{','E','n','d','p','o','i', +'n','t','}','`',' ','w','a','s',' ','n','o','t',' ','a',' ','v','a','l','i','d',' ','U','R','I','"', +',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','F','o','r','c','e', +'P','a','t','h','S','t','y','l','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"', +':','"','a','w','s','.','i','s','V','i','r','t','u','a','l','H','o','s','t','a','b','l','e','S','3', +'B','u','c','k','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B', +'u','c','k','e','t','"','}',',','f','a','l','s','e',']','}',']',',','"','r','u','l','e','s','"',':', +'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w', +'s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','p', +'a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',']',',','"','r','u','l','e','s','"', +':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i', +'s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','f','a','l','s','e',']','}',']', +',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}', +',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t', +'r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','p','a','r','t','i','t', +'i','o','n','R','e','s','u','l','t','"','}',',','"','n','a','m','e','"',']','}',',','"','a','w','s', +'-','c','n','"',']','}',']',',','"','e','r','r','o','r','"',':','"','S','3',' ','A','c','c','e','l', +'e','r','a','t','e',' ','c','a','n','n','o','t',' ','b','e',' ','u','s','e','d',' ','i','n',' ','t', +'h','i','s',' ','r','e','g','i','o','n','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r', +'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', +'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e', +']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}', +',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e', +'l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n', +'o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t', +'"','}',']','}',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n', +'"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o', +'i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c', +'k','e','t','}','.','s','3','-','f','i','p','s','.','d','u','a','l','s','t','a','c','k','.','u','s', +'-','e','a','s','t','-','1','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#', +'d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':', +'{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e', +'D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m', +'e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':', +'"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-', +'e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',', +'"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', +'D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':', '"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','F','o','r','c','e','P','a','t','h','S','t','y','l','e','"','}',',','f', -'a','l','s','e',']','}',',','{','"','f','n','"',':','"','a','w','s','.','i','s','V','i','r','t','u', -'a','l','H','o','s','t','a','b','l','e','S','3','B','u','c','k','e','t','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',',','f','a','l','s','e', -']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']', -',','"','a','s','s','i','g','n','"',':','"','p','a','r','t','i','t','i','o','n','R','e','s','u','l', -'t','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n', -'s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b', -'e','l','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o', -'n','"','}',',','f','a','l','s','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c', -'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a', +'"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',', +'f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v', +'"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"', +'f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', +'s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l', +'"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o', +'b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','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','"',':','"','h','t','t','p','s',':','/','/', +'{','B','u','c','k','e','t','}','.','s','3','-','f','i','p','s','.','d','u','a','l','s','t','a','c', +'k','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u', +'l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e', +'s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a', +'b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"', +'n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m', +'e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"', +'{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}', +'}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y', +'p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a', +'c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a', 'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'A','c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"', -':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"', -'n','a','m','e','"',']','}',',','"','a','w','s','-','c','n','"',']','}',']',',','"','e','r','r','o', -'r','"',':','"','S','3',' ','A','c','c','e','l','e','r','a','t','e',' ','c','a','n','n','o','t',' ', -'b','e',' ','u','s','e','d',' ','i','n',' ','t','h','i','s',' ','r','e','g','i','o','n','"',',','"', -'t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o', -'n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l', -'S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o', +'U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b', +'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}', +',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n', +'"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o', +'t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e', +'g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p', +'o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t', +'"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t', +'}','.','s','3','-','f','i','p','s','.','d','u','a','l','s','t','a','c','k','.','{','R','e','g','i', +'o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S', +'u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u', +'t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b', +'l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"', +'s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"', +',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n', +'}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e', +'"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S', +'t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o', 'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', '"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"', ':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', @@ -325,18 +418,45 @@ static constexpr RulesBlobT RulesBlob = {{ 'r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a', 'l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"', 'h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','-','f','i','p','s','.', -'d','u','a','l','s','t','a','c','k','.','u','s','-','e','a','s','t','-','1','.','{','p','a','r','t', -'i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"', -'p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s', -'"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n', -'g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s', -'i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g', -'R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h', -'e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o', -'i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', -'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t', -'r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'u','s','-','e','a','s','t','-','1','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l', +'t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s', +'"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b', +'l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n', +'a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e', +'"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u', +'s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}', +'}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', +'s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f', +'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']', +'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e', +'"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a', +'r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}', +',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n', +'"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o', +'b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', +'G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','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','"',':','"','h','t','t','p','s', +':','/','/','{','B','u','c','k','e','t','}','.','s','3','-','f','i','p','s','.','{','R','e','g','i', +'o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S', +'u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u', +'t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b', +'l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"', +'s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"', +',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n', +'}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e', +'"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r', +'e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a', +'l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', 's','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P', 'S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', 'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A', @@ -349,120 +469,67 @@ static constexpr RulesBlobT RulesBlob = {{ ',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"', 'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', 'r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}', -',','t','r','u','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', +',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r', 'l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','-','f', -'i','p','s','.','d','u','a','l','s','t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p', -'a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}', -'"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e', -'m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o', -'d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"', -',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n', -'i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',', -'"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d', -'p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{', -'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u', +'i','p','s','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e', +'s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t', +'i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i', +'s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e', +',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N', +'a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"', +':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':', +'{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e', +'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s', 'e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', ',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a', -'t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',', -'"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}', -']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"', -'f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g', -'l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', -'s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']', -'}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t', -'p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','-','f','i','p','s','.','d','u','a', -'l','s','t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o', -'n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p', -'e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{', -'"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t', -'r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i', -'n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i', -'o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r', -'s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}', -',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', -'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']', -'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',', -'t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l', -'e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o', -'t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"', -'}',']','}',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"', -'}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i', -'n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k', -'e','t','}','.','s','3','-','f','i','p','s','.','u','s','-','e','a','s','t','-','1','.','{','p','a', -'r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"', -',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m', -'e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d', -'i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',', -'"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i', -'n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',', -'"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d', -'p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', -'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}', -',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', -'F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"', -'f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', -'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', -'d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',', -'"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o', -'n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n', -'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n', -'t','"','}',',','t','r','u','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','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s', -'3','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o', -'n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p', -'e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{', -'"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t', -'r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i', -'n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i', -'o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r', -'s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}', -']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t', -'i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u', -'a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"', -'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"', -'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f', -'a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"', -':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f', -'n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s', -'t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"', -']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b', -'a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n', -'d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{', -'B','u','c','k','e','t','}','.','s','3','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.', -'{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i', -'x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c', -'h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n', -'c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v', -'4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i', -'g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']', -'}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e', -'n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'t','e','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"', +'a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']', +'}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a', +'w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':', +'{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.', +'s','3','-','a','c','c','e','l','e','r','a','t','e','.','d','u','a','l','s','t','a','c','k','.','u', +'s','-','e','a','s','t','-','1','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t', +'#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"', +':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l', +'e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a', +'m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"', +':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s', +'-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}', +',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n', +'d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', +'e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}', +',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"', +'}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g', +'v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{', +'"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':', +'"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a', +'l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l', +'o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','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','"',':','"','h','t','t','p','s',':','/', +'/','{','B','u','c','k','e','t','}','.','s','3','-','a','c','c','e','l','e','r','a','t','e','.','d', +'u','a','l','s','t','a','c','k','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t', +'#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"', +':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l', +'e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a', +'m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"', +':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R', +'e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',', +'"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e', +'"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', '{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', 'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k', '"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', @@ -472,72 +539,44 @@ static constexpr RulesBlobT RulesBlob = {{ 'f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e',']','}',',','{', '"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':', '"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E', +'n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"', +',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i', +'o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f', +'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i', +'n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':', +'{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.', +'s','3','-','a','c','c','e','l','e','r','a','t','e','.','d','u','a','l','s','t','a','c','k','.','{', +'p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x', +'}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h', +'e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c', +'o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4', +'"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g', +'n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}', +',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n', +'d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"', +'}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', +'F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o', +'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{', +'"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':', +'"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E', 'n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','s','t','r','i', 'n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', '"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']', ',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s', -':','/','/','{','B','u','c','k','e','t','}','.','s','3','-','a','c','c','e','l','e','r','a','t','e', -'.','d','u','a','l','s','t','a','c','k','.','u','s','-','e','a','s','t','-','1','.','{','p','a','r', -'t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',', -'"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e', -'s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i', -'n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"', -'s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n', -'g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"', -'h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p', -'o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', -'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',', -'t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I', -'P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', -'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','A','c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e',']','}',',','{','"','f','n', -'"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s', -'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p', -'o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a', -'r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"', -'}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"', -'}',',','t','r','u','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','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','-', -'a','c','c','e','l','e','r','a','t','e','.','d','u','a','l','s','t','a','c','k','.','{','p','a','r', -'t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',', -'"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e', -'s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i', -'n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"', -'s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n', -'g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h', -'e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o', -'i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c', -'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a', -'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f', -'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e', -']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t', -'e','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a', -'r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}', -',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n', -'"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o', -'b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', -'G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']', -',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s', -':','/','/','{','B','u','c','k','e','t','}','.','s','3','-','a','c','c','e','l','e','r','a','t','e', -'.','d','u','a','l','s','t','a','c','k','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u', -'l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e', -'s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a', -'b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"', -'n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m', -'e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"', -'{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}', +':','/','/','{','B','u','c','k','e','t','}','.','s','3','.','d','u','a','l','s','t','a','c','k','.', +'u','s','-','e','a','s','t','-','1','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l', +'t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s', +'"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b', +'l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n', +'a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e', +'"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u', +'s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}', '}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o', 'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', 'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', @@ -549,245 +588,148 @@ static constexpr RulesBlobT RulesBlob = {{ '"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a', 'r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v', '"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}', -',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w', -'s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{', -'"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s', -'3','.','d','u','a','l','s','t','a','c','k','.','u','s','-','e','a','s','t','-','1','.','{','p','a', -'r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"', -',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m', -'e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d', -'i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',', -'"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i', -'n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',', +',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n', +'"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o', +'b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', +'G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','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','"',':','"','h','t','t','p','s', +':','/','/','{','B','u','c','k','e','t','}','.','s','3','.','d','u','a','l','s','t','a','c','k','.', +'{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t', +'#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"', +':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l', +'e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a', +'m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"', +':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R', +'e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',', +'"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e', +'"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k', +'"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', +'e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',', +'{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"', +':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t', +'"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g', +'i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o', +'i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"', +':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}', +'.','s','3','.','d','u','a','l','s','t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p', +'a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}', +'"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e', +'m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o', +'d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"', +',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n', +'i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',', '"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d', 'p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', 'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', '"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}', -',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F', -'I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"', -'f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', -'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', -'d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',', -'"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o', -'n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n', -'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n', -'t','"','}',',','t','r','u','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','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s', -'3','.','d','u','a','l','s','t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p','a','r', -'t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',', -'"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e', -'s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i', -'n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"', -'s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n', -'g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h', -'e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o', -'i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c', -'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a', -'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f', -'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e', -']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t', -'e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"', -'a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']', -'}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f', -'n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l', -'o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', -'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', -'e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}', -']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p', -'s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','.','d','u','a','l','s','t','a','c','k', -'.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l', -'t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s', -'"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b', -'l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n', -'a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e', -'"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{', -'R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}', -',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n', -'d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', -'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', -'e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n', -'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']', -'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e', -'"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"', -'}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"', -'a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','b','o','o', -'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"', -':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','u','r','l','"','}',',','"','i','s','I','p','"',']','}',',','t','r','u','e',']','}',',','{', -'"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-', -'g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u', -'r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#', -'a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','n','o','r','m','a','l','i','z','e','d', -'P','a','t','h','}','{','B','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e', -'s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a', -'b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"', -'n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m', -'e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"', -'u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{', -'}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c', -'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a', -'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"', -'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s', -'e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a', -'t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n', -'t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']', -',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','b', -'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f', -'n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','u','r','l','"','}',',','"','i','s','I','p','"',']','}',',','f','a','l','s','e',']', -'}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a', -'w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':', -'{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','B', -'u','c','k','e','t','}','.','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r', -'l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a', -'u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u', -'b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':', -'"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3', -'"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s', -'t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y', -'p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i', -'o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', -'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a', -'l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b', +',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', +'F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o', +'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{', +'"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p', +'a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l', +'"','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','u','r','l','"','}',',','"','i','s','I', +'p','"',']','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R', +'e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"', +'e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c', +'h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u', +'r','l','#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}','{','B','u','c','k','e','t', +'}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h', +'e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c', +'o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4', +'"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g', +'n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']', +'}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e', +'n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k', +'"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', +'s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b', 'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"', -'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f', -'a','l','s','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',', -'{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i', -'g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e', -'t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','u','r', -'l','"','}',',','"','i','s','I','p','"',']','}',',','t','r','u','e',']','}',',','{','"','f','n','"', -':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r', +'e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}', +',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':', +'"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u', +'r','l','"','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','u','r','l','"','}',',','"','i', +'s','I','p','"',']','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','s','t','r', 'i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', ':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}', -']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l', -'E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s', -'"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', -'s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','u','s','-','e','a','s','t','-','1','"', -']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u', -'r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i', -'t','y','}','{','u','r','l','#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}','{','B', -'u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u', -'t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b', -'l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"', -'s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"', -',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n', -'}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e', -'"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n', -'s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"', -'{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o', -'r','i','t','y','}','{','u','r','l','#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}', -'{','B','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"', -'a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o', -'u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"', -':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s', -'3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i', -'o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y', -'p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"', -'t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', -'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',', -'f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F', -'I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"', -'f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a', -'r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E', -'n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"', -'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', -'a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','u','r','l','"','}',',','"','i','s','I','p', -'"',']','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"', -'a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l', -'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n', -'"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"', -':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t', -'"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n', -'d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g', -'i','o','n','"','}',',','"','u','s','-','e','a','s','t','-','1','"',']','}',']',',','"','e','n','d', -'p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m', -'e','}',':','/','/','{','B','u','c','k','e','t','}','.','{','u','r','l','#','a','u','t','h','o','r', -'i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t','i', -'e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s', -'a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',', -'"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a', -'m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':', -'"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{', -'}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c', -'o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':', -'{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','B', -'u','c','k','e','t','}','.','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r', -'l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a', -'u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u', -'b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':', -'"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3', -'"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o', -'n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', -'e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t', -'r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', -'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f', -'a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I', -'P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', -'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f', -'n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r', -'s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', -'d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}', -',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','u','r','l','"','}',',','"','i','s','I','p','"', -']','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r', -'g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}', -',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"', -'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}', -',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r', -'l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a', -'u','t','h','o','r','i','t','y','}','{','u','r','l','#','n','o','r','m','a','l','i','z','e','d','P', -'a','t','h','}','{','B','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s', -'"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b', -'l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n', -'a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e', -'"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{', -'R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}', -',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n', +']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l', +'#','s','c','h','e','m','e','}',':','/','/','{','B','u','c','k','e','t','}','.','{','u','r','l','#', +'a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r', +'o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':', +'[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"', +':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g', +'n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e', +'g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a', +'d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n', +'t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', +'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l', +'s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S', +'"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A', +'c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"', +':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e', +'U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p', +'o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','u','r','l','"','}',',','"','i','s','I','p','"',']','}', +',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v', +'"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"', +'a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t', +'r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"', +'}',',','"','u','s','-','e','a','s','t','-','1','"',']','}',']',',','"','e','n','d','p','o','i','n', +'t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/', +'/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','n','o','r','m', +'a','l','i','z','e','d','P','a','t','h','}','{','B','u','c','k','e','t','}','"',',','"','p','r','o', +'p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[', +'{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':', +'t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n', +'i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g', +'i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e', +'r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"', +'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o', +'i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}', +':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','n','o', +'r','m','a','l','i','z','e','d','P','a','t','h','}','{','B','u','c','k','e','t','}','"',',','"','p', +'r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"', +':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g', +'"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i', +'g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R', +'e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a', +'d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n', +'t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n', 'd','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', 'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', 'e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n', @@ -808,157 +750,145 @@ static constexpr RulesBlobT RulesBlob = {{ '"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b', 'a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', 'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G', -'l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',', -'"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s', -'c','h','e','m','e','}',':','/','/','{','B','u','c','k','e','t','}','.','{','u','r','l','#','a','u', -'t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o','p', -'e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{', -'"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t', -'r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i', -'n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i', -'o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r', -'s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}', -',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', -'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']', -'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',', -'f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e', -'l','e','r','a','t','e','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o', -'t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"', -'}',']','}',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"', -'}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i', -'n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k', -'e','t','}','.','s','3','-','a','c','c','e','l','e','r','a','t','e','.','{','p','a','r','t','i','t', -'i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r', -'o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':', -'[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"', -':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g', -'n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e', -'g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a', -'d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n', -'t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l', -'s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S', -'"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A', -'c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':', -'"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e', -'t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i', -'n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g', -'v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',', -'"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b', -'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',', -'t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t', -'i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l', -'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n', -'"','}',',','"','u','s','-','e','a','s','t','-','1','"',']','}',']',',','"','e','n','d','p','o','i', -'n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k', -'e','t','}','.','s','3','-','a','c','c','e','l','e','r','a','t','e','.','{','p','a','r','t','i','t', -'i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r', +'l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"', +'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', +'f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','u','s','-','e','a', +'s','t','-','1','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l', +'"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','B','u','c','k','e','t', +'}','.','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t', +'h','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c', +'h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n', +'c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v', +'4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i', +'g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']', +'}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e', +'n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l', +'#','s','c','h','e','m','e','}',':','/','/','{','B','u','c','k','e','t','}','.','{','u','r','l','#', +'a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r', 'o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':', '[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"', ':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g', 'n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e', 'g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d', 'e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t', -'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p', -'o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u', -'c','k','e','t','}','.','s','3','-','a','c','c','e','l','e','r','a','t','e','.','{','p','a','r','t', -'i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"', -'p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s', -'"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n', -'g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s', -'i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g', -'R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e', -'a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i', -'n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o', -'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', -'s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f', -'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e', -']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t', -'e','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a', -'r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}', -',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n', -'"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o', -'b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', +'"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', 'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', -'G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']', -',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s', -':','/','/','{','B','u','c','k','e','t','}','.','s','3','-','a','c','c','e','l','e','r','a','t','e', -'.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f', -'i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S', -'c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E', -'n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g', -'v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s', -'i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}', -']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"', -'e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c', -'k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a', -'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"', -'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']', -'}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f', -'n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','s', -'t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"', -']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t', -'t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','.','{','p','a','r','t','i','t', -'i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r', -'o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':', -'[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"', -':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g', -'n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e', -'g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a', -'d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n', -'t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l', -'s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S', -'"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A', -'c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"', -':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S', -'e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o', -'i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r', -'g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}', -',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"', -'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}', -',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', -'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a', +'D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}', +',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"', +'}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}', +']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a', +'s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','b','o','o','l', +'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':', +'"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','u','r','l','"','}',',','"','i','s','I','p','"',']','}',',','t','r','u','e',']','}',',','{','"', +'f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', +'s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l', +'"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o', +'b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e', +'n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h', +'e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r', +'l','#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}','{','B','u','c','k','e','t','}', +'"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e', +'m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o', +'d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"', +',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n', +'i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',', +'"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d', +'p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}', +',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', +'F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o', +'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{', +'"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p', +'a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l', +'"','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','u','r','l','"','}',',','"','i','s','I', +'p','"',']','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',', +'"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a', 'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o', -'n','"','}',',','"','u','s','-','e','a','s','t','-','1','"',']','}',']',',','"','e','n','d','p','o', -'i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c', -'k','e','t','}','.','s','3','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#', -'d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':', -'{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e', -'D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m', -'e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':', -'"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e', -'g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"', -'t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i', -'t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r', -'l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','.','{', -'R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#', +'n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n', +'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n', +'t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{', +'"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','B','u', +'c','k','e','t','}','.','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l', +'#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u', +'t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b', +'l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"', +'s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"', +',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n', +'}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e', +'"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S', +'t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o', +'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n', +'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t','r','u', +'e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{', +'"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':', +'"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a', +'l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"', +'h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','-','a','c','c','e','l', +'e','r','a','t','e','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n', +'s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"', +'a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o', +'u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"', +':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s', +'3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a', +'s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t', +'y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u', +'a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"', +'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',', +'t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"', +':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f', +'n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s', +'t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"', +']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b', +'a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l', +'e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', +':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','u','s','-','e','a','s','t','-', +'1','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"', +'h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','-','a','c','c','e','l', +'e','r','a','t','e','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n', +'s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"', +'a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o', +'u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"', +':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s', +'3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i', +'o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y', +'p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"', +':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','-','a','c','c', +'e','l','e','r','a','t','e','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#', 'd','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':', '{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e', 'D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m', @@ -973,135 +903,695 @@ static constexpr RulesBlobT RulesBlob = {{ 'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', 'e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o', 'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',', -'{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"', -':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t', -'"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g', -'i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"', -'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o', -'i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"', -':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}', -'.','s','3','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e', -'s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t', -'i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i', -'s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e', -',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N', -'a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"', -':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':', -'{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"', -'t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n', -'s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','r','e', -'g','i','o','n',':',' ','r','e','g','i','o','n',' ','w','a','s',' ','n','o','t',' ','a',' ','v','a', -'l','i','d',' ','D','N','S',' ','n','a','m','e','.','"',',','"','t','y','p','e','"',':','"','e','r', -'r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t', -'y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n', -'"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':', -'"','u','r','l','"','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l', -'s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','u','r','l','"','}',',','"', -'s','c','h','e','m','e','"',']','}',',','"','h','t','t','p','"',']','}',',','{','"','f','n','"',':', -'"','a','w','s','.','i','s','V','i','r','t','u','a','l','H','o','s','t','a','b','l','e','S','3','B', -'u','c','k','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u', -'c','k','e','t','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l', +'f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e',']','}',',','{', +'"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':', +'"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E', +'n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"', +',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i', +'o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f', +'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i', +'n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':', +'{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.', +'s','3','-','a','c','c','e','l','e','r','a','t','e','.','{','p','a','r','t','i','t','i','o','n','R', +'e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r', +'t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d', +'i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u', +'e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g', +'N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n', +'"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"', +':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', 'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','F','o','r','c','e','P','a','t','h','S','t','y','l','e','"','}',',','f','a','l','s','e',']', +':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',', +'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a', +'l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e', +'r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t', +'"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}', +']','}',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}', +',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n', +'t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e', +'t','}','.','s','3','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n', +'s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"', +'a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o', +'u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"', +':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s', +'3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a', +'s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t', +'y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u', +'a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"', +'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',', +'f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v', +'"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"', +'f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', +'s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l', +'"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o', +'b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','r','u', +'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', +'"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','u','s','-','e','a','s','t', +'-','1','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':', +'"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','.','{','p','a','r', +'t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',', +'"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e', +'s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i', +'n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"', +'s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n', +'g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h', +'e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o', +'i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e', +'n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/', +'{','B','u','c','k','e','t','}','.','s','3','.','{','R','e','g','i','o','n','}','.','{','p','a','r', +'t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',', +'"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e', +'s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i', +'n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"', +'s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n', +'g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h', +'e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o', +'i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a', +'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s', +'e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a', +'t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',', +'"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}', +']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"', +'f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g', +'l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', +'s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']', +'}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t', +'p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','.','{','R','e','g','i','o','n','}', +'.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f', +'i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S', +'c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E', +'n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g', +'v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s', +'i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}', +']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"', +'e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', +'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r', +'"',':','"','I','n','v','a','l','i','d',' ','r','e','g','i','o','n',':',' ','r','e','g','i','o','n', +' ','w','a','s',' ','n','o','t',' ','a',' ','v','a','l','i','d',' ','D','N','S',' ','n','a','m','e', +'.','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e', +'"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s', +'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p', +'o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t', +'"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"', +':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','u','r','l','"','}',',','"','s','c','h','e','m','e','"',']','}',',','"','h', +'t','t','p','"',']','}',',','{','"','f','n','"',':','"','a','w','s','.','i','s','V','i','r','t','u', +'a','l','H','o','s','t','a','b','l','e','S','3','B','u','c','k','e','t','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',',','t','r','u','e',']', '}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','F','o','r','c','e','P','a','t','h','S', +'t','y','l','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o', +'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n', +'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f', +'a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l', +'e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',']',',','"','r','u','l','e','s','"',':', +'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w', +'s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','p', +'a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',']',',','"','r','u','l','e','s','"', +':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i', +'s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','f','a','l','s','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','"',':','"','{','u','r','l', +'#','s','c','h','e','m','e','}',':','/','/','{','B','u','c','k','e','t','}','.','{','u','r','l','#', +'a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r', +'o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':', +'[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"', +':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g', +'n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e', +'g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d', +'e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t', +'"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l', +'i','d',' ','r','e','g','i','o','n',':',' ','r','e','g','i','o','n',' ','w','a','s',' ','n','o','t', +' ','a',' ','v','a','l','i','d',' ','D','N','S',' ','n','a','m','e','.','"',',','"','t','y','p','e', +'"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', +'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','F','o','r','c', +'e','P','a','t','h','S','t','y','l','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n', +'"',':','"','a','w','s','.','p','a','r','s','e','A','r','n','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',']',',','"','a','s','s','i','g','n', +'"',':','"','b','u','c','k','e','t','A','r','n','"','}',']',',','"','r','u','l','e','s','"',':','[', +'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','g','e','t', +'A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c', +'k','e','t','A','r','n','"','}',',','"','r','e','s','o','u','r','c','e','I','d','[','0',']','"',']', +',','"','a','s','s','i','g','n','"',':','"','a','r','n','T','y','p','e','"','}',',','{','"','f','n', +'"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t', +'r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','a','r','n','T','y','p','e','"','}',',','"','"',']','}',']','}',']',',','"','r','u','l', +'e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', +':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','s','e','r','v','i','c', +'e','"',']','}',',','"','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','"',']','}', +']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','a','r','n','T','y','p','e','"','}',',','"','a', +'c','c','e','s','s','p','o','i','n','t','"',']','}',']',',','"','r','u','l','e','s','"',':','[','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','g','e','t','A', +'t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k', +'e','t','A','r','n','"','}',',','"','r','e','s','o','u','r','c','e','I','d','[','1',']','"',']',',', +'"','a','s','s','i','g','n','"',':','"','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e', +'"','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"', +'f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e', +'"','}',',','"','"',']','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n', +'d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', +'e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r', +'o','r','"',':','"','S','3',' ','O','b','j','e','c','t',' ','L','a','m','b','d','a',' ','d','o','e', +'s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','D','u','a','l','-','s','t','a','c','k','"', +',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l', +'e','r','a','t','e','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"', +'S','3',' ','O','b','j','e','c','t',' ','L','a','m','b','d','a',' ','d','o','e','s',' ','n','o','t', +' ','s','u','p','p','o','r','t',' ','S','3',' ','A','c','c','e','l','e','r','a','t','e','"',',','"', +'t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[', +'{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r', +'e','g','i','o','n','"',']','}',',','"','"',']','}',']','}',']',',','"','r','u','l','e','s','"',':', +'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s', +'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','D','i','s','a', +'b','l','e','A','c','c','e','s','s','P','o','i','n','t','s','"','}',']','}',',','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','D','i','s','a','b','l','e','A','c','c','e','s','s','P','o','i','n', +'t','s','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','A','c','c', +'e','s','s',' ','p','o','i','n','t','s',' ','a','r','e',' ','n','o','t',' ','s','u','p','p','o','r', +'t','e','d',' ','f','o','r',' ','t','h','i','s',' ','o','p','e','r','a','t','i','o','n','"',',','"', +'t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[', +'{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','f', +'n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','s','o','u','r','c','e', +'I','d','[','2',']','"',']','}',']','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','A','r','n','R', +'e','g','i','o','n','"','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', +'e','A','r','n','R','e','g','i','o','n','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n', +'"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t', +'r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"', +':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','g','i','o','n','"',']','}',',', +'"','{','R','e','g','i','o','n','}','"',']','}',']','}',']',',','"','e','r','r','o','r','"',':','"', +'I','n','v','a','l','i','d',' ','c','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','r','e', +'g','i','o','n',' ','f','r','o','m',' ','A','R','N',' ','`','{','b','u','c','k','e','t','A','r','n', +'#','r','e','g','i','o','n','}','`',' ','d','o','e','s',' ','n','o','t',' ','m','a','t','c','h',' ', +'c','l','i','e','n','t',' ','r','e','g','i','o','n',' ','`','{','R','e','g','i','o','n','}','`',' ', +'a','n','d',' ','U','s','e','A','r','n','R','e','g','i','o','n',' ','i','s',' ','`','f','a','l','s', +'e','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n', +'d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t', +'i','t','i','o','n','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t', +'A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c', +'k','e','t','A','r','n','"','}',',','"','r','e','g','i','o','n','"',']','}',']',',','"','a','s','s', +'i','g','n','"',':','"','b','u','c','k','e','t','P','a','r','t','i','t','i','o','n','"','}',']',',', +'"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s', +'s','i','g','n','"',':','"','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',']', +',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','P','a','r','t','i','t','i','o', +'n','"','}',',','"','n','a','m','e','"',']','}',',','{','"','f','n','"',':','"','g','e','t','A','t', +'t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','p','a','r','t','i', +'t','i','o','n','R','e','s','u','l','t','"','}',',','"','n','a','m','e','"',']','}',']','}',']',',', +'"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'"','f','n','"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"', +'a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}', +',','"','r','e','g','i','o','n','"',']','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e', +'s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', +'"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','a','c','c','o','u','n','t', +'I','d','"',']','}',',','"','"',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a', +'l','i','d',' ','A','R','N',':',' ','M','i','s','s','i','n','g',' ','a','c','c','o','u','n','t',' ', +'i','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n', +'d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H', +'o','s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', +'g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'b','u','c','k','e','t','A','r','n','"','}',',','"','a','c','c','o','u','n','t','I','d','"',']','}', +',','f','a','l','s','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H','o', +'s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','"','}',',','f','a','l','s','e',']','}', +']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':', +'"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u', +'r','l','"','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"', +'{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','a','c','c','e','s','s','P','o','i', +'n','t','N','a','m','e','}','-','{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n', +'t','I','d','}','.','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#', +'p','a','t','h','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t', +'h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l', +'e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s', +'i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','-','o', +'b','j','e','c','t','-','l','a','m','b','d','a','"',',','"','s','i','g','n','i','n','g','R','e','g', +'i','o','n','"',':','"','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','"', +'}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':', +'"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', 'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',', -'f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D', -'u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e', -']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']', -',','"','a','s','s','i','g','n','"',':','"','p','a','r','t','i','t','i','o','n','R','e','s','u','l', -'t','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n', -'s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b', -'e','l','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o', -'n','"','}',',','f','a','l','s','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','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','B', -'u','c','k','e','t','}','.','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r', -'l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a', -'u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u', -'b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':', -'"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3', -'"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o', -'n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', -'e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t', +'t','r','u','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"', +':','"','h','t','t','p','s',':','/','/','{','a','c','c','e','s','s','P','o','i','n','t','N','a','m', +'e','}','-','{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t','I','d','}','.', +'s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','-','f','i','p','s','.','{','b','u', +'c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','.','{','b','u','c','k','e','t','P','a', +'r','t','i','t','i','o','n','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p', +'e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{', +'"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t', +'r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i', +'n','g','N','a','m','e','"',':','"','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a', +'"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','b','u','c','k','e', +'t','A','r','n','#','r','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s', +'"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',', +'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n', +'t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','a','c','c','e','s', +'s','P','o','i','n','t','N','a','m','e','}','-','{','b','u','c','k','e','t','A','r','n','#','a','c', +'c','o','u','n','t','I','d','}','.','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a', +'.','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','.','{','b','u','c','k', +'e','t','P','a','r','t','i','t','i','o','n','#','d','n','s','S','u','f','f','i','x','}','"',',','"', +'p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s', +'"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n', +'g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s', +'i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','-','o','b','j','e','c','t','-','l','a', +'m','b','d','a','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','b', +'u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a', +'d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n', +'t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n', +'d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a', +'l','i','d',' ','A','R','N',':',' ','T','h','e',' ','a','c','c','e','s','s',' ','p','o','i','n','t', +' ','n','a','m','e',' ','m','a','y',' ','o','n','l','y',' ','c','o','n','t','a','i','n',' ','a','-', +'z',',',' ','A','-','Z',',',' ','0','-','9',' ','a','n','d',' ','`','-','`','.',' ','F','o','u','n', +'d',':',' ','`','{','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','}','`','"',',','"', +'t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t', 'r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e', -'r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','r','e','g','i','o','n',':',' ','r','e', -'g','i','o','n',' ','w','a','s',' ','n','o','t',' ','a',' ','v','a','l','i','d',' ','D','N','S',' ', -'n','a','m','e','.','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"', -'t','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r', -'e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', -':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','F','o','r','c','e','P','a','t','h','S','t','y','l','e','"','}',',', -'f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','a','w','s','.','p','a','r','s','e','A', -'r','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e', -'t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','b','u','c','k','e','t','A','r','n','"', +'r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','T','h','e',' ','a', +'c','c','o','u','n','t',' ','i','d',' ','m','a','y',' ','o','n','l','y',' ','c','o','n','t','a','i', +'n',' ','a','-','z',',',' ','A','-','Z',',',' ','0','-','9',' ','a','n','d',' ','`','-','`','.',' ', +'F','o','u','n','d',':',' ','`','{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n', +'t','I','d','}','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"', +'t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','r','e', +'g','i','o','n',' ','i','n',' ','A','R','N',':',' ','`','{','b','u','c','k','e','t','A','r','n','#', +'r','e','g','i','o','n','}','`',' ','(','i','n','v','a','l','i','d',' ','D','N','S',' ','n','a','m', +'e',')','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p', +'e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[',']',',','"','e','r','r','o','r','"',':','"','C','l','i','e','n','t',' ','w','a','s',' ','c','o', +'n','f','i','g','u','r','e','d',' ','f','o','r',' ','p','a','r','t','i','t','i','o','n',' ','`','{', +'p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','n','a','m','e','}','`',' ','b','u', +'t',' ','A','R','N',' ','(','`','{','B','u','c','k','e','t','}','`',')',' ','h','a','s',' ','`','{', +'b','u','c','k','e','t','P','a','r','t','i','t','i','o','n','#','n','a','m','e','}','`','"',',','"', +'t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t', +'r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t', +'y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', +'"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N', +':',' ','T','h','e',' ','A','R','N',' ','m','a','y',' ','o','n','l','y',' ','c','o','n','t','a','i', +'n',' ','a',' ','s','i','n','g','l','e',' ','r','e','s','o','u','r','c','e',' ','c','o','m','p','o', +'n','e','n','t',' ','a','f','t','e','r',' ','`','a','c','c','e','s','s','p','o','i','n','t','`','.', +'"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"', +':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']', +',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','b','u', +'c','k','e','t',' ','A','R','N',' ','i','s',' ','m','i','s','s','i','n','g',' ','a',' ','r','e','g', +'i','o','n','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y', +'p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':', +' ','E','x','p','e','c','t','e','d',' ','a',' ','r','e','s','o','u','r','c','e',' ','o','f',' ','t', +'h','e',' ','f','o','r','m','a','t',' ','`','a','c','c','e','s','s','p','o','i','n','t',':','<','a', +'c','c','e','s','s','p','o','i','n','t',' ','n','a','m','e','>','`',' ','b','u','t',' ','n','o',' ', +'n','a','m','e',' ','w','a','s',' ','p','r','o','v','i','d','e','d','"',',','"','t','y','p','e','"', +':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"', +':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','O','b','j','e','c','t',' ','L','a','m', +'b','d','a',' ','A','R','N','s',' ','o','n','l','y',' ','s','u','p','p','o','r','t',' ','`','a','c', +'c','e','s','s','p','o','i','n','t','`',' ','a','r','n',' ','t','y','p','e','s',',',' ','b','u','t', +' ','f','o','u','n','d',':',' ','`','{','a','r','n','T','y','p','e','}','`','"',',','"','t','y','p', +'e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', +'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', +'s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','a','r','n','T','y','p','e','"','}',',','"','a','c','c','e','s','s','p','o','i', +'n','t','"',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',', +'"','r','e','s','o','u','r','c','e','I','d','[','1',']','"',']',',','"','a','s','s','i','g','n','"', +':','"','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','"','}',',','{','"','f','n','"', +':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r', +'i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','"','}',',','"','"',']','}',']', '}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"', -':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','s', -'o','u','r','c','e','I','d','[','0',']','"',']',',','"','a','s','s','i','g','n','"',':','"','a','r', -'n','T','y','p','e','"','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v', -'"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','a','r','n','T','y','p','e','"','}',',', -'"','"',']','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t', -'i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l', -'s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A', -'r','n','"','}',',','"','s','e','r','v','i','c','e','"',']','}',',','"','s','3','-','o','b','j','e', -'c','t','-','l','a','m','b','d','a','"',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"', +':','[','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f', +'n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','g','i', +'o','n','"',']','}',',','"','"',']','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"', 'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n', 'g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', 'a','r','n','T','y','p','e','"','}',',','"','a','c','c','e','s','s','p','o','i','n','t','"',']','}', ']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','s','o', -'u','r','c','e','I','d','[','1',']','"',']',',','"','a','s','s','i','g','n','"',':','"','a','c','c', -'e','s','s','P','o','i','n','t','N','a','m','e','"','}',',','{','"','f','n','"',':','"','n','o','t', -'"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','a','c','c', -'e','s','s','P','o','i','n','t','N','a','m','e','"','}',',','"','"',']','}',']','}',']',',','"','r', -'u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', -'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',', -'t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','S','3',' ','O','b','j','e','c', -'t',' ','L','a','m','b','d','a',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t', -' ','D','u','a','l','-','s','t','a','c','k','"',',','"','t','y','p','e','"',':','"','e','r','r','o', -'r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e',']', -'}',']',',','"','e','r','r','o','r','"',':','"','S','3',' ','O','b','j','e','c','t',' ','L','a','m', -'b','d','a',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','S','3',' ','A', +'[','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n', +'"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','g','i','o', +'n','"',']','}',',','"','"',']','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','D','i','s','a','b','l','e','A', +'c','c','e','s','s','P','o','i','n','t','s','"','}',']','}',',','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','D','i','s','a','b','l','e','A','c','c','e','s','s','P','o','i','n','t','s','"','}', +',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','A','c','c','e','s','s',' ', +'p','o','i','n','t','s',' ','a','r','e',' ','n','o','t',' ','s','u','p','p','o','r','t','e','d',' ', +'f','o','r',' ','t','h','i','s',' ','o','p','e','r','a','t','i','o','n','"',',','"','t','y','p','e', +'"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n', +'"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', +'g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','s','o','u','r','c','e','I','d','[','2', +']','"',']','}',']','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','A','r','n','R','e','g','i','o', +'n','"','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','A','r','n', +'R','e','g','i','o','n','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n', +'o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e', +'t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u', +'c','k','e','t','A','r','n','"','}',',','"','r','e','g','i','o','n','"',']','}',',','"','{','R','e', +'g','i','o','n','}','"',']','}',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a', +'l','i','d',' ','c','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','r','e','g','i','o','n', +' ','f','r','o','m',' ','A','R','N',' ','`','{','b','u','c','k','e','t','A','r','n','#','r','e','g', +'i','o','n','}','`',' ','d','o','e','s',' ','n','o','t',' ','m','a','t','c','h',' ','c','l','i','e', +'n','t',' ','r','e','g','i','o','n',' ','`','{','R','e','g','i','o','n','}','`',' ','a','n','d',' ', +'U','s','e','A','r','n','R','e','g','i','o','n',' ','i','s',' ','`','f','a','l','s','e','`','"',',', +'"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o', +'n','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A', +'r','n','"','}',',','"','r','e','g','i','o','n','"',']','}',']',',','"','a','s','s','i','g','n','"', +':','"','b','u','c','k','e','t','P','a','r','t','i','t','i','o','n','"','}',']',',','"','r','u','l', +'e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', +':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g','n', +'"',':','"','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',']',',','"','r','u', +'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', +'"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','b','u','c','k','e','t','P','a','r','t','i','t','i','o','n','"','}',',', +'"','n','a','m','e','"',']','}',',','"','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l', +'t','#','n','a','m','e','}','"',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d', +'H','o','s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':', +'"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','g','i','o','n','"',']','}',',','t', +'r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r', +'n','"','}',',','"','s','e','r','v','i','c','e','"',']','}',',','"','s','3','"',']','}',']',',','"', +'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', +'f','n','"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a', +'r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',', +'"','a','c','c','o','u','n','t','I','d','"',']','}',',','f','a','l','s','e',']','}',']',',','"','r', +'u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', +'n','"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','a','c','c','e','s','s','P','o','i','n','t','N', +'a','m','e','"','}',',','f','a','l','s','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', +'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e',']','}',']',',','"','e', +'r','r','o','r','"',':','"','A','c','c','e','s','s',' ','P','o','i','n','t','s',' ','d','o',' ','n', +'o','t',' ','s','u','p','p','o','r','t',' ','S','3',' ','A','c','c','e','l','e','r','a','t','e','"', +',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I', +'P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a', +'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"','e', +'n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/', +'{','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','}','-','{','b','u','c','k','e','t', +'A','r','n','#','a','c','c','o','u','n','t','I','d','}','.','s','3','-','a','c','c','e','s','s','p', +'o','i','n','t','-','f','i','p','s','.','d','u','a','l','s','t','a','c','k','.','{','b','u','c','k', +'e','t','A','r','n','#','r','e','g','i','o','n','}','.','{','b','u','c','k','e','t','P','a','r','t', +'i','t','i','o','n','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r', +'t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d', +'i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u', +'e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g', +'N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n', +'"',':','"','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','"','}',']','}', +',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n', +'d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u', +'e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S', +'t','a','c','k','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t', +'"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','a','c','c','e','s','s', +'P','o','i','n','t','N','a','m','e','}','-','{','b','u','c','k','e','t','A','r','n','#','a','c','c', +'o','u','n','t','I','d','}','.','s','3','-','a','c','c','e','s','s','p','o','i','n','t','-','f','i', +'p','s','.','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','.','{','b','u', +'c','k','e','t','P','a','r','t','i','t','i','o','n','#','d','n','s','S','u','f','f','i','x','}','"', +',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m', +'e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d', +'i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',', +'"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i', +'n','g','R','e','g','i','o','n','"',':','"','{','b','u','c','k','e','t','A','r','n','#','r','e','g', +'i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t', +'y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I', +'P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', +'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"', +'e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/', +'/','{','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','}','-','{','b','u','c','k','e', +'t','A','r','n','#','a','c','c','o','u','n','t','I','d','}','.','s','3','-','a','c','c','e','s','s', +'p','o','i','n','t','.','d','u','a','l','s','t','a','c','k','.','{','b','u','c','k','e','t','A','r', +'n','#','r','e','g','i','o','n','}','.','{','b','u','c','k','e','t','P','a','r','t','i','t','i','o', +'n','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s', +'"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b', +'l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n', +'a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e', +'"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{', +'b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','"','}',']','}',',','"','h','e', +'a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i', +'n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}', +',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c', +'k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t', +'"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',', +'"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',']',',','"','e','n','d','p','o','i','n', +'t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/', +'/','{','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','}','-','{','b','u','c','k','e', +'t','A','r','n','#','a','c','c','o','u','n','t','I','d','}','.','{','u','r','l','#','a','u','t','h', +'o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r', +'t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d', +'i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u', +'e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g', +'N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n', +'"',':','"','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','"','}',']','}', +',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n', +'d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l', +'s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l', +'S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n', +'t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','a','c','c','e','s', +'s','P','o','i','n','t','N','a','m','e','}','-','{','b','u','c','k','e','t','A','r','n','#','a','c', +'c','o','u','n','t','I','d','}','.','s','3','-','a','c','c','e','s','s','p','o','i','n','t','.','{', +'b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','.','{','b','u','c','k','e','t', +'P','a','r','t','i','t','i','o','n','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r', +'o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':', +'[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"', +':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g', +'n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e', +'g','i','o','n','"',':','"','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}', +'"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"', +':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e', +'e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r', +'o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','T','h','e',' ','a','c','c', +'e','s','s',' ','p','o','i','n','t',' ','n','a','m','e',' ','m','a','y',' ','o','n','l','y',' ','c', +'o','n','t','a','i','n',' ','a','-','z',',',' ','A','-','Z',',',' ','0','-','9',' ','a','n','d',' ', +'`','-','`','.',' ','F','o','u','n','d',':',' ','`','{','a','c','c','e','s','s','P','o','i','n','t', +'N','a','m','e','}','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',', +'"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A', +'R','N',':',' ','T','h','e',' ','a','c','c','o','u','n','t',' ','i','d',' ','m','a','y',' ','o','n', +'l','y',' ','c','o','n','t','a','i','n',' ','a','-','z',',',' ','A','-','Z',',',' ','0','-','9',' ', +'a','n','d',' ','`','-','`','.',' ','F','o','u','n','d',':',' ','`','{','b','u','c','k','e','t','A', +'r','n','#','a','c','c','o','u','n','t','I','d','}','`','"',',','"','t','y','p','e','"',':','"','e', +'r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I', +'n','v','a','l','i','d',' ','A','R','N',':',' ','T','h','e',' ','A','R','N',' ','w','a','s',' ','n', +'o','t',' ','f','o','r',' ','t','h','e',' ','S','3',' ','s','e','r','v','i','c','e',',',' ','f','o', +'u','n','d',':',' ','{','b','u','c','k','e','t','A','r','n','#','s','e','r','v','i','c','e','}','"', +',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':', +'"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',', +'"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','r','e','g','i','o','n',' ','i', +'n',' ','A','R','N',':',' ','`','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n', +'}','`',' ','(','i','n','v','a','l','i','d',' ','D','N','S',' ','n','a','m','e',')','"',',','"','t', +'y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r', +'e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r', +'r','o','r','"',':','"','C','l','i','e','n','t',' ','w','a','s',' ','c','o','n','f','i','g','u','r', +'e','d',' ','f','o','r',' ','p','a','r','t','i','t','i','o','n',' ','`','{','p','a','r','t','i','t', +'i','o','n','R','e','s','u','l','t','#','n','a','m','e','}','`',' ','b','u','t',' ','A','R','N',' ', +'(','`','{','B','u','c','k','e','t','}','`',')',' ','h','a','s',' ','`','{','b','u','c','k','e','t', +'P','a','r','t','i','t','i','o','n','#','n','a','m','e','}','`','"',',','"','t','y','p','e','"',':', +'"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']', +',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"', +'t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"', +'e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','T','h','e',' ', +'A','R','N',' ','m','a','y',' ','o','n','l','y',' ','c','o','n','t','a','i','n',' ','a',' ','s','i', +'n','g','l','e',' ','r','e','s','o','u','r','c','e',' ','c','o','m','p','o','n','e','n','t',' ','a', +'f','t','e','r',' ','`','a','c','c','e','s','s','p','o','i','n','t','`','.','"',',','"','t','y','p', +'e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', +'"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e', +'"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'{','"','f','n','"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','a','c','c','e','s','s','P','o','i', +'n','t','N','a','m','e','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':', +'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}', +']',',','"','e','r','r','o','r','"',':','"','S','3',' ','M','R','A','P',' ','d','o','e','s',' ','n', +'o','t',' ','s','u','p','p','o','r','t',' ','d','u','a','l','-','s','t','a','c','k','"',',','"','t', +'y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"', +'}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','S','3',' ','M','R','A', +'P',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','F','I','P','S','"',',', +'"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e', +'r','a','t','e','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','S', +'3',' ','M','R','A','P',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','S', +'3',' ','A','c','c','e','l','e','r','a','t','e','"',',','"','t','y','p','e','"',':','"','e','r','r', +'o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','D','i','s','a','b','l','e','M','u','l','t','i','R','e','g','i','o', +'n','A','c','c','e','s','s','P','o','i','n','t','s','"','}',',','t','r','u','e',']','}',']',',','"', +'e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','c','o','n','f','i','g','u','r','a', +'t','i','o','n',':',' ','M','u','l','t','i','-','R','e','g','i','o','n',' ','A','c','c','e','s','s', +' ','P','o','i','n','t',' ','A','R','N','s',' ','a','r','e',' ','d','i','s','a','b','l','e','d','.', +'"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t', +'i','o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i', +'o','n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','m','r','a','p','P','a','r','t','i', +'t','i','o','n','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','m','r','a','p','P','a','r', +'t','i','t','i','o','n','"','}',',','"','n','a','m','e','"',']','}',',','{','"','f','n','"',':','"', +'g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'b','u','c','k','e','t','A','r','n','"','}',',','"','p','a','r','t','i','t','i','o','n','"',']','}', +']','}',']',',','"','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','"',':','"','h', +'t','t','p','s',':','/','/','{','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','}','.', +'a','c','c','e','s','s','p','o','i','n','t','.','s','3','-','g','l','o','b','a','l','.','{','m','r', +'a','p','P','a','r','t','i','t','i','o','n','#','d','n','s','S','u','f','f','i','x','}','"',',','"', +'p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s', +'"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n', +'g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','a','"',',','"', +'s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n', +'g','R','e','g','i','o','n','S','e','t','"',':','[','"','*','"',']','}',']','}',',','"','h','e','a', +'d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n', +'t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n', +'d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','C','l','i','e', +'n','t',' ','w','a','s',' ','c','o','n','f','i','g','u','r','e','d',' ','f','o','r',' ','p','a','r', +'t','i','t','i','o','n',' ','`','{','m','r','a','p','P','a','r','t','i','t','i','o','n','#','n','a', +'m','e','}','`',' ','b','u','t',' ','b','u','c','k','e','t',' ','r','e','f','e','r','r','e','d',' ', +'t','o',' ','p','a','r','t','i','t','i','o','n',' ','`','{','b','u','c','k','e','t','A','r','n','#', +'p','a','r','t','i','t','i','o','n','}','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o', +'r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p', +'e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','c','c','e','s', +'s',' ','P','o','i','n','t',' ','N','a','m','e','"',',','"','t','y','p','e','"',':','"','e','r','r', +'o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v', +'a','l','i','d',' ','A','R','N',':',' ','E','x','p','e','c','t','e','d',' ','a',' ','r','e','s','o', +'u','r','c','e',' ','o','f',' ','t','h','e',' ','f','o','r','m','a','t',' ','`','a','c','c','e','s', +'s','p','o','i','n','t',':','<','a','c','c','e','s','s','p','o','i','n','t',' ','n','a','m','e','>', +'`',' ','b','u','t',' ','n','o',' ','n','a','m','e',' ','w','a','s',' ','p','r','o','v','i','d','e', +'d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e', +'"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','s', +'e','r','v','i','c','e','"',']','}',',','"','s','3','-','o','u','t','p','o','s','t','s','"',']','}', +']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c', +'k','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','S','3',' ','O', +'u','t','p','o','s','t','s',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ', +'D','u','a','l','-','s','t','a','c','k','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r', +'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', +'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',']',',','"', +'e','r','r','o','r','"',':','"','S','3',' ','O','u','t','p','o','s','t','s',' ','d','o','e','s',' ', +'n','o','t',' ','s','u','p','p','o','r','t',' ','F','I','P','S','"',',','"','t','y','p','e','"',':', +'"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',', +'t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','S','3',' ','O','u','t','p','o', +'s','t','s',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','S','3',' ','A', 'c','c','e','l','e','r','a','t','e','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"', -'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','n', -'o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e', -'t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u', -'c','k','e','t','A','r','n','"','}',',','"','r','e','g','i','o','n','"',']','}',',','"','"',']','}', -']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','D','i','s','a','b','l','e','A','c','c','e','s','s','P','o','i','n', -'t','s','"','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','D','i','s','a','b', -'l','e','A','c','c','e','s','s','P','o','i','n','t','s','"','}',',','t','r','u','e',']','}',']',',', -'"','e','r','r','o','r','"',':','"','A','c','c','e','s','s',' ','p','o','i','n','t','s',' ','a','r', -'e',' ','n','o','t',' ','s','u','p','p','o','r','t','e','d',' ','f','o','r',' ','t','h','i','s',' ', -'o','p','e','r','a','t','i','o','n','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"', -'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','n', -'o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"', -',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n', -'"','}',',','"','r','e','s','o','u','r','c','e','I','d','[','2',']','"',']','}',']','}',']','}',']', +'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i', +'s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A', +'t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k', +'e','t','A','r','n','"','}',',','"','r','e','s','o','u','r','c','e','I','d','[','4',']','"',']','}', +']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','r','n',':', +' ','O','u','t','p','o','s','t',' ','A','c','c','e','s','s',' ','P','o','i','n','t',' ','A','R','N', +' ','c','o','n','t','a','i','n','s',' ','s','u','b',' ','r','e','s','o','u','r','c','e','s','"',',', +'"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',', +'"','r','e','s','o','u','r','c','e','I','d','[','1',']','"',']',',','"','a','s','s','i','g','n','"', +':','"','o','u','t','p','o','s','t','I','d','"','}',']',',','"','r','u','l','e','s','"',':','[','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','V','a', +'l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','o','u','t','p','o','s','t','I','d','"','}',',','f','a','l','s','e',']','}',']', ',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', '{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r', 'e','f','"',':','"','U','s','e','A','r','n','R','e','g','i','o','n','"','}',']','}',',','{','"','f', @@ -1140,633 +1630,230 @@ static constexpr RulesBlobT RulesBlob = {{ '"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', '"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','g','i','o','n','"',']','}',',','t', 'r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', -'o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r', -'n','"','}',',','"','a','c','c','o','u','n','t','I','d','"',']','}',',','"','"',']','}',']',',','"', -'e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','M','i','s','s', -'i','n','g',' ','a','c','c','o','u','n','t',' ','i','d','"',',','"','t','y','p','e','"',':','"','e', -'r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', -'n','"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r', -'g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g', +'o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H','o','s','t','L', +'a','b','e','l','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A', +'t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k', +'e','t','A','r','n','"','}',',','"','a','c','c','o','u','n','t','I','d','"',']','}',',','f','a','l', +'s','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g', 'v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"', -'a','c','c','o','u','n','t','I','d','"',']','}',',','f','a','l','s','e',']','}',']',',','"','r','u', +'r','e','s','o','u','r','c','e','I','d','[','2',']','"',']',',','"','a','s','s','i','g','n','"',':', +'"','o','u','t','p','o','s','t','T','y','p','e','"','}',']',',','"','r','u','l','e','s','"',':','[', +'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','g','e','t', +'A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c', +'k','e','t','A','r','n','"','}',',','"','r','e','s','o','u','r','c','e','I','d','[','3',']','"',']', +',','"','a','s','s','i','g','n','"',':','"','a','c','c','e','s','s','P','o','i','n','t','N','a','m', +'e','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','o','u','t','p','o','s','t','T','y', +'p','e','"','}',',','"','a','c','c','e','s','s','p','o','i','n','t','"',']','}',']',',','"','r','u', 'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', -'"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','a','c','c','e','s','s','P','o','i','n','t','N','a', -'m','e','"','}',',','f','a','l','s','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n', -'t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']', -',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',']',',','"','e','n','d','p','o','i', -'n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':', -'/','/','{','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','}','-','{','b','u','c','k', -'e','t','A','r','n','#','a','c','c','o','u','n','t','I','d','}','.','{','u','r','l','#','a','u','t', -'h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o','p','e', -'r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"', -'d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r', -'u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n', -'g','N','a','m','e','"',':','"','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','"', -',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','b','u','c','k','e','t', -'A','r','n','#','r','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"', -':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',']',',','"','e','n','d','p', -'o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','a','c', -'c','e','s','s','P','o','i','n','t','N','a','m','e','}','-','{','b','u','c','k','e','t','A','r','n', -'#','a','c','c','o','u','n','t','I','d','}','.','s','3','-','o','b','j','e','c','t','-','l','a','m', -'b','d','a','-','f','i','p','s','.','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o', -'n','}','.','{','b','u','c','k','e','t','P','a','r','t','i','t','i','o','n','#','d','n','s','S','u', -'f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t', -'h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l', -'e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s', -'i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','-','o', -'b','j','e','c','t','-','l','a','m','b','d','a','"',',','"','s','i','g','n','i','n','g','R','e','g', -'i','o','n','"',':','"','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','"', -'}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':', -'"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', -':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t', -'t','p','s',':','/','/','{','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','}','-','{', -'b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t','I','d','}','.','s','3','-','o', -'b','j','e','c','t','-','l','a','m','b','d','a','.','{','b','u','c','k','e','t','A','r','n','#','r', -'e','g','i','o','n','}','.','{','b','u','c','k','e','t','P','a','r','t','i','t','i','o','n','#','d', -'n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{', -'"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D', -'o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e', -'"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"', -'s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','"',',','"','s','i','g','n','i','n', -'g','R','e','g','i','o','n','"',':','"','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i', -'o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y', -'p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"', -'t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"', -'e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','T','h','e',' ', -'a','c','c','e','s','s',' ','p','o','i','n','t',' ','n','a','m','e',' ','m','a','y',' ','o','n','l', -'y',' ','c','o','n','t','a','i','n',' ','a','-','z',',',' ','A','-','Z',',',' ','0','-','9',' ','a', -'n','d',' ','`','-','`','.',' ','F','o','u','n','d',':',' ','`','{','a','c','c','e','s','s','P','o', -'i','n','t','N','a','m','e','}','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"', -'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i', -'t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i', -'d',' ','A','R','N',':',' ','T','h','e',' ','a','c','c','o','u','n','t',' ','i','d',' ','m','a','y', -' ','o','n','l','y',' ','c','o','n','t','a','i','n',' ','a','-','z',',',' ','A','-','Z',',',' ','0', -'-','9',' ','a','n','d',' ','`','-','`','.',' ','F','o','u','n','d',':',' ','`','{','b','u','c','k', -'e','t','A','r','n','#','a','c','c','o','u','n','t','I','d','}','`','"',',','"','t','y','p','e','"', -':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}', -',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"', -':','"','I','n','v','a','l','i','d',' ','r','e','g','i','o','n',' ','i','n',' ','A','R','N',':',' ', -'`','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','`',' ','(','i','n','v', -'a','l','i','d',' ','D','N','S',' ','n','a','m','e',')','"',',','"','t','y','p','e','"',':','"','e', -'r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','C', -'l','i','e','n','t',' ','w','a','s',' ','c','o','n','f','i','g','u','r','e','d',' ','f','o','r',' ', -'p','a','r','t','i','t','i','o','n',' ','`','{','p','a','r','t','i','t','i','o','n','R','e','s','u', -'l','t','#','n','a','m','e','}','`',' ','b','u','t',' ','A','R','N',' ','(','`','{','B','u','c','k', -'e','t','}','`',')',' ','h','a','s',' ','`','{','b','u','c','k','e','t','P','a','r','t','i','t','i', -'o','n','#','n','a','m','e','}','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"', -'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e','"', -':','"','t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':', -'"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','T','h','e',' ','A','R','N',' ','m','a','y', -' ','o','n','l','y',' ','c','o','n','t','a','i','n',' ','a',' ','s','i','n','g','l','e',' ','r','e', -'s','o','u','r','c','e',' ','c','o','m','p','o','n','e','n','t',' ','a','f','t','e','r',' ','`','a', -'c','c','e','s','s','p','o','i','n','t','`','.','"',',','"','t','y','p','e','"',':','"','e','r','r', -'o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o', -'n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v', -'a','l','i','d',' ','A','R','N',':',' ','b','u','c','k','e','t',' ','A','R','N',' ','i','s',' ','m', -'i','s','s','i','n','g',' ','a',' ','r','e','g','i','o','n','"',',','"','t','y','p','e','"',':','"', -'e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"', -'I','n','v','a','l','i','d',' ','A','R','N',':',' ','E','x','p','e','c','t','e','d',' ','a',' ','r', -'e','s','o','u','r','c','e',' ','o','f',' ','t','h','e',' ','f','o','r','m','a','t',' ','`','a','c', -'c','e','s','s','p','o','i','n','t',':','<','a','c','c','e','s','s','p','o','i','n','t',' ','n','a', -'m','e','>','`',' ','b','u','t',' ','n','o',' ','n','a','m','e',' ','w','a','s',' ','p','r','o','v', -'i','d','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t', +'"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s', +'e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d', +'p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',']', +',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s', +':','/','/','{','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','}','-','{','b','u','c', +'k','e','t','A','r','n','#','a','c','c','o','u','n','t','I','d','}','.','{','o','u','t','p','o','s', +'t','I','d','}','.','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','"',',','"','p','r', +'o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':', +'[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"', +':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g', +'n','i','n','g','N','a','m','e','"',':','"','s','3','-','o','u','t','p','o','s','t','s','"',',','"', +'s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','b','u','c','k','e','t','A','r', +'n','#','r','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{', +'}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':', +'{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','a','c','c','e','s','s','P','o', +'i','n','t','N','a','m','e','}','-','{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u', +'n','t','I','d','}','.','{','o','u','t','p','o','s','t','I','d','}','.','s','3','-','o','u','t','p', +'o','s','t','s','.','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','.','{', +'b','u','c','k','e','t','P','a','r','t','i','t','i','o','n','#','d','n','s','S','u','f','f','i','x', +'}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h', +'e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c', +'o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4', +'"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','-','o','u','t','p','o', +'s','t','s','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','b','u', +'c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d', +'e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t', +'"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','E','x','p','e','c', +'t','e','d',' ','a','n',' ','o','u','t','p','o','s','t',' ','t','y','p','e',' ','`','a','c','c','e', +'s','s','p','o','i','n','t','`',',',' ','f','o','u','n','d',' ','{','o','u','t','p','o','s','t','T', +'y','p','e','}','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t', 'y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', '"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N', -':',' ','O','b','j','e','c','t',' ','L','a','m','b','d','a',' ','A','R','N','s',' ','o','n','l','y', -' ','s','u','p','p','o','r','t',' ','`','a','c','c','e','s','s','p','o','i','n','t','`',' ','a','r', -'n',' ','t','y','p','e','s',',',' ','b','u','t',' ','f','o','u','n','d',':',' ','`','{','a','r','n', -'T','y','p','e','}','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',', +':',' ','e','x','p','e','c','t','e','d',' ','a','n',' ','a','c','c','e','s','s',' ','p','o','i','n', +'t',' ','n','a','m','e','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',', '"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o', -'n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','a','r','n','T','y','p','e','"', -'}',',','"','a','c','c','e','s','s','p','o','i','n','t','"',']','}',']',',','"','r','u','l','e','s', -'"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', -'g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','s','o','u','r','c','e','I','d','[','1', -']','"',']',',','"','a','s','s','i','g','n','"',':','"','a','c','c','e','s','s','P','o','i','n','t', -'N','a','m','e','"','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"', -':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','a','c','c','e','s','s','P','o','i','n','t', -'N','a','m','e','"','}',',','"','"',']','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','n','o','t','"', -',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t', -'t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e', -'t','A','r','n','"','}',',','"','r','e','g','i','o','n','"',']','}',',','"','"',']','}',']','}',']', -',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', -'{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','a','r','n','T','y','p','e','"','}',',','"','a','c', -'c','e','s','s','p','o','i','n','t','"',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','n','o','t','"',',', -'"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t', -'r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t', -'A','r','n','"','}',',','"','r','e','g','i','o','n','"',']','}',',','"','"',']','}',']','}',']',',', -'"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', -'"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','D','i','s','a','b','l','e','A','c','c','e','s','s','P','o','i','n','t','s','"','}', -']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','D','i','s','a','b','l','e','A','c', -'c','e','s','s','P','o','i','n','t','s','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r', -'o','r','"',':','"','A','c','c','e','s','s',' ','p','o','i','n','t','s',' ','a','r','e',' ','n','o', -'t',' ','s','u','p','p','o','r','t','e','d',' ','f','o','r',' ','t','h','i','s',' ','o','p','e','r', -'a','t','i','o','n','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','n','o','t','"',',', -'"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r', -'g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"', -'r','e','s','o','u','r','c','e','I','d','[','2',']','"',']','}',']','}',']','}',']',',','"','r','u', -'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', -'"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','U','s','e','A','r','n','R','e','g','i','o','n','"','}',']','}',',','{','"','f','n','"',':','"', -'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','U','s','e','A','r','n','R','e','g','i','o','n','"','}',',','f','a','l','s', -'e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{', -'"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e', -'g','i','o','n','"',']','}',',','"','{','R','e','g','i','o','n','}','"',']','}',']','}',']',',','"', -'e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','c','o','n','f','i','g','u','r','a', -'t','i','o','n',':',' ','r','e','g','i','o','n',' ','f','r','o','m',' ','A','R','N',' ','`','{','b', -'u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','`',' ','d','o','e','s',' ','n','o', -'t',' ','m','a','t','c','h',' ','c','l','i','e','n','t',' ','r','e','g','i','o','n',' ','`','{','R', -'e','g','i','o','n','}','`',' ','a','n','d',' ','U','s','e','A','r','n','R','e','g','i','o','n',' ', -'i','s',' ','`','f','a','l','s','e','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r', -'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', -'a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':','[','{','"', -'f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','g','i','o','n','"', -']','}',']',',','"','a','s','s','i','g','n','"',':','"','b','u','c','k','e','t','P','a','r','t','i', -'t','i','o','n','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t', -'i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i', -'o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o', -'n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','p','a','r','t','i','t','i','o','n','R', -'e','s','u','l','t','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', -'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t', -'r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t', -'P','a','r','t','i','t','i','o','n','"','}',',','"','n','a','m','e','"',']','}',',','"','{','p','a', -'r','t','i','t','i','o','n','R','e','s','u','l','t','#','n','a','m','e','}','"',']','}',']',',','"', -'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', -'f','n','"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a', -'r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',', -'"','r','e','g','i','o','n','"',']','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s', -'"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', -'s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f', -'n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','s','e','r','v','i','c','e','"', -']','}',',','"','s','3','"',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n', -'d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H', -'o','s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', -'g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'b','u','c','k','e','t','A','r','n','"','}',',','"','a','c','c','o','u','n','t','I','d','"',']','}', -',','f','a','l','s','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d', -'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H','o', -'s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','"','}',',','f','a','l','s','e',']','}', -']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"', -'}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','A','c','c','e','s','s', -' ','P','o','i','n','t','s',' ','d','o',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','S','3', -' ','A','c','c','e','l','e','r','a','t','e','"',',','"','t','y','p','e','"',':','"','e','r','r','o', -'r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{', -'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"', -'}',',','t','r','u','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r', -'l','"',':','"','h','t','t','p','s',':','/','/','{','a','c','c','e','s','s','P','o','i','n','t','N', -'a','m','e','}','-','{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t','I','d', -'}','.','s','3','-','a','c','c','e','s','s','p','o','i','n','t','-','f','i','p','s','.','d','u','a', -'l','s','t','a','c','k','.','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}', -'.','{','b','u','c','k','e','t','P','a','r','t','i','t','i','o','n','#','d','n','s','S','u','f','f', -'i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S', -'c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E', -'n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g', -'v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s', -'i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','b','u','c','k','e','t','A','r','n', -'#','r','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}', -'}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o', -'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', -'s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o', -'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']', -'}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t', -'p','s',':','/','/','{','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','}','-','{','b', -'u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t','I','d','}','.','s','3','-','a','c', -'c','e','s','s','p','o','i','n','t','-','f','i','p','s','.','{','b','u','c','k','e','t','A','r','n', -'#','r','e','g','i','o','n','}','.','{','b','u','c','k','e','t','P','a','r','t','i','t','i','o','n', -'#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"', -':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l', -'e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a', -'m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"', -':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','b', -'u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a', -'d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n', -'t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',', -'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k', -'"','}',',','t','r','u','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u', -'r','l','"',':','"','h','t','t','p','s',':','/','/','{','a','c','c','e','s','s','P','o','i','n','t', -'N','a','m','e','}','-','{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t','I', -'d','}','.','s','3','-','a','c','c','e','s','s','p','o','i','n','t','.','d','u','a','l','s','t','a', -'c','k','.','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','.','{','b','u', -'c','k','e','t','P','a','r','t','i','t','i','o','n','#','d','n','s','S','u','f','f','i','x','}','"', -',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m', -'e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d', -'i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',', -'"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i', -'n','g','R','e','g','i','o','n','"',':','"','{','b','u','c','k','e','t','A','r','n','#','r','e','g', -'i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t', -'y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t', -'i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I', -'P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', -'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{', -'"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p', -'a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l', -'"','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u', -'r','l','#','s','c','h','e','m','e','}',':','/','/','{','a','c','c','e','s','s','P','o','i','n','t', -'N','a','m','e','}','-','{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t','I', -'d','}','.','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a', -'t','h','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S', -'c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E', -'n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g', -'v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s', -'i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','b','u','c','k','e','t','A','r','n', -'#','r','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}', -'}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o', -'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', -'s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b', -'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e', -']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t', -'t','p','s',':','/','/','{','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','}','-','{', -'b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t','I','d','}','.','s','3','-','a', -'c','c','e','s','s','p','o','i','n','t','.','{','b','u','c','k','e','t','A','r','n','#','r','e','g', -'i','o','n','}','.','{','b','u','c','k','e','t','P','a','r','t','i','t','i','o','n','#','d','n','s', -'S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a', -'u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u', -'b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':', -'"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3', -'"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','b','u','c','k','e', -'t','A','r','n','#','r','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s', -'"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']', -',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i', -'o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ', -'A','R','N',':',' ','T','h','e',' ','a','c','c','e','s','s',' ','p','o','i','n','t',' ','n','a','m', -'e',' ','m','a','y',' ','o','n','l','y',' ','c','o','n','t','a','i','n',' ','a','-','z',',',' ','A', -'-','Z',',',' ','0','-','9',' ','a','n','d',' ','`','-','`','.',' ','F','o','u','n','d',':',' ','`', -'{','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','}','`','"',',','"','t','y','p','e', -'"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', -'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r', -'"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','T','h','e',' ','a','c','c','o','u', -'n','t',' ','i','d',' ','m','a','y',' ','o','n','l','y',' ','c','o','n','t','a','i','n',' ','a','-', -'z',',',' ','A','-','Z',',',' ','0','-','9',' ','a','n','d',' ','`','-','`','.',' ','F','o','u','n', -'d',':',' ','`','{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t','I','d','}', -'`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e', -'"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', -']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','T', -'h','e',' ','A','R','N',' ','w','a','s',' ','n','o','t',' ','f','o','r',' ','t','h','e',' ','S','3', -' ','s','e','r','v','i','c','e',',',' ','f','o','u','n','d',':',' ','{','b','u','c','k','e','t','A', -'r','n','#','s','e','r','v','i','c','e','}','"',',','"','t','y','p','e','"',':','"','e','r','r','o', -'r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n', -'d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a', -'l','i','d',' ','r','e','g','i','o','n',' ','i','n',' ','A','R','N',':',' ','`','{','b','u','c','k', -'e','t','A','r','n','#','r','e','g','i','o','n','}','`',' ','(','i','n','v','a','l','i','d',' ','D', -'N','S',' ','n','a','m','e',')','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}', -']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t', -'i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','C','l','i','e','n','t',' ', -'w','a','s',' ','c','o','n','f','i','g','u','r','e','d',' ','f','o','r',' ','p','a','r','t','i','t', -'i','o','n',' ','`','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','n','a','m', -'e','}','`',' ','b','u','t',' ','A','R','N',' ','(','`','{','B','u','c','k','e','t','}','`',')',' ', -'h','a','s',' ','`','{','b','u','c','k','e','t','P','a','r','t','i','t','i','o','n','#','n','a','m', -'e','}','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y', -'p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', +'n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A', +'R','N',':',' ','E','x','p','e','c','t','e','d',' ','a',' ','4','-','c','o','m','p','o','n','e','n', +'t',' ','r','e','s','o','u','r','c','e','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r', '"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d', 'i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l', -'i','d',' ','A','R','N',':',' ','T','h','e',' ','A','R','N',' ','m','a','y',' ','o','n','l','y',' ', -'c','o','n','t','a','i','n',' ','a',' ','s','i','n','g','l','e',' ','r','e','s','o','u','r','c','e', -' ','c','o','m','p','o','n','e','n','t',' ','a','f','t','e','r',' ','`','a','c','c','e','s','s','p', -'o','i','n','t','`','.','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',', -'"','t','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t', -'r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c', -'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i', -'d','H','o','s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','"','}',',','t','r','u','e', -']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t', -'a','c','k','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','S','3', -' ','M','R','A','P',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','d','u', -'a','l','-','s','t','a','c','k','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}', +'i','d',' ','A','R','N',':',' ','T','h','e',' ','a','c','c','o','u','n','t',' ','i','d',' ','m','a', +'y',' ','o','n','l','y',' ','c','o','n','t','a','i','n',' ','a','-','z',',',' ','A','-','Z',',',' ', +'0','-','9',' ','a','n','d',' ','`','-','`','.',' ','F','o','u','n','d',':',' ','`','{','b','u','c', +'k','e','t','A','r','n','#','a','c','c','o','u','n','t','I','d','}','`','"',',','"','t','y','p','e', +'"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', +'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r', +'"',':','"','I','n','v','a','l','i','d',' ','r','e','g','i','o','n',' ','i','n',' ','A','R','N',':', +' ','`','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','`',' ','(','i','n', +'v','a','l','i','d',' ','D','N','S',' ','n','a','m','e',')','"',',','"','t','y','p','e','"',':','"', +'e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"', +'C','l','i','e','n','t',' ','w','a','s',' ','c','o','n','f','i','g','u','r','e','d',' ','f','o','r', +' ','p','a','r','t','i','t','i','o','n',' ','`','{','p','a','r','t','i','t','i','o','n','R','e','s', +'u','l','t','#','n','a','m','e','}','`',' ','b','u','t',' ','A','R','N',' ','(','`','{','B','u','c', +'k','e','t','}','`',')',' ','h','a','s',' ','`','{','b','u','c','k','e','t','P','a','r','t','i','t', +'i','o','n','#','n','a','m','e','}','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r', +'"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e', +'"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"', +':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','T','h','e',' ','o','u','t','p','o','s', +'t',' ','I','d',' ','m','a','y',' ','o','n','l','y',' ','c','o','n','t','a','i','n',' ','a','-','z', +',',' ','A','-','Z',',',' ','0','-','9',' ','a','n','d',' ','`','-','`','.',' ','F','o','u','n','d', +':',' ','`','{','o','u','t','p','o','s','t','I','d','}','`','"',',','"','t','y','p','e','"',':','"', +'e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"', +'I','n','v','a','l','i','d',' ','A','R','N',':',' ','T','h','e',' ','O','u','t','p','o','s','t',' ', +'I','d',' ','w','a','s',' ','n','o','t',' ','s','e','t','"',',','"','t','y','p','e','"',':','"','e', +'r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I', +'n','v','a','l','i','d',' ','A','R','N',':',' ','U','n','r','e','c','o','g','n','i','z','e','d',' ', +'f','o','r','m','a','t',':',' ','{','B','u','c','k','e','t','}',' ','(','t','y','p','e',':',' ','{', +'a','r','n','T','y','p','e','}',')','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"', +'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i', +'d',' ','A','R','N',':',' ','N','o',' ','A','R','N',' ','t','y','p','e',' ','s','p','e','c','i','f', +'i','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y', +'p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[','{','"','f','n','"',':','"','s','u','b','s','t','r','i','n','g','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',',','0',',','4',',','f', +'a','l','s','e',']',',','"','a','s','s','i','g','n','"',':','"','a','r','n','P','r','e','f','i','x', +'"','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','a','r','n','P','r','e','f','i','x','"', +'}',',','"','a','r','n',':','"',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a', +'r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v', +'"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','s','e','A','r','n','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',']','}', +']','}',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R', +'N',':',' ','`','{','B','u','c','k','e','t','}','`',' ','w','a','s',' ','n','o','t',' ','a',' ','v', +'a','l','i','d',' ','A','R','N','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}', ',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', 'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',']',',','"','e','r', -'r','o','r','"',':','"','S','3',' ','M','R','A','P',' ','d','o','e','s',' ','n','o','t',' ','s','u', -'p','p','o','r','t',' ','F','I','P','S','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r', -'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', -'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e',']','}', -']',',','"','e','r','r','o','r','"',':','"','S','3',' ','M','R','A','P',' ','d','o','e','s',' ','n', -'o','t',' ','s','u','p','p','o','r','t',' ','S','3',' ','A','c','c','e','l','e','r','a','t','e','"', -',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t', -'i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','D','i','s','a','b', -'l','e','M','u','l','t','i','R','e','g','i','o','n','A','c','c','e','s','s','P','o','i','n','t','s', -'"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l', -'i','d',' ','c','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','M','u','l','t','i','-','R', -'e','g','i','o','n',' ','A','c','c','e','s','s',' ','P','o','i','n','t',' ','A','R','N','s',' ','a', -'r','e',' ','d','i','s','a','b','l','e','d','.','"',',','"','t','y','p','e','"',':','"','e','r','r', -'o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', -':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g','n', -'"',':','"','m','r','a','p','P','a','r','t','i','t','i','o','n','"','}',']',',','"','r','u','l','e', -'s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', -'"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','m','r','a','p','P','a','r','t','i','t','i','o','n','"','}',',','"','n','a','m', -'e','"',']','}',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"', -'p','a','r','t','i','t','i','o','n','"',']','}',']','}',']',',','"','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','"',':','"','h','t','t','p','s',':','/','/','{','a','c','c','e','s', -'s','P','o','i','n','t','N','a','m','e','}','.','a','c','c','e','s','s','p','o','i','n','t','.','s', -'3','-','g','l','o','b','a','l','.','{','m','r','a','p','P','a','r','t','i','t','i','o','n','#','d', -'n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{', -'"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D', -'o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e', -'"',':','"','s','i','g','v','4','a','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':', -'"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','S','e','t','"',':','[', -'"','*','"',']','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y', -'p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"', -'t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"', -'e','r','r','o','r','"',':','"','C','l','i','e','n','t',' ','w','a','s',' ','c','o','n','f','i','g', -'u','r','e','d',' ','f','o','r',' ','p','a','r','t','i','t','i','o','n',' ','`','{','m','r','a','p', -'P','a','r','t','i','t','i','o','n','#','n','a','m','e','}','`',' ','b','u','t',' ','b','u','c','k', -'e','t',' ','r','e','f','e','r','r','e','d',' ','t','o',' ','p','a','r','t','i','t','i','o','n',' ', -'`','{','b','u','c','k','e','t','A','r','n','#','p','a','r','t','i','t','i','o','n','}','`','"',',', -'"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"', -'t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I', -'n','v','a','l','i','d',' ','A','c','c','e','s','s',' ','P','o','i','n','t',' ','N','a','m','e','"', -',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':', -'"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',', -'"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','E','x','p', -'e','c','t','e','d',' ','a',' ','r','e','s','o','u','r','c','e',' ','o','f',' ','t','h','e',' ','f', -'o','r','m','a','t',' ','`','a','c','c','e','s','s','p','o','i','n','t',':','<','a','c','c','e','s', -'s','p','o','i','n','t',' ','n','a','m','e','>','`',' ','b','u','t',' ','n','o',' ','n','a','m','e', -' ','w','a','s',' ','p','r','o','v','i','d','e','d','"',',','"','t','y','p','e','"',':','"','e','r', -'r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c', -'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e', -'t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u', -'c','k','e','t','A','r','n','"','}',',','"','s','e','r','v','i','c','e','"',']','}',',','"','s','3', -'-','o','u','t','p','o','s','t','s','"',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e', -'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"', -'e','r','r','o','r','"',':','"','S','3',' ','O','u','t','p','o','s','t','s',' ','d','o','e','s',' ', -'n','o','t',' ','s','u','p','p','o','r','t',' ','D','u','a','l','-','s','t','a','c','k','"',',','"', -'t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o', -'n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S', -'"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','S','3',' ','O','u', -'t','p','o','s','t','s',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','F', -'I','P','S','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o', -'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A', -'c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o', -'r','"',':','"','S','3',' ','O','u','t','p','o','s','t','s',' ','d','o','e','s',' ','n','o','t',' ', -'s','u','p','p','o','r','t',' ','S','3',' ','A','c','c','e','l','e','r','a','t','e','"',',','"','t', -'y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n', -'s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':', -'[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','s','o', -'u','r','c','e','I','d','[','4',']','"',']','}',']','}',']',',','"','e','r','r','o','r','"',':','"', -'I','n','v','a','l','i','d',' ','A','r','n',':',' ','O','u','t','p','o','s','t',' ','A','c','c','e', -'s','s',' ','P','o','i','n','t',' ','A','R','N',' ','c','o','n','t','a','i','n','s',' ','s','u','b', -' ','r','e','s','o','u','r','c','e','s','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r', -'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', -'g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','s','o','u','r','c','e','I','d','[','1', -']','"',']',',','"','a','s','s','i','g','n','"',':','"','o','u','t','p','o','s','t','I','d','"','}', -']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','o','u','t','p','o','s','t','I', -'d','"','}',',','f','a','l','s','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c', -'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','A','r','n','R','e', -'g','i','o','n','"','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', -'A','r','n','R','e','g','i','o','n','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"', -':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r', -'i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':', -'"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','g','i','o','n','"',']','}',',','"', -'{','R','e','g','i','o','n','}','"',']','}',']','}',']',',','"','e','r','r','o','r','"',':','"','I', -'n','v','a','l','i','d',' ','c','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','r','e','g', -'i','o','n',' ','f','r','o','m',' ','A','R','N',' ','`','{','b','u','c','k','e','t','A','r','n','#', -'r','e','g','i','o','n','}','`',' ','d','o','e','s',' ','n','o','t',' ','m','a','t','c','h',' ','c', -'l','i','e','n','t',' ','r','e','g','i','o','n',' ','`','{','R','e','g','i','o','n','}','`',' ','a', -'n','d',' ','U','s','e','A','r','n','R','e','g','i','o','n',' ','i','s',' ','`','f','a','l','s','e', -'`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d', -'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i', -'t','i','o','n','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A', -'t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k', -'e','t','A','r','n','"','}',',','"','r','e','g','i','o','n','"',']','}',']',',','"','a','s','s','i', -'g','n','"',':','"','b','u','c','k','e','t','P','a','r','t','i','t','i','o','n','"','}',']',',','"', -'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', -'f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s', -'i','g','n','"',':','"','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',']',',', -'"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', -'"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','P','a','r','t','i','t','i','o','n', -'"','}',',','"','n','a','m','e','"',']','}',',','{','"','f','n','"',':','"','g','e','t','A','t','t', -'r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','p','a','r','t','i','t', -'i','o','n','R','e','s','u','l','t','"','}',',','"','n','a','m','e','"',']','}',']','}',']',',','"', +'f','"',':','"','F','o','r','c','e','P','a','t','h','S','t','y','l','e','"','}',',','t','r','u','e', +']','}',',','{','"','f','n','"',':','"','a','w','s','.','p','a','r','s','e','A','r','n','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',']','}', +']',',','"','e','r','r','o','r','"',':','"','P','a','t','h','-','s','t','y','l','e',' ','a','d','d', +'r','e','s','s','i','n','g',' ','c','a','n','n','o','t',' ','b','e',' ','u','s','e','d',' ','w','i', +'t','h',' ','A','R','N',' ','b','u','c','k','e','t','s','"',',','"','t','y','p','e','"',':','"','e', +'r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', +'n','"',':','"','u','r','i','E','n','c','o','d','e','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','B','u','c','k','e','t','"','}',']',',','"','a','s','s','i','g','n','"',':', +'"','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','"','}',']',',','"','r', +'u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', +'n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i', +'g','n','"',':','"','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',']',',','"', 'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', -'f','n','"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a', -'r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',', -'"','r','e','g','i','o','n','"',']','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s', -'"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', -'i','s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':', -'[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','a','c','c','o', -'u','n','t','I','d','"',']','}',',','f','a','l','s','e',']','}',']',',','"','r','u','l','e','s','"', -':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','g', -'e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b', -'u','c','k','e','t','A','r','n','"','}',',','"','r','e','s','o','u','r','c','e','I','d','[','2',']', -'"',']',',','"','a','s','s','i','g','n','"',':','"','o','u','t','p','o','s','t','T','y','p','e','"', -'}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"', -':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','s', -'o','u','r','c','e','I','d','[','3',']','"',']',',','"','a','s','s','i','g','n','"',':','"','a','c', -'c','e','s','s','P','o','i','n','t','N','a','m','e','"','}',']',',','"','r','u','l','e','s','"',':', -'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t', -'r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','o','u','t','p','o','s','t','T','y','p','e','"','}',',','"','a','c','c','e','s','s','p', -'o','i','n','t','"',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', -'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f', +'a','l','s','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u', +'a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n', +'o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t', +'"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I', +'P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R', +'e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"', +'e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/', +'/','s','3','-','f','i','p','s','.','d','u','a','l','s','t','a','c','k','.','u','s','-','e','a','s', +'t','-','1','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S', +'u','f','f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e', +'t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c', +'h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n', +'c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v', +'4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i', +'g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}', +']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"', +'e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c', +'k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a', +'r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}', +',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t', +'r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':', +'[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w', +'s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l', +'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u', +'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','"',':','"', +'h','t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','d','u','a','l','s','t','a','c','k', +'.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l', +'t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d', +'_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"', +'a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o', +'u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"', +':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s', +'3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i', +'o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y', +'p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"', +'t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', +'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',', +'t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"', +':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f', +'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']', +'}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f', +'n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l', +'o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', +'e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}', +']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p', +'s',':','/','/','s','3','-','f','i','p','s','.','d','u','a','l','s','t','a','c','k','.','{','R','e', +'g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n', +'s','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c', +'k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h', +'S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e', +'E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i', +'g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"', +'s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"', +'}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':', +'"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a', +'c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',', +'"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r', 'g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}', -',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s', -'i','g','n','"',':','"','u','r','l','"','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{', -'"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','a','c','c','e','s','s','P','o','i', -'n','t','N','a','m','e','}','-','{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n', -'t','I','d','}','.','{','o','u','t','p','o','s','t','I','d','}','.','{','u','r','l','#','a','u','t', -'h','o','r','i','t','y','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a', -'u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u', -'b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':', -'"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3', -'-','o','u','t','p','o','s','t','s','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n', -'"',':','"','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','"','}',']','}', -',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n', -'d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']', -',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s', -':','/','/','{','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','}','-','{','b','u','c', -'k','e','t','A','r','n','#','a','c','c','o','u','n','t','I','d','}','.','{','o','u','t','p','o','s', -'t','I','d','}','.','s','3','-','o','u','t','p','o','s','t','s','.','{','b','u','c','k','e','t','A', -'r','n','#','r','e','g','i','o','n','}','.','{','b','u','c','k','e','t','P','a','r','t','i','t','i', -'o','n','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e', +']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}', +',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o', +'n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p', +'o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-', +'f','i','p','s','.','u','s','-','e','a','s','t','-','1','.','{','p','a','r','t','i','t','i','o','n', +'R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n', +'c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e', 's','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a', 'b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"', 'n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m', -'e','"',':','"','s','3','-','o','u','t','p','o','s','t','s','"',',','"','s','i','g','n','i','n','g', -'R','e','g','i','o','n','"',':','"','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o', -'n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', -'e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t', -'r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e', -'r','r','o','r','"',':','"','E','x','p','e','c','t','e','d',' ','a','n',' ','o','u','t','p','o','s', -'t',' ','t','y','p','e',' ','`','a','c','c','e','s','s','p','o','i','n','t','`',',',' ','f','o','u', -'n','d',' ','{','o','u','t','p','o','s','t','T','y','p','e','}','"',',','"','t','y','p','e','"',':', -'"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':', -'"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','e','x','p','e','c','t','e','d',' ','a','n', -' ','a','c','c','e','s','s',' ','p','o','i','n','t',' ','n','a','m','e','"',',','"','t','y','p','e', -'"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', -'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r', -'"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','E','x','p','e','c','t','e','d',' ', -'a',' ','4','-','c','o','m','p','o','n','e','n','t',' ','r','e','s','o','u','r','c','e','"',',','"', -'t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t', -'r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e', -'r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','T','h','e',' ','a', -'c','c','o','u','n','t',' ','i','d',' ','m','a','y',' ','o','n','l','y',' ','c','o','n','t','a','i', -'n',' ','a','-','z',',',' ','A','-','Z',',',' ','0','-','9',' ','a','n','d',' ','`','-','`','.',' ', -'F','o','u','n','d',':',' ','`','{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n', -'t','I','d','}','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"', -'t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n', -'s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','r','e', -'g','i','o','n',' ','i','n',' ','A','R','N',':',' ','`','{','b','u','c','k','e','t','A','r','n','#', -'r','e','g','i','o','n','}','`',' ','(','i','n','v','a','l','i','d',' ','D','N','S',' ','n','a','m', -'e',')','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p', -'e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[',']',',','"','e','r','r','o','r','"',':','"','C','l','i','e','n','t',' ','w','a','s',' ','c','o', -'n','f','i','g','u','r','e','d',' ','f','o','r',' ','p','a','r','t','i','t','i','o','n',' ','`','{', -'p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','n','a','m','e','}','`',' ','b','u', -'t',' ','A','R','N',' ','(','`','{','B','u','c','k','e','t','}','`',')',' ','h','a','s',' ','`','{', -'b','u','c','k','e','t','P','a','r','t','i','t','i','o','n','#','n','a','m','e','}','`','"',',','"', -'t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t', -'r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t', -'y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N', -':',' ','T','h','e',' ','o','u','t','p','o','s','t',' ','I','d',' ','m','a','y',' ','o','n','l','y', -' ','c','o','n','t','a','i','n',' ','a','-','z',',',' ','A','-','Z',',',' ','0','-','9',' ','a','n', -'d',' ','`','-','`','.',' ','F','o','u','n','d',':',' ','`','{','o','u','t','p','o','s','t','I','d', -'}','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p', -'e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ', -'T','h','e',' ','O','u','t','p','o','s','t',' ','I','d',' ','w','a','s',' ','n','o','t',' ','s','e', -'t','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e', -'"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', -']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','U', -'n','r','e','c','o','g','n','i','z','e','d',' ','f','o','r','m','a','t',':',' ','{','B','u','c','k', -'e','t','}',' ','(','t','y','p','e',':',' ','{','a','r','n','T','y','p','e','}',')','"',',','"','t', -'y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r', -'e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r', -'r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','N','o',' ','A','R','N', -' ','t','y','p','e',' ','s','p','e','c','i','f','i','e','d','"',',','"','t','y','p','e','"',':','"', -'e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','u','b','s', -'t','r','i','n','g','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u', -'c','k','e','t','"','}',',','0',',','4',',','f','a','l','s','e',']',',','"','a','s','s','i','g','n', -'"',':','"','a','r','n','P','r','e','f','i','x','"','}',',','{','"','f','n','"',':','"','s','t','r', -'i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','a','r','n','P','r','e','f','i','x','"','}',',','"','a','r','n',':','"',']','}',',','{','"', -'f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', -'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','a','w','s', -'.','p','a','r','s','e','A','r','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','B','u','c','k','e','t','"','}',']','}',']','}',']','}',']',',','"','e','r','r','o','r','"', -':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','`','{','B','u','c','k','e','t','}','`', -' ','w','a','s',' ','n','o','t',' ','a',' ','v','a','l','i','d',' ','A','R','N','"',',','"','t','y', -'p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','F','o','r','c','e','P','a','t','h', -'S','t','y','l','e','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','a','w','s', -'.','p','a','r','s','e','A','r','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','B','u','c','k','e','t','"','}',']','}',']',',','"','e','r','r','o','r','"',':','"','P','a', -'t','h','-','s','t','y','l','e',' ','a','d','d','r','e','s','s','i','n','g',' ','c','a','n','n','o', -'t',' ','b','e',' ','u','s','e','d',' ','w','i','t','h',' ','A','R','N',' ','b','u','c','k','e','t', -'s','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d', -'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','u','r','i','E','n','c','o','d','e', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"', -'}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','i','_','e','n','c','o','d','e','d','_', -'b','u','c','k','e','t','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d', -'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i', -'t','i','o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g', -'i','o','n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','p','a','r','t','i','t','i','o', -'n','R','e','s','u','l','t','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n', -'d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', -'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c', -'c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',']',',','"','r','u','l','e', -'s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u', -'e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{', -'"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{', -'"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-', -'g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u', -'r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','d','u','a','l', -'s','t','a','c','k','.','u','s','-','e','a','s','t','-','1','.','{','p','a','r','t','i','t','i','o', -'n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e', -'n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i', -'e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s', -'a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',', -'"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a', -'m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':', -'"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':', -'{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e', -'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"', +'e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"', +'u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{', +'}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a', +'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"', 'f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', 'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', 'd','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', @@ -1780,61 +1867,16 @@ static constexpr RulesBlobT RulesBlob = {{ 'd','p','o','i','n','t','"','}',',','t','r','u','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','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f','i', -'p','s','.','d','u','a','l','s','t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p','a', -'r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/', -'{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r', -'o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':', -'[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"', -':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g', -'n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e', -'g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d', -'e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t', -'"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d', -'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', -'D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':', -'"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e', -'t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i', -'n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', -'F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"', -',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i', -'o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f', -'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i', -'n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':', -'{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','d', -'u','a','l','s','t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t', -'i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r','i', -'_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r', -'t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d', -'i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u', -'e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g', -'N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n', -'"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"', -':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',', -'{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"', -':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o', -'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"', -':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b', -'a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':', -'"','h','t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','u','s','-','e','a','s','t','-', -'1','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f', -'f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}', -'"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e', -'m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o', -'d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"', -',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n', -'i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}', -',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n', -'d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'p','s','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s', +'u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n','c','o','d', +'e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':', +'{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e', +'D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m', +'e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':', +'"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e', +'g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"', +'t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"', +':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', '"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', 'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"', '}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r', @@ -1847,9 +1889,8 @@ static constexpr RulesBlobT RulesBlob = {{ 'v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s', '-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', 'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','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','"',':','"','h', +'"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s', +'e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h', 't','t','p','s',':','/','/','s','3','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{', 'p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x', '}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"', @@ -1859,83 +1900,106 @@ static constexpr RulesBlobT RulesBlob = {{ 'i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g', 'R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e', 'a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i', -'n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o', -'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', -'s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f', -'n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i', -'s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d', -'p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a', -'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n', -'o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R', -'e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',', -'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d', -'p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n', -'t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f','i','p', -'s','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u', -'l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e', -'d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{', -'"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D', -'o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e', -'"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"', -'s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g', -'i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t', -'y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t', -'i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u', -'a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n', -'o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t', -'"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I', -'P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n', -'g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',', -'"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':', -'/','/','s','3','.','d','u','a','l','s','t','a','c','k','.','u','s','-','e','a','s','t','-','1','.', -'{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i', -'x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',', -'"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e', -'s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i', -'n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"', -'s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n', -'g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"', -'h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p', -'o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', -'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',', -'t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"', -':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f', -'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e', -']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"', -'f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g', -'l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', -'s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','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','"',':','"','h','t','t', -'p','s',':','/','/','s','3','.','d','u','a','l','s','t','a','c','k','.','{','R','e','g','i','o','n', -'}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f', -'f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}', +'n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r', +'u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[', +'{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}', +',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w', +'s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{', +'"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','d','u','a','l','s','t','a', +'c','k','.','u','s','-','e','a','s','t','-','1','.','{','p','a','r','t','i','t','i','o','n','R','e', +'s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n','c','o', +'d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"', +':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l', +'e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a', +'m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"', +':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s', +'-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}', +',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n', +'d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', +'e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"', +':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S', +'e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o', +'i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', +'e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o', +'t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e', +'g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p', +'o','i','n','t','"','}',',','t','r','u','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','"',':','"','h','t','t','p','s',':','/','/','s','3','.','d','u','a','l', +'s','t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n', +'R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n', +'c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e', +'s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a', +'b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"', +'n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m', +'e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"', +'{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}', +'}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y', +'p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a', +'c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"', +'a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']', +'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',', +'f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v', +'"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"', +'a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f', +'a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"', +':','"','h','t','t','p','s',':','/','/','s','3','.','d','u','a','l','s','t','a','c','k','.','{','R', +'e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d', +'n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u', +'c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t', +'h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l', +'e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s', +'i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',', +'"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}', +'"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"', +':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', +'"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t', +'a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e', +'t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i', +'n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}', +']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"', +'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{', +'"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-', +'g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u', +'r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#', +'a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','n','o','r','m','a','l','i','z','e','d', +'P','a','t','h','}','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}', '"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e', 'm','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o', 'd','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"', ',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n', -'i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',', -'"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d', -'p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{', -'"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':', -'"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E', -'n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l', +'i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}', +',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n', +'d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"', +'}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}', +']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a', +'s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','b','o','o','l', 'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', ':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"', ':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r', @@ -1943,46 +2007,82 @@ static constexpr RulesBlobT RulesBlob = {{ ':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}', ']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', '"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l', -'E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p', -'o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.', -'d','u','a','l','s','t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i', -'t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r', -'i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e', -'r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"', -'d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r', -'u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n', -'g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o', -'n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s', -'"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o', -'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}', -',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':', -'"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u', -'r','l','"','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', +'E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s', +'"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', +'s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','u','s','-','e','a','s','t','-','1','"', +']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u', +'r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i', +'t','y','}','{','u','r','l','#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}','{','u', +'r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p', +'e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{', +'"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t', +'r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i', +'n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i', +'o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r', +'s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i', +'n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':', +'/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','n','o','r', +'m','a','l','i','z','e','d','P','a','t','h','}','{','u','r','i','_','e','n','c','o','d','e','d','_', +'b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a', +'u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u', +'b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':', +'"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3', +'"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o', +'n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', +'e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t', +'r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', +'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f', +'a','l','s','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',', +'{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i', +'g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', +'s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n', +'o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R', +'e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',', +'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d', +'p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n', +'t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/', +'/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','n','o','r','m', +'a','l','i','z','e','d','P','a','t','h','}','{','u','r','i','_','e','n','c','o','d','e','d','_','b', +'u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u', +'t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b', +'l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"', +'s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"', +',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n', +'}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e', +'"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S', +'t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t', +'"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}', +']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', '"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S', '"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E', 'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e', 'g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e', -'n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h', -'e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r', -'l','#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}','{','u','r','i','_','e','n','c', -'o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s', -'"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b', -'l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n', -'a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e', -'"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u', -'s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}', -'}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o', -'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', -'s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f', -'n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r', -'s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', -'d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}', +'n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/', +'s','3','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u', +'f','f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t', +'}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h', +'e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c', +'o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4', +'"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g', +'n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']', +'}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e', +'n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k', +'"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a', +'r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}', ',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', 'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f', 'a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"', @@ -1995,19 +2095,8 @@ static constexpr RulesBlobT RulesBlob = {{ 'n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"', ',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}', ',','"','u','s','-','e','a','s','t','-','1','"',']','}',']',',','"','e','n','d','p','o','i','n','t', -'"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/', -'{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','n','o','r','m','a', -'l','i','z','e','d','P','a','t','h','}','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u', -'c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t', -'h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l', -'e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s', -'i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',', -'"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}', -'"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"', -':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{', -'u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r', -'i','t','y','}','{','u','r','l','#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}','{', +'"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','{','p','a','r', +'t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{', 'u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o', 'p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[', '{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':', @@ -2015,46 +2104,209 @@ static constexpr RulesBlobT RulesBlob = {{ 'i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g', 'i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e', 'r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"', -'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i', -'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D', -'u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':', -'"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E', -'n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U', -'R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o', -'i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"', -'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s', -'e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{', -'"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-', -'g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a', +'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o', +'i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','{', +'R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#', +'d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b', +'u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u', +'t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b', +'l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"', +'s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"', +',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n', +'}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e', +'"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r', +'e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a', +'l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':', +'[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n', +'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']', +'}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f', +'n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l', +'o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', +'e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}', +']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p', +'s',':','/','/','s','3','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o', +'n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e', +'n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i', +'e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s', +'a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',', +'"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a', +'m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':', +'"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{', +'}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t', +'y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', +'"',':','[',']',',','"','e','r','r','o','r','"',':','"','P','a','t','h','-','s','t','y','l','e',' ', +'a','d','d','r','e','s','s','i','n','g',' ','c','a','n','n','o','t',' ','b','e',' ','u','s','e','d', +' ','w','i','t','h',' ','S','3',' ','A','c','c','e','l','e','r','a','t','e','"',',','"','t','y','p', +'e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', +'"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e', +'"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','U','s','e','O','b','j','e','c','t','L','a','m','b','d','a','E','n','d','p','o', +'i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','O', +'b','j','e','c','t','L','a','m','b','d','a','E','n','d','p','o','i','n','t','"','}',',','t','r','u', +'e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}', +']',',','"','a','s','s','i','g','n','"',':','"','p','a','r','t','i','t','i','o','n','R','e','s','u', +'l','t','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a', +'b','e','l','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i', +'o','n','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a', 'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e', -']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u', -'r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i', -'t','y','}','{','u','r','l','#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}','{','u', -'r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p', +'U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"','e', +'r','r','o','r','"',':','"','S','3',' ','O','b','j','e','c','t',' ','L','a','m','b','d','a',' ','d', +'o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','D','u','a','l','-','s','t','a','c', +'k','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c', +'e','l','e','r','a','t','e','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"', +':','"','S','3',' ','O','b','j','e','c','t',' ','L','a','m','b','d','a',' ','d','o','e','s',' ','n', +'o','t',' ','s','u','p','p','o','r','t',' ','S','3',' ','A','c','c','e','l','e','r','a','t','e','"', +',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',', +'{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i', +'g','n','"',':','"','u','r','l','"','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"', +'u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l', +'#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p', +'r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"', +':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g', +'"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i', +'g','n','i','n','g','N','a','m','e','"',':','"','s','3','-','o','b','j','e','c','t','-','l','a','m', +'b','d','a','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e', +'g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"', +'t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F', +'I','P','S','"','}',',','t','r','u','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':', +'{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','o','b','j','e','c','t', +'-','l','a','m','b','d','a','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','p','a', +'r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"', +',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m', +'e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d', +'i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',', +'"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','-','o','b','j','e','c','t','-', +'l','a','m','b','d','a','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"', +'{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}', +'}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{', +'"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','o','b','j','e','c','t','-', +'l','a','m','b','d','a','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o', +'n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p', 'e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{', '"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t', 'r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i', -'n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i', -'o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r', -'s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}', -',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', +'n','g','N','a','m','e','"',':','"','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a', +'"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o', +'n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', +'e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t', +'r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e', +'r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','r','e','g','i','o','n',':',' ','r','e', +'g','i','o','n',' ','w','a','s',' ','n','o','t',' ','a',' ','v','a','l','i','d',' ','D','N','S',' ', +'n','a','m','e','.','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"', +'t','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r', +'e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', +':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S', +'e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e', +'t','"','}',']','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t', +'i','o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i', +'o','n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','p','a','r','t','i','t','i','o','n', +'R','e','s','u','l','t','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H','o', +'s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'R','e','g','i','o','n','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':', +'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', 'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']', -'}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f', -'n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b', -'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"', -'f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g', -'l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r', -'l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','{','p','a','r','t','i','t','i','o','n', -'R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n', -'c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e', +'f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n', +'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t', +'r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':', +'[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n', +'"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o', +'b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"', +':','"','h','t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','d','u','a','l','s','t','a', +'c','k','.','u','s','-','e','a','s','t','-','1','.','{','p','a','r','t','i','t','i','o','n','R','e', +'s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t', +'i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i', +'s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e', +',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N', +'a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"', +':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"', +':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', +'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':', +'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u', +'e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{', +'"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':', +'"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i', +'n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']', +'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E', +'n','d','p','o','i','n','t','"','}',',','t','r','u','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','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f', +'i','p','s','.','d','u','a','l','s','t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p', +'a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}', +'"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e', +'m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o', +'d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"', +',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n', +'i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',', +'"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d', +'p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', +'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':', +'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u', +'e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{', +'"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':', +'"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i', +'n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']', +'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E', +'n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o', +'i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f', +'i','p','s','.','d','u','a','l','s','t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p', +'a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}', +'"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e', +'m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o', +'d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"', +',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n', +'i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',', +'"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d', +'p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e', +']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t', +'a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"', +',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']', +'}',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',', +'"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t', +'"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f','i','p','s', +'.','u','s','-','e','a','s','t','-','1','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u', +'l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e', 's','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a', 'b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"', 'n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m', @@ -2063,376 +2315,178 @@ static constexpr RulesBlobT RulesBlob = {{ '}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c', 'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a', 'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"', -'f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', -'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', -'d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', -'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':', -'"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i', -'n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']', -'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E', -'n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"', -':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s', -'t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','R','e','g','i','o','n','"','}',',','"','u','s','-','e','a','s','t','-','1','"',']', -'}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t', -'p','s',':','/','/','s','3','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#', -'d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b', -'u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u', -'t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b', -'l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"', -'s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"', -',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n', -'}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e', -'"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n', -'s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"', -'h','t','t','p','s',':','/','/','s','3','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t', -'i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u', -'r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p', -'e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{', -'"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t', -'r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i', -'n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i', -'o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r', -'s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}', -']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t', -'i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u', -'a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"', -'n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n', -'t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F', -'I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"', -',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i', -'o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f', -'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i', -'n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':', -'{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','{','R','e','g','i','o', -'n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u', -'f','f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t', -'}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h', -'e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c', -'o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4', -'"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g', -'n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}', -',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n', -'d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':', -'"','P','a','t','h','-','s','t','y','l','e',' ','a','d','d','r','e','s','s','i','n','g',' ','c','a', -'n','n','o','t',' ','b','e',' ','u','s','e','d',' ','w','i','t','h',' ','S','3',' ','A','c','c','e', -'l','e','r','a','t','e','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',', -'"','t','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t', -'r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c', -'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','O','b','j','e','c', -'t','L','a','m','b','d','a','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"', -':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','U','s','e','O','b','j','e','c','t','L','a','m','b','d','a','E','n', +'U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b', +'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e', +']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"', +'f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"', +'n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n', +'g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}', +',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n', 'd','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':', -'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w', -'s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','p', -'a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',']',',','"','r','u','l','e','s','"', -':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i', -'s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','t','r','u','e',']','}',']',',', -'"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', -'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"', -'}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','S','3',' ','O','b','j', -'e','c','t',' ','L','a','m','b','d','a',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o', -'r','t',' ','D','u','a','l','-','s','t','a','c','k','"',',','"','t','y','p','e','"',':','"','e','r', -'r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', -'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t','r','u', -'e',']','}',']',',','"','e','r','r','o','r','"',':','"','S','3',' ','O','b','j','e','c','t',' ','L', -'a','m','b','d','a',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','S','3', -' ','A','c','c','e','l','e','r','a','t','e','"',',','"','t','y','p','e','"',':','"','e','r','r','o', -'r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', -'"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E', -'n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U', -'R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o', -'i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',']',',','"', -'e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c', -'h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u', -'r','l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"', -'a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o', -'u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"', -':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s', -'3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','"',',','"','s','i','g','n','i','n','g', -'R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e', -'a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i', -'n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', -':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',']', -',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s', -':','/','/','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','-','f','i','p','s','.', -'{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t', -'#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"', -':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l', -'e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a', -'m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"', -':','"','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','"',',','"','s','i','g','n', -'i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',', -'"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d', -'p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',', -'"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':', -'/','/','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','.','{','R','e','g','i','o', +'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i', +'n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f','i', +'p','s','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s', +'u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i', +'e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s', +'a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',', +'"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a', +'m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':', +'"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{', +'}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t', +'y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', +'"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}', +',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D', +'u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':', +'"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e', +'t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i', +'n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g', +'v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',', +'"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b', +'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',', +'f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l', +'"',':','"','h','t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','{','R','e','g','i','o', 'n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u', 'f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t', 'h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l', 'e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s', -'i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','-','o', -'b','j','e','c','t','-','l','a','m','b','d','a','"',',','"','s','i','g','n','i','n','g','R','e','g', -'i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e', -'r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"', -'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i', -'t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i', -'d',' ','r','e','g','i','o','n',':',' ','r','e','g','i','o','n',' ','w','a','s',' ','n','o','t',' ', -'a',' ','v','a','l','i','d',' ','D','N','S',' ','n','a','m','e','.','"',',','"','t','y','p','e','"', -':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}', -']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t', -'i','o','n','s','"',':','[','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"', -':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',']','}',']','}',']',',','"','r','u','l', -'e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', -':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g','n', -'"',':','"','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',']',',','"','r','u', -'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', -'"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','t','r','u','e', -']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s', +'i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',', +'"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}', +'"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"', +':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', '"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', '"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}', -',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D', -'u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"', -'n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n', -'t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o', -'n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p', -'o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-', -'f','i','p','s','.','d','u','a','l','s','t','a','c','k','.','u','s','-','e','a','s','t','-','1','.', -'{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i', -'x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c', -'h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n', -'c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v', -'4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i', -'g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}', -']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"', -'e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t', -'r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', -'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a', -'l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o', -'t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"', -'}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':', -'[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w', -'s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u', -'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','"',':','"', -'h','t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','d','u','a','l','s','t','a','c','k', -'.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l', -'t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s', -'"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b', -'l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n', -'a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e', -'"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{', -'R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}', -',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p', -'e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t', -'r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', -'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a', -'l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o', -'t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"', -'}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':', -'[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w', -'s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l', -'s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"', -'h','t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','d','u','a','l','s','t','a','c','k', -'.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l', -'t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s', -'"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b', -'l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n', -'a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e', -'"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{', -'R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}', -',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n', -'d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', -'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', -'e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o', -'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}', -',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n', -'"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','s','t', -'r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']', -'}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t', -'p','s',':','/','/','s','3','-','f','i','p','s','.','u','s','-','e','a','s','t','-','1','.','{','p', +',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', +'D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':', +'"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e', +'t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i', +'n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i', +'o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d', +'p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3', +'.','d','u','a','l','s','t','a','c','k','.','u','s','-','e','a','s','t','-','1','.','{','p','a','r', +'t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',', +'"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e', +'s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i', +'n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"', +'s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n', +'g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"', +'h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p', +'o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', +'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e', +']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t', +'a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',', +'"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}', +']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"', +'f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g', +'l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', +'s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','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','"',':','"','h','t','t', +'p','s',':','/','/','s','3','.','d','u','a','l','s','t','a','c','k','.','{','R','e','g','i','o','n', +'}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f', +'f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h', +'S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e', +'E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i', +'g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"', +'s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"', +'}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':', +'"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', +'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', +'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"', +'}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g', +'v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{', +'"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':', +'"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a', +'l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l', +'o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"', +'e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/', +'/','s','3','.','d','u','a','l','s','t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p', 'a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}', '"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e', 'm','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o', 'd','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"', ',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n', -'i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}', -',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n', -'d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', -'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u', +'i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',', +'"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d', +'p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s', 'e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', ',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S', -'t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t', -'"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}', -']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[', -'{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s', -'-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', -'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','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','"',':','"','h', -'t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{', -'p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x', -'}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h', -'e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c', -'o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4', -'"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g', -'n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}', -',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n', -'d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o', -'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"', +'t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','i','s','S', +'e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o', +'i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"', +'}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':', +'"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a', +'l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"', +'{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o', +'r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t', +'i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i', +'s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e', +',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N', +'a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"', +':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"', +':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', +'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"', ':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', '{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a', -'l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':', -'[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n', -'"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t', -'r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']', -'}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a', -'l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d', -'p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3', -'-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n', -'R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e', -'r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"', -'d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r', -'u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n', -'g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o', -'n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s', -'"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o', -'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n', -'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t', -'r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':', -'[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n', -'"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o', -'b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"', -':','"','h','t','t','p','s',':','/','/','s','3','.','d','u','a','l','s','t','a','c','k','.','u','s', -'-','e','a','s','t','-','1','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#', -'d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':', -'{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e', -'D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m', -'e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':', -'"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-', -'e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',', -'"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d', -'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', -'F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o', -'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',', -'{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"', -':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t', -'"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g', -'i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"', -'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o', -'i','n','t','"','}',',','t','r','u','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','"',':','"','h','t','t','p','s',':','/','/','s','3','.','d','u','a','l','s', -'t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R', -'e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r', -'t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d', -'i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u', -'e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g', -'N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n', -'"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"', -':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',', -'"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o', -'n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S', -'"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', -'s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n', -'"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s', -'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p', -'o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a', -'r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"', -'}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"', -'}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u', -'r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','d','u','a','l','s','t','a','c','k', -'.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l', -'t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s', +'l','s','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{', +'"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g', +'n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r', +'g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}', +',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"', +'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}', +',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o', +'n','"','}',',','"','u','s','-','e','a','s','t','-','1','"',']','}',']',',','"','e','n','d','p','o', +'i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}', +':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a', +'t','h','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S', +'c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E', +'n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g', +'v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s', +'i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}', +']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"', +'e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r', +'l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t', +'y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t','i','e','s', '"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b', 'l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n', 'a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e', '"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{', 'R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}', -',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n', -'d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', -'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', -'e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o', -'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']', -'}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"', -':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"', -'u','r','l','"','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"', -'}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i', -'n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':', -'/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t', -'h','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c', -'h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n', -'c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v', -'4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i', -'g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}', -']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"', -'e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p', +'e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', '[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', 'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f', 'a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', @@ -2447,99 +2501,85 @@ static constexpr RulesBlobT RulesBlob = {{ 'f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"', ']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', '"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b', -'a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l', -'e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', -':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','u','s','-','e','a','s','t','-', -'1','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"', -'{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o', -'r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t', -'i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i', -'s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e', -',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N', -'a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"', -':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':', -'{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"', -':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{', -'u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"', -',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m', -'e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d', -'i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',', -'"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i', -'n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"', -'h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p', -'o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e', -'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':', +'a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n', +'d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e', +'m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l', +'#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u', +'t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b', +'l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"', +'s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"', +',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n', +'}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e', +'"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"', +'}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', +'e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n', +'"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s', +'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p', +'o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e', +'g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e', +'n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/', +'s','3','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u', +'f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t', +'h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l', +'e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s', +'i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',', +'"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-', +'1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e', +'"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"', +'}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', +'e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n', +'"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s', +'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p', +'o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a', +'r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"', +'}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':', '"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l', -'s','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"', -'f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n', -'"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g', -'v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',', -'"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b', -'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',', -'f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l', -'"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u', -'t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o','p', +'"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"', +'}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i', +'o','n','"','}',',','"','u','s','-','e','a','s','t','-','1','"',']','}',']',',','"','e','n','d','p', +'o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.', +'{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i', +'x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c', +'h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n', +'c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v', +'4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i', +'g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']', +'}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e', +'n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p', +'s',':','/','/','s','3','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o', +'n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p', 'e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{', '"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t', 'r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i', 'n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i', 'o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r', 's','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}', -',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', -'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f', -'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',', -'f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v', -'"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"', -'f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g', -'l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r', -'l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','{','p','a','r','t','i','t','i','o','n', -'R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e', -'r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"', -'d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r', -'u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n', -'g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o', -'n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r', -'s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}', -',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', -'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f', +']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I', +'P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', +'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{', +'"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':', +'"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E', +'n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"', +',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i', +'o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f', 'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',', -'f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v', -'"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"', -'f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', -'s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l', -'"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', -'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o', -'b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','r','u', -'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', -'"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','u','s','-','e','a','s','t', -'-','1','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':', -'"','h','t','t','p','s',':','/','/','s','3','.','{','p','a','r','t','i','t','i','o','n','R','e','s', -'u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i', -'e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s', -'a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',', -'"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a', -'m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':', -'"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{', -'}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c', -'o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':', +':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i', +'n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':', '{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','{','R','e','g','i','o', 'n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u', 'f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t', @@ -2549,40 +2589,16 @@ static constexpr RulesBlobT RulesBlob = {{ '"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}', '"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"', ':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e', -'e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',', -'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k', -'"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a', -'r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}', -',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n', -'"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o', -'b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', -'G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']', -',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s', -':','/','/','s','3','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n', -'R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e', -'r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"', -'d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r', -'u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n', -'g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o', -'n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s', -'"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']', -',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i', -'o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ', -'r','e','g','i','o','n',':',' ','r','e','g','i','o','n',' ','w','a','s',' ','n','o','t',' ','a',' ', -'v','a','l','i','d',' ','D','N','S',' ','n','a','m','e','.','"',',','"','t','y','p','e','"',':','"', -'e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']',',', -'"','t','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t', -'r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e', -'r','r','o','r','"',':','"','A',' ','r','e','g','i','o','n',' ','m','u','s','t',' ','b','e',' ','s', -'e','t',' ','w','h','e','n',' ','s','e','n','d','i','n','g',' ','r','e','q','u','e','s','t','s',' ', -'t','o',' ','S','3','.','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}', -'\0' +'e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r', +'o','r','"',':','"','I','n','v','a','l','i','d',' ','r','e','g','i','o','n',':',' ','r','e','g','i', +'o','n',' ','w','a','s',' ','n','o','t',' ','a',' ','v','a','l','i','d',' ','D','N','S',' ','n','a', +'m','e','.','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y', +'p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', +'"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','A',' ','r','e','g', +'i','o','n',' ','m','u','s','t',' ','b','e',' ','s','e','t',' ','w','h','e','n',' ','s','e','n','d', +'i','n','g',' ','r','e','q','u','e','s','t','s',' ','t','o',' ','S','3','.','"',',','"','t','y','p', +'e','"',':','"','e','r','r','o','r','"','}',']','}','\0' }}; const char* S3CrtEndpointRules::GetRulesBlob() diff --git a/generated/src/aws-cpp-sdk-s3-crt/source/model/AbortMultipartUploadRequest.cpp b/generated/src/aws-cpp-sdk-s3-crt/source/model/AbortMultipartUploadRequest.cpp index c52fd78290c..b014cb83b99 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/source/model/AbortMultipartUploadRequest.cpp +++ b/generated/src/aws-cpp-sdk-s3-crt/source/model/AbortMultipartUploadRequest.cpp @@ -87,5 +87,8 @@ AbortMultipartUploadRequest::EndpointParameters AbortMultipartUploadRequest::Get if (BucketHasBeenSet()) { parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); } + if (KeyHasBeenSet()) { + parameters.emplace_back(Aws::String("Key"), this->GetKey(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } return parameters; } diff --git a/generated/src/aws-cpp-sdk-s3-crt/source/model/CompleteMultipartUploadRequest.cpp b/generated/src/aws-cpp-sdk-s3-crt/source/model/CompleteMultipartUploadRequest.cpp index 6f1dafec006..dee055a0dcc 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/source/model/CompleteMultipartUploadRequest.cpp +++ b/generated/src/aws-cpp-sdk-s3-crt/source/model/CompleteMultipartUploadRequest.cpp @@ -177,5 +177,8 @@ CompleteMultipartUploadRequest::EndpointParameters CompleteMultipartUploadReques if (BucketHasBeenSet()) { parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); } + if (KeyHasBeenSet()) { + parameters.emplace_back(Aws::String("Key"), this->GetKey(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } return parameters; } diff --git a/generated/src/aws-cpp-sdk-s3-crt/source/model/CreateMultipartUploadRequest.cpp b/generated/src/aws-cpp-sdk-s3-crt/source/model/CreateMultipartUploadRequest.cpp index 1cf8416b7ba..3b2e22411cb 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/source/model/CreateMultipartUploadRequest.cpp +++ b/generated/src/aws-cpp-sdk-s3-crt/source/model/CreateMultipartUploadRequest.cpp @@ -281,5 +281,8 @@ CreateMultipartUploadRequest::EndpointParameters CreateMultipartUploadRequest::G if (BucketHasBeenSet()) { parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); } + if (KeyHasBeenSet()) { + parameters.emplace_back(Aws::String("Key"), this->GetKey(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } return parameters; } diff --git a/generated/src/aws-cpp-sdk-s3-crt/source/model/DeleteObjectRequest.cpp b/generated/src/aws-cpp-sdk-s3-crt/source/model/DeleteObjectRequest.cpp index 146174af08f..7ede3c7af54 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/source/model/DeleteObjectRequest.cpp +++ b/generated/src/aws-cpp-sdk-s3-crt/source/model/DeleteObjectRequest.cpp @@ -104,5 +104,8 @@ DeleteObjectRequest::EndpointParameters DeleteObjectRequest::GetEndpointContextP if (BucketHasBeenSet()) { parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); } + if (KeyHasBeenSet()) { + parameters.emplace_back(Aws::String("Key"), this->GetKey(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } return parameters; } diff --git a/generated/src/aws-cpp-sdk-s3-crt/source/model/GetObjectAclRequest.cpp b/generated/src/aws-cpp-sdk-s3-crt/source/model/GetObjectAclRequest.cpp index 3e3dd51d9c4..de8a36ace7d 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/source/model/GetObjectAclRequest.cpp +++ b/generated/src/aws-cpp-sdk-s3-crt/source/model/GetObjectAclRequest.cpp @@ -87,5 +87,8 @@ GetObjectAclRequest::EndpointParameters GetObjectAclRequest::GetEndpointContextP if (BucketHasBeenSet()) { parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); } + if (KeyHasBeenSet()) { + parameters.emplace_back(Aws::String("Key"), this->GetKey(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } return parameters; } diff --git a/generated/src/aws-cpp-sdk-s3-crt/source/model/GetObjectRequest.cpp b/generated/src/aws-cpp-sdk-s3-crt/source/model/GetObjectRequest.cpp index d339bc2aacc..8a4890affd4 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/source/model/GetObjectRequest.cpp +++ b/generated/src/aws-cpp-sdk-s3-crt/source/model/GetObjectRequest.cpp @@ -211,6 +211,9 @@ GetObjectRequest::EndpointParameters GetObjectRequest::GetEndpointContextParams( if (BucketHasBeenSet()) { parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); } + if (KeyHasBeenSet()) { + parameters.emplace_back(Aws::String("Key"), this->GetKey(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } return parameters; } bool GetObjectRequest::ShouldValidateResponseChecksum() const diff --git a/generated/src/aws-cpp-sdk-s3-crt/source/model/HeadObjectRequest.cpp b/generated/src/aws-cpp-sdk-s3-crt/source/model/HeadObjectRequest.cpp index 265709b0ff5..0a4d2a431ed 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/source/model/HeadObjectRequest.cpp +++ b/generated/src/aws-cpp-sdk-s3-crt/source/model/HeadObjectRequest.cpp @@ -163,5 +163,8 @@ HeadObjectRequest::EndpointParameters HeadObjectRequest::GetEndpointContextParam if (BucketHasBeenSet()) { parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); } + if (KeyHasBeenSet()) { + parameters.emplace_back(Aws::String("Key"), this->GetKey(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } return parameters; } diff --git a/generated/src/aws-cpp-sdk-s3-crt/source/model/ListMultipartUploadsRequest.cpp b/generated/src/aws-cpp-sdk-s3-crt/source/model/ListMultipartUploadsRequest.cpp index 4e76eb4a73f..c4e4eaaa71a 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/source/model/ListMultipartUploadsRequest.cpp +++ b/generated/src/aws-cpp-sdk-s3-crt/source/model/ListMultipartUploadsRequest.cpp @@ -128,5 +128,8 @@ ListMultipartUploadsRequest::EndpointParameters ListMultipartUploadsRequest::Get if (BucketHasBeenSet()) { parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); } + if (PrefixHasBeenSet()) { + parameters.emplace_back(Aws::String("Prefix"), this->GetPrefix(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } return parameters; } diff --git a/generated/src/aws-cpp-sdk-s3-crt/source/model/ListObjectVersionsRequest.cpp b/generated/src/aws-cpp-sdk-s3-crt/source/model/ListObjectVersionsRequest.cpp index 0298f6d423b..2e73b21ba4a 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/source/model/ListObjectVersionsRequest.cpp +++ b/generated/src/aws-cpp-sdk-s3-crt/source/model/ListObjectVersionsRequest.cpp @@ -139,5 +139,8 @@ ListObjectVersionsRequest::EndpointParameters ListObjectVersionsRequest::GetEndp if (BucketHasBeenSet()) { parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); } + if (PrefixHasBeenSet()) { + parameters.emplace_back(Aws::String("Prefix"), this->GetPrefix(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } return parameters; } diff --git a/generated/src/aws-cpp-sdk-s3-crt/source/model/ListObjectsRequest.cpp b/generated/src/aws-cpp-sdk-s3-crt/source/model/ListObjectsRequest.cpp index 33c41b2496a..fb86b3d6d4f 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/source/model/ListObjectsRequest.cpp +++ b/generated/src/aws-cpp-sdk-s3-crt/source/model/ListObjectsRequest.cpp @@ -131,5 +131,8 @@ ListObjectsRequest::EndpointParameters ListObjectsRequest::GetEndpointContextPar if (BucketHasBeenSet()) { parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); } + if (PrefixHasBeenSet()) { + parameters.emplace_back(Aws::String("Prefix"), this->GetPrefix(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } return parameters; } diff --git a/generated/src/aws-cpp-sdk-s3-crt/source/model/ListObjectsV2Request.cpp b/generated/src/aws-cpp-sdk-s3-crt/source/model/ListObjectsV2Request.cpp index 1619c1c2b65..e174fa257b9 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/source/model/ListObjectsV2Request.cpp +++ b/generated/src/aws-cpp-sdk-s3-crt/source/model/ListObjectsV2Request.cpp @@ -148,5 +148,8 @@ ListObjectsV2Request::EndpointParameters ListObjectsV2Request::GetEndpointContex if (BucketHasBeenSet()) { parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); } + if (PrefixHasBeenSet()) { + parameters.emplace_back(Aws::String("Prefix"), this->GetPrefix(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } return parameters; } diff --git a/generated/src/aws-cpp-sdk-s3-crt/source/model/ListPartsRequest.cpp b/generated/src/aws-cpp-sdk-s3-crt/source/model/ListPartsRequest.cpp index 1a106582437..8c2b0718ea5 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/source/model/ListPartsRequest.cpp +++ b/generated/src/aws-cpp-sdk-s3-crt/source/model/ListPartsRequest.cpp @@ -129,5 +129,8 @@ ListPartsRequest::EndpointParameters ListPartsRequest::GetEndpointContextParams( if (BucketHasBeenSet()) { parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); } + if (KeyHasBeenSet()) { + parameters.emplace_back(Aws::String("Key"), this->GetKey(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } return parameters; } diff --git a/generated/src/aws-cpp-sdk-s3-crt/source/model/PutObjectAclRequest.cpp b/generated/src/aws-cpp-sdk-s3-crt/source/model/PutObjectAclRequest.cpp index 642b8119cb7..e14e1528c10 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/source/model/PutObjectAclRequest.cpp +++ b/generated/src/aws-cpp-sdk-s3-crt/source/model/PutObjectAclRequest.cpp @@ -161,6 +161,9 @@ PutObjectAclRequest::EndpointParameters PutObjectAclRequest::GetEndpointContextP if (BucketHasBeenSet()) { parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); } + if (KeyHasBeenSet()) { + parameters.emplace_back(Aws::String("Key"), this->GetKey(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } return parameters; } diff --git a/generated/src/aws-cpp-sdk-s3-crt/source/model/PutObjectRequest.cpp b/generated/src/aws-cpp-sdk-s3-crt/source/model/PutObjectRequest.cpp index 42e1da1c3c7..0f68d1d4a9b 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/source/model/PutObjectRequest.cpp +++ b/generated/src/aws-cpp-sdk-s3-crt/source/model/PutObjectRequest.cpp @@ -320,6 +320,9 @@ PutObjectRequest::EndpointParameters PutObjectRequest::GetEndpointContextParams( if (BucketHasBeenSet()) { parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); } + if (KeyHasBeenSet()) { + parameters.emplace_back(Aws::String("Key"), this->GetKey(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } return parameters; } diff --git a/generated/src/aws-cpp-sdk-s3-crt/source/model/UploadPartRequest.cpp b/generated/src/aws-cpp-sdk-s3-crt/source/model/UploadPartRequest.cpp index cbfe057cf16..cb456bd97b2 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/source/model/UploadPartRequest.cpp +++ b/generated/src/aws-cpp-sdk-s3-crt/source/model/UploadPartRequest.cpp @@ -174,6 +174,9 @@ UploadPartRequest::EndpointParameters UploadPartRequest::GetEndpointContextParam if (BucketHasBeenSet()) { parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); } + if (KeyHasBeenSet()) { + parameters.emplace_back(Aws::String("Key"), this->GetKey(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } return parameters; } diff --git a/generated/src/aws-cpp-sdk-s3/include/aws/s3/S3Client.h b/generated/src/aws-cpp-sdk-s3/include/aws/s3/S3Client.h index 32e51c7f17a..036e0089af9 100644 --- a/generated/src/aws-cpp-sdk-s3/include/aws/s3/S3Client.h +++ b/generated/src/aws-cpp-sdk-s3/include/aws/s3/S3Client.h @@ -4815,10 +4815,10 @@ namespace Aws * require both a mode and a period.

  • The * DefaultRetention period can be either Days or * Years but you must select one. You cannot specify Days - * and Years at the same time.

  • You can only enable - * Object Lock for new buckets. If you want to turn on Object Lock for an existing - * bucket, contact Amazon Web Services Support.

  • See - * Also:

    Years at the same time.

  • You can enable Object + * Lock for new or existing buckets. For more information, see Configuring + * Object Lock.

  • See Also:

    AWS * API Reference

    */ diff --git a/generated/src/aws-cpp-sdk-s3/source/S3EndpointRules.cpp b/generated/src/aws-cpp-sdk-s3/source/S3EndpointRules.cpp index b110f1f1949..a9e2b932308 100644 --- a/generated/src/aws-cpp-sdk-s3/source/S3EndpointRules.cpp +++ b/generated/src/aws-cpp-sdk-s3/source/S3EndpointRules.cpp @@ -10,8 +10,8 @@ namespace Aws { namespace S3 { -const size_t S3EndpointRules::RulesBlobStrLen = 64175; -const size_t S3EndpointRules::RulesBlobSize = 64176; +const size_t S3EndpointRules::RulesBlobStrLen = 64588; +const size_t S3EndpointRules::RulesBlobSize = 64589; using RulesBlobT = Aws::Array; static constexpr RulesBlobT RulesBlob = {{ @@ -89,134 +89,139 @@ static constexpr RulesBlobT RulesBlob = {{ 'm','b','d','a',' ','e','n','d','p','o','i','n','t',' ','f','o','r',' ','a','n',' ','o','p','e','r', 'a','t','i','o','n',' ','(','e','g',':',' ','W','r','i','t','e','G','e','t','O','b','j','e','c','t', 'R','e','s','p','o','n','s','e',')','"',',','"','t','y','p','e','"',':','"','B','o','o','l','e','a', -'n','"','}',',','"','D','i','s','a','b','l','e','A','c','c','e','s','s','P','o','i','n','t','s','"', -':','{','"','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','"',':','"','I','n','t','e','r','n','a','l',' ','p','a','r','a','m', -'e','t','e','r',' ','t','o',' ','d','i','s','a','b','l','e',' ','A','c','c','e','s','s',' ','P','o', -'i','n','t',' ','B','u','c','k','e','t','s','"',',','"','t','y','p','e','"',':','"','B','o','o','l', -'e','a','n','"','}',',','"','D','i','s','a','b','l','e','M','u','l','t','i','R','e','g','i','o','n', -'A','c','c','e','s','s','P','o','i','n','t','s','"',':','{','"','b','u','i','l','t','I','n','"',':', -'"','A','W','S',':',':','S','3',':',':','D','i','s','a','b','l','e','M','u','l','t','i','R','e','g', -'i','o','n','A','c','c','e','s','s','P','o','i','n','t','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','t','h','e','r',' ','m', -'u','l','t','i','-','r','e','g','i','o','n',' ','a','c','c','e','s','s',' ','p','o','i','n','t','s', -' ','(','M','R','A','P',')',' ','s','h','o','u','l','d',' ','b','e',' ','d','i','s','a','b','l','e', -'d','.','"',',','"','t','y','p','e','"',':','"','B','o','o','l','e','a','n','"','}',',','"','U','s', -'e','A','r','n','R','e','g','i','o','n','"',':','{','"','b','u','i','l','t','I','n','"',':','"','A', -'W','S',':',':','S','3',':',':','U','s','e','A','r','n','R','e','g','i','o','n','"',',','"','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','"',':','"','W','h','e','n',' ','a','n',' ','A','c','c','e','s','s',' ','P','o','i','n', -'t',' ','A','R','N',' ','i','s',' ','p','r','o','v','i','d','e','d',' ','a','n','d',' ','t','h','i', -'s',' ','f','l','a','g',' ','i','s',' ','e','n','a','b','l','e','d',',',' ','t','h','e',' ','S','D', -'K',' ','M','U','S','T',' ','u','s','e',' ','t','h','e',' ','A','R','N','\'','s',' ','r','e','g','i', -'o','n',' ','w','h','e','n',' ','c','o','n','s','t','r','u','c','t','i','n','g',' ','t','h','e',' ', -'e','n','d','p','o','i','n','t',' ','i','n','s','t','e','a','d',' ','o','f',' ','t','h','e',' ','c', -'l','i','e','n','t','\'','s',' ','c','o','n','f','i','g','u','r','e','d',' ','r','e','g','i','o','n', -'.','"',',','"','t','y','p','e','"',':','"','B','o','o','l','e','a','n','"','}','}',',','"','r','u', -'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', -'"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','R','e','g','i','o','n','"','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c', -'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a', -'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'A','c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"', -':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',']', -',','"','e','r','r','o','r','"',':','"','A','c','c','e','l','e','r','a','t','e',' ','c','a','n','n', -'o','t',' ','b','e',' ','u','s','e','d',' ','w','i','t','h',' ','F','I','P','S','"',',','"','t','y', -'p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t', -'a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n', -'t','"','}',']','}',']',',','"','e','r','r','o','r','"',':','"','C','a','n','n','o','t',' ','s','e', -'t',' ','d','u','a','l','-','s','t','a','c','k',' ','i','n',' ','c','o','m','b','i','n','a','t','i', -'o','n',' ','w','i','t','h',' ','a',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t', -'.','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d', +'n','"','}',',','"','K','e','y','"',':','{','"','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','"',':','"','T','h','e',' ','S', +'3',' ','K','e','y',' ','u','s','e','d',' ','t','o',' ','s','e','n','d',' ','t','h','e',' ','r','e', +'q','u','e','s','t','.',' ','T','h','i','s',' ','i','s',' ','a','n',' ','o','p','t','i','o','n','a', +'l',' ','p','a','r','a','m','e','t','e','r',' ','t','h','a','t',' ','w','i','l','l',' ','b','e',' ', +'s','e','t',' ','a','u','t','o','m','a','t','i','c','a','l','l','y',' ','f','o','r',' ','o','p','e', +'r','a','t','i','o','n','s',' ','t','h','a','t',' ','a','r','e',' ','s','c','o','p','e','d',' ','t', +'o',' ','a','n',' ','S','3',' ','K','e','y','.','"',',','"','t','y','p','e','"',':','"','S','t','r', +'i','n','g','"','}',',','"','P','r','e','f','i','x','"',':','{','"','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','"',':','"', +'T','h','e',' ','S','3',' ','P','r','e','f','i','x',' ','u','s','e','d',' ','t','o',' ','s','e','n', +'d',' ','t','h','e',' ','r','e','q','u','e','s','t','.',' ','T','h','i','s',' ','i','s',' ','a','n', +' ','o','p','t','i','o','n','a','l',' ','p','a','r','a','m','e','t','e','r',' ','t','h','a','t',' ', +'w','i','l','l',' ','b','e',' ','s','e','t',' ','a','u','t','o','m','a','t','i','c','a','l','l','y', +' ','f','o','r',' ','o','p','e','r','a','t','i','o','n','s',' ','t','h','a','t',' ','a','r','e',' ', +'s','c','o','p','e','d',' ','t','o',' ','a','n',' ','S','3',' ','P','r','e','f','i','x','.','"',',', +'"','t','y','p','e','"',':','"','S','t','r','i','n','g','"','}',',','"','D','i','s','a','b','l','e', +'A','c','c','e','s','s','P','o','i','n','t','s','"',':','{','"','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','"',':','"','I', +'n','t','e','r','n','a','l',' ','p','a','r','a','m','e','t','e','r',' ','t','o',' ','d','i','s','a', +'b','l','e',' ','A','c','c','e','s','s',' ','P','o','i','n','t',' ','B','u','c','k','e','t','s','"', +',','"','t','y','p','e','"',':','"','B','o','o','l','e','a','n','"','}',',','"','D','i','s','a','b', +'l','e','M','u','l','t','i','R','e','g','i','o','n','A','c','c','e','s','s','P','o','i','n','t','s', +'"',':','{','"','b','u','i','l','t','I','n','"',':','"','A','W','S',':',':','S','3',':',':','D','i', +'s','a','b','l','e','M','u','l','t','i','R','e','g','i','o','n','A','c','c','e','s','s','P','o','i', +'n','t','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','t','h','e','r',' ','m','u','l','t','i','-','r','e','g','i','o','n',' ', +'a','c','c','e','s','s',' ','p','o','i','n','t','s',' ','(','M','R','A','P',')',' ','s','h','o','u', +'l','d',' ','b','e',' ','d','i','s','a','b','l','e','d','.','"',',','"','t','y','p','e','"',':','"', +'B','o','o','l','e','a','n','"','}',',','"','U','s','e','A','r','n','R','e','g','i','o','n','"',':', +'{','"','b','u','i','l','t','I','n','"',':','"','A','W','S',':',':','S','3',':',':','U','s','e','A', +'r','n','R','e','g','i','o','n','"',',','"','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','"',':','"','W','h','e','n',' ','a', +'n',' ','A','c','c','e','s','s',' ','P','o','i','n','t',' ','A','R','N',' ','i','s',' ','p','r','o', +'v','i','d','e','d',' ','a','n','d',' ','t','h','i','s',' ','f','l','a','g',' ','i','s',' ','e','n', +'a','b','l','e','d',',',' ','t','h','e',' ','S','D','K',' ','M','U','S','T',' ','u','s','e',' ','t', +'h','e',' ','A','R','N','\'','s',' ','r','e','g','i','o','n',' ','w','h','e','n',' ','c','o','n','s', +'t','r','u','c','t','i','n','g',' ','t','h','e',' ','e','n','d','p','o','i','n','t',' ','i','n','s', +'t','e','a','d',' ','o','f',' ','t','h','e',' ','c','l','i','e','n','t','\'','s',' ','c','o','n','f', +'i','g','u','r','e','d',' ','r','e','g','i','o','n','.','"',',','"','t','y','p','e','"',':','"','B', +'o','o','l','e','a','n','"','}','}',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']','}',']', +',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}', +',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F', +'I','P','S','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','A','c', +'c','e','l','e','r','a','t','e',' ','c','a','n','n','o','t',' ','b','e',' ','u','s','e','d',' ','w', +'i','t','h',' ','F','I','P','S','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}', +',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']',',','"','e','r','r','o', +'r','"',':','"','C','a','n','n','o','t',' ','s','e','t',' ','d','u','a','l','-','s','t','a','c','k', +' ','i','n',' ','c','o','m','b','i','n','a','t','i','o','n',' ','w','i','t','h',' ','a',' ','c','u', +'s','t','o','m',' ','e','n','d','p','o','i','n','t','.','"',',','"','t','y','p','e','"',':','"','e', +'r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', +'n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','b','o','o', +'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r', +'o','r','"',':','"','A',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','c','a', +'n','n','o','t',' ','b','e',' ','c','o','m','b','i','n','e','d',' ','w','i','t','h',' ','F','I','P', +'S','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d', 'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a', 'r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']', '}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',', -'t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','A',' ','c','u','s','t','o','m', -' ','e','n','d','p','o','i','n','t',' ','c','a','n','n','o','t',' ','b','e',' ','c','o','m','b','i', -'n','e','d',' ','w','i','t','h',' ','F','I','P','S','"',',','"','t','y','p','e','"',':','"','e','r', -'r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', -'"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e',']','}',']',',','"','e', -'r','r','o','r','"',':','"','A',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ', -'c','a','n','n','o','t',' ','b','e',' ','c','o','m','b','i','n','e','d',' ','w','i','t','h',' ','S', -'3',' ','A','c','c','e','l','e','r','a','t','e','"',',','"','t','y','p','e','"',':','"','e','r','r', -'o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', -':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',', -'{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a', -'s','s','i','g','n','"',':','"','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}', -',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','p','a','r','t','i','t','i','o','n','R','e','s','u', -'l','t','"','}',',','"','n','a','m','e','"',']','}',',','"','a','w','s','-','c','n','"',']','}',']', -',','"','e','r','r','o','r','"',':','"','P','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ', -'n','o','t',' ','s','u','p','p','o','r','t',' ','F','I','P','S','"',',','"','t','y','p','e','"',':', -'"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', -'"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','B','u','c','k','e','t','"','}',']','}',',','{','"','f','n','"',':','"','s','u','b', -'s','t','r','i','n','g','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B', -'u','c','k','e','t','"','}',',','4','9',',','5','0',',','t','r','u','e',']',',','"','a','s','s','i', -'g','n','"',':','"','h','a','r','d','w','a','r','e','T','y','p','e','"','}',',','{','"','f','n','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e', +'"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','A',' ','c','u','s', +'t','o','m',' ','e','n','d','p','o','i','n','t',' ','c','a','n','n','o','t',' ','b','e',' ','c','o', +'m','b','i','n','e','d',' ','w','i','t','h',' ','S','3',' ','A','c','c','e','l','e','r','a','t','e', +'"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F', +'I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','a','w','s','.','p', +'a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','p','a','r','t', +'i','t','i','o','n','R','e','s','u','l','t','"','}',',','{','"','f','n','"',':','"','s','t','r','i', +'n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', +'g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','n','a','m','e','"',']', +'}',',','"','a','w','s','-','c','n','"',']','}',']',',','"','e','r','r','o','r','"',':','"','P','a', +'r','t','i','t','i','o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ', +'F','I','P','S','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}', +']','}',',','{','"','f','n','"',':','"','s','u','b','s','t','r','i','n','g','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',',','4','9',',','5', +'0',',','t','r','u','e',']',',','"','a','s','s','i','g','n','"',':','"','h','a','r','d','w','a','r', +'e','T','y','p','e','"','}',',','{','"','f','n','"',':','"','s','u','b','s','t','r','i','n','g','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}', +',','8',',','1','2',',','t','r','u','e',']',',','"','a','s','s','i','g','n','"',':','"','r','e','g', +'i','o','n','P','r','e','f','i','x','"','}',',','{','"','f','n','"',':','"','s','u','b','s','t','r', +'i','n','g','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k', +'e','t','"','}',',','0',',','7',',','t','r','u','e',']',',','"','a','s','s','i','g','n','"',':','"', +'b','u','c','k','e','t','A','l','i','a','s','S','u','f','f','i','x','"','}',',','{','"','f','n','"', ':','"','s','u','b','s','t','r','i','n','g','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','B','u','c','k','e','t','"','}',',','8',',','1','2',',','t','r','u','e',']',',','"', -'a','s','s','i','g','n','"',':','"','r','e','g','i','o','n','P','r','e','f','i','x','"','}',',','{', -'"','f','n','"',':','"','s','u','b','s','t','r','i','n','g','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',',','0',',','7',',','t','r','u','e', -']',',','"','a','s','s','i','g','n','"',':','"','b','u','c','k','e','t','A','l','i','a','s','S','u', -'f','f','i','x','"','}',',','{','"','f','n','"',':','"','s','u','b','s','t','r','i','n','g','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',',', -'3','2',',','4','9',',','t','r','u','e',']',',','"','a','s','s','i','g','n','"',':','"','o','u','t', -'p','o','s','t','I','d','"','}',',','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i', -'t','i','o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g', -'i','o','n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','r','e','g','i','o','n','P','a', -'r','t','i','t','i','o','n','"','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c', -'k','e','t','A','l','i','a','s','S','u','f','f','i','x','"','}',',','"','-','-','o','p','-','s','3', -'"',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n', -'s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b', -'e','l','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','o','u','t','p','o', -'s','t','I','d','"','}',',','f','a','l','s','e',']','}',']',',','"','r','u','l','e','s','"',':','[', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r', -'i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','h','a','r','d','w','a','r','e','T','y','p','e','"','}',',','"','e','"',']','}',']',',','"', -'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', +'f','"',':','"','B','u','c','k','e','t','"','}',',','3','2',',','4','9',',','t','r','u','e',']',',', +'"','a','s','s','i','g','n','"',':','"','o','u','t','p','o','s','t','I','d','"','}',',','{','"','f', +'n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i', +'g','n','"',':','"','r','e','g','i','o','n','P','a','r','t','i','t','i','o','n','"','}',',','{','"', 'f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','r','e','g','i','o','n','P','r','e','f','i','x','"','}',',', -'"','b','e','t','a','"',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d', -'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g', -'v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',']',',', -'"','e','r','r','o','r','"',':','"','E','x','p','e','c','t','e','d',' ','a',' ','e','n','d','p','o', -'i','n','t',' ','t','o',' ','b','e',' ','s','p','e','c','i','f','i','e','d',' ','b','u','t',' ','n', -'o',' ','e','n','d','p','o','i','n','t',' ','w','a','s',' ','f','o','u','n','d','"',',','"','t','y', -'p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n', -'"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':', -'"','u','r','l','"','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"', -':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','e','c','2','.','{','u', -'r','l','#','a','u','t','h','o','r','i','t','y','}','"',',','"','p','r','o','p','e','r','t','i','e', -'s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a', -'b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"', -'n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m', -'e','"',':','"','s','3','-','o','u','t','p','o','s','t','s','"',',','"','s','i','g','n','i','n','g', -'R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e', -'a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i', -'n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o', -'n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{', -'"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','e', -'c','2','.','s','3','-','o','u','t','p','o','s','t','s','.','{','R','e','g','i','o','n','}','.','{', -'r','e','g','i','o','n','P','a','r','t','i','t','i','o','n','#','d','n','s','S','u','f','f','i','x', +':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','l','i','a','s','S','u','f','f', +'i','x','"','}',',','"','-','-','o','p','-','s','3','"',']','}',']',',','"','r','u','l','e','s','"', +':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i', +'s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','o','u','t','p','o','s','t','I','d','"','}',',','f','a','l','s','e', +']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s', +'"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','h','a','r','d','w','a','r','e','T','y', +'p','e','"','}',',','"','e','"',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','r','e', +'g','i','o','n','P','r','e','f','i','x','"','}',',','"','b','e','t','a','"',']','}',']',',','"','r', +'u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', +'n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i', +'s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d', +'p','o','i','n','t','"','}',']','}',']','}',']',',','"','e','r','r','o','r','"',':','"','E','x','p', +'e','c','t','e','d',' ','a',' ','e','n','d','p','o','i','n','t',' ','t','o',' ','b','e',' ','s','p', +'e','c','i','f','i','e','d',' ','b','u','t',' ','n','o',' ','e','n','d','p','o','i','n','t',' ','w', +'a','s',' ','f','o','u','n','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s', +'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p', +'o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t', +'"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',']',',','"','e','n','d', +'p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B', +'u','c','k','e','t','}','.','e','c','2','.','{','u','r','l','#','a','u','t','h','o','r','i','t','y', '}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h', 'e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c', 'o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4', @@ -224,96 +229,184 @@ static constexpr RulesBlobT RulesBlob = {{ 's','t','s','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e', 'g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"', 't','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"', -':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', -'"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','h','a','r','d','w','a','r','e','T','y','p','e','"','}', -',','"','o','"',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t', -'i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l', -'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','r','e','g','i','o','n', -'P','r','e','f','i','x','"','}',',','"','b','e','t','a','"',']','}',']',',','"','r','u','l','e','s', -'"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', -'n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n', -'t','"','}',']','}',']','}',']',',','"','e','r','r','o','r','"',':','"','E','x','p','e','c','t','e', -'d',' ','a',' ','e','n','d','p','o','i','n','t',' ','t','o',' ','b','e',' ','s','p','e','c','i','f', -'i','e','d',' ','b','u','t',' ','n','o',' ','e','n','d','p','o','i','n','t',' ','w','a','s',' ','f', -'o','u','n','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c', -'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t', -'"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',', -'"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',']',',','"','e','n','d','p','o','i','n', -'t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e', -'t','}','.','o','p','-','{','o','u','t','p','o','s','t','I','d','}','.','{','u','r','l','#','a','u', -'t','h','o','r','i','t','y','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"', -'a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o', -'u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"', -':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s', -'3','-','o','u','t','p','o','s','t','s','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o', -'n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s', -'"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']', -',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i', -'o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"', -':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','o','p','-','{','o','u', -'t','p','o','s','t','I','d','}','.','s','3','-','o','u','t','p','o','s','t','s','.','{','R','e','g', -'i','o','n','}','.','{','r','e','g','i','o','n','P','a','r','t','i','t','i','o','n','#','d','n','s', -'S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a', -'u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u', -'b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':', -'"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3', -'-','o','u','t','p','o','s','t','s','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n', -'"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"', -':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',', -'"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o', -'n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','U','n','r','e','c','o','g','n','i', -'z','e','d',' ','h','a','r','d','w','a','r','e',' ','t','y','p','e',':',' ','\\','"','E','x','p','e', -'c','t','e','d',' ','h','a','r','d','w','a','r','e',' ','t','y','p','e',' ','o',' ','o','r',' ','e', -' ','b','u','t',' ','g','o','t',' ','{','h','a','r','d','w','a','r','e','T','y','p','e','}','\\','"', -'"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"', ':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']', -',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','T','h', -'e',' ','o','u','t','p','o','s','t',' ','I','d',' ','m','u','s','t',' ','o','n','l','y',' ','c','o', -'n','t','a','i','n',' ','a','-','z',',',' ','A','-','Z',',',' ','0','-','9',' ','a','n','d',' ','`', -'-','`','.','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y', -'p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', -':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',']','}',']',',','"','r','u','l','e','s', -'"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', -'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', -'d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a', -'r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v', -'"',':','[','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}', -']','}',']',',','"','e','r','r','o','r','"',':','"','C','u','s','t','o','m',' ','e','n','d','p','o', -'i','n','t',' ','`','{','E','n','d','p','o','i','n','t','}','`',' ','w','a','s',' ','n','o','t',' ', -'a',' ','v','a','l','i','d',' ','U','R','I','"',',','"','t','y','p','e','"',':','"','e','r','r','o', -'r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', +',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s', +':','/','/','{','B','u','c','k','e','t','}','.','e','c','2','.','s','3','-','o','u','t','p','o','s', +'t','s','.','{','R','e','g','i','o','n','}','.','{','r','e','g','i','o','n','P','a','r','t','i','t', +'i','o','n','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i', +'e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s', +'a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',', +'"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a', +'m','e','"',':','"','s','3','-','o','u','t','p','o','s','t','s','"',',','"','s','i','g','n','i','n', +'g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h', +'e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o', +'i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','h', +'a','r','d','w','a','r','e','T','y','p','e','"','}',',','"','o','"',']','}',']',',','"','r','u','l', +'e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', +':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','r','e','g','i','o','n','P','r','e','f','i','x','"','}',',','"','b','e', +'t','a','"',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':', +'[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',']',',','"','e','r', +'r','o','r','"',':','"','E','x','p','e','c','t','e','d',' ','a',' ','e','n','d','p','o','i','n','t', +' ','t','o',' ','b','e',' ','s','p','e','c','i','f','i','e','d',' ','b','u','t',' ','n','o',' ','e', +'n','d','p','o','i','n','t',' ','w','a','s',' ','f','o','u','n','d','"',',','"','t','y','p','e','"', +':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"', +'p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r', +'l','"','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h', +'t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','o','p','-','{','o','u','t','p','o', +'s','t','I','d','}','.','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','"',',','"','p', +'r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"', +':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g', +'"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i', +'g','n','i','n','g','N','a','m','e','"',':','"','s','3','-','o','u','t','p','o','s','t','s','"',',', +'"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}', +'"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"', +':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e', +'e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d', +'p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B', +'u','c','k','e','t','}','.','o','p','-','{','o','u','t','p','o','s','t','I','d','}','.','s','3','-', +'o','u','t','p','o','s','t','s','.','{','R','e','g','i','o','n','}','.','{','r','e','g','i','o','n', +'P','a','r','t','i','t','i','o','n','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r', +'o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':', +'[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"', +':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g', +'n','i','n','g','N','a','m','e','"',':','"','s','3','-','o','u','t','p','o','s','t','s','"',',','"', +'s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"', +'}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':', +'"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', +'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o', +'r','"',':','"','U','n','r','e','c','o','g','n','i','z','e','d',' ','h','a','r','d','w','a','r','e', +' ','t','y','p','e',':',' ','\\','"','E','x','p','e','c','t','e','d',' ','h','a','r','d','w','a','r', +'e',' ','t','y','p','e',' ','o',' ','o','r',' ','e',' ','b','u','t',' ','g','o','t',' ','{','h','a', +'r','d','w','a','r','e','T','y','p','e','}','\\','"','"',',','"','t','y','p','e','"',':','"','e','r', +'r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n', +'v','a','l','i','d',' ','A','R','N',':',' ','T','h','e',' ','o','u','t','p','o','s','t',' ','I','d', +' ','m','u','s','t',' ','o','n','l','y',' ','c','o','n','t','a','i','n',' ','a','-','z',',',' ','A', +'-','Z',',',' ','0','-','9',' ','a','n','d',' ','`','-','`','.','"',',','"','t','y','p','e','"',':', +'"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',', +'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S', +'e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e', +'t','"','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{', +'"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':', +'"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','p','a', +'r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E', +'n','d','p','o','i','n','t','"','}',']','}',']','}',']','}',']',',','"','e','r','r','o','r','"',':', +'"','C','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','`','{','E','n','d','p','o','i', +'n','t','}','`',' ','w','a','s',' ','n','o','t',' ','a',' ','v','a','l','i','d',' ','U','R','I','"', +',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','F','o','r','c','e', +'P','a','t','h','S','t','y','l','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"', +':','"','a','w','s','.','i','s','V','i','r','t','u','a','l','H','o','s','t','a','b','l','e','S','3', +'B','u','c','k','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B', +'u','c','k','e','t','"','}',',','f','a','l','s','e',']','}',']',',','"','r','u','l','e','s','"',':', +'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w', +'s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','p', +'a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',']',',','"','r','u','l','e','s','"', +':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i', +'s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','f','a','l','s','e',']','}',']', +',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}', +',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t', +'r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','p','a','r','t','i','t', +'i','o','n','R','e','s','u','l','t','"','}',',','"','n','a','m','e','"',']','}',',','"','a','w','s', +'-','c','n','"',']','}',']',',','"','e','r','r','o','r','"',':','"','S','3',' ','A','c','c','e','l', +'e','r','a','t','e',' ','c','a','n','n','o','t',' ','b','e',' ','u','s','e','d',' ','i','n',' ','t', +'h','i','s',' ','r','e','g','i','o','n','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r', +'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', +'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e', +']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}', +',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e', +'l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n', +'o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t', +'"','}',']','}',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n', +'"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o', +'i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c', +'k','e','t','}','.','s','3','-','f','i','p','s','.','d','u','a','l','s','t','a','c','k','.','u','s', +'-','e','a','s','t','-','1','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#', +'d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':', +'{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e', +'D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m', +'e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':', +'"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-', +'e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',', +'"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', +'D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':', '"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','F','o','r','c','e','P','a','t','h','S','t','y','l','e','"','}',',','f', -'a','l','s','e',']','}',',','{','"','f','n','"',':','"','a','w','s','.','i','s','V','i','r','t','u', -'a','l','H','o','s','t','a','b','l','e','S','3','B','u','c','k','e','t','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',',','f','a','l','s','e', -']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']', -',','"','a','s','s','i','g','n','"',':','"','p','a','r','t','i','t','i','o','n','R','e','s','u','l', -'t','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n', -'s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b', -'e','l','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o', -'n','"','}',',','f','a','l','s','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c', -'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a', +'"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',', +'f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v', +'"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"', +'f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', +'s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l', +'"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o', +'b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','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','"',':','"','h','t','t','p','s',':','/','/', +'{','B','u','c','k','e','t','}','.','s','3','-','f','i','p','s','.','d','u','a','l','s','t','a','c', +'k','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u', +'l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e', +'s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a', +'b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"', +'n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m', +'e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"', +'{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}', +'}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y', +'p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a', +'c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a', 'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'A','c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"', -':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"', -'n','a','m','e','"',']','}',',','"','a','w','s','-','c','n','"',']','}',']',',','"','e','r','r','o', -'r','"',':','"','S','3',' ','A','c','c','e','l','e','r','a','t','e',' ','c','a','n','n','o','t',' ', -'b','e',' ','u','s','e','d',' ','i','n',' ','t','h','i','s',' ','r','e','g','i','o','n','"',',','"', -'t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o', -'n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l', -'S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o', +'U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b', +'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}', +',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n', +'"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o', +'t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e', +'g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p', +'o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t', +'"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t', +'}','.','s','3','-','f','i','p','s','.','d','u','a','l','s','t','a','c','k','.','{','R','e','g','i', +'o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S', +'u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u', +'t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b', +'l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"', +'s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"', +',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n', +'}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e', +'"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S', +'t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o', 'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', '"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"', ':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', @@ -325,18 +418,45 @@ static constexpr RulesBlobT RulesBlob = {{ 'r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a', 'l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"', 'h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','-','f','i','p','s','.', -'d','u','a','l','s','t','a','c','k','.','u','s','-','e','a','s','t','-','1','.','{','p','a','r','t', -'i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"', -'p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s', -'"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n', -'g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s', -'i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g', -'R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h', -'e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o', -'i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', -'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t', -'r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'u','s','-','e','a','s','t','-','1','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l', +'t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s', +'"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b', +'l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n', +'a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e', +'"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u', +'s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}', +'}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', +'s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f', +'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']', +'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e', +'"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a', +'r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}', +',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n', +'"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o', +'b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', +'G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','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','"',':','"','h','t','t','p','s', +':','/','/','{','B','u','c','k','e','t','}','.','s','3','-','f','i','p','s','.','{','R','e','g','i', +'o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S', +'u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u', +'t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b', +'l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"', +'s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"', +',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n', +'}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e', +'"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r', +'e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a', +'l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', 's','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P', 'S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', 'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A', @@ -349,120 +469,67 @@ static constexpr RulesBlobT RulesBlob = {{ ',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"', 'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', 'r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}', -',','t','r','u','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', +',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r', 'l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','-','f', -'i','p','s','.','d','u','a','l','s','t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p', -'a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}', -'"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e', -'m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o', -'d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"', -',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n', -'i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',', -'"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d', -'p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{', -'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u', +'i','p','s','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e', +'s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t', +'i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i', +'s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e', +',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N', +'a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"', +':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':', +'{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e', +'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s', 'e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', ',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a', -'t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',', -'"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}', -']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"', -'f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g', -'l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', -'s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']', -'}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t', -'p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','-','f','i','p','s','.','d','u','a', -'l','s','t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o', -'n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p', -'e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{', -'"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t', -'r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i', -'n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i', -'o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r', -'s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}', -',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', -'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']', -'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',', -'t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l', -'e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o', -'t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"', -'}',']','}',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"', -'}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i', -'n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k', -'e','t','}','.','s','3','-','f','i','p','s','.','u','s','-','e','a','s','t','-','1','.','{','p','a', -'r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"', -',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m', -'e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d', -'i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',', -'"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i', -'n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',', -'"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d', -'p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', -'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}', -',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', -'F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"', -'f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', -'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', -'d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',', -'"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o', -'n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n', -'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n', -'t','"','}',',','t','r','u','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','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s', -'3','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o', -'n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p', -'e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{', -'"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t', -'r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i', -'n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i', -'o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r', -'s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}', -']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t', -'i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u', -'a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"', -'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"', -'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f', -'a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"', -':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f', -'n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s', -'t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"', -']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b', -'a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n', -'d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{', -'B','u','c','k','e','t','}','.','s','3','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.', -'{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i', -'x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c', -'h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n', -'c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v', -'4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i', -'g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']', -'}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e', -'n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'t','e','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"', +'a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']', +'}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a', +'w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':', +'{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.', +'s','3','-','a','c','c','e','l','e','r','a','t','e','.','d','u','a','l','s','t','a','c','k','.','u', +'s','-','e','a','s','t','-','1','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t', +'#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"', +':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l', +'e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a', +'m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"', +':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s', +'-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}', +',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n', +'d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', +'e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}', +',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"', +'}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g', +'v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{', +'"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':', +'"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a', +'l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l', +'o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','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','"',':','"','h','t','t','p','s',':','/', +'/','{','B','u','c','k','e','t','}','.','s','3','-','a','c','c','e','l','e','r','a','t','e','.','d', +'u','a','l','s','t','a','c','k','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t', +'#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"', +':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l', +'e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a', +'m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"', +':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R', +'e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',', +'"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e', +'"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', '{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', 'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k', '"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', @@ -472,72 +539,44 @@ static constexpr RulesBlobT RulesBlob = {{ 'f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e',']','}',',','{', '"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':', '"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E', +'n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"', +',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i', +'o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f', +'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i', +'n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':', +'{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.', +'s','3','-','a','c','c','e','l','e','r','a','t','e','.','d','u','a','l','s','t','a','c','k','.','{', +'p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x', +'}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h', +'e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c', +'o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4', +'"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g', +'n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}', +',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n', +'d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"', +'}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', +'F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o', +'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{', +'"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':', +'"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E', 'n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','s','t','r','i', 'n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', '"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']', ',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s', -':','/','/','{','B','u','c','k','e','t','}','.','s','3','-','a','c','c','e','l','e','r','a','t','e', -'.','d','u','a','l','s','t','a','c','k','.','u','s','-','e','a','s','t','-','1','.','{','p','a','r', -'t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',', -'"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e', -'s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i', -'n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"', -'s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n', -'g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"', -'h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p', -'o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', -'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',', -'t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I', -'P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', -'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','A','c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e',']','}',',','{','"','f','n', -'"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s', -'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p', -'o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a', -'r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"', -'}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"', -'}',',','t','r','u','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','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','-', -'a','c','c','e','l','e','r','a','t','e','.','d','u','a','l','s','t','a','c','k','.','{','p','a','r', -'t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',', -'"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e', -'s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i', -'n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"', -'s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n', -'g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h', -'e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o', -'i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c', -'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a', -'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f', -'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e', -']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t', -'e','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a', -'r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}', -',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n', -'"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o', -'b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', -'G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']', -',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s', -':','/','/','{','B','u','c','k','e','t','}','.','s','3','-','a','c','c','e','l','e','r','a','t','e', -'.','d','u','a','l','s','t','a','c','k','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u', -'l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e', -'s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a', -'b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"', -'n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m', -'e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"', -'{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}', +':','/','/','{','B','u','c','k','e','t','}','.','s','3','.','d','u','a','l','s','t','a','c','k','.', +'u','s','-','e','a','s','t','-','1','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l', +'t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s', +'"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b', +'l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n', +'a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e', +'"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u', +'s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}', '}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o', 'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', 'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', @@ -549,245 +588,148 @@ static constexpr RulesBlobT RulesBlob = {{ '"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a', 'r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v', '"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}', -',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w', -'s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{', -'"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s', -'3','.','d','u','a','l','s','t','a','c','k','.','u','s','-','e','a','s','t','-','1','.','{','p','a', -'r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"', -',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m', -'e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d', -'i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',', -'"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i', -'n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',', +',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n', +'"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o', +'b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', +'G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','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','"',':','"','h','t','t','p','s', +':','/','/','{','B','u','c','k','e','t','}','.','s','3','.','d','u','a','l','s','t','a','c','k','.', +'{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t', +'#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"', +':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l', +'e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a', +'m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"', +':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R', +'e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',', +'"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e', +'"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k', +'"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', +'e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',', +'{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"', +':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t', +'"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g', +'i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o', +'i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"', +':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}', +'.','s','3','.','d','u','a','l','s','t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p', +'a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}', +'"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e', +'m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o', +'d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"', +',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n', +'i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',', '"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d', 'p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', 'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', '"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}', -',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F', -'I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"', -'f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', -'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', -'d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',', -'"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o', -'n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n', -'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n', -'t','"','}',',','t','r','u','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','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s', -'3','.','d','u','a','l','s','t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p','a','r', -'t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',', -'"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e', -'s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i', -'n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"', -'s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n', -'g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h', -'e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o', -'i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c', -'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a', -'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f', -'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e', -']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t', -'e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"', -'a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']', -'}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f', -'n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l', -'o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', -'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', -'e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}', -']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p', -'s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','.','d','u','a','l','s','t','a','c','k', -'.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l', -'t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s', -'"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b', -'l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n', -'a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e', -'"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{', -'R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}', -',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n', -'d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', -'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', -'e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n', -'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']', -'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e', -'"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"', -'}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"', -'a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','b','o','o', -'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"', -':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','u','r','l','"','}',',','"','i','s','I','p','"',']','}',',','t','r','u','e',']','}',',','{', -'"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-', -'g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u', -'r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#', -'a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','n','o','r','m','a','l','i','z','e','d', -'P','a','t','h','}','{','B','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e', -'s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a', -'b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"', -'n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m', -'e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"', -'u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{', -'}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c', -'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a', -'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"', -'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s', -'e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a', -'t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n', -'t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']', -',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','b', -'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f', -'n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','u','r','l','"','}',',','"','i','s','I','p','"',']','}',',','f','a','l','s','e',']', -'}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a', -'w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':', -'{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','B', -'u','c','k','e','t','}','.','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r', -'l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a', -'u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u', -'b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':', -'"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3', -'"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s', -'t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y', -'p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i', -'o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', -'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a', -'l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b', +',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', +'F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o', +'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{', +'"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p', +'a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l', +'"','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','u','r','l','"','}',',','"','i','s','I', +'p','"',']','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R', +'e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"', +'e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c', +'h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u', +'r','l','#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}','{','B','u','c','k','e','t', +'}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h', +'e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c', +'o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4', +'"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g', +'n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']', +'}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e', +'n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k', +'"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', +'s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b', 'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"', -'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f', -'a','l','s','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',', -'{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i', -'g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e', -'t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','u','r', -'l','"','}',',','"','i','s','I','p','"',']','}',',','t','r','u','e',']','}',',','{','"','f','n','"', -':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r', +'e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}', +',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':', +'"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u', +'r','l','"','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','u','r','l','"','}',',','"','i', +'s','I','p','"',']','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','s','t','r', 'i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', ':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}', -']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l', -'E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s', -'"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', -'s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','u','s','-','e','a','s','t','-','1','"', -']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u', -'r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i', -'t','y','}','{','u','r','l','#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}','{','B', -'u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u', -'t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b', -'l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"', -'s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"', -',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n', -'}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e', -'"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n', -'s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"', -'{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o', -'r','i','t','y','}','{','u','r','l','#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}', -'{','B','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"', -'a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o', -'u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"', -':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s', -'3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i', -'o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y', -'p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"', -'t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', -'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',', -'f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F', -'I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"', -'f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a', -'r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E', -'n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"', -'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', -'a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','u','r','l','"','}',',','"','i','s','I','p', -'"',']','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"', -'a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l', -'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n', -'"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"', -':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t', -'"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n', -'d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g', -'i','o','n','"','}',',','"','u','s','-','e','a','s','t','-','1','"',']','}',']',',','"','e','n','d', -'p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m', -'e','}',':','/','/','{','B','u','c','k','e','t','}','.','{','u','r','l','#','a','u','t','h','o','r', -'i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t','i', -'e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s', -'a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',', -'"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a', -'m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':', -'"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{', -'}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c', -'o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':', -'{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','B', -'u','c','k','e','t','}','.','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r', -'l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a', -'u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u', -'b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':', -'"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3', -'"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o', -'n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', -'e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t', -'r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', -'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f', -'a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I', -'P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', -'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f', -'n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r', -'s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', -'d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}', -',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','u','r','l','"','}',',','"','i','s','I','p','"', -']','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r', -'g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}', -',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"', -'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}', -',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r', -'l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a', -'u','t','h','o','r','i','t','y','}','{','u','r','l','#','n','o','r','m','a','l','i','z','e','d','P', -'a','t','h','}','{','B','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s', -'"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b', -'l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n', -'a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e', -'"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{', -'R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}', -',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n', +']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l', +'#','s','c','h','e','m','e','}',':','/','/','{','B','u','c','k','e','t','}','.','{','u','r','l','#', +'a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r', +'o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':', +'[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"', +':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g', +'n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e', +'g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a', +'d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n', +'t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', +'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l', +'s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S', +'"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A', +'c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"', +':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e', +'U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p', +'o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','u','r','l','"','}',',','"','i','s','I','p','"',']','}', +',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v', +'"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"', +'a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t', +'r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"', +'}',',','"','u','s','-','e','a','s','t','-','1','"',']','}',']',',','"','e','n','d','p','o','i','n', +'t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/', +'/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','n','o','r','m', +'a','l','i','z','e','d','P','a','t','h','}','{','B','u','c','k','e','t','}','"',',','"','p','r','o', +'p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[', +'{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':', +'t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n', +'i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g', +'i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e', +'r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"', +'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o', +'i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}', +':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','n','o', +'r','m','a','l','i','z','e','d','P','a','t','h','}','{','B','u','c','k','e','t','}','"',',','"','p', +'r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"', +':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g', +'"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i', +'g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R', +'e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a', +'d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n', +'t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n', 'd','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', 'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', 'e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n', @@ -808,157 +750,145 @@ static constexpr RulesBlobT RulesBlob = {{ '"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b', 'a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', 'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G', -'l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',', -'"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s', -'c','h','e','m','e','}',':','/','/','{','B','u','c','k','e','t','}','.','{','u','r','l','#','a','u', -'t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o','p', -'e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{', -'"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t', -'r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i', -'n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i', -'o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r', -'s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}', -',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', -'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']', -'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',', -'f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e', -'l','e','r','a','t','e','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o', -'t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"', -'}',']','}',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"', -'}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i', -'n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k', -'e','t','}','.','s','3','-','a','c','c','e','l','e','r','a','t','e','.','{','p','a','r','t','i','t', -'i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r', -'o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':', -'[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"', -':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g', -'n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e', -'g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a', -'d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n', -'t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l', -'s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S', -'"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A', -'c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':', -'"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e', -'t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i', -'n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g', -'v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',', -'"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b', -'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',', -'t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t', -'i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l', -'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n', -'"','}',',','"','u','s','-','e','a','s','t','-','1','"',']','}',']',',','"','e','n','d','p','o','i', -'n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k', -'e','t','}','.','s','3','-','a','c','c','e','l','e','r','a','t','e','.','{','p','a','r','t','i','t', -'i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r', +'l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"', +'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', +'f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','u','s','-','e','a', +'s','t','-','1','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l', +'"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','B','u','c','k','e','t', +'}','.','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t', +'h','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c', +'h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n', +'c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v', +'4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i', +'g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']', +'}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e', +'n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l', +'#','s','c','h','e','m','e','}',':','/','/','{','B','u','c','k','e','t','}','.','{','u','r','l','#', +'a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r', 'o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':', '[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"', ':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g', 'n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e', 'g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d', 'e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t', -'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p', -'o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u', -'c','k','e','t','}','.','s','3','-','a','c','c','e','l','e','r','a','t','e','.','{','p','a','r','t', -'i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"', -'p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s', -'"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n', -'g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s', -'i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g', -'R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e', -'a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i', -'n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o', -'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', -'s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f', -'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e', -']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t', -'e','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a', -'r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}', -',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n', -'"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o', -'b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', +'"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', 'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', -'G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']', -',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s', -':','/','/','{','B','u','c','k','e','t','}','.','s','3','-','a','c','c','e','l','e','r','a','t','e', -'.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f', -'i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S', -'c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E', -'n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g', -'v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s', -'i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}', -']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"', -'e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c', -'k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a', -'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"', -'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']', -'}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f', -'n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','s', -'t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"', -']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t', -'t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','.','{','p','a','r','t','i','t', -'i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r', -'o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':', -'[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"', -':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g', -'n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e', -'g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a', -'d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n', -'t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l', -'s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S', -'"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A', -'c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"', -':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S', -'e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o', -'i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r', -'g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}', -',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"', -'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}', -',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', -'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a', +'D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}', +',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"', +'}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}', +']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a', +'s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','b','o','o','l', +'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':', +'"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','u','r','l','"','}',',','"','i','s','I','p','"',']','}',',','t','r','u','e',']','}',',','{','"', +'f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', +'s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l', +'"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o', +'b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e', +'n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h', +'e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r', +'l','#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}','{','B','u','c','k','e','t','}', +'"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e', +'m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o', +'d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"', +',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n', +'i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',', +'"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d', +'p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}', +',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', +'F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o', +'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{', +'"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p', +'a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l', +'"','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','u','r','l','"','}',',','"','i','s','I', +'p','"',']','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',', +'"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a', 'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o', -'n','"','}',',','"','u','s','-','e','a','s','t','-','1','"',']','}',']',',','"','e','n','d','p','o', -'i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c', -'k','e','t','}','.','s','3','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#', -'d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':', -'{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e', -'D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m', -'e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':', -'"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e', -'g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"', -'t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i', -'t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r', -'l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','.','{', -'R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#', +'n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n', +'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n', +'t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{', +'"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','B','u', +'c','k','e','t','}','.','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l', +'#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u', +'t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b', +'l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"', +'s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"', +',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n', +'}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e', +'"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S', +'t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o', +'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n', +'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t','r','u', +'e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{', +'"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':', +'"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a', +'l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"', +'h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','-','a','c','c','e','l', +'e','r','a','t','e','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n', +'s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"', +'a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o', +'u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"', +':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s', +'3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a', +'s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t', +'y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u', +'a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"', +'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',', +'t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"', +':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f', +'n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s', +'t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"', +']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b', +'a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l', +'e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', +':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','u','s','-','e','a','s','t','-', +'1','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"', +'h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','-','a','c','c','e','l', +'e','r','a','t','e','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n', +'s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"', +'a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o', +'u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"', +':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s', +'3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i', +'o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y', +'p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"', +':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','-','a','c','c', +'e','l','e','r','a','t','e','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#', 'd','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':', '{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e', 'D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m', @@ -973,135 +903,695 @@ static constexpr RulesBlobT RulesBlob = {{ 'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', 'e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o', 'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',',', -'{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"', -':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t', -'"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g', -'i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"', -'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o', -'i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"', -':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}', -'.','s','3','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e', -'s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t', -'i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i', -'s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e', -',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N', -'a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"', -':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':', -'{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"', -'t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n', -'s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','r','e', -'g','i','o','n',':',' ','r','e','g','i','o','n',' ','w','a','s',' ','n','o','t',' ','a',' ','v','a', -'l','i','d',' ','D','N','S',' ','n','a','m','e','.','"',',','"','t','y','p','e','"',':','"','e','r', -'r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t', -'y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n', -'"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':', -'"','u','r','l','"','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l', -'s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','u','r','l','"','}',',','"', -'s','c','h','e','m','e','"',']','}',',','"','h','t','t','p','"',']','}',',','{','"','f','n','"',':', -'"','a','w','s','.','i','s','V','i','r','t','u','a','l','H','o','s','t','a','b','l','e','S','3','B', -'u','c','k','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u', -'c','k','e','t','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l', +'f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e',']','}',',','{', +'"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':', +'"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E', +'n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"', +',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i', +'o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f', +'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i', +'n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':', +'{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.', +'s','3','-','a','c','c','e','l','e','r','a','t','e','.','{','p','a','r','t','i','t','i','o','n','R', +'e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r', +'t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d', +'i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u', +'e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g', +'N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n', +'"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"', +':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', 'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','F','o','r','c','e','P','a','t','h','S','t','y','l','e','"','}',',','f','a','l','s','e',']', +':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',', +'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a', +'l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e', +'r','a','t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t', +'"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}', +']','}',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}', +',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n', +'t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','B','u','c','k','e', +'t','}','.','s','3','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n', +'s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"', +'a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o', +'u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"', +':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s', +'3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a', +'s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t', +'y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u', +'a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"', +'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',', +'f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v', +'"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"', +'f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', +'s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l', +'"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o', +'b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','r','u', +'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', +'"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','u','s','-','e','a','s','t', +'-','1','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':', +'"','h','t','t','p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','.','{','p','a','r', +'t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',', +'"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e', +'s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i', +'n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"', +'s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n', +'g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h', +'e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o', +'i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e', +'n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/', +'{','B','u','c','k','e','t','}','.','s','3','.','{','R','e','g','i','o','n','}','.','{','p','a','r', +'t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',', +'"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e', +'s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i', +'n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"', +'s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n', +'g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h', +'e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o', +'i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a', +'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s', +'e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a', +'t','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',', +'"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}', +']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"', +'f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g', +'l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', +'s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']', +'}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t', +'p','s',':','/','/','{','B','u','c','k','e','t','}','.','s','3','.','{','R','e','g','i','o','n','}', +'.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f', +'i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S', +'c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E', +'n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g', +'v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s', +'i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}', +']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"', +'e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', +'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r', +'"',':','"','I','n','v','a','l','i','d',' ','r','e','g','i','o','n',':',' ','r','e','g','i','o','n', +' ','w','a','s',' ','n','o','t',' ','a',' ','v','a','l','i','d',' ','D','N','S',' ','n','a','m','e', +'.','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e', +'"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s', +'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p', +'o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t', +'"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"', +':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','u','r','l','"','}',',','"','s','c','h','e','m','e','"',']','}',',','"','h', +'t','t','p','"',']','}',',','{','"','f','n','"',':','"','a','w','s','.','i','s','V','i','r','t','u', +'a','l','H','o','s','t','a','b','l','e','S','3','B','u','c','k','e','t','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',',','t','r','u','e',']', '}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','F','o','r','c','e','P','a','t','h','S', +'t','y','l','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o', +'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n', +'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f', +'a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l', +'e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',']',',','"','r','u','l','e','s','"',':', +'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w', +'s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','p', +'a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',']',',','"','r','u','l','e','s','"', +':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i', +'s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','f','a','l','s','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','"',':','"','{','u','r','l', +'#','s','c','h','e','m','e','}',':','/','/','{','B','u','c','k','e','t','}','.','{','u','r','l','#', +'a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r', +'o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':', +'[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"', +':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g', +'n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e', +'g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d', +'e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t', +'"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l', +'i','d',' ','r','e','g','i','o','n',':',' ','r','e','g','i','o','n',' ','w','a','s',' ','n','o','t', +' ','a',' ','v','a','l','i','d',' ','D','N','S',' ','n','a','m','e','.','"',',','"','t','y','p','e', +'"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', +'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','F','o','r','c', +'e','P','a','t','h','S','t','y','l','e','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n', +'"',':','"','a','w','s','.','p','a','r','s','e','A','r','n','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',']',',','"','a','s','s','i','g','n', +'"',':','"','b','u','c','k','e','t','A','r','n','"','}',']',',','"','r','u','l','e','s','"',':','[', +'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','g','e','t', +'A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c', +'k','e','t','A','r','n','"','}',',','"','r','e','s','o','u','r','c','e','I','d','[','0',']','"',']', +',','"','a','s','s','i','g','n','"',':','"','a','r','n','T','y','p','e','"','}',',','{','"','f','n', +'"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t', +'r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','a','r','n','T','y','p','e','"','}',',','"','"',']','}',']','}',']',',','"','r','u','l', +'e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', +':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','s','e','r','v','i','c', +'e','"',']','}',',','"','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','"',']','}', +']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','a','r','n','T','y','p','e','"','}',',','"','a', +'c','c','e','s','s','p','o','i','n','t','"',']','}',']',',','"','r','u','l','e','s','"',':','[','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','g','e','t','A', +'t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k', +'e','t','A','r','n','"','}',',','"','r','e','s','o','u','r','c','e','I','d','[','1',']','"',']',',', +'"','a','s','s','i','g','n','"',':','"','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e', +'"','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"', +'f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e', +'"','}',',','"','"',']','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n', +'d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', +'e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r', +'o','r','"',':','"','S','3',' ','O','b','j','e','c','t',' ','L','a','m','b','d','a',' ','d','o','e', +'s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','D','u','a','l','-','s','t','a','c','k','"', +',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l', +'e','r','a','t','e','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"', +'S','3',' ','O','b','j','e','c','t',' ','L','a','m','b','d','a',' ','d','o','e','s',' ','n','o','t', +' ','s','u','p','p','o','r','t',' ','S','3',' ','A','c','c','e','l','e','r','a','t','e','"',',','"', +'t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[', +'{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r', +'e','g','i','o','n','"',']','}',',','"','"',']','}',']','}',']',',','"','r','u','l','e','s','"',':', +'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s', +'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','D','i','s','a', +'b','l','e','A','c','c','e','s','s','P','o','i','n','t','s','"','}',']','}',',','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','D','i','s','a','b','l','e','A','c','c','e','s','s','P','o','i','n', +'t','s','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','A','c','c', +'e','s','s',' ','p','o','i','n','t','s',' ','a','r','e',' ','n','o','t',' ','s','u','p','p','o','r', +'t','e','d',' ','f','o','r',' ','t','h','i','s',' ','o','p','e','r','a','t','i','o','n','"',',','"', +'t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[', +'{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','f', +'n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','s','o','u','r','c','e', +'I','d','[','2',']','"',']','}',']','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','A','r','n','R', +'e','g','i','o','n','"','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', +'e','A','r','n','R','e','g','i','o','n','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n', +'"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t', +'r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"', +':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','g','i','o','n','"',']','}',',', +'"','{','R','e','g','i','o','n','}','"',']','}',']','}',']',',','"','e','r','r','o','r','"',':','"', +'I','n','v','a','l','i','d',' ','c','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','r','e', +'g','i','o','n',' ','f','r','o','m',' ','A','R','N',' ','`','{','b','u','c','k','e','t','A','r','n', +'#','r','e','g','i','o','n','}','`',' ','d','o','e','s',' ','n','o','t',' ','m','a','t','c','h',' ', +'c','l','i','e','n','t',' ','r','e','g','i','o','n',' ','`','{','R','e','g','i','o','n','}','`',' ', +'a','n','d',' ','U','s','e','A','r','n','R','e','g','i','o','n',' ','i','s',' ','`','f','a','l','s', +'e','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n', +'d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t', +'i','t','i','o','n','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t', +'A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c', +'k','e','t','A','r','n','"','}',',','"','r','e','g','i','o','n','"',']','}',']',',','"','a','s','s', +'i','g','n','"',':','"','b','u','c','k','e','t','P','a','r','t','i','t','i','o','n','"','}',']',',', +'"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s', +'s','i','g','n','"',':','"','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',']', +',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','P','a','r','t','i','t','i','o', +'n','"','}',',','"','n','a','m','e','"',']','}',',','{','"','f','n','"',':','"','g','e','t','A','t', +'t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','p','a','r','t','i', +'t','i','o','n','R','e','s','u','l','t','"','}',',','"','n','a','m','e','"',']','}',']','}',']',',', +'"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'"','f','n','"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"', +'a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}', +',','"','r','e','g','i','o','n','"',']','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e', +'s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', +'"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','a','c','c','o','u','n','t', +'I','d','"',']','}',',','"','"',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a', +'l','i','d',' ','A','R','N',':',' ','M','i','s','s','i','n','g',' ','a','c','c','o','u','n','t',' ', +'i','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n', +'d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H', +'o','s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', +'g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'b','u','c','k','e','t','A','r','n','"','}',',','"','a','c','c','o','u','n','t','I','d','"',']','}', +',','f','a','l','s','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H','o', +'s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','"','}',',','f','a','l','s','e',']','}', +']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':', +'"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u', +'r','l','"','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"', +'{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','a','c','c','e','s','s','P','o','i', +'n','t','N','a','m','e','}','-','{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n', +'t','I','d','}','.','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#', +'p','a','t','h','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t', +'h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l', +'e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s', +'i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','-','o', +'b','j','e','c','t','-','l','a','m','b','d','a','"',',','"','s','i','g','n','i','n','g','R','e','g', +'i','o','n','"',':','"','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','"', +'}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':', +'"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', 'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',', -'f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D', -'u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e', -']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']', -',','"','a','s','s','i','g','n','"',':','"','p','a','r','t','i','t','i','o','n','R','e','s','u','l', -'t','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n', -'s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b', -'e','l','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o', -'n','"','}',',','f','a','l','s','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','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','B', -'u','c','k','e','t','}','.','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r', -'l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a', -'u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u', -'b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':', -'"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3', -'"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o', -'n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', -'e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t', +'t','r','u','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"', +':','"','h','t','t','p','s',':','/','/','{','a','c','c','e','s','s','P','o','i','n','t','N','a','m', +'e','}','-','{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t','I','d','}','.', +'s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','-','f','i','p','s','.','{','b','u', +'c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','.','{','b','u','c','k','e','t','P','a', +'r','t','i','t','i','o','n','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p', +'e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{', +'"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t', +'r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i', +'n','g','N','a','m','e','"',':','"','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a', +'"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','b','u','c','k','e', +'t','A','r','n','#','r','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s', +'"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',', +'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n', +'t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','a','c','c','e','s', +'s','P','o','i','n','t','N','a','m','e','}','-','{','b','u','c','k','e','t','A','r','n','#','a','c', +'c','o','u','n','t','I','d','}','.','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a', +'.','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','.','{','b','u','c','k', +'e','t','P','a','r','t','i','t','i','o','n','#','d','n','s','S','u','f','f','i','x','}','"',',','"', +'p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s', +'"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n', +'g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s', +'i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','-','o','b','j','e','c','t','-','l','a', +'m','b','d','a','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','b', +'u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a', +'d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n', +'t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n', +'d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a', +'l','i','d',' ','A','R','N',':',' ','T','h','e',' ','a','c','c','e','s','s',' ','p','o','i','n','t', +' ','n','a','m','e',' ','m','a','y',' ','o','n','l','y',' ','c','o','n','t','a','i','n',' ','a','-', +'z',',',' ','A','-','Z',',',' ','0','-','9',' ','a','n','d',' ','`','-','`','.',' ','F','o','u','n', +'d',':',' ','`','{','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','}','`','"',',','"', +'t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t', 'r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e', -'r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','r','e','g','i','o','n',':',' ','r','e', -'g','i','o','n',' ','w','a','s',' ','n','o','t',' ','a',' ','v','a','l','i','d',' ','D','N','S',' ', -'n','a','m','e','.','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"', -'t','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r', -'e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', -':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','F','o','r','c','e','P','a','t','h','S','t','y','l','e','"','}',',', -'f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','a','w','s','.','p','a','r','s','e','A', -'r','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e', -'t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','b','u','c','k','e','t','A','r','n','"', +'r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','T','h','e',' ','a', +'c','c','o','u','n','t',' ','i','d',' ','m','a','y',' ','o','n','l','y',' ','c','o','n','t','a','i', +'n',' ','a','-','z',',',' ','A','-','Z',',',' ','0','-','9',' ','a','n','d',' ','`','-','`','.',' ', +'F','o','u','n','d',':',' ','`','{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n', +'t','I','d','}','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"', +'t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','r','e', +'g','i','o','n',' ','i','n',' ','A','R','N',':',' ','`','{','b','u','c','k','e','t','A','r','n','#', +'r','e','g','i','o','n','}','`',' ','(','i','n','v','a','l','i','d',' ','D','N','S',' ','n','a','m', +'e',')','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p', +'e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[',']',',','"','e','r','r','o','r','"',':','"','C','l','i','e','n','t',' ','w','a','s',' ','c','o', +'n','f','i','g','u','r','e','d',' ','f','o','r',' ','p','a','r','t','i','t','i','o','n',' ','`','{', +'p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','n','a','m','e','}','`',' ','b','u', +'t',' ','A','R','N',' ','(','`','{','B','u','c','k','e','t','}','`',')',' ','h','a','s',' ','`','{', +'b','u','c','k','e','t','P','a','r','t','i','t','i','o','n','#','n','a','m','e','}','`','"',',','"', +'t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t', +'r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t', +'y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', +'"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N', +':',' ','T','h','e',' ','A','R','N',' ','m','a','y',' ','o','n','l','y',' ','c','o','n','t','a','i', +'n',' ','a',' ','s','i','n','g','l','e',' ','r','e','s','o','u','r','c','e',' ','c','o','m','p','o', +'n','e','n','t',' ','a','f','t','e','r',' ','`','a','c','c','e','s','s','p','o','i','n','t','`','.', +'"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"', +':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']', +',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','b','u', +'c','k','e','t',' ','A','R','N',' ','i','s',' ','m','i','s','s','i','n','g',' ','a',' ','r','e','g', +'i','o','n','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y', +'p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':', +' ','E','x','p','e','c','t','e','d',' ','a',' ','r','e','s','o','u','r','c','e',' ','o','f',' ','t', +'h','e',' ','f','o','r','m','a','t',' ','`','a','c','c','e','s','s','p','o','i','n','t',':','<','a', +'c','c','e','s','s','p','o','i','n','t',' ','n','a','m','e','>','`',' ','b','u','t',' ','n','o',' ', +'n','a','m','e',' ','w','a','s',' ','p','r','o','v','i','d','e','d','"',',','"','t','y','p','e','"', +':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"', +':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','O','b','j','e','c','t',' ','L','a','m', +'b','d','a',' ','A','R','N','s',' ','o','n','l','y',' ','s','u','p','p','o','r','t',' ','`','a','c', +'c','e','s','s','p','o','i','n','t','`',' ','a','r','n',' ','t','y','p','e','s',',',' ','b','u','t', +' ','f','o','u','n','d',':',' ','`','{','a','r','n','T','y','p','e','}','`','"',',','"','t','y','p', +'e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', +'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', +'s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','a','r','n','T','y','p','e','"','}',',','"','a','c','c','e','s','s','p','o','i', +'n','t','"',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',', +'"','r','e','s','o','u','r','c','e','I','d','[','1',']','"',']',',','"','a','s','s','i','g','n','"', +':','"','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','"','}',',','{','"','f','n','"', +':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r', +'i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','"','}',',','"','"',']','}',']', '}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"', -':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','s', -'o','u','r','c','e','I','d','[','0',']','"',']',',','"','a','s','s','i','g','n','"',':','"','a','r', -'n','T','y','p','e','"','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v', -'"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','a','r','n','T','y','p','e','"','}',',', -'"','"',']','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t', -'i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l', -'s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A', -'r','n','"','}',',','"','s','e','r','v','i','c','e','"',']','}',',','"','s','3','-','o','b','j','e', -'c','t','-','l','a','m','b','d','a','"',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"', +':','[','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f', +'n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','g','i', +'o','n','"',']','}',',','"','"',']','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"', 'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n', 'g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', 'a','r','n','T','y','p','e','"','}',',','"','a','c','c','e','s','s','p','o','i','n','t','"',']','}', ']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','s','o', -'u','r','c','e','I','d','[','1',']','"',']',',','"','a','s','s','i','g','n','"',':','"','a','c','c', -'e','s','s','P','o','i','n','t','N','a','m','e','"','}',',','{','"','f','n','"',':','"','n','o','t', -'"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','a','c','c', -'e','s','s','P','o','i','n','t','N','a','m','e','"','}',',','"','"',']','}',']','}',']',',','"','r', -'u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', -'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',', -'t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','S','3',' ','O','b','j','e','c', -'t',' ','L','a','m','b','d','a',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t', -' ','D','u','a','l','-','s','t','a','c','k','"',',','"','t','y','p','e','"',':','"','e','r','r','o', -'r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e',']', -'}',']',',','"','e','r','r','o','r','"',':','"','S','3',' ','O','b','j','e','c','t',' ','L','a','m', -'b','d','a',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','S','3',' ','A', +'[','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n', +'"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','g','i','o', +'n','"',']','}',',','"','"',']','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','D','i','s','a','b','l','e','A', +'c','c','e','s','s','P','o','i','n','t','s','"','}',']','}',',','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','D','i','s','a','b','l','e','A','c','c','e','s','s','P','o','i','n','t','s','"','}', +',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','A','c','c','e','s','s',' ', +'p','o','i','n','t','s',' ','a','r','e',' ','n','o','t',' ','s','u','p','p','o','r','t','e','d',' ', +'f','o','r',' ','t','h','i','s',' ','o','p','e','r','a','t','i','o','n','"',',','"','t','y','p','e', +'"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n', +'"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', +'g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','s','o','u','r','c','e','I','d','[','2', +']','"',']','}',']','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','A','r','n','R','e','g','i','o', +'n','"','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','A','r','n', +'R','e','g','i','o','n','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n', +'o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e', +'t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u', +'c','k','e','t','A','r','n','"','}',',','"','r','e','g','i','o','n','"',']','}',',','"','{','R','e', +'g','i','o','n','}','"',']','}',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a', +'l','i','d',' ','c','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','r','e','g','i','o','n', +' ','f','r','o','m',' ','A','R','N',' ','`','{','b','u','c','k','e','t','A','r','n','#','r','e','g', +'i','o','n','}','`',' ','d','o','e','s',' ','n','o','t',' ','m','a','t','c','h',' ','c','l','i','e', +'n','t',' ','r','e','g','i','o','n',' ','`','{','R','e','g','i','o','n','}','`',' ','a','n','d',' ', +'U','s','e','A','r','n','R','e','g','i','o','n',' ','i','s',' ','`','f','a','l','s','e','`','"',',', +'"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o', +'n','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A', +'r','n','"','}',',','"','r','e','g','i','o','n','"',']','}',']',',','"','a','s','s','i','g','n','"', +':','"','b','u','c','k','e','t','P','a','r','t','i','t','i','o','n','"','}',']',',','"','r','u','l', +'e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', +':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g','n', +'"',':','"','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',']',',','"','r','u', +'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', +'"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','b','u','c','k','e','t','P','a','r','t','i','t','i','o','n','"','}',',', +'"','n','a','m','e','"',']','}',',','"','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l', +'t','#','n','a','m','e','}','"',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d', +'H','o','s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':', +'"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','g','i','o','n','"',']','}',',','t', +'r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r', +'n','"','}',',','"','s','e','r','v','i','c','e','"',']','}',',','"','s','3','"',']','}',']',',','"', +'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', +'f','n','"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a', +'r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',', +'"','a','c','c','o','u','n','t','I','d','"',']','}',',','f','a','l','s','e',']','}',']',',','"','r', +'u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', +'n','"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','a','c','c','e','s','s','P','o','i','n','t','N', +'a','m','e','"','}',',','f','a','l','s','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', +'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e',']','}',']',',','"','e', +'r','r','o','r','"',':','"','A','c','c','e','s','s',' ','P','o','i','n','t','s',' ','d','o',' ','n', +'o','t',' ','s','u','p','p','o','r','t',' ','S','3',' ','A','c','c','e','l','e','r','a','t','e','"', +',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I', +'P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a', +'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"','e', +'n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/', +'{','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','}','-','{','b','u','c','k','e','t', +'A','r','n','#','a','c','c','o','u','n','t','I','d','}','.','s','3','-','a','c','c','e','s','s','p', +'o','i','n','t','-','f','i','p','s','.','d','u','a','l','s','t','a','c','k','.','{','b','u','c','k', +'e','t','A','r','n','#','r','e','g','i','o','n','}','.','{','b','u','c','k','e','t','P','a','r','t', +'i','t','i','o','n','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r', +'t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d', +'i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u', +'e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g', +'N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n', +'"',':','"','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','"','}',']','}', +',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n', +'d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u', +'e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S', +'t','a','c','k','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t', +'"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','a','c','c','e','s','s', +'P','o','i','n','t','N','a','m','e','}','-','{','b','u','c','k','e','t','A','r','n','#','a','c','c', +'o','u','n','t','I','d','}','.','s','3','-','a','c','c','e','s','s','p','o','i','n','t','-','f','i', +'p','s','.','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','.','{','b','u', +'c','k','e','t','P','a','r','t','i','t','i','o','n','#','d','n','s','S','u','f','f','i','x','}','"', +',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m', +'e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d', +'i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',', +'"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i', +'n','g','R','e','g','i','o','n','"',':','"','{','b','u','c','k','e','t','A','r','n','#','r','e','g', +'i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t', +'y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I', +'P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', +'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"', +'e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/', +'/','{','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','}','-','{','b','u','c','k','e', +'t','A','r','n','#','a','c','c','o','u','n','t','I','d','}','.','s','3','-','a','c','c','e','s','s', +'p','o','i','n','t','.','d','u','a','l','s','t','a','c','k','.','{','b','u','c','k','e','t','A','r', +'n','#','r','e','g','i','o','n','}','.','{','b','u','c','k','e','t','P','a','r','t','i','t','i','o', +'n','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s', +'"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b', +'l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n', +'a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e', +'"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{', +'b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','"','}',']','}',',','"','h','e', +'a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i', +'n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}', +',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c', +'k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t', +'"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',', +'"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',']',',','"','e','n','d','p','o','i','n', +'t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/', +'/','{','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','}','-','{','b','u','c','k','e', +'t','A','r','n','#','a','c','c','o','u','n','t','I','d','}','.','{','u','r','l','#','a','u','t','h', +'o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r', +'t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d', +'i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u', +'e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g', +'N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n', +'"',':','"','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','"','}',']','}', +',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n', +'d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l', +'s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l', +'S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n', +'t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','a','c','c','e','s', +'s','P','o','i','n','t','N','a','m','e','}','-','{','b','u','c','k','e','t','A','r','n','#','a','c', +'c','o','u','n','t','I','d','}','.','s','3','-','a','c','c','e','s','s','p','o','i','n','t','.','{', +'b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','.','{','b','u','c','k','e','t', +'P','a','r','t','i','t','i','o','n','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r', +'o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':', +'[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"', +':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g', +'n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e', +'g','i','o','n','"',':','"','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}', +'"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"', +':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e', +'e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r', +'o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','T','h','e',' ','a','c','c', +'e','s','s',' ','p','o','i','n','t',' ','n','a','m','e',' ','m','a','y',' ','o','n','l','y',' ','c', +'o','n','t','a','i','n',' ','a','-','z',',',' ','A','-','Z',',',' ','0','-','9',' ','a','n','d',' ', +'`','-','`','.',' ','F','o','u','n','d',':',' ','`','{','a','c','c','e','s','s','P','o','i','n','t', +'N','a','m','e','}','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',', +'"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A', +'R','N',':',' ','T','h','e',' ','a','c','c','o','u','n','t',' ','i','d',' ','m','a','y',' ','o','n', +'l','y',' ','c','o','n','t','a','i','n',' ','a','-','z',',',' ','A','-','Z',',',' ','0','-','9',' ', +'a','n','d',' ','`','-','`','.',' ','F','o','u','n','d',':',' ','`','{','b','u','c','k','e','t','A', +'r','n','#','a','c','c','o','u','n','t','I','d','}','`','"',',','"','t','y','p','e','"',':','"','e', +'r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I', +'n','v','a','l','i','d',' ','A','R','N',':',' ','T','h','e',' ','A','R','N',' ','w','a','s',' ','n', +'o','t',' ','f','o','r',' ','t','h','e',' ','S','3',' ','s','e','r','v','i','c','e',',',' ','f','o', +'u','n','d',':',' ','{','b','u','c','k','e','t','A','r','n','#','s','e','r','v','i','c','e','}','"', +',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':', +'"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',', +'"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','r','e','g','i','o','n',' ','i', +'n',' ','A','R','N',':',' ','`','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n', +'}','`',' ','(','i','n','v','a','l','i','d',' ','D','N','S',' ','n','a','m','e',')','"',',','"','t', +'y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r', +'e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r', +'r','o','r','"',':','"','C','l','i','e','n','t',' ','w','a','s',' ','c','o','n','f','i','g','u','r', +'e','d',' ','f','o','r',' ','p','a','r','t','i','t','i','o','n',' ','`','{','p','a','r','t','i','t', +'i','o','n','R','e','s','u','l','t','#','n','a','m','e','}','`',' ','b','u','t',' ','A','R','N',' ', +'(','`','{','B','u','c','k','e','t','}','`',')',' ','h','a','s',' ','`','{','b','u','c','k','e','t', +'P','a','r','t','i','t','i','o','n','#','n','a','m','e','}','`','"',',','"','t','y','p','e','"',':', +'"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']', +',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"', +'t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"', +'e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','T','h','e',' ', +'A','R','N',' ','m','a','y',' ','o','n','l','y',' ','c','o','n','t','a','i','n',' ','a',' ','s','i', +'n','g','l','e',' ','r','e','s','o','u','r','c','e',' ','c','o','m','p','o','n','e','n','t',' ','a', +'f','t','e','r',' ','`','a','c','c','e','s','s','p','o','i','n','t','`','.','"',',','"','t','y','p', +'e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', +'"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e', +'"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'{','"','f','n','"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','a','c','c','e','s','s','P','o','i', +'n','t','N','a','m','e','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':', +'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}', +']',',','"','e','r','r','o','r','"',':','"','S','3',' ','M','R','A','P',' ','d','o','e','s',' ','n', +'o','t',' ','s','u','p','p','o','r','t',' ','d','u','a','l','-','s','t','a','c','k','"',',','"','t', +'y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"', +'}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','S','3',' ','M','R','A', +'P',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','F','I','P','S','"',',', +'"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e', +'r','a','t','e','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','S', +'3',' ','M','R','A','P',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','S', +'3',' ','A','c','c','e','l','e','r','a','t','e','"',',','"','t','y','p','e','"',':','"','e','r','r', +'o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','D','i','s','a','b','l','e','M','u','l','t','i','R','e','g','i','o', +'n','A','c','c','e','s','s','P','o','i','n','t','s','"','}',',','t','r','u','e',']','}',']',',','"', +'e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','c','o','n','f','i','g','u','r','a', +'t','i','o','n',':',' ','M','u','l','t','i','-','R','e','g','i','o','n',' ','A','c','c','e','s','s', +' ','P','o','i','n','t',' ','A','R','N','s',' ','a','r','e',' ','d','i','s','a','b','l','e','d','.', +'"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t', +'i','o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i', +'o','n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','m','r','a','p','P','a','r','t','i', +'t','i','o','n','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','m','r','a','p','P','a','r', +'t','i','t','i','o','n','"','}',',','"','n','a','m','e','"',']','}',',','{','"','f','n','"',':','"', +'g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'b','u','c','k','e','t','A','r','n','"','}',',','"','p','a','r','t','i','t','i','o','n','"',']','}', +']','}',']',',','"','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','"',':','"','h', +'t','t','p','s',':','/','/','{','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','}','.', +'a','c','c','e','s','s','p','o','i','n','t','.','s','3','-','g','l','o','b','a','l','.','{','m','r', +'a','p','P','a','r','t','i','t','i','o','n','#','d','n','s','S','u','f','f','i','x','}','"',',','"', +'p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s', +'"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n', +'g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','a','"',',','"', +'s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n', +'g','R','e','g','i','o','n','S','e','t','"',':','[','"','*','"',']','}',']','}',',','"','h','e','a', +'d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n', +'t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n', +'d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','C','l','i','e', +'n','t',' ','w','a','s',' ','c','o','n','f','i','g','u','r','e','d',' ','f','o','r',' ','p','a','r', +'t','i','t','i','o','n',' ','`','{','m','r','a','p','P','a','r','t','i','t','i','o','n','#','n','a', +'m','e','}','`',' ','b','u','t',' ','b','u','c','k','e','t',' ','r','e','f','e','r','r','e','d',' ', +'t','o',' ','p','a','r','t','i','t','i','o','n',' ','`','{','b','u','c','k','e','t','A','r','n','#', +'p','a','r','t','i','t','i','o','n','}','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o', +'r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p', +'e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','c','c','e','s', +'s',' ','P','o','i','n','t',' ','N','a','m','e','"',',','"','t','y','p','e','"',':','"','e','r','r', +'o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v', +'a','l','i','d',' ','A','R','N',':',' ','E','x','p','e','c','t','e','d',' ','a',' ','r','e','s','o', +'u','r','c','e',' ','o','f',' ','t','h','e',' ','f','o','r','m','a','t',' ','`','a','c','c','e','s', +'s','p','o','i','n','t',':','<','a','c','c','e','s','s','p','o','i','n','t',' ','n','a','m','e','>', +'`',' ','b','u','t',' ','n','o',' ','n','a','m','e',' ','w','a','s',' ','p','r','o','v','i','d','e', +'d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e', +'"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','s', +'e','r','v','i','c','e','"',']','}',',','"','s','3','-','o','u','t','p','o','s','t','s','"',']','}', +']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c', +'k','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','S','3',' ','O', +'u','t','p','o','s','t','s',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ', +'D','u','a','l','-','s','t','a','c','k','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r', +'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', +'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',']',',','"', +'e','r','r','o','r','"',':','"','S','3',' ','O','u','t','p','o','s','t','s',' ','d','o','e','s',' ', +'n','o','t',' ','s','u','p','p','o','r','t',' ','F','I','P','S','"',',','"','t','y','p','e','"',':', +'"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',', +'t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','S','3',' ','O','u','t','p','o', +'s','t','s',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','S','3',' ','A', 'c','c','e','l','e','r','a','t','e','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"', -'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','n', -'o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e', -'t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u', -'c','k','e','t','A','r','n','"','}',',','"','r','e','g','i','o','n','"',']','}',',','"','"',']','}', -']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','D','i','s','a','b','l','e','A','c','c','e','s','s','P','o','i','n', -'t','s','"','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','D','i','s','a','b', -'l','e','A','c','c','e','s','s','P','o','i','n','t','s','"','}',',','t','r','u','e',']','}',']',',', -'"','e','r','r','o','r','"',':','"','A','c','c','e','s','s',' ','p','o','i','n','t','s',' ','a','r', -'e',' ','n','o','t',' ','s','u','p','p','o','r','t','e','d',' ','f','o','r',' ','t','h','i','s',' ', -'o','p','e','r','a','t','i','o','n','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"', -'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','n', -'o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"', -',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n', -'"','}',',','"','r','e','s','o','u','r','c','e','I','d','[','2',']','"',']','}',']','}',']','}',']', +'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i', +'s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A', +'t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k', +'e','t','A','r','n','"','}',',','"','r','e','s','o','u','r','c','e','I','d','[','4',']','"',']','}', +']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','r','n',':', +' ','O','u','t','p','o','s','t',' ','A','c','c','e','s','s',' ','P','o','i','n','t',' ','A','R','N', +' ','c','o','n','t','a','i','n','s',' ','s','u','b',' ','r','e','s','o','u','r','c','e','s','"',',', +'"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',', +'"','r','e','s','o','u','r','c','e','I','d','[','1',']','"',']',',','"','a','s','s','i','g','n','"', +':','"','o','u','t','p','o','s','t','I','d','"','}',']',',','"','r','u','l','e','s','"',':','[','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','V','a', +'l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','o','u','t','p','o','s','t','I','d','"','}',',','f','a','l','s','e',']','}',']', ',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', '{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r', 'e','f','"',':','"','U','s','e','A','r','n','R','e','g','i','o','n','"','}',']','}',',','{','"','f', @@ -1140,633 +1630,230 @@ static constexpr RulesBlobT RulesBlob = {{ '"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', '"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','g','i','o','n','"',']','}',',','t', 'r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', -'o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r', -'n','"','}',',','"','a','c','c','o','u','n','t','I','d','"',']','}',',','"','"',']','}',']',',','"', -'e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','M','i','s','s', -'i','n','g',' ','a','c','c','o','u','n','t',' ','i','d','"',',','"','t','y','p','e','"',':','"','e', -'r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', -'n','"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r', -'g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g', +'o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H','o','s','t','L', +'a','b','e','l','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A', +'t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k', +'e','t','A','r','n','"','}',',','"','a','c','c','o','u','n','t','I','d','"',']','}',',','f','a','l', +'s','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g', 'v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"', -'a','c','c','o','u','n','t','I','d','"',']','}',',','f','a','l','s','e',']','}',']',',','"','r','u', +'r','e','s','o','u','r','c','e','I','d','[','2',']','"',']',',','"','a','s','s','i','g','n','"',':', +'"','o','u','t','p','o','s','t','T','y','p','e','"','}',']',',','"','r','u','l','e','s','"',':','[', +'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','g','e','t', +'A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c', +'k','e','t','A','r','n','"','}',',','"','r','e','s','o','u','r','c','e','I','d','[','3',']','"',']', +',','"','a','s','s','i','g','n','"',':','"','a','c','c','e','s','s','P','o','i','n','t','N','a','m', +'e','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','o','u','t','p','o','s','t','T','y', +'p','e','"','}',',','"','a','c','c','e','s','s','p','o','i','n','t','"',']','}',']',',','"','r','u', 'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', -'"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','a','c','c','e','s','s','P','o','i','n','t','N','a', -'m','e','"','}',',','f','a','l','s','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n', -'t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']', -',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',']',',','"','e','n','d','p','o','i', -'n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':', -'/','/','{','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','}','-','{','b','u','c','k', -'e','t','A','r','n','#','a','c','c','o','u','n','t','I','d','}','.','{','u','r','l','#','a','u','t', -'h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o','p','e', -'r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"', -'d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r', -'u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n', -'g','N','a','m','e','"',':','"','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','"', -',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','b','u','c','k','e','t', -'A','r','n','#','r','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"', -':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',']',',','"','e','n','d','p', -'o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','a','c', -'c','e','s','s','P','o','i','n','t','N','a','m','e','}','-','{','b','u','c','k','e','t','A','r','n', -'#','a','c','c','o','u','n','t','I','d','}','.','s','3','-','o','b','j','e','c','t','-','l','a','m', -'b','d','a','-','f','i','p','s','.','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o', -'n','}','.','{','b','u','c','k','e','t','P','a','r','t','i','t','i','o','n','#','d','n','s','S','u', -'f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t', -'h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l', -'e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s', -'i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','-','o', -'b','j','e','c','t','-','l','a','m','b','d','a','"',',','"','s','i','g','n','i','n','g','R','e','g', -'i','o','n','"',':','"','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','"', -'}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':', -'"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', -':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t', -'t','p','s',':','/','/','{','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','}','-','{', -'b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t','I','d','}','.','s','3','-','o', -'b','j','e','c','t','-','l','a','m','b','d','a','.','{','b','u','c','k','e','t','A','r','n','#','r', -'e','g','i','o','n','}','.','{','b','u','c','k','e','t','P','a','r','t','i','t','i','o','n','#','d', -'n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{', -'"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D', -'o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e', -'"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"', -'s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','"',',','"','s','i','g','n','i','n', -'g','R','e','g','i','o','n','"',':','"','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i', -'o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y', -'p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"', -'t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"', -'e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','T','h','e',' ', -'a','c','c','e','s','s',' ','p','o','i','n','t',' ','n','a','m','e',' ','m','a','y',' ','o','n','l', -'y',' ','c','o','n','t','a','i','n',' ','a','-','z',',',' ','A','-','Z',',',' ','0','-','9',' ','a', -'n','d',' ','`','-','`','.',' ','F','o','u','n','d',':',' ','`','{','a','c','c','e','s','s','P','o', -'i','n','t','N','a','m','e','}','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"', -'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i', -'t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i', -'d',' ','A','R','N',':',' ','T','h','e',' ','a','c','c','o','u','n','t',' ','i','d',' ','m','a','y', -' ','o','n','l','y',' ','c','o','n','t','a','i','n',' ','a','-','z',',',' ','A','-','Z',',',' ','0', -'-','9',' ','a','n','d',' ','`','-','`','.',' ','F','o','u','n','d',':',' ','`','{','b','u','c','k', -'e','t','A','r','n','#','a','c','c','o','u','n','t','I','d','}','`','"',',','"','t','y','p','e','"', -':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}', -',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"', -':','"','I','n','v','a','l','i','d',' ','r','e','g','i','o','n',' ','i','n',' ','A','R','N',':',' ', -'`','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','`',' ','(','i','n','v', -'a','l','i','d',' ','D','N','S',' ','n','a','m','e',')','"',',','"','t','y','p','e','"',':','"','e', -'r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','C', -'l','i','e','n','t',' ','w','a','s',' ','c','o','n','f','i','g','u','r','e','d',' ','f','o','r',' ', -'p','a','r','t','i','t','i','o','n',' ','`','{','p','a','r','t','i','t','i','o','n','R','e','s','u', -'l','t','#','n','a','m','e','}','`',' ','b','u','t',' ','A','R','N',' ','(','`','{','B','u','c','k', -'e','t','}','`',')',' ','h','a','s',' ','`','{','b','u','c','k','e','t','P','a','r','t','i','t','i', -'o','n','#','n','a','m','e','}','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"', -'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e','"', -':','"','t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':', -'"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','T','h','e',' ','A','R','N',' ','m','a','y', -' ','o','n','l','y',' ','c','o','n','t','a','i','n',' ','a',' ','s','i','n','g','l','e',' ','r','e', -'s','o','u','r','c','e',' ','c','o','m','p','o','n','e','n','t',' ','a','f','t','e','r',' ','`','a', -'c','c','e','s','s','p','o','i','n','t','`','.','"',',','"','t','y','p','e','"',':','"','e','r','r', -'o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o', -'n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v', -'a','l','i','d',' ','A','R','N',':',' ','b','u','c','k','e','t',' ','A','R','N',' ','i','s',' ','m', -'i','s','s','i','n','g',' ','a',' ','r','e','g','i','o','n','"',',','"','t','y','p','e','"',':','"', -'e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"', -'I','n','v','a','l','i','d',' ','A','R','N',':',' ','E','x','p','e','c','t','e','d',' ','a',' ','r', -'e','s','o','u','r','c','e',' ','o','f',' ','t','h','e',' ','f','o','r','m','a','t',' ','`','a','c', -'c','e','s','s','p','o','i','n','t',':','<','a','c','c','e','s','s','p','o','i','n','t',' ','n','a', -'m','e','>','`',' ','b','u','t',' ','n','o',' ','n','a','m','e',' ','w','a','s',' ','p','r','o','v', -'i','d','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t', +'"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s', +'e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d', +'p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',']', +',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s', +':','/','/','{','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','}','-','{','b','u','c', +'k','e','t','A','r','n','#','a','c','c','o','u','n','t','I','d','}','.','{','o','u','t','p','o','s', +'t','I','d','}','.','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','"',',','"','p','r', +'o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':', +'[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"', +':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g', +'n','i','n','g','N','a','m','e','"',':','"','s','3','-','o','u','t','p','o','s','t','s','"',',','"', +'s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','b','u','c','k','e','t','A','r', +'n','#','r','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{', +'}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':', +'{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','a','c','c','e','s','s','P','o', +'i','n','t','N','a','m','e','}','-','{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u', +'n','t','I','d','}','.','{','o','u','t','p','o','s','t','I','d','}','.','s','3','-','o','u','t','p', +'o','s','t','s','.','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','.','{', +'b','u','c','k','e','t','P','a','r','t','i','t','i','o','n','#','d','n','s','S','u','f','f','i','x', +'}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h', +'e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c', +'o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4', +'"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','-','o','u','t','p','o', +'s','t','s','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','b','u', +'c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d', +'e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t', +'"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','E','x','p','e','c', +'t','e','d',' ','a','n',' ','o','u','t','p','o','s','t',' ','t','y','p','e',' ','`','a','c','c','e', +'s','s','p','o','i','n','t','`',',',' ','f','o','u','n','d',' ','{','o','u','t','p','o','s','t','T', +'y','p','e','}','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t', 'y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', '"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N', -':',' ','O','b','j','e','c','t',' ','L','a','m','b','d','a',' ','A','R','N','s',' ','o','n','l','y', -' ','s','u','p','p','o','r','t',' ','`','a','c','c','e','s','s','p','o','i','n','t','`',' ','a','r', -'n',' ','t','y','p','e','s',',',' ','b','u','t',' ','f','o','u','n','d',':',' ','`','{','a','r','n', -'T','y','p','e','}','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',', +':',' ','e','x','p','e','c','t','e','d',' ','a','n',' ','a','c','c','e','s','s',' ','p','o','i','n', +'t',' ','n','a','m','e','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',', '"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o', -'n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','a','r','n','T','y','p','e','"', -'}',',','"','a','c','c','e','s','s','p','o','i','n','t','"',']','}',']',',','"','r','u','l','e','s', -'"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', -'g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','s','o','u','r','c','e','I','d','[','1', -']','"',']',',','"','a','s','s','i','g','n','"',':','"','a','c','c','e','s','s','P','o','i','n','t', -'N','a','m','e','"','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"', -':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','a','c','c','e','s','s','P','o','i','n','t', -'N','a','m','e','"','}',',','"','"',']','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','n','o','t','"', -',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t', -'t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e', -'t','A','r','n','"','}',',','"','r','e','g','i','o','n','"',']','}',',','"','"',']','}',']','}',']', -',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', -'{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','a','r','n','T','y','p','e','"','}',',','"','a','c', -'c','e','s','s','p','o','i','n','t','"',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','n','o','t','"',',', -'"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t', -'r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t', -'A','r','n','"','}',',','"','r','e','g','i','o','n','"',']','}',',','"','"',']','}',']','}',']',',', -'"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', -'"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','D','i','s','a','b','l','e','A','c','c','e','s','s','P','o','i','n','t','s','"','}', -']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','D','i','s','a','b','l','e','A','c', -'c','e','s','s','P','o','i','n','t','s','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r', -'o','r','"',':','"','A','c','c','e','s','s',' ','p','o','i','n','t','s',' ','a','r','e',' ','n','o', -'t',' ','s','u','p','p','o','r','t','e','d',' ','f','o','r',' ','t','h','i','s',' ','o','p','e','r', -'a','t','i','o','n','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','n','o','t','"',',', -'"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r', -'g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"', -'r','e','s','o','u','r','c','e','I','d','[','2',']','"',']','}',']','}',']','}',']',',','"','r','u', -'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', -'"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','U','s','e','A','r','n','R','e','g','i','o','n','"','}',']','}',',','{','"','f','n','"',':','"', -'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','U','s','e','A','r','n','R','e','g','i','o','n','"','}',',','f','a','l','s', -'e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{', -'"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e', -'g','i','o','n','"',']','}',',','"','{','R','e','g','i','o','n','}','"',']','}',']','}',']',',','"', -'e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','c','o','n','f','i','g','u','r','a', -'t','i','o','n',':',' ','r','e','g','i','o','n',' ','f','r','o','m',' ','A','R','N',' ','`','{','b', -'u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','`',' ','d','o','e','s',' ','n','o', -'t',' ','m','a','t','c','h',' ','c','l','i','e','n','t',' ','r','e','g','i','o','n',' ','`','{','R', -'e','g','i','o','n','}','`',' ','a','n','d',' ','U','s','e','A','r','n','R','e','g','i','o','n',' ', -'i','s',' ','`','f','a','l','s','e','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r', -'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', -'a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':','[','{','"', -'f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','g','i','o','n','"', -']','}',']',',','"','a','s','s','i','g','n','"',':','"','b','u','c','k','e','t','P','a','r','t','i', -'t','i','o','n','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t', -'i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i', -'o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o', -'n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','p','a','r','t','i','t','i','o','n','R', -'e','s','u','l','t','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', -'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t', -'r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t', -'P','a','r','t','i','t','i','o','n','"','}',',','"','n','a','m','e','"',']','}',',','"','{','p','a', -'r','t','i','t','i','o','n','R','e','s','u','l','t','#','n','a','m','e','}','"',']','}',']',',','"', -'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', -'f','n','"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a', -'r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',', -'"','r','e','g','i','o','n','"',']','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s', -'"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', -'s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f', -'n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','s','e','r','v','i','c','e','"', -']','}',',','"','s','3','"',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n', -'d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H', -'o','s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', -'g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'b','u','c','k','e','t','A','r','n','"','}',',','"','a','c','c','o','u','n','t','I','d','"',']','}', -',','f','a','l','s','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d', -'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H','o', -'s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','"','}',',','f','a','l','s','e',']','}', -']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"', -'}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','A','c','c','e','s','s', -' ','P','o','i','n','t','s',' ','d','o',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','S','3', -' ','A','c','c','e','l','e','r','a','t','e','"',',','"','t','y','p','e','"',':','"','e','r','r','o', -'r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{', -'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"', -'}',',','t','r','u','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r', -'l','"',':','"','h','t','t','p','s',':','/','/','{','a','c','c','e','s','s','P','o','i','n','t','N', -'a','m','e','}','-','{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t','I','d', -'}','.','s','3','-','a','c','c','e','s','s','p','o','i','n','t','-','f','i','p','s','.','d','u','a', -'l','s','t','a','c','k','.','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}', -'.','{','b','u','c','k','e','t','P','a','r','t','i','t','i','o','n','#','d','n','s','S','u','f','f', -'i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S', -'c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E', -'n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g', -'v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s', -'i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','b','u','c','k','e','t','A','r','n', -'#','r','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}', -'}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o', -'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', -'s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o', -'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']', -'}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t', -'p','s',':','/','/','{','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','}','-','{','b', -'u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t','I','d','}','.','s','3','-','a','c', -'c','e','s','s','p','o','i','n','t','-','f','i','p','s','.','{','b','u','c','k','e','t','A','r','n', -'#','r','e','g','i','o','n','}','.','{','b','u','c','k','e','t','P','a','r','t','i','t','i','o','n', -'#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"', -':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l', -'e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a', -'m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"', -':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','b', -'u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a', -'d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n', -'t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',', -'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k', -'"','}',',','t','r','u','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u', -'r','l','"',':','"','h','t','t','p','s',':','/','/','{','a','c','c','e','s','s','P','o','i','n','t', -'N','a','m','e','}','-','{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t','I', -'d','}','.','s','3','-','a','c','c','e','s','s','p','o','i','n','t','.','d','u','a','l','s','t','a', -'c','k','.','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','.','{','b','u', -'c','k','e','t','P','a','r','t','i','t','i','o','n','#','d','n','s','S','u','f','f','i','x','}','"', -',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m', -'e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d', -'i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',', -'"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i', -'n','g','R','e','g','i','o','n','"',':','"','{','b','u','c','k','e','t','A','r','n','#','r','e','g', -'i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t', -'y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t', -'i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I', -'P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', -'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{', -'"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p', -'a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l', -'"','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u', -'r','l','#','s','c','h','e','m','e','}',':','/','/','{','a','c','c','e','s','s','P','o','i','n','t', -'N','a','m','e','}','-','{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t','I', -'d','}','.','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a', -'t','h','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S', -'c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E', -'n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g', -'v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s', -'i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','b','u','c','k','e','t','A','r','n', -'#','r','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}', -'}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o', -'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', -'s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b', -'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e', -']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t', -'t','p','s',':','/','/','{','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','}','-','{', -'b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t','I','d','}','.','s','3','-','a', -'c','c','e','s','s','p','o','i','n','t','.','{','b','u','c','k','e','t','A','r','n','#','r','e','g', -'i','o','n','}','.','{','b','u','c','k','e','t','P','a','r','t','i','t','i','o','n','#','d','n','s', -'S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a', -'u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u', -'b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':', -'"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3', -'"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','b','u','c','k','e', -'t','A','r','n','#','r','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s', -'"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']', -',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i', -'o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ', -'A','R','N',':',' ','T','h','e',' ','a','c','c','e','s','s',' ','p','o','i','n','t',' ','n','a','m', -'e',' ','m','a','y',' ','o','n','l','y',' ','c','o','n','t','a','i','n',' ','a','-','z',',',' ','A', -'-','Z',',',' ','0','-','9',' ','a','n','d',' ','`','-','`','.',' ','F','o','u','n','d',':',' ','`', -'{','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','}','`','"',',','"','t','y','p','e', -'"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', -'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r', -'"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','T','h','e',' ','a','c','c','o','u', -'n','t',' ','i','d',' ','m','a','y',' ','o','n','l','y',' ','c','o','n','t','a','i','n',' ','a','-', -'z',',',' ','A','-','Z',',',' ','0','-','9',' ','a','n','d',' ','`','-','`','.',' ','F','o','u','n', -'d',':',' ','`','{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n','t','I','d','}', -'`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e', -'"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', -']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','T', -'h','e',' ','A','R','N',' ','w','a','s',' ','n','o','t',' ','f','o','r',' ','t','h','e',' ','S','3', -' ','s','e','r','v','i','c','e',',',' ','f','o','u','n','d',':',' ','{','b','u','c','k','e','t','A', -'r','n','#','s','e','r','v','i','c','e','}','"',',','"','t','y','p','e','"',':','"','e','r','r','o', -'r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n', -'d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a', -'l','i','d',' ','r','e','g','i','o','n',' ','i','n',' ','A','R','N',':',' ','`','{','b','u','c','k', -'e','t','A','r','n','#','r','e','g','i','o','n','}','`',' ','(','i','n','v','a','l','i','d',' ','D', -'N','S',' ','n','a','m','e',')','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}', -']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t', -'i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','C','l','i','e','n','t',' ', -'w','a','s',' ','c','o','n','f','i','g','u','r','e','d',' ','f','o','r',' ','p','a','r','t','i','t', -'i','o','n',' ','`','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','n','a','m', -'e','}','`',' ','b','u','t',' ','A','R','N',' ','(','`','{','B','u','c','k','e','t','}','`',')',' ', -'h','a','s',' ','`','{','b','u','c','k','e','t','P','a','r','t','i','t','i','o','n','#','n','a','m', -'e','}','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y', -'p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', +'n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A', +'R','N',':',' ','E','x','p','e','c','t','e','d',' ','a',' ','4','-','c','o','m','p','o','n','e','n', +'t',' ','r','e','s','o','u','r','c','e','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r', '"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d', 'i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l', -'i','d',' ','A','R','N',':',' ','T','h','e',' ','A','R','N',' ','m','a','y',' ','o','n','l','y',' ', -'c','o','n','t','a','i','n',' ','a',' ','s','i','n','g','l','e',' ','r','e','s','o','u','r','c','e', -' ','c','o','m','p','o','n','e','n','t',' ','a','f','t','e','r',' ','`','a','c','c','e','s','s','p', -'o','i','n','t','`','.','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',', -'"','t','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t', -'r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c', -'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i', -'d','H','o','s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','"','}',',','t','r','u','e', -']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t', -'a','c','k','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','S','3', -' ','M','R','A','P',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','d','u', -'a','l','-','s','t','a','c','k','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}', +'i','d',' ','A','R','N',':',' ','T','h','e',' ','a','c','c','o','u','n','t',' ','i','d',' ','m','a', +'y',' ','o','n','l','y',' ','c','o','n','t','a','i','n',' ','a','-','z',',',' ','A','-','Z',',',' ', +'0','-','9',' ','a','n','d',' ','`','-','`','.',' ','F','o','u','n','d',':',' ','`','{','b','u','c', +'k','e','t','A','r','n','#','a','c','c','o','u','n','t','I','d','}','`','"',',','"','t','y','p','e', +'"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', +'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r', +'"',':','"','I','n','v','a','l','i','d',' ','r','e','g','i','o','n',' ','i','n',' ','A','R','N',':', +' ','`','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','`',' ','(','i','n', +'v','a','l','i','d',' ','D','N','S',' ','n','a','m','e',')','"',',','"','t','y','p','e','"',':','"', +'e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"', +'C','l','i','e','n','t',' ','w','a','s',' ','c','o','n','f','i','g','u','r','e','d',' ','f','o','r', +' ','p','a','r','t','i','t','i','o','n',' ','`','{','p','a','r','t','i','t','i','o','n','R','e','s', +'u','l','t','#','n','a','m','e','}','`',' ','b','u','t',' ','A','R','N',' ','(','`','{','B','u','c', +'k','e','t','}','`',')',' ','h','a','s',' ','`','{','b','u','c','k','e','t','P','a','r','t','i','t', +'i','o','n','#','n','a','m','e','}','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r', +'"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e', +'"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"', +':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','T','h','e',' ','o','u','t','p','o','s', +'t',' ','I','d',' ','m','a','y',' ','o','n','l','y',' ','c','o','n','t','a','i','n',' ','a','-','z', +',',' ','A','-','Z',',',' ','0','-','9',' ','a','n','d',' ','`','-','`','.',' ','F','o','u','n','d', +':',' ','`','{','o','u','t','p','o','s','t','I','d','}','`','"',',','"','t','y','p','e','"',':','"', +'e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"', +'I','n','v','a','l','i','d',' ','A','R','N',':',' ','T','h','e',' ','O','u','t','p','o','s','t',' ', +'I','d',' ','w','a','s',' ','n','o','t',' ','s','e','t','"',',','"','t','y','p','e','"',':','"','e', +'r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I', +'n','v','a','l','i','d',' ','A','R','N',':',' ','U','n','r','e','c','o','g','n','i','z','e','d',' ', +'f','o','r','m','a','t',':',' ','{','B','u','c','k','e','t','}',' ','(','t','y','p','e',':',' ','{', +'a','r','n','T','y','p','e','}',')','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"', +'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i', +'d',' ','A','R','N',':',' ','N','o',' ','A','R','N',' ','t','y','p','e',' ','s','p','e','c','i','f', +'i','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y', +'p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[','{','"','f','n','"',':','"','s','u','b','s','t','r','i','n','g','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',',','0',',','4',',','f', +'a','l','s','e',']',',','"','a','s','s','i','g','n','"',':','"','a','r','n','P','r','e','f','i','x', +'"','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','a','r','n','P','r','e','f','i','x','"', +'}',',','"','a','r','n',':','"',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a', +'r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v', +'"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','s','e','A','r','n','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',']','}', +']','}',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R', +'N',':',' ','`','{','B','u','c','k','e','t','}','`',' ','w','a','s',' ','n','o','t',' ','a',' ','v', +'a','l','i','d',' ','A','R','N','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}', ',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', 'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',']',',','"','e','r', -'r','o','r','"',':','"','S','3',' ','M','R','A','P',' ','d','o','e','s',' ','n','o','t',' ','s','u', -'p','p','o','r','t',' ','F','I','P','S','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r', -'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', -'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e',']','}', -']',',','"','e','r','r','o','r','"',':','"','S','3',' ','M','R','A','P',' ','d','o','e','s',' ','n', -'o','t',' ','s','u','p','p','o','r','t',' ','S','3',' ','A','c','c','e','l','e','r','a','t','e','"', -',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t', -'i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','D','i','s','a','b', -'l','e','M','u','l','t','i','R','e','g','i','o','n','A','c','c','e','s','s','P','o','i','n','t','s', -'"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l', -'i','d',' ','c','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','M','u','l','t','i','-','R', -'e','g','i','o','n',' ','A','c','c','e','s','s',' ','P','o','i','n','t',' ','A','R','N','s',' ','a', -'r','e',' ','d','i','s','a','b','l','e','d','.','"',',','"','t','y','p','e','"',':','"','e','r','r', -'o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', -':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g','n', -'"',':','"','m','r','a','p','P','a','r','t','i','t','i','o','n','"','}',']',',','"','r','u','l','e', -'s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', -'"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','m','r','a','p','P','a','r','t','i','t','i','o','n','"','}',',','"','n','a','m', -'e','"',']','}',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"', -'p','a','r','t','i','t','i','o','n','"',']','}',']','}',']',',','"','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','"',':','"','h','t','t','p','s',':','/','/','{','a','c','c','e','s', -'s','P','o','i','n','t','N','a','m','e','}','.','a','c','c','e','s','s','p','o','i','n','t','.','s', -'3','-','g','l','o','b','a','l','.','{','m','r','a','p','P','a','r','t','i','t','i','o','n','#','d', -'n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{', -'"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D', -'o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e', -'"',':','"','s','i','g','v','4','a','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':', -'"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','S','e','t','"',':','[', -'"','*','"',']','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y', -'p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"', -'t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"', -'e','r','r','o','r','"',':','"','C','l','i','e','n','t',' ','w','a','s',' ','c','o','n','f','i','g', -'u','r','e','d',' ','f','o','r',' ','p','a','r','t','i','t','i','o','n',' ','`','{','m','r','a','p', -'P','a','r','t','i','t','i','o','n','#','n','a','m','e','}','`',' ','b','u','t',' ','b','u','c','k', -'e','t',' ','r','e','f','e','r','r','e','d',' ','t','o',' ','p','a','r','t','i','t','i','o','n',' ', -'`','{','b','u','c','k','e','t','A','r','n','#','p','a','r','t','i','t','i','o','n','}','`','"',',', -'"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"', -'t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I', -'n','v','a','l','i','d',' ','A','c','c','e','s','s',' ','P','o','i','n','t',' ','N','a','m','e','"', -',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':', -'"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',', -'"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','E','x','p', -'e','c','t','e','d',' ','a',' ','r','e','s','o','u','r','c','e',' ','o','f',' ','t','h','e',' ','f', -'o','r','m','a','t',' ','`','a','c','c','e','s','s','p','o','i','n','t',':','<','a','c','c','e','s', -'s','p','o','i','n','t',' ','n','a','m','e','>','`',' ','b','u','t',' ','n','o',' ','n','a','m','e', -' ','w','a','s',' ','p','r','o','v','i','d','e','d','"',',','"','t','y','p','e','"',':','"','e','r', -'r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c', -'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e', -'t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u', -'c','k','e','t','A','r','n','"','}',',','"','s','e','r','v','i','c','e','"',']','}',',','"','s','3', -'-','o','u','t','p','o','s','t','s','"',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e', -'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"', -'e','r','r','o','r','"',':','"','S','3',' ','O','u','t','p','o','s','t','s',' ','d','o','e','s',' ', -'n','o','t',' ','s','u','p','p','o','r','t',' ','D','u','a','l','-','s','t','a','c','k','"',',','"', -'t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o', -'n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S', -'"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','S','3',' ','O','u', -'t','p','o','s','t','s',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','F', -'I','P','S','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o', -'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A', -'c','c','e','l','e','r','a','t','e','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o', -'r','"',':','"','S','3',' ','O','u','t','p','o','s','t','s',' ','d','o','e','s',' ','n','o','t',' ', -'s','u','p','p','o','r','t',' ','S','3',' ','A','c','c','e','l','e','r','a','t','e','"',',','"','t', -'y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n', -'s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':', -'[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','s','o', -'u','r','c','e','I','d','[','4',']','"',']','}',']','}',']',',','"','e','r','r','o','r','"',':','"', -'I','n','v','a','l','i','d',' ','A','r','n',':',' ','O','u','t','p','o','s','t',' ','A','c','c','e', -'s','s',' ','P','o','i','n','t',' ','A','R','N',' ','c','o','n','t','a','i','n','s',' ','s','u','b', -' ','r','e','s','o','u','r','c','e','s','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r', -'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', -'g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','s','o','u','r','c','e','I','d','[','1', -']','"',']',',','"','a','s','s','i','g','n','"',':','"','o','u','t','p','o','s','t','I','d','"','}', -']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','o','u','t','p','o','s','t','I', -'d','"','}',',','f','a','l','s','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c', -'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','A','r','n','R','e', -'g','i','o','n','"','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', -'A','r','n','R','e','g','i','o','n','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"', -':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r', -'i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':', -'"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','g','i','o','n','"',']','}',',','"', -'{','R','e','g','i','o','n','}','"',']','}',']','}',']',',','"','e','r','r','o','r','"',':','"','I', -'n','v','a','l','i','d',' ','c','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','r','e','g', -'i','o','n',' ','f','r','o','m',' ','A','R','N',' ','`','{','b','u','c','k','e','t','A','r','n','#', -'r','e','g','i','o','n','}','`',' ','d','o','e','s',' ','n','o','t',' ','m','a','t','c','h',' ','c', -'l','i','e','n','t',' ','r','e','g','i','o','n',' ','`','{','R','e','g','i','o','n','}','`',' ','a', -'n','d',' ','U','s','e','A','r','n','R','e','g','i','o','n',' ','i','s',' ','`','f','a','l','s','e', -'`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d', -'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i', -'t','i','o','n','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A', -'t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k', -'e','t','A','r','n','"','}',',','"','r','e','g','i','o','n','"',']','}',']',',','"','a','s','s','i', -'g','n','"',':','"','b','u','c','k','e','t','P','a','r','t','i','t','i','o','n','"','}',']',',','"', -'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', -'f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s', -'i','g','n','"',':','"','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',']',',', -'"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', -'"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','P','a','r','t','i','t','i','o','n', -'"','}',',','"','n','a','m','e','"',']','}',',','{','"','f','n','"',':','"','g','e','t','A','t','t', -'r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','p','a','r','t','i','t', -'i','o','n','R','e','s','u','l','t','"','}',',','"','n','a','m','e','"',']','}',']','}',']',',','"', +'f','"',':','"','F','o','r','c','e','P','a','t','h','S','t','y','l','e','"','}',',','t','r','u','e', +']','}',',','{','"','f','n','"',':','"','a','w','s','.','p','a','r','s','e','A','r','n','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',']','}', +']',',','"','e','r','r','o','r','"',':','"','P','a','t','h','-','s','t','y','l','e',' ','a','d','d', +'r','e','s','s','i','n','g',' ','c','a','n','n','o','t',' ','b','e',' ','u','s','e','d',' ','w','i', +'t','h',' ','A','R','N',' ','b','u','c','k','e','t','s','"',',','"','t','y','p','e','"',':','"','e', +'r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', +'n','"',':','"','u','r','i','E','n','c','o','d','e','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','B','u','c','k','e','t','"','}',']',',','"','a','s','s','i','g','n','"',':', +'"','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','"','}',']',',','"','r', +'u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', +'n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i', +'g','n','"',':','"','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',']',',','"', 'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', -'f','n','"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a', -'r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',', -'"','r','e','g','i','o','n','"',']','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s', -'"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', -'i','s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':', -'[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','a','c','c','o', -'u','n','t','I','d','"',']','}',',','f','a','l','s','e',']','}',']',',','"','r','u','l','e','s','"', -':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','g', -'e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','b', -'u','c','k','e','t','A','r','n','"','}',',','"','r','e','s','o','u','r','c','e','I','d','[','2',']', -'"',']',',','"','a','s','s','i','g','n','"',':','"','o','u','t','p','o','s','t','T','y','p','e','"', -'}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"', -':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','b','u','c','k','e','t','A','r','n','"','}',',','"','r','e','s', -'o','u','r','c','e','I','d','[','3',']','"',']',',','"','a','s','s','i','g','n','"',':','"','a','c', -'c','e','s','s','P','o','i','n','t','N','a','m','e','"','}',']',',','"','r','u','l','e','s','"',':', -'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t', -'r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','o','u','t','p','o','s','t','T','y','p','e','"','}',',','"','a','c','c','e','s','s','p', -'o','i','n','t','"',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', -'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','f', +'a','l','s','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u', +'a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n', +'o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t', +'"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I', +'P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R', +'e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"', +'e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/', +'/','s','3','-','f','i','p','s','.','d','u','a','l','s','t','a','c','k','.','u','s','-','e','a','s', +'t','-','1','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S', +'u','f','f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e', +'t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c', +'h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n', +'c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v', +'4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i', +'g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}', +']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"', +'e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c', +'k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a', +'r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}', +',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t', +'r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':', +'[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w', +'s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l', +'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u', +'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','"',':','"', +'h','t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','d','u','a','l','s','t','a','c','k', +'.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l', +'t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d', +'_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"', +'a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o', +'u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"', +':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s', +'3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i', +'o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y', +'p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"', +'t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', +'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',', +'t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"', +':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f', +'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']', +'}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f', +'n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l', +'o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', +'e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}', +']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p', +'s',':','/','/','s','3','-','f','i','p','s','.','d','u','a','l','s','t','a','c','k','.','{','R','e', +'g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n', +'s','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c', +'k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h', +'S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e', +'E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i', +'g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"', +'s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"', +'}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':', +'"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a', +'c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',', +'"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r', 'g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}', -',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s', -'i','g','n','"',':','"','u','r','l','"','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{', -'"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','{','a','c','c','e','s','s','P','o','i', -'n','t','N','a','m','e','}','-','{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n', -'t','I','d','}','.','{','o','u','t','p','o','s','t','I','d','}','.','{','u','r','l','#','a','u','t', -'h','o','r','i','t','y','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a', -'u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u', -'b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':', -'"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3', -'-','o','u','t','p','o','s','t','s','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n', -'"',':','"','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o','n','}','"','}',']','}', -',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n', -'d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']', -',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s', -':','/','/','{','a','c','c','e','s','s','P','o','i','n','t','N','a','m','e','}','-','{','b','u','c', -'k','e','t','A','r','n','#','a','c','c','o','u','n','t','I','d','}','.','{','o','u','t','p','o','s', -'t','I','d','}','.','s','3','-','o','u','t','p','o','s','t','s','.','{','b','u','c','k','e','t','A', -'r','n','#','r','e','g','i','o','n','}','.','{','b','u','c','k','e','t','P','a','r','t','i','t','i', -'o','n','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e', +']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}', +',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o', +'n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p', +'o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-', +'f','i','p','s','.','u','s','-','e','a','s','t','-','1','.','{','p','a','r','t','i','t','i','o','n', +'R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n', +'c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e', 's','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a', 'b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"', 'n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m', -'e','"',':','"','s','3','-','o','u','t','p','o','s','t','s','"',',','"','s','i','g','n','i','n','g', -'R','e','g','i','o','n','"',':','"','{','b','u','c','k','e','t','A','r','n','#','r','e','g','i','o', -'n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', -'e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t', -'r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e', -'r','r','o','r','"',':','"','E','x','p','e','c','t','e','d',' ','a','n',' ','o','u','t','p','o','s', -'t',' ','t','y','p','e',' ','`','a','c','c','e','s','s','p','o','i','n','t','`',',',' ','f','o','u', -'n','d',' ','{','o','u','t','p','o','s','t','T','y','p','e','}','"',',','"','t','y','p','e','"',':', -'"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':', -'"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','e','x','p','e','c','t','e','d',' ','a','n', -' ','a','c','c','e','s','s',' ','p','o','i','n','t',' ','n','a','m','e','"',',','"','t','y','p','e', -'"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', -'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r', -'"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','E','x','p','e','c','t','e','d',' ', -'a',' ','4','-','c','o','m','p','o','n','e','n','t',' ','r','e','s','o','u','r','c','e','"',',','"', -'t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t', -'r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e', -'r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','T','h','e',' ','a', -'c','c','o','u','n','t',' ','i','d',' ','m','a','y',' ','o','n','l','y',' ','c','o','n','t','a','i', -'n',' ','a','-','z',',',' ','A','-','Z',',',' ','0','-','9',' ','a','n','d',' ','`','-','`','.',' ', -'F','o','u','n','d',':',' ','`','{','b','u','c','k','e','t','A','r','n','#','a','c','c','o','u','n', -'t','I','d','}','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"', -'t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n', -'s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','r','e', -'g','i','o','n',' ','i','n',' ','A','R','N',':',' ','`','{','b','u','c','k','e','t','A','r','n','#', -'r','e','g','i','o','n','}','`',' ','(','i','n','v','a','l','i','d',' ','D','N','S',' ','n','a','m', -'e',')','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p', -'e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[',']',',','"','e','r','r','o','r','"',':','"','C','l','i','e','n','t',' ','w','a','s',' ','c','o', -'n','f','i','g','u','r','e','d',' ','f','o','r',' ','p','a','r','t','i','t','i','o','n',' ','`','{', -'p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','n','a','m','e','}','`',' ','b','u', -'t',' ','A','R','N',' ','(','`','{','B','u','c','k','e','t','}','`',')',' ','h','a','s',' ','`','{', -'b','u','c','k','e','t','P','a','r','t','i','t','i','o','n','#','n','a','m','e','}','`','"',',','"', -'t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t', -'r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t', -'y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N', -':',' ','T','h','e',' ','o','u','t','p','o','s','t',' ','I','d',' ','m','a','y',' ','o','n','l','y', -' ','c','o','n','t','a','i','n',' ','a','-','z',',',' ','A','-','Z',',',' ','0','-','9',' ','a','n', -'d',' ','`','-','`','.',' ','F','o','u','n','d',':',' ','`','{','o','u','t','p','o','s','t','I','d', -'}','`','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p', -'e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ', -'T','h','e',' ','O','u','t','p','o','s','t',' ','I','d',' ','w','a','s',' ','n','o','t',' ','s','e', -'t','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e', -'"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', -']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','U', -'n','r','e','c','o','g','n','i','z','e','d',' ','f','o','r','m','a','t',':',' ','{','B','u','c','k', -'e','t','}',' ','(','t','y','p','e',':',' ','{','a','r','n','T','y','p','e','}',')','"',',','"','t', -'y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r', -'e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r', -'r','o','r','"',':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','N','o',' ','A','R','N', -' ','t','y','p','e',' ','s','p','e','c','i','f','i','e','d','"',',','"','t','y','p','e','"',':','"', -'e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','u','b','s', -'t','r','i','n','g','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u', -'c','k','e','t','"','}',',','0',',','4',',','f','a','l','s','e',']',',','"','a','s','s','i','g','n', -'"',':','"','a','r','n','P','r','e','f','i','x','"','}',',','{','"','f','n','"',':','"','s','t','r', -'i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','a','r','n','P','r','e','f','i','x','"','}',',','"','a','r','n',':','"',']','}',',','{','"', -'f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', -'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','a','w','s', -'.','p','a','r','s','e','A','r','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','B','u','c','k','e','t','"','}',']','}',']','}',']','}',']',',','"','e','r','r','o','r','"', -':','"','I','n','v','a','l','i','d',' ','A','R','N',':',' ','`','{','B','u','c','k','e','t','}','`', -' ','w','a','s',' ','n','o','t',' ','a',' ','v','a','l','i','d',' ','A','R','N','"',',','"','t','y', -'p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','F','o','r','c','e','P','a','t','h', -'S','t','y','l','e','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','a','w','s', -'.','p','a','r','s','e','A','r','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','B','u','c','k','e','t','"','}',']','}',']',',','"','e','r','r','o','r','"',':','"','P','a', -'t','h','-','s','t','y','l','e',' ','a','d','d','r','e','s','s','i','n','g',' ','c','a','n','n','o', -'t',' ','b','e',' ','u','s','e','d',' ','w','i','t','h',' ','A','R','N',' ','b','u','c','k','e','t', -'s','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d', -'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','u','r','i','E','n','c','o','d','e', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e','t','"', -'}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','i','_','e','n','c','o','d','e','d','_', -'b','u','c','k','e','t','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d', -'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i', -'t','i','o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g', -'i','o','n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','p','a','r','t','i','t','i','o', -'n','R','e','s','u','l','t','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n', -'d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', -'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c', -'c','e','l','e','r','a','t','e','"','}',',','f','a','l','s','e',']','}',']',',','"','r','u','l','e', -'s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u', -'e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{', -'"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{', -'"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-', -'g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u', -'r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','d','u','a','l', -'s','t','a','c','k','.','u','s','-','e','a','s','t','-','1','.','{','p','a','r','t','i','t','i','o', -'n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e', -'n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i', -'e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s', -'a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',', -'"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a', -'m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':', -'"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':', -'{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e', -'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"', +'e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"', +'u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{', +'}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a', +'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"', 'f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', 'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', 'd','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', @@ -1780,61 +1867,16 @@ static constexpr RulesBlobT RulesBlob = {{ 'd','p','o','i','n','t','"','}',',','t','r','u','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','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f','i', -'p','s','.','d','u','a','l','s','t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p','a', -'r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/', -'{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r', -'o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':', -'[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"', -':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g', -'n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e', -'g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d', -'e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t', -'"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d', -'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', -'D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':', -'"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e', -'t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i', -'n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', -'F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"', -',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i', -'o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f', -'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i', -'n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':', -'{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','d', -'u','a','l','s','t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t', -'i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r','i', -'_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r', -'t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d', -'i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u', -'e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g', -'N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n', -'"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"', -':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',', -'{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"', -':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o', -'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"', -':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b', -'a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':', -'"','h','t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','u','s','-','e','a','s','t','-', -'1','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f', -'f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}', -'"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e', -'m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o', -'d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"', -',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n', -'i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}', -',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n', -'d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'p','s','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s', +'u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n','c','o','d', +'e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':', +'{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e', +'D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m', +'e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':', +'"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e', +'g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"', +'t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"', +':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', '"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', 'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"', '}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r', @@ -1847,9 +1889,8 @@ static constexpr RulesBlobT RulesBlob = {{ 'v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s', '-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', 'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','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','"',':','"','h', +'"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s', +'e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h', 't','t','p','s',':','/','/','s','3','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{', 'p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x', '}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"', @@ -1859,83 +1900,106 @@ static constexpr RulesBlobT RulesBlob = {{ 'i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g', 'R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e', 'a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i', -'n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o', -'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', -'s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f', -'n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i', -'s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d', -'p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a', -'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n', -'o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R', -'e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',', -'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d', -'p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n', -'t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f','i','p', -'s','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u', -'l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e', -'d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{', -'"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D', -'o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e', -'"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"', -'s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g', -'i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t', -'y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t', -'i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u', -'a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n', -'o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t', -'"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I', -'P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n', -'g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',', -'"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':', -'/','/','s','3','.','d','u','a','l','s','t','a','c','k','.','u','s','-','e','a','s','t','-','1','.', -'{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i', -'x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',', -'"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e', -'s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i', -'n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"', -'s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n', -'g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"', -'h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p', -'o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', -'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',', -'t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"', -':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f', -'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e', -']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"', -'f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g', -'l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', -'s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','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','"',':','"','h','t','t', -'p','s',':','/','/','s','3','.','d','u','a','l','s','t','a','c','k','.','{','R','e','g','i','o','n', -'}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f', -'f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}', +'n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r', +'u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[', +'{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}', +',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w', +'s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{', +'"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','d','u','a','l','s','t','a', +'c','k','.','u','s','-','e','a','s','t','-','1','.','{','p','a','r','t','i','t','i','o','n','R','e', +'s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n','c','o', +'d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"', +':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l', +'e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a', +'m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"', +':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s', +'-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}', +',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n', +'d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', +'e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"', +':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S', +'e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o', +'i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', +'e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o', +'t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e', +'g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p', +'o','i','n','t','"','}',',','t','r','u','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','"',':','"','h','t','t','p','s',':','/','/','s','3','.','d','u','a','l', +'s','t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n', +'R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n', +'c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e', +'s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a', +'b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"', +'n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m', +'e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"', +'{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}', +'}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y', +'p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a', +'c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"', +'a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']', +'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',', +'f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v', +'"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"', +'a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f', +'a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"', +':','"','h','t','t','p','s',':','/','/','s','3','.','d','u','a','l','s','t','a','c','k','.','{','R', +'e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d', +'n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u', +'c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t', +'h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l', +'e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s', +'i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',', +'"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}', +'"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"', +':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', +'"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t', +'a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e', +'t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i', +'n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}', +']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"', +'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{', +'"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-', +'g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u', +'r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#', +'a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','n','o','r','m','a','l','i','z','e','d', +'P','a','t','h','}','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}', '"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e', 'm','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o', 'd','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"', ',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n', -'i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',', -'"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d', -'p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{', -'"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':', -'"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E', -'n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l', +'i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}', +',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n', +'d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"', +'}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}', +']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a', +'s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','b','o','o','l', 'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', ':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"', ':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r', @@ -1943,46 +2007,82 @@ static constexpr RulesBlobT RulesBlob = {{ ':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}', ']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', '"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l', -'E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p', -'o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.', -'d','u','a','l','s','t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i', -'t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r', -'i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e', -'r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"', -'d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r', -'u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n', -'g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o', -'n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s', -'"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o', -'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}', -',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':', -'"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u', -'r','l','"','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', +'E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s', +'"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', +'s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','u','s','-','e','a','s','t','-','1','"', +']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u', +'r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i', +'t','y','}','{','u','r','l','#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}','{','u', +'r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p', +'e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{', +'"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t', +'r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i', +'n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i', +'o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r', +'s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i', +'n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':', +'/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','n','o','r', +'m','a','l','i','z','e','d','P','a','t','h','}','{','u','r','i','_','e','n','c','o','d','e','d','_', +'b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a', +'u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u', +'b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':', +'"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3', +'"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o', +'n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', +'e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t', +'r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', +'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f', +'a','l','s','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',', +'{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i', +'g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', +'s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n', +'o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R', +'e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',', +'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d', +'p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n', +'t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/', +'/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','n','o','r','m', +'a','l','i','z','e','d','P','a','t','h','}','{','u','r','i','_','e','n','c','o','d','e','d','_','b', +'u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u', +'t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b', +'l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"', +'s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"', +',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n', +'}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e', +'"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S', +'t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t', +'"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}', +']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', '"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S', '"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E', 'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e', 'g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e', -'n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h', -'e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r', -'l','#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}','{','u','r','i','_','e','n','c', -'o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s', -'"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b', -'l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n', -'a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e', -'"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u', -'s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}', -'}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o', -'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', -'s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f', -'n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r', -'s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', -'d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}', +'n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/', +'s','3','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u', +'f','f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t', +'}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h', +'e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c', +'o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4', +'"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g', +'n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']', +'}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e', +'n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k', +'"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a', +'r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}', ',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', 'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f', 'a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"', @@ -1995,19 +2095,8 @@ static constexpr RulesBlobT RulesBlob = {{ 'n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"', ',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}', ',','"','u','s','-','e','a','s','t','-','1','"',']','}',']',',','"','e','n','d','p','o','i','n','t', -'"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/', -'{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','n','o','r','m','a', -'l','i','z','e','d','P','a','t','h','}','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u', -'c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t', -'h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l', -'e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s', -'i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',', -'"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}', -'"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"', -':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{', -'u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r', -'i','t','y','}','{','u','r','l','#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}','{', +'"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','{','p','a','r', +'t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{', 'u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o', 'p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[', '{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':', @@ -2015,46 +2104,209 @@ static constexpr RulesBlobT RulesBlob = {{ 'i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g', 'i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e', 'r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"', -'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i', -'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D', -'u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':', -'"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E', -'n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U', -'R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o', -'i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"', -'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s', -'e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{', -'"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-', -'g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a', +'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o', +'i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','{', +'R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#', +'d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b', +'u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u', +'t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b', +'l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"', +'s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"', +',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n', +'}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e', +'"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r', +'e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a', +'l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':', +'[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n', +'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']', +'}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f', +'n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l', +'o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', +'e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}', +']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p', +'s',':','/','/','s','3','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o', +'n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e', +'n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i', +'e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s', +'a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',', +'"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a', +'m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':', +'"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{', +'}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t', +'y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', +'"',':','[',']',',','"','e','r','r','o','r','"',':','"','P','a','t','h','-','s','t','y','l','e',' ', +'a','d','d','r','e','s','s','i','n','g',' ','c','a','n','n','o','t',' ','b','e',' ','u','s','e','d', +' ','w','i','t','h',' ','S','3',' ','A','c','c','e','l','e','r','a','t','e','"',',','"','t','y','p', +'e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', +'"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e', +'"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','U','s','e','O','b','j','e','c','t','L','a','m','b','d','a','E','n','d','p','o', +'i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','O', +'b','j','e','c','t','L','a','m','b','d','a','E','n','d','p','o','i','n','t','"','}',',','t','r','u', +'e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}', +']',',','"','a','s','s','i','g','n','"',':','"','p','a','r','t','i','t','i','o','n','R','e','s','u', +'l','t','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a', +'b','e','l','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i', +'o','n','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a', 'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e', -']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u', -'r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i', -'t','y','}','{','u','r','l','#','n','o','r','m','a','l','i','z','e','d','P','a','t','h','}','{','u', -'r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p', +'U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"','e', +'r','r','o','r','"',':','"','S','3',' ','O','b','j','e','c','t',' ','L','a','m','b','d','a',' ','d', +'o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','D','u','a','l','-','s','t','a','c', +'k','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','A','c','c', +'e','l','e','r','a','t','e','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"', +':','"','S','3',' ','O','b','j','e','c','t',' ','L','a','m','b','d','a',' ','d','o','e','s',' ','n', +'o','t',' ','s','u','p','p','o','r','t',' ','S','3',' ','A','c','c','e','l','e','r','a','t','e','"', +',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',', +'{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i', +'g','n','"',':','"','u','r','l','"','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"', +'u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l', +'#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p', +'r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"', +':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g', +'"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i', +'g','n','i','n','g','N','a','m','e','"',':','"','s','3','-','o','b','j','e','c','t','-','l','a','m', +'b','d','a','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e', +'g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"', +'t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F', +'I','P','S','"','}',',','t','r','u','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':', +'{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','o','b','j','e','c','t', +'-','l','a','m','b','d','a','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','p','a', +'r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"', +',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m', +'e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d', +'i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',', +'"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','-','o','b','j','e','c','t','-', +'l','a','m','b','d','a','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"', +'{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}', +'}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{', +'"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','o','b','j','e','c','t','-', +'l','a','m','b','d','a','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o', +'n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p', 'e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{', '"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t', 'r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i', -'n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i', -'o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r', -'s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}', -',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', +'n','g','N','a','m','e','"',':','"','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a', +'"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o', +'n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', +'e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t', +'r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e', +'r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','r','e','g','i','o','n',':',' ','r','e', +'g','i','o','n',' ','w','a','s',' ','n','o','t',' ','a',' ','v','a','l','i','d',' ','D','N','S',' ', +'n','a','m','e','.','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"', +'t','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r', +'e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', +':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S', +'e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','B','u','c','k','e', +'t','"','}',']','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t', +'i','o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i', +'o','n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','p','a','r','t','i','t','i','o','n', +'R','e','s','u','l','t','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','V','a','l','i','d','H','o', +'s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'R','e','g','i','o','n','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':', +'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', 'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']', -'}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f', -'n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b', -'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"', -'f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g', -'l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r', -'l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','{','p','a','r','t','i','t','i','o','n', -'R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n', -'c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e', +'f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n', +'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t', +'r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':', +'[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n', +'"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o', +'b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"', +':','"','h','t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','d','u','a','l','s','t','a', +'c','k','.','u','s','-','e','a','s','t','-','1','.','{','p','a','r','t','i','t','i','o','n','R','e', +'s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t', +'i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i', +'s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e', +',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N', +'a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"', +':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"', +':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', +'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':', +'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u', +'e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{', +'"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':', +'"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i', +'n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']', +'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E', +'n','d','p','o','i','n','t','"','}',',','t','r','u','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','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f', +'i','p','s','.','d','u','a','l','s','t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p', +'a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}', +'"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e', +'m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o', +'d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"', +',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n', +'i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',', +'"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d', +'p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', +'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':', +'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u', +'e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{', +'"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':', +'"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i', +'n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']', +'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E', +'n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o', +'i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f', +'i','p','s','.','d','u','a','l','s','t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p', +'a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}', +'"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e', +'m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o', +'d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"', +',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n', +'i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',', +'"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d', +'p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e', +']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t', +'a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"', +',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']', +'}',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',', +'"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t', +'"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f','i','p','s', +'.','u','s','-','e','a','s','t','-','1','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u', +'l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e', 's','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a', 'b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"', 'n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m', @@ -2063,376 +2315,178 @@ static constexpr RulesBlobT RulesBlob = {{ '}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c', 'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a', 'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"', -'f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', -'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', -'d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', -'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':', -'"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i', -'n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']', -'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E', -'n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"', -':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s', -'t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','R','e','g','i','o','n','"','}',',','"','u','s','-','e','a','s','t','-','1','"',']', -'}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t', -'p','s',':','/','/','s','3','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#', -'d','n','s','S','u','f','f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b', -'u','c','k','e','t','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u', -'t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b', -'l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"', -'s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"', -',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n', -'}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e', -'"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n', -'s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"', -'h','t','t','p','s',':','/','/','s','3','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t', -'i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','{','u', -'r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t','}','"',',','"','p','r','o','p', -'e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{', -'"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t', -'r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i', -'n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i', -'o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r', -'s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}', -']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t', -'i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u', -'a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"', -'n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n', -'t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F', -'I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"', -',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i', -'o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f', -'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i', -'n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':', -'{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','{','R','e','g','i','o', -'n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u', -'f','f','i','x','}','/','{','u','r','i','_','e','n','c','o','d','e','d','_','b','u','c','k','e','t', -'}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h', -'e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c', -'o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4', -'"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g', -'n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}', -',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n', -'d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':', -'"','P','a','t','h','-','s','t','y','l','e',' ','a','d','d','r','e','s','s','i','n','g',' ','c','a', -'n','n','o','t',' ','b','e',' ','u','s','e','d',' ','w','i','t','h',' ','S','3',' ','A','c','c','e', -'l','e','r','a','t','e','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',', -'"','t','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t', -'r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c', -'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','O','b','j','e','c', -'t','L','a','m','b','d','a','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"', -':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','U','s','e','O','b','j','e','c','t','L','a','m','b','d','a','E','n', +'U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b', +'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e', +']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"', +'f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"', +'n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n', +'g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}', +',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n', 'd','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':', -'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w', -'s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','p', -'a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',']',',','"','r','u','l','e','s','"', -':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i', -'s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','t','r','u','e',']','}',']',',', -'"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', -'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"', -'}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','S','3',' ','O','b','j', -'e','c','t',' ','L','a','m','b','d','a',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o', -'r','t',' ','D','u','a','l','-','s','t','a','c','k','"',',','"','t','y','p','e','"',':','"','e','r', -'r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', -'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','A','c','c','e','l','e','r','a','t','e','"','}',',','t','r','u', -'e',']','}',']',',','"','e','r','r','o','r','"',':','"','S','3',' ','O','b','j','e','c','t',' ','L', -'a','m','b','d','a',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','S','3', -' ','A','c','c','e','l','e','r','a','t','e','"',',','"','t','y','p','e','"',':','"','e','r','r','o', -'r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', -'"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E', -'n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U', -'R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o', -'i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',']',',','"', -'e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c', -'h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u', -'r','l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"', -'a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o', -'u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"', -':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s', -'3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','"',',','"','s','i','g','n','i','n','g', -'R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e', -'a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i', -'n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', -':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',']', -',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s', -':','/','/','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','-','f','i','p','s','.', -'{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t', -'#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"', -':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l', -'e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a', -'m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"', -':','"','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','"',',','"','s','i','g','n', -'i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',', -'"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d', -'p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',', -'"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':', -'/','/','s','3','-','o','b','j','e','c','t','-','l','a','m','b','d','a','.','{','R','e','g','i','o', +'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i', +'n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-','f','i', +'p','s','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s', +'u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i', +'e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s', +'a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',', +'"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a', +'m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':', +'"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{', +'}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t', +'y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', +'"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}', +',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D', +'u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':', +'"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e', +'t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i', +'n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g', +'v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',', +'"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b', +'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',', +'f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l', +'"',':','"','h','t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','{','R','e','g','i','o', 'n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u', 'f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t', 'h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l', 'e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s', -'i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','-','o', -'b','j','e','c','t','-','l','a','m','b','d','a','"',',','"','s','i','g','n','i','n','g','R','e','g', -'i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e', -'r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"', -'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i', -'t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i', -'d',' ','r','e','g','i','o','n',':',' ','r','e','g','i','o','n',' ','w','a','s',' ','n','o','t',' ', -'a',' ','v','a','l','i','d',' ','D','N','S',' ','n','a','m','e','.','"',',','"','t','y','p','e','"', -':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}', -']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t', -'i','o','n','s','"',':','[','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"', -':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','B','u','c','k','e','t','"','}',']','}',']','}',']',',','"','r','u','l', -'e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', -':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g','n', -'"',':','"','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',']',',','"','r','u', -'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', -'"',':','"','i','s','V','a','l','i','d','H','o','s','t','L','a','b','e','l','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','t','r','u','e', -']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s', +'i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',', +'"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}', +'"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"', +':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', '"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', '"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}', -',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D', -'u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"', -'n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n', -'t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o', -'n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p', -'o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','-', -'f','i','p','s','.','d','u','a','l','s','t','a','c','k','.','u','s','-','e','a','s','t','-','1','.', -'{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i', -'x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c', -'h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n', -'c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v', -'4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i', -'g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}', -']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"', -'e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t', -'r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', -'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a', -'l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o', -'t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"', -'}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':', -'[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w', -'s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u', -'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','"',':','"', -'h','t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','d','u','a','l','s','t','a','c','k', -'.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l', -'t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s', -'"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b', -'l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n', -'a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e', -'"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{', -'R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}', -',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p', -'e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t', -'r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', -'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a', -'l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o', -'t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"', -'}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':', -'[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w', -'s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', -':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l', -'s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"', -'h','t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','d','u','a','l','s','t','a','c','k', -'.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l', -'t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s', -'"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b', -'l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n', -'a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e', -'"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{', -'R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}', -',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n', -'d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', -'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', -'e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o', -'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}', -',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n', -'"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','s','t', -'r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']', -'}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t', -'p','s',':','/','/','s','3','-','f','i','p','s','.','u','s','-','e','a','s','t','-','1','.','{','p', +',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', +'D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':', +'"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e', +'t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i', +'n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i', +'o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d', +'p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3', +'.','d','u','a','l','s','t','a','c','k','.','u','s','-','e','a','s','t','-','1','.','{','p','a','r', +'t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',', +'"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e', +'s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i', +'n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"', +'s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n', +'g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"', +'h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p', +'o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', +'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e', +']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t', +'a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',', +'"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}', +']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"', +'f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g', +'l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', +'s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','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','"',':','"','h','t','t', +'p','s',':','/','/','s','3','.','d','u','a','l','s','t','a','c','k','.','{','R','e','g','i','o','n', +'}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f', +'f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h', +'S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e', +'E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i', +'g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"', +'s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"', +'}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':', +'"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', +'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', +'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"', +'}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g', +'v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{', +'"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':', +'"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a', +'l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l', +'o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"', +'e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/', +'/','s','3','.','d','u','a','l','s','t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p', 'a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}', '"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e', 'm','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o', 'd','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"', ',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n', -'i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}', -',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n', -'d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', -'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u', +'i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',', +'"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d', +'p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s', 'e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', ',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S', -'t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t', -'"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}', -']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[', -'{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s', -'-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', -'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','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','"',':','"','h', -'t','t','p','s',':','/','/','s','3','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{', -'p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x', -'}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h', -'e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c', -'o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4', -'"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g', -'n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}', -',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n', -'d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o', -'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"', +'t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','i','s','S', +'e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o', +'i','n','t','"','}',']','}',',','{','"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"', +'}',']',',','"','a','s','s','i','g','n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':', +'"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a', +'l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"', +'{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o', +'r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t', +'i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i', +'s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e', +',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N', +'a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"', +':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"', +':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', +'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"', ':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', '{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a', -'l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':', -'[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n', -'"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t', -'r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']', -'}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a', -'l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d', -'p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3', -'-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n', -'R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e', -'r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"', -'d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r', -'u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n', -'g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o', -'n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s', -'"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o', -'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n', -'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t', -'r','u','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':', -'[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n', -'"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o', -'b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"', -':','"','h','t','t','p','s',':','/','/','s','3','.','d','u','a','l','s','t','a','c','k','.','u','s', -'-','e','a','s','t','-','1','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#', -'d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':', -'{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e', -'D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m', -'e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':', -'"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-', -'e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',', -'"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d', -'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', -'F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o', -'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',', -'{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"', -':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t', -'"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g', -'i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"', -'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o', -'i','n','t','"','}',',','t','r','u','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','"',':','"','h','t','t','p','s',':','/','/','s','3','.','d','u','a','l','s', -'t','a','c','k','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R', -'e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r', -'t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d', -'i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u', -'e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g', -'N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n', -'"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"', -':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',', -'"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o', -'n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S', -'"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', -'s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',',','{','"','f','n', -'"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s', -'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p', -'o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a', -'r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"', -'}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"', -'}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u', -'r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','d','u','a','l','s','t','a','c','k', -'.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l', -'t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s', +'l','s','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{', +'"','f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g', +'n','"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r', +'g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}', +',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"', +'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}', +',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o', +'n','"','}',',','"','u','s','-','e','a','s','t','-','1','"',']','}',']',',','"','e','n','d','p','o', +'i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}', +':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a', +'t','h','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S', +'c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E', +'n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g', +'v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s', +'i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}', +']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"', +'e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r', +'l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t', +'y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t','i','e','s', '"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b', 'l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n', 'a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e', '"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{', 'R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}', -',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n', -'d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', -'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', -'e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o', -'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']', -'}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"','f','n','"', -':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n','"',':','"', -'u','r','l','"','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"', -'}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i', -'n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':', -'/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t', -'h','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c', -'h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n', -'c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v', -'4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i', -'g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}', -']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"', -'e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p', +'e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', '[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', 'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f', 'a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', @@ -2447,99 +2501,85 @@ static constexpr RulesBlobT RulesBlob = {{ 'f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"', ']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', '"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b', -'a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l', -'e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', -':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','u','s','-','e','a','s','t','-', -'1','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"', -'{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o', -'r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t', -'i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i', -'s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e', -',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N', -'a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"', -':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':', -'{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"', -':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{', -'u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"', -',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m', -'e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d', -'i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',', -'"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i', -'n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"', -'h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p', -'o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e', -'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':', +'a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n', +'d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','{','u','r','l','#','s','c','h','e', +'m','e','}',':','/','/','{','u','r','l','#','a','u','t','h','o','r','i','t','y','}','{','u','r','l', +'#','p','a','t','h','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u', +'t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b', +'l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"', +'s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"', +',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n', +'}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e', +'"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"', +'}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', +'e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n', +'"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s', +'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p', +'o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','s','t','r','i','n','g','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e', +'g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']',',','"','e', +'n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/', +'s','3','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u', +'f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t', +'h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l', +'e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s', +'i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',', +'"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-', +'1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e', +'"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"', +'}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', +'e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n', +'"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','i','s', +'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p', +'o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a', +'r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"', +'}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':', '"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l', -'s','e',']','}',',','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',',','{','"', -'f','n','"',':','"','p','a','r','s','e','U','R','L','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']',',','"','a','s','s','i','g','n', -'"',':','"','u','r','l','"','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g', -'v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',', -'"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b', -'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',', -'f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l', -'"',':','"','{','u','r','l','#','s','c','h','e','m','e','}',':','/','/','{','u','r','l','#','a','u', -'t','h','o','r','i','t','y','}','{','u','r','l','#','p','a','t','h','}','"',',','"','p','r','o','p', +'"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i','n','t','"', +'}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i', +'o','n','"','}',',','"','u','s','-','e','a','s','t','-','1','"',']','}',']',',','"','e','n','d','p', +'o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.', +'{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i', +'x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c', +'h','e','m','e','s','"',':','[','{','"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n', +'c','o','d','i','n','g','"',':','t','r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v', +'4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i', +'g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']', +'}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e', +'n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p', +'s',':','/','/','s','3','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o', +'n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p', 'e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{', '"','d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t', 'r','u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i', 'n','g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i', 'o','n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r', 's','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}', -',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', -'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f', -'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',', -'f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v', -'"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"', -'f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g', -'l','o','b','a','l','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r', -'l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','{','p','a','r','t','i','t','i','o','n', -'R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e', -'r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"', -'d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r', -'u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n', -'g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o', -'n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r', -'s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}', -',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', -'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f', +']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I', +'P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', +'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',',','{', +'"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':', +'"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E', +'n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','f','n','"',':','"','n','o','t','"', +',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i', +'o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l','"',']','}',']','}',',','{','"','f', 'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',', -'f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v', -'"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"', -'f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', -'s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o','b','a','l', -'"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', -'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o', -'b','a','l','E','n','d','p','o','i','n','t','"','}',',','t','r','u','e',']','}',']',',','"','r','u', -'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', -'"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','u','s','-','e','a','s','t', -'-','1','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':', -'"','h','t','t','p','s',':','/','/','s','3','.','{','p','a','r','t','i','t','i','o','n','R','e','s', -'u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i', -'e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','d','i','s', -'a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r','u','e',',', -'"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','N','a', -'m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':', -'"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{', -'}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c', -'o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':', +':','[','{','"','r','e','f','"',':','"','U','s','e','G','l','o','b','a','l','E','n','d','p','o','i', +'n','t','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':', '{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','3','.','{','R','e','g','i','o', 'n','}','.','{','p','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u', 'f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t', @@ -2549,40 +2589,16 @@ static constexpr RulesBlobT RulesBlob = {{ '"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','R','e','g','i','o','n','}', '"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"', ':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e', -'e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',', -'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k', -'"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','n','o','t','"',',','"','a', -'r','g','v','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',']','}',']','}', -',','{','"','f','n','"',':','"','n','o','t','"',',','"','a','r','g','v','"',':','[','{','"','f','n', -'"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',',','"','a','w','s','-','g','l','o', -'b','a','l','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', -'G','l','o','b','a','l','E','n','d','p','o','i','n','t','"','}',',','f','a','l','s','e',']','}',']', -',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s', -':','/','/','s','3','.','{','R','e','g','i','o','n','}','.','{','p','a','r','t','i','t','i','o','n', -'R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e', -'r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"', -'d','i','s','a','b','l','e','D','o','u','b','l','e','E','n','c','o','d','i','n','g','"',':','t','r', -'u','e',',','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n', -'g','N','a','m','e','"',':','"','s','3','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o', -'n','"',':','"','{','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s', -'"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']', -',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i', -'o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ', -'r','e','g','i','o','n',':',' ','r','e','g','i','o','n',' ','w','a','s',' ','n','o','t',' ','a',' ', -'v','a','l','i','d',' ','D','N','S',' ','n','a','m','e','.','"',',','"','t','y','p','e','"',':','"', -'e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']',',', -'"','t','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t', -'r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e', -'r','r','o','r','"',':','"','A',' ','r','e','g','i','o','n',' ','m','u','s','t',' ','b','e',' ','s', -'e','t',' ','w','h','e','n',' ','s','e','n','d','i','n','g',' ','r','e','q','u','e','s','t','s',' ', -'t','o',' ','S','3','.','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}', -'\0' +'e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r', +'o','r','"',':','"','I','n','v','a','l','i','d',' ','r','e','g','i','o','n',':',' ','r','e','g','i', +'o','n',' ','w','a','s',' ','n','o','t',' ','a',' ','v','a','l','i','d',' ','D','N','S',' ','n','a', +'m','e','.','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y', +'p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', +'"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','A',' ','r','e','g', +'i','o','n',' ','m','u','s','t',' ','b','e',' ','s','e','t',' ','w','h','e','n',' ','s','e','n','d', +'i','n','g',' ','r','e','q','u','e','s','t','s',' ','t','o',' ','S','3','.','"',',','"','t','y','p', +'e','"',':','"','e','r','r','o','r','"','}',']','}','\0' }}; const char* S3EndpointRules::GetRulesBlob() diff --git a/generated/src/aws-cpp-sdk-s3/source/model/AbortMultipartUploadRequest.cpp b/generated/src/aws-cpp-sdk-s3/source/model/AbortMultipartUploadRequest.cpp index 5db257e192b..86c91c50e3f 100644 --- a/generated/src/aws-cpp-sdk-s3/source/model/AbortMultipartUploadRequest.cpp +++ b/generated/src/aws-cpp-sdk-s3/source/model/AbortMultipartUploadRequest.cpp @@ -87,5 +87,8 @@ AbortMultipartUploadRequest::EndpointParameters AbortMultipartUploadRequest::Get if (BucketHasBeenSet()) { parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); } + if (KeyHasBeenSet()) { + parameters.emplace_back(Aws::String("Key"), this->GetKey(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } return parameters; } diff --git a/generated/src/aws-cpp-sdk-s3/source/model/CompleteMultipartUploadRequest.cpp b/generated/src/aws-cpp-sdk-s3/source/model/CompleteMultipartUploadRequest.cpp index 2f782718b42..b086bd5f087 100644 --- a/generated/src/aws-cpp-sdk-s3/source/model/CompleteMultipartUploadRequest.cpp +++ b/generated/src/aws-cpp-sdk-s3/source/model/CompleteMultipartUploadRequest.cpp @@ -177,5 +177,8 @@ CompleteMultipartUploadRequest::EndpointParameters CompleteMultipartUploadReques if (BucketHasBeenSet()) { parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); } + if (KeyHasBeenSet()) { + parameters.emplace_back(Aws::String("Key"), this->GetKey(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } return parameters; } diff --git a/generated/src/aws-cpp-sdk-s3/source/model/CreateMultipartUploadRequest.cpp b/generated/src/aws-cpp-sdk-s3/source/model/CreateMultipartUploadRequest.cpp index 05f995f1bc2..ae45a1f1e1e 100644 --- a/generated/src/aws-cpp-sdk-s3/source/model/CreateMultipartUploadRequest.cpp +++ b/generated/src/aws-cpp-sdk-s3/source/model/CreateMultipartUploadRequest.cpp @@ -281,5 +281,8 @@ CreateMultipartUploadRequest::EndpointParameters CreateMultipartUploadRequest::G if (BucketHasBeenSet()) { parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); } + if (KeyHasBeenSet()) { + parameters.emplace_back(Aws::String("Key"), this->GetKey(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } return parameters; } diff --git a/generated/src/aws-cpp-sdk-s3/source/model/DeleteObjectRequest.cpp b/generated/src/aws-cpp-sdk-s3/source/model/DeleteObjectRequest.cpp index dff2c67c85c..5781366f614 100644 --- a/generated/src/aws-cpp-sdk-s3/source/model/DeleteObjectRequest.cpp +++ b/generated/src/aws-cpp-sdk-s3/source/model/DeleteObjectRequest.cpp @@ -104,5 +104,8 @@ DeleteObjectRequest::EndpointParameters DeleteObjectRequest::GetEndpointContextP if (BucketHasBeenSet()) { parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); } + if (KeyHasBeenSet()) { + parameters.emplace_back(Aws::String("Key"), this->GetKey(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } return parameters; } diff --git a/generated/src/aws-cpp-sdk-s3/source/model/GetObjectAclRequest.cpp b/generated/src/aws-cpp-sdk-s3/source/model/GetObjectAclRequest.cpp index 4e16c1692ba..87b5ac97b16 100644 --- a/generated/src/aws-cpp-sdk-s3/source/model/GetObjectAclRequest.cpp +++ b/generated/src/aws-cpp-sdk-s3/source/model/GetObjectAclRequest.cpp @@ -87,5 +87,8 @@ GetObjectAclRequest::EndpointParameters GetObjectAclRequest::GetEndpointContextP if (BucketHasBeenSet()) { parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); } + if (KeyHasBeenSet()) { + parameters.emplace_back(Aws::String("Key"), this->GetKey(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } return parameters; } diff --git a/generated/src/aws-cpp-sdk-s3/source/model/GetObjectRequest.cpp b/generated/src/aws-cpp-sdk-s3/source/model/GetObjectRequest.cpp index f6fffd37299..a9ceea4f4d0 100644 --- a/generated/src/aws-cpp-sdk-s3/source/model/GetObjectRequest.cpp +++ b/generated/src/aws-cpp-sdk-s3/source/model/GetObjectRequest.cpp @@ -211,6 +211,9 @@ GetObjectRequest::EndpointParameters GetObjectRequest::GetEndpointContextParams( if (BucketHasBeenSet()) { parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); } + if (KeyHasBeenSet()) { + parameters.emplace_back(Aws::String("Key"), this->GetKey(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } return parameters; } bool GetObjectRequest::ShouldValidateResponseChecksum() const diff --git a/generated/src/aws-cpp-sdk-s3/source/model/HeadObjectRequest.cpp b/generated/src/aws-cpp-sdk-s3/source/model/HeadObjectRequest.cpp index f2243febd13..138a8f13448 100644 --- a/generated/src/aws-cpp-sdk-s3/source/model/HeadObjectRequest.cpp +++ b/generated/src/aws-cpp-sdk-s3/source/model/HeadObjectRequest.cpp @@ -163,5 +163,8 @@ HeadObjectRequest::EndpointParameters HeadObjectRequest::GetEndpointContextParam if (BucketHasBeenSet()) { parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); } + if (KeyHasBeenSet()) { + parameters.emplace_back(Aws::String("Key"), this->GetKey(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } return parameters; } diff --git a/generated/src/aws-cpp-sdk-s3/source/model/ListMultipartUploadsRequest.cpp b/generated/src/aws-cpp-sdk-s3/source/model/ListMultipartUploadsRequest.cpp index 4fc7876d6f7..d541ac1e382 100644 --- a/generated/src/aws-cpp-sdk-s3/source/model/ListMultipartUploadsRequest.cpp +++ b/generated/src/aws-cpp-sdk-s3/source/model/ListMultipartUploadsRequest.cpp @@ -128,5 +128,8 @@ ListMultipartUploadsRequest::EndpointParameters ListMultipartUploadsRequest::Get if (BucketHasBeenSet()) { parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); } + if (PrefixHasBeenSet()) { + parameters.emplace_back(Aws::String("Prefix"), this->GetPrefix(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } return parameters; } diff --git a/generated/src/aws-cpp-sdk-s3/source/model/ListObjectVersionsRequest.cpp b/generated/src/aws-cpp-sdk-s3/source/model/ListObjectVersionsRequest.cpp index e936f45c4f2..f84033583f2 100644 --- a/generated/src/aws-cpp-sdk-s3/source/model/ListObjectVersionsRequest.cpp +++ b/generated/src/aws-cpp-sdk-s3/source/model/ListObjectVersionsRequest.cpp @@ -139,5 +139,8 @@ ListObjectVersionsRequest::EndpointParameters ListObjectVersionsRequest::GetEndp if (BucketHasBeenSet()) { parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); } + if (PrefixHasBeenSet()) { + parameters.emplace_back(Aws::String("Prefix"), this->GetPrefix(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } return parameters; } diff --git a/generated/src/aws-cpp-sdk-s3/source/model/ListObjectsRequest.cpp b/generated/src/aws-cpp-sdk-s3/source/model/ListObjectsRequest.cpp index 303339c8d00..9da68dbabc7 100644 --- a/generated/src/aws-cpp-sdk-s3/source/model/ListObjectsRequest.cpp +++ b/generated/src/aws-cpp-sdk-s3/source/model/ListObjectsRequest.cpp @@ -131,5 +131,8 @@ ListObjectsRequest::EndpointParameters ListObjectsRequest::GetEndpointContextPar if (BucketHasBeenSet()) { parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); } + if (PrefixHasBeenSet()) { + parameters.emplace_back(Aws::String("Prefix"), this->GetPrefix(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } return parameters; } diff --git a/generated/src/aws-cpp-sdk-s3/source/model/ListObjectsV2Request.cpp b/generated/src/aws-cpp-sdk-s3/source/model/ListObjectsV2Request.cpp index 65b488ab427..59af1632e62 100644 --- a/generated/src/aws-cpp-sdk-s3/source/model/ListObjectsV2Request.cpp +++ b/generated/src/aws-cpp-sdk-s3/source/model/ListObjectsV2Request.cpp @@ -148,5 +148,8 @@ ListObjectsV2Request::EndpointParameters ListObjectsV2Request::GetEndpointContex if (BucketHasBeenSet()) { parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); } + if (PrefixHasBeenSet()) { + parameters.emplace_back(Aws::String("Prefix"), this->GetPrefix(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } return parameters; } diff --git a/generated/src/aws-cpp-sdk-s3/source/model/ListPartsRequest.cpp b/generated/src/aws-cpp-sdk-s3/source/model/ListPartsRequest.cpp index 89489a06678..6057aa16f77 100644 --- a/generated/src/aws-cpp-sdk-s3/source/model/ListPartsRequest.cpp +++ b/generated/src/aws-cpp-sdk-s3/source/model/ListPartsRequest.cpp @@ -129,5 +129,8 @@ ListPartsRequest::EndpointParameters ListPartsRequest::GetEndpointContextParams( if (BucketHasBeenSet()) { parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); } + if (KeyHasBeenSet()) { + parameters.emplace_back(Aws::String("Key"), this->GetKey(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } return parameters; } diff --git a/generated/src/aws-cpp-sdk-s3/source/model/PutObjectAclRequest.cpp b/generated/src/aws-cpp-sdk-s3/source/model/PutObjectAclRequest.cpp index 6aa6b94eb89..6fb807e29db 100644 --- a/generated/src/aws-cpp-sdk-s3/source/model/PutObjectAclRequest.cpp +++ b/generated/src/aws-cpp-sdk-s3/source/model/PutObjectAclRequest.cpp @@ -161,6 +161,9 @@ PutObjectAclRequest::EndpointParameters PutObjectAclRequest::GetEndpointContextP if (BucketHasBeenSet()) { parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); } + if (KeyHasBeenSet()) { + parameters.emplace_back(Aws::String("Key"), this->GetKey(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } return parameters; } diff --git a/generated/src/aws-cpp-sdk-s3/source/model/PutObjectRequest.cpp b/generated/src/aws-cpp-sdk-s3/source/model/PutObjectRequest.cpp index 7466d8ac8e4..2da217c2c9e 100644 --- a/generated/src/aws-cpp-sdk-s3/source/model/PutObjectRequest.cpp +++ b/generated/src/aws-cpp-sdk-s3/source/model/PutObjectRequest.cpp @@ -320,6 +320,9 @@ PutObjectRequest::EndpointParameters PutObjectRequest::GetEndpointContextParams( if (BucketHasBeenSet()) { parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); } + if (KeyHasBeenSet()) { + parameters.emplace_back(Aws::String("Key"), this->GetKey(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } return parameters; } diff --git a/generated/src/aws-cpp-sdk-s3/source/model/UploadPartRequest.cpp b/generated/src/aws-cpp-sdk-s3/source/model/UploadPartRequest.cpp index f35ce9cc1ee..da1270a600f 100644 --- a/generated/src/aws-cpp-sdk-s3/source/model/UploadPartRequest.cpp +++ b/generated/src/aws-cpp-sdk-s3/source/model/UploadPartRequest.cpp @@ -174,6 +174,9 @@ UploadPartRequest::EndpointParameters UploadPartRequest::GetEndpointContextParam if (BucketHasBeenSet()) { parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); } + if (KeyHasBeenSet()) { + parameters.emplace_back(Aws::String("Key"), this->GetKey(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } return parameters; } diff --git a/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/S3ControlClient.h b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/S3ControlClient.h index 19342b08699..a2b0ad10d49 100644 --- a/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/S3ControlClient.h +++ b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/S3ControlClient.h @@ -80,6 +80,156 @@ namespace S3Control /* End of legacy constructors due deprecation */ virtual ~S3ControlClient(); + /** + *

    Associate your S3 Access Grants instance with an Amazon Web Services IAM + * Identity Center instance. Use this action if you want to create access grants + * for users or groups from your corporate identity directory. First, you must add + * your corporate identity directory to Amazon Web Services IAM Identity Center. + * Then, you can associate this IAM Identity Center instance with your S3 Access + * Grants instance.

    Permissions

    You must have the + * s3:AssociateAccessGrantsIdentityCenter permission to use this + * operation.

    Additional Permissions

    You must also have + * the following permissions: sso:CreateApplication, + * sso:PutApplicationGrant, and + * sso:PutApplicationAuthenticationMethod.

    See + * Also:

    AWS + * API Reference

    + */ + virtual Model::AssociateAccessGrantsIdentityCenterOutcome AssociateAccessGrantsIdentityCenter(const Model::AssociateAccessGrantsIdentityCenterRequest& request) const; + + /** + * A Callable wrapper for AssociateAccessGrantsIdentityCenter that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::AssociateAccessGrantsIdentityCenterOutcomeCallable AssociateAccessGrantsIdentityCenterCallable(const AssociateAccessGrantsIdentityCenterRequestT& request) const + { + return SubmitCallable(&S3ControlClient::AssociateAccessGrantsIdentityCenter, request); + } + + /** + * An Async wrapper for AssociateAccessGrantsIdentityCenter that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void AssociateAccessGrantsIdentityCenterAsync(const AssociateAccessGrantsIdentityCenterRequestT& request, const AssociateAccessGrantsIdentityCenterResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&S3ControlClient::AssociateAccessGrantsIdentityCenter, request, handler, context); + } + + /** + *

    Creates an access grant that gives a grantee access to your S3 data. The + * grantee can be an IAM user or role or a directory user, or group. Before you can + * create a grant, you must have an S3 Access Grants instance in the same Region as + * the S3 data. You can create an S3 Access Grants instance using the CreateAccessGrantsInstance. + * You must also have registered at least one S3 data location in your S3 Access + * Grants instance using CreateAccessGrantsLocation. + *

    Permissions

    You must have the + * s3:CreateAccessGrant permission to use this operation.

    + *
    Additional Permissions

    For any directory identity - + * sso:DescribeInstance and sso:DescribeApplication

    + *

    For directory users - identitystore:DescribeUser

    For + * directory groups - identitystore:DescribeGroup

    + *

    See Also:

    AWS + * API Reference

    + */ + virtual Model::CreateAccessGrantOutcome CreateAccessGrant(const Model::CreateAccessGrantRequest& request) const; + + /** + * A Callable wrapper for CreateAccessGrant that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::CreateAccessGrantOutcomeCallable CreateAccessGrantCallable(const CreateAccessGrantRequestT& request) const + { + return SubmitCallable(&S3ControlClient::CreateAccessGrant, request); + } + + /** + * An Async wrapper for CreateAccessGrant that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void CreateAccessGrantAsync(const CreateAccessGrantRequestT& request, const CreateAccessGrantResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&S3ControlClient::CreateAccessGrant, request, handler, context); + } + + /** + *

    Creates an S3 Access Grants instance, which serves as a logical grouping for + * access grants. You can create one S3 Access Grants instance per Region per + * account.

    Permissions

    You must have the + * s3:CreateAccessGrantsInstance permission to use this operation. + *

    Additional Permissions

    To associate an IAM Identity + * Center instance with your S3 Access Grants instance, you must also have the + * sso:DescribeInstance, sso:CreateApplication, + * sso:PutApplicationGrant, and + * sso:PutApplicationAuthenticationMethod permissions.

    + *

    See Also:

    AWS + * API Reference

    + */ + virtual Model::CreateAccessGrantsInstanceOutcome CreateAccessGrantsInstance(const Model::CreateAccessGrantsInstanceRequest& request) const; + + /** + * A Callable wrapper for CreateAccessGrantsInstance that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::CreateAccessGrantsInstanceOutcomeCallable CreateAccessGrantsInstanceCallable(const CreateAccessGrantsInstanceRequestT& request) const + { + return SubmitCallable(&S3ControlClient::CreateAccessGrantsInstance, request); + } + + /** + * An Async wrapper for CreateAccessGrantsInstance that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void CreateAccessGrantsInstanceAsync(const CreateAccessGrantsInstanceRequestT& request, const CreateAccessGrantsInstanceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&S3ControlClient::CreateAccessGrantsInstance, request, handler, context); + } + + /** + *

    The S3 data location that you would like to register in your S3 Access Grants + * instance. Your S3 data must be in the same Region as your S3 Access Grants + * instance. The location can be one of the following:

    • The + * default S3 location s3://

    • A bucket - + * S3://<bucket-name>

    • A bucket and prefix - + * S3://<bucket-name>/<prefix>

    When + * you register a location, you must include the IAM role that has permission to + * manage the S3 location that you are registering. Give S3 Access Grants + * permission to assume this role using + * a policy. S3 Access Grants assumes this role to manage access to the + * location and to vend temporary credentials to grantees or client applications. + *

    Permissions

    You must have the + * s3:CreateAccessGrantsLocation permission to use this operation. + *

    Additional Permissions

    You must also have the + * following permission for the specified IAM role: iam:PassRole

    + *

    See Also:

    AWS + * API Reference

    + */ + virtual Model::CreateAccessGrantsLocationOutcome CreateAccessGrantsLocation(const Model::CreateAccessGrantsLocationRequest& request) const; + + /** + * A Callable wrapper for CreateAccessGrantsLocation that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::CreateAccessGrantsLocationOutcomeCallable CreateAccessGrantsLocationCallable(const CreateAccessGrantsLocationRequestT& request) const + { + return SubmitCallable(&S3ControlClient::CreateAccessGrantsLocation, request); + } + + /** + * An Async wrapper for CreateAccessGrantsLocation that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void CreateAccessGrantsLocationAsync(const CreateAccessGrantsLocationRequestT& request, const CreateAccessGrantsLocationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&S3ControlClient::CreateAccessGrantsLocation, request, handler, context); + } + /** *

    Creates an access point and associates it with the specified bucket. For more * information, see Deletes the access grant from the S3 Access Grants instance. You cannot undo + * an access grant deletion and the grantee will no longer have access to the S3 + * data.

    Permissions

    You must have the + * s3:DeleteAccessGrant permission to use this operation.

    + *

    See Also:

    AWS + * API Reference

    + */ + virtual Model::DeleteAccessGrantOutcome DeleteAccessGrant(const Model::DeleteAccessGrantRequest& request) const; + + /** + * A Callable wrapper for DeleteAccessGrant that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DeleteAccessGrantOutcomeCallable DeleteAccessGrantCallable(const DeleteAccessGrantRequestT& request) const + { + return SubmitCallable(&S3ControlClient::DeleteAccessGrant, request); + } + + /** + * An Async wrapper for DeleteAccessGrant that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DeleteAccessGrantAsync(const DeleteAccessGrantRequestT& request, const DeleteAccessGrantResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&S3ControlClient::DeleteAccessGrant, request, handler, context); + } + + /** + *

    Deletes your S3 Access Grants instance. You must first delete the access + * grants and locations before S3 Access Grants can delete the instance. See DeleteAccessGrant + * and DeleteAccessGrantsLocation. + * If you have associated an IAM Identity Center instance with your S3 Access + * Grants instance, you must first dissassociate the Identity Center instance from + * the S3 Access Grants instance before you can delete the S3 Access Grants + * instance. See AssociateAccessGrantsIdentityCenter + * and DissociateAccessGrantsIdentityCenter.

    + *
    Permissions

    You must have the + * s3:DeleteAccessGrantsInstance permission to use this operation. + *

    See Also:

    AWS + * API Reference

    + */ + virtual Model::DeleteAccessGrantsInstanceOutcome DeleteAccessGrantsInstance(const Model::DeleteAccessGrantsInstanceRequest& request) const; + + /** + * A Callable wrapper for DeleteAccessGrantsInstance that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DeleteAccessGrantsInstanceOutcomeCallable DeleteAccessGrantsInstanceCallable(const DeleteAccessGrantsInstanceRequestT& request) const + { + return SubmitCallable(&S3ControlClient::DeleteAccessGrantsInstance, request); + } + + /** + * An Async wrapper for DeleteAccessGrantsInstance that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DeleteAccessGrantsInstanceAsync(const DeleteAccessGrantsInstanceRequestT& request, const DeleteAccessGrantsInstanceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&S3ControlClient::DeleteAccessGrantsInstance, request, handler, context); + } + + /** + *

    Deletes the resource policy of the S3 Access Grants instance. The resource + * policy is used to manage cross-account access to your S3 Access Grants instance. + * By deleting the resource policy, you delete any cross-account permissions to + * your S3 Access Grants instance.

    Permissions

    You must + * have the s3:DeleteAccessGrantsInstanceResourcePolicy permission to + * use this operation.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::DeleteAccessGrantsInstanceResourcePolicyOutcome DeleteAccessGrantsInstanceResourcePolicy(const Model::DeleteAccessGrantsInstanceResourcePolicyRequest& request) const; + + /** + * A Callable wrapper for DeleteAccessGrantsInstanceResourcePolicy that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DeleteAccessGrantsInstanceResourcePolicyOutcomeCallable DeleteAccessGrantsInstanceResourcePolicyCallable(const DeleteAccessGrantsInstanceResourcePolicyRequestT& request) const + { + return SubmitCallable(&S3ControlClient::DeleteAccessGrantsInstanceResourcePolicy, request); + } + + /** + * An Async wrapper for DeleteAccessGrantsInstanceResourcePolicy that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DeleteAccessGrantsInstanceResourcePolicyAsync(const DeleteAccessGrantsInstanceResourcePolicyRequestT& request, const DeleteAccessGrantsInstanceResourcePolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&S3ControlClient::DeleteAccessGrantsInstanceResourcePolicy, request, handler, context); + } + + /** + *

    Deregisters a location from your S3 Access Grants instance. You can only + * delete a location registration from an S3 Access Grants instance if there are no + * grants associated with this location. See Delete + * a grant for information on how to delete grants. You need to have at least + * one registered location in your S3 Access Grants instance in order to create + * access grants.

    Permissions

    You must have the + * s3:DeleteAccessGrantsLocation permission to use this operation. + *

    See Also:

    AWS + * API Reference

    + */ + virtual Model::DeleteAccessGrantsLocationOutcome DeleteAccessGrantsLocation(const Model::DeleteAccessGrantsLocationRequest& request) const; + + /** + * A Callable wrapper for DeleteAccessGrantsLocation that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DeleteAccessGrantsLocationOutcomeCallable DeleteAccessGrantsLocationCallable(const DeleteAccessGrantsLocationRequestT& request) const + { + return SubmitCallable(&S3ControlClient::DeleteAccessGrantsLocation, request); + } + + /** + * An Async wrapper for DeleteAccessGrantsLocation that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DeleteAccessGrantsLocationAsync(const DeleteAccessGrantsLocationRequestT& request, const DeleteAccessGrantsLocationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&S3ControlClient::DeleteAccessGrantsLocation, request, handler, context); + } + /** *

    Deletes the specified access point.

    All Amazon S3 on Outposts REST API * requests for this action require an additional parameter of @@ -1052,6 +1333,179 @@ namespace S3Control return SubmitAsync(&S3ControlClient::DescribeMultiRegionAccessPointOperation, request, handler, context); } + /** + *

    Dissociates the Amazon Web Services IAM Identity Center instance from the S3 + * Access Grants instance.

    Permissions

    You must have the + * s3:DissociateAccessGrantsIdentityCenter permission to use this + * operation.

    Additional Permissions

    You must have the + * sso:DeleteApplication permission to use this operation.

    + *

    See Also:

    AWS + * API Reference

    + */ + virtual Model::DissociateAccessGrantsIdentityCenterOutcome DissociateAccessGrantsIdentityCenter(const Model::DissociateAccessGrantsIdentityCenterRequest& request) const; + + /** + * A Callable wrapper for DissociateAccessGrantsIdentityCenter that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DissociateAccessGrantsIdentityCenterOutcomeCallable DissociateAccessGrantsIdentityCenterCallable(const DissociateAccessGrantsIdentityCenterRequestT& request) const + { + return SubmitCallable(&S3ControlClient::DissociateAccessGrantsIdentityCenter, request); + } + + /** + * An Async wrapper for DissociateAccessGrantsIdentityCenter that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DissociateAccessGrantsIdentityCenterAsync(const DissociateAccessGrantsIdentityCenterRequestT& request, const DissociateAccessGrantsIdentityCenterResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&S3ControlClient::DissociateAccessGrantsIdentityCenter, request, handler, context); + } + + /** + *

    Get the details of an access grant from your S3 Access Grants instance.

    + *
    Permissions

    You must have the + * s3:GetAccessGrant permission to use this operation.

    + *

    See Also:

    AWS + * API Reference

    + */ + virtual Model::GetAccessGrantOutcome GetAccessGrant(const Model::GetAccessGrantRequest& request) const; + + /** + * A Callable wrapper for GetAccessGrant that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetAccessGrantOutcomeCallable GetAccessGrantCallable(const GetAccessGrantRequestT& request) const + { + return SubmitCallable(&S3ControlClient::GetAccessGrant, request); + } + + /** + * An Async wrapper for GetAccessGrant that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetAccessGrantAsync(const GetAccessGrantRequestT& request, const GetAccessGrantResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&S3ControlClient::GetAccessGrant, request, handler, context); + } + + /** + *

    Retrieves the S3 Access Grants instance for a Region in your account.

    + *
    Permissions

    You must have the + * s3:GetAccessGrantsInstance permission to use this operation.

    + *

    See Also:

    AWS + * API Reference

    + */ + virtual Model::GetAccessGrantsInstanceOutcome GetAccessGrantsInstance(const Model::GetAccessGrantsInstanceRequest& request) const; + + /** + * A Callable wrapper for GetAccessGrantsInstance that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetAccessGrantsInstanceOutcomeCallable GetAccessGrantsInstanceCallable(const GetAccessGrantsInstanceRequestT& request) const + { + return SubmitCallable(&S3ControlClient::GetAccessGrantsInstance, request); + } + + /** + * An Async wrapper for GetAccessGrantsInstance that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetAccessGrantsInstanceAsync(const GetAccessGrantsInstanceRequestT& request, const GetAccessGrantsInstanceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&S3ControlClient::GetAccessGrantsInstance, request, handler, context); + } + + /** + *

    Retrieve the S3 Access Grants instance that contains a particular prefix. + *

    Permissions

    You must have the + * s3:GetAccessGrantsInstanceForPrefix permission for the caller + * account to use this operation.

    Additional Permissions
    + *

    The prefix owner account must grant you the following permissions to their S3 + * Access Grants instance: s3:GetAccessGrantsInstanceForPrefix.

    + *

    See Also:

    AWS + * API Reference

    + */ + virtual Model::GetAccessGrantsInstanceForPrefixOutcome GetAccessGrantsInstanceForPrefix(const Model::GetAccessGrantsInstanceForPrefixRequest& request) const; + + /** + * A Callable wrapper for GetAccessGrantsInstanceForPrefix that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetAccessGrantsInstanceForPrefixOutcomeCallable GetAccessGrantsInstanceForPrefixCallable(const GetAccessGrantsInstanceForPrefixRequestT& request) const + { + return SubmitCallable(&S3ControlClient::GetAccessGrantsInstanceForPrefix, request); + } + + /** + * An Async wrapper for GetAccessGrantsInstanceForPrefix that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetAccessGrantsInstanceForPrefixAsync(const GetAccessGrantsInstanceForPrefixRequestT& request, const GetAccessGrantsInstanceForPrefixResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&S3ControlClient::GetAccessGrantsInstanceForPrefix, request, handler, context); + } + + /** + *

    Returns the resource policy of the S3 Access Grants instance.

    + *
    Permissions

    You must have the + * s3:GetAccessGrantsInstanceResourcePolicy permission to use this + * operation.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::GetAccessGrantsInstanceResourcePolicyOutcome GetAccessGrantsInstanceResourcePolicy(const Model::GetAccessGrantsInstanceResourcePolicyRequest& request) const; + + /** + * A Callable wrapper for GetAccessGrantsInstanceResourcePolicy that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetAccessGrantsInstanceResourcePolicyOutcomeCallable GetAccessGrantsInstanceResourcePolicyCallable(const GetAccessGrantsInstanceResourcePolicyRequestT& request) const + { + return SubmitCallable(&S3ControlClient::GetAccessGrantsInstanceResourcePolicy, request); + } + + /** + * An Async wrapper for GetAccessGrantsInstanceResourcePolicy that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetAccessGrantsInstanceResourcePolicyAsync(const GetAccessGrantsInstanceResourcePolicyRequestT& request, const GetAccessGrantsInstanceResourcePolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&S3ControlClient::GetAccessGrantsInstanceResourcePolicy, request, handler, context); + } + + /** + *

    Retrieves the details of a particular location registered in your S3 Access + * Grants instance.

    Permissions

    You must have the + * s3:GetAccessGrantsLocation permission to use this operation.

    + *

    See Also:

    AWS + * API Reference

    + */ + virtual Model::GetAccessGrantsLocationOutcome GetAccessGrantsLocation(const Model::GetAccessGrantsLocationRequest& request) const; + + /** + * A Callable wrapper for GetAccessGrantsLocation that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetAccessGrantsLocationOutcomeCallable GetAccessGrantsLocationCallable(const GetAccessGrantsLocationRequestT& request) const + { + return SubmitCallable(&S3ControlClient::GetAccessGrantsLocation, request); + } + + /** + * An Async wrapper for GetAccessGrantsLocation that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetAccessGrantsLocationAsync(const GetAccessGrantsLocationRequestT& request, const GetAccessGrantsLocationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&S3ControlClient::GetAccessGrantsLocation, request, handler, context); + } + /** *

    Returns configuration information about the specified access point.

    *

    All Amazon S3 on Outposts REST API requests for this action require an @@ -1616,6 +2070,41 @@ namespace S3Control return SubmitAsync(&S3ControlClient::GetBucketVersioning, request, handler, context); } + /** + *

    Returns a temporary access credential from S3 Access Grants to the grantee or + * client application. The temporary + * credential is an Amazon Web Services STS token that grants them access to + * the S3 data.

    Permissions

    You must have the + * s3:GetDataAccess permission to use this operation.

    + *
    Additional Permissions

    The IAM role that S3 Access Grants + * assumes must have the following permissions specified in the trust policy when + * registering the location: sts:AssumeRole, for directory users or + * groups sts:SetContext, and for IAM users or roles + * sts:SourceIdentity.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::GetDataAccessOutcome GetDataAccess(const Model::GetDataAccessRequest& request) const; + + /** + * A Callable wrapper for GetDataAccess that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetDataAccessOutcomeCallable GetDataAccessCallable(const GetDataAccessRequestT& request) const + { + return SubmitCallable(&S3ControlClient::GetDataAccess, request); + } + + /** + * An Async wrapper for GetDataAccess that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetDataAccessAsync(const GetDataAccessRequestT& request, const GetDataAccessResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&S3ControlClient::GetDataAccess, request, handler, context); + } + /** *

    Returns the tags on an S3 Batch Operations job. To use the * GetJobTagging operation, you must have permission to perform the @@ -1933,6 +2422,91 @@ namespace S3Control return SubmitAsync(&S3ControlClient::GetStorageLensGroup, request, handler, context); } + /** + *

    Returns the list of access grants in your S3 Access Grants instance.

    + *
    Permissions

    You must have the s3:ListAccessGrants + * permission to use this operation.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::ListAccessGrantsOutcome ListAccessGrants(const Model::ListAccessGrantsRequest& request) const; + + /** + * A Callable wrapper for ListAccessGrants that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListAccessGrantsOutcomeCallable ListAccessGrantsCallable(const ListAccessGrantsRequestT& request) const + { + return SubmitCallable(&S3ControlClient::ListAccessGrants, request); + } + + /** + * An Async wrapper for ListAccessGrants that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListAccessGrantsAsync(const ListAccessGrantsRequestT& request, const ListAccessGrantsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&S3ControlClient::ListAccessGrants, request, handler, context); + } + + /** + *

    Returns a list of S3 Access Grants instances. An S3 Access Grants instance + * serves as a logical grouping for your individual access grants. You can only + * have one S3 Access Grants instance per Region per account.

    + *
    Permissions

    You must have the + * s3:ListAccessGrantsInstances permission to use this operation.

    + *

    See Also:

    AWS + * API Reference

    + */ + virtual Model::ListAccessGrantsInstancesOutcome ListAccessGrantsInstances(const Model::ListAccessGrantsInstancesRequest& request) const; + + /** + * A Callable wrapper for ListAccessGrantsInstances that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListAccessGrantsInstancesOutcomeCallable ListAccessGrantsInstancesCallable(const ListAccessGrantsInstancesRequestT& request) const + { + return SubmitCallable(&S3ControlClient::ListAccessGrantsInstances, request); + } + + /** + * An Async wrapper for ListAccessGrantsInstances that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListAccessGrantsInstancesAsync(const ListAccessGrantsInstancesRequestT& request, const ListAccessGrantsInstancesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&S3ControlClient::ListAccessGrantsInstances, request, handler, context); + } + + /** + *

    Returns a list of the locations registered in your S3 Access Grants + * instance.

    Permissions

    You must have the + * s3:ListAccessGrantsLocations permission to use this operation.

    + *

    See Also:

    AWS + * API Reference

    + */ + virtual Model::ListAccessGrantsLocationsOutcome ListAccessGrantsLocations(const Model::ListAccessGrantsLocationsRequest& request) const; + + /** + * A Callable wrapper for ListAccessGrantsLocations that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListAccessGrantsLocationsOutcomeCallable ListAccessGrantsLocationsCallable(const ListAccessGrantsLocationsRequestT& request) const + { + return SubmitCallable(&S3ControlClient::ListAccessGrantsLocations, request); + } + + /** + * An Async wrapper for ListAccessGrantsLocations that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListAccessGrantsLocationsAsync(const ListAccessGrantsLocationsRequestT& request, const ListAccessGrantsLocationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&S3ControlClient::ListAccessGrantsLocations, request, handler, context); + } + /** *

    Returns a list of the access points that are owned by the current account * that's associated with the specified bucket. You can retrieve up to 1000 access @@ -2194,18 +2768,23 @@ namespace S3Control } /** - *

    This operation allows you to list all the Amazon Web Services resource tags - * for the specified resource.

    To use this operation, you must have the - * permission to perform the s3:ListTagsForResource action. For more + *

    This operation allows you to list all the Amazon Web Services resource tags + * for a specified resource. Each tag is a label consisting of a user-defined key + * and value. Tags can help you manage, identify, organize, search for, and filter + * resources.

    Permissions

    You must have the + * s3:ListTagsForResource permission to use this operation.

    + *

    This operation is only supported for S3 + * Storage Lens groups and for S3 + * Access Grants. The tagged resource can be an S3 Storage Lens group or S3 + * Access Grants instance, registered location, or grant.

    For more * information about the required Storage Lens Groups permissions, see Setting * account permissions to use S3 Storage Lens groups.

    For information * about S3 Tagging errors, see List - * of Amazon S3 Tagging error codes.

    This operation is only - * supported for S3 - * Storage Lens groups.

    See Also:

    .

    See Also:

    AWS * API Reference

    */ @@ -2229,6 +2808,34 @@ namespace S3Control return SubmitAsync(&S3ControlClient::ListTagsForResource, request, handler, context); } + /** + *

    Updates the resource policy of the S3 Access Grants instance.

    + *
    Permissions

    You must have the + * s3:PutAccessGrantsInstanceResourcePolicy permission to use this + * operation.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::PutAccessGrantsInstanceResourcePolicyOutcome PutAccessGrantsInstanceResourcePolicy(const Model::PutAccessGrantsInstanceResourcePolicyRequest& request) const; + + /** + * A Callable wrapper for PutAccessGrantsInstanceResourcePolicy that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::PutAccessGrantsInstanceResourcePolicyOutcomeCallable PutAccessGrantsInstanceResourcePolicyCallable(const PutAccessGrantsInstanceResourcePolicyRequestT& request) const + { + return SubmitCallable(&S3ControlClient::PutAccessGrantsInstanceResourcePolicy, request); + } + + /** + * An Async wrapper for PutAccessGrantsInstanceResourcePolicy that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void PutAccessGrantsInstanceResourcePolicyAsync(const PutAccessGrantsInstanceResourcePolicyRequestT& request, const PutAccessGrantsInstanceResourcePolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&S3ControlClient::PutAccessGrantsInstanceResourcePolicy, request, handler, context); + } + /** *

    Replaces configuration for an Object Lambda Access Point.

    The * following actions are related to @@ -2925,18 +3532,23 @@ namespace S3Control /** *

    Creates a new Amazon Web Services resource tag or updates an existing - * resource tag. You can add up to 50 Amazon Web Services resource tags for each S3 - * resource.

    To use this operation, you must have the permission to perform - * the s3:TagResource action. For more information about the required - * Storage Lens Groups permissions, see

    This operation is only supported for S3 + * Storage Lens groups and for S3 + * Access Grants. The tagged resource can be an S3 Storage Lens group or S3 + * Access Grants instance, registered location, or grant.

    + *
    Permissions

    You must have the s3:TagResource + * permission to use this operation.

    For more information about + * the required Storage Lens Groups permissions, see Setting * account permissions to use S3 Storage Lens groups.

    For information * about S3 Tagging errors, see List - * of Amazon S3 Tagging error codes.

    This operation is only - * supported for S3 - * Storage Lens groups.

    See Also:

    .

    See Also:

    AWS * API Reference

    */ @@ -2962,17 +3574,22 @@ namespace S3Control /** *

    This operation removes the specified Amazon Web Services resource tags from - * an S3 resource.

    To use this operation, you must have the permission to - * perform the s3:UntagResource action. For more information about the - * required Storage Lens Groups permissions, see

    This operation is only supported for S3 + * Storage Lens groups and for S3 + * Access Grants. The tagged resource can be an S3 Storage Lens group or S3 + * Access Grants instance, registered location, or grant.

    + *
    Permissions

    You must have the s3:UntagResource + * permission to use this operation.

    For more information about + * the required Storage Lens Groups permissions, see Setting * account permissions to use S3 Storage Lens groups.

    For information * about S3 Tagging errors, see List - * of Amazon S3 Tagging error codes.

    This operation is only - * supported for S3 - * Storage Lens groups.

    See Also:

    .

    See Also:

    AWS * API Reference

    */ @@ -2996,6 +3613,36 @@ namespace S3Control return SubmitAsync(&S3ControlClient::UntagResource, request, handler, context); } + /** + *

    Updates the IAM role of a registered location in your S3 Access Grants + * instance.

    Permissions

    You must have the + * s3:UpdateAccessGrantsLocation permission to use this operation. + *

    Additional Permissions

    You must also have the + * following permission: iam:PassRole

    See + * Also:

    AWS + * API Reference

    + */ + virtual Model::UpdateAccessGrantsLocationOutcome UpdateAccessGrantsLocation(const Model::UpdateAccessGrantsLocationRequest& request) const; + + /** + * A Callable wrapper for UpdateAccessGrantsLocation that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::UpdateAccessGrantsLocationOutcomeCallable UpdateAccessGrantsLocationCallable(const UpdateAccessGrantsLocationRequestT& request) const + { + return SubmitCallable(&S3ControlClient::UpdateAccessGrantsLocation, request); + } + + /** + * An Async wrapper for UpdateAccessGrantsLocation that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void UpdateAccessGrantsLocationAsync(const UpdateAccessGrantsLocationRequestT& request, const UpdateAccessGrantsLocationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&S3ControlClient::UpdateAccessGrantsLocation, request, handler, context); + } + /** *

    Updates an existing S3 Batch Operations job's priority. For more information, * see +#include +#include #include #include #include @@ -28,6 +31,11 @@ #include #include #include +#include +#include +#include +#include +#include #include #include #include @@ -41,6 +49,7 @@ #include #include #include +#include #include #include #include @@ -50,6 +59,9 @@ #include #include #include +#include +#include +#include #include #include #include @@ -58,12 +70,14 @@ #include #include #include +#include #include #include #include #include #include #include +#include #include #include #include @@ -106,12 +120,20 @@ namespace Aws namespace Model { /* Service model forward declarations required in S3ControlClient header */ + class AssociateAccessGrantsIdentityCenterRequest; + class CreateAccessGrantRequest; + class CreateAccessGrantsInstanceRequest; + class CreateAccessGrantsLocationRequest; class CreateAccessPointRequest; class CreateAccessPointForObjectLambdaRequest; class CreateBucketRequest; class CreateJobRequest; class CreateMultiRegionAccessPointRequest; class CreateStorageLensGroupRequest; + class DeleteAccessGrantRequest; + class DeleteAccessGrantsInstanceRequest; + class DeleteAccessGrantsInstanceResourcePolicyRequest; + class DeleteAccessGrantsLocationRequest; class DeleteAccessPointRequest; class DeleteAccessPointForObjectLambdaRequest; class DeleteAccessPointPolicyRequest; @@ -129,6 +151,12 @@ namespace Aws class DeleteStorageLensGroupRequest; class DescribeJobRequest; class DescribeMultiRegionAccessPointOperationRequest; + class DissociateAccessGrantsIdentityCenterRequest; + class GetAccessGrantRequest; + class GetAccessGrantsInstanceRequest; + class GetAccessGrantsInstanceForPrefixRequest; + class GetAccessGrantsInstanceResourcePolicyRequest; + class GetAccessGrantsLocationRequest; class GetAccessPointRequest; class GetAccessPointConfigurationForObjectLambdaRequest; class GetAccessPointForObjectLambdaRequest; @@ -142,6 +170,7 @@ namespace Aws class GetBucketReplicationRequest; class GetBucketTaggingRequest; class GetBucketVersioningRequest; + class GetDataAccessRequest; class GetJobTaggingRequest; class GetMultiRegionAccessPointRequest; class GetMultiRegionAccessPointPolicyRequest; @@ -151,6 +180,9 @@ namespace Aws class GetStorageLensConfigurationRequest; class GetStorageLensConfigurationTaggingRequest; class GetStorageLensGroupRequest; + class ListAccessGrantsRequest; + class ListAccessGrantsInstancesRequest; + class ListAccessGrantsLocationsRequest; class ListAccessPointsRequest; class ListAccessPointsForObjectLambdaRequest; class ListJobsRequest; @@ -159,6 +191,7 @@ namespace Aws class ListStorageLensConfigurationsRequest; class ListStorageLensGroupsRequest; class ListTagsForResourceRequest; + class PutAccessGrantsInstanceResourcePolicyRequest; class PutAccessPointConfigurationForObjectLambdaRequest; class PutAccessPointPolicyRequest; class PutAccessPointPolicyForObjectLambdaRequest; @@ -175,18 +208,27 @@ namespace Aws class SubmitMultiRegionAccessPointRoutesRequest; class TagResourceRequest; class UntagResourceRequest; + class UpdateAccessGrantsLocationRequest; class UpdateJobPriorityRequest; class UpdateJobStatusRequest; class UpdateStorageLensGroupRequest; /* End of service model forward declarations required in S3ControlClient header */ /* Service model Outcome class definitions */ + typedef Aws::Utils::Outcome AssociateAccessGrantsIdentityCenterOutcome; + typedef Aws::Utils::Outcome CreateAccessGrantOutcome; + typedef Aws::Utils::Outcome CreateAccessGrantsInstanceOutcome; + typedef Aws::Utils::Outcome CreateAccessGrantsLocationOutcome; typedef Aws::Utils::Outcome CreateAccessPointOutcome; typedef Aws::Utils::Outcome CreateAccessPointForObjectLambdaOutcome; typedef Aws::Utils::Outcome CreateBucketOutcome; typedef Aws::Utils::Outcome CreateJobOutcome; typedef Aws::Utils::Outcome CreateMultiRegionAccessPointOutcome; typedef Aws::Utils::Outcome CreateStorageLensGroupOutcome; + typedef Aws::Utils::Outcome DeleteAccessGrantOutcome; + typedef Aws::Utils::Outcome DeleteAccessGrantsInstanceOutcome; + typedef Aws::Utils::Outcome DeleteAccessGrantsInstanceResourcePolicyOutcome; + typedef Aws::Utils::Outcome DeleteAccessGrantsLocationOutcome; typedef Aws::Utils::Outcome DeleteAccessPointOutcome; typedef Aws::Utils::Outcome DeleteAccessPointForObjectLambdaOutcome; typedef Aws::Utils::Outcome DeleteAccessPointPolicyOutcome; @@ -204,6 +246,12 @@ namespace Aws typedef Aws::Utils::Outcome DeleteStorageLensGroupOutcome; typedef Aws::Utils::Outcome DescribeJobOutcome; typedef Aws::Utils::Outcome DescribeMultiRegionAccessPointOperationOutcome; + typedef Aws::Utils::Outcome DissociateAccessGrantsIdentityCenterOutcome; + typedef Aws::Utils::Outcome GetAccessGrantOutcome; + typedef Aws::Utils::Outcome GetAccessGrantsInstanceOutcome; + typedef Aws::Utils::Outcome GetAccessGrantsInstanceForPrefixOutcome; + typedef Aws::Utils::Outcome GetAccessGrantsInstanceResourcePolicyOutcome; + typedef Aws::Utils::Outcome GetAccessGrantsLocationOutcome; typedef Aws::Utils::Outcome GetAccessPointOutcome; typedef Aws::Utils::Outcome GetAccessPointConfigurationForObjectLambdaOutcome; typedef Aws::Utils::Outcome GetAccessPointForObjectLambdaOutcome; @@ -217,6 +265,7 @@ namespace Aws typedef Aws::Utils::Outcome GetBucketReplicationOutcome; typedef Aws::Utils::Outcome GetBucketTaggingOutcome; typedef Aws::Utils::Outcome GetBucketVersioningOutcome; + typedef Aws::Utils::Outcome GetDataAccessOutcome; typedef Aws::Utils::Outcome GetJobTaggingOutcome; typedef Aws::Utils::Outcome GetMultiRegionAccessPointOutcome; typedef Aws::Utils::Outcome GetMultiRegionAccessPointPolicyOutcome; @@ -226,6 +275,9 @@ namespace Aws typedef Aws::Utils::Outcome GetStorageLensConfigurationOutcome; typedef Aws::Utils::Outcome GetStorageLensConfigurationTaggingOutcome; typedef Aws::Utils::Outcome GetStorageLensGroupOutcome; + typedef Aws::Utils::Outcome ListAccessGrantsOutcome; + typedef Aws::Utils::Outcome ListAccessGrantsInstancesOutcome; + typedef Aws::Utils::Outcome ListAccessGrantsLocationsOutcome; typedef Aws::Utils::Outcome ListAccessPointsOutcome; typedef Aws::Utils::Outcome ListAccessPointsForObjectLambdaOutcome; typedef Aws::Utils::Outcome ListJobsOutcome; @@ -234,6 +286,7 @@ namespace Aws typedef Aws::Utils::Outcome ListStorageLensConfigurationsOutcome; typedef Aws::Utils::Outcome ListStorageLensGroupsOutcome; typedef Aws::Utils::Outcome ListTagsForResourceOutcome; + typedef Aws::Utils::Outcome PutAccessGrantsInstanceResourcePolicyOutcome; typedef Aws::Utils::Outcome PutAccessPointConfigurationForObjectLambdaOutcome; typedef Aws::Utils::Outcome PutAccessPointPolicyOutcome; typedef Aws::Utils::Outcome PutAccessPointPolicyForObjectLambdaOutcome; @@ -250,18 +303,27 @@ namespace Aws typedef Aws::Utils::Outcome SubmitMultiRegionAccessPointRoutesOutcome; typedef Aws::Utils::Outcome TagResourceOutcome; typedef Aws::Utils::Outcome UntagResourceOutcome; + typedef Aws::Utils::Outcome UpdateAccessGrantsLocationOutcome; typedef Aws::Utils::Outcome UpdateJobPriorityOutcome; typedef Aws::Utils::Outcome UpdateJobStatusOutcome; typedef Aws::Utils::Outcome UpdateStorageLensGroupOutcome; /* End of service model Outcome class definitions */ /* Service model Outcome callable definitions */ + typedef std::future AssociateAccessGrantsIdentityCenterOutcomeCallable; + typedef std::future CreateAccessGrantOutcomeCallable; + typedef std::future CreateAccessGrantsInstanceOutcomeCallable; + typedef std::future CreateAccessGrantsLocationOutcomeCallable; typedef std::future CreateAccessPointOutcomeCallable; typedef std::future CreateAccessPointForObjectLambdaOutcomeCallable; typedef std::future CreateBucketOutcomeCallable; typedef std::future CreateJobOutcomeCallable; typedef std::future CreateMultiRegionAccessPointOutcomeCallable; typedef std::future CreateStorageLensGroupOutcomeCallable; + typedef std::future DeleteAccessGrantOutcomeCallable; + typedef std::future DeleteAccessGrantsInstanceOutcomeCallable; + typedef std::future DeleteAccessGrantsInstanceResourcePolicyOutcomeCallable; + typedef std::future DeleteAccessGrantsLocationOutcomeCallable; typedef std::future DeleteAccessPointOutcomeCallable; typedef std::future DeleteAccessPointForObjectLambdaOutcomeCallable; typedef std::future DeleteAccessPointPolicyOutcomeCallable; @@ -279,6 +341,12 @@ namespace Aws typedef std::future DeleteStorageLensGroupOutcomeCallable; typedef std::future DescribeJobOutcomeCallable; typedef std::future DescribeMultiRegionAccessPointOperationOutcomeCallable; + typedef std::future DissociateAccessGrantsIdentityCenterOutcomeCallable; + typedef std::future GetAccessGrantOutcomeCallable; + typedef std::future GetAccessGrantsInstanceOutcomeCallable; + typedef std::future GetAccessGrantsInstanceForPrefixOutcomeCallable; + typedef std::future GetAccessGrantsInstanceResourcePolicyOutcomeCallable; + typedef std::future GetAccessGrantsLocationOutcomeCallable; typedef std::future GetAccessPointOutcomeCallable; typedef std::future GetAccessPointConfigurationForObjectLambdaOutcomeCallable; typedef std::future GetAccessPointForObjectLambdaOutcomeCallable; @@ -292,6 +360,7 @@ namespace Aws typedef std::future GetBucketReplicationOutcomeCallable; typedef std::future GetBucketTaggingOutcomeCallable; typedef std::future GetBucketVersioningOutcomeCallable; + typedef std::future GetDataAccessOutcomeCallable; typedef std::future GetJobTaggingOutcomeCallable; typedef std::future GetMultiRegionAccessPointOutcomeCallable; typedef std::future GetMultiRegionAccessPointPolicyOutcomeCallable; @@ -301,6 +370,9 @@ namespace Aws typedef std::future GetStorageLensConfigurationOutcomeCallable; typedef std::future GetStorageLensConfigurationTaggingOutcomeCallable; typedef std::future GetStorageLensGroupOutcomeCallable; + typedef std::future ListAccessGrantsOutcomeCallable; + typedef std::future ListAccessGrantsInstancesOutcomeCallable; + typedef std::future ListAccessGrantsLocationsOutcomeCallable; typedef std::future ListAccessPointsOutcomeCallable; typedef std::future ListAccessPointsForObjectLambdaOutcomeCallable; typedef std::future ListJobsOutcomeCallable; @@ -309,6 +381,7 @@ namespace Aws typedef std::future ListStorageLensConfigurationsOutcomeCallable; typedef std::future ListStorageLensGroupsOutcomeCallable; typedef std::future ListTagsForResourceOutcomeCallable; + typedef std::future PutAccessGrantsInstanceResourcePolicyOutcomeCallable; typedef std::future PutAccessPointConfigurationForObjectLambdaOutcomeCallable; typedef std::future PutAccessPointPolicyOutcomeCallable; typedef std::future PutAccessPointPolicyForObjectLambdaOutcomeCallable; @@ -325,6 +398,7 @@ namespace Aws typedef std::future SubmitMultiRegionAccessPointRoutesOutcomeCallable; typedef std::future TagResourceOutcomeCallable; typedef std::future UntagResourceOutcomeCallable; + typedef std::future UpdateAccessGrantsLocationOutcomeCallable; typedef std::future UpdateJobPriorityOutcomeCallable; typedef std::future UpdateJobStatusOutcomeCallable; typedef std::future UpdateStorageLensGroupOutcomeCallable; @@ -334,12 +408,20 @@ namespace Aws class S3ControlClient; /* Service model async handlers definitions */ + typedef std::function&) > AssociateAccessGrantsIdentityCenterResponseReceivedHandler; + typedef std::function&) > CreateAccessGrantResponseReceivedHandler; + typedef std::function&) > CreateAccessGrantsInstanceResponseReceivedHandler; + typedef std::function&) > CreateAccessGrantsLocationResponseReceivedHandler; typedef std::function&) > CreateAccessPointResponseReceivedHandler; typedef std::function&) > CreateAccessPointForObjectLambdaResponseReceivedHandler; typedef std::function&) > CreateBucketResponseReceivedHandler; typedef std::function&) > CreateJobResponseReceivedHandler; typedef std::function&) > CreateMultiRegionAccessPointResponseReceivedHandler; typedef std::function&) > CreateStorageLensGroupResponseReceivedHandler; + typedef std::function&) > DeleteAccessGrantResponseReceivedHandler; + typedef std::function&) > DeleteAccessGrantsInstanceResponseReceivedHandler; + typedef std::function&) > DeleteAccessGrantsInstanceResourcePolicyResponseReceivedHandler; + typedef std::function&) > DeleteAccessGrantsLocationResponseReceivedHandler; typedef std::function&) > DeleteAccessPointResponseReceivedHandler; typedef std::function&) > DeleteAccessPointForObjectLambdaResponseReceivedHandler; typedef std::function&) > DeleteAccessPointPolicyResponseReceivedHandler; @@ -357,6 +439,12 @@ namespace Aws typedef std::function&) > DeleteStorageLensGroupResponseReceivedHandler; typedef std::function&) > DescribeJobResponseReceivedHandler; typedef std::function&) > DescribeMultiRegionAccessPointOperationResponseReceivedHandler; + typedef std::function&) > DissociateAccessGrantsIdentityCenterResponseReceivedHandler; + typedef std::function&) > GetAccessGrantResponseReceivedHandler; + typedef std::function&) > GetAccessGrantsInstanceResponseReceivedHandler; + typedef std::function&) > GetAccessGrantsInstanceForPrefixResponseReceivedHandler; + typedef std::function&) > GetAccessGrantsInstanceResourcePolicyResponseReceivedHandler; + typedef std::function&) > GetAccessGrantsLocationResponseReceivedHandler; typedef std::function&) > GetAccessPointResponseReceivedHandler; typedef std::function&) > GetAccessPointConfigurationForObjectLambdaResponseReceivedHandler; typedef std::function&) > GetAccessPointForObjectLambdaResponseReceivedHandler; @@ -370,6 +458,7 @@ namespace Aws typedef std::function&) > GetBucketReplicationResponseReceivedHandler; typedef std::function&) > GetBucketTaggingResponseReceivedHandler; typedef std::function&) > GetBucketVersioningResponseReceivedHandler; + typedef std::function&) > GetDataAccessResponseReceivedHandler; typedef std::function&) > GetJobTaggingResponseReceivedHandler; typedef std::function&) > GetMultiRegionAccessPointResponseReceivedHandler; typedef std::function&) > GetMultiRegionAccessPointPolicyResponseReceivedHandler; @@ -379,6 +468,9 @@ namespace Aws typedef std::function&) > GetStorageLensConfigurationResponseReceivedHandler; typedef std::function&) > GetStorageLensConfigurationTaggingResponseReceivedHandler; typedef std::function&) > GetStorageLensGroupResponseReceivedHandler; + typedef std::function&) > ListAccessGrantsResponseReceivedHandler; + typedef std::function&) > ListAccessGrantsInstancesResponseReceivedHandler; + typedef std::function&) > ListAccessGrantsLocationsResponseReceivedHandler; typedef std::function&) > ListAccessPointsResponseReceivedHandler; typedef std::function&) > ListAccessPointsForObjectLambdaResponseReceivedHandler; typedef std::function&) > ListJobsResponseReceivedHandler; @@ -387,6 +479,7 @@ namespace Aws typedef std::function&) > ListStorageLensConfigurationsResponseReceivedHandler; typedef std::function&) > ListStorageLensGroupsResponseReceivedHandler; typedef std::function&) > ListTagsForResourceResponseReceivedHandler; + typedef std::function&) > PutAccessGrantsInstanceResourcePolicyResponseReceivedHandler; typedef std::function&) > PutAccessPointConfigurationForObjectLambdaResponseReceivedHandler; typedef std::function&) > PutAccessPointPolicyResponseReceivedHandler; typedef std::function&) > PutAccessPointPolicyForObjectLambdaResponseReceivedHandler; @@ -403,6 +496,7 @@ namespace Aws typedef std::function&) > SubmitMultiRegionAccessPointRoutesResponseReceivedHandler; typedef std::function&) > TagResourceResponseReceivedHandler; typedef std::function&) > UntagResourceResponseReceivedHandler; + typedef std::function&) > UpdateAccessGrantsLocationResponseReceivedHandler; typedef std::function&) > UpdateJobPriorityResponseReceivedHandler; typedef std::function&) > UpdateJobStatusResponseReceivedHandler; typedef std::function&) > UpdateStorageLensGroupResponseReceivedHandler; diff --git a/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/AccessGrantsLocationConfiguration.h b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/AccessGrantsLocationConfiguration.h new file mode 100644 index 00000000000..6d0472127be --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/AccessGrantsLocationConfiguration.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 + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3Control +{ +namespace Model +{ + + /** + *

    The configuration options of the S3 Access Grants location. It contains the + * S3SubPrefix field. The grant scope, the data to which you are + * granting access, is the result of appending the Subprefix field to + * the scope of the registered location.

    See Also:

    AWS + * API Reference

    + */ + class AccessGrantsLocationConfiguration + { + public: + AWS_S3CONTROL_API AccessGrantsLocationConfiguration(); + AWS_S3CONTROL_API AccessGrantsLocationConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3CONTROL_API AccessGrantsLocationConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_S3CONTROL_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + *

    The S3SubPrefix is appended to the location scope creating the + * grant scope. Use this field to narrow the scope of the grant to a subset of the + * location scope. This field is required if the location scope is the default + * location s3:// because you cannot create a grant for all of your S3 + * data in the Region and must narrow the scope. For example, if the location scope + * is the default location s3://, the S3SubPrefx can be a + * <bucket-name>/ *, so the full grant scope path would be + * s3://<bucket-name>/ *. Or the S3SubPrefx can be + * <bucket-name>/<prefix-name>*, so the full grant scope + * path would be or s3://<bucket-name>/<prefix-name>*.

    + *

    If the S3SubPrefix includes a prefix, append the wildcard + * character * after the prefix to indicate that you want to include + * all object key names in the bucket that start with that prefix.

    + */ + inline const Aws::String& GetS3SubPrefix() const{ return m_s3SubPrefix; } + + /** + *

    The S3SubPrefix is appended to the location scope creating the + * grant scope. Use this field to narrow the scope of the grant to a subset of the + * location scope. This field is required if the location scope is the default + * location s3:// because you cannot create a grant for all of your S3 + * data in the Region and must narrow the scope. For example, if the location scope + * is the default location s3://, the S3SubPrefx can be a + * <bucket-name>/ *, so the full grant scope path would be + * s3://<bucket-name>/ *. Or the S3SubPrefx can be + * <bucket-name>/<prefix-name>*, so the full grant scope + * path would be or s3://<bucket-name>/<prefix-name>*.

    + *

    If the S3SubPrefix includes a prefix, append the wildcard + * character * after the prefix to indicate that you want to include + * all object key names in the bucket that start with that prefix.

    + */ + inline bool S3SubPrefixHasBeenSet() const { return m_s3SubPrefixHasBeenSet; } + + /** + *

    The S3SubPrefix is appended to the location scope creating the + * grant scope. Use this field to narrow the scope of the grant to a subset of the + * location scope. This field is required if the location scope is the default + * location s3:// because you cannot create a grant for all of your S3 + * data in the Region and must narrow the scope. For example, if the location scope + * is the default location s3://, the S3SubPrefx can be a + * <bucket-name>/ *, so the full grant scope path would be + * s3://<bucket-name>/ *. Or the S3SubPrefx can be + * <bucket-name>/<prefix-name>*, so the full grant scope + * path would be or s3://<bucket-name>/<prefix-name>*.

    + *

    If the S3SubPrefix includes a prefix, append the wildcard + * character * after the prefix to indicate that you want to include + * all object key names in the bucket that start with that prefix.

    + */ + inline void SetS3SubPrefix(const Aws::String& value) { m_s3SubPrefixHasBeenSet = true; m_s3SubPrefix = value; } + + /** + *

    The S3SubPrefix is appended to the location scope creating the + * grant scope. Use this field to narrow the scope of the grant to a subset of the + * location scope. This field is required if the location scope is the default + * location s3:// because you cannot create a grant for all of your S3 + * data in the Region and must narrow the scope. For example, if the location scope + * is the default location s3://, the S3SubPrefx can be a + * <bucket-name>/ *, so the full grant scope path would be + * s3://<bucket-name>/ *. Or the S3SubPrefx can be + * <bucket-name>/<prefix-name>*, so the full grant scope + * path would be or s3://<bucket-name>/<prefix-name>*.

    + *

    If the S3SubPrefix includes a prefix, append the wildcard + * character * after the prefix to indicate that you want to include + * all object key names in the bucket that start with that prefix.

    + */ + inline void SetS3SubPrefix(Aws::String&& value) { m_s3SubPrefixHasBeenSet = true; m_s3SubPrefix = std::move(value); } + + /** + *

    The S3SubPrefix is appended to the location scope creating the + * grant scope. Use this field to narrow the scope of the grant to a subset of the + * location scope. This field is required if the location scope is the default + * location s3:// because you cannot create a grant for all of your S3 + * data in the Region and must narrow the scope. For example, if the location scope + * is the default location s3://, the S3SubPrefx can be a + * <bucket-name>/ *, so the full grant scope path would be + * s3://<bucket-name>/ *. Or the S3SubPrefx can be + * <bucket-name>/<prefix-name>*, so the full grant scope + * path would be or s3://<bucket-name>/<prefix-name>*.

    + *

    If the S3SubPrefix includes a prefix, append the wildcard + * character * after the prefix to indicate that you want to include + * all object key names in the bucket that start with that prefix.

    + */ + inline void SetS3SubPrefix(const char* value) { m_s3SubPrefixHasBeenSet = true; m_s3SubPrefix.assign(value); } + + /** + *

    The S3SubPrefix is appended to the location scope creating the + * grant scope. Use this field to narrow the scope of the grant to a subset of the + * location scope. This field is required if the location scope is the default + * location s3:// because you cannot create a grant for all of your S3 + * data in the Region and must narrow the scope. For example, if the location scope + * is the default location s3://, the S3SubPrefx can be a + * <bucket-name>/ *, so the full grant scope path would be + * s3://<bucket-name>/ *. Or the S3SubPrefx can be + * <bucket-name>/<prefix-name>*, so the full grant scope + * path would be or s3://<bucket-name>/<prefix-name>*.

    + *

    If the S3SubPrefix includes a prefix, append the wildcard + * character * after the prefix to indicate that you want to include + * all object key names in the bucket that start with that prefix.

    + */ + inline AccessGrantsLocationConfiguration& WithS3SubPrefix(const Aws::String& value) { SetS3SubPrefix(value); return *this;} + + /** + *

    The S3SubPrefix is appended to the location scope creating the + * grant scope. Use this field to narrow the scope of the grant to a subset of the + * location scope. This field is required if the location scope is the default + * location s3:// because you cannot create a grant for all of your S3 + * data in the Region and must narrow the scope. For example, if the location scope + * is the default location s3://, the S3SubPrefx can be a + * <bucket-name>/ *, so the full grant scope path would be + * s3://<bucket-name>/ *. Or the S3SubPrefx can be + * <bucket-name>/<prefix-name>*, so the full grant scope + * path would be or s3://<bucket-name>/<prefix-name>*.

    + *

    If the S3SubPrefix includes a prefix, append the wildcard + * character * after the prefix to indicate that you want to include + * all object key names in the bucket that start with that prefix.

    + */ + inline AccessGrantsLocationConfiguration& WithS3SubPrefix(Aws::String&& value) { SetS3SubPrefix(std::move(value)); return *this;} + + /** + *

    The S3SubPrefix is appended to the location scope creating the + * grant scope. Use this field to narrow the scope of the grant to a subset of the + * location scope. This field is required if the location scope is the default + * location s3:// because you cannot create a grant for all of your S3 + * data in the Region and must narrow the scope. For example, if the location scope + * is the default location s3://, the S3SubPrefx can be a + * <bucket-name>/ *, so the full grant scope path would be + * s3://<bucket-name>/ *. Or the S3SubPrefx can be + * <bucket-name>/<prefix-name>*, so the full grant scope + * path would be or s3://<bucket-name>/<prefix-name>*.

    + *

    If the S3SubPrefix includes a prefix, append the wildcard + * character * after the prefix to indicate that you want to include + * all object key names in the bucket that start with that prefix.

    + */ + inline AccessGrantsLocationConfiguration& WithS3SubPrefix(const char* value) { SetS3SubPrefix(value); return *this;} + + private: + + Aws::String m_s3SubPrefix; + bool m_s3SubPrefixHasBeenSet = false; + }; + +} // namespace Model +} // namespace S3Control +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/AssociateAccessGrantsIdentityCenterRequest.h b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/AssociateAccessGrantsIdentityCenterRequest.h new file mode 100644 index 00000000000..b00a91a78d4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/AssociateAccessGrantsIdentityCenterRequest.h @@ -0,0 +1,183 @@ +/** + * 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 S3Control +{ +namespace Model +{ + + /** + */ + class AssociateAccessGrantsIdentityCenterRequest : public S3ControlRequest + { + public: + AWS_S3CONTROL_API AssociateAccessGrantsIdentityCenterRequest(); + + // 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 "AssociateAccessGrantsIdentityCenter"; } + + AWS_S3CONTROL_API Aws::String SerializePayload() const override; + + AWS_S3CONTROL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + AWS_S3CONTROL_API inline bool ShouldComputeContentMd5() const override { return true; } + + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3CONTROL_API EndpointParameters GetEndpointContextParams() const override; + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline const Aws::String& GetAccountId() const{ return m_accountId; } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline AssociateAccessGrantsIdentityCenterRequest& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;} + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline AssociateAccessGrantsIdentityCenterRequest& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;} + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline AssociateAccessGrantsIdentityCenterRequest& WithAccountId(const char* value) { SetAccountId(value); return *this;} + + + /** + *

    The Amazon Resource Name (ARN) of the Amazon Web Services IAM Identity Center + * instance that you are associating with your S3 Access Grants instance. An IAM + * Identity Center instance is your corporate identity directory that you added to + * the IAM Identity Center. You can use the ListInstances + * API operation to retrieve a list of your Identity Center instances and their + * ARNs.

    + */ + inline const Aws::String& GetIdentityCenterArn() const{ return m_identityCenterArn; } + + /** + *

    The Amazon Resource Name (ARN) of the Amazon Web Services IAM Identity Center + * instance that you are associating with your S3 Access Grants instance. An IAM + * Identity Center instance is your corporate identity directory that you added to + * the IAM Identity Center. You can use the ListInstances + * API operation to retrieve a list of your Identity Center instances and their + * ARNs.

    + */ + inline bool IdentityCenterArnHasBeenSet() const { return m_identityCenterArnHasBeenSet; } + + /** + *

    The Amazon Resource Name (ARN) of the Amazon Web Services IAM Identity Center + * instance that you are associating with your S3 Access Grants instance. An IAM + * Identity Center instance is your corporate identity directory that you added to + * the IAM Identity Center. You can use the ListInstances + * API operation to retrieve a list of your Identity Center instances and their + * ARNs.

    + */ + inline void SetIdentityCenterArn(const Aws::String& value) { m_identityCenterArnHasBeenSet = true; m_identityCenterArn = value; } + + /** + *

    The Amazon Resource Name (ARN) of the Amazon Web Services IAM Identity Center + * instance that you are associating with your S3 Access Grants instance. An IAM + * Identity Center instance is your corporate identity directory that you added to + * the IAM Identity Center. You can use the ListInstances + * API operation to retrieve a list of your Identity Center instances and their + * ARNs.

    + */ + inline void SetIdentityCenterArn(Aws::String&& value) { m_identityCenterArnHasBeenSet = true; m_identityCenterArn = std::move(value); } + + /** + *

    The Amazon Resource Name (ARN) of the Amazon Web Services IAM Identity Center + * instance that you are associating with your S3 Access Grants instance. An IAM + * Identity Center instance is your corporate identity directory that you added to + * the IAM Identity Center. You can use the ListInstances + * API operation to retrieve a list of your Identity Center instances and their + * ARNs.

    + */ + inline void SetIdentityCenterArn(const char* value) { m_identityCenterArnHasBeenSet = true; m_identityCenterArn.assign(value); } + + /** + *

    The Amazon Resource Name (ARN) of the Amazon Web Services IAM Identity Center + * instance that you are associating with your S3 Access Grants instance. An IAM + * Identity Center instance is your corporate identity directory that you added to + * the IAM Identity Center. You can use the ListInstances + * API operation to retrieve a list of your Identity Center instances and their + * ARNs.

    + */ + inline AssociateAccessGrantsIdentityCenterRequest& WithIdentityCenterArn(const Aws::String& value) { SetIdentityCenterArn(value); return *this;} + + /** + *

    The Amazon Resource Name (ARN) of the Amazon Web Services IAM Identity Center + * instance that you are associating with your S3 Access Grants instance. An IAM + * Identity Center instance is your corporate identity directory that you added to + * the IAM Identity Center. You can use the ListInstances + * API operation to retrieve a list of your Identity Center instances and their + * ARNs.

    + */ + inline AssociateAccessGrantsIdentityCenterRequest& WithIdentityCenterArn(Aws::String&& value) { SetIdentityCenterArn(std::move(value)); return *this;} + + /** + *

    The Amazon Resource Name (ARN) of the Amazon Web Services IAM Identity Center + * instance that you are associating with your S3 Access Grants instance. An IAM + * Identity Center instance is your corporate identity directory that you added to + * the IAM Identity Center. You can use the ListInstances + * API operation to retrieve a list of your Identity Center instances and their + * ARNs.

    + */ + inline AssociateAccessGrantsIdentityCenterRequest& WithIdentityCenterArn(const char* value) { SetIdentityCenterArn(value); return *this;} + + private: + + Aws::String m_accountId; + bool m_accountIdHasBeenSet = false; + + Aws::String m_identityCenterArn; + bool m_identityCenterArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace S3Control +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/CreateAccessGrantRequest.h b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/CreateAccessGrantRequest.h new file mode 100644 index 00000000000..abc2ac35421 --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/CreateAccessGrantRequest.h @@ -0,0 +1,537 @@ +/** + * 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 S3Control +{ +namespace Model +{ + + /** + */ + class CreateAccessGrantRequest : public S3ControlRequest + { + public: + AWS_S3CONTROL_API CreateAccessGrantRequest(); + + // 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 "CreateAccessGrant"; } + + AWS_S3CONTROL_API Aws::String SerializePayload() const override; + + AWS_S3CONTROL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + AWS_S3CONTROL_API inline bool ShouldComputeContentMd5() const override { return true; } + + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3CONTROL_API EndpointParameters GetEndpointContextParams() const override; + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline const Aws::String& GetAccountId() const{ return m_accountId; } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline CreateAccessGrantRequest& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;} + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline CreateAccessGrantRequest& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;} + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline CreateAccessGrantRequest& WithAccountId(const char* value) { SetAccountId(value); return *this;} + + + /** + *

    The ID of the registered location to which you are granting access. S3 Access + * Grants assigns this ID when you register the location. S3 Access Grants assigns + * the ID default to the default location s3:// and + * assigns an auto-generated ID to other locations that you register.

    If + * you are passing the default location, you cannot create an access + * grant for the entire default location. You must also specify a bucket or a + * bucket and prefix in the Subprefix field.

    + */ + inline const Aws::String& GetAccessGrantsLocationId() const{ return m_accessGrantsLocationId; } + + /** + *

    The ID of the registered location to which you are granting access. S3 Access + * Grants assigns this ID when you register the location. S3 Access Grants assigns + * the ID default to the default location s3:// and + * assigns an auto-generated ID to other locations that you register.

    If + * you are passing the default location, you cannot create an access + * grant for the entire default location. You must also specify a bucket or a + * bucket and prefix in the Subprefix field.

    + */ + inline bool AccessGrantsLocationIdHasBeenSet() const { return m_accessGrantsLocationIdHasBeenSet; } + + /** + *

    The ID of the registered location to which you are granting access. S3 Access + * Grants assigns this ID when you register the location. S3 Access Grants assigns + * the ID default to the default location s3:// and + * assigns an auto-generated ID to other locations that you register.

    If + * you are passing the default location, you cannot create an access + * grant for the entire default location. You must also specify a bucket or a + * bucket and prefix in the Subprefix field.

    + */ + inline void SetAccessGrantsLocationId(const Aws::String& value) { m_accessGrantsLocationIdHasBeenSet = true; m_accessGrantsLocationId = value; } + + /** + *

    The ID of the registered location to which you are granting access. S3 Access + * Grants assigns this ID when you register the location. S3 Access Grants assigns + * the ID default to the default location s3:// and + * assigns an auto-generated ID to other locations that you register.

    If + * you are passing the default location, you cannot create an access + * grant for the entire default location. You must also specify a bucket or a + * bucket and prefix in the Subprefix field.

    + */ + inline void SetAccessGrantsLocationId(Aws::String&& value) { m_accessGrantsLocationIdHasBeenSet = true; m_accessGrantsLocationId = std::move(value); } + + /** + *

    The ID of the registered location to which you are granting access. S3 Access + * Grants assigns this ID when you register the location. S3 Access Grants assigns + * the ID default to the default location s3:// and + * assigns an auto-generated ID to other locations that you register.

    If + * you are passing the default location, you cannot create an access + * grant for the entire default location. You must also specify a bucket or a + * bucket and prefix in the Subprefix field.

    + */ + inline void SetAccessGrantsLocationId(const char* value) { m_accessGrantsLocationIdHasBeenSet = true; m_accessGrantsLocationId.assign(value); } + + /** + *

    The ID of the registered location to which you are granting access. S3 Access + * Grants assigns this ID when you register the location. S3 Access Grants assigns + * the ID default to the default location s3:// and + * assigns an auto-generated ID to other locations that you register.

    If + * you are passing the default location, you cannot create an access + * grant for the entire default location. You must also specify a bucket or a + * bucket and prefix in the Subprefix field.

    + */ + inline CreateAccessGrantRequest& WithAccessGrantsLocationId(const Aws::String& value) { SetAccessGrantsLocationId(value); return *this;} + + /** + *

    The ID of the registered location to which you are granting access. S3 Access + * Grants assigns this ID when you register the location. S3 Access Grants assigns + * the ID default to the default location s3:// and + * assigns an auto-generated ID to other locations that you register.

    If + * you are passing the default location, you cannot create an access + * grant for the entire default location. You must also specify a bucket or a + * bucket and prefix in the Subprefix field.

    + */ + inline CreateAccessGrantRequest& WithAccessGrantsLocationId(Aws::String&& value) { SetAccessGrantsLocationId(std::move(value)); return *this;} + + /** + *

    The ID of the registered location to which you are granting access. S3 Access + * Grants assigns this ID when you register the location. S3 Access Grants assigns + * the ID default to the default location s3:// and + * assigns an auto-generated ID to other locations that you register.

    If + * you are passing the default location, you cannot create an access + * grant for the entire default location. You must also specify a bucket or a + * bucket and prefix in the Subprefix field.

    + */ + inline CreateAccessGrantRequest& WithAccessGrantsLocationId(const char* value) { SetAccessGrantsLocationId(value); return *this;} + + + /** + *

    The configuration options of the grant location. The grant location is the S3 + * path to the data to which you are granting access. It contains the + * S3SubPrefix field. The grant scope is the result of appending the + * subprefix to the location scope of the registered location.

    + */ + inline const AccessGrantsLocationConfiguration& GetAccessGrantsLocationConfiguration() const{ return m_accessGrantsLocationConfiguration; } + + /** + *

    The configuration options of the grant location. The grant location is the S3 + * path to the data to which you are granting access. It contains the + * S3SubPrefix field. The grant scope is the result of appending the + * subprefix to the location scope of the registered location.

    + */ + inline bool AccessGrantsLocationConfigurationHasBeenSet() const { return m_accessGrantsLocationConfigurationHasBeenSet; } + + /** + *

    The configuration options of the grant location. The grant location is the S3 + * path to the data to which you are granting access. It contains the + * S3SubPrefix field. The grant scope is the result of appending the + * subprefix to the location scope of the registered location.

    + */ + inline void SetAccessGrantsLocationConfiguration(const AccessGrantsLocationConfiguration& value) { m_accessGrantsLocationConfigurationHasBeenSet = true; m_accessGrantsLocationConfiguration = value; } + + /** + *

    The configuration options of the grant location. The grant location is the S3 + * path to the data to which you are granting access. It contains the + * S3SubPrefix field. The grant scope is the result of appending the + * subprefix to the location scope of the registered location.

    + */ + inline void SetAccessGrantsLocationConfiguration(AccessGrantsLocationConfiguration&& value) { m_accessGrantsLocationConfigurationHasBeenSet = true; m_accessGrantsLocationConfiguration = std::move(value); } + + /** + *

    The configuration options of the grant location. The grant location is the S3 + * path to the data to which you are granting access. It contains the + * S3SubPrefix field. The grant scope is the result of appending the + * subprefix to the location scope of the registered location.

    + */ + inline CreateAccessGrantRequest& WithAccessGrantsLocationConfiguration(const AccessGrantsLocationConfiguration& value) { SetAccessGrantsLocationConfiguration(value); return *this;} + + /** + *

    The configuration options of the grant location. The grant location is the S3 + * path to the data to which you are granting access. It contains the + * S3SubPrefix field. The grant scope is the result of appending the + * subprefix to the location scope of the registered location.

    + */ + inline CreateAccessGrantRequest& WithAccessGrantsLocationConfiguration(AccessGrantsLocationConfiguration&& value) { SetAccessGrantsLocationConfiguration(std::move(value)); return *this;} + + + /** + *

    The user, group, or role to which you are granting access. You can grant + * access to an IAM user or role. If you have added your corporate directory to + * Amazon Web Services IAM Identity Center and associated your Identity Center + * instance with your S3 Access Grants instance, the grantee can also be a + * corporate directory user or group.

    + */ + inline const Grantee& GetGrantee() const{ return m_grantee; } + + /** + *

    The user, group, or role to which you are granting access. You can grant + * access to an IAM user or role. If you have added your corporate directory to + * Amazon Web Services IAM Identity Center and associated your Identity Center + * instance with your S3 Access Grants instance, the grantee can also be a + * corporate directory user or group.

    + */ + inline bool GranteeHasBeenSet() const { return m_granteeHasBeenSet; } + + /** + *

    The user, group, or role to which you are granting access. You can grant + * access to an IAM user or role. If you have added your corporate directory to + * Amazon Web Services IAM Identity Center and associated your Identity Center + * instance with your S3 Access Grants instance, the grantee can also be a + * corporate directory user or group.

    + */ + inline void SetGrantee(const Grantee& value) { m_granteeHasBeenSet = true; m_grantee = value; } + + /** + *

    The user, group, or role to which you are granting access. You can grant + * access to an IAM user or role. If you have added your corporate directory to + * Amazon Web Services IAM Identity Center and associated your Identity Center + * instance with your S3 Access Grants instance, the grantee can also be a + * corporate directory user or group.

    + */ + inline void SetGrantee(Grantee&& value) { m_granteeHasBeenSet = true; m_grantee = std::move(value); } + + /** + *

    The user, group, or role to which you are granting access. You can grant + * access to an IAM user or role. If you have added your corporate directory to + * Amazon Web Services IAM Identity Center and associated your Identity Center + * instance with your S3 Access Grants instance, the grantee can also be a + * corporate directory user or group.

    + */ + inline CreateAccessGrantRequest& WithGrantee(const Grantee& value) { SetGrantee(value); return *this;} + + /** + *

    The user, group, or role to which you are granting access. You can grant + * access to an IAM user or role. If you have added your corporate directory to + * Amazon Web Services IAM Identity Center and associated your Identity Center + * instance with your S3 Access Grants instance, the grantee can also be a + * corporate directory user or group.

    + */ + inline CreateAccessGrantRequest& WithGrantee(Grantee&& value) { SetGrantee(std::move(value)); return *this;} + + + /** + *

    The type of access that you are granting to your S3 data, which can be set to + * one of the following values:

    • READ – Grant + * read-only access to the S3 data.

    • WRITE – Grant + * write-only access to the S3 data.

    • READWRITE – + * Grant both read and write access to the S3 data.

    + */ + inline const Permission& GetPermission() const{ return m_permission; } + + /** + *

    The type of access that you are granting to your S3 data, which can be set to + * one of the following values:

    • READ – Grant + * read-only access to the S3 data.

    • WRITE – Grant + * write-only access to the S3 data.

    • READWRITE – + * Grant both read and write access to the S3 data.

    + */ + inline bool PermissionHasBeenSet() const { return m_permissionHasBeenSet; } + + /** + *

    The type of access that you are granting to your S3 data, which can be set to + * one of the following values:

    • READ – Grant + * read-only access to the S3 data.

    • WRITE – Grant + * write-only access to the S3 data.

    • READWRITE – + * Grant both read and write access to the S3 data.

    + */ + inline void SetPermission(const Permission& value) { m_permissionHasBeenSet = true; m_permission = value; } + + /** + *

    The type of access that you are granting to your S3 data, which can be set to + * one of the following values:

    • READ – Grant + * read-only access to the S3 data.

    • WRITE – Grant + * write-only access to the S3 data.

    • READWRITE – + * Grant both read and write access to the S3 data.

    + */ + inline void SetPermission(Permission&& value) { m_permissionHasBeenSet = true; m_permission = std::move(value); } + + /** + *

    The type of access that you are granting to your S3 data, which can be set to + * one of the following values:

    • READ – Grant + * read-only access to the S3 data.

    • WRITE – Grant + * write-only access to the S3 data.

    • READWRITE – + * Grant both read and write access to the S3 data.

    + */ + inline CreateAccessGrantRequest& WithPermission(const Permission& value) { SetPermission(value); return *this;} + + /** + *

    The type of access that you are granting to your S3 data, which can be set to + * one of the following values:

    • READ – Grant + * read-only access to the S3 data.

    • WRITE – Grant + * write-only access to the S3 data.

    • READWRITE – + * Grant both read and write access to the S3 data.

    + */ + inline CreateAccessGrantRequest& WithPermission(Permission&& value) { SetPermission(std::move(value)); return *this;} + + + /** + *

    The Amazon Resource Name (ARN) of an Amazon Web Services IAM Identity Center + * application associated with your Identity Center instance. If an application ARN + * is included in the request to create an access grant, the grantee can only + * access the S3 data through this application.

    + */ + inline const Aws::String& GetApplicationArn() const{ return m_applicationArn; } + + /** + *

    The Amazon Resource Name (ARN) of an Amazon Web Services IAM Identity Center + * application associated with your Identity Center instance. If an application ARN + * is included in the request to create an access grant, the grantee can only + * access the S3 data through this application.

    + */ + inline bool ApplicationArnHasBeenSet() const { return m_applicationArnHasBeenSet; } + + /** + *

    The Amazon Resource Name (ARN) of an Amazon Web Services IAM Identity Center + * application associated with your Identity Center instance. If an application ARN + * is included in the request to create an access grant, the grantee can only + * access the S3 data through this application.

    + */ + inline void SetApplicationArn(const Aws::String& value) { m_applicationArnHasBeenSet = true; m_applicationArn = value; } + + /** + *

    The Amazon Resource Name (ARN) of an Amazon Web Services IAM Identity Center + * application associated with your Identity Center instance. If an application ARN + * is included in the request to create an access grant, the grantee can only + * access the S3 data through this application.

    + */ + inline void SetApplicationArn(Aws::String&& value) { m_applicationArnHasBeenSet = true; m_applicationArn = std::move(value); } + + /** + *

    The Amazon Resource Name (ARN) of an Amazon Web Services IAM Identity Center + * application associated with your Identity Center instance. If an application ARN + * is included in the request to create an access grant, the grantee can only + * access the S3 data through this application.

    + */ + inline void SetApplicationArn(const char* value) { m_applicationArnHasBeenSet = true; m_applicationArn.assign(value); } + + /** + *

    The Amazon Resource Name (ARN) of an Amazon Web Services IAM Identity Center + * application associated with your Identity Center instance. If an application ARN + * is included in the request to create an access grant, the grantee can only + * access the S3 data through this application.

    + */ + inline CreateAccessGrantRequest& WithApplicationArn(const Aws::String& value) { SetApplicationArn(value); return *this;} + + /** + *

    The Amazon Resource Name (ARN) of an Amazon Web Services IAM Identity Center + * application associated with your Identity Center instance. If an application ARN + * is included in the request to create an access grant, the grantee can only + * access the S3 data through this application.

    + */ + inline CreateAccessGrantRequest& WithApplicationArn(Aws::String&& value) { SetApplicationArn(std::move(value)); return *this;} + + /** + *

    The Amazon Resource Name (ARN) of an Amazon Web Services IAM Identity Center + * application associated with your Identity Center instance. If an application ARN + * is included in the request to create an access grant, the grantee can only + * access the S3 data through this application.

    + */ + inline CreateAccessGrantRequest& WithApplicationArn(const char* value) { SetApplicationArn(value); return *this;} + + + /** + *

    The type of S3SubPrefix. The only possible value is + * Object. Pass this value if the access grant scope is an object. Do + * not pass this value if the access grant scope is a bucket or a bucket and a + * prefix.

    + */ + inline const S3PrefixType& GetS3PrefixType() const{ return m_s3PrefixType; } + + /** + *

    The type of S3SubPrefix. The only possible value is + * Object. Pass this value if the access grant scope is an object. Do + * not pass this value if the access grant scope is a bucket or a bucket and a + * prefix.

    + */ + inline bool S3PrefixTypeHasBeenSet() const { return m_s3PrefixTypeHasBeenSet; } + + /** + *

    The type of S3SubPrefix. The only possible value is + * Object. Pass this value if the access grant scope is an object. Do + * not pass this value if the access grant scope is a bucket or a bucket and a + * prefix.

    + */ + inline void SetS3PrefixType(const S3PrefixType& value) { m_s3PrefixTypeHasBeenSet = true; m_s3PrefixType = value; } + + /** + *

    The type of S3SubPrefix. The only possible value is + * Object. Pass this value if the access grant scope is an object. Do + * not pass this value if the access grant scope is a bucket or a bucket and a + * prefix.

    + */ + inline void SetS3PrefixType(S3PrefixType&& value) { m_s3PrefixTypeHasBeenSet = true; m_s3PrefixType = std::move(value); } + + /** + *

    The type of S3SubPrefix. The only possible value is + * Object. Pass this value if the access grant scope is an object. Do + * not pass this value if the access grant scope is a bucket or a bucket and a + * prefix.

    + */ + inline CreateAccessGrantRequest& WithS3PrefixType(const S3PrefixType& value) { SetS3PrefixType(value); return *this;} + + /** + *

    The type of S3SubPrefix. The only possible value is + * Object. Pass this value if the access grant scope is an object. Do + * not pass this value if the access grant scope is a bucket or a bucket and a + * prefix.

    + */ + inline CreateAccessGrantRequest& WithS3PrefixType(S3PrefixType&& value) { SetS3PrefixType(std::move(value)); return *this;} + + + /** + *

    The Amazon Web Services resource tags that you are adding to the access + * grant. Each tag is a label consisting of a user-defined key and value. Tags can + * help you manage, identify, organize, search for, and filter resources.

    + */ + inline const Aws::Vector& GetTags() const{ return m_tags; } + + /** + *

    The Amazon Web Services resource tags that you are adding to the access + * grant. Each tag is a label consisting of a user-defined key and value. Tags can + * help you manage, identify, organize, search for, and filter resources.

    + */ + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + + /** + *

    The Amazon Web Services resource tags that you are adding to the access + * grant. Each tag is a label consisting of a user-defined key and value. Tags can + * help you manage, identify, organize, search for, and filter resources.

    + */ + inline void SetTags(const Aws::Vector& value) { m_tagsHasBeenSet = true; m_tags = value; } + + /** + *

    The Amazon Web Services resource tags that you are adding to the access + * grant. Each tag is a label consisting of a user-defined key and value. Tags can + * help you manage, identify, organize, search for, and filter resources.

    + */ + inline void SetTags(Aws::Vector&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } + + /** + *

    The Amazon Web Services resource tags that you are adding to the access + * grant. Each tag is a label consisting of a user-defined key and value. Tags can + * help you manage, identify, organize, search for, and filter resources.

    + */ + inline CreateAccessGrantRequest& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} + + /** + *

    The Amazon Web Services resource tags that you are adding to the access + * grant. Each tag is a label consisting of a user-defined key and value. Tags can + * help you manage, identify, organize, search for, and filter resources.

    + */ + inline CreateAccessGrantRequest& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} + + /** + *

    The Amazon Web Services resource tags that you are adding to the access + * grant. Each tag is a label consisting of a user-defined key and value. Tags can + * help you manage, identify, organize, search for, and filter resources.

    + */ + inline CreateAccessGrantRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } + + /** + *

    The Amazon Web Services resource tags that you are adding to the access + * grant. Each tag is a label consisting of a user-defined key and value. Tags can + * help you manage, identify, organize, search for, and filter resources.

    + */ + inline CreateAccessGrantRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } + + private: + + Aws::String m_accountId; + bool m_accountIdHasBeenSet = false; + + Aws::String m_accessGrantsLocationId; + bool m_accessGrantsLocationIdHasBeenSet = false; + + AccessGrantsLocationConfiguration m_accessGrantsLocationConfiguration; + bool m_accessGrantsLocationConfigurationHasBeenSet = false; + + Grantee m_grantee; + bool m_granteeHasBeenSet = false; + + Permission m_permission; + bool m_permissionHasBeenSet = false; + + Aws::String m_applicationArn; + bool m_applicationArnHasBeenSet = false; + + S3PrefixType m_s3PrefixType; + bool m_s3PrefixTypeHasBeenSet = false; + + Aws::Vector m_tags; + bool m_tagsHasBeenSet = false; + }; + +} // namespace Model +} // namespace S3Control +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/CreateAccessGrantResult.h b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/CreateAccessGrantResult.h new file mode 100644 index 00000000000..8938593e845 --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/CreateAccessGrantResult.h @@ -0,0 +1,470 @@ +/** + * 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 S3Control +{ +namespace Model +{ + class CreateAccessGrantResult + { + public: + AWS_S3CONTROL_API CreateAccessGrantResult(); + AWS_S3CONTROL_API CreateAccessGrantResult(const Aws::AmazonWebServiceResult& result); + AWS_S3CONTROL_API CreateAccessGrantResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

    The date and time when you created the access grant.

    + */ + inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } + + /** + *

    The date and time when you created the access grant.

    + */ + inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAt = value; } + + /** + *

    The date and time when you created the access grant.

    + */ + inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAt = std::move(value); } + + /** + *

    The date and time when you created the access grant.

    + */ + inline CreateAccessGrantResult& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} + + /** + *

    The date and time when you created the access grant.

    + */ + inline CreateAccessGrantResult& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} + + + /** + *

    The ID of the access grant. S3 Access Grants auto-generates this ID when you + * create the access grant.

    + */ + inline const Aws::String& GetAccessGrantId() const{ return m_accessGrantId; } + + /** + *

    The ID of the access grant. S3 Access Grants auto-generates this ID when you + * create the access grant.

    + */ + inline void SetAccessGrantId(const Aws::String& value) { m_accessGrantId = value; } + + /** + *

    The ID of the access grant. S3 Access Grants auto-generates this ID when you + * create the access grant.

    + */ + inline void SetAccessGrantId(Aws::String&& value) { m_accessGrantId = std::move(value); } + + /** + *

    The ID of the access grant. S3 Access Grants auto-generates this ID when you + * create the access grant.

    + */ + inline void SetAccessGrantId(const char* value) { m_accessGrantId.assign(value); } + + /** + *

    The ID of the access grant. S3 Access Grants auto-generates this ID when you + * create the access grant.

    + */ + inline CreateAccessGrantResult& WithAccessGrantId(const Aws::String& value) { SetAccessGrantId(value); return *this;} + + /** + *

    The ID of the access grant. S3 Access Grants auto-generates this ID when you + * create the access grant.

    + */ + inline CreateAccessGrantResult& WithAccessGrantId(Aws::String&& value) { SetAccessGrantId(std::move(value)); return *this;} + + /** + *

    The ID of the access grant. S3 Access Grants auto-generates this ID when you + * create the access grant.

    + */ + inline CreateAccessGrantResult& WithAccessGrantId(const char* value) { SetAccessGrantId(value); return *this;} + + + /** + *

    The Amazon Resource Name (ARN) of the access grant.

    + */ + inline const Aws::String& GetAccessGrantArn() const{ return m_accessGrantArn; } + + /** + *

    The Amazon Resource Name (ARN) of the access grant.

    + */ + inline void SetAccessGrantArn(const Aws::String& value) { m_accessGrantArn = value; } + + /** + *

    The Amazon Resource Name (ARN) of the access grant.

    + */ + inline void SetAccessGrantArn(Aws::String&& value) { m_accessGrantArn = std::move(value); } + + /** + *

    The Amazon Resource Name (ARN) of the access grant.

    + */ + inline void SetAccessGrantArn(const char* value) { m_accessGrantArn.assign(value); } + + /** + *

    The Amazon Resource Name (ARN) of the access grant.

    + */ + inline CreateAccessGrantResult& WithAccessGrantArn(const Aws::String& value) { SetAccessGrantArn(value); return *this;} + + /** + *

    The Amazon Resource Name (ARN) of the access grant.

    + */ + inline CreateAccessGrantResult& WithAccessGrantArn(Aws::String&& value) { SetAccessGrantArn(std::move(value)); return *this;} + + /** + *

    The Amazon Resource Name (ARN) of the access grant.

    + */ + inline CreateAccessGrantResult& WithAccessGrantArn(const char* value) { SetAccessGrantArn(value); return *this;} + + + /** + *

    The user, group, or role to which you are granting access. You can grant + * access to an IAM user or role. If you have added your corporate directory to + * Amazon Web Services IAM Identity Center and associated your Identity Center + * instance with your S3 Access Grants instance, the grantee can also be a + * corporate directory user or group.

    + */ + inline const Grantee& GetGrantee() const{ return m_grantee; } + + /** + *

    The user, group, or role to which you are granting access. You can grant + * access to an IAM user or role. If you have added your corporate directory to + * Amazon Web Services IAM Identity Center and associated your Identity Center + * instance with your S3 Access Grants instance, the grantee can also be a + * corporate directory user or group.

    + */ + inline void SetGrantee(const Grantee& value) { m_grantee = value; } + + /** + *

    The user, group, or role to which you are granting access. You can grant + * access to an IAM user or role. If you have added your corporate directory to + * Amazon Web Services IAM Identity Center and associated your Identity Center + * instance with your S3 Access Grants instance, the grantee can also be a + * corporate directory user or group.

    + */ + inline void SetGrantee(Grantee&& value) { m_grantee = std::move(value); } + + /** + *

    The user, group, or role to which you are granting access. You can grant + * access to an IAM user or role. If you have added your corporate directory to + * Amazon Web Services IAM Identity Center and associated your Identity Center + * instance with your S3 Access Grants instance, the grantee can also be a + * corporate directory user or group.

    + */ + inline CreateAccessGrantResult& WithGrantee(const Grantee& value) { SetGrantee(value); return *this;} + + /** + *

    The user, group, or role to which you are granting access. You can grant + * access to an IAM user or role. If you have added your corporate directory to + * Amazon Web Services IAM Identity Center and associated your Identity Center + * instance with your S3 Access Grants instance, the grantee can also be a + * corporate directory user or group.

    + */ + inline CreateAccessGrantResult& WithGrantee(Grantee&& value) { SetGrantee(std::move(value)); return *this;} + + + /** + *

    The ID of the registered location to which you are granting access. S3 Access + * Grants assigns this ID when you register the location. S3 Access Grants assigns + * the ID default to the default location s3:// and + * assigns an auto-generated ID to other locations that you register.

    + */ + inline const Aws::String& GetAccessGrantsLocationId() const{ return m_accessGrantsLocationId; } + + /** + *

    The ID of the registered location to which you are granting access. S3 Access + * Grants assigns this ID when you register the location. S3 Access Grants assigns + * the ID default to the default location s3:// and + * assigns an auto-generated ID to other locations that you register.

    + */ + inline void SetAccessGrantsLocationId(const Aws::String& value) { m_accessGrantsLocationId = value; } + + /** + *

    The ID of the registered location to which you are granting access. S3 Access + * Grants assigns this ID when you register the location. S3 Access Grants assigns + * the ID default to the default location s3:// and + * assigns an auto-generated ID to other locations that you register.

    + */ + inline void SetAccessGrantsLocationId(Aws::String&& value) { m_accessGrantsLocationId = std::move(value); } + + /** + *

    The ID of the registered location to which you are granting access. S3 Access + * Grants assigns this ID when you register the location. S3 Access Grants assigns + * the ID default to the default location s3:// and + * assigns an auto-generated ID to other locations that you register.

    + */ + inline void SetAccessGrantsLocationId(const char* value) { m_accessGrantsLocationId.assign(value); } + + /** + *

    The ID of the registered location to which you are granting access. S3 Access + * Grants assigns this ID when you register the location. S3 Access Grants assigns + * the ID default to the default location s3:// and + * assigns an auto-generated ID to other locations that you register.

    + */ + inline CreateAccessGrantResult& WithAccessGrantsLocationId(const Aws::String& value) { SetAccessGrantsLocationId(value); return *this;} + + /** + *

    The ID of the registered location to which you are granting access. S3 Access + * Grants assigns this ID when you register the location. S3 Access Grants assigns + * the ID default to the default location s3:// and + * assigns an auto-generated ID to other locations that you register.

    + */ + inline CreateAccessGrantResult& WithAccessGrantsLocationId(Aws::String&& value) { SetAccessGrantsLocationId(std::move(value)); return *this;} + + /** + *

    The ID of the registered location to which you are granting access. S3 Access + * Grants assigns this ID when you register the location. S3 Access Grants assigns + * the ID default to the default location s3:// and + * assigns an auto-generated ID to other locations that you register.

    + */ + inline CreateAccessGrantResult& WithAccessGrantsLocationId(const char* value) { SetAccessGrantsLocationId(value); return *this;} + + + /** + *

    The configuration options of the grant location. The grant location is the S3 + * path to the data to which you are granting access.

    + */ + inline const AccessGrantsLocationConfiguration& GetAccessGrantsLocationConfiguration() const{ return m_accessGrantsLocationConfiguration; } + + /** + *

    The configuration options of the grant location. The grant location is the S3 + * path to the data to which you are granting access.

    + */ + inline void SetAccessGrantsLocationConfiguration(const AccessGrantsLocationConfiguration& value) { m_accessGrantsLocationConfiguration = value; } + + /** + *

    The configuration options of the grant location. The grant location is the S3 + * path to the data to which you are granting access.

    + */ + inline void SetAccessGrantsLocationConfiguration(AccessGrantsLocationConfiguration&& value) { m_accessGrantsLocationConfiguration = std::move(value); } + + /** + *

    The configuration options of the grant location. The grant location is the S3 + * path to the data to which you are granting access.

    + */ + inline CreateAccessGrantResult& WithAccessGrantsLocationConfiguration(const AccessGrantsLocationConfiguration& value) { SetAccessGrantsLocationConfiguration(value); return *this;} + + /** + *

    The configuration options of the grant location. The grant location is the S3 + * path to the data to which you are granting access.

    + */ + inline CreateAccessGrantResult& WithAccessGrantsLocationConfiguration(AccessGrantsLocationConfiguration&& value) { SetAccessGrantsLocationConfiguration(std::move(value)); return *this;} + + + /** + *

    The type of access that you are granting to your S3 data, which can be set to + * one of the following values:

    • READ – Grant + * read-only access to the S3 data.

    • WRITE – Grant + * write-only access to the S3 data.

    • READWRITE – + * Grant both read and write access to the S3 data.

    + */ + inline const Permission& GetPermission() const{ return m_permission; } + + /** + *

    The type of access that you are granting to your S3 data, which can be set to + * one of the following values:

    • READ – Grant + * read-only access to the S3 data.

    • WRITE – Grant + * write-only access to the S3 data.

    • READWRITE – + * Grant both read and write access to the S3 data.

    + */ + inline void SetPermission(const Permission& value) { m_permission = value; } + + /** + *

    The type of access that you are granting to your S3 data, which can be set to + * one of the following values:

    • READ – Grant + * read-only access to the S3 data.

    • WRITE – Grant + * write-only access to the S3 data.

    • READWRITE – + * Grant both read and write access to the S3 data.

    + */ + inline void SetPermission(Permission&& value) { m_permission = std::move(value); } + + /** + *

    The type of access that you are granting to your S3 data, which can be set to + * one of the following values:

    • READ – Grant + * read-only access to the S3 data.

    • WRITE – Grant + * write-only access to the S3 data.

    • READWRITE – + * Grant both read and write access to the S3 data.

    + */ + inline CreateAccessGrantResult& WithPermission(const Permission& value) { SetPermission(value); return *this;} + + /** + *

    The type of access that you are granting to your S3 data, which can be set to + * one of the following values:

    • READ – Grant + * read-only access to the S3 data.

    • WRITE – Grant + * write-only access to the S3 data.

    • READWRITE – + * Grant both read and write access to the S3 data.

    + */ + inline CreateAccessGrantResult& WithPermission(Permission&& value) { SetPermission(std::move(value)); return *this;} + + + /** + *

    The Amazon Resource Name (ARN) of an Amazon Web Services IAM Identity Center + * application associated with your Identity Center instance. If the grant includes + * an application ARN, the grantee can only access the S3 data through this + * application.

    + */ + inline const Aws::String& GetApplicationArn() const{ return m_applicationArn; } + + /** + *

    The Amazon Resource Name (ARN) of an Amazon Web Services IAM Identity Center + * application associated with your Identity Center instance. If the grant includes + * an application ARN, the grantee can only access the S3 data through this + * application.

    + */ + inline void SetApplicationArn(const Aws::String& value) { m_applicationArn = value; } + + /** + *

    The Amazon Resource Name (ARN) of an Amazon Web Services IAM Identity Center + * application associated with your Identity Center instance. If the grant includes + * an application ARN, the grantee can only access the S3 data through this + * application.

    + */ + inline void SetApplicationArn(Aws::String&& value) { m_applicationArn = std::move(value); } + + /** + *

    The Amazon Resource Name (ARN) of an Amazon Web Services IAM Identity Center + * application associated with your Identity Center instance. If the grant includes + * an application ARN, the grantee can only access the S3 data through this + * application.

    + */ + inline void SetApplicationArn(const char* value) { m_applicationArn.assign(value); } + + /** + *

    The Amazon Resource Name (ARN) of an Amazon Web Services IAM Identity Center + * application associated with your Identity Center instance. If the grant includes + * an application ARN, the grantee can only access the S3 data through this + * application.

    + */ + inline CreateAccessGrantResult& WithApplicationArn(const Aws::String& value) { SetApplicationArn(value); return *this;} + + /** + *

    The Amazon Resource Name (ARN) of an Amazon Web Services IAM Identity Center + * application associated with your Identity Center instance. If the grant includes + * an application ARN, the grantee can only access the S3 data through this + * application.

    + */ + inline CreateAccessGrantResult& WithApplicationArn(Aws::String&& value) { SetApplicationArn(std::move(value)); return *this;} + + /** + *

    The Amazon Resource Name (ARN) of an Amazon Web Services IAM Identity Center + * application associated with your Identity Center instance. If the grant includes + * an application ARN, the grantee can only access the S3 data through this + * application.

    + */ + inline CreateAccessGrantResult& WithApplicationArn(const char* value) { SetApplicationArn(value); return *this;} + + + /** + *

    The S3 path of the data to which you are granting access. It is the result of + * appending the Subprefix to the location scope.

    + */ + inline const Aws::String& GetGrantScope() const{ return m_grantScope; } + + /** + *

    The S3 path of the data to which you are granting access. It is the result of + * appending the Subprefix to the location scope.

    + */ + inline void SetGrantScope(const Aws::String& value) { m_grantScope = value; } + + /** + *

    The S3 path of the data to which you are granting access. It is the result of + * appending the Subprefix to the location scope.

    + */ + inline void SetGrantScope(Aws::String&& value) { m_grantScope = std::move(value); } + + /** + *

    The S3 path of the data to which you are granting access. It is the result of + * appending the Subprefix to the location scope.

    + */ + inline void SetGrantScope(const char* value) { m_grantScope.assign(value); } + + /** + *

    The S3 path of the data to which you are granting access. It is the result of + * appending the Subprefix to the location scope.

    + */ + inline CreateAccessGrantResult& WithGrantScope(const Aws::String& value) { SetGrantScope(value); return *this;} + + /** + *

    The S3 path of the data to which you are granting access. It is the result of + * appending the Subprefix to the location scope.

    + */ + inline CreateAccessGrantResult& WithGrantScope(Aws::String&& value) { SetGrantScope(std::move(value)); return *this;} + + /** + *

    The S3 path of the data to which you are granting access. It is the result of + * appending the Subprefix to the location scope.

    + */ + inline CreateAccessGrantResult& WithGrantScope(const char* value) { SetGrantScope(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 CreateAccessGrantResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline CreateAccessGrantResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline CreateAccessGrantResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::Utils::DateTime m_createdAt; + + Aws::String m_accessGrantId; + + Aws::String m_accessGrantArn; + + Grantee m_grantee; + + Aws::String m_accessGrantsLocationId; + + AccessGrantsLocationConfiguration m_accessGrantsLocationConfiguration; + + Permission m_permission; + + Aws::String m_applicationArn; + + Aws::String m_grantScope; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace S3Control +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/CreateAccessGrantsInstanceRequest.h b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/CreateAccessGrantsInstanceRequest.h new file mode 100644 index 00000000000..b2cf5883ca6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/CreateAccessGrantsInstanceRequest.h @@ -0,0 +1,269 @@ +/** + * 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 S3Control +{ +namespace Model +{ + + /** + */ + class CreateAccessGrantsInstanceRequest : public S3ControlRequest + { + public: + AWS_S3CONTROL_API CreateAccessGrantsInstanceRequest(); + + // 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 "CreateAccessGrantsInstance"; } + + AWS_S3CONTROL_API Aws::String SerializePayload() const override; + + AWS_S3CONTROL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + AWS_S3CONTROL_API inline bool ShouldComputeContentMd5() const override { return true; } + + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3CONTROL_API EndpointParameters GetEndpointContextParams() const override; + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline const Aws::String& GetAccountId() const{ return m_accountId; } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline CreateAccessGrantsInstanceRequest& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;} + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline CreateAccessGrantsInstanceRequest& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;} + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline CreateAccessGrantsInstanceRequest& WithAccountId(const char* value) { SetAccountId(value); return *this;} + + + /** + *

    If you would like to associate your S3 Access Grants instance with an Amazon + * Web Services IAM Identity Center instance, use this field to pass the Amazon + * Resource Name (ARN) of the Amazon Web Services IAM Identity Center instance that + * you are associating with your S3 Access Grants instance. An IAM Identity Center + * instance is your corporate identity directory that you added to the IAM Identity + * Center. You can use the ListInstances + * API operation to retrieve a list of your Identity Center instances and their + * ARNs.

    + */ + inline const Aws::String& GetIdentityCenterArn() const{ return m_identityCenterArn; } + + /** + *

    If you would like to associate your S3 Access Grants instance with an Amazon + * Web Services IAM Identity Center instance, use this field to pass the Amazon + * Resource Name (ARN) of the Amazon Web Services IAM Identity Center instance that + * you are associating with your S3 Access Grants instance. An IAM Identity Center + * instance is your corporate identity directory that you added to the IAM Identity + * Center. You can use the ListInstances + * API operation to retrieve a list of your Identity Center instances and their + * ARNs.

    + */ + inline bool IdentityCenterArnHasBeenSet() const { return m_identityCenterArnHasBeenSet; } + + /** + *

    If you would like to associate your S3 Access Grants instance with an Amazon + * Web Services IAM Identity Center instance, use this field to pass the Amazon + * Resource Name (ARN) of the Amazon Web Services IAM Identity Center instance that + * you are associating with your S3 Access Grants instance. An IAM Identity Center + * instance is your corporate identity directory that you added to the IAM Identity + * Center. You can use the ListInstances + * API operation to retrieve a list of your Identity Center instances and their + * ARNs.

    + */ + inline void SetIdentityCenterArn(const Aws::String& value) { m_identityCenterArnHasBeenSet = true; m_identityCenterArn = value; } + + /** + *

    If you would like to associate your S3 Access Grants instance with an Amazon + * Web Services IAM Identity Center instance, use this field to pass the Amazon + * Resource Name (ARN) of the Amazon Web Services IAM Identity Center instance that + * you are associating with your S3 Access Grants instance. An IAM Identity Center + * instance is your corporate identity directory that you added to the IAM Identity + * Center. You can use the ListInstances + * API operation to retrieve a list of your Identity Center instances and their + * ARNs.

    + */ + inline void SetIdentityCenterArn(Aws::String&& value) { m_identityCenterArnHasBeenSet = true; m_identityCenterArn = std::move(value); } + + /** + *

    If you would like to associate your S3 Access Grants instance with an Amazon + * Web Services IAM Identity Center instance, use this field to pass the Amazon + * Resource Name (ARN) of the Amazon Web Services IAM Identity Center instance that + * you are associating with your S3 Access Grants instance. An IAM Identity Center + * instance is your corporate identity directory that you added to the IAM Identity + * Center. You can use the ListInstances + * API operation to retrieve a list of your Identity Center instances and their + * ARNs.

    + */ + inline void SetIdentityCenterArn(const char* value) { m_identityCenterArnHasBeenSet = true; m_identityCenterArn.assign(value); } + + /** + *

    If you would like to associate your S3 Access Grants instance with an Amazon + * Web Services IAM Identity Center instance, use this field to pass the Amazon + * Resource Name (ARN) of the Amazon Web Services IAM Identity Center instance that + * you are associating with your S3 Access Grants instance. An IAM Identity Center + * instance is your corporate identity directory that you added to the IAM Identity + * Center. You can use the ListInstances + * API operation to retrieve a list of your Identity Center instances and their + * ARNs.

    + */ + inline CreateAccessGrantsInstanceRequest& WithIdentityCenterArn(const Aws::String& value) { SetIdentityCenterArn(value); return *this;} + + /** + *

    If you would like to associate your S3 Access Grants instance with an Amazon + * Web Services IAM Identity Center instance, use this field to pass the Amazon + * Resource Name (ARN) of the Amazon Web Services IAM Identity Center instance that + * you are associating with your S3 Access Grants instance. An IAM Identity Center + * instance is your corporate identity directory that you added to the IAM Identity + * Center. You can use the ListInstances + * API operation to retrieve a list of your Identity Center instances and their + * ARNs.

    + */ + inline CreateAccessGrantsInstanceRequest& WithIdentityCenterArn(Aws::String&& value) { SetIdentityCenterArn(std::move(value)); return *this;} + + /** + *

    If you would like to associate your S3 Access Grants instance with an Amazon + * Web Services IAM Identity Center instance, use this field to pass the Amazon + * Resource Name (ARN) of the Amazon Web Services IAM Identity Center instance that + * you are associating with your S3 Access Grants instance. An IAM Identity Center + * instance is your corporate identity directory that you added to the IAM Identity + * Center. You can use the ListInstances + * API operation to retrieve a list of your Identity Center instances and their + * ARNs.

    + */ + inline CreateAccessGrantsInstanceRequest& WithIdentityCenterArn(const char* value) { SetIdentityCenterArn(value); return *this;} + + + /** + *

    The Amazon Web Services resource tags that you are adding to the S3 Access + * Grants instance. Each tag is a label consisting of a user-defined key and value. + * Tags can help you manage, identify, organize, search for, and filter resources. + *

    + */ + inline const Aws::Vector& GetTags() const{ return m_tags; } + + /** + *

    The Amazon Web Services resource tags that you are adding to the S3 Access + * Grants instance. Each tag is a label consisting of a user-defined key and value. + * Tags can help you manage, identify, organize, search for, and filter resources. + *

    + */ + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + + /** + *

    The Amazon Web Services resource tags that you are adding to the S3 Access + * Grants instance. Each tag is a label consisting of a user-defined key and value. + * Tags can help you manage, identify, organize, search for, and filter resources. + *

    + */ + inline void SetTags(const Aws::Vector& value) { m_tagsHasBeenSet = true; m_tags = value; } + + /** + *

    The Amazon Web Services resource tags that you are adding to the S3 Access + * Grants instance. Each tag is a label consisting of a user-defined key and value. + * Tags can help you manage, identify, organize, search for, and filter resources. + *

    + */ + inline void SetTags(Aws::Vector&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } + + /** + *

    The Amazon Web Services resource tags that you are adding to the S3 Access + * Grants instance. Each tag is a label consisting of a user-defined key and value. + * Tags can help you manage, identify, organize, search for, and filter resources. + *

    + */ + inline CreateAccessGrantsInstanceRequest& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} + + /** + *

    The Amazon Web Services resource tags that you are adding to the S3 Access + * Grants instance. Each tag is a label consisting of a user-defined key and value. + * Tags can help you manage, identify, organize, search for, and filter resources. + *

    + */ + inline CreateAccessGrantsInstanceRequest& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} + + /** + *

    The Amazon Web Services resource tags that you are adding to the S3 Access + * Grants instance. Each tag is a label consisting of a user-defined key and value. + * Tags can help you manage, identify, organize, search for, and filter resources. + *

    + */ + inline CreateAccessGrantsInstanceRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } + + /** + *

    The Amazon Web Services resource tags that you are adding to the S3 Access + * Grants instance. Each tag is a label consisting of a user-defined key and value. + * Tags can help you manage, identify, organize, search for, and filter resources. + *

    + */ + inline CreateAccessGrantsInstanceRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } + + private: + + Aws::String m_accountId; + bool m_accountIdHasBeenSet = false; + + Aws::String m_identityCenterArn; + bool m_identityCenterArnHasBeenSet = false; + + Aws::Vector m_tags; + bool m_tagsHasBeenSet = false; + }; + +} // namespace Model +} // namespace S3Control +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/CreateAccessGrantsInstanceResult.h b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/CreateAccessGrantsInstanceResult.h new file mode 100644 index 00000000000..6970be69a63 --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/CreateAccessGrantsInstanceResult.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 + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace S3Control +{ +namespace Model +{ + class CreateAccessGrantsInstanceResult + { + public: + AWS_S3CONTROL_API CreateAccessGrantsInstanceResult(); + AWS_S3CONTROL_API CreateAccessGrantsInstanceResult(const Aws::AmazonWebServiceResult& result); + AWS_S3CONTROL_API CreateAccessGrantsInstanceResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

    The date and time when you created the S3 Access Grants instance.

    + */ + inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } + + /** + *

    The date and time when you created the S3 Access Grants instance.

    + */ + inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAt = value; } + + /** + *

    The date and time when you created the S3 Access Grants instance.

    + */ + inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAt = std::move(value); } + + /** + *

    The date and time when you created the S3 Access Grants instance.

    + */ + inline CreateAccessGrantsInstanceResult& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} + + /** + *

    The date and time when you created the S3 Access Grants instance.

    + */ + inline CreateAccessGrantsInstanceResult& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} + + + /** + *

    The ID of the S3 Access Grants instance. The ID is default. You + * can have one S3 Access Grants instance per Region per account.

    + */ + inline const Aws::String& GetAccessGrantsInstanceId() const{ return m_accessGrantsInstanceId; } + + /** + *

    The ID of the S3 Access Grants instance. The ID is default. You + * can have one S3 Access Grants instance per Region per account.

    + */ + inline void SetAccessGrantsInstanceId(const Aws::String& value) { m_accessGrantsInstanceId = value; } + + /** + *

    The ID of the S3 Access Grants instance. The ID is default. You + * can have one S3 Access Grants instance per Region per account.

    + */ + inline void SetAccessGrantsInstanceId(Aws::String&& value) { m_accessGrantsInstanceId = std::move(value); } + + /** + *

    The ID of the S3 Access Grants instance. The ID is default. You + * can have one S3 Access Grants instance per Region per account.

    + */ + inline void SetAccessGrantsInstanceId(const char* value) { m_accessGrantsInstanceId.assign(value); } + + /** + *

    The ID of the S3 Access Grants instance. The ID is default. You + * can have one S3 Access Grants instance per Region per account.

    + */ + inline CreateAccessGrantsInstanceResult& WithAccessGrantsInstanceId(const Aws::String& value) { SetAccessGrantsInstanceId(value); return *this;} + + /** + *

    The ID of the S3 Access Grants instance. The ID is default. You + * can have one S3 Access Grants instance per Region per account.

    + */ + inline CreateAccessGrantsInstanceResult& WithAccessGrantsInstanceId(Aws::String&& value) { SetAccessGrantsInstanceId(std::move(value)); return *this;} + + /** + *

    The ID of the S3 Access Grants instance. The ID is default. You + * can have one S3 Access Grants instance per Region per account.

    + */ + inline CreateAccessGrantsInstanceResult& WithAccessGrantsInstanceId(const char* value) { SetAccessGrantsInstanceId(value); return *this;} + + + /** + *

    The Amazon Resource Name (ARN) of the S3 Access Grants instance.

    + */ + inline const Aws::String& GetAccessGrantsInstanceArn() const{ return m_accessGrantsInstanceArn; } + + /** + *

    The Amazon Resource Name (ARN) of the S3 Access Grants instance.

    + */ + inline void SetAccessGrantsInstanceArn(const Aws::String& value) { m_accessGrantsInstanceArn = value; } + + /** + *

    The Amazon Resource Name (ARN) of the S3 Access Grants instance.

    + */ + inline void SetAccessGrantsInstanceArn(Aws::String&& value) { m_accessGrantsInstanceArn = std::move(value); } + + /** + *

    The Amazon Resource Name (ARN) of the S3 Access Grants instance.

    + */ + inline void SetAccessGrantsInstanceArn(const char* value) { m_accessGrantsInstanceArn.assign(value); } + + /** + *

    The Amazon Resource Name (ARN) of the S3 Access Grants instance.

    + */ + inline CreateAccessGrantsInstanceResult& WithAccessGrantsInstanceArn(const Aws::String& value) { SetAccessGrantsInstanceArn(value); return *this;} + + /** + *

    The Amazon Resource Name (ARN) of the S3 Access Grants instance.

    + */ + inline CreateAccessGrantsInstanceResult& WithAccessGrantsInstanceArn(Aws::String&& value) { SetAccessGrantsInstanceArn(std::move(value)); return *this;} + + /** + *

    The Amazon Resource Name (ARN) of the S3 Access Grants instance.

    + */ + inline CreateAccessGrantsInstanceResult& WithAccessGrantsInstanceArn(const char* value) { SetAccessGrantsInstanceArn(value); return *this;} + + + /** + *

    If you associated your S3 Access Grants instance with an Amazon Web Services + * IAM Identity Center instance, this field returns the Amazon Resource Name (ARN) + * of the IAM Identity Center instance application; a subresource of the original + * Identity Center instance passed in the request. S3 Access Grants creates this + * Identity Center application for this specific S3 Access Grants instance.

    + */ + inline const Aws::String& GetIdentityCenterArn() const{ return m_identityCenterArn; } + + /** + *

    If you associated your S3 Access Grants instance with an Amazon Web Services + * IAM Identity Center instance, this field returns the Amazon Resource Name (ARN) + * of the IAM Identity Center instance application; a subresource of the original + * Identity Center instance passed in the request. S3 Access Grants creates this + * Identity Center application for this specific S3 Access Grants instance.

    + */ + inline void SetIdentityCenterArn(const Aws::String& value) { m_identityCenterArn = value; } + + /** + *

    If you associated your S3 Access Grants instance with an Amazon Web Services + * IAM Identity Center instance, this field returns the Amazon Resource Name (ARN) + * of the IAM Identity Center instance application; a subresource of the original + * Identity Center instance passed in the request. S3 Access Grants creates this + * Identity Center application for this specific S3 Access Grants instance.

    + */ + inline void SetIdentityCenterArn(Aws::String&& value) { m_identityCenterArn = std::move(value); } + + /** + *

    If you associated your S3 Access Grants instance with an Amazon Web Services + * IAM Identity Center instance, this field returns the Amazon Resource Name (ARN) + * of the IAM Identity Center instance application; a subresource of the original + * Identity Center instance passed in the request. S3 Access Grants creates this + * Identity Center application for this specific S3 Access Grants instance.

    + */ + inline void SetIdentityCenterArn(const char* value) { m_identityCenterArn.assign(value); } + + /** + *

    If you associated your S3 Access Grants instance with an Amazon Web Services + * IAM Identity Center instance, this field returns the Amazon Resource Name (ARN) + * of the IAM Identity Center instance application; a subresource of the original + * Identity Center instance passed in the request. S3 Access Grants creates this + * Identity Center application for this specific S3 Access Grants instance.

    + */ + inline CreateAccessGrantsInstanceResult& WithIdentityCenterArn(const Aws::String& value) { SetIdentityCenterArn(value); return *this;} + + /** + *

    If you associated your S3 Access Grants instance with an Amazon Web Services + * IAM Identity Center instance, this field returns the Amazon Resource Name (ARN) + * of the IAM Identity Center instance application; a subresource of the original + * Identity Center instance passed in the request. S3 Access Grants creates this + * Identity Center application for this specific S3 Access Grants instance.

    + */ + inline CreateAccessGrantsInstanceResult& WithIdentityCenterArn(Aws::String&& value) { SetIdentityCenterArn(std::move(value)); return *this;} + + /** + *

    If you associated your S3 Access Grants instance with an Amazon Web Services + * IAM Identity Center instance, this field returns the Amazon Resource Name (ARN) + * of the IAM Identity Center instance application; a subresource of the original + * Identity Center instance passed in the request. S3 Access Grants creates this + * Identity Center application for this specific S3 Access Grants instance.

    + */ + inline CreateAccessGrantsInstanceResult& WithIdentityCenterArn(const char* value) { SetIdentityCenterArn(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 CreateAccessGrantsInstanceResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline CreateAccessGrantsInstanceResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline CreateAccessGrantsInstanceResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::Utils::DateTime m_createdAt; + + Aws::String m_accessGrantsInstanceId; + + Aws::String m_accessGrantsInstanceArn; + + Aws::String m_identityCenterArn; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace S3Control +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/CreateAccessGrantsLocationRequest.h b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/CreateAccessGrantsLocationRequest.h new file mode 100644 index 00000000000..3da72b0610f --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/CreateAccessGrantsLocationRequest.h @@ -0,0 +1,321 @@ +/** + * 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 S3Control +{ +namespace Model +{ + + /** + */ + class CreateAccessGrantsLocationRequest : public S3ControlRequest + { + public: + AWS_S3CONTROL_API CreateAccessGrantsLocationRequest(); + + // 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 "CreateAccessGrantsLocation"; } + + AWS_S3CONTROL_API Aws::String SerializePayload() const override; + + AWS_S3CONTROL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + AWS_S3CONTROL_API inline bool ShouldComputeContentMd5() const override { return true; } + + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3CONTROL_API EndpointParameters GetEndpointContextParams() const override; + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline const Aws::String& GetAccountId() const{ return m_accountId; } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline CreateAccessGrantsLocationRequest& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;} + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline CreateAccessGrantsLocationRequest& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;} + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline CreateAccessGrantsLocationRequest& WithAccountId(const char* value) { SetAccountId(value); return *this;} + + + /** + *

    The S3 path to the location that you are registering. The location scope can + * be the default S3 location s3://, the S3 path to a bucket + * s3://<bucket>, or the S3 path to a bucket and prefix + * s3://<bucket>/<prefix>. A prefix in S3 is a string of + * characters at the beginning of an object key name used to organize the objects + * that you store in your S3 buckets. For example, object key names that start with + * the engineering/ prefix or object key names that start with the + * marketing/campaigns/ prefix.

    + */ + inline const Aws::String& GetLocationScope() const{ return m_locationScope; } + + /** + *

    The S3 path to the location that you are registering. The location scope can + * be the default S3 location s3://, the S3 path to a bucket + * s3://<bucket>, or the S3 path to a bucket and prefix + * s3://<bucket>/<prefix>. A prefix in S3 is a string of + * characters at the beginning of an object key name used to organize the objects + * that you store in your S3 buckets. For example, object key names that start with + * the engineering/ prefix or object key names that start with the + * marketing/campaigns/ prefix.

    + */ + inline bool LocationScopeHasBeenSet() const { return m_locationScopeHasBeenSet; } + + /** + *

    The S3 path to the location that you are registering. The location scope can + * be the default S3 location s3://, the S3 path to a bucket + * s3://<bucket>, or the S3 path to a bucket and prefix + * s3://<bucket>/<prefix>. A prefix in S3 is a string of + * characters at the beginning of an object key name used to organize the objects + * that you store in your S3 buckets. For example, object key names that start with + * the engineering/ prefix or object key names that start with the + * marketing/campaigns/ prefix.

    + */ + inline void SetLocationScope(const Aws::String& value) { m_locationScopeHasBeenSet = true; m_locationScope = value; } + + /** + *

    The S3 path to the location that you are registering. The location scope can + * be the default S3 location s3://, the S3 path to a bucket + * s3://<bucket>, or the S3 path to a bucket and prefix + * s3://<bucket>/<prefix>. A prefix in S3 is a string of + * characters at the beginning of an object key name used to organize the objects + * that you store in your S3 buckets. For example, object key names that start with + * the engineering/ prefix or object key names that start with the + * marketing/campaigns/ prefix.

    + */ + inline void SetLocationScope(Aws::String&& value) { m_locationScopeHasBeenSet = true; m_locationScope = std::move(value); } + + /** + *

    The S3 path to the location that you are registering. The location scope can + * be the default S3 location s3://, the S3 path to a bucket + * s3://<bucket>, or the S3 path to a bucket and prefix + * s3://<bucket>/<prefix>. A prefix in S3 is a string of + * characters at the beginning of an object key name used to organize the objects + * that you store in your S3 buckets. For example, object key names that start with + * the engineering/ prefix or object key names that start with the + * marketing/campaigns/ prefix.

    + */ + inline void SetLocationScope(const char* value) { m_locationScopeHasBeenSet = true; m_locationScope.assign(value); } + + /** + *

    The S3 path to the location that you are registering. The location scope can + * be the default S3 location s3://, the S3 path to a bucket + * s3://<bucket>, or the S3 path to a bucket and prefix + * s3://<bucket>/<prefix>. A prefix in S3 is a string of + * characters at the beginning of an object key name used to organize the objects + * that you store in your S3 buckets. For example, object key names that start with + * the engineering/ prefix or object key names that start with the + * marketing/campaigns/ prefix.

    + */ + inline CreateAccessGrantsLocationRequest& WithLocationScope(const Aws::String& value) { SetLocationScope(value); return *this;} + + /** + *

    The S3 path to the location that you are registering. The location scope can + * be the default S3 location s3://, the S3 path to a bucket + * s3://<bucket>, or the S3 path to a bucket and prefix + * s3://<bucket>/<prefix>. A prefix in S3 is a string of + * characters at the beginning of an object key name used to organize the objects + * that you store in your S3 buckets. For example, object key names that start with + * the engineering/ prefix or object key names that start with the + * marketing/campaigns/ prefix.

    + */ + inline CreateAccessGrantsLocationRequest& WithLocationScope(Aws::String&& value) { SetLocationScope(std::move(value)); return *this;} + + /** + *

    The S3 path to the location that you are registering. The location scope can + * be the default S3 location s3://, the S3 path to a bucket + * s3://<bucket>, or the S3 path to a bucket and prefix + * s3://<bucket>/<prefix>. A prefix in S3 is a string of + * characters at the beginning of an object key name used to organize the objects + * that you store in your S3 buckets. For example, object key names that start with + * the engineering/ prefix or object key names that start with the + * marketing/campaigns/ prefix.

    + */ + inline CreateAccessGrantsLocationRequest& WithLocationScope(const char* value) { SetLocationScope(value); return *this;} + + + /** + *

    The Amazon Resource Name (ARN) of the IAM role for the registered location. + * S3 Access Grants assumes this role to manage access to the registered location. + *

    + */ + inline const Aws::String& GetIAMRoleArn() const{ return m_iAMRoleArn; } + + /** + *

    The Amazon Resource Name (ARN) of the IAM role for the registered location. + * S3 Access Grants assumes this role to manage access to the registered location. + *

    + */ + inline bool IAMRoleArnHasBeenSet() const { return m_iAMRoleArnHasBeenSet; } + + /** + *

    The Amazon Resource Name (ARN) of the IAM role for the registered location. + * S3 Access Grants assumes this role to manage access to the registered location. + *

    + */ + inline void SetIAMRoleArn(const Aws::String& value) { m_iAMRoleArnHasBeenSet = true; m_iAMRoleArn = value; } + + /** + *

    The Amazon Resource Name (ARN) of the IAM role for the registered location. + * S3 Access Grants assumes this role to manage access to the registered location. + *

    + */ + inline void SetIAMRoleArn(Aws::String&& value) { m_iAMRoleArnHasBeenSet = true; m_iAMRoleArn = std::move(value); } + + /** + *

    The Amazon Resource Name (ARN) of the IAM role for the registered location. + * S3 Access Grants assumes this role to manage access to the registered location. + *

    + */ + inline void SetIAMRoleArn(const char* value) { m_iAMRoleArnHasBeenSet = true; m_iAMRoleArn.assign(value); } + + /** + *

    The Amazon Resource Name (ARN) of the IAM role for the registered location. + * S3 Access Grants assumes this role to manage access to the registered location. + *

    + */ + inline CreateAccessGrantsLocationRequest& WithIAMRoleArn(const Aws::String& value) { SetIAMRoleArn(value); return *this;} + + /** + *

    The Amazon Resource Name (ARN) of the IAM role for the registered location. + * S3 Access Grants assumes this role to manage access to the registered location. + *

    + */ + inline CreateAccessGrantsLocationRequest& WithIAMRoleArn(Aws::String&& value) { SetIAMRoleArn(std::move(value)); return *this;} + + /** + *

    The Amazon Resource Name (ARN) of the IAM role for the registered location. + * S3 Access Grants assumes this role to manage access to the registered location. + *

    + */ + inline CreateAccessGrantsLocationRequest& WithIAMRoleArn(const char* value) { SetIAMRoleArn(value); return *this;} + + + /** + *

    The Amazon Web Services resource tags that you are adding to the S3 Access + * Grants location. Each tag is a label consisting of a user-defined key and value. + * Tags can help you manage, identify, organize, search for, and filter + * resources.

    + */ + inline const Aws::Vector& GetTags() const{ return m_tags; } + + /** + *

    The Amazon Web Services resource tags that you are adding to the S3 Access + * Grants location. Each tag is a label consisting of a user-defined key and value. + * Tags can help you manage, identify, organize, search for, and filter + * resources.

    + */ + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + + /** + *

    The Amazon Web Services resource tags that you are adding to the S3 Access + * Grants location. Each tag is a label consisting of a user-defined key and value. + * Tags can help you manage, identify, organize, search for, and filter + * resources.

    + */ + inline void SetTags(const Aws::Vector& value) { m_tagsHasBeenSet = true; m_tags = value; } + + /** + *

    The Amazon Web Services resource tags that you are adding to the S3 Access + * Grants location. Each tag is a label consisting of a user-defined key and value. + * Tags can help you manage, identify, organize, search for, and filter + * resources.

    + */ + inline void SetTags(Aws::Vector&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } + + /** + *

    The Amazon Web Services resource tags that you are adding to the S3 Access + * Grants location. Each tag is a label consisting of a user-defined key and value. + * Tags can help you manage, identify, organize, search for, and filter + * resources.

    + */ + inline CreateAccessGrantsLocationRequest& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} + + /** + *

    The Amazon Web Services resource tags that you are adding to the S3 Access + * Grants location. Each tag is a label consisting of a user-defined key and value. + * Tags can help you manage, identify, organize, search for, and filter + * resources.

    + */ + inline CreateAccessGrantsLocationRequest& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} + + /** + *

    The Amazon Web Services resource tags that you are adding to the S3 Access + * Grants location. Each tag is a label consisting of a user-defined key and value. + * Tags can help you manage, identify, organize, search for, and filter + * resources.

    + */ + inline CreateAccessGrantsLocationRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } + + /** + *

    The Amazon Web Services resource tags that you are adding to the S3 Access + * Grants location. Each tag is a label consisting of a user-defined key and value. + * Tags can help you manage, identify, organize, search for, and filter + * resources.

    + */ + inline CreateAccessGrantsLocationRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } + + private: + + Aws::String m_accountId; + bool m_accountIdHasBeenSet = false; + + Aws::String m_locationScope; + bool m_locationScopeHasBeenSet = false; + + Aws::String m_iAMRoleArn; + bool m_iAMRoleArnHasBeenSet = false; + + Aws::Vector m_tags; + bool m_tagsHasBeenSet = false; + }; + +} // namespace Model +} // namespace S3Control +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/CreateAccessGrantsLocationResult.h b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/CreateAccessGrantsLocationResult.h new file mode 100644 index 00000000000..42fcfec08fd --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/CreateAccessGrantsLocationResult.h @@ -0,0 +1,321 @@ +/** + * 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 S3Control +{ +namespace Model +{ + class CreateAccessGrantsLocationResult + { + public: + AWS_S3CONTROL_API CreateAccessGrantsLocationResult(); + AWS_S3CONTROL_API CreateAccessGrantsLocationResult(const Aws::AmazonWebServiceResult& result); + AWS_S3CONTROL_API CreateAccessGrantsLocationResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

    The date and time when you registered the location.

    + */ + inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } + + /** + *

    The date and time when you registered the location.

    + */ + inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAt = value; } + + /** + *

    The date and time when you registered the location.

    + */ + inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAt = std::move(value); } + + /** + *

    The date and time when you registered the location.

    + */ + inline CreateAccessGrantsLocationResult& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} + + /** + *

    The date and time when you registered the location.

    + */ + inline CreateAccessGrantsLocationResult& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} + + + /** + *

    The ID of the registered location to which you are granting access. S3 Access + * Grants assigns this ID when you register the location. S3 Access Grants assigns + * the ID default to the default location s3:// and + * assigns an auto-generated ID to other locations that you register.

    + */ + inline const Aws::String& GetAccessGrantsLocationId() const{ return m_accessGrantsLocationId; } + + /** + *

    The ID of the registered location to which you are granting access. S3 Access + * Grants assigns this ID when you register the location. S3 Access Grants assigns + * the ID default to the default location s3:// and + * assigns an auto-generated ID to other locations that you register.

    + */ + inline void SetAccessGrantsLocationId(const Aws::String& value) { m_accessGrantsLocationId = value; } + + /** + *

    The ID of the registered location to which you are granting access. S3 Access + * Grants assigns this ID when you register the location. S3 Access Grants assigns + * the ID default to the default location s3:// and + * assigns an auto-generated ID to other locations that you register.

    + */ + inline void SetAccessGrantsLocationId(Aws::String&& value) { m_accessGrantsLocationId = std::move(value); } + + /** + *

    The ID of the registered location to which you are granting access. S3 Access + * Grants assigns this ID when you register the location. S3 Access Grants assigns + * the ID default to the default location s3:// and + * assigns an auto-generated ID to other locations that you register.

    + */ + inline void SetAccessGrantsLocationId(const char* value) { m_accessGrantsLocationId.assign(value); } + + /** + *

    The ID of the registered location to which you are granting access. S3 Access + * Grants assigns this ID when you register the location. S3 Access Grants assigns + * the ID default to the default location s3:// and + * assigns an auto-generated ID to other locations that you register.

    + */ + inline CreateAccessGrantsLocationResult& WithAccessGrantsLocationId(const Aws::String& value) { SetAccessGrantsLocationId(value); return *this;} + + /** + *

    The ID of the registered location to which you are granting access. S3 Access + * Grants assigns this ID when you register the location. S3 Access Grants assigns + * the ID default to the default location s3:// and + * assigns an auto-generated ID to other locations that you register.

    + */ + inline CreateAccessGrantsLocationResult& WithAccessGrantsLocationId(Aws::String&& value) { SetAccessGrantsLocationId(std::move(value)); return *this;} + + /** + *

    The ID of the registered location to which you are granting access. S3 Access + * Grants assigns this ID when you register the location. S3 Access Grants assigns + * the ID default to the default location s3:// and + * assigns an auto-generated ID to other locations that you register.

    + */ + inline CreateAccessGrantsLocationResult& WithAccessGrantsLocationId(const char* value) { SetAccessGrantsLocationId(value); return *this;} + + + /** + *

    The Amazon Resource Name (ARN) of the location you are registering.

    + */ + inline const Aws::String& GetAccessGrantsLocationArn() const{ return m_accessGrantsLocationArn; } + + /** + *

    The Amazon Resource Name (ARN) of the location you are registering.

    + */ + inline void SetAccessGrantsLocationArn(const Aws::String& value) { m_accessGrantsLocationArn = value; } + + /** + *

    The Amazon Resource Name (ARN) of the location you are registering.

    + */ + inline void SetAccessGrantsLocationArn(Aws::String&& value) { m_accessGrantsLocationArn = std::move(value); } + + /** + *

    The Amazon Resource Name (ARN) of the location you are registering.

    + */ + inline void SetAccessGrantsLocationArn(const char* value) { m_accessGrantsLocationArn.assign(value); } + + /** + *

    The Amazon Resource Name (ARN) of the location you are registering.

    + */ + inline CreateAccessGrantsLocationResult& WithAccessGrantsLocationArn(const Aws::String& value) { SetAccessGrantsLocationArn(value); return *this;} + + /** + *

    The Amazon Resource Name (ARN) of the location you are registering.

    + */ + inline CreateAccessGrantsLocationResult& WithAccessGrantsLocationArn(Aws::String&& value) { SetAccessGrantsLocationArn(std::move(value)); return *this;} + + /** + *

    The Amazon Resource Name (ARN) of the location you are registering.

    + */ + inline CreateAccessGrantsLocationResult& WithAccessGrantsLocationArn(const char* value) { SetAccessGrantsLocationArn(value); return *this;} + + + /** + *

    The S3 URI path to the location that you are registering. The location scope + * can be the default S3 location s3://, the S3 path to a bucket, or + * the S3 path to a bucket and prefix. A prefix in S3 is a string of characters at + * the beginning of an object key name used to organize the objects that you store + * in your S3 buckets. For example, object key names that start with the + * engineering/ prefix or object key names that start with the + * marketing/campaigns/ prefix.

    + */ + inline const Aws::String& GetLocationScope() const{ return m_locationScope; } + + /** + *

    The S3 URI path to the location that you are registering. The location scope + * can be the default S3 location s3://, the S3 path to a bucket, or + * the S3 path to a bucket and prefix. A prefix in S3 is a string of characters at + * the beginning of an object key name used to organize the objects that you store + * in your S3 buckets. For example, object key names that start with the + * engineering/ prefix or object key names that start with the + * marketing/campaigns/ prefix.

    + */ + inline void SetLocationScope(const Aws::String& value) { m_locationScope = value; } + + /** + *

    The S3 URI path to the location that you are registering. The location scope + * can be the default S3 location s3://, the S3 path to a bucket, or + * the S3 path to a bucket and prefix. A prefix in S3 is a string of characters at + * the beginning of an object key name used to organize the objects that you store + * in your S3 buckets. For example, object key names that start with the + * engineering/ prefix or object key names that start with the + * marketing/campaigns/ prefix.

    + */ + inline void SetLocationScope(Aws::String&& value) { m_locationScope = std::move(value); } + + /** + *

    The S3 URI path to the location that you are registering. The location scope + * can be the default S3 location s3://, the S3 path to a bucket, or + * the S3 path to a bucket and prefix. A prefix in S3 is a string of characters at + * the beginning of an object key name used to organize the objects that you store + * in your S3 buckets. For example, object key names that start with the + * engineering/ prefix or object key names that start with the + * marketing/campaigns/ prefix.

    + */ + inline void SetLocationScope(const char* value) { m_locationScope.assign(value); } + + /** + *

    The S3 URI path to the location that you are registering. The location scope + * can be the default S3 location s3://, the S3 path to a bucket, or + * the S3 path to a bucket and prefix. A prefix in S3 is a string of characters at + * the beginning of an object key name used to organize the objects that you store + * in your S3 buckets. For example, object key names that start with the + * engineering/ prefix or object key names that start with the + * marketing/campaigns/ prefix.

    + */ + inline CreateAccessGrantsLocationResult& WithLocationScope(const Aws::String& value) { SetLocationScope(value); return *this;} + + /** + *

    The S3 URI path to the location that you are registering. The location scope + * can be the default S3 location s3://, the S3 path to a bucket, or + * the S3 path to a bucket and prefix. A prefix in S3 is a string of characters at + * the beginning of an object key name used to organize the objects that you store + * in your S3 buckets. For example, object key names that start with the + * engineering/ prefix or object key names that start with the + * marketing/campaigns/ prefix.

    + */ + inline CreateAccessGrantsLocationResult& WithLocationScope(Aws::String&& value) { SetLocationScope(std::move(value)); return *this;} + + /** + *

    The S3 URI path to the location that you are registering. The location scope + * can be the default S3 location s3://, the S3 path to a bucket, or + * the S3 path to a bucket and prefix. A prefix in S3 is a string of characters at + * the beginning of an object key name used to organize the objects that you store + * in your S3 buckets. For example, object key names that start with the + * engineering/ prefix or object key names that start with the + * marketing/campaigns/ prefix.

    + */ + inline CreateAccessGrantsLocationResult& WithLocationScope(const char* value) { SetLocationScope(value); return *this;} + + + /** + *

    The Amazon Resource Name (ARN) of the IAM role for the registered location. + * S3 Access Grants assumes this role to manage access to the registered location. + *

    + */ + inline const Aws::String& GetIAMRoleArn() const{ return m_iAMRoleArn; } + + /** + *

    The Amazon Resource Name (ARN) of the IAM role for the registered location. + * S3 Access Grants assumes this role to manage access to the registered location. + *

    + */ + inline void SetIAMRoleArn(const Aws::String& value) { m_iAMRoleArn = value; } + + /** + *

    The Amazon Resource Name (ARN) of the IAM role for the registered location. + * S3 Access Grants assumes this role to manage access to the registered location. + *

    + */ + inline void SetIAMRoleArn(Aws::String&& value) { m_iAMRoleArn = std::move(value); } + + /** + *

    The Amazon Resource Name (ARN) of the IAM role for the registered location. + * S3 Access Grants assumes this role to manage access to the registered location. + *

    + */ + inline void SetIAMRoleArn(const char* value) { m_iAMRoleArn.assign(value); } + + /** + *

    The Amazon Resource Name (ARN) of the IAM role for the registered location. + * S3 Access Grants assumes this role to manage access to the registered location. + *

    + */ + inline CreateAccessGrantsLocationResult& WithIAMRoleArn(const Aws::String& value) { SetIAMRoleArn(value); return *this;} + + /** + *

    The Amazon Resource Name (ARN) of the IAM role for the registered location. + * S3 Access Grants assumes this role to manage access to the registered location. + *

    + */ + inline CreateAccessGrantsLocationResult& WithIAMRoleArn(Aws::String&& value) { SetIAMRoleArn(std::move(value)); return *this;} + + /** + *

    The Amazon Resource Name (ARN) of the IAM role for the registered location. + * S3 Access Grants assumes this role to manage access to the registered location. + *

    + */ + inline CreateAccessGrantsLocationResult& WithIAMRoleArn(const char* value) { SetIAMRoleArn(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 CreateAccessGrantsLocationResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline CreateAccessGrantsLocationResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline CreateAccessGrantsLocationResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::Utils::DateTime m_createdAt; + + Aws::String m_accessGrantsLocationId; + + Aws::String m_accessGrantsLocationArn; + + Aws::String m_locationScope; + + Aws::String m_iAMRoleArn; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace S3Control +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/Credentials.h b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/Credentials.h new file mode 100644 index 00000000000..1538749f643 --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/Credentials.h @@ -0,0 +1,243 @@ +/** + * 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 S3Control +{ +namespace Model +{ + + /** + *

    The Amazon Web Services Security Token Service temporary credential that S3 + * Access Grants vends to grantees and client applications.

    See + * Also:

    AWS + * API Reference

    + */ + class Credentials + { + public: + AWS_S3CONTROL_API Credentials(); + AWS_S3CONTROL_API Credentials(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3CONTROL_API Credentials& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_S3CONTROL_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + *

    The unique access key ID of the Amazon Web Services STS temporary credential + * that S3 Access Grants vends to grantees and client applications.

    + */ + inline const Aws::String& GetAccessKeyId() const{ return m_accessKeyId; } + + /** + *

    The unique access key ID of the Amazon Web Services STS temporary credential + * that S3 Access Grants vends to grantees and client applications.

    + */ + inline bool AccessKeyIdHasBeenSet() const { return m_accessKeyIdHasBeenSet; } + + /** + *

    The unique access key ID of the Amazon Web Services STS temporary credential + * that S3 Access Grants vends to grantees and client applications.

    + */ + inline void SetAccessKeyId(const Aws::String& value) { m_accessKeyIdHasBeenSet = true; m_accessKeyId = value; } + + /** + *

    The unique access key ID of the Amazon Web Services STS temporary credential + * that S3 Access Grants vends to grantees and client applications.

    + */ + inline void SetAccessKeyId(Aws::String&& value) { m_accessKeyIdHasBeenSet = true; m_accessKeyId = std::move(value); } + + /** + *

    The unique access key ID of the Amazon Web Services STS temporary credential + * that S3 Access Grants vends to grantees and client applications.

    + */ + inline void SetAccessKeyId(const char* value) { m_accessKeyIdHasBeenSet = true; m_accessKeyId.assign(value); } + + /** + *

    The unique access key ID of the Amazon Web Services STS temporary credential + * that S3 Access Grants vends to grantees and client applications.

    + */ + inline Credentials& WithAccessKeyId(const Aws::String& value) { SetAccessKeyId(value); return *this;} + + /** + *

    The unique access key ID of the Amazon Web Services STS temporary credential + * that S3 Access Grants vends to grantees and client applications.

    + */ + inline Credentials& WithAccessKeyId(Aws::String&& value) { SetAccessKeyId(std::move(value)); return *this;} + + /** + *

    The unique access key ID of the Amazon Web Services STS temporary credential + * that S3 Access Grants vends to grantees and client applications.

    + */ + inline Credentials& WithAccessKeyId(const char* value) { SetAccessKeyId(value); return *this;} + + + /** + *

    The secret access key of the Amazon Web Services STS temporary credential + * that S3 Access Grants vends to grantees and client applications.

    + */ + inline const Aws::String& GetSecretAccessKey() const{ return m_secretAccessKey; } + + /** + *

    The secret access key of the Amazon Web Services STS temporary credential + * that S3 Access Grants vends to grantees and client applications.

    + */ + inline bool SecretAccessKeyHasBeenSet() const { return m_secretAccessKeyHasBeenSet; } + + /** + *

    The secret access key of the Amazon Web Services STS temporary credential + * that S3 Access Grants vends to grantees and client applications.

    + */ + inline void SetSecretAccessKey(const Aws::String& value) { m_secretAccessKeyHasBeenSet = true; m_secretAccessKey = value; } + + /** + *

    The secret access key of the Amazon Web Services STS temporary credential + * that S3 Access Grants vends to grantees and client applications.

    + */ + inline void SetSecretAccessKey(Aws::String&& value) { m_secretAccessKeyHasBeenSet = true; m_secretAccessKey = std::move(value); } + + /** + *

    The secret access key of the Amazon Web Services STS temporary credential + * that S3 Access Grants vends to grantees and client applications.

    + */ + inline void SetSecretAccessKey(const char* value) { m_secretAccessKeyHasBeenSet = true; m_secretAccessKey.assign(value); } + + /** + *

    The secret access key of the Amazon Web Services STS temporary credential + * that S3 Access Grants vends to grantees and client applications.

    + */ + inline Credentials& WithSecretAccessKey(const Aws::String& value) { SetSecretAccessKey(value); return *this;} + + /** + *

    The secret access key of the Amazon Web Services STS temporary credential + * that S3 Access Grants vends to grantees and client applications.

    + */ + inline Credentials& WithSecretAccessKey(Aws::String&& value) { SetSecretAccessKey(std::move(value)); return *this;} + + /** + *

    The secret access key of the Amazon Web Services STS temporary credential + * that S3 Access Grants vends to grantees and client applications.

    + */ + inline Credentials& WithSecretAccessKey(const char* value) { SetSecretAccessKey(value); return *this;} + + + /** + *

    The Amazon Web Services STS temporary credential that S3 Access Grants vends + * to grantees and client applications.

    + */ + inline const Aws::String& GetSessionToken() const{ return m_sessionToken; } + + /** + *

    The Amazon Web Services STS temporary credential that S3 Access Grants vends + * to grantees and client applications.

    + */ + inline bool SessionTokenHasBeenSet() const { return m_sessionTokenHasBeenSet; } + + /** + *

    The Amazon Web Services STS temporary credential that S3 Access Grants vends + * to grantees and client applications.

    + */ + inline void SetSessionToken(const Aws::String& value) { m_sessionTokenHasBeenSet = true; m_sessionToken = value; } + + /** + *

    The Amazon Web Services STS temporary credential that S3 Access Grants vends + * to grantees and client applications.

    + */ + inline void SetSessionToken(Aws::String&& value) { m_sessionTokenHasBeenSet = true; m_sessionToken = std::move(value); } + + /** + *

    The Amazon Web Services STS temporary credential that S3 Access Grants vends + * to grantees and client applications.

    + */ + inline void SetSessionToken(const char* value) { m_sessionTokenHasBeenSet = true; m_sessionToken.assign(value); } + + /** + *

    The Amazon Web Services STS temporary credential that S3 Access Grants vends + * to grantees and client applications.

    + */ + inline Credentials& WithSessionToken(const Aws::String& value) { SetSessionToken(value); return *this;} + + /** + *

    The Amazon Web Services STS temporary credential that S3 Access Grants vends + * to grantees and client applications.

    + */ + inline Credentials& WithSessionToken(Aws::String&& value) { SetSessionToken(std::move(value)); return *this;} + + /** + *

    The Amazon Web Services STS temporary credential that S3 Access Grants vends + * to grantees and client applications.

    + */ + inline Credentials& WithSessionToken(const char* value) { SetSessionToken(value); return *this;} + + + /** + *

    The expiration date and time of the temporary credential that S3 Access + * Grants vends to grantees and client applications.

    + */ + inline const Aws::Utils::DateTime& GetExpiration() const{ return m_expiration; } + + /** + *

    The expiration date and time of the temporary credential that S3 Access + * Grants vends to grantees and client applications.

    + */ + inline bool ExpirationHasBeenSet() const { return m_expirationHasBeenSet; } + + /** + *

    The expiration date and time of the temporary credential that S3 Access + * Grants vends to grantees and client applications.

    + */ + inline void SetExpiration(const Aws::Utils::DateTime& value) { m_expirationHasBeenSet = true; m_expiration = value; } + + /** + *

    The expiration date and time of the temporary credential that S3 Access + * Grants vends to grantees and client applications.

    + */ + inline void SetExpiration(Aws::Utils::DateTime&& value) { m_expirationHasBeenSet = true; m_expiration = std::move(value); } + + /** + *

    The expiration date and time of the temporary credential that S3 Access + * Grants vends to grantees and client applications.

    + */ + inline Credentials& WithExpiration(const Aws::Utils::DateTime& value) { SetExpiration(value); return *this;} + + /** + *

    The expiration date and time of the temporary credential that S3 Access + * Grants vends to grantees and client applications.

    + */ + inline Credentials& WithExpiration(Aws::Utils::DateTime&& value) { SetExpiration(std::move(value)); return *this;} + + private: + + Aws::String m_accessKeyId; + bool m_accessKeyIdHasBeenSet = false; + + Aws::String m_secretAccessKey; + bool m_secretAccessKeyHasBeenSet = false; + + Aws::String m_sessionToken; + bool m_sessionTokenHasBeenSet = false; + + Aws::Utils::DateTime m_expiration; + bool m_expirationHasBeenSet = false; + }; + +} // namespace Model +} // namespace S3Control +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/DeleteAccessGrantRequest.h b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/DeleteAccessGrantRequest.h new file mode 100644 index 00000000000..afe389761ae --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/DeleteAccessGrantRequest.h @@ -0,0 +1,143 @@ +/** + * 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 S3Control +{ +namespace Model +{ + + /** + */ + class DeleteAccessGrantRequest : public S3ControlRequest + { + public: + AWS_S3CONTROL_API DeleteAccessGrantRequest(); + + // 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 "DeleteAccessGrant"; } + + AWS_S3CONTROL_API Aws::String SerializePayload() const override; + + AWS_S3CONTROL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + AWS_S3CONTROL_API inline bool ShouldComputeContentMd5() const override { return true; } + + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3CONTROL_API EndpointParameters GetEndpointContextParams() const override; + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline const Aws::String& GetAccountId() const{ return m_accountId; } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline DeleteAccessGrantRequest& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;} + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline DeleteAccessGrantRequest& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;} + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline DeleteAccessGrantRequest& WithAccountId(const char* value) { SetAccountId(value); return *this;} + + + /** + *

    The ID of the access grant. S3 Access Grants auto-generates this ID when you + * create the access grant.

    + */ + inline const Aws::String& GetAccessGrantId() const{ return m_accessGrantId; } + + /** + *

    The ID of the access grant. S3 Access Grants auto-generates this ID when you + * create the access grant.

    + */ + inline bool AccessGrantIdHasBeenSet() const { return m_accessGrantIdHasBeenSet; } + + /** + *

    The ID of the access grant. S3 Access Grants auto-generates this ID when you + * create the access grant.

    + */ + inline void SetAccessGrantId(const Aws::String& value) { m_accessGrantIdHasBeenSet = true; m_accessGrantId = value; } + + /** + *

    The ID of the access grant. S3 Access Grants auto-generates this ID when you + * create the access grant.

    + */ + inline void SetAccessGrantId(Aws::String&& value) { m_accessGrantIdHasBeenSet = true; m_accessGrantId = std::move(value); } + + /** + *

    The ID of the access grant. S3 Access Grants auto-generates this ID when you + * create the access grant.

    + */ + inline void SetAccessGrantId(const char* value) { m_accessGrantIdHasBeenSet = true; m_accessGrantId.assign(value); } + + /** + *

    The ID of the access grant. S3 Access Grants auto-generates this ID when you + * create the access grant.

    + */ + inline DeleteAccessGrantRequest& WithAccessGrantId(const Aws::String& value) { SetAccessGrantId(value); return *this;} + + /** + *

    The ID of the access grant. S3 Access Grants auto-generates this ID when you + * create the access grant.

    + */ + inline DeleteAccessGrantRequest& WithAccessGrantId(Aws::String&& value) { SetAccessGrantId(std::move(value)); return *this;} + + /** + *

    The ID of the access grant. S3 Access Grants auto-generates this ID when you + * create the access grant.

    + */ + inline DeleteAccessGrantRequest& WithAccessGrantId(const char* value) { SetAccessGrantId(value); return *this;} + + private: + + Aws::String m_accountId; + bool m_accountIdHasBeenSet = false; + + Aws::String m_accessGrantId; + bool m_accessGrantIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace S3Control +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/DeleteAccessGrantsInstanceRequest.h b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/DeleteAccessGrantsInstanceRequest.h new file mode 100644 index 00000000000..0d02404583f --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/DeleteAccessGrantsInstanceRequest.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 S3Control +{ +namespace Model +{ + + /** + */ + class DeleteAccessGrantsInstanceRequest : public S3ControlRequest + { + public: + AWS_S3CONTROL_API DeleteAccessGrantsInstanceRequest(); + + // 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 "DeleteAccessGrantsInstance"; } + + AWS_S3CONTROL_API Aws::String SerializePayload() const override; + + AWS_S3CONTROL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + AWS_S3CONTROL_API inline bool ShouldComputeContentMd5() const override { return true; } + + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3CONTROL_API EndpointParameters GetEndpointContextParams() const override; + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline const Aws::String& GetAccountId() const{ return m_accountId; } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline DeleteAccessGrantsInstanceRequest& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;} + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline DeleteAccessGrantsInstanceRequest& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;} + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline DeleteAccessGrantsInstanceRequest& WithAccountId(const char* value) { SetAccountId(value); return *this;} + + private: + + Aws::String m_accountId; + bool m_accountIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace S3Control +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/DeleteAccessGrantsInstanceResourcePolicyRequest.h b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/DeleteAccessGrantsInstanceResourcePolicyRequest.h new file mode 100644 index 00000000000..5ddddb75c38 --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/DeleteAccessGrantsInstanceResourcePolicyRequest.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 S3Control +{ +namespace Model +{ + + /** + */ + class DeleteAccessGrantsInstanceResourcePolicyRequest : public S3ControlRequest + { + public: + AWS_S3CONTROL_API DeleteAccessGrantsInstanceResourcePolicyRequest(); + + // 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 "DeleteAccessGrantsInstanceResourcePolicy"; } + + AWS_S3CONTROL_API Aws::String SerializePayload() const override; + + AWS_S3CONTROL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + AWS_S3CONTROL_API inline bool ShouldComputeContentMd5() const override { return true; } + + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3CONTROL_API EndpointParameters GetEndpointContextParams() const override; + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline const Aws::String& GetAccountId() const{ return m_accountId; } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline DeleteAccessGrantsInstanceResourcePolicyRequest& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;} + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline DeleteAccessGrantsInstanceResourcePolicyRequest& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;} + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline DeleteAccessGrantsInstanceResourcePolicyRequest& WithAccountId(const char* value) { SetAccountId(value); return *this;} + + private: + + Aws::String m_accountId; + bool m_accountIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace S3Control +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/DeleteAccessGrantsLocationRequest.h b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/DeleteAccessGrantsLocationRequest.h new file mode 100644 index 00000000000..3ae87980b28 --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/DeleteAccessGrantsLocationRequest.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 + +namespace Aws +{ +namespace S3Control +{ +namespace Model +{ + + /** + */ + class DeleteAccessGrantsLocationRequest : public S3ControlRequest + { + public: + AWS_S3CONTROL_API DeleteAccessGrantsLocationRequest(); + + // 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 "DeleteAccessGrantsLocation"; } + + AWS_S3CONTROL_API Aws::String SerializePayload() const override; + + AWS_S3CONTROL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + AWS_S3CONTROL_API inline bool ShouldComputeContentMd5() const override { return true; } + + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3CONTROL_API EndpointParameters GetEndpointContextParams() const override; + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline const Aws::String& GetAccountId() const{ return m_accountId; } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline DeleteAccessGrantsLocationRequest& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;} + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline DeleteAccessGrantsLocationRequest& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;} + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline DeleteAccessGrantsLocationRequest& WithAccountId(const char* value) { SetAccountId(value); return *this;} + + + /** + *

    The ID of the registered location that you are deregistering from your S3 + * Access Grants instance. S3 Access Grants assigned this ID when you registered + * the location. S3 Access Grants assigns the ID default to the + * default location s3:// and assigns an auto-generated ID to other + * locations that you register.

    + */ + inline const Aws::String& GetAccessGrantsLocationId() const{ return m_accessGrantsLocationId; } + + /** + *

    The ID of the registered location that you are deregistering from your S3 + * Access Grants instance. S3 Access Grants assigned this ID when you registered + * the location. S3 Access Grants assigns the ID default to the + * default location s3:// and assigns an auto-generated ID to other + * locations that you register.

    + */ + inline bool AccessGrantsLocationIdHasBeenSet() const { return m_accessGrantsLocationIdHasBeenSet; } + + /** + *

    The ID of the registered location that you are deregistering from your S3 + * Access Grants instance. S3 Access Grants assigned this ID when you registered + * the location. S3 Access Grants assigns the ID default to the + * default location s3:// and assigns an auto-generated ID to other + * locations that you register.

    + */ + inline void SetAccessGrantsLocationId(const Aws::String& value) { m_accessGrantsLocationIdHasBeenSet = true; m_accessGrantsLocationId = value; } + + /** + *

    The ID of the registered location that you are deregistering from your S3 + * Access Grants instance. S3 Access Grants assigned this ID when you registered + * the location. S3 Access Grants assigns the ID default to the + * default location s3:// and assigns an auto-generated ID to other + * locations that you register.

    + */ + inline void SetAccessGrantsLocationId(Aws::String&& value) { m_accessGrantsLocationIdHasBeenSet = true; m_accessGrantsLocationId = std::move(value); } + + /** + *

    The ID of the registered location that you are deregistering from your S3 + * Access Grants instance. S3 Access Grants assigned this ID when you registered + * the location. S3 Access Grants assigns the ID default to the + * default location s3:// and assigns an auto-generated ID to other + * locations that you register.

    + */ + inline void SetAccessGrantsLocationId(const char* value) { m_accessGrantsLocationIdHasBeenSet = true; m_accessGrantsLocationId.assign(value); } + + /** + *

    The ID of the registered location that you are deregistering from your S3 + * Access Grants instance. S3 Access Grants assigned this ID when you registered + * the location. S3 Access Grants assigns the ID default to the + * default location s3:// and assigns an auto-generated ID to other + * locations that you register.

    + */ + inline DeleteAccessGrantsLocationRequest& WithAccessGrantsLocationId(const Aws::String& value) { SetAccessGrantsLocationId(value); return *this;} + + /** + *

    The ID of the registered location that you are deregistering from your S3 + * Access Grants instance. S3 Access Grants assigned this ID when you registered + * the location. S3 Access Grants assigns the ID default to the + * default location s3:// and assigns an auto-generated ID to other + * locations that you register.

    + */ + inline DeleteAccessGrantsLocationRequest& WithAccessGrantsLocationId(Aws::String&& value) { SetAccessGrantsLocationId(std::move(value)); return *this;} + + /** + *

    The ID of the registered location that you are deregistering from your S3 + * Access Grants instance. S3 Access Grants assigned this ID when you registered + * the location. S3 Access Grants assigns the ID default to the + * default location s3:// and assigns an auto-generated ID to other + * locations that you register.

    + */ + inline DeleteAccessGrantsLocationRequest& WithAccessGrantsLocationId(const char* value) { SetAccessGrantsLocationId(value); return *this;} + + private: + + Aws::String m_accountId; + bool m_accountIdHasBeenSet = false; + + Aws::String m_accessGrantsLocationId; + bool m_accessGrantsLocationIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace S3Control +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/DissociateAccessGrantsIdentityCenterRequest.h b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/DissociateAccessGrantsIdentityCenterRequest.h new file mode 100644 index 00000000000..d2f3e6400e6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/DissociateAccessGrantsIdentityCenterRequest.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 S3Control +{ +namespace Model +{ + + /** + */ + class DissociateAccessGrantsIdentityCenterRequest : public S3ControlRequest + { + public: + AWS_S3CONTROL_API DissociateAccessGrantsIdentityCenterRequest(); + + // 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 "DissociateAccessGrantsIdentityCenter"; } + + AWS_S3CONTROL_API Aws::String SerializePayload() const override; + + AWS_S3CONTROL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + AWS_S3CONTROL_API inline bool ShouldComputeContentMd5() const override { return true; } + + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3CONTROL_API EndpointParameters GetEndpointContextParams() const override; + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline const Aws::String& GetAccountId() const{ return m_accountId; } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline DissociateAccessGrantsIdentityCenterRequest& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;} + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline DissociateAccessGrantsIdentityCenterRequest& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;} + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline DissociateAccessGrantsIdentityCenterRequest& WithAccountId(const char* value) { SetAccountId(value); return *this;} + + private: + + Aws::String m_accountId; + bool m_accountIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace S3Control +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/GetAccessGrantRequest.h b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/GetAccessGrantRequest.h new file mode 100644 index 00000000000..9dd44c94b28 --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/GetAccessGrantRequest.h @@ -0,0 +1,143 @@ +/** + * 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 S3Control +{ +namespace Model +{ + + /** + */ + class GetAccessGrantRequest : public S3ControlRequest + { + public: + AWS_S3CONTROL_API GetAccessGrantRequest(); + + // 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 "GetAccessGrant"; } + + AWS_S3CONTROL_API Aws::String SerializePayload() const override; + + AWS_S3CONTROL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + AWS_S3CONTROL_API inline bool ShouldComputeContentMd5() const override { return true; } + + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3CONTROL_API EndpointParameters GetEndpointContextParams() const override; + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline const Aws::String& GetAccountId() const{ return m_accountId; } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline GetAccessGrantRequest& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;} + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline GetAccessGrantRequest& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;} + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline GetAccessGrantRequest& WithAccountId(const char* value) { SetAccountId(value); return *this;} + + + /** + *

    The ID of the access grant. S3 Access Grants auto-generates this ID when you + * create the access grant.

    + */ + inline const Aws::String& GetAccessGrantId() const{ return m_accessGrantId; } + + /** + *

    The ID of the access grant. S3 Access Grants auto-generates this ID when you + * create the access grant.

    + */ + inline bool AccessGrantIdHasBeenSet() const { return m_accessGrantIdHasBeenSet; } + + /** + *

    The ID of the access grant. S3 Access Grants auto-generates this ID when you + * create the access grant.

    + */ + inline void SetAccessGrantId(const Aws::String& value) { m_accessGrantIdHasBeenSet = true; m_accessGrantId = value; } + + /** + *

    The ID of the access grant. S3 Access Grants auto-generates this ID when you + * create the access grant.

    + */ + inline void SetAccessGrantId(Aws::String&& value) { m_accessGrantIdHasBeenSet = true; m_accessGrantId = std::move(value); } + + /** + *

    The ID of the access grant. S3 Access Grants auto-generates this ID when you + * create the access grant.

    + */ + inline void SetAccessGrantId(const char* value) { m_accessGrantIdHasBeenSet = true; m_accessGrantId.assign(value); } + + /** + *

    The ID of the access grant. S3 Access Grants auto-generates this ID when you + * create the access grant.

    + */ + inline GetAccessGrantRequest& WithAccessGrantId(const Aws::String& value) { SetAccessGrantId(value); return *this;} + + /** + *

    The ID of the access grant. S3 Access Grants auto-generates this ID when you + * create the access grant.

    + */ + inline GetAccessGrantRequest& WithAccessGrantId(Aws::String&& value) { SetAccessGrantId(std::move(value)); return *this;} + + /** + *

    The ID of the access grant. S3 Access Grants auto-generates this ID when you + * create the access grant.

    + */ + inline GetAccessGrantRequest& WithAccessGrantId(const char* value) { SetAccessGrantId(value); return *this;} + + private: + + Aws::String m_accountId; + bool m_accountIdHasBeenSet = false; + + Aws::String m_accessGrantId; + bool m_accessGrantIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace S3Control +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/GetAccessGrantResult.h b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/GetAccessGrantResult.h new file mode 100644 index 00000000000..87f84da3db4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/GetAccessGrantResult.h @@ -0,0 +1,470 @@ +/** + * 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 S3Control +{ +namespace Model +{ + class GetAccessGrantResult + { + public: + AWS_S3CONTROL_API GetAccessGrantResult(); + AWS_S3CONTROL_API GetAccessGrantResult(const Aws::AmazonWebServiceResult& result); + AWS_S3CONTROL_API GetAccessGrantResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

    The date and time when you created the access grant.

    + */ + inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } + + /** + *

    The date and time when you created the access grant.

    + */ + inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAt = value; } + + /** + *

    The date and time when you created the access grant.

    + */ + inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAt = std::move(value); } + + /** + *

    The date and time when you created the access grant.

    + */ + inline GetAccessGrantResult& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} + + /** + *

    The date and time when you created the access grant.

    + */ + inline GetAccessGrantResult& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} + + + /** + *

    The ID of the access grant. S3 Access Grants auto-generates this ID when you + * create the access grant.

    + */ + inline const Aws::String& GetAccessGrantId() const{ return m_accessGrantId; } + + /** + *

    The ID of the access grant. S3 Access Grants auto-generates this ID when you + * create the access grant.

    + */ + inline void SetAccessGrantId(const Aws::String& value) { m_accessGrantId = value; } + + /** + *

    The ID of the access grant. S3 Access Grants auto-generates this ID when you + * create the access grant.

    + */ + inline void SetAccessGrantId(Aws::String&& value) { m_accessGrantId = std::move(value); } + + /** + *

    The ID of the access grant. S3 Access Grants auto-generates this ID when you + * create the access grant.

    + */ + inline void SetAccessGrantId(const char* value) { m_accessGrantId.assign(value); } + + /** + *

    The ID of the access grant. S3 Access Grants auto-generates this ID when you + * create the access grant.

    + */ + inline GetAccessGrantResult& WithAccessGrantId(const Aws::String& value) { SetAccessGrantId(value); return *this;} + + /** + *

    The ID of the access grant. S3 Access Grants auto-generates this ID when you + * create the access grant.

    + */ + inline GetAccessGrantResult& WithAccessGrantId(Aws::String&& value) { SetAccessGrantId(std::move(value)); return *this;} + + /** + *

    The ID of the access grant. S3 Access Grants auto-generates this ID when you + * create the access grant.

    + */ + inline GetAccessGrantResult& WithAccessGrantId(const char* value) { SetAccessGrantId(value); return *this;} + + + /** + *

    The Amazon Resource Name (ARN) of the access grant.

    + */ + inline const Aws::String& GetAccessGrantArn() const{ return m_accessGrantArn; } + + /** + *

    The Amazon Resource Name (ARN) of the access grant.

    + */ + inline void SetAccessGrantArn(const Aws::String& value) { m_accessGrantArn = value; } + + /** + *

    The Amazon Resource Name (ARN) of the access grant.

    + */ + inline void SetAccessGrantArn(Aws::String&& value) { m_accessGrantArn = std::move(value); } + + /** + *

    The Amazon Resource Name (ARN) of the access grant.

    + */ + inline void SetAccessGrantArn(const char* value) { m_accessGrantArn.assign(value); } + + /** + *

    The Amazon Resource Name (ARN) of the access grant.

    + */ + inline GetAccessGrantResult& WithAccessGrantArn(const Aws::String& value) { SetAccessGrantArn(value); return *this;} + + /** + *

    The Amazon Resource Name (ARN) of the access grant.

    + */ + inline GetAccessGrantResult& WithAccessGrantArn(Aws::String&& value) { SetAccessGrantArn(std::move(value)); return *this;} + + /** + *

    The Amazon Resource Name (ARN) of the access grant.

    + */ + inline GetAccessGrantResult& WithAccessGrantArn(const char* value) { SetAccessGrantArn(value); return *this;} + + + /** + *

    The user, group, or role to which you are granting access. You can grant + * access to an IAM user or role. If you have added a corporate directory to Amazon + * Web Services IAM Identity Center and associated this Identity Center instance + * with the S3 Access Grants instance, the grantee can also be a corporate + * directory user or group.

    + */ + inline const Grantee& GetGrantee() const{ return m_grantee; } + + /** + *

    The user, group, or role to which you are granting access. You can grant + * access to an IAM user or role. If you have added a corporate directory to Amazon + * Web Services IAM Identity Center and associated this Identity Center instance + * with the S3 Access Grants instance, the grantee can also be a corporate + * directory user or group.

    + */ + inline void SetGrantee(const Grantee& value) { m_grantee = value; } + + /** + *

    The user, group, or role to which you are granting access. You can grant + * access to an IAM user or role. If you have added a corporate directory to Amazon + * Web Services IAM Identity Center and associated this Identity Center instance + * with the S3 Access Grants instance, the grantee can also be a corporate + * directory user or group.

    + */ + inline void SetGrantee(Grantee&& value) { m_grantee = std::move(value); } + + /** + *

    The user, group, or role to which you are granting access. You can grant + * access to an IAM user or role. If you have added a corporate directory to Amazon + * Web Services IAM Identity Center and associated this Identity Center instance + * with the S3 Access Grants instance, the grantee can also be a corporate + * directory user or group.

    + */ + inline GetAccessGrantResult& WithGrantee(const Grantee& value) { SetGrantee(value); return *this;} + + /** + *

    The user, group, or role to which you are granting access. You can grant + * access to an IAM user or role. If you have added a corporate directory to Amazon + * Web Services IAM Identity Center and associated this Identity Center instance + * with the S3 Access Grants instance, the grantee can also be a corporate + * directory user or group.

    + */ + inline GetAccessGrantResult& WithGrantee(Grantee&& value) { SetGrantee(std::move(value)); return *this;} + + + /** + *

    The type of permission that was granted in the access grant. Can be one of + * the following values:

    • READ – Grant read-only + * access to the S3 data.

    • WRITE – Grant write-only + * access to the S3 data.

    • READWRITE – Grant both + * read and write access to the S3 data.

    + */ + inline const Permission& GetPermission() const{ return m_permission; } + + /** + *

    The type of permission that was granted in the access grant. Can be one of + * the following values:

    • READ – Grant read-only + * access to the S3 data.

    • WRITE – Grant write-only + * access to the S3 data.

    • READWRITE – Grant both + * read and write access to the S3 data.

    + */ + inline void SetPermission(const Permission& value) { m_permission = value; } + + /** + *

    The type of permission that was granted in the access grant. Can be one of + * the following values:

    • READ – Grant read-only + * access to the S3 data.

    • WRITE – Grant write-only + * access to the S3 data.

    • READWRITE – Grant both + * read and write access to the S3 data.

    + */ + inline void SetPermission(Permission&& value) { m_permission = std::move(value); } + + /** + *

    The type of permission that was granted in the access grant. Can be one of + * the following values:

    • READ – Grant read-only + * access to the S3 data.

    • WRITE – Grant write-only + * access to the S3 data.

    • READWRITE – Grant both + * read and write access to the S3 data.

    + */ + inline GetAccessGrantResult& WithPermission(const Permission& value) { SetPermission(value); return *this;} + + /** + *

    The type of permission that was granted in the access grant. Can be one of + * the following values:

    • READ – Grant read-only + * access to the S3 data.

    • WRITE – Grant write-only + * access to the S3 data.

    • READWRITE – Grant both + * read and write access to the S3 data.

    + */ + inline GetAccessGrantResult& WithPermission(Permission&& value) { SetPermission(std::move(value)); return *this;} + + + /** + *

    The ID of the registered location to which you are granting access. S3 Access + * Grants assigns this ID when you register the location. S3 Access Grants assigns + * the ID default to the default location s3:// and + * assigns an auto-generated ID to other locations that you register.

    + */ + inline const Aws::String& GetAccessGrantsLocationId() const{ return m_accessGrantsLocationId; } + + /** + *

    The ID of the registered location to which you are granting access. S3 Access + * Grants assigns this ID when you register the location. S3 Access Grants assigns + * the ID default to the default location s3:// and + * assigns an auto-generated ID to other locations that you register.

    + */ + inline void SetAccessGrantsLocationId(const Aws::String& value) { m_accessGrantsLocationId = value; } + + /** + *

    The ID of the registered location to which you are granting access. S3 Access + * Grants assigns this ID when you register the location. S3 Access Grants assigns + * the ID default to the default location s3:// and + * assigns an auto-generated ID to other locations that you register.

    + */ + inline void SetAccessGrantsLocationId(Aws::String&& value) { m_accessGrantsLocationId = std::move(value); } + + /** + *

    The ID of the registered location to which you are granting access. S3 Access + * Grants assigns this ID when you register the location. S3 Access Grants assigns + * the ID default to the default location s3:// and + * assigns an auto-generated ID to other locations that you register.

    + */ + inline void SetAccessGrantsLocationId(const char* value) { m_accessGrantsLocationId.assign(value); } + + /** + *

    The ID of the registered location to which you are granting access. S3 Access + * Grants assigns this ID when you register the location. S3 Access Grants assigns + * the ID default to the default location s3:// and + * assigns an auto-generated ID to other locations that you register.

    + */ + inline GetAccessGrantResult& WithAccessGrantsLocationId(const Aws::String& value) { SetAccessGrantsLocationId(value); return *this;} + + /** + *

    The ID of the registered location to which you are granting access. S3 Access + * Grants assigns this ID when you register the location. S3 Access Grants assigns + * the ID default to the default location s3:// and + * assigns an auto-generated ID to other locations that you register.

    + */ + inline GetAccessGrantResult& WithAccessGrantsLocationId(Aws::String&& value) { SetAccessGrantsLocationId(std::move(value)); return *this;} + + /** + *

    The ID of the registered location to which you are granting access. S3 Access + * Grants assigns this ID when you register the location. S3 Access Grants assigns + * the ID default to the default location s3:// and + * assigns an auto-generated ID to other locations that you register.

    + */ + inline GetAccessGrantResult& WithAccessGrantsLocationId(const char* value) { SetAccessGrantsLocationId(value); return *this;} + + + /** + *

    The configuration options of the grant location. The grant location is the S3 + * path to the data to which you are granting access.

    + */ + inline const AccessGrantsLocationConfiguration& GetAccessGrantsLocationConfiguration() const{ return m_accessGrantsLocationConfiguration; } + + /** + *

    The configuration options of the grant location. The grant location is the S3 + * path to the data to which you are granting access.

    + */ + inline void SetAccessGrantsLocationConfiguration(const AccessGrantsLocationConfiguration& value) { m_accessGrantsLocationConfiguration = value; } + + /** + *

    The configuration options of the grant location. The grant location is the S3 + * path to the data to which you are granting access.

    + */ + inline void SetAccessGrantsLocationConfiguration(AccessGrantsLocationConfiguration&& value) { m_accessGrantsLocationConfiguration = std::move(value); } + + /** + *

    The configuration options of the grant location. The grant location is the S3 + * path to the data to which you are granting access.

    + */ + inline GetAccessGrantResult& WithAccessGrantsLocationConfiguration(const AccessGrantsLocationConfiguration& value) { SetAccessGrantsLocationConfiguration(value); return *this;} + + /** + *

    The configuration options of the grant location. The grant location is the S3 + * path to the data to which you are granting access.

    + */ + inline GetAccessGrantResult& WithAccessGrantsLocationConfiguration(AccessGrantsLocationConfiguration&& value) { SetAccessGrantsLocationConfiguration(std::move(value)); return *this;} + + + /** + *

    The S3 path of the data to which you are granting access. It is the result of + * appending the Subprefix to the location scope.

    + */ + inline const Aws::String& GetGrantScope() const{ return m_grantScope; } + + /** + *

    The S3 path of the data to which you are granting access. It is the result of + * appending the Subprefix to the location scope.

    + */ + inline void SetGrantScope(const Aws::String& value) { m_grantScope = value; } + + /** + *

    The S3 path of the data to which you are granting access. It is the result of + * appending the Subprefix to the location scope.

    + */ + inline void SetGrantScope(Aws::String&& value) { m_grantScope = std::move(value); } + + /** + *

    The S3 path of the data to which you are granting access. It is the result of + * appending the Subprefix to the location scope.

    + */ + inline void SetGrantScope(const char* value) { m_grantScope.assign(value); } + + /** + *

    The S3 path of the data to which you are granting access. It is the result of + * appending the Subprefix to the location scope.

    + */ + inline GetAccessGrantResult& WithGrantScope(const Aws::String& value) { SetGrantScope(value); return *this;} + + /** + *

    The S3 path of the data to which you are granting access. It is the result of + * appending the Subprefix to the location scope.

    + */ + inline GetAccessGrantResult& WithGrantScope(Aws::String&& value) { SetGrantScope(std::move(value)); return *this;} + + /** + *

    The S3 path of the data to which you are granting access. It is the result of + * appending the Subprefix to the location scope.

    + */ + inline GetAccessGrantResult& WithGrantScope(const char* value) { SetGrantScope(value); return *this;} + + + /** + *

    The Amazon Resource Name (ARN) of an Amazon Web Services IAM Identity Center + * application associated with your Identity Center instance. If the grant includes + * an application ARN, the grantee can only access the S3 data through this + * application.

    + */ + inline const Aws::String& GetApplicationArn() const{ return m_applicationArn; } + + /** + *

    The Amazon Resource Name (ARN) of an Amazon Web Services IAM Identity Center + * application associated with your Identity Center instance. If the grant includes + * an application ARN, the grantee can only access the S3 data through this + * application.

    + */ + inline void SetApplicationArn(const Aws::String& value) { m_applicationArn = value; } + + /** + *

    The Amazon Resource Name (ARN) of an Amazon Web Services IAM Identity Center + * application associated with your Identity Center instance. If the grant includes + * an application ARN, the grantee can only access the S3 data through this + * application.

    + */ + inline void SetApplicationArn(Aws::String&& value) { m_applicationArn = std::move(value); } + + /** + *

    The Amazon Resource Name (ARN) of an Amazon Web Services IAM Identity Center + * application associated with your Identity Center instance. If the grant includes + * an application ARN, the grantee can only access the S3 data through this + * application.

    + */ + inline void SetApplicationArn(const char* value) { m_applicationArn.assign(value); } + + /** + *

    The Amazon Resource Name (ARN) of an Amazon Web Services IAM Identity Center + * application associated with your Identity Center instance. If the grant includes + * an application ARN, the grantee can only access the S3 data through this + * application.

    + */ + inline GetAccessGrantResult& WithApplicationArn(const Aws::String& value) { SetApplicationArn(value); return *this;} + + /** + *

    The Amazon Resource Name (ARN) of an Amazon Web Services IAM Identity Center + * application associated with your Identity Center instance. If the grant includes + * an application ARN, the grantee can only access the S3 data through this + * application.

    + */ + inline GetAccessGrantResult& WithApplicationArn(Aws::String&& value) { SetApplicationArn(std::move(value)); return *this;} + + /** + *

    The Amazon Resource Name (ARN) of an Amazon Web Services IAM Identity Center + * application associated with your Identity Center instance. If the grant includes + * an application ARN, the grantee can only access the S3 data through this + * application.

    + */ + inline GetAccessGrantResult& WithApplicationArn(const char* value) { SetApplicationArn(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 GetAccessGrantResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline GetAccessGrantResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline GetAccessGrantResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::Utils::DateTime m_createdAt; + + Aws::String m_accessGrantId; + + Aws::String m_accessGrantArn; + + Grantee m_grantee; + + Permission m_permission; + + Aws::String m_accessGrantsLocationId; + + AccessGrantsLocationConfiguration m_accessGrantsLocationConfiguration; + + Aws::String m_grantScope; + + Aws::String m_applicationArn; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace S3Control +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/GetAccessGrantsInstanceForPrefixRequest.h b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/GetAccessGrantsInstanceForPrefixRequest.h new file mode 100644 index 00000000000..d69c7bbc0e3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/GetAccessGrantsInstanceForPrefixRequest.h @@ -0,0 +1,141 @@ +/** + * 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 S3Control +{ +namespace Model +{ + + /** + */ + class GetAccessGrantsInstanceForPrefixRequest : public S3ControlRequest + { + public: + AWS_S3CONTROL_API GetAccessGrantsInstanceForPrefixRequest(); + + // 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 "GetAccessGrantsInstanceForPrefix"; } + + AWS_S3CONTROL_API Aws::String SerializePayload() const override; + + AWS_S3CONTROL_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + AWS_S3CONTROL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + AWS_S3CONTROL_API inline bool ShouldComputeContentMd5() const override { return true; } + + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3CONTROL_API EndpointParameters GetEndpointContextParams() const override; + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline const Aws::String& GetAccountId() const{ return m_accountId; } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline GetAccessGrantsInstanceForPrefixRequest& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;} + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline GetAccessGrantsInstanceForPrefixRequest& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;} + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline GetAccessGrantsInstanceForPrefixRequest& WithAccountId(const char* value) { SetAccountId(value); return *this;} + + + /** + *

    The S3 prefix of the access grants that you would like to retrieve.

    + */ + inline const Aws::String& GetS3Prefix() const{ return m_s3Prefix; } + + /** + *

    The S3 prefix of the access grants that you would like to retrieve.

    + */ + inline bool S3PrefixHasBeenSet() const { return m_s3PrefixHasBeenSet; } + + /** + *

    The S3 prefix of the access grants that you would like to retrieve.

    + */ + inline void SetS3Prefix(const Aws::String& value) { m_s3PrefixHasBeenSet = true; m_s3Prefix = value; } + + /** + *

    The S3 prefix of the access grants that you would like to retrieve.

    + */ + inline void SetS3Prefix(Aws::String&& value) { m_s3PrefixHasBeenSet = true; m_s3Prefix = std::move(value); } + + /** + *

    The S3 prefix of the access grants that you would like to retrieve.

    + */ + inline void SetS3Prefix(const char* value) { m_s3PrefixHasBeenSet = true; m_s3Prefix.assign(value); } + + /** + *

    The S3 prefix of the access grants that you would like to retrieve.

    + */ + inline GetAccessGrantsInstanceForPrefixRequest& WithS3Prefix(const Aws::String& value) { SetS3Prefix(value); return *this;} + + /** + *

    The S3 prefix of the access grants that you would like to retrieve.

    + */ + inline GetAccessGrantsInstanceForPrefixRequest& WithS3Prefix(Aws::String&& value) { SetS3Prefix(std::move(value)); return *this;} + + /** + *

    The S3 prefix of the access grants that you would like to retrieve.

    + */ + inline GetAccessGrantsInstanceForPrefixRequest& WithS3Prefix(const char* value) { SetS3Prefix(value); return *this;} + + private: + + Aws::String m_accountId; + bool m_accountIdHasBeenSet = false; + + Aws::String m_s3Prefix; + bool m_s3PrefixHasBeenSet = false; + }; + +} // namespace Model +} // namespace S3Control +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/GetAccessGrantsInstanceForPrefixResult.h b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/GetAccessGrantsInstanceForPrefixResult.h new file mode 100644 index 00000000000..e17f82a8066 --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/GetAccessGrantsInstanceForPrefixResult.h @@ -0,0 +1,146 @@ +/** + * 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 S3Control +{ +namespace Model +{ + class GetAccessGrantsInstanceForPrefixResult + { + public: + AWS_S3CONTROL_API GetAccessGrantsInstanceForPrefixResult(); + AWS_S3CONTROL_API GetAccessGrantsInstanceForPrefixResult(const Aws::AmazonWebServiceResult& result); + AWS_S3CONTROL_API GetAccessGrantsInstanceForPrefixResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

    The Amazon Resource Name (ARN) of the S3 Access Grants instance.

    + */ + inline const Aws::String& GetAccessGrantsInstanceArn() const{ return m_accessGrantsInstanceArn; } + + /** + *

    The Amazon Resource Name (ARN) of the S3 Access Grants instance.

    + */ + inline void SetAccessGrantsInstanceArn(const Aws::String& value) { m_accessGrantsInstanceArn = value; } + + /** + *

    The Amazon Resource Name (ARN) of the S3 Access Grants instance.

    + */ + inline void SetAccessGrantsInstanceArn(Aws::String&& value) { m_accessGrantsInstanceArn = std::move(value); } + + /** + *

    The Amazon Resource Name (ARN) of the S3 Access Grants instance.

    + */ + inline void SetAccessGrantsInstanceArn(const char* value) { m_accessGrantsInstanceArn.assign(value); } + + /** + *

    The Amazon Resource Name (ARN) of the S3 Access Grants instance.

    + */ + inline GetAccessGrantsInstanceForPrefixResult& WithAccessGrantsInstanceArn(const Aws::String& value) { SetAccessGrantsInstanceArn(value); return *this;} + + /** + *

    The Amazon Resource Name (ARN) of the S3 Access Grants instance.

    + */ + inline GetAccessGrantsInstanceForPrefixResult& WithAccessGrantsInstanceArn(Aws::String&& value) { SetAccessGrantsInstanceArn(std::move(value)); return *this;} + + /** + *

    The Amazon Resource Name (ARN) of the S3 Access Grants instance.

    + */ + inline GetAccessGrantsInstanceForPrefixResult& WithAccessGrantsInstanceArn(const char* value) { SetAccessGrantsInstanceArn(value); return *this;} + + + /** + *

    The ID of the S3 Access Grants instance. The ID is default. You + * can have one S3 Access Grants instance per Region per account.

    + */ + inline const Aws::String& GetAccessGrantsInstanceId() const{ return m_accessGrantsInstanceId; } + + /** + *

    The ID of the S3 Access Grants instance. The ID is default. You + * can have one S3 Access Grants instance per Region per account.

    + */ + inline void SetAccessGrantsInstanceId(const Aws::String& value) { m_accessGrantsInstanceId = value; } + + /** + *

    The ID of the S3 Access Grants instance. The ID is default. You + * can have one S3 Access Grants instance per Region per account.

    + */ + inline void SetAccessGrantsInstanceId(Aws::String&& value) { m_accessGrantsInstanceId = std::move(value); } + + /** + *

    The ID of the S3 Access Grants instance. The ID is default. You + * can have one S3 Access Grants instance per Region per account.

    + */ + inline void SetAccessGrantsInstanceId(const char* value) { m_accessGrantsInstanceId.assign(value); } + + /** + *

    The ID of the S3 Access Grants instance. The ID is default. You + * can have one S3 Access Grants instance per Region per account.

    + */ + inline GetAccessGrantsInstanceForPrefixResult& WithAccessGrantsInstanceId(const Aws::String& value) { SetAccessGrantsInstanceId(value); return *this;} + + /** + *

    The ID of the S3 Access Grants instance. The ID is default. You + * can have one S3 Access Grants instance per Region per account.

    + */ + inline GetAccessGrantsInstanceForPrefixResult& WithAccessGrantsInstanceId(Aws::String&& value) { SetAccessGrantsInstanceId(std::move(value)); return *this;} + + /** + *

    The ID of the S3 Access Grants instance. The ID is default. You + * can have one S3 Access Grants instance per Region per account.

    + */ + inline GetAccessGrantsInstanceForPrefixResult& WithAccessGrantsInstanceId(const char* value) { SetAccessGrantsInstanceId(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 GetAccessGrantsInstanceForPrefixResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline GetAccessGrantsInstanceForPrefixResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline GetAccessGrantsInstanceForPrefixResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::String m_accessGrantsInstanceArn; + + Aws::String m_accessGrantsInstanceId; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace S3Control +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/GetAccessGrantsInstanceRequest.h b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/GetAccessGrantsInstanceRequest.h new file mode 100644 index 00000000000..ca5d2d323d5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/GetAccessGrantsInstanceRequest.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 S3Control +{ +namespace Model +{ + + /** + */ + class GetAccessGrantsInstanceRequest : public S3ControlRequest + { + public: + AWS_S3CONTROL_API GetAccessGrantsInstanceRequest(); + + // 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 "GetAccessGrantsInstance"; } + + AWS_S3CONTROL_API Aws::String SerializePayload() const override; + + AWS_S3CONTROL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + AWS_S3CONTROL_API inline bool ShouldComputeContentMd5() const override { return true; } + + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3CONTROL_API EndpointParameters GetEndpointContextParams() const override; + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline const Aws::String& GetAccountId() const{ return m_accountId; } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline GetAccessGrantsInstanceRequest& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;} + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline GetAccessGrantsInstanceRequest& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;} + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline GetAccessGrantsInstanceRequest& WithAccountId(const char* value) { SetAccountId(value); return *this;} + + private: + + Aws::String m_accountId; + bool m_accountIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace S3Control +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/GetAccessGrantsInstanceResourcePolicyRequest.h b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/GetAccessGrantsInstanceResourcePolicyRequest.h new file mode 100644 index 00000000000..57374785d50 --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/GetAccessGrantsInstanceResourcePolicyRequest.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 S3Control +{ +namespace Model +{ + + /** + */ + class GetAccessGrantsInstanceResourcePolicyRequest : public S3ControlRequest + { + public: + AWS_S3CONTROL_API GetAccessGrantsInstanceResourcePolicyRequest(); + + // 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 "GetAccessGrantsInstanceResourcePolicy"; } + + AWS_S3CONTROL_API Aws::String SerializePayload() const override; + + AWS_S3CONTROL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + AWS_S3CONTROL_API inline bool ShouldComputeContentMd5() const override { return true; } + + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3CONTROL_API EndpointParameters GetEndpointContextParams() const override; + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline const Aws::String& GetAccountId() const{ return m_accountId; } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline GetAccessGrantsInstanceResourcePolicyRequest& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;} + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline GetAccessGrantsInstanceResourcePolicyRequest& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;} + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline GetAccessGrantsInstanceResourcePolicyRequest& WithAccountId(const char* value) { SetAccountId(value); return *this;} + + private: + + Aws::String m_accountId; + bool m_accountIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace S3Control +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/GetAccessGrantsInstanceResourcePolicyResult.h b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/GetAccessGrantsInstanceResourcePolicyResult.h new file mode 100644 index 00000000000..50f223abe3b --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/GetAccessGrantsInstanceResourcePolicyResult.h @@ -0,0 +1,173 @@ +/** + * 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 S3Control +{ +namespace Model +{ + class GetAccessGrantsInstanceResourcePolicyResult + { + public: + AWS_S3CONTROL_API GetAccessGrantsInstanceResourcePolicyResult(); + AWS_S3CONTROL_API GetAccessGrantsInstanceResourcePolicyResult(const Aws::AmazonWebServiceResult& result); + AWS_S3CONTROL_API GetAccessGrantsInstanceResourcePolicyResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

    The resource policy of the S3 Access Grants instance.

    + */ + inline const Aws::String& GetPolicy() const{ return m_policy; } + + /** + *

    The resource policy of the S3 Access Grants instance.

    + */ + inline void SetPolicy(const Aws::String& value) { m_policy = value; } + + /** + *

    The resource policy of the S3 Access Grants instance.

    + */ + inline void SetPolicy(Aws::String&& value) { m_policy = std::move(value); } + + /** + *

    The resource policy of the S3 Access Grants instance.

    + */ + inline void SetPolicy(const char* value) { m_policy.assign(value); } + + /** + *

    The resource policy of the S3 Access Grants instance.

    + */ + inline GetAccessGrantsInstanceResourcePolicyResult& WithPolicy(const Aws::String& value) { SetPolicy(value); return *this;} + + /** + *

    The resource policy of the S3 Access Grants instance.

    + */ + inline GetAccessGrantsInstanceResourcePolicyResult& WithPolicy(Aws::String&& value) { SetPolicy(std::move(value)); return *this;} + + /** + *

    The resource policy of the S3 Access Grants instance.

    + */ + inline GetAccessGrantsInstanceResourcePolicyResult& WithPolicy(const char* value) { SetPolicy(value); return *this;} + + + /** + *

    The Organization of the resource policy of the S3 Access Grants instance.

    + */ + inline const Aws::String& GetOrganization() const{ return m_organization; } + + /** + *

    The Organization of the resource policy of the S3 Access Grants instance.

    + */ + inline void SetOrganization(const Aws::String& value) { m_organization = value; } + + /** + *

    The Organization of the resource policy of the S3 Access Grants instance.

    + */ + inline void SetOrganization(Aws::String&& value) { m_organization = std::move(value); } + + /** + *

    The Organization of the resource policy of the S3 Access Grants instance.

    + */ + inline void SetOrganization(const char* value) { m_organization.assign(value); } + + /** + *

    The Organization of the resource policy of the S3 Access Grants instance.

    + */ + inline GetAccessGrantsInstanceResourcePolicyResult& WithOrganization(const Aws::String& value) { SetOrganization(value); return *this;} + + /** + *

    The Organization of the resource policy of the S3 Access Grants instance.

    + */ + inline GetAccessGrantsInstanceResourcePolicyResult& WithOrganization(Aws::String&& value) { SetOrganization(std::move(value)); return *this;} + + /** + *

    The Organization of the resource policy of the S3 Access Grants instance.

    + */ + inline GetAccessGrantsInstanceResourcePolicyResult& WithOrganization(const char* value) { SetOrganization(value); return *this;} + + + /** + *

    The date and time when you created the S3 Access Grants instance resource + * policy.

    + */ + inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } + + /** + *

    The date and time when you created the S3 Access Grants instance resource + * policy.

    + */ + inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAt = value; } + + /** + *

    The date and time when you created the S3 Access Grants instance resource + * policy.

    + */ + inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAt = std::move(value); } + + /** + *

    The date and time when you created the S3 Access Grants instance resource + * policy.

    + */ + inline GetAccessGrantsInstanceResourcePolicyResult& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} + + /** + *

    The date and time when you created the S3 Access Grants instance resource + * policy.

    + */ + inline GetAccessGrantsInstanceResourcePolicyResult& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(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 GetAccessGrantsInstanceResourcePolicyResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline GetAccessGrantsInstanceResourcePolicyResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline GetAccessGrantsInstanceResourcePolicyResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::String m_policy; + + Aws::String m_organization; + + Aws::Utils::DateTime m_createdAt; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace S3Control +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/GetAccessGrantsInstanceResult.h b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/GetAccessGrantsInstanceResult.h new file mode 100644 index 00000000000..d5c3a81c56c --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/GetAccessGrantsInstanceResult.h @@ -0,0 +1,248 @@ +/** + * 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 S3Control +{ +namespace Model +{ + class GetAccessGrantsInstanceResult + { + public: + AWS_S3CONTROL_API GetAccessGrantsInstanceResult(); + AWS_S3CONTROL_API GetAccessGrantsInstanceResult(const Aws::AmazonWebServiceResult& result); + AWS_S3CONTROL_API GetAccessGrantsInstanceResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

    The Amazon Resource Name (ARN) of the S3 Access Grants instance.

    + */ + inline const Aws::String& GetAccessGrantsInstanceArn() const{ return m_accessGrantsInstanceArn; } + + /** + *

    The Amazon Resource Name (ARN) of the S3 Access Grants instance.

    + */ + inline void SetAccessGrantsInstanceArn(const Aws::String& value) { m_accessGrantsInstanceArn = value; } + + /** + *

    The Amazon Resource Name (ARN) of the S3 Access Grants instance.

    + */ + inline void SetAccessGrantsInstanceArn(Aws::String&& value) { m_accessGrantsInstanceArn = std::move(value); } + + /** + *

    The Amazon Resource Name (ARN) of the S3 Access Grants instance.

    + */ + inline void SetAccessGrantsInstanceArn(const char* value) { m_accessGrantsInstanceArn.assign(value); } + + /** + *

    The Amazon Resource Name (ARN) of the S3 Access Grants instance.

    + */ + inline GetAccessGrantsInstanceResult& WithAccessGrantsInstanceArn(const Aws::String& value) { SetAccessGrantsInstanceArn(value); return *this;} + + /** + *

    The Amazon Resource Name (ARN) of the S3 Access Grants instance.

    + */ + inline GetAccessGrantsInstanceResult& WithAccessGrantsInstanceArn(Aws::String&& value) { SetAccessGrantsInstanceArn(std::move(value)); return *this;} + + /** + *

    The Amazon Resource Name (ARN) of the S3 Access Grants instance.

    + */ + inline GetAccessGrantsInstanceResult& WithAccessGrantsInstanceArn(const char* value) { SetAccessGrantsInstanceArn(value); return *this;} + + + /** + *

    The ID of the S3 Access Grants instance. The ID is default. You + * can have one S3 Access Grants instance per Region per account.

    + */ + inline const Aws::String& GetAccessGrantsInstanceId() const{ return m_accessGrantsInstanceId; } + + /** + *

    The ID of the S3 Access Grants instance. The ID is default. You + * can have one S3 Access Grants instance per Region per account.

    + */ + inline void SetAccessGrantsInstanceId(const Aws::String& value) { m_accessGrantsInstanceId = value; } + + /** + *

    The ID of the S3 Access Grants instance. The ID is default. You + * can have one S3 Access Grants instance per Region per account.

    + */ + inline void SetAccessGrantsInstanceId(Aws::String&& value) { m_accessGrantsInstanceId = std::move(value); } + + /** + *

    The ID of the S3 Access Grants instance. The ID is default. You + * can have one S3 Access Grants instance per Region per account.

    + */ + inline void SetAccessGrantsInstanceId(const char* value) { m_accessGrantsInstanceId.assign(value); } + + /** + *

    The ID of the S3 Access Grants instance. The ID is default. You + * can have one S3 Access Grants instance per Region per account.

    + */ + inline GetAccessGrantsInstanceResult& WithAccessGrantsInstanceId(const Aws::String& value) { SetAccessGrantsInstanceId(value); return *this;} + + /** + *

    The ID of the S3 Access Grants instance. The ID is default. You + * can have one S3 Access Grants instance per Region per account.

    + */ + inline GetAccessGrantsInstanceResult& WithAccessGrantsInstanceId(Aws::String&& value) { SetAccessGrantsInstanceId(std::move(value)); return *this;} + + /** + *

    The ID of the S3 Access Grants instance. The ID is default. You + * can have one S3 Access Grants instance per Region per account.

    + */ + inline GetAccessGrantsInstanceResult& WithAccessGrantsInstanceId(const char* value) { SetAccessGrantsInstanceId(value); return *this;} + + + /** + *

    If you associated your S3 Access Grants instance with an Amazon Web Services + * IAM Identity Center instance, this field returns the Amazon Resource Name (ARN) + * of the Amazon Web Services IAM Identity Center instance application; a + * subresource of the original Identity Center instance. S3 Access Grants creates + * this Identity Center application for the specific S3 Access Grants instance. + *

    + */ + inline const Aws::String& GetIdentityCenterArn() const{ return m_identityCenterArn; } + + /** + *

    If you associated your S3 Access Grants instance with an Amazon Web Services + * IAM Identity Center instance, this field returns the Amazon Resource Name (ARN) + * of the Amazon Web Services IAM Identity Center instance application; a + * subresource of the original Identity Center instance. S3 Access Grants creates + * this Identity Center application for the specific S3 Access Grants instance. + *

    + */ + inline void SetIdentityCenterArn(const Aws::String& value) { m_identityCenterArn = value; } + + /** + *

    If you associated your S3 Access Grants instance with an Amazon Web Services + * IAM Identity Center instance, this field returns the Amazon Resource Name (ARN) + * of the Amazon Web Services IAM Identity Center instance application; a + * subresource of the original Identity Center instance. S3 Access Grants creates + * this Identity Center application for the specific S3 Access Grants instance. + *

    + */ + inline void SetIdentityCenterArn(Aws::String&& value) { m_identityCenterArn = std::move(value); } + + /** + *

    If you associated your S3 Access Grants instance with an Amazon Web Services + * IAM Identity Center instance, this field returns the Amazon Resource Name (ARN) + * of the Amazon Web Services IAM Identity Center instance application; a + * subresource of the original Identity Center instance. S3 Access Grants creates + * this Identity Center application for the specific S3 Access Grants instance. + *

    + */ + inline void SetIdentityCenterArn(const char* value) { m_identityCenterArn.assign(value); } + + /** + *

    If you associated your S3 Access Grants instance with an Amazon Web Services + * IAM Identity Center instance, this field returns the Amazon Resource Name (ARN) + * of the Amazon Web Services IAM Identity Center instance application; a + * subresource of the original Identity Center instance. S3 Access Grants creates + * this Identity Center application for the specific S3 Access Grants instance. + *

    + */ + inline GetAccessGrantsInstanceResult& WithIdentityCenterArn(const Aws::String& value) { SetIdentityCenterArn(value); return *this;} + + /** + *

    If you associated your S3 Access Grants instance with an Amazon Web Services + * IAM Identity Center instance, this field returns the Amazon Resource Name (ARN) + * of the Amazon Web Services IAM Identity Center instance application; a + * subresource of the original Identity Center instance. S3 Access Grants creates + * this Identity Center application for the specific S3 Access Grants instance. + *

    + */ + inline GetAccessGrantsInstanceResult& WithIdentityCenterArn(Aws::String&& value) { SetIdentityCenterArn(std::move(value)); return *this;} + + /** + *

    If you associated your S3 Access Grants instance with an Amazon Web Services + * IAM Identity Center instance, this field returns the Amazon Resource Name (ARN) + * of the Amazon Web Services IAM Identity Center instance application; a + * subresource of the original Identity Center instance. S3 Access Grants creates + * this Identity Center application for the specific S3 Access Grants instance. + *

    + */ + inline GetAccessGrantsInstanceResult& WithIdentityCenterArn(const char* value) { SetIdentityCenterArn(value); return *this;} + + + /** + *

    The date and time when you created the S3 Access Grants instance.

    + */ + inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } + + /** + *

    The date and time when you created the S3 Access Grants instance.

    + */ + inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAt = value; } + + /** + *

    The date and time when you created the S3 Access Grants instance.

    + */ + inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAt = std::move(value); } + + /** + *

    The date and time when you created the S3 Access Grants instance.

    + */ + inline GetAccessGrantsInstanceResult& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} + + /** + *

    The date and time when you created the S3 Access Grants instance.

    + */ + inline GetAccessGrantsInstanceResult& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(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 GetAccessGrantsInstanceResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline GetAccessGrantsInstanceResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline GetAccessGrantsInstanceResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::String m_accessGrantsInstanceArn; + + Aws::String m_accessGrantsInstanceId; + + Aws::String m_identityCenterArn; + + Aws::Utils::DateTime m_createdAt; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace S3Control +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/GetAccessGrantsLocationRequest.h b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/GetAccessGrantsLocationRequest.h new file mode 100644 index 00000000000..83d737c4829 --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/GetAccessGrantsLocationRequest.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 S3Control +{ +namespace Model +{ + + /** + */ + class GetAccessGrantsLocationRequest : public S3ControlRequest + { + public: + AWS_S3CONTROL_API GetAccessGrantsLocationRequest(); + + // 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 "GetAccessGrantsLocation"; } + + AWS_S3CONTROL_API Aws::String SerializePayload() const override; + + AWS_S3CONTROL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + AWS_S3CONTROL_API inline bool ShouldComputeContentMd5() const override { return true; } + + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3CONTROL_API EndpointParameters GetEndpointContextParams() const override; + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline const Aws::String& GetAccountId() const{ return m_accountId; } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline GetAccessGrantsLocationRequest& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;} + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline GetAccessGrantsLocationRequest& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;} + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline GetAccessGrantsLocationRequest& WithAccountId(const char* value) { SetAccountId(value); return *this;} + + + /** + *

    The ID of the registered location that you are retrieving. S3 Access Grants + * assigns this ID when you register the location. S3 Access Grants assigns the ID + * default to the default location s3:// and assigns an + * auto-generated ID to other locations that you register.

    + */ + inline const Aws::String& GetAccessGrantsLocationId() const{ return m_accessGrantsLocationId; } + + /** + *

    The ID of the registered location that you are retrieving. S3 Access Grants + * assigns this ID when you register the location. S3 Access Grants assigns the ID + * default to the default location s3:// and assigns an + * auto-generated ID to other locations that you register.

    + */ + inline bool AccessGrantsLocationIdHasBeenSet() const { return m_accessGrantsLocationIdHasBeenSet; } + + /** + *

    The ID of the registered location that you are retrieving. S3 Access Grants + * assigns this ID when you register the location. S3 Access Grants assigns the ID + * default to the default location s3:// and assigns an + * auto-generated ID to other locations that you register.

    + */ + inline void SetAccessGrantsLocationId(const Aws::String& value) { m_accessGrantsLocationIdHasBeenSet = true; m_accessGrantsLocationId = value; } + + /** + *

    The ID of the registered location that you are retrieving. S3 Access Grants + * assigns this ID when you register the location. S3 Access Grants assigns the ID + * default to the default location s3:// and assigns an + * auto-generated ID to other locations that you register.

    + */ + inline void SetAccessGrantsLocationId(Aws::String&& value) { m_accessGrantsLocationIdHasBeenSet = true; m_accessGrantsLocationId = std::move(value); } + + /** + *

    The ID of the registered location that you are retrieving. S3 Access Grants + * assigns this ID when you register the location. S3 Access Grants assigns the ID + * default to the default location s3:// and assigns an + * auto-generated ID to other locations that you register.

    + */ + inline void SetAccessGrantsLocationId(const char* value) { m_accessGrantsLocationIdHasBeenSet = true; m_accessGrantsLocationId.assign(value); } + + /** + *

    The ID of the registered location that you are retrieving. S3 Access Grants + * assigns this ID when you register the location. S3 Access Grants assigns the ID + * default to the default location s3:// and assigns an + * auto-generated ID to other locations that you register.

    + */ + inline GetAccessGrantsLocationRequest& WithAccessGrantsLocationId(const Aws::String& value) { SetAccessGrantsLocationId(value); return *this;} + + /** + *

    The ID of the registered location that you are retrieving. S3 Access Grants + * assigns this ID when you register the location. S3 Access Grants assigns the ID + * default to the default location s3:// and assigns an + * auto-generated ID to other locations that you register.

    + */ + inline GetAccessGrantsLocationRequest& WithAccessGrantsLocationId(Aws::String&& value) { SetAccessGrantsLocationId(std::move(value)); return *this;} + + /** + *

    The ID of the registered location that you are retrieving. S3 Access Grants + * assigns this ID when you register the location. S3 Access Grants assigns the ID + * default to the default location s3:// and assigns an + * auto-generated ID to other locations that you register.

    + */ + inline GetAccessGrantsLocationRequest& WithAccessGrantsLocationId(const char* value) { SetAccessGrantsLocationId(value); return *this;} + + private: + + Aws::String m_accountId; + bool m_accountIdHasBeenSet = false; + + Aws::String m_accessGrantsLocationId; + bool m_accessGrantsLocationIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace S3Control +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/GetAccessGrantsLocationResult.h b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/GetAccessGrantsLocationResult.h new file mode 100644 index 00000000000..d31962ae068 --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/GetAccessGrantsLocationResult.h @@ -0,0 +1,321 @@ +/** + * 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 S3Control +{ +namespace Model +{ + class GetAccessGrantsLocationResult + { + public: + AWS_S3CONTROL_API GetAccessGrantsLocationResult(); + AWS_S3CONTROL_API GetAccessGrantsLocationResult(const Aws::AmazonWebServiceResult& result); + AWS_S3CONTROL_API GetAccessGrantsLocationResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

    The date and time when you registered the location.

    + */ + inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } + + /** + *

    The date and time when you registered the location.

    + */ + inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAt = value; } + + /** + *

    The date and time when you registered the location.

    + */ + inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAt = std::move(value); } + + /** + *

    The date and time when you registered the location.

    + */ + inline GetAccessGrantsLocationResult& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} + + /** + *

    The date and time when you registered the location.

    + */ + inline GetAccessGrantsLocationResult& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} + + + /** + *

    The ID of the registered location to which you are granting access. S3 Access + * Grants assigns this ID when you register the location. S3 Access Grants assigns + * the ID default to the default location s3:// and + * assigns an auto-generated ID to other locations that you register.

    + */ + inline const Aws::String& GetAccessGrantsLocationId() const{ return m_accessGrantsLocationId; } + + /** + *

    The ID of the registered location to which you are granting access. S3 Access + * Grants assigns this ID when you register the location. S3 Access Grants assigns + * the ID default to the default location s3:// and + * assigns an auto-generated ID to other locations that you register.

    + */ + inline void SetAccessGrantsLocationId(const Aws::String& value) { m_accessGrantsLocationId = value; } + + /** + *

    The ID of the registered location to which you are granting access. S3 Access + * Grants assigns this ID when you register the location. S3 Access Grants assigns + * the ID default to the default location s3:// and + * assigns an auto-generated ID to other locations that you register.

    + */ + inline void SetAccessGrantsLocationId(Aws::String&& value) { m_accessGrantsLocationId = std::move(value); } + + /** + *

    The ID of the registered location to which you are granting access. S3 Access + * Grants assigns this ID when you register the location. S3 Access Grants assigns + * the ID default to the default location s3:// and + * assigns an auto-generated ID to other locations that you register.

    + */ + inline void SetAccessGrantsLocationId(const char* value) { m_accessGrantsLocationId.assign(value); } + + /** + *

    The ID of the registered location to which you are granting access. S3 Access + * Grants assigns this ID when you register the location. S3 Access Grants assigns + * the ID default to the default location s3:// and + * assigns an auto-generated ID to other locations that you register.

    + */ + inline GetAccessGrantsLocationResult& WithAccessGrantsLocationId(const Aws::String& value) { SetAccessGrantsLocationId(value); return *this;} + + /** + *

    The ID of the registered location to which you are granting access. S3 Access + * Grants assigns this ID when you register the location. S3 Access Grants assigns + * the ID default to the default location s3:// and + * assigns an auto-generated ID to other locations that you register.

    + */ + inline GetAccessGrantsLocationResult& WithAccessGrantsLocationId(Aws::String&& value) { SetAccessGrantsLocationId(std::move(value)); return *this;} + + /** + *

    The ID of the registered location to which you are granting access. S3 Access + * Grants assigns this ID when you register the location. S3 Access Grants assigns + * the ID default to the default location s3:// and + * assigns an auto-generated ID to other locations that you register.

    + */ + inline GetAccessGrantsLocationResult& WithAccessGrantsLocationId(const char* value) { SetAccessGrantsLocationId(value); return *this;} + + + /** + *

    The Amazon Resource Name (ARN) of the registered location.

    + */ + inline const Aws::String& GetAccessGrantsLocationArn() const{ return m_accessGrantsLocationArn; } + + /** + *

    The Amazon Resource Name (ARN) of the registered location.

    + */ + inline void SetAccessGrantsLocationArn(const Aws::String& value) { m_accessGrantsLocationArn = value; } + + /** + *

    The Amazon Resource Name (ARN) of the registered location.

    + */ + inline void SetAccessGrantsLocationArn(Aws::String&& value) { m_accessGrantsLocationArn = std::move(value); } + + /** + *

    The Amazon Resource Name (ARN) of the registered location.

    + */ + inline void SetAccessGrantsLocationArn(const char* value) { m_accessGrantsLocationArn.assign(value); } + + /** + *

    The Amazon Resource Name (ARN) of the registered location.

    + */ + inline GetAccessGrantsLocationResult& WithAccessGrantsLocationArn(const Aws::String& value) { SetAccessGrantsLocationArn(value); return *this;} + + /** + *

    The Amazon Resource Name (ARN) of the registered location.

    + */ + inline GetAccessGrantsLocationResult& WithAccessGrantsLocationArn(Aws::String&& value) { SetAccessGrantsLocationArn(std::move(value)); return *this;} + + /** + *

    The Amazon Resource Name (ARN) of the registered location.

    + */ + inline GetAccessGrantsLocationResult& WithAccessGrantsLocationArn(const char* value) { SetAccessGrantsLocationArn(value); return *this;} + + + /** + *

    The S3 URI path to the registered location. The location scope can be the + * default S3 location s3://, the S3 path to a bucket, or the S3 path + * to a bucket and prefix. A prefix in S3 is a string of characters at the + * beginning of an object key name used to organize the objects that you store in + * your S3 buckets. For example, object key names that start with the + * engineering/ prefix or object key names that start with the + * marketing/campaigns/ prefix.

    + */ + inline const Aws::String& GetLocationScope() const{ return m_locationScope; } + + /** + *

    The S3 URI path to the registered location. The location scope can be the + * default S3 location s3://, the S3 path to a bucket, or the S3 path + * to a bucket and prefix. A prefix in S3 is a string of characters at the + * beginning of an object key name used to organize the objects that you store in + * your S3 buckets. For example, object key names that start with the + * engineering/ prefix or object key names that start with the + * marketing/campaigns/ prefix.

    + */ + inline void SetLocationScope(const Aws::String& value) { m_locationScope = value; } + + /** + *

    The S3 URI path to the registered location. The location scope can be the + * default S3 location s3://, the S3 path to a bucket, or the S3 path + * to a bucket and prefix. A prefix in S3 is a string of characters at the + * beginning of an object key name used to organize the objects that you store in + * your S3 buckets. For example, object key names that start with the + * engineering/ prefix or object key names that start with the + * marketing/campaigns/ prefix.

    + */ + inline void SetLocationScope(Aws::String&& value) { m_locationScope = std::move(value); } + + /** + *

    The S3 URI path to the registered location. The location scope can be the + * default S3 location s3://, the S3 path to a bucket, or the S3 path + * to a bucket and prefix. A prefix in S3 is a string of characters at the + * beginning of an object key name used to organize the objects that you store in + * your S3 buckets. For example, object key names that start with the + * engineering/ prefix or object key names that start with the + * marketing/campaigns/ prefix.

    + */ + inline void SetLocationScope(const char* value) { m_locationScope.assign(value); } + + /** + *

    The S3 URI path to the registered location. The location scope can be the + * default S3 location s3://, the S3 path to a bucket, or the S3 path + * to a bucket and prefix. A prefix in S3 is a string of characters at the + * beginning of an object key name used to organize the objects that you store in + * your S3 buckets. For example, object key names that start with the + * engineering/ prefix or object key names that start with the + * marketing/campaigns/ prefix.

    + */ + inline GetAccessGrantsLocationResult& WithLocationScope(const Aws::String& value) { SetLocationScope(value); return *this;} + + /** + *

    The S3 URI path to the registered location. The location scope can be the + * default S3 location s3://, the S3 path to a bucket, or the S3 path + * to a bucket and prefix. A prefix in S3 is a string of characters at the + * beginning of an object key name used to organize the objects that you store in + * your S3 buckets. For example, object key names that start with the + * engineering/ prefix or object key names that start with the + * marketing/campaigns/ prefix.

    + */ + inline GetAccessGrantsLocationResult& WithLocationScope(Aws::String&& value) { SetLocationScope(std::move(value)); return *this;} + + /** + *

    The S3 URI path to the registered location. The location scope can be the + * default S3 location s3://, the S3 path to a bucket, or the S3 path + * to a bucket and prefix. A prefix in S3 is a string of characters at the + * beginning of an object key name used to organize the objects that you store in + * your S3 buckets. For example, object key names that start with the + * engineering/ prefix or object key names that start with the + * marketing/campaigns/ prefix.

    + */ + inline GetAccessGrantsLocationResult& WithLocationScope(const char* value) { SetLocationScope(value); return *this;} + + + /** + *

    The Amazon Resource Name (ARN) of the IAM role for the registered location. + * S3 Access Grants assumes this role to manage access to the registered location. + *

    + */ + inline const Aws::String& GetIAMRoleArn() const{ return m_iAMRoleArn; } + + /** + *

    The Amazon Resource Name (ARN) of the IAM role for the registered location. + * S3 Access Grants assumes this role to manage access to the registered location. + *

    + */ + inline void SetIAMRoleArn(const Aws::String& value) { m_iAMRoleArn = value; } + + /** + *

    The Amazon Resource Name (ARN) of the IAM role for the registered location. + * S3 Access Grants assumes this role to manage access to the registered location. + *

    + */ + inline void SetIAMRoleArn(Aws::String&& value) { m_iAMRoleArn = std::move(value); } + + /** + *

    The Amazon Resource Name (ARN) of the IAM role for the registered location. + * S3 Access Grants assumes this role to manage access to the registered location. + *

    + */ + inline void SetIAMRoleArn(const char* value) { m_iAMRoleArn.assign(value); } + + /** + *

    The Amazon Resource Name (ARN) of the IAM role for the registered location. + * S3 Access Grants assumes this role to manage access to the registered location. + *

    + */ + inline GetAccessGrantsLocationResult& WithIAMRoleArn(const Aws::String& value) { SetIAMRoleArn(value); return *this;} + + /** + *

    The Amazon Resource Name (ARN) of the IAM role for the registered location. + * S3 Access Grants assumes this role to manage access to the registered location. + *

    + */ + inline GetAccessGrantsLocationResult& WithIAMRoleArn(Aws::String&& value) { SetIAMRoleArn(std::move(value)); return *this;} + + /** + *

    The Amazon Resource Name (ARN) of the IAM role for the registered location. + * S3 Access Grants assumes this role to manage access to the registered location. + *

    + */ + inline GetAccessGrantsLocationResult& WithIAMRoleArn(const char* value) { SetIAMRoleArn(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 GetAccessGrantsLocationResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline GetAccessGrantsLocationResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline GetAccessGrantsLocationResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::Utils::DateTime m_createdAt; + + Aws::String m_accessGrantsLocationId; + + Aws::String m_accessGrantsLocationArn; + + Aws::String m_locationScope; + + Aws::String m_iAMRoleArn; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace S3Control +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/GetDataAccessRequest.h b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/GetDataAccessRequest.h new file mode 100644 index 00000000000..25e3972397c --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/GetDataAccessRequest.h @@ -0,0 +1,380 @@ +/** + * 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 S3Control +{ +namespace Model +{ + + /** + */ + class GetDataAccessRequest : public S3ControlRequest + { + public: + AWS_S3CONTROL_API GetDataAccessRequest(); + + // 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 "GetDataAccess"; } + + AWS_S3CONTROL_API Aws::String SerializePayload() const override; + + AWS_S3CONTROL_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + AWS_S3CONTROL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + AWS_S3CONTROL_API inline bool ShouldComputeContentMd5() const override { return true; } + + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3CONTROL_API EndpointParameters GetEndpointContextParams() const override; + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline const Aws::String& GetAccountId() const{ return m_accountId; } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline GetDataAccessRequest& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;} + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline GetDataAccessRequest& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;} + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline GetDataAccessRequest& WithAccountId(const char* value) { SetAccountId(value); return *this;} + + + /** + *

    The S3 URI path of the data to which you are requesting temporary access + * credentials. If the requesting account has an access grant for this data, S3 + * Access Grants vends temporary access credentials in the response.

    + */ + inline const Aws::String& GetTarget() const{ return m_target; } + + /** + *

    The S3 URI path of the data to which you are requesting temporary access + * credentials. If the requesting account has an access grant for this data, S3 + * Access Grants vends temporary access credentials in the response.

    + */ + inline bool TargetHasBeenSet() const { return m_targetHasBeenSet; } + + /** + *

    The S3 URI path of the data to which you are requesting temporary access + * credentials. If the requesting account has an access grant for this data, S3 + * Access Grants vends temporary access credentials in the response.

    + */ + inline void SetTarget(const Aws::String& value) { m_targetHasBeenSet = true; m_target = value; } + + /** + *

    The S3 URI path of the data to which you are requesting temporary access + * credentials. If the requesting account has an access grant for this data, S3 + * Access Grants vends temporary access credentials in the response.

    + */ + inline void SetTarget(Aws::String&& value) { m_targetHasBeenSet = true; m_target = std::move(value); } + + /** + *

    The S3 URI path of the data to which you are requesting temporary access + * credentials. If the requesting account has an access grant for this data, S3 + * Access Grants vends temporary access credentials in the response.

    + */ + inline void SetTarget(const char* value) { m_targetHasBeenSet = true; m_target.assign(value); } + + /** + *

    The S3 URI path of the data to which you are requesting temporary access + * credentials. If the requesting account has an access grant for this data, S3 + * Access Grants vends temporary access credentials in the response.

    + */ + inline GetDataAccessRequest& WithTarget(const Aws::String& value) { SetTarget(value); return *this;} + + /** + *

    The S3 URI path of the data to which you are requesting temporary access + * credentials. If the requesting account has an access grant for this data, S3 + * Access Grants vends temporary access credentials in the response.

    + */ + inline GetDataAccessRequest& WithTarget(Aws::String&& value) { SetTarget(std::move(value)); return *this;} + + /** + *

    The S3 URI path of the data to which you are requesting temporary access + * credentials. If the requesting account has an access grant for this data, S3 + * Access Grants vends temporary access credentials in the response.

    + */ + inline GetDataAccessRequest& WithTarget(const char* value) { SetTarget(value); return *this;} + + + /** + *

    The type of permission granted to your S3 data, which can be set to one of + * the following values:

    • READ – Grant read-only + * access to the S3 data.

    • WRITE – Grant write-only + * access to the S3 data.

    • READWRITE – Grant both + * read and write access to the S3 data.

    + */ + inline const Permission& GetPermission() const{ return m_permission; } + + /** + *

    The type of permission granted to your S3 data, which can be set to one of + * the following values:

    • READ – Grant read-only + * access to the S3 data.

    • WRITE – Grant write-only + * access to the S3 data.

    • READWRITE – Grant both + * read and write access to the S3 data.

    + */ + inline bool PermissionHasBeenSet() const { return m_permissionHasBeenSet; } + + /** + *

    The type of permission granted to your S3 data, which can be set to one of + * the following values:

    • READ – Grant read-only + * access to the S3 data.

    • WRITE – Grant write-only + * access to the S3 data.

    • READWRITE – Grant both + * read and write access to the S3 data.

    + */ + inline void SetPermission(const Permission& value) { m_permissionHasBeenSet = true; m_permission = value; } + + /** + *

    The type of permission granted to your S3 data, which can be set to one of + * the following values:

    • READ – Grant read-only + * access to the S3 data.

    • WRITE – Grant write-only + * access to the S3 data.

    • READWRITE – Grant both + * read and write access to the S3 data.

    + */ + inline void SetPermission(Permission&& value) { m_permissionHasBeenSet = true; m_permission = std::move(value); } + + /** + *

    The type of permission granted to your S3 data, which can be set to one of + * the following values:

    • READ – Grant read-only + * access to the S3 data.

    • WRITE – Grant write-only + * access to the S3 data.

    • READWRITE – Grant both + * read and write access to the S3 data.

    + */ + inline GetDataAccessRequest& WithPermission(const Permission& value) { SetPermission(value); return *this;} + + /** + *

    The type of permission granted to your S3 data, which can be set to one of + * the following values:

    • READ – Grant read-only + * access to the S3 data.

    • WRITE – Grant write-only + * access to the S3 data.

    • READWRITE – Grant both + * read and write access to the S3 data.

    + */ + inline GetDataAccessRequest& WithPermission(Permission&& value) { SetPermission(std::move(value)); return *this;} + + + /** + *

    The session duration, in seconds, of the temporary access credential that S3 + * Access Grants vends to the grantee or client application. The default value is 1 + * hour, but the grantee can specify a range from 900 seconds (15 minutes) up to + * 43200 seconds (12 hours). If the grantee requests a value higher than this + * maximum, the operation fails.

    + */ + inline int GetDurationSeconds() const{ return m_durationSeconds; } + + /** + *

    The session duration, in seconds, of the temporary access credential that S3 + * Access Grants vends to the grantee or client application. The default value is 1 + * hour, but the grantee can specify a range from 900 seconds (15 minutes) up to + * 43200 seconds (12 hours). If the grantee requests a value higher than this + * maximum, the operation fails.

    + */ + inline bool DurationSecondsHasBeenSet() const { return m_durationSecondsHasBeenSet; } + + /** + *

    The session duration, in seconds, of the temporary access credential that S3 + * Access Grants vends to the grantee or client application. The default value is 1 + * hour, but the grantee can specify a range from 900 seconds (15 minutes) up to + * 43200 seconds (12 hours). If the grantee requests a value higher than this + * maximum, the operation fails.

    + */ + inline void SetDurationSeconds(int value) { m_durationSecondsHasBeenSet = true; m_durationSeconds = value; } + + /** + *

    The session duration, in seconds, of the temporary access credential that S3 + * Access Grants vends to the grantee or client application. The default value is 1 + * hour, but the grantee can specify a range from 900 seconds (15 minutes) up to + * 43200 seconds (12 hours). If the grantee requests a value higher than this + * maximum, the operation fails.

    + */ + inline GetDataAccessRequest& WithDurationSeconds(int value) { SetDurationSeconds(value); return *this;} + + + /** + *

    The scope of the temporary access credential that S3 Access Grants vends to + * the grantee or client application.

    • Default – The + * scope of the returned temporary access token is the scope of the grant that is + * closest to the target scope.

    • Minimal – The scope + * of the returned temporary access token is the same as the requested target scope + * as long as the requested scope is the same as or a subset of the grant scope. + *

    + */ + inline const Privilege& GetPrivilege() const{ return m_privilege; } + + /** + *

    The scope of the temporary access credential that S3 Access Grants vends to + * the grantee or client application.

    • Default – The + * scope of the returned temporary access token is the scope of the grant that is + * closest to the target scope.

    • Minimal – The scope + * of the returned temporary access token is the same as the requested target scope + * as long as the requested scope is the same as or a subset of the grant scope. + *

    + */ + inline bool PrivilegeHasBeenSet() const { return m_privilegeHasBeenSet; } + + /** + *

    The scope of the temporary access credential that S3 Access Grants vends to + * the grantee or client application.

    • Default – The + * scope of the returned temporary access token is the scope of the grant that is + * closest to the target scope.

    • Minimal – The scope + * of the returned temporary access token is the same as the requested target scope + * as long as the requested scope is the same as or a subset of the grant scope. + *

    + */ + inline void SetPrivilege(const Privilege& value) { m_privilegeHasBeenSet = true; m_privilege = value; } + + /** + *

    The scope of the temporary access credential that S3 Access Grants vends to + * the grantee or client application.

    • Default – The + * scope of the returned temporary access token is the scope of the grant that is + * closest to the target scope.

    • Minimal – The scope + * of the returned temporary access token is the same as the requested target scope + * as long as the requested scope is the same as or a subset of the grant scope. + *

    + */ + inline void SetPrivilege(Privilege&& value) { m_privilegeHasBeenSet = true; m_privilege = std::move(value); } + + /** + *

    The scope of the temporary access credential that S3 Access Grants vends to + * the grantee or client application.

    • Default – The + * scope of the returned temporary access token is the scope of the grant that is + * closest to the target scope.

    • Minimal – The scope + * of the returned temporary access token is the same as the requested target scope + * as long as the requested scope is the same as or a subset of the grant scope. + *

    + */ + inline GetDataAccessRequest& WithPrivilege(const Privilege& value) { SetPrivilege(value); return *this;} + + /** + *

    The scope of the temporary access credential that S3 Access Grants vends to + * the grantee or client application.

    • Default – The + * scope of the returned temporary access token is the scope of the grant that is + * closest to the target scope.

    • Minimal – The scope + * of the returned temporary access token is the same as the requested target scope + * as long as the requested scope is the same as or a subset of the grant scope. + *

    + */ + inline GetDataAccessRequest& WithPrivilege(Privilege&& value) { SetPrivilege(std::move(value)); return *this;} + + + /** + *

    The type of Target. The only possible value is + * Object. Pass this value if the target data that you would like to + * access is a path to an object. Do not pass this value if the target data is a + * bucket or a bucket and a prefix.

    + */ + inline const S3PrefixType& GetTargetType() const{ return m_targetType; } + + /** + *

    The type of Target. The only possible value is + * Object. Pass this value if the target data that you would like to + * access is a path to an object. Do not pass this value if the target data is a + * bucket or a bucket and a prefix.

    + */ + inline bool TargetTypeHasBeenSet() const { return m_targetTypeHasBeenSet; } + + /** + *

    The type of Target. The only possible value is + * Object. Pass this value if the target data that you would like to + * access is a path to an object. Do not pass this value if the target data is a + * bucket or a bucket and a prefix.

    + */ + inline void SetTargetType(const S3PrefixType& value) { m_targetTypeHasBeenSet = true; m_targetType = value; } + + /** + *

    The type of Target. The only possible value is + * Object. Pass this value if the target data that you would like to + * access is a path to an object. Do not pass this value if the target data is a + * bucket or a bucket and a prefix.

    + */ + inline void SetTargetType(S3PrefixType&& value) { m_targetTypeHasBeenSet = true; m_targetType = std::move(value); } + + /** + *

    The type of Target. The only possible value is + * Object. Pass this value if the target data that you would like to + * access is a path to an object. Do not pass this value if the target data is a + * bucket or a bucket and a prefix.

    + */ + inline GetDataAccessRequest& WithTargetType(const S3PrefixType& value) { SetTargetType(value); return *this;} + + /** + *

    The type of Target. The only possible value is + * Object. Pass this value if the target data that you would like to + * access is a path to an object. Do not pass this value if the target data is a + * bucket or a bucket and a prefix.

    + */ + inline GetDataAccessRequest& WithTargetType(S3PrefixType&& value) { SetTargetType(std::move(value)); return *this;} + + private: + + Aws::String m_accountId; + bool m_accountIdHasBeenSet = false; + + Aws::String m_target; + bool m_targetHasBeenSet = false; + + Permission m_permission; + bool m_permissionHasBeenSet = false; + + int m_durationSeconds; + bool m_durationSecondsHasBeenSet = false; + + Privilege m_privilege; + bool m_privilegeHasBeenSet = false; + + S3PrefixType m_targetType; + bool m_targetTypeHasBeenSet = false; + }; + +} // namespace Model +} // namespace S3Control +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/GetDataAccessResult.h b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/GetDataAccessResult.h new file mode 100644 index 00000000000..c5cc54c467c --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/GetDataAccessResult.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 +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace S3Control +{ +namespace Model +{ + class GetDataAccessResult + { + public: + AWS_S3CONTROL_API GetDataAccessResult(); + AWS_S3CONTROL_API GetDataAccessResult(const Aws::AmazonWebServiceResult& result); + AWS_S3CONTROL_API GetDataAccessResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

    The temporary credential token that S3 Access Grants vends.

    + */ + inline const Credentials& GetCredentials() const{ return m_credentials; } + + /** + *

    The temporary credential token that S3 Access Grants vends.

    + */ + inline void SetCredentials(const Credentials& value) { m_credentials = value; } + + /** + *

    The temporary credential token that S3 Access Grants vends.

    + */ + inline void SetCredentials(Credentials&& value) { m_credentials = std::move(value); } + + /** + *

    The temporary credential token that S3 Access Grants vends.

    + */ + inline GetDataAccessResult& WithCredentials(const Credentials& value) { SetCredentials(value); return *this;} + + /** + *

    The temporary credential token that S3 Access Grants vends.

    + */ + inline GetDataAccessResult& WithCredentials(Credentials&& value) { SetCredentials(std::move(value)); return *this;} + + + /** + *

    The S3 URI path of the data to which you are being granted temporary access + * credentials.

    + */ + inline const Aws::String& GetMatchedGrantTarget() const{ return m_matchedGrantTarget; } + + /** + *

    The S3 URI path of the data to which you are being granted temporary access + * credentials.

    + */ + inline void SetMatchedGrantTarget(const Aws::String& value) { m_matchedGrantTarget = value; } + + /** + *

    The S3 URI path of the data to which you are being granted temporary access + * credentials.

    + */ + inline void SetMatchedGrantTarget(Aws::String&& value) { m_matchedGrantTarget = std::move(value); } + + /** + *

    The S3 URI path of the data to which you are being granted temporary access + * credentials.

    + */ + inline void SetMatchedGrantTarget(const char* value) { m_matchedGrantTarget.assign(value); } + + /** + *

    The S3 URI path of the data to which you are being granted temporary access + * credentials.

    + */ + inline GetDataAccessResult& WithMatchedGrantTarget(const Aws::String& value) { SetMatchedGrantTarget(value); return *this;} + + /** + *

    The S3 URI path of the data to which you are being granted temporary access + * credentials.

    + */ + inline GetDataAccessResult& WithMatchedGrantTarget(Aws::String&& value) { SetMatchedGrantTarget(std::move(value)); return *this;} + + /** + *

    The S3 URI path of the data to which you are being granted temporary access + * credentials.

    + */ + inline GetDataAccessResult& WithMatchedGrantTarget(const char* value) { SetMatchedGrantTarget(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 GetDataAccessResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline GetDataAccessResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline GetDataAccessResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Credentials m_credentials; + + Aws::String m_matchedGrantTarget; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace S3Control +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/Grantee.h b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/Grantee.h new file mode 100644 index 00000000000..3554b3c901e --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/Grantee.h @@ -0,0 +1,221 @@ +/** + * 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 S3Control +{ +namespace Model +{ + + /** + *

    The user, group, or role to which you are granting access. You can grant + * access to an IAM user or role. If you have added your corporate directory to + * Amazon Web Services IAM Identity Center and associated your Identity Center + * instance with your S3 Access Grants instance, the grantee can also be a + * corporate directory user or group.

    See Also:

    AWS + * API Reference

    + */ + class Grantee + { + public: + AWS_S3CONTROL_API Grantee(); + AWS_S3CONTROL_API Grantee(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3CONTROL_API Grantee& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_S3CONTROL_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + *

    The type of the grantee to which access has been granted. It can be one of + * the following values:

    • IAM - An IAM user or + * role.

    • DIRECTORY_USER - Your corporate directory + * user. You can use this option if you have added your corporate identity + * directory to IAM Identity Center and associated the IAM Identity Center instance + * with your S3 Access Grants instance.

    • + * DIRECTORY_GROUP - Your corporate directory group. You can use this + * option if you have added your corporate identity directory to IAM Identity + * Center and associated the IAM Identity Center instance with your S3 Access + * Grants instance.

    + */ + inline const GranteeType& GetGranteeType() const{ return m_granteeType; } + + /** + *

    The type of the grantee to which access has been granted. It can be one of + * the following values:

    • IAM - An IAM user or + * role.

    • DIRECTORY_USER - Your corporate directory + * user. You can use this option if you have added your corporate identity + * directory to IAM Identity Center and associated the IAM Identity Center instance + * with your S3 Access Grants instance.

    • + * DIRECTORY_GROUP - Your corporate directory group. You can use this + * option if you have added your corporate identity directory to IAM Identity + * Center and associated the IAM Identity Center instance with your S3 Access + * Grants instance.

    + */ + inline bool GranteeTypeHasBeenSet() const { return m_granteeTypeHasBeenSet; } + + /** + *

    The type of the grantee to which access has been granted. It can be one of + * the following values:

    • IAM - An IAM user or + * role.

    • DIRECTORY_USER - Your corporate directory + * user. You can use this option if you have added your corporate identity + * directory to IAM Identity Center and associated the IAM Identity Center instance + * with your S3 Access Grants instance.

    • + * DIRECTORY_GROUP - Your corporate directory group. You can use this + * option if you have added your corporate identity directory to IAM Identity + * Center and associated the IAM Identity Center instance with your S3 Access + * Grants instance.

    + */ + inline void SetGranteeType(const GranteeType& value) { m_granteeTypeHasBeenSet = true; m_granteeType = value; } + + /** + *

    The type of the grantee to which access has been granted. It can be one of + * the following values:

    • IAM - An IAM user or + * role.

    • DIRECTORY_USER - Your corporate directory + * user. You can use this option if you have added your corporate identity + * directory to IAM Identity Center and associated the IAM Identity Center instance + * with your S3 Access Grants instance.

    • + * DIRECTORY_GROUP - Your corporate directory group. You can use this + * option if you have added your corporate identity directory to IAM Identity + * Center and associated the IAM Identity Center instance with your S3 Access + * Grants instance.

    + */ + inline void SetGranteeType(GranteeType&& value) { m_granteeTypeHasBeenSet = true; m_granteeType = std::move(value); } + + /** + *

    The type of the grantee to which access has been granted. It can be one of + * the following values:

    • IAM - An IAM user or + * role.

    • DIRECTORY_USER - Your corporate directory + * user. You can use this option if you have added your corporate identity + * directory to IAM Identity Center and associated the IAM Identity Center instance + * with your S3 Access Grants instance.

    • + * DIRECTORY_GROUP - Your corporate directory group. You can use this + * option if you have added your corporate identity directory to IAM Identity + * Center and associated the IAM Identity Center instance with your S3 Access + * Grants instance.

    + */ + inline Grantee& WithGranteeType(const GranteeType& value) { SetGranteeType(value); return *this;} + + /** + *

    The type of the grantee to which access has been granted. It can be one of + * the following values:

    • IAM - An IAM user or + * role.

    • DIRECTORY_USER - Your corporate directory + * user. You can use this option if you have added your corporate identity + * directory to IAM Identity Center and associated the IAM Identity Center instance + * with your S3 Access Grants instance.

    • + * DIRECTORY_GROUP - Your corporate directory group. You can use this + * option if you have added your corporate identity directory to IAM Identity + * Center and associated the IAM Identity Center instance with your S3 Access + * Grants instance.

    + */ + inline Grantee& WithGranteeType(GranteeType&& value) { SetGranteeType(std::move(value)); return *this;} + + + /** + *

    The unique identifier of the Grantee. If the grantee type is + * IAM, the identifier is the IAM Amazon Resource Name (ARN) of the + * user or role. If the grantee type is a directory user or group, the identifier + * is 128-bit universally unique identifier (UUID) in the format + * a1b2c3d4-5678-90ab-cdef-EXAMPLE11111. You can obtain this UUID from + * your Amazon Web Services IAM Identity Center instance.

    + */ + inline const Aws::String& GetGranteeIdentifier() const{ return m_granteeIdentifier; } + + /** + *

    The unique identifier of the Grantee. If the grantee type is + * IAM, the identifier is the IAM Amazon Resource Name (ARN) of the + * user or role. If the grantee type is a directory user or group, the identifier + * is 128-bit universally unique identifier (UUID) in the format + * a1b2c3d4-5678-90ab-cdef-EXAMPLE11111. You can obtain this UUID from + * your Amazon Web Services IAM Identity Center instance.

    + */ + inline bool GranteeIdentifierHasBeenSet() const { return m_granteeIdentifierHasBeenSet; } + + /** + *

    The unique identifier of the Grantee. If the grantee type is + * IAM, the identifier is the IAM Amazon Resource Name (ARN) of the + * user or role. If the grantee type is a directory user or group, the identifier + * is 128-bit universally unique identifier (UUID) in the format + * a1b2c3d4-5678-90ab-cdef-EXAMPLE11111. You can obtain this UUID from + * your Amazon Web Services IAM Identity Center instance.

    + */ + inline void SetGranteeIdentifier(const Aws::String& value) { m_granteeIdentifierHasBeenSet = true; m_granteeIdentifier = value; } + + /** + *

    The unique identifier of the Grantee. If the grantee type is + * IAM, the identifier is the IAM Amazon Resource Name (ARN) of the + * user or role. If the grantee type is a directory user or group, the identifier + * is 128-bit universally unique identifier (UUID) in the format + * a1b2c3d4-5678-90ab-cdef-EXAMPLE11111. You can obtain this UUID from + * your Amazon Web Services IAM Identity Center instance.

    + */ + inline void SetGranteeIdentifier(Aws::String&& value) { m_granteeIdentifierHasBeenSet = true; m_granteeIdentifier = std::move(value); } + + /** + *

    The unique identifier of the Grantee. If the grantee type is + * IAM, the identifier is the IAM Amazon Resource Name (ARN) of the + * user or role. If the grantee type is a directory user or group, the identifier + * is 128-bit universally unique identifier (UUID) in the format + * a1b2c3d4-5678-90ab-cdef-EXAMPLE11111. You can obtain this UUID from + * your Amazon Web Services IAM Identity Center instance.

    + */ + inline void SetGranteeIdentifier(const char* value) { m_granteeIdentifierHasBeenSet = true; m_granteeIdentifier.assign(value); } + + /** + *

    The unique identifier of the Grantee. If the grantee type is + * IAM, the identifier is the IAM Amazon Resource Name (ARN) of the + * user or role. If the grantee type is a directory user or group, the identifier + * is 128-bit universally unique identifier (UUID) in the format + * a1b2c3d4-5678-90ab-cdef-EXAMPLE11111. You can obtain this UUID from + * your Amazon Web Services IAM Identity Center instance.

    + */ + inline Grantee& WithGranteeIdentifier(const Aws::String& value) { SetGranteeIdentifier(value); return *this;} + + /** + *

    The unique identifier of the Grantee. If the grantee type is + * IAM, the identifier is the IAM Amazon Resource Name (ARN) of the + * user or role. If the grantee type is a directory user or group, the identifier + * is 128-bit universally unique identifier (UUID) in the format + * a1b2c3d4-5678-90ab-cdef-EXAMPLE11111. You can obtain this UUID from + * your Amazon Web Services IAM Identity Center instance.

    + */ + inline Grantee& WithGranteeIdentifier(Aws::String&& value) { SetGranteeIdentifier(std::move(value)); return *this;} + + /** + *

    The unique identifier of the Grantee. If the grantee type is + * IAM, the identifier is the IAM Amazon Resource Name (ARN) of the + * user or role. If the grantee type is a directory user or group, the identifier + * is 128-bit universally unique identifier (UUID) in the format + * a1b2c3d4-5678-90ab-cdef-EXAMPLE11111. You can obtain this UUID from + * your Amazon Web Services IAM Identity Center instance.

    + */ + inline Grantee& WithGranteeIdentifier(const char* value) { SetGranteeIdentifier(value); return *this;} + + private: + + GranteeType m_granteeType; + bool m_granteeTypeHasBeenSet = false; + + Aws::String m_granteeIdentifier; + bool m_granteeIdentifierHasBeenSet = false; + }; + +} // namespace Model +} // namespace S3Control +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/GranteeType.h b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/GranteeType.h new file mode 100644 index 00000000000..473706ebc18 --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/GranteeType.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 S3Control +{ +namespace Model +{ + enum class GranteeType + { + NOT_SET, + DIRECTORY_USER, + DIRECTORY_GROUP, + IAM + }; + +namespace GranteeTypeMapper +{ +AWS_S3CONTROL_API GranteeType GetGranteeTypeForName(const Aws::String& name); + +AWS_S3CONTROL_API Aws::String GetNameForGranteeType(GranteeType value); +} // namespace GranteeTypeMapper +} // namespace Model +} // namespace S3Control +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/ListAccessGrantEntry.h b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/ListAccessGrantEntry.h new file mode 100644 index 00000000000..2b4ba234022 --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/ListAccessGrantEntry.h @@ -0,0 +1,522 @@ +/** + * 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 Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace S3Control +{ +namespace Model +{ + + /** + *

    Information about the access grant.

    See Also:

    AWS + * API Reference

    + */ + class ListAccessGrantEntry + { + public: + AWS_S3CONTROL_API ListAccessGrantEntry(); + AWS_S3CONTROL_API ListAccessGrantEntry(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3CONTROL_API ListAccessGrantEntry& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_S3CONTROL_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + *

    The date and time when you created the S3 Access Grants instance.

    + */ + inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } + + /** + *

    The date and time when you created the S3 Access Grants instance.

    + */ + inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } + + /** + *

    The date and time when you created the S3 Access Grants instance.

    + */ + inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAtHasBeenSet = true; m_createdAt = value; } + + /** + *

    The date and time when you created the S3 Access Grants instance.

    + */ + inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::move(value); } + + /** + *

    The date and time when you created the S3 Access Grants instance.

    + */ + inline ListAccessGrantEntry& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} + + /** + *

    The date and time when you created the S3 Access Grants instance.

    + */ + inline ListAccessGrantEntry& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} + + + /** + *

    The ID of the access grant. S3 Access Grants auto-generates this ID when you + * create the access grant.

    + */ + inline const Aws::String& GetAccessGrantId() const{ return m_accessGrantId; } + + /** + *

    The ID of the access grant. S3 Access Grants auto-generates this ID when you + * create the access grant.

    + */ + inline bool AccessGrantIdHasBeenSet() const { return m_accessGrantIdHasBeenSet; } + + /** + *

    The ID of the access grant. S3 Access Grants auto-generates this ID when you + * create the access grant.

    + */ + inline void SetAccessGrantId(const Aws::String& value) { m_accessGrantIdHasBeenSet = true; m_accessGrantId = value; } + + /** + *

    The ID of the access grant. S3 Access Grants auto-generates this ID when you + * create the access grant.

    + */ + inline void SetAccessGrantId(Aws::String&& value) { m_accessGrantIdHasBeenSet = true; m_accessGrantId = std::move(value); } + + /** + *

    The ID of the access grant. S3 Access Grants auto-generates this ID when you + * create the access grant.

    + */ + inline void SetAccessGrantId(const char* value) { m_accessGrantIdHasBeenSet = true; m_accessGrantId.assign(value); } + + /** + *

    The ID of the access grant. S3 Access Grants auto-generates this ID when you + * create the access grant.

    + */ + inline ListAccessGrantEntry& WithAccessGrantId(const Aws::String& value) { SetAccessGrantId(value); return *this;} + + /** + *

    The ID of the access grant. S3 Access Grants auto-generates this ID when you + * create the access grant.

    + */ + inline ListAccessGrantEntry& WithAccessGrantId(Aws::String&& value) { SetAccessGrantId(std::move(value)); return *this;} + + /** + *

    The ID of the access grant. S3 Access Grants auto-generates this ID when you + * create the access grant.

    + */ + inline ListAccessGrantEntry& WithAccessGrantId(const char* value) { SetAccessGrantId(value); return *this;} + + + /** + *

    The Amazon Resource Name (ARN) of the access grant.

    + */ + inline const Aws::String& GetAccessGrantArn() const{ return m_accessGrantArn; } + + /** + *

    The Amazon Resource Name (ARN) of the access grant.

    + */ + inline bool AccessGrantArnHasBeenSet() const { return m_accessGrantArnHasBeenSet; } + + /** + *

    The Amazon Resource Name (ARN) of the access grant.

    + */ + inline void SetAccessGrantArn(const Aws::String& value) { m_accessGrantArnHasBeenSet = true; m_accessGrantArn = value; } + + /** + *

    The Amazon Resource Name (ARN) of the access grant.

    + */ + inline void SetAccessGrantArn(Aws::String&& value) { m_accessGrantArnHasBeenSet = true; m_accessGrantArn = std::move(value); } + + /** + *

    The Amazon Resource Name (ARN) of the access grant.

    + */ + inline void SetAccessGrantArn(const char* value) { m_accessGrantArnHasBeenSet = true; m_accessGrantArn.assign(value); } + + /** + *

    The Amazon Resource Name (ARN) of the access grant.

    + */ + inline ListAccessGrantEntry& WithAccessGrantArn(const Aws::String& value) { SetAccessGrantArn(value); return *this;} + + /** + *

    The Amazon Resource Name (ARN) of the access grant.

    + */ + inline ListAccessGrantEntry& WithAccessGrantArn(Aws::String&& value) { SetAccessGrantArn(std::move(value)); return *this;} + + /** + *

    The Amazon Resource Name (ARN) of the access grant.

    + */ + inline ListAccessGrantEntry& WithAccessGrantArn(const char* value) { SetAccessGrantArn(value); return *this;} + + + /** + *

    The user, group, or role to which you are granting access. You can grant + * access to an IAM user or role. If you have added your corporate directory to + * Amazon Web Services IAM Identity Center and associated your Identity Center + * instance with your S3 Access Grants instance, the grantee can also be a + * corporate directory user or group.

    + */ + inline const Grantee& GetGrantee() const{ return m_grantee; } + + /** + *

    The user, group, or role to which you are granting access. You can grant + * access to an IAM user or role. If you have added your corporate directory to + * Amazon Web Services IAM Identity Center and associated your Identity Center + * instance with your S3 Access Grants instance, the grantee can also be a + * corporate directory user or group.

    + */ + inline bool GranteeHasBeenSet() const { return m_granteeHasBeenSet; } + + /** + *

    The user, group, or role to which you are granting access. You can grant + * access to an IAM user or role. If you have added your corporate directory to + * Amazon Web Services IAM Identity Center and associated your Identity Center + * instance with your S3 Access Grants instance, the grantee can also be a + * corporate directory user or group.

    + */ + inline void SetGrantee(const Grantee& value) { m_granteeHasBeenSet = true; m_grantee = value; } + + /** + *

    The user, group, or role to which you are granting access. You can grant + * access to an IAM user or role. If you have added your corporate directory to + * Amazon Web Services IAM Identity Center and associated your Identity Center + * instance with your S3 Access Grants instance, the grantee can also be a + * corporate directory user or group.

    + */ + inline void SetGrantee(Grantee&& value) { m_granteeHasBeenSet = true; m_grantee = std::move(value); } + + /** + *

    The user, group, or role to which you are granting access. You can grant + * access to an IAM user or role. If you have added your corporate directory to + * Amazon Web Services IAM Identity Center and associated your Identity Center + * instance with your S3 Access Grants instance, the grantee can also be a + * corporate directory user or group.

    + */ + inline ListAccessGrantEntry& WithGrantee(const Grantee& value) { SetGrantee(value); return *this;} + + /** + *

    The user, group, or role to which you are granting access. You can grant + * access to an IAM user or role. If you have added your corporate directory to + * Amazon Web Services IAM Identity Center and associated your Identity Center + * instance with your S3 Access Grants instance, the grantee can also be a + * corporate directory user or group.

    + */ + inline ListAccessGrantEntry& WithGrantee(Grantee&& value) { SetGrantee(std::move(value)); return *this;} + + + /** + *

    The type of access granted to your S3 data, which can be set to one of the + * following values:

    • READ – Grant read-only access + * to the S3 data.

    • WRITE – Grant write-only access + * to the S3 data.

    • READWRITE – Grant both read and + * write access to the S3 data.

    + */ + inline const Permission& GetPermission() const{ return m_permission; } + + /** + *

    The type of access granted to your S3 data, which can be set to one of the + * following values:

    • READ – Grant read-only access + * to the S3 data.

    • WRITE – Grant write-only access + * to the S3 data.

    • READWRITE – Grant both read and + * write access to the S3 data.

    + */ + inline bool PermissionHasBeenSet() const { return m_permissionHasBeenSet; } + + /** + *

    The type of access granted to your S3 data, which can be set to one of the + * following values:

    • READ – Grant read-only access + * to the S3 data.

    • WRITE – Grant write-only access + * to the S3 data.

    • READWRITE – Grant both read and + * write access to the S3 data.

    + */ + inline void SetPermission(const Permission& value) { m_permissionHasBeenSet = true; m_permission = value; } + + /** + *

    The type of access granted to your S3 data, which can be set to one of the + * following values:

    • READ – Grant read-only access + * to the S3 data.

    • WRITE – Grant write-only access + * to the S3 data.

    • READWRITE – Grant both read and + * write access to the S3 data.

    + */ + inline void SetPermission(Permission&& value) { m_permissionHasBeenSet = true; m_permission = std::move(value); } + + /** + *

    The type of access granted to your S3 data, which can be set to one of the + * following values:

    • READ – Grant read-only access + * to the S3 data.

    • WRITE – Grant write-only access + * to the S3 data.

    • READWRITE – Grant both read and + * write access to the S3 data.

    + */ + inline ListAccessGrantEntry& WithPermission(const Permission& value) { SetPermission(value); return *this;} + + /** + *

    The type of access granted to your S3 data, which can be set to one of the + * following values:

    • READ – Grant read-only access + * to the S3 data.

    • WRITE – Grant write-only access + * to the S3 data.

    • READWRITE – Grant both read and + * write access to the S3 data.

    + */ + inline ListAccessGrantEntry& WithPermission(Permission&& value) { SetPermission(std::move(value)); return *this;} + + + /** + *

    The ID of the registered location to which you are granting access. S3 Access + * Grants assigns this ID when you register the location. S3 Access Grants assigns + * the ID default to the default location s3:// and + * assigns an auto-generated ID to other locations that you register.

    + */ + inline const Aws::String& GetAccessGrantsLocationId() const{ return m_accessGrantsLocationId; } + + /** + *

    The ID of the registered location to which you are granting access. S3 Access + * Grants assigns this ID when you register the location. S3 Access Grants assigns + * the ID default to the default location s3:// and + * assigns an auto-generated ID to other locations that you register.

    + */ + inline bool AccessGrantsLocationIdHasBeenSet() const { return m_accessGrantsLocationIdHasBeenSet; } + + /** + *

    The ID of the registered location to which you are granting access. S3 Access + * Grants assigns this ID when you register the location. S3 Access Grants assigns + * the ID default to the default location s3:// and + * assigns an auto-generated ID to other locations that you register.

    + */ + inline void SetAccessGrantsLocationId(const Aws::String& value) { m_accessGrantsLocationIdHasBeenSet = true; m_accessGrantsLocationId = value; } + + /** + *

    The ID of the registered location to which you are granting access. S3 Access + * Grants assigns this ID when you register the location. S3 Access Grants assigns + * the ID default to the default location s3:// and + * assigns an auto-generated ID to other locations that you register.

    + */ + inline void SetAccessGrantsLocationId(Aws::String&& value) { m_accessGrantsLocationIdHasBeenSet = true; m_accessGrantsLocationId = std::move(value); } + + /** + *

    The ID of the registered location to which you are granting access. S3 Access + * Grants assigns this ID when you register the location. S3 Access Grants assigns + * the ID default to the default location s3:// and + * assigns an auto-generated ID to other locations that you register.

    + */ + inline void SetAccessGrantsLocationId(const char* value) { m_accessGrantsLocationIdHasBeenSet = true; m_accessGrantsLocationId.assign(value); } + + /** + *

    The ID of the registered location to which you are granting access. S3 Access + * Grants assigns this ID when you register the location. S3 Access Grants assigns + * the ID default to the default location s3:// and + * assigns an auto-generated ID to other locations that you register.

    + */ + inline ListAccessGrantEntry& WithAccessGrantsLocationId(const Aws::String& value) { SetAccessGrantsLocationId(value); return *this;} + + /** + *

    The ID of the registered location to which you are granting access. S3 Access + * Grants assigns this ID when you register the location. S3 Access Grants assigns + * the ID default to the default location s3:// and + * assigns an auto-generated ID to other locations that you register.

    + */ + inline ListAccessGrantEntry& WithAccessGrantsLocationId(Aws::String&& value) { SetAccessGrantsLocationId(std::move(value)); return *this;} + + /** + *

    The ID of the registered location to which you are granting access. S3 Access + * Grants assigns this ID when you register the location. S3 Access Grants assigns + * the ID default to the default location s3:// and + * assigns an auto-generated ID to other locations that you register.

    + */ + inline ListAccessGrantEntry& WithAccessGrantsLocationId(const char* value) { SetAccessGrantsLocationId(value); return *this;} + + + /** + *

    The configuration options of the grant location. The grant location is the S3 + * path to the data to which you are granting access.

    + */ + inline const AccessGrantsLocationConfiguration& GetAccessGrantsLocationConfiguration() const{ return m_accessGrantsLocationConfiguration; } + + /** + *

    The configuration options of the grant location. The grant location is the S3 + * path to the data to which you are granting access.

    + */ + inline bool AccessGrantsLocationConfigurationHasBeenSet() const { return m_accessGrantsLocationConfigurationHasBeenSet; } + + /** + *

    The configuration options of the grant location. The grant location is the S3 + * path to the data to which you are granting access.

    + */ + inline void SetAccessGrantsLocationConfiguration(const AccessGrantsLocationConfiguration& value) { m_accessGrantsLocationConfigurationHasBeenSet = true; m_accessGrantsLocationConfiguration = value; } + + /** + *

    The configuration options of the grant location. The grant location is the S3 + * path to the data to which you are granting access.

    + */ + inline void SetAccessGrantsLocationConfiguration(AccessGrantsLocationConfiguration&& value) { m_accessGrantsLocationConfigurationHasBeenSet = true; m_accessGrantsLocationConfiguration = std::move(value); } + + /** + *

    The configuration options of the grant location. The grant location is the S3 + * path to the data to which you are granting access.

    + */ + inline ListAccessGrantEntry& WithAccessGrantsLocationConfiguration(const AccessGrantsLocationConfiguration& value) { SetAccessGrantsLocationConfiguration(value); return *this;} + + /** + *

    The configuration options of the grant location. The grant location is the S3 + * path to the data to which you are granting access.

    + */ + inline ListAccessGrantEntry& WithAccessGrantsLocationConfiguration(AccessGrantsLocationConfiguration&& value) { SetAccessGrantsLocationConfiguration(std::move(value)); return *this;} + + + /** + *

    The S3 path of the data to which you are granting access. It is the result of + * appending the Subprefix to the location scope.

    + */ + inline const Aws::String& GetGrantScope() const{ return m_grantScope; } + + /** + *

    The S3 path of the data to which you are granting access. It is the result of + * appending the Subprefix to the location scope.

    + */ + inline bool GrantScopeHasBeenSet() const { return m_grantScopeHasBeenSet; } + + /** + *

    The S3 path of the data to which you are granting access. It is the result of + * appending the Subprefix to the location scope.

    + */ + inline void SetGrantScope(const Aws::String& value) { m_grantScopeHasBeenSet = true; m_grantScope = value; } + + /** + *

    The S3 path of the data to which you are granting access. It is the result of + * appending the Subprefix to the location scope.

    + */ + inline void SetGrantScope(Aws::String&& value) { m_grantScopeHasBeenSet = true; m_grantScope = std::move(value); } + + /** + *

    The S3 path of the data to which you are granting access. It is the result of + * appending the Subprefix to the location scope.

    + */ + inline void SetGrantScope(const char* value) { m_grantScopeHasBeenSet = true; m_grantScope.assign(value); } + + /** + *

    The S3 path of the data to which you are granting access. It is the result of + * appending the Subprefix to the location scope.

    + */ + inline ListAccessGrantEntry& WithGrantScope(const Aws::String& value) { SetGrantScope(value); return *this;} + + /** + *

    The S3 path of the data to which you are granting access. It is the result of + * appending the Subprefix to the location scope.

    + */ + inline ListAccessGrantEntry& WithGrantScope(Aws::String&& value) { SetGrantScope(std::move(value)); return *this;} + + /** + *

    The S3 path of the data to which you are granting access. It is the result of + * appending the Subprefix to the location scope.

    + */ + inline ListAccessGrantEntry& WithGrantScope(const char* value) { SetGrantScope(value); return *this;} + + + /** + *

    The Amazon Resource Name (ARN) of an Amazon Web Services IAM Identity Center + * application associated with your Identity Center instance. If the grant includes + * an application ARN, the grantee can only access the S3 data through this + * application.

    + */ + inline const Aws::String& GetApplicationArn() const{ return m_applicationArn; } + + /** + *

    The Amazon Resource Name (ARN) of an Amazon Web Services IAM Identity Center + * application associated with your Identity Center instance. If the grant includes + * an application ARN, the grantee can only access the S3 data through this + * application.

    + */ + inline bool ApplicationArnHasBeenSet() const { return m_applicationArnHasBeenSet; } + + /** + *

    The Amazon Resource Name (ARN) of an Amazon Web Services IAM Identity Center + * application associated with your Identity Center instance. If the grant includes + * an application ARN, the grantee can only access the S3 data through this + * application.

    + */ + inline void SetApplicationArn(const Aws::String& value) { m_applicationArnHasBeenSet = true; m_applicationArn = value; } + + /** + *

    The Amazon Resource Name (ARN) of an Amazon Web Services IAM Identity Center + * application associated with your Identity Center instance. If the grant includes + * an application ARN, the grantee can only access the S3 data through this + * application.

    + */ + inline void SetApplicationArn(Aws::String&& value) { m_applicationArnHasBeenSet = true; m_applicationArn = std::move(value); } + + /** + *

    The Amazon Resource Name (ARN) of an Amazon Web Services IAM Identity Center + * application associated with your Identity Center instance. If the grant includes + * an application ARN, the grantee can only access the S3 data through this + * application.

    + */ + inline void SetApplicationArn(const char* value) { m_applicationArnHasBeenSet = true; m_applicationArn.assign(value); } + + /** + *

    The Amazon Resource Name (ARN) of an Amazon Web Services IAM Identity Center + * application associated with your Identity Center instance. If the grant includes + * an application ARN, the grantee can only access the S3 data through this + * application.

    + */ + inline ListAccessGrantEntry& WithApplicationArn(const Aws::String& value) { SetApplicationArn(value); return *this;} + + /** + *

    The Amazon Resource Name (ARN) of an Amazon Web Services IAM Identity Center + * application associated with your Identity Center instance. If the grant includes + * an application ARN, the grantee can only access the S3 data through this + * application.

    + */ + inline ListAccessGrantEntry& WithApplicationArn(Aws::String&& value) { SetApplicationArn(std::move(value)); return *this;} + + /** + *

    The Amazon Resource Name (ARN) of an Amazon Web Services IAM Identity Center + * application associated with your Identity Center instance. If the grant includes + * an application ARN, the grantee can only access the S3 data through this + * application.

    + */ + inline ListAccessGrantEntry& WithApplicationArn(const char* value) { SetApplicationArn(value); return *this;} + + private: + + Aws::Utils::DateTime m_createdAt; + bool m_createdAtHasBeenSet = false; + + Aws::String m_accessGrantId; + bool m_accessGrantIdHasBeenSet = false; + + Aws::String m_accessGrantArn; + bool m_accessGrantArnHasBeenSet = false; + + Grantee m_grantee; + bool m_granteeHasBeenSet = false; + + Permission m_permission; + bool m_permissionHasBeenSet = false; + + Aws::String m_accessGrantsLocationId; + bool m_accessGrantsLocationIdHasBeenSet = false; + + AccessGrantsLocationConfiguration m_accessGrantsLocationConfiguration; + bool m_accessGrantsLocationConfigurationHasBeenSet = false; + + Aws::String m_grantScope; + bool m_grantScopeHasBeenSet = false; + + Aws::String m_applicationArn; + bool m_applicationArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace S3Control +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/ListAccessGrantsInstanceEntry.h b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/ListAccessGrantsInstanceEntry.h new file mode 100644 index 00000000000..f85c6546b8d --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/ListAccessGrantsInstanceEntry.h @@ -0,0 +1,252 @@ +/** + * 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 S3Control +{ +namespace Model +{ + + /** + *

    Information about the S3 Access Grants instance.

    See Also:

    + * AWS + * API Reference

    + */ + class ListAccessGrantsInstanceEntry + { + public: + AWS_S3CONTROL_API ListAccessGrantsInstanceEntry(); + AWS_S3CONTROL_API ListAccessGrantsInstanceEntry(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3CONTROL_API ListAccessGrantsInstanceEntry& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_S3CONTROL_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + *

    The ID of the S3 Access Grants instance. The ID is default. You + * can have one S3 Access Grants instance per Region per account.

    + */ + inline const Aws::String& GetAccessGrantsInstanceId() const{ return m_accessGrantsInstanceId; } + + /** + *

    The ID of the S3 Access Grants instance. The ID is default. You + * can have one S3 Access Grants instance per Region per account.

    + */ + inline bool AccessGrantsInstanceIdHasBeenSet() const { return m_accessGrantsInstanceIdHasBeenSet; } + + /** + *

    The ID of the S3 Access Grants instance. The ID is default. You + * can have one S3 Access Grants instance per Region per account.

    + */ + inline void SetAccessGrantsInstanceId(const Aws::String& value) { m_accessGrantsInstanceIdHasBeenSet = true; m_accessGrantsInstanceId = value; } + + /** + *

    The ID of the S3 Access Grants instance. The ID is default. You + * can have one S3 Access Grants instance per Region per account.

    + */ + inline void SetAccessGrantsInstanceId(Aws::String&& value) { m_accessGrantsInstanceIdHasBeenSet = true; m_accessGrantsInstanceId = std::move(value); } + + /** + *

    The ID of the S3 Access Grants instance. The ID is default. You + * can have one S3 Access Grants instance per Region per account.

    + */ + inline void SetAccessGrantsInstanceId(const char* value) { m_accessGrantsInstanceIdHasBeenSet = true; m_accessGrantsInstanceId.assign(value); } + + /** + *

    The ID of the S3 Access Grants instance. The ID is default. You + * can have one S3 Access Grants instance per Region per account.

    + */ + inline ListAccessGrantsInstanceEntry& WithAccessGrantsInstanceId(const Aws::String& value) { SetAccessGrantsInstanceId(value); return *this;} + + /** + *

    The ID of the S3 Access Grants instance. The ID is default. You + * can have one S3 Access Grants instance per Region per account.

    + */ + inline ListAccessGrantsInstanceEntry& WithAccessGrantsInstanceId(Aws::String&& value) { SetAccessGrantsInstanceId(std::move(value)); return *this;} + + /** + *

    The ID of the S3 Access Grants instance. The ID is default. You + * can have one S3 Access Grants instance per Region per account.

    + */ + inline ListAccessGrantsInstanceEntry& WithAccessGrantsInstanceId(const char* value) { SetAccessGrantsInstanceId(value); return *this;} + + + /** + *

    The Amazon Resource Name (ARN) of the S3 Access Grants instance.

    + */ + inline const Aws::String& GetAccessGrantsInstanceArn() const{ return m_accessGrantsInstanceArn; } + + /** + *

    The Amazon Resource Name (ARN) of the S3 Access Grants instance.

    + */ + inline bool AccessGrantsInstanceArnHasBeenSet() const { return m_accessGrantsInstanceArnHasBeenSet; } + + /** + *

    The Amazon Resource Name (ARN) of the S3 Access Grants instance.

    + */ + inline void SetAccessGrantsInstanceArn(const Aws::String& value) { m_accessGrantsInstanceArnHasBeenSet = true; m_accessGrantsInstanceArn = value; } + + /** + *

    The Amazon Resource Name (ARN) of the S3 Access Grants instance.

    + */ + inline void SetAccessGrantsInstanceArn(Aws::String&& value) { m_accessGrantsInstanceArnHasBeenSet = true; m_accessGrantsInstanceArn = std::move(value); } + + /** + *

    The Amazon Resource Name (ARN) of the S3 Access Grants instance.

    + */ + inline void SetAccessGrantsInstanceArn(const char* value) { m_accessGrantsInstanceArnHasBeenSet = true; m_accessGrantsInstanceArn.assign(value); } + + /** + *

    The Amazon Resource Name (ARN) of the S3 Access Grants instance.

    + */ + inline ListAccessGrantsInstanceEntry& WithAccessGrantsInstanceArn(const Aws::String& value) { SetAccessGrantsInstanceArn(value); return *this;} + + /** + *

    The Amazon Resource Name (ARN) of the S3 Access Grants instance.

    + */ + inline ListAccessGrantsInstanceEntry& WithAccessGrantsInstanceArn(Aws::String&& value) { SetAccessGrantsInstanceArn(std::move(value)); return *this;} + + /** + *

    The Amazon Resource Name (ARN) of the S3 Access Grants instance.

    + */ + inline ListAccessGrantsInstanceEntry& WithAccessGrantsInstanceArn(const char* value) { SetAccessGrantsInstanceArn(value); return *this;} + + + /** + *

    The date and time when you created the S3 Access Grants instance.

    + */ + inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } + + /** + *

    The date and time when you created the S3 Access Grants instance.

    + */ + inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } + + /** + *

    The date and time when you created the S3 Access Grants instance.

    + */ + inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAtHasBeenSet = true; m_createdAt = value; } + + /** + *

    The date and time when you created the S3 Access Grants instance.

    + */ + inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::move(value); } + + /** + *

    The date and time when you created the S3 Access Grants instance.

    + */ + inline ListAccessGrantsInstanceEntry& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} + + /** + *

    The date and time when you created the S3 Access Grants instance.

    + */ + inline ListAccessGrantsInstanceEntry& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} + + + /** + *

    If you associated your S3 Access Grants instance with an Amazon Web Services + * IAM Identity Center instance, this field returns the Amazon Resource Name (ARN) + * of the IAM Identity Center instance application; a subresource of the original + * Identity Center instance. S3 Access Grants creates this Identity Center + * application for the specific S3 Access Grants instance.

    + */ + inline const Aws::String& GetIdentityCenterArn() const{ return m_identityCenterArn; } + + /** + *

    If you associated your S3 Access Grants instance with an Amazon Web Services + * IAM Identity Center instance, this field returns the Amazon Resource Name (ARN) + * of the IAM Identity Center instance application; a subresource of the original + * Identity Center instance. S3 Access Grants creates this Identity Center + * application for the specific S3 Access Grants instance.

    + */ + inline bool IdentityCenterArnHasBeenSet() const { return m_identityCenterArnHasBeenSet; } + + /** + *

    If you associated your S3 Access Grants instance with an Amazon Web Services + * IAM Identity Center instance, this field returns the Amazon Resource Name (ARN) + * of the IAM Identity Center instance application; a subresource of the original + * Identity Center instance. S3 Access Grants creates this Identity Center + * application for the specific S3 Access Grants instance.

    + */ + inline void SetIdentityCenterArn(const Aws::String& value) { m_identityCenterArnHasBeenSet = true; m_identityCenterArn = value; } + + /** + *

    If you associated your S3 Access Grants instance with an Amazon Web Services + * IAM Identity Center instance, this field returns the Amazon Resource Name (ARN) + * of the IAM Identity Center instance application; a subresource of the original + * Identity Center instance. S3 Access Grants creates this Identity Center + * application for the specific S3 Access Grants instance.

    + */ + inline void SetIdentityCenterArn(Aws::String&& value) { m_identityCenterArnHasBeenSet = true; m_identityCenterArn = std::move(value); } + + /** + *

    If you associated your S3 Access Grants instance with an Amazon Web Services + * IAM Identity Center instance, this field returns the Amazon Resource Name (ARN) + * of the IAM Identity Center instance application; a subresource of the original + * Identity Center instance. S3 Access Grants creates this Identity Center + * application for the specific S3 Access Grants instance.

    + */ + inline void SetIdentityCenterArn(const char* value) { m_identityCenterArnHasBeenSet = true; m_identityCenterArn.assign(value); } + + /** + *

    If you associated your S3 Access Grants instance with an Amazon Web Services + * IAM Identity Center instance, this field returns the Amazon Resource Name (ARN) + * of the IAM Identity Center instance application; a subresource of the original + * Identity Center instance. S3 Access Grants creates this Identity Center + * application for the specific S3 Access Grants instance.

    + */ + inline ListAccessGrantsInstanceEntry& WithIdentityCenterArn(const Aws::String& value) { SetIdentityCenterArn(value); return *this;} + + /** + *

    If you associated your S3 Access Grants instance with an Amazon Web Services + * IAM Identity Center instance, this field returns the Amazon Resource Name (ARN) + * of the IAM Identity Center instance application; a subresource of the original + * Identity Center instance. S3 Access Grants creates this Identity Center + * application for the specific S3 Access Grants instance.

    + */ + inline ListAccessGrantsInstanceEntry& WithIdentityCenterArn(Aws::String&& value) { SetIdentityCenterArn(std::move(value)); return *this;} + + /** + *

    If you associated your S3 Access Grants instance with an Amazon Web Services + * IAM Identity Center instance, this field returns the Amazon Resource Name (ARN) + * of the IAM Identity Center instance application; a subresource of the original + * Identity Center instance. S3 Access Grants creates this Identity Center + * application for the specific S3 Access Grants instance.

    + */ + inline ListAccessGrantsInstanceEntry& WithIdentityCenterArn(const char* value) { SetIdentityCenterArn(value); return *this;} + + private: + + Aws::String m_accessGrantsInstanceId; + bool m_accessGrantsInstanceIdHasBeenSet = false; + + Aws::String m_accessGrantsInstanceArn; + bool m_accessGrantsInstanceArnHasBeenSet = false; + + Aws::Utils::DateTime m_createdAt; + bool m_createdAtHasBeenSet = false; + + Aws::String m_identityCenterArn; + bool m_identityCenterArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace S3Control +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/ListAccessGrantsInstancesRequest.h b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/ListAccessGrantsInstancesRequest.h new file mode 100644 index 00000000000..04cb6d0e13d --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/ListAccessGrantsInstancesRequest.h @@ -0,0 +1,193 @@ +/** + * 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 S3Control +{ +namespace Model +{ + + /** + */ + class ListAccessGrantsInstancesRequest : public S3ControlRequest + { + public: + AWS_S3CONTROL_API ListAccessGrantsInstancesRequest(); + + // 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 "ListAccessGrantsInstances"; } + + AWS_S3CONTROL_API Aws::String SerializePayload() const override; + + AWS_S3CONTROL_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + AWS_S3CONTROL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + AWS_S3CONTROL_API inline bool ShouldComputeContentMd5() const override { return true; } + + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3CONTROL_API EndpointParameters GetEndpointContextParams() const override; + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline const Aws::String& GetAccountId() const{ return m_accountId; } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline ListAccessGrantsInstancesRequest& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;} + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline ListAccessGrantsInstancesRequest& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;} + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline ListAccessGrantsInstancesRequest& WithAccountId(const char* value) { SetAccountId(value); return *this;} + + + /** + *

    A pagination token to request the next page of results. Pass this value into + * a subsequent List Access Grants Instances request in order to + * retrieve the next page of results.

    + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + + /** + *

    A pagination token to request the next page of results. Pass this value into + * a subsequent List Access Grants Instances request in order to + * retrieve the next page of results.

    + */ + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + + /** + *

    A pagination token to request the next page of results. Pass this value into + * a subsequent List Access Grants Instances request in order to + * retrieve the next page of results.

    + */ + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + + /** + *

    A pagination token to request the next page of results. Pass this value into + * a subsequent List Access Grants Instances request in order to + * retrieve the next page of results.

    + */ + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + + /** + *

    A pagination token to request the next page of results. Pass this value into + * a subsequent List Access Grants Instances request in order to + * retrieve the next page of results.

    + */ + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + + /** + *

    A pagination token to request the next page of results. Pass this value into + * a subsequent List Access Grants Instances request in order to + * retrieve the next page of results.

    + */ + inline ListAccessGrantsInstancesRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + + /** + *

    A pagination token to request the next page of results. Pass this value into + * a subsequent List Access Grants Instances request in order to + * retrieve the next page of results.

    + */ + inline ListAccessGrantsInstancesRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + + /** + *

    A pagination token to request the next page of results. Pass this value into + * a subsequent List Access Grants Instances request in order to + * retrieve the next page of results.

    + */ + inline ListAccessGrantsInstancesRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + + + /** + *

    The maximum number of access grants that you would like returned in the + * List Access Grants response. If the results include the pagination + * token NextToken, make another call using the NextToken + * to determine if there are more results.

    + */ + inline int GetMaxResults() const{ return m_maxResults; } + + /** + *

    The maximum number of access grants that you would like returned in the + * List Access Grants response. If the results include the pagination + * token NextToken, make another call using the NextToken + * to determine if there are more results.

    + */ + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + + /** + *

    The maximum number of access grants that you would like returned in the + * List Access Grants response. If the results include the pagination + * token NextToken, make another call using the NextToken + * to determine if there are more results.

    + */ + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + + /** + *

    The maximum number of access grants that you would like returned in the + * List Access Grants response. If the results include the pagination + * token NextToken, make another call using the NextToken + * to determine if there are more results.

    + */ + inline ListAccessGrantsInstancesRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + + private: + + Aws::String m_accountId; + bool m_accountIdHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + }; + +} // namespace Model +} // namespace S3Control +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/ListAccessGrantsInstancesResult.h b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/ListAccessGrantsInstancesResult.h new file mode 100644 index 00000000000..e2d6c6551fb --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/ListAccessGrantsInstancesResult.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 + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace S3Control +{ +namespace Model +{ + class ListAccessGrantsInstancesResult + { + public: + AWS_S3CONTROL_API ListAccessGrantsInstancesResult(); + AWS_S3CONTROL_API ListAccessGrantsInstancesResult(const Aws::AmazonWebServiceResult& result); + AWS_S3CONTROL_API ListAccessGrantsInstancesResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

    A pagination token to request the next page of results. Pass this value into + * a subsequent List Access Grants Instances request in order to + * retrieve the next page of results.

    + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + + /** + *

    A pagination token to request the next page of results. Pass this value into + * a subsequent List Access Grants Instances request in order to + * retrieve the next page of results.

    + */ + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + + /** + *

    A pagination token to request the next page of results. Pass this value into + * a subsequent List Access Grants Instances request in order to + * retrieve the next page of results.

    + */ + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + + /** + *

    A pagination token to request the next page of results. Pass this value into + * a subsequent List Access Grants Instances request in order to + * retrieve the next page of results.

    + */ + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + + /** + *

    A pagination token to request the next page of results. Pass this value into + * a subsequent List Access Grants Instances request in order to + * retrieve the next page of results.

    + */ + inline ListAccessGrantsInstancesResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + + /** + *

    A pagination token to request the next page of results. Pass this value into + * a subsequent List Access Grants Instances request in order to + * retrieve the next page of results.

    + */ + inline ListAccessGrantsInstancesResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + + /** + *

    A pagination token to request the next page of results. Pass this value into + * a subsequent List Access Grants Instances request in order to + * retrieve the next page of results.

    + */ + inline ListAccessGrantsInstancesResult& WithNextToken(const char* value) { SetNextToken(value); return *this;} + + + /** + *

    A container for a list of S3 Access Grants instances.

    + */ + inline const Aws::Vector& GetAccessGrantsInstancesList() const{ return m_accessGrantsInstancesList; } + + /** + *

    A container for a list of S3 Access Grants instances.

    + */ + inline void SetAccessGrantsInstancesList(const Aws::Vector& value) { m_accessGrantsInstancesList = value; } + + /** + *

    A container for a list of S3 Access Grants instances.

    + */ + inline void SetAccessGrantsInstancesList(Aws::Vector&& value) { m_accessGrantsInstancesList = std::move(value); } + + /** + *

    A container for a list of S3 Access Grants instances.

    + */ + inline ListAccessGrantsInstancesResult& WithAccessGrantsInstancesList(const Aws::Vector& value) { SetAccessGrantsInstancesList(value); return *this;} + + /** + *

    A container for a list of S3 Access Grants instances.

    + */ + inline ListAccessGrantsInstancesResult& WithAccessGrantsInstancesList(Aws::Vector&& value) { SetAccessGrantsInstancesList(std::move(value)); return *this;} + + /** + *

    A container for a list of S3 Access Grants instances.

    + */ + inline ListAccessGrantsInstancesResult& AddAccessGrantsInstancesList(const ListAccessGrantsInstanceEntry& value) { m_accessGrantsInstancesList.push_back(value); return *this; } + + /** + *

    A container for a list of S3 Access Grants instances.

    + */ + inline ListAccessGrantsInstancesResult& AddAccessGrantsInstancesList(ListAccessGrantsInstanceEntry&& value) { m_accessGrantsInstancesList.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 ListAccessGrantsInstancesResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline ListAccessGrantsInstancesResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline ListAccessGrantsInstancesResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::String m_nextToken; + + Aws::Vector m_accessGrantsInstancesList; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace S3Control +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/ListAccessGrantsLocationsEntry.h b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/ListAccessGrantsLocationsEntry.h new file mode 100644 index 00000000000..ecdc3477a08 --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/ListAccessGrantsLocationsEntry.h @@ -0,0 +1,352 @@ +/** + * 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 S3Control +{ +namespace Model +{ + + /** + *

    A container for information about the registered location.

    See + * Also:

    AWS + * API Reference

    + */ + class ListAccessGrantsLocationsEntry + { + public: + AWS_S3CONTROL_API ListAccessGrantsLocationsEntry(); + AWS_S3CONTROL_API ListAccessGrantsLocationsEntry(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_S3CONTROL_API ListAccessGrantsLocationsEntry& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_S3CONTROL_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; + + + /** + *

    The date and time when you registered the location.

    + */ + inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } + + /** + *

    The date and time when you registered the location.

    + */ + inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } + + /** + *

    The date and time when you registered the location.

    + */ + inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAtHasBeenSet = true; m_createdAt = value; } + + /** + *

    The date and time when you registered the location.

    + */ + inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::move(value); } + + /** + *

    The date and time when you registered the location.

    + */ + inline ListAccessGrantsLocationsEntry& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} + + /** + *

    The date and time when you registered the location.

    + */ + inline ListAccessGrantsLocationsEntry& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} + + + /** + *

    The ID of the registered location to which you are granting access. S3 Access + * Grants assigns this ID when you register the location. S3 Access Grants assigns + * the ID default to the default location s3:// and + * assigns an auto-generated ID to other locations that you register.

    + */ + inline const Aws::String& GetAccessGrantsLocationId() const{ return m_accessGrantsLocationId; } + + /** + *

    The ID of the registered location to which you are granting access. S3 Access + * Grants assigns this ID when you register the location. S3 Access Grants assigns + * the ID default to the default location s3:// and + * assigns an auto-generated ID to other locations that you register.

    + */ + inline bool AccessGrantsLocationIdHasBeenSet() const { return m_accessGrantsLocationIdHasBeenSet; } + + /** + *

    The ID of the registered location to which you are granting access. S3 Access + * Grants assigns this ID when you register the location. S3 Access Grants assigns + * the ID default to the default location s3:// and + * assigns an auto-generated ID to other locations that you register.

    + */ + inline void SetAccessGrantsLocationId(const Aws::String& value) { m_accessGrantsLocationIdHasBeenSet = true; m_accessGrantsLocationId = value; } + + /** + *

    The ID of the registered location to which you are granting access. S3 Access + * Grants assigns this ID when you register the location. S3 Access Grants assigns + * the ID default to the default location s3:// and + * assigns an auto-generated ID to other locations that you register.

    + */ + inline void SetAccessGrantsLocationId(Aws::String&& value) { m_accessGrantsLocationIdHasBeenSet = true; m_accessGrantsLocationId = std::move(value); } + + /** + *

    The ID of the registered location to which you are granting access. S3 Access + * Grants assigns this ID when you register the location. S3 Access Grants assigns + * the ID default to the default location s3:// and + * assigns an auto-generated ID to other locations that you register.

    + */ + inline void SetAccessGrantsLocationId(const char* value) { m_accessGrantsLocationIdHasBeenSet = true; m_accessGrantsLocationId.assign(value); } + + /** + *

    The ID of the registered location to which you are granting access. S3 Access + * Grants assigns this ID when you register the location. S3 Access Grants assigns + * the ID default to the default location s3:// and + * assigns an auto-generated ID to other locations that you register.

    + */ + inline ListAccessGrantsLocationsEntry& WithAccessGrantsLocationId(const Aws::String& value) { SetAccessGrantsLocationId(value); return *this;} + + /** + *

    The ID of the registered location to which you are granting access. S3 Access + * Grants assigns this ID when you register the location. S3 Access Grants assigns + * the ID default to the default location s3:// and + * assigns an auto-generated ID to other locations that you register.

    + */ + inline ListAccessGrantsLocationsEntry& WithAccessGrantsLocationId(Aws::String&& value) { SetAccessGrantsLocationId(std::move(value)); return *this;} + + /** + *

    The ID of the registered location to which you are granting access. S3 Access + * Grants assigns this ID when you register the location. S3 Access Grants assigns + * the ID default to the default location s3:// and + * assigns an auto-generated ID to other locations that you register.

    + */ + inline ListAccessGrantsLocationsEntry& WithAccessGrantsLocationId(const char* value) { SetAccessGrantsLocationId(value); return *this;} + + + /** + *

    The Amazon Resource Name (ARN) of the registered location.

    + */ + inline const Aws::String& GetAccessGrantsLocationArn() const{ return m_accessGrantsLocationArn; } + + /** + *

    The Amazon Resource Name (ARN) of the registered location.

    + */ + inline bool AccessGrantsLocationArnHasBeenSet() const { return m_accessGrantsLocationArnHasBeenSet; } + + /** + *

    The Amazon Resource Name (ARN) of the registered location.

    + */ + inline void SetAccessGrantsLocationArn(const Aws::String& value) { m_accessGrantsLocationArnHasBeenSet = true; m_accessGrantsLocationArn = value; } + + /** + *

    The Amazon Resource Name (ARN) of the registered location.

    + */ + inline void SetAccessGrantsLocationArn(Aws::String&& value) { m_accessGrantsLocationArnHasBeenSet = true; m_accessGrantsLocationArn = std::move(value); } + + /** + *

    The Amazon Resource Name (ARN) of the registered location.

    + */ + inline void SetAccessGrantsLocationArn(const char* value) { m_accessGrantsLocationArnHasBeenSet = true; m_accessGrantsLocationArn.assign(value); } + + /** + *

    The Amazon Resource Name (ARN) of the registered location.

    + */ + inline ListAccessGrantsLocationsEntry& WithAccessGrantsLocationArn(const Aws::String& value) { SetAccessGrantsLocationArn(value); return *this;} + + /** + *

    The Amazon Resource Name (ARN) of the registered location.

    + */ + inline ListAccessGrantsLocationsEntry& WithAccessGrantsLocationArn(Aws::String&& value) { SetAccessGrantsLocationArn(std::move(value)); return *this;} + + /** + *

    The Amazon Resource Name (ARN) of the registered location.

    + */ + inline ListAccessGrantsLocationsEntry& WithAccessGrantsLocationArn(const char* value) { SetAccessGrantsLocationArn(value); return *this;} + + + /** + *

    The S3 path to the location that you are registering. The location scope can + * be the default S3 location s3://, the S3 path to a bucket + * s3://<bucket>, or the S3 path to a bucket and prefix + * s3://<bucket>/<prefix>. A prefix in S3 is a string of + * characters at the beginning of an object key name used to organize the objects + * that you store in your S3 buckets. For example, object key names that start with + * the engineering/ prefix or object key names that start with the + * marketing/campaigns/ prefix.

    + */ + inline const Aws::String& GetLocationScope() const{ return m_locationScope; } + + /** + *

    The S3 path to the location that you are registering. The location scope can + * be the default S3 location s3://, the S3 path to a bucket + * s3://<bucket>, or the S3 path to a bucket and prefix + * s3://<bucket>/<prefix>. A prefix in S3 is a string of + * characters at the beginning of an object key name used to organize the objects + * that you store in your S3 buckets. For example, object key names that start with + * the engineering/ prefix or object key names that start with the + * marketing/campaigns/ prefix.

    + */ + inline bool LocationScopeHasBeenSet() const { return m_locationScopeHasBeenSet; } + + /** + *

    The S3 path to the location that you are registering. The location scope can + * be the default S3 location s3://, the S3 path to a bucket + * s3://<bucket>, or the S3 path to a bucket and prefix + * s3://<bucket>/<prefix>. A prefix in S3 is a string of + * characters at the beginning of an object key name used to organize the objects + * that you store in your S3 buckets. For example, object key names that start with + * the engineering/ prefix or object key names that start with the + * marketing/campaigns/ prefix.

    + */ + inline void SetLocationScope(const Aws::String& value) { m_locationScopeHasBeenSet = true; m_locationScope = value; } + + /** + *

    The S3 path to the location that you are registering. The location scope can + * be the default S3 location s3://, the S3 path to a bucket + * s3://<bucket>, or the S3 path to a bucket and prefix + * s3://<bucket>/<prefix>. A prefix in S3 is a string of + * characters at the beginning of an object key name used to organize the objects + * that you store in your S3 buckets. For example, object key names that start with + * the engineering/ prefix or object key names that start with the + * marketing/campaigns/ prefix.

    + */ + inline void SetLocationScope(Aws::String&& value) { m_locationScopeHasBeenSet = true; m_locationScope = std::move(value); } + + /** + *

    The S3 path to the location that you are registering. The location scope can + * be the default S3 location s3://, the S3 path to a bucket + * s3://<bucket>, or the S3 path to a bucket and prefix + * s3://<bucket>/<prefix>. A prefix in S3 is a string of + * characters at the beginning of an object key name used to organize the objects + * that you store in your S3 buckets. For example, object key names that start with + * the engineering/ prefix or object key names that start with the + * marketing/campaigns/ prefix.

    + */ + inline void SetLocationScope(const char* value) { m_locationScopeHasBeenSet = true; m_locationScope.assign(value); } + + /** + *

    The S3 path to the location that you are registering. The location scope can + * be the default S3 location s3://, the S3 path to a bucket + * s3://<bucket>, or the S3 path to a bucket and prefix + * s3://<bucket>/<prefix>. A prefix in S3 is a string of + * characters at the beginning of an object key name used to organize the objects + * that you store in your S3 buckets. For example, object key names that start with + * the engineering/ prefix or object key names that start with the + * marketing/campaigns/ prefix.

    + */ + inline ListAccessGrantsLocationsEntry& WithLocationScope(const Aws::String& value) { SetLocationScope(value); return *this;} + + /** + *

    The S3 path to the location that you are registering. The location scope can + * be the default S3 location s3://, the S3 path to a bucket + * s3://<bucket>, or the S3 path to a bucket and prefix + * s3://<bucket>/<prefix>. A prefix in S3 is a string of + * characters at the beginning of an object key name used to organize the objects + * that you store in your S3 buckets. For example, object key names that start with + * the engineering/ prefix or object key names that start with the + * marketing/campaigns/ prefix.

    + */ + inline ListAccessGrantsLocationsEntry& WithLocationScope(Aws::String&& value) { SetLocationScope(std::move(value)); return *this;} + + /** + *

    The S3 path to the location that you are registering. The location scope can + * be the default S3 location s3://, the S3 path to a bucket + * s3://<bucket>, or the S3 path to a bucket and prefix + * s3://<bucket>/<prefix>. A prefix in S3 is a string of + * characters at the beginning of an object key name used to organize the objects + * that you store in your S3 buckets. For example, object key names that start with + * the engineering/ prefix or object key names that start with the + * marketing/campaigns/ prefix.

    + */ + inline ListAccessGrantsLocationsEntry& WithLocationScope(const char* value) { SetLocationScope(value); return *this;} + + + /** + *

    The Amazon Resource Name (ARN) of the IAM role for the registered location. + * S3 Access Grants assumes this role to manage access to the registered location. + *

    + */ + inline const Aws::String& GetIAMRoleArn() const{ return m_iAMRoleArn; } + + /** + *

    The Amazon Resource Name (ARN) of the IAM role for the registered location. + * S3 Access Grants assumes this role to manage access to the registered location. + *

    + */ + inline bool IAMRoleArnHasBeenSet() const { return m_iAMRoleArnHasBeenSet; } + + /** + *

    The Amazon Resource Name (ARN) of the IAM role for the registered location. + * S3 Access Grants assumes this role to manage access to the registered location. + *

    + */ + inline void SetIAMRoleArn(const Aws::String& value) { m_iAMRoleArnHasBeenSet = true; m_iAMRoleArn = value; } + + /** + *

    The Amazon Resource Name (ARN) of the IAM role for the registered location. + * S3 Access Grants assumes this role to manage access to the registered location. + *

    + */ + inline void SetIAMRoleArn(Aws::String&& value) { m_iAMRoleArnHasBeenSet = true; m_iAMRoleArn = std::move(value); } + + /** + *

    The Amazon Resource Name (ARN) of the IAM role for the registered location. + * S3 Access Grants assumes this role to manage access to the registered location. + *

    + */ + inline void SetIAMRoleArn(const char* value) { m_iAMRoleArnHasBeenSet = true; m_iAMRoleArn.assign(value); } + + /** + *

    The Amazon Resource Name (ARN) of the IAM role for the registered location. + * S3 Access Grants assumes this role to manage access to the registered location. + *

    + */ + inline ListAccessGrantsLocationsEntry& WithIAMRoleArn(const Aws::String& value) { SetIAMRoleArn(value); return *this;} + + /** + *

    The Amazon Resource Name (ARN) of the IAM role for the registered location. + * S3 Access Grants assumes this role to manage access to the registered location. + *

    + */ + inline ListAccessGrantsLocationsEntry& WithIAMRoleArn(Aws::String&& value) { SetIAMRoleArn(std::move(value)); return *this;} + + /** + *

    The Amazon Resource Name (ARN) of the IAM role for the registered location. + * S3 Access Grants assumes this role to manage access to the registered location. + *

    + */ + inline ListAccessGrantsLocationsEntry& WithIAMRoleArn(const char* value) { SetIAMRoleArn(value); return *this;} + + private: + + Aws::Utils::DateTime m_createdAt; + bool m_createdAtHasBeenSet = false; + + Aws::String m_accessGrantsLocationId; + bool m_accessGrantsLocationIdHasBeenSet = false; + + Aws::String m_accessGrantsLocationArn; + bool m_accessGrantsLocationArnHasBeenSet = false; + + Aws::String m_locationScope; + bool m_locationScopeHasBeenSet = false; + + Aws::String m_iAMRoleArn; + bool m_iAMRoleArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace S3Control +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/ListAccessGrantsLocationsRequest.h b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/ListAccessGrantsLocationsRequest.h new file mode 100644 index 00000000000..5337143c840 --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/ListAccessGrantsLocationsRequest.h @@ -0,0 +1,293 @@ +/** + * 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 S3Control +{ +namespace Model +{ + + /** + */ + class ListAccessGrantsLocationsRequest : public S3ControlRequest + { + public: + AWS_S3CONTROL_API ListAccessGrantsLocationsRequest(); + + // 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 "ListAccessGrantsLocations"; } + + AWS_S3CONTROL_API Aws::String SerializePayload() const override; + + AWS_S3CONTROL_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + AWS_S3CONTROL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + AWS_S3CONTROL_API inline bool ShouldComputeContentMd5() const override { return true; } + + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3CONTROL_API EndpointParameters GetEndpointContextParams() const override; + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline const Aws::String& GetAccountId() const{ return m_accountId; } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline ListAccessGrantsLocationsRequest& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;} + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline ListAccessGrantsLocationsRequest& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;} + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline ListAccessGrantsLocationsRequest& WithAccountId(const char* value) { SetAccountId(value); return *this;} + + + /** + *

    A pagination token to request the next page of results. Pass this value into + * a subsequent List Access Grants Locations request in order to + * retrieve the next page of results.

    + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + + /** + *

    A pagination token to request the next page of results. Pass this value into + * a subsequent List Access Grants Locations request in order to + * retrieve the next page of results.

    + */ + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + + /** + *

    A pagination token to request the next page of results. Pass this value into + * a subsequent List Access Grants Locations request in order to + * retrieve the next page of results.

    + */ + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + + /** + *

    A pagination token to request the next page of results. Pass this value into + * a subsequent List Access Grants Locations request in order to + * retrieve the next page of results.

    + */ + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + + /** + *

    A pagination token to request the next page of results. Pass this value into + * a subsequent List Access Grants Locations request in order to + * retrieve the next page of results.

    + */ + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + + /** + *

    A pagination token to request the next page of results. Pass this value into + * a subsequent List Access Grants Locations request in order to + * retrieve the next page of results.

    + */ + inline ListAccessGrantsLocationsRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + + /** + *

    A pagination token to request the next page of results. Pass this value into + * a subsequent List Access Grants Locations request in order to + * retrieve the next page of results.

    + */ + inline ListAccessGrantsLocationsRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + + /** + *

    A pagination token to request the next page of results. Pass this value into + * a subsequent List Access Grants Locations request in order to + * retrieve the next page of results.

    + */ + inline ListAccessGrantsLocationsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + + + /** + *

    The maximum number of access grants that you would like returned in the + * List Access Grants response. If the results include the pagination + * token NextToken, make another call using the NextToken + * to determine if there are more results.

    + */ + inline int GetMaxResults() const{ return m_maxResults; } + + /** + *

    The maximum number of access grants that you would like returned in the + * List Access Grants response. If the results include the pagination + * token NextToken, make another call using the NextToken + * to determine if there are more results.

    + */ + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + + /** + *

    The maximum number of access grants that you would like returned in the + * List Access Grants response. If the results include the pagination + * token NextToken, make another call using the NextToken + * to determine if there are more results.

    + */ + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + + /** + *

    The maximum number of access grants that you would like returned in the + * List Access Grants response. If the results include the pagination + * token NextToken, make another call using the NextToken + * to determine if there are more results.

    + */ + inline ListAccessGrantsLocationsRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + + + /** + *

    The S3 path to the location that you are registering. The location scope can + * be the default S3 location s3://, the S3 path to a bucket + * s3://<bucket>, or the S3 path to a bucket and prefix + * s3://<bucket>/<prefix>. A prefix in S3 is a string of + * characters at the beginning of an object key name used to organize the objects + * that you store in your S3 buckets. For example, object key names that start with + * the engineering/ prefix or object key names that start with the + * marketing/campaigns/ prefix.

    + */ + inline const Aws::String& GetLocationScope() const{ return m_locationScope; } + + /** + *

    The S3 path to the location that you are registering. The location scope can + * be the default S3 location s3://, the S3 path to a bucket + * s3://<bucket>, or the S3 path to a bucket and prefix + * s3://<bucket>/<prefix>. A prefix in S3 is a string of + * characters at the beginning of an object key name used to organize the objects + * that you store in your S3 buckets. For example, object key names that start with + * the engineering/ prefix or object key names that start with the + * marketing/campaigns/ prefix.

    + */ + inline bool LocationScopeHasBeenSet() const { return m_locationScopeHasBeenSet; } + + /** + *

    The S3 path to the location that you are registering. The location scope can + * be the default S3 location s3://, the S3 path to a bucket + * s3://<bucket>, or the S3 path to a bucket and prefix + * s3://<bucket>/<prefix>. A prefix in S3 is a string of + * characters at the beginning of an object key name used to organize the objects + * that you store in your S3 buckets. For example, object key names that start with + * the engineering/ prefix or object key names that start with the + * marketing/campaigns/ prefix.

    + */ + inline void SetLocationScope(const Aws::String& value) { m_locationScopeHasBeenSet = true; m_locationScope = value; } + + /** + *

    The S3 path to the location that you are registering. The location scope can + * be the default S3 location s3://, the S3 path to a bucket + * s3://<bucket>, or the S3 path to a bucket and prefix + * s3://<bucket>/<prefix>. A prefix in S3 is a string of + * characters at the beginning of an object key name used to organize the objects + * that you store in your S3 buckets. For example, object key names that start with + * the engineering/ prefix or object key names that start with the + * marketing/campaigns/ prefix.

    + */ + inline void SetLocationScope(Aws::String&& value) { m_locationScopeHasBeenSet = true; m_locationScope = std::move(value); } + + /** + *

    The S3 path to the location that you are registering. The location scope can + * be the default S3 location s3://, the S3 path to a bucket + * s3://<bucket>, or the S3 path to a bucket and prefix + * s3://<bucket>/<prefix>. A prefix in S3 is a string of + * characters at the beginning of an object key name used to organize the objects + * that you store in your S3 buckets. For example, object key names that start with + * the engineering/ prefix or object key names that start with the + * marketing/campaigns/ prefix.

    + */ + inline void SetLocationScope(const char* value) { m_locationScopeHasBeenSet = true; m_locationScope.assign(value); } + + /** + *

    The S3 path to the location that you are registering. The location scope can + * be the default S3 location s3://, the S3 path to a bucket + * s3://<bucket>, or the S3 path to a bucket and prefix + * s3://<bucket>/<prefix>. A prefix in S3 is a string of + * characters at the beginning of an object key name used to organize the objects + * that you store in your S3 buckets. For example, object key names that start with + * the engineering/ prefix or object key names that start with the + * marketing/campaigns/ prefix.

    + */ + inline ListAccessGrantsLocationsRequest& WithLocationScope(const Aws::String& value) { SetLocationScope(value); return *this;} + + /** + *

    The S3 path to the location that you are registering. The location scope can + * be the default S3 location s3://, the S3 path to a bucket + * s3://<bucket>, or the S3 path to a bucket and prefix + * s3://<bucket>/<prefix>. A prefix in S3 is a string of + * characters at the beginning of an object key name used to organize the objects + * that you store in your S3 buckets. For example, object key names that start with + * the engineering/ prefix or object key names that start with the + * marketing/campaigns/ prefix.

    + */ + inline ListAccessGrantsLocationsRequest& WithLocationScope(Aws::String&& value) { SetLocationScope(std::move(value)); return *this;} + + /** + *

    The S3 path to the location that you are registering. The location scope can + * be the default S3 location s3://, the S3 path to a bucket + * s3://<bucket>, or the S3 path to a bucket and prefix + * s3://<bucket>/<prefix>. A prefix in S3 is a string of + * characters at the beginning of an object key name used to organize the objects + * that you store in your S3 buckets. For example, object key names that start with + * the engineering/ prefix or object key names that start with the + * marketing/campaigns/ prefix.

    + */ + inline ListAccessGrantsLocationsRequest& WithLocationScope(const char* value) { SetLocationScope(value); return *this;} + + private: + + Aws::String m_accountId; + bool m_accountIdHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + + Aws::String m_locationScope; + bool m_locationScopeHasBeenSet = false; + }; + +} // namespace Model +} // namespace S3Control +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/ListAccessGrantsLocationsResult.h b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/ListAccessGrantsLocationsResult.h new file mode 100644 index 00000000000..84690549113 --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/ListAccessGrantsLocationsResult.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 +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace S3Control +{ +namespace Model +{ + class ListAccessGrantsLocationsResult + { + public: + AWS_S3CONTROL_API ListAccessGrantsLocationsResult(); + AWS_S3CONTROL_API ListAccessGrantsLocationsResult(const Aws::AmazonWebServiceResult& result); + AWS_S3CONTROL_API ListAccessGrantsLocationsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

    A pagination token to request the next page of results. Pass this value into + * a subsequent List Access Grants Locations request in order to + * retrieve the next page of results.

    + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + + /** + *

    A pagination token to request the next page of results. Pass this value into + * a subsequent List Access Grants Locations request in order to + * retrieve the next page of results.

    + */ + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + + /** + *

    A pagination token to request the next page of results. Pass this value into + * a subsequent List Access Grants Locations request in order to + * retrieve the next page of results.

    + */ + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + + /** + *

    A pagination token to request the next page of results. Pass this value into + * a subsequent List Access Grants Locations request in order to + * retrieve the next page of results.

    + */ + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + + /** + *

    A pagination token to request the next page of results. Pass this value into + * a subsequent List Access Grants Locations request in order to + * retrieve the next page of results.

    + */ + inline ListAccessGrantsLocationsResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + + /** + *

    A pagination token to request the next page of results. Pass this value into + * a subsequent List Access Grants Locations request in order to + * retrieve the next page of results.

    + */ + inline ListAccessGrantsLocationsResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + + /** + *

    A pagination token to request the next page of results. Pass this value into + * a subsequent List Access Grants Locations request in order to + * retrieve the next page of results.

    + */ + inline ListAccessGrantsLocationsResult& WithNextToken(const char* value) { SetNextToken(value); return *this;} + + + /** + *

    A container for a list of registered locations in an S3 Access Grants + * instance.

    + */ + inline const Aws::Vector& GetAccessGrantsLocationsList() const{ return m_accessGrantsLocationsList; } + + /** + *

    A container for a list of registered locations in an S3 Access Grants + * instance.

    + */ + inline void SetAccessGrantsLocationsList(const Aws::Vector& value) { m_accessGrantsLocationsList = value; } + + /** + *

    A container for a list of registered locations in an S3 Access Grants + * instance.

    + */ + inline void SetAccessGrantsLocationsList(Aws::Vector&& value) { m_accessGrantsLocationsList = std::move(value); } + + /** + *

    A container for a list of registered locations in an S3 Access Grants + * instance.

    + */ + inline ListAccessGrantsLocationsResult& WithAccessGrantsLocationsList(const Aws::Vector& value) { SetAccessGrantsLocationsList(value); return *this;} + + /** + *

    A container for a list of registered locations in an S3 Access Grants + * instance.

    + */ + inline ListAccessGrantsLocationsResult& WithAccessGrantsLocationsList(Aws::Vector&& value) { SetAccessGrantsLocationsList(std::move(value)); return *this;} + + /** + *

    A container for a list of registered locations in an S3 Access Grants + * instance.

    + */ + inline ListAccessGrantsLocationsResult& AddAccessGrantsLocationsList(const ListAccessGrantsLocationsEntry& value) { m_accessGrantsLocationsList.push_back(value); return *this; } + + /** + *

    A container for a list of registered locations in an S3 Access Grants + * instance.

    + */ + inline ListAccessGrantsLocationsResult& AddAccessGrantsLocationsList(ListAccessGrantsLocationsEntry&& value) { m_accessGrantsLocationsList.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 ListAccessGrantsLocationsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline ListAccessGrantsLocationsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline ListAccessGrantsLocationsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::String m_nextToken; + + Aws::Vector m_accessGrantsLocationsList; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace S3Control +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/ListAccessGrantsRequest.h b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/ListAccessGrantsRequest.h new file mode 100644 index 00000000000..6b285567ab8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/ListAccessGrantsRequest.h @@ -0,0 +1,545 @@ +/** + * 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 S3Control +{ +namespace Model +{ + + /** + */ + class ListAccessGrantsRequest : public S3ControlRequest + { + public: + AWS_S3CONTROL_API ListAccessGrantsRequest(); + + // 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 "ListAccessGrants"; } + + AWS_S3CONTROL_API Aws::String SerializePayload() const override; + + AWS_S3CONTROL_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + AWS_S3CONTROL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + AWS_S3CONTROL_API inline bool ShouldComputeContentMd5() const override { return true; } + + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3CONTROL_API EndpointParameters GetEndpointContextParams() const override; + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline const Aws::String& GetAccountId() const{ return m_accountId; } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline ListAccessGrantsRequest& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;} + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline ListAccessGrantsRequest& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;} + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline ListAccessGrantsRequest& WithAccountId(const char* value) { SetAccountId(value); return *this;} + + + /** + *

    A pagination token to request the next page of results. Pass this value into + * a subsequent List Access Grants request in order to retrieve the + * next page of results.

    + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + + /** + *

    A pagination token to request the next page of results. Pass this value into + * a subsequent List Access Grants request in order to retrieve the + * next page of results.

    + */ + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + + /** + *

    A pagination token to request the next page of results. Pass this value into + * a subsequent List Access Grants request in order to retrieve the + * next page of results.

    + */ + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + + /** + *

    A pagination token to request the next page of results. Pass this value into + * a subsequent List Access Grants request in order to retrieve the + * next page of results.

    + */ + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + + /** + *

    A pagination token to request the next page of results. Pass this value into + * a subsequent List Access Grants request in order to retrieve the + * next page of results.

    + */ + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + + /** + *

    A pagination token to request the next page of results. Pass this value into + * a subsequent List Access Grants request in order to retrieve the + * next page of results.

    + */ + inline ListAccessGrantsRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + + /** + *

    A pagination token to request the next page of results. Pass this value into + * a subsequent List Access Grants request in order to retrieve the + * next page of results.

    + */ + inline ListAccessGrantsRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + + /** + *

    A pagination token to request the next page of results. Pass this value into + * a subsequent List Access Grants request in order to retrieve the + * next page of results.

    + */ + inline ListAccessGrantsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + + + /** + *

    The maximum number of access grants that you would like returned in the + * List Access Grants response. If the results include the pagination + * token NextToken, make another call using the NextToken + * to determine if there are more results.

    + */ + inline int GetMaxResults() const{ return m_maxResults; } + + /** + *

    The maximum number of access grants that you would like returned in the + * List Access Grants response. If the results include the pagination + * token NextToken, make another call using the NextToken + * to determine if there are more results.

    + */ + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + + /** + *

    The maximum number of access grants that you would like returned in the + * List Access Grants response. If the results include the pagination + * token NextToken, make another call using the NextToken + * to determine if there are more results.

    + */ + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + + /** + *

    The maximum number of access grants that you would like returned in the + * List Access Grants response. If the results include the pagination + * token NextToken, make another call using the NextToken + * to determine if there are more results.

    + */ + inline ListAccessGrantsRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + + + /** + *

    The type of the grantee to which access has been granted. It can be one of + * the following values:

    • IAM - An IAM user or + * role.

    • DIRECTORY_USER - Your corporate directory + * user. You can use this option if you have added your corporate identity + * directory to IAM Identity Center and associated the IAM Identity Center instance + * with your S3 Access Grants instance.

    • + * DIRECTORY_GROUP - Your corporate directory group. You can use this + * option if you have added your corporate identity directory to IAM Identity + * Center and associated the IAM Identity Center instance with your S3 Access + * Grants instance.

    + */ + inline const GranteeType& GetGranteeType() const{ return m_granteeType; } + + /** + *

    The type of the grantee to which access has been granted. It can be one of + * the following values:

    • IAM - An IAM user or + * role.

    • DIRECTORY_USER - Your corporate directory + * user. You can use this option if you have added your corporate identity + * directory to IAM Identity Center and associated the IAM Identity Center instance + * with your S3 Access Grants instance.

    • + * DIRECTORY_GROUP - Your corporate directory group. You can use this + * option if you have added your corporate identity directory to IAM Identity + * Center and associated the IAM Identity Center instance with your S3 Access + * Grants instance.

    + */ + inline bool GranteeTypeHasBeenSet() const { return m_granteeTypeHasBeenSet; } + + /** + *

    The type of the grantee to which access has been granted. It can be one of + * the following values:

    • IAM - An IAM user or + * role.

    • DIRECTORY_USER - Your corporate directory + * user. You can use this option if you have added your corporate identity + * directory to IAM Identity Center and associated the IAM Identity Center instance + * with your S3 Access Grants instance.

    • + * DIRECTORY_GROUP - Your corporate directory group. You can use this + * option if you have added your corporate identity directory to IAM Identity + * Center and associated the IAM Identity Center instance with your S3 Access + * Grants instance.

    + */ + inline void SetGranteeType(const GranteeType& value) { m_granteeTypeHasBeenSet = true; m_granteeType = value; } + + /** + *

    The type of the grantee to which access has been granted. It can be one of + * the following values:

    • IAM - An IAM user or + * role.

    • DIRECTORY_USER - Your corporate directory + * user. You can use this option if you have added your corporate identity + * directory to IAM Identity Center and associated the IAM Identity Center instance + * with your S3 Access Grants instance.

    • + * DIRECTORY_GROUP - Your corporate directory group. You can use this + * option if you have added your corporate identity directory to IAM Identity + * Center and associated the IAM Identity Center instance with your S3 Access + * Grants instance.

    + */ + inline void SetGranteeType(GranteeType&& value) { m_granteeTypeHasBeenSet = true; m_granteeType = std::move(value); } + + /** + *

    The type of the grantee to which access has been granted. It can be one of + * the following values:

    • IAM - An IAM user or + * role.

    • DIRECTORY_USER - Your corporate directory + * user. You can use this option if you have added your corporate identity + * directory to IAM Identity Center and associated the IAM Identity Center instance + * with your S3 Access Grants instance.

    • + * DIRECTORY_GROUP - Your corporate directory group. You can use this + * option if you have added your corporate identity directory to IAM Identity + * Center and associated the IAM Identity Center instance with your S3 Access + * Grants instance.

    + */ + inline ListAccessGrantsRequest& WithGranteeType(const GranteeType& value) { SetGranteeType(value); return *this;} + + /** + *

    The type of the grantee to which access has been granted. It can be one of + * the following values:

    • IAM - An IAM user or + * role.

    • DIRECTORY_USER - Your corporate directory + * user. You can use this option if you have added your corporate identity + * directory to IAM Identity Center and associated the IAM Identity Center instance + * with your S3 Access Grants instance.

    • + * DIRECTORY_GROUP - Your corporate directory group. You can use this + * option if you have added your corporate identity directory to IAM Identity + * Center and associated the IAM Identity Center instance with your S3 Access + * Grants instance.

    + */ + inline ListAccessGrantsRequest& WithGranteeType(GranteeType&& value) { SetGranteeType(std::move(value)); return *this;} + + + /** + *

    The unique identifer of the Grantee. If the grantee type is + * IAM, the identifier is the IAM Amazon Resource Name (ARN) of the + * user or role. If the grantee type is a directory user or group, the identifier + * is 128-bit universally unique identifier (UUID) in the format + * a1b2c3d4-5678-90ab-cdef-EXAMPLE11111. You can obtain this UUID from + * your Amazon Web Services IAM Identity Center instance.

    + */ + inline const Aws::String& GetGranteeIdentifier() const{ return m_granteeIdentifier; } + + /** + *

    The unique identifer of the Grantee. If the grantee type is + * IAM, the identifier is the IAM Amazon Resource Name (ARN) of the + * user or role. If the grantee type is a directory user or group, the identifier + * is 128-bit universally unique identifier (UUID) in the format + * a1b2c3d4-5678-90ab-cdef-EXAMPLE11111. You can obtain this UUID from + * your Amazon Web Services IAM Identity Center instance.

    + */ + inline bool GranteeIdentifierHasBeenSet() const { return m_granteeIdentifierHasBeenSet; } + + /** + *

    The unique identifer of the Grantee. If the grantee type is + * IAM, the identifier is the IAM Amazon Resource Name (ARN) of the + * user or role. If the grantee type is a directory user or group, the identifier + * is 128-bit universally unique identifier (UUID) in the format + * a1b2c3d4-5678-90ab-cdef-EXAMPLE11111. You can obtain this UUID from + * your Amazon Web Services IAM Identity Center instance.

    + */ + inline void SetGranteeIdentifier(const Aws::String& value) { m_granteeIdentifierHasBeenSet = true; m_granteeIdentifier = value; } + + /** + *

    The unique identifer of the Grantee. If the grantee type is + * IAM, the identifier is the IAM Amazon Resource Name (ARN) of the + * user or role. If the grantee type is a directory user or group, the identifier + * is 128-bit universally unique identifier (UUID) in the format + * a1b2c3d4-5678-90ab-cdef-EXAMPLE11111. You can obtain this UUID from + * your Amazon Web Services IAM Identity Center instance.

    + */ + inline void SetGranteeIdentifier(Aws::String&& value) { m_granteeIdentifierHasBeenSet = true; m_granteeIdentifier = std::move(value); } + + /** + *

    The unique identifer of the Grantee. If the grantee type is + * IAM, the identifier is the IAM Amazon Resource Name (ARN) of the + * user or role. If the grantee type is a directory user or group, the identifier + * is 128-bit universally unique identifier (UUID) in the format + * a1b2c3d4-5678-90ab-cdef-EXAMPLE11111. You can obtain this UUID from + * your Amazon Web Services IAM Identity Center instance.

    + */ + inline void SetGranteeIdentifier(const char* value) { m_granteeIdentifierHasBeenSet = true; m_granteeIdentifier.assign(value); } + + /** + *

    The unique identifer of the Grantee. If the grantee type is + * IAM, the identifier is the IAM Amazon Resource Name (ARN) of the + * user or role. If the grantee type is a directory user or group, the identifier + * is 128-bit universally unique identifier (UUID) in the format + * a1b2c3d4-5678-90ab-cdef-EXAMPLE11111. You can obtain this UUID from + * your Amazon Web Services IAM Identity Center instance.

    + */ + inline ListAccessGrantsRequest& WithGranteeIdentifier(const Aws::String& value) { SetGranteeIdentifier(value); return *this;} + + /** + *

    The unique identifer of the Grantee. If the grantee type is + * IAM, the identifier is the IAM Amazon Resource Name (ARN) of the + * user or role. If the grantee type is a directory user or group, the identifier + * is 128-bit universally unique identifier (UUID) in the format + * a1b2c3d4-5678-90ab-cdef-EXAMPLE11111. You can obtain this UUID from + * your Amazon Web Services IAM Identity Center instance.

    + */ + inline ListAccessGrantsRequest& WithGranteeIdentifier(Aws::String&& value) { SetGranteeIdentifier(std::move(value)); return *this;} + + /** + *

    The unique identifer of the Grantee. If the grantee type is + * IAM, the identifier is the IAM Amazon Resource Name (ARN) of the + * user or role. If the grantee type is a directory user or group, the identifier + * is 128-bit universally unique identifier (UUID) in the format + * a1b2c3d4-5678-90ab-cdef-EXAMPLE11111. You can obtain this UUID from + * your Amazon Web Services IAM Identity Center instance.

    + */ + inline ListAccessGrantsRequest& WithGranteeIdentifier(const char* value) { SetGranteeIdentifier(value); return *this;} + + + /** + *

    The type of permission granted to your S3 data, which can be set to one of + * the following values:

    • READ – Grant read-only + * access to the S3 data.

    • WRITE – Grant write-only + * access to the S3 data.

    • READWRITE – Grant both + * read and write access to the S3 data.

    + */ + inline const Permission& GetPermission() const{ return m_permission; } + + /** + *

    The type of permission granted to your S3 data, which can be set to one of + * the following values:

    • READ – Grant read-only + * access to the S3 data.

    • WRITE – Grant write-only + * access to the S3 data.

    • READWRITE – Grant both + * read and write access to the S3 data.

    + */ + inline bool PermissionHasBeenSet() const { return m_permissionHasBeenSet; } + + /** + *

    The type of permission granted to your S3 data, which can be set to one of + * the following values:

    • READ – Grant read-only + * access to the S3 data.

    • WRITE – Grant write-only + * access to the S3 data.

    • READWRITE – Grant both + * read and write access to the S3 data.

    + */ + inline void SetPermission(const Permission& value) { m_permissionHasBeenSet = true; m_permission = value; } + + /** + *

    The type of permission granted to your S3 data, which can be set to one of + * the following values:

    • READ – Grant read-only + * access to the S3 data.

    • WRITE – Grant write-only + * access to the S3 data.

    • READWRITE – Grant both + * read and write access to the S3 data.

    + */ + inline void SetPermission(Permission&& value) { m_permissionHasBeenSet = true; m_permission = std::move(value); } + + /** + *

    The type of permission granted to your S3 data, which can be set to one of + * the following values:

    • READ – Grant read-only + * access to the S3 data.

    • WRITE – Grant write-only + * access to the S3 data.

    • READWRITE – Grant both + * read and write access to the S3 data.

    + */ + inline ListAccessGrantsRequest& WithPermission(const Permission& value) { SetPermission(value); return *this;} + + /** + *

    The type of permission granted to your S3 data, which can be set to one of + * the following values:

    • READ – Grant read-only + * access to the S3 data.

    • WRITE – Grant write-only + * access to the S3 data.

    • READWRITE – Grant both + * read and write access to the S3 data.

    + */ + inline ListAccessGrantsRequest& WithPermission(Permission&& value) { SetPermission(std::move(value)); return *this;} + + + /** + *

    The S3 path of the data to which you are granting access. It is the result of + * appending the Subprefix to the location scope.

    + */ + inline const Aws::String& GetGrantScope() const{ return m_grantScope; } + + /** + *

    The S3 path of the data to which you are granting access. It is the result of + * appending the Subprefix to the location scope.

    + */ + inline bool GrantScopeHasBeenSet() const { return m_grantScopeHasBeenSet; } + + /** + *

    The S3 path of the data to which you are granting access. It is the result of + * appending the Subprefix to the location scope.

    + */ + inline void SetGrantScope(const Aws::String& value) { m_grantScopeHasBeenSet = true; m_grantScope = value; } + + /** + *

    The S3 path of the data to which you are granting access. It is the result of + * appending the Subprefix to the location scope.

    + */ + inline void SetGrantScope(Aws::String&& value) { m_grantScopeHasBeenSet = true; m_grantScope = std::move(value); } + + /** + *

    The S3 path of the data to which you are granting access. It is the result of + * appending the Subprefix to the location scope.

    + */ + inline void SetGrantScope(const char* value) { m_grantScopeHasBeenSet = true; m_grantScope.assign(value); } + + /** + *

    The S3 path of the data to which you are granting access. It is the result of + * appending the Subprefix to the location scope.

    + */ + inline ListAccessGrantsRequest& WithGrantScope(const Aws::String& value) { SetGrantScope(value); return *this;} + + /** + *

    The S3 path of the data to which you are granting access. It is the result of + * appending the Subprefix to the location scope.

    + */ + inline ListAccessGrantsRequest& WithGrantScope(Aws::String&& value) { SetGrantScope(std::move(value)); return *this;} + + /** + *

    The S3 path of the data to which you are granting access. It is the result of + * appending the Subprefix to the location scope.

    + */ + inline ListAccessGrantsRequest& WithGrantScope(const char* value) { SetGrantScope(value); return *this;} + + + /** + *

    The Amazon Resource Name (ARN) of an Amazon Web Services IAM Identity Center + * application associated with your Identity Center instance. If the grant includes + * an application ARN, the grantee can only access the S3 data through this + * application.

    + */ + inline const Aws::String& GetApplicationArn() const{ return m_applicationArn; } + + /** + *

    The Amazon Resource Name (ARN) of an Amazon Web Services IAM Identity Center + * application associated with your Identity Center instance. If the grant includes + * an application ARN, the grantee can only access the S3 data through this + * application.

    + */ + inline bool ApplicationArnHasBeenSet() const { return m_applicationArnHasBeenSet; } + + /** + *

    The Amazon Resource Name (ARN) of an Amazon Web Services IAM Identity Center + * application associated with your Identity Center instance. If the grant includes + * an application ARN, the grantee can only access the S3 data through this + * application.

    + */ + inline void SetApplicationArn(const Aws::String& value) { m_applicationArnHasBeenSet = true; m_applicationArn = value; } + + /** + *

    The Amazon Resource Name (ARN) of an Amazon Web Services IAM Identity Center + * application associated with your Identity Center instance. If the grant includes + * an application ARN, the grantee can only access the S3 data through this + * application.

    + */ + inline void SetApplicationArn(Aws::String&& value) { m_applicationArnHasBeenSet = true; m_applicationArn = std::move(value); } + + /** + *

    The Amazon Resource Name (ARN) of an Amazon Web Services IAM Identity Center + * application associated with your Identity Center instance. If the grant includes + * an application ARN, the grantee can only access the S3 data through this + * application.

    + */ + inline void SetApplicationArn(const char* value) { m_applicationArnHasBeenSet = true; m_applicationArn.assign(value); } + + /** + *

    The Amazon Resource Name (ARN) of an Amazon Web Services IAM Identity Center + * application associated with your Identity Center instance. If the grant includes + * an application ARN, the grantee can only access the S3 data through this + * application.

    + */ + inline ListAccessGrantsRequest& WithApplicationArn(const Aws::String& value) { SetApplicationArn(value); return *this;} + + /** + *

    The Amazon Resource Name (ARN) of an Amazon Web Services IAM Identity Center + * application associated with your Identity Center instance. If the grant includes + * an application ARN, the grantee can only access the S3 data through this + * application.

    + */ + inline ListAccessGrantsRequest& WithApplicationArn(Aws::String&& value) { SetApplicationArn(std::move(value)); return *this;} + + /** + *

    The Amazon Resource Name (ARN) of an Amazon Web Services IAM Identity Center + * application associated with your Identity Center instance. If the grant includes + * an application ARN, the grantee can only access the S3 data through this + * application.

    + */ + inline ListAccessGrantsRequest& WithApplicationArn(const char* value) { SetApplicationArn(value); return *this;} + + private: + + Aws::String m_accountId; + bool m_accountIdHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + + GranteeType m_granteeType; + bool m_granteeTypeHasBeenSet = false; + + Aws::String m_granteeIdentifier; + bool m_granteeIdentifierHasBeenSet = false; + + Permission m_permission; + bool m_permissionHasBeenSet = false; + + Aws::String m_grantScope; + bool m_grantScopeHasBeenSet = false; + + Aws::String m_applicationArn; + bool m_applicationArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace S3Control +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/ListAccessGrantsResult.h b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/ListAccessGrantsResult.h new file mode 100644 index 00000000000..014fa814127 --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/ListAccessGrantsResult.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 + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace S3Control +{ +namespace Model +{ + class ListAccessGrantsResult + { + public: + AWS_S3CONTROL_API ListAccessGrantsResult(); + AWS_S3CONTROL_API ListAccessGrantsResult(const Aws::AmazonWebServiceResult& result); + AWS_S3CONTROL_API ListAccessGrantsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

    A pagination token to request the next page of results. Pass this value into + * a subsequent List Access Grants request in order to retrieve the + * next page of results.

    + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + + /** + *

    A pagination token to request the next page of results. Pass this value into + * a subsequent List Access Grants request in order to retrieve the + * next page of results.

    + */ + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + + /** + *

    A pagination token to request the next page of results. Pass this value into + * a subsequent List Access Grants request in order to retrieve the + * next page of results.

    + */ + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + + /** + *

    A pagination token to request the next page of results. Pass this value into + * a subsequent List Access Grants request in order to retrieve the + * next page of results.

    + */ + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + + /** + *

    A pagination token to request the next page of results. Pass this value into + * a subsequent List Access Grants request in order to retrieve the + * next page of results.

    + */ + inline ListAccessGrantsResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + + /** + *

    A pagination token to request the next page of results. Pass this value into + * a subsequent List Access Grants request in order to retrieve the + * next page of results.

    + */ + inline ListAccessGrantsResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + + /** + *

    A pagination token to request the next page of results. Pass this value into + * a subsequent List Access Grants request in order to retrieve the + * next page of results.

    + */ + inline ListAccessGrantsResult& WithNextToken(const char* value) { SetNextToken(value); return *this;} + + + /** + *

    A container for a list of grants in an S3 Access Grants instance.

    + */ + inline const Aws::Vector& GetAccessGrantsList() const{ return m_accessGrantsList; } + + /** + *

    A container for a list of grants in an S3 Access Grants instance.

    + */ + inline void SetAccessGrantsList(const Aws::Vector& value) { m_accessGrantsList = value; } + + /** + *

    A container for a list of grants in an S3 Access Grants instance.

    + */ + inline void SetAccessGrantsList(Aws::Vector&& value) { m_accessGrantsList = std::move(value); } + + /** + *

    A container for a list of grants in an S3 Access Grants instance.

    + */ + inline ListAccessGrantsResult& WithAccessGrantsList(const Aws::Vector& value) { SetAccessGrantsList(value); return *this;} + + /** + *

    A container for a list of grants in an S3 Access Grants instance.

    + */ + inline ListAccessGrantsResult& WithAccessGrantsList(Aws::Vector&& value) { SetAccessGrantsList(std::move(value)); return *this;} + + /** + *

    A container for a list of grants in an S3 Access Grants instance.

    + */ + inline ListAccessGrantsResult& AddAccessGrantsList(const ListAccessGrantEntry& value) { m_accessGrantsList.push_back(value); return *this; } + + /** + *

    A container for a list of grants in an S3 Access Grants instance.

    + */ + inline ListAccessGrantsResult& AddAccessGrantsList(ListAccessGrantEntry&& value) { m_accessGrantsList.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 ListAccessGrantsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline ListAccessGrantsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline ListAccessGrantsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::String m_nextToken; + + Aws::Vector m_accessGrantsList; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace S3Control +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/ListTagsForResourceRequest.h b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/ListTagsForResourceRequest.h index d1e59dbb68d..8d29842f736 100644 --- a/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/ListTagsForResourceRequest.h +++ b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/ListTagsForResourceRequest.h @@ -81,49 +81,57 @@ namespace Model /** *

    The Amazon Resource Name (ARN) of the S3 resource that you want to list the - * tags for.

    + * tags for. The tagged resource can be an S3 Storage Lens group or S3 Access + * Grants instance, registered location, or grant.

    */ inline const Aws::String& GetResourceArn() const{ return m_resourceArn; } /** *

    The Amazon Resource Name (ARN) of the S3 resource that you want to list the - * tags for.

    + * tags for. The tagged resource can be an S3 Storage Lens group or S3 Access + * Grants instance, registered location, or grant.

    */ inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; } /** *

    The Amazon Resource Name (ARN) of the S3 resource that you want to list the - * tags for.

    + * tags for. The tagged resource can be an S3 Storage Lens group or S3 Access + * Grants instance, registered location, or grant.

    */ inline void SetResourceArn(const Aws::String& value) { m_resourceArnHasBeenSet = true; m_resourceArn = value; } /** *

    The Amazon Resource Name (ARN) of the S3 resource that you want to list the - * tags for.

    + * tags for. The tagged resource can be an S3 Storage Lens group or S3 Access + * Grants instance, registered location, or grant.

    */ inline void SetResourceArn(Aws::String&& value) { m_resourceArnHasBeenSet = true; m_resourceArn = std::move(value); } /** *

    The Amazon Resource Name (ARN) of the S3 resource that you want to list the - * tags for.

    + * tags for. The tagged resource can be an S3 Storage Lens group or S3 Access + * Grants instance, registered location, or grant.

    */ inline void SetResourceArn(const char* value) { m_resourceArnHasBeenSet = true; m_resourceArn.assign(value); } /** *

    The Amazon Resource Name (ARN) of the S3 resource that you want to list the - * tags for.

    + * tags for. The tagged resource can be an S3 Storage Lens group or S3 Access + * Grants instance, registered location, or grant.

    */ inline ListTagsForResourceRequest& WithResourceArn(const Aws::String& value) { SetResourceArn(value); return *this;} /** *

    The Amazon Resource Name (ARN) of the S3 resource that you want to list the - * tags for.

    + * tags for. The tagged resource can be an S3 Storage Lens group or S3 Access + * Grants instance, registered location, or grant.

    */ inline ListTagsForResourceRequest& WithResourceArn(Aws::String&& value) { SetResourceArn(std::move(value)); return *this;} /** *

    The Amazon Resource Name (ARN) of the S3 resource that you want to list the - * tags for.

    + * tags for. The tagged resource can be an S3 Storage Lens group or S3 Access + * Grants instance, registered location, or grant.

    */ inline ListTagsForResourceRequest& WithResourceArn(const char* value) { SetResourceArn(value); return *this;} diff --git a/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/Permission.h b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/Permission.h new file mode 100644 index 00000000000..23b640875cb --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/Permission.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 S3Control +{ +namespace Model +{ + enum class Permission + { + NOT_SET, + READ, + WRITE, + READWRITE + }; + +namespace PermissionMapper +{ +AWS_S3CONTROL_API Permission GetPermissionForName(const Aws::String& name); + +AWS_S3CONTROL_API Aws::String GetNameForPermission(Permission value); +} // namespace PermissionMapper +} // namespace Model +} // namespace S3Control +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/Privilege.h b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/Privilege.h new file mode 100644 index 00000000000..0c8e77d3730 --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/Privilege.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 S3Control +{ +namespace Model +{ + enum class Privilege + { + NOT_SET, + Minimal, + Default + }; + +namespace PrivilegeMapper +{ +AWS_S3CONTROL_API Privilege GetPrivilegeForName(const Aws::String& name); + +AWS_S3CONTROL_API Aws::String GetNameForPrivilege(Privilege value); +} // namespace PrivilegeMapper +} // namespace Model +} // namespace S3Control +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/PutAccessGrantsInstanceResourcePolicyRequest.h b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/PutAccessGrantsInstanceResourcePolicyRequest.h new file mode 100644 index 00000000000..1001ef833be --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/PutAccessGrantsInstanceResourcePolicyRequest.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 + +namespace Aws +{ +namespace S3Control +{ +namespace Model +{ + + /** + */ + class PutAccessGrantsInstanceResourcePolicyRequest : public S3ControlRequest + { + public: + AWS_S3CONTROL_API PutAccessGrantsInstanceResourcePolicyRequest(); + + // 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 "PutAccessGrantsInstanceResourcePolicy"; } + + AWS_S3CONTROL_API Aws::String SerializePayload() const override; + + AWS_S3CONTROL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + AWS_S3CONTROL_API inline bool ShouldComputeContentMd5() const override { return true; } + + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3CONTROL_API EndpointParameters GetEndpointContextParams() const override; + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline const Aws::String& GetAccountId() const{ return m_accountId; } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline PutAccessGrantsInstanceResourcePolicyRequest& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;} + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline PutAccessGrantsInstanceResourcePolicyRequest& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;} + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline PutAccessGrantsInstanceResourcePolicyRequest& WithAccountId(const char* value) { SetAccountId(value); return *this;} + + + /** + *

    The resource policy of the S3 Access Grants instance that you are + * updating.

    + */ + inline const Aws::String& GetPolicy() const{ return m_policy; } + + /** + *

    The resource policy of the S3 Access Grants instance that you are + * updating.

    + */ + inline bool PolicyHasBeenSet() const { return m_policyHasBeenSet; } + + /** + *

    The resource policy of the S3 Access Grants instance that you are + * updating.

    + */ + inline void SetPolicy(const Aws::String& value) { m_policyHasBeenSet = true; m_policy = value; } + + /** + *

    The resource policy of the S3 Access Grants instance that you are + * updating.

    + */ + inline void SetPolicy(Aws::String&& value) { m_policyHasBeenSet = true; m_policy = std::move(value); } + + /** + *

    The resource policy of the S3 Access Grants instance that you are + * updating.

    + */ + inline void SetPolicy(const char* value) { m_policyHasBeenSet = true; m_policy.assign(value); } + + /** + *

    The resource policy of the S3 Access Grants instance that you are + * updating.

    + */ + inline PutAccessGrantsInstanceResourcePolicyRequest& WithPolicy(const Aws::String& value) { SetPolicy(value); return *this;} + + /** + *

    The resource policy of the S3 Access Grants instance that you are + * updating.

    + */ + inline PutAccessGrantsInstanceResourcePolicyRequest& WithPolicy(Aws::String&& value) { SetPolicy(std::move(value)); return *this;} + + /** + *

    The resource policy of the S3 Access Grants instance that you are + * updating.

    + */ + inline PutAccessGrantsInstanceResourcePolicyRequest& WithPolicy(const char* value) { SetPolicy(value); return *this;} + + + /** + *

    The Organization of the resource policy of the S3 Access Grants instance.

    + */ + inline const Aws::String& GetOrganization() const{ return m_organization; } + + /** + *

    The Organization of the resource policy of the S3 Access Grants instance.

    + */ + inline bool OrganizationHasBeenSet() const { return m_organizationHasBeenSet; } + + /** + *

    The Organization of the resource policy of the S3 Access Grants instance.

    + */ + inline void SetOrganization(const Aws::String& value) { m_organizationHasBeenSet = true; m_organization = value; } + + /** + *

    The Organization of the resource policy of the S3 Access Grants instance.

    + */ + inline void SetOrganization(Aws::String&& value) { m_organizationHasBeenSet = true; m_organization = std::move(value); } + + /** + *

    The Organization of the resource policy of the S3 Access Grants instance.

    + */ + inline void SetOrganization(const char* value) { m_organizationHasBeenSet = true; m_organization.assign(value); } + + /** + *

    The Organization of the resource policy of the S3 Access Grants instance.

    + */ + inline PutAccessGrantsInstanceResourcePolicyRequest& WithOrganization(const Aws::String& value) { SetOrganization(value); return *this;} + + /** + *

    The Organization of the resource policy of the S3 Access Grants instance.

    + */ + inline PutAccessGrantsInstanceResourcePolicyRequest& WithOrganization(Aws::String&& value) { SetOrganization(std::move(value)); return *this;} + + /** + *

    The Organization of the resource policy of the S3 Access Grants instance.

    + */ + inline PutAccessGrantsInstanceResourcePolicyRequest& WithOrganization(const char* value) { SetOrganization(value); return *this;} + + private: + + Aws::String m_accountId; + bool m_accountIdHasBeenSet = false; + + Aws::String m_policy; + bool m_policyHasBeenSet = false; + + Aws::String m_organization; + bool m_organizationHasBeenSet = false; + }; + +} // namespace Model +} // namespace S3Control +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/PutAccessGrantsInstanceResourcePolicyResult.h b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/PutAccessGrantsInstanceResourcePolicyResult.h new file mode 100644 index 00000000000..a327c27a509 --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/PutAccessGrantsInstanceResourcePolicyResult.h @@ -0,0 +1,173 @@ +/** + * 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 S3Control +{ +namespace Model +{ + class PutAccessGrantsInstanceResourcePolicyResult + { + public: + AWS_S3CONTROL_API PutAccessGrantsInstanceResourcePolicyResult(); + AWS_S3CONTROL_API PutAccessGrantsInstanceResourcePolicyResult(const Aws::AmazonWebServiceResult& result); + AWS_S3CONTROL_API PutAccessGrantsInstanceResourcePolicyResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

    The updated resource policy of the S3 Access Grants instance.

    + */ + inline const Aws::String& GetPolicy() const{ return m_policy; } + + /** + *

    The updated resource policy of the S3 Access Grants instance.

    + */ + inline void SetPolicy(const Aws::String& value) { m_policy = value; } + + /** + *

    The updated resource policy of the S3 Access Grants instance.

    + */ + inline void SetPolicy(Aws::String&& value) { m_policy = std::move(value); } + + /** + *

    The updated resource policy of the S3 Access Grants instance.

    + */ + inline void SetPolicy(const char* value) { m_policy.assign(value); } + + /** + *

    The updated resource policy of the S3 Access Grants instance.

    + */ + inline PutAccessGrantsInstanceResourcePolicyResult& WithPolicy(const Aws::String& value) { SetPolicy(value); return *this;} + + /** + *

    The updated resource policy of the S3 Access Grants instance.

    + */ + inline PutAccessGrantsInstanceResourcePolicyResult& WithPolicy(Aws::String&& value) { SetPolicy(std::move(value)); return *this;} + + /** + *

    The updated resource policy of the S3 Access Grants instance.

    + */ + inline PutAccessGrantsInstanceResourcePolicyResult& WithPolicy(const char* value) { SetPolicy(value); return *this;} + + + /** + *

    The Organization of the resource policy of the S3 Access Grants instance.

    + */ + inline const Aws::String& GetOrganization() const{ return m_organization; } + + /** + *

    The Organization of the resource policy of the S3 Access Grants instance.

    + */ + inline void SetOrganization(const Aws::String& value) { m_organization = value; } + + /** + *

    The Organization of the resource policy of the S3 Access Grants instance.

    + */ + inline void SetOrganization(Aws::String&& value) { m_organization = std::move(value); } + + /** + *

    The Organization of the resource policy of the S3 Access Grants instance.

    + */ + inline void SetOrganization(const char* value) { m_organization.assign(value); } + + /** + *

    The Organization of the resource policy of the S3 Access Grants instance.

    + */ + inline PutAccessGrantsInstanceResourcePolicyResult& WithOrganization(const Aws::String& value) { SetOrganization(value); return *this;} + + /** + *

    The Organization of the resource policy of the S3 Access Grants instance.

    + */ + inline PutAccessGrantsInstanceResourcePolicyResult& WithOrganization(Aws::String&& value) { SetOrganization(std::move(value)); return *this;} + + /** + *

    The Organization of the resource policy of the S3 Access Grants instance.

    + */ + inline PutAccessGrantsInstanceResourcePolicyResult& WithOrganization(const char* value) { SetOrganization(value); return *this;} + + + /** + *

    The date and time when you created the S3 Access Grants instance resource + * policy.

    + */ + inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } + + /** + *

    The date and time when you created the S3 Access Grants instance resource + * policy.

    + */ + inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAt = value; } + + /** + *

    The date and time when you created the S3 Access Grants instance resource + * policy.

    + */ + inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAt = std::move(value); } + + /** + *

    The date and time when you created the S3 Access Grants instance resource + * policy.

    + */ + inline PutAccessGrantsInstanceResourcePolicyResult& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} + + /** + *

    The date and time when you created the S3 Access Grants instance resource + * policy.

    + */ + inline PutAccessGrantsInstanceResourcePolicyResult& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(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 PutAccessGrantsInstanceResourcePolicyResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline PutAccessGrantsInstanceResourcePolicyResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline PutAccessGrantsInstanceResourcePolicyResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::String m_policy; + + Aws::String m_organization; + + Aws::Utils::DateTime m_createdAt; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace S3Control +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/S3PrefixType.h b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/S3PrefixType.h new file mode 100644 index 00000000000..d1dbdce21d2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/S3PrefixType.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 S3Control +{ +namespace Model +{ + enum class S3PrefixType + { + NOT_SET, + Object + }; + +namespace S3PrefixTypeMapper +{ +AWS_S3CONTROL_API S3PrefixType GetS3PrefixTypeForName(const Aws::String& name); + +AWS_S3CONTROL_API Aws::String GetNameForS3PrefixType(S3PrefixType value); +} // namespace S3PrefixTypeMapper +} // namespace Model +} // namespace S3Control +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/Tag.h b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/Tag.h index fe9eadc65a7..d2e025be7ea 100644 --- a/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/Tag.h +++ b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/Tag.h @@ -25,9 +25,13 @@ namespace Model /** *

    An Amazon Web Services resource tag that's associated with your S3 resource. * You can add tags to new objects when you upload them, or you can add object tags - * to existing objects.

    This data type is only supported for

    This operation is only supported for S3 - * Storage Lens groups.

    See Also:

    and for S3 + * Access Grants. The tagged resource can be an S3 Storage Lens group or S3 + * Access Grants instance, registered location, or grant.

    See + * Also:

    AWS API * Reference

    */ @@ -42,107 +46,123 @@ namespace Model /** - *

    The tag key for your Amazon Web Services resource. A tag key can be up to - * 128 Unicode characters in length and is case-sensitive. System created tags that - * begin with aws: aren’t supported.

    + *

    The key of the key-value pair of a tag added to your Amazon Web Services + * resource. A tag key can be up to 128 Unicode characters in length and is + * case-sensitive. System created tags that begin with aws: aren’t + * supported.

    */ inline const Aws::String& GetKey() const{ return m_key; } /** - *

    The tag key for your Amazon Web Services resource. A tag key can be up to - * 128 Unicode characters in length and is case-sensitive. System created tags that - * begin with aws: aren’t supported.

    + *

    The key of the key-value pair of a tag added to your Amazon Web Services + * resource. A tag key can be up to 128 Unicode characters in length and is + * case-sensitive. System created tags that begin with aws: aren’t + * supported.

    */ inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } /** - *

    The tag key for your Amazon Web Services resource. A tag key can be up to - * 128 Unicode characters in length and is case-sensitive. System created tags that - * begin with aws: aren’t supported.

    + *

    The key of the key-value pair of a tag added to your Amazon Web Services + * resource. A tag key can be up to 128 Unicode characters in length and is + * case-sensitive. System created tags that begin with aws: aren’t + * supported.

    */ inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; } /** - *

    The tag key for your Amazon Web Services resource. A tag key can be up to - * 128 Unicode characters in length and is case-sensitive. System created tags that - * begin with aws: aren’t supported.

    + *

    The key of the key-value pair of a tag added to your Amazon Web Services + * resource. A tag key can be up to 128 Unicode characters in length and is + * case-sensitive. System created tags that begin with aws: aren’t + * supported.

    */ inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } /** - *

    The tag key for your Amazon Web Services resource. A tag key can be up to - * 128 Unicode characters in length and is case-sensitive. System created tags that - * begin with aws: aren’t supported.

    + *

    The key of the key-value pair of a tag added to your Amazon Web Services + * resource. A tag key can be up to 128 Unicode characters in length and is + * case-sensitive. System created tags that begin with aws: aren’t + * supported.

    */ inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); } /** - *

    The tag key for your Amazon Web Services resource. A tag key can be up to - * 128 Unicode characters in length and is case-sensitive. System created tags that - * begin with aws: aren’t supported.

    + *

    The key of the key-value pair of a tag added to your Amazon Web Services + * resource. A tag key can be up to 128 Unicode characters in length and is + * case-sensitive. System created tags that begin with aws: aren’t + * supported.

    */ inline Tag& WithKey(const Aws::String& value) { SetKey(value); return *this;} /** - *

    The tag key for your Amazon Web Services resource. A tag key can be up to - * 128 Unicode characters in length and is case-sensitive. System created tags that - * begin with aws: aren’t supported.

    + *

    The key of the key-value pair of a tag added to your Amazon Web Services + * resource. A tag key can be up to 128 Unicode characters in length and is + * case-sensitive. System created tags that begin with aws: aren’t + * supported.

    */ inline Tag& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} /** - *

    The tag key for your Amazon Web Services resource. A tag key can be up to - * 128 Unicode characters in length and is case-sensitive. System created tags that - * begin with aws: aren’t supported.

    + *

    The key of the key-value pair of a tag added to your Amazon Web Services + * resource. A tag key can be up to 128 Unicode characters in length and is + * case-sensitive. System created tags that begin with aws: aren’t + * supported.

    */ inline Tag& WithKey(const char* value) { SetKey(value); return *this;} /** - *

    The tag value for your Amazon Web Services resource. A tag value can be up - * to 256 Unicode characters in length and is case-sensitive.

    + *

    The value of the key-value pair of a tag added to your Amazon Web Services + * resource. A tag value can be up to 256 Unicode characters in length and is + * case-sensitive.

    */ inline const Aws::String& GetValue() const{ return m_value; } /** - *

    The tag value for your Amazon Web Services resource. A tag value can be up - * to 256 Unicode characters in length and is case-sensitive.

    + *

    The value of the key-value pair of a tag added to your Amazon Web Services + * resource. A tag value can be up to 256 Unicode characters in length and is + * case-sensitive.

    */ inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; } /** - *

    The tag value for your Amazon Web Services resource. A tag value can be up - * to 256 Unicode characters in length and is case-sensitive.

    + *

    The value of the key-value pair of a tag added to your Amazon Web Services + * resource. A tag value can be up to 256 Unicode characters in length and is + * case-sensitive.

    */ inline void SetValue(const Aws::String& value) { m_valueHasBeenSet = true; m_value = value; } /** - *

    The tag value for your Amazon Web Services resource. A tag value can be up - * to 256 Unicode characters in length and is case-sensitive.

    + *

    The value of the key-value pair of a tag added to your Amazon Web Services + * resource. A tag value can be up to 256 Unicode characters in length and is + * case-sensitive.

    */ inline void SetValue(Aws::String&& value) { m_valueHasBeenSet = true; m_value = std::move(value); } /** - *

    The tag value for your Amazon Web Services resource. A tag value can be up - * to 256 Unicode characters in length and is case-sensitive.

    + *

    The value of the key-value pair of a tag added to your Amazon Web Services + * resource. A tag value can be up to 256 Unicode characters in length and is + * case-sensitive.

    */ inline void SetValue(const char* value) { m_valueHasBeenSet = true; m_value.assign(value); } /** - *

    The tag value for your Amazon Web Services resource. A tag value can be up - * to 256 Unicode characters in length and is case-sensitive.

    + *

    The value of the key-value pair of a tag added to your Amazon Web Services + * resource. A tag value can be up to 256 Unicode characters in length and is + * case-sensitive.

    */ inline Tag& WithValue(const Aws::String& value) { SetValue(value); return *this;} /** - *

    The tag value for your Amazon Web Services resource. A tag value can be up - * to 256 Unicode characters in length and is case-sensitive.

    + *

    The value of the key-value pair of a tag added to your Amazon Web Services + * resource. A tag value can be up to 256 Unicode characters in length and is + * case-sensitive.

    */ inline Tag& WithValue(Aws::String&& value) { SetValue(std::move(value)); return *this;} /** - *

    The tag value for your Amazon Web Services resource. A tag value can be up - * to 256 Unicode characters in length and is case-sensitive.

    + *

    The value of the key-value pair of a tag added to your Amazon Web Services + * resource. A tag value can be up to 256 Unicode characters in length and is + * case-sensitive.

    */ inline Tag& WithValue(const char* value) { SetValue(value); return *this;} diff --git a/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/TagResourceRequest.h b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/TagResourceRequest.h index 29f10a8593e..eaf1e6343e4 100644 --- a/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/TagResourceRequest.h +++ b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/TagResourceRequest.h @@ -42,98 +42,106 @@ namespace Model /** *

    The Amazon Web Services account ID that created the S3 resource that you're - * trying to add tags to.

    + * trying to add tags to or the requester's account ID.

    */ inline const Aws::String& GetAccountId() const{ return m_accountId; } /** *

    The Amazon Web Services account ID that created the S3 resource that you're - * trying to add tags to.

    + * trying to add tags to or the requester's account ID.

    */ inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; } /** *

    The Amazon Web Services account ID that created the S3 resource that you're - * trying to add tags to.

    + * trying to add tags to or the requester's account ID.

    */ inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; } /** *

    The Amazon Web Services account ID that created the S3 resource that you're - * trying to add tags to.

    + * trying to add tags to or the requester's account ID.

    */ inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); } /** *

    The Amazon Web Services account ID that created the S3 resource that you're - * trying to add tags to.

    + * trying to add tags to or the requester's account ID.

    */ inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); } /** *

    The Amazon Web Services account ID that created the S3 resource that you're - * trying to add tags to.

    + * trying to add tags to or the requester's account ID.

    */ inline TagResourceRequest& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;} /** *

    The Amazon Web Services account ID that created the S3 resource that you're - * trying to add tags to.

    + * trying to add tags to or the requester's account ID.

    */ inline TagResourceRequest& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;} /** *

    The Amazon Web Services account ID that created the S3 resource that you're - * trying to add tags to.

    + * trying to add tags to or the requester's account ID.

    */ inline TagResourceRequest& WithAccountId(const char* value) { SetAccountId(value); return *this;} /** - *

    The Amazon Resource Name (ARN) of the S3 resource that you're trying to add - * tags to.

    + *

    The Amazon Resource Name (ARN) of the S3 resource that you're trying to add + * tags to. The tagged resource can be an S3 Storage Lens group or S3 Access Grants + * instance, registered location, or grant.

    */ inline const Aws::String& GetResourceArn() const{ return m_resourceArn; } /** - *

    The Amazon Resource Name (ARN) of the S3 resource that you're trying to add - * tags to.

    + *

    The Amazon Resource Name (ARN) of the S3 resource that you're trying to add + * tags to. The tagged resource can be an S3 Storage Lens group or S3 Access Grants + * instance, registered location, or grant.

    */ inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; } /** - *

    The Amazon Resource Name (ARN) of the S3 resource that you're trying to add - * tags to.

    + *

    The Amazon Resource Name (ARN) of the S3 resource that you're trying to add + * tags to. The tagged resource can be an S3 Storage Lens group or S3 Access Grants + * instance, registered location, or grant.

    */ inline void SetResourceArn(const Aws::String& value) { m_resourceArnHasBeenSet = true; m_resourceArn = value; } /** - *

    The Amazon Resource Name (ARN) of the S3 resource that you're trying to add - * tags to.

    + *

    The Amazon Resource Name (ARN) of the S3 resource that you're trying to add + * tags to. The tagged resource can be an S3 Storage Lens group or S3 Access Grants + * instance, registered location, or grant.

    */ inline void SetResourceArn(Aws::String&& value) { m_resourceArnHasBeenSet = true; m_resourceArn = std::move(value); } /** - *

    The Amazon Resource Name (ARN) of the S3 resource that you're trying to add - * tags to.

    + *

    The Amazon Resource Name (ARN) of the S3 resource that you're trying to add + * tags to. The tagged resource can be an S3 Storage Lens group or S3 Access Grants + * instance, registered location, or grant.

    */ inline void SetResourceArn(const char* value) { m_resourceArnHasBeenSet = true; m_resourceArn.assign(value); } /** - *

    The Amazon Resource Name (ARN) of the S3 resource that you're trying to add - * tags to.

    + *

    The Amazon Resource Name (ARN) of the S3 resource that you're trying to add + * tags to. The tagged resource can be an S3 Storage Lens group or S3 Access Grants + * instance, registered location, or grant.

    */ inline TagResourceRequest& WithResourceArn(const Aws::String& value) { SetResourceArn(value); return *this;} /** - *

    The Amazon Resource Name (ARN) of the S3 resource that you're trying to add - * tags to.

    + *

    The Amazon Resource Name (ARN) of the S3 resource that you're trying to add + * tags to. The tagged resource can be an S3 Storage Lens group or S3 Access Grants + * instance, registered location, or grant.

    */ inline TagResourceRequest& WithResourceArn(Aws::String&& value) { SetResourceArn(std::move(value)); return *this;} /** - *

    The Amazon Resource Name (ARN) of the S3 resource that you're trying to add - * tags to.

    + *

    The Amazon Resource Name (ARN) of the S3 resource that you're trying to add + * tags to. The tagged resource can be an S3 Storage Lens group or S3 Access Grants + * instance, registered location, or grant.

    */ inline TagResourceRequest& WithResourceArn(const char* value) { SetResourceArn(value); return *this;} diff --git a/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/UntagResourceRequest.h b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/UntagResourceRequest.h index 225252cd59f..f8bedbcf054 100644 --- a/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/UntagResourceRequest.h +++ b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/UntagResourceRequest.h @@ -95,96 +95,105 @@ namespace Model /** - *

    The Amazon Resource Name (ARN) of the S3 resource that you want to remove - * the resource tags from.

    + *

    The Amazon Resource Name (ARN) of the S3 resource that you're trying to + * remove the tags from.

    */ inline const Aws::String& GetResourceArn() const{ return m_resourceArn; } /** - *

    The Amazon Resource Name (ARN) of the S3 resource that you want to remove - * the resource tags from.

    + *

    The Amazon Resource Name (ARN) of the S3 resource that you're trying to + * remove the tags from.

    */ inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; } /** - *

    The Amazon Resource Name (ARN) of the S3 resource that you want to remove - * the resource tags from.

    + *

    The Amazon Resource Name (ARN) of the S3 resource that you're trying to + * remove the tags from.

    */ inline void SetResourceArn(const Aws::String& value) { m_resourceArnHasBeenSet = true; m_resourceArn = value; } /** - *

    The Amazon Resource Name (ARN) of the S3 resource that you want to remove - * the resource tags from.

    + *

    The Amazon Resource Name (ARN) of the S3 resource that you're trying to + * remove the tags from.

    */ inline void SetResourceArn(Aws::String&& value) { m_resourceArnHasBeenSet = true; m_resourceArn = std::move(value); } /** - *

    The Amazon Resource Name (ARN) of the S3 resource that you want to remove - * the resource tags from.

    + *

    The Amazon Resource Name (ARN) of the S3 resource that you're trying to + * remove the tags from.

    */ inline void SetResourceArn(const char* value) { m_resourceArnHasBeenSet = true; m_resourceArn.assign(value); } /** - *

    The Amazon Resource Name (ARN) of the S3 resource that you want to remove - * the resource tags from.

    + *

    The Amazon Resource Name (ARN) of the S3 resource that you're trying to + * remove the tags from.

    */ inline UntagResourceRequest& WithResourceArn(const Aws::String& value) { SetResourceArn(value); return *this;} /** - *

    The Amazon Resource Name (ARN) of the S3 resource that you want to remove - * the resource tags from.

    + *

    The Amazon Resource Name (ARN) of the S3 resource that you're trying to + * remove the tags from.

    */ inline UntagResourceRequest& WithResourceArn(Aws::String&& value) { SetResourceArn(std::move(value)); return *this;} /** - *

    The Amazon Resource Name (ARN) of the S3 resource that you want to remove - * the resource tags from.

    + *

    The Amazon Resource Name (ARN) of the S3 resource that you're trying to + * remove the tags from.

    */ inline UntagResourceRequest& WithResourceArn(const char* value) { SetResourceArn(value); return *this;} /** - *

    The tag key pair of the S3 resource tag that you're trying to remove.

    + *

    The array of tag key-value pairs that you're trying to remove from of the S3 + * resource.

    */ inline const Aws::Vector& GetTagKeys() const{ return m_tagKeys; } /** - *

    The tag key pair of the S3 resource tag that you're trying to remove.

    + *

    The array of tag key-value pairs that you're trying to remove from of the S3 + * resource.

    */ inline bool TagKeysHasBeenSet() const { return m_tagKeysHasBeenSet; } /** - *

    The tag key pair of the S3 resource tag that you're trying to remove.

    + *

    The array of tag key-value pairs that you're trying to remove from of the S3 + * resource.

    */ inline void SetTagKeys(const Aws::Vector& value) { m_tagKeysHasBeenSet = true; m_tagKeys = value; } /** - *

    The tag key pair of the S3 resource tag that you're trying to remove.

    + *

    The array of tag key-value pairs that you're trying to remove from of the S3 + * resource.

    */ inline void SetTagKeys(Aws::Vector&& value) { m_tagKeysHasBeenSet = true; m_tagKeys = std::move(value); } /** - *

    The tag key pair of the S3 resource tag that you're trying to remove.

    + *

    The array of tag key-value pairs that you're trying to remove from of the S3 + * resource.

    */ inline UntagResourceRequest& WithTagKeys(const Aws::Vector& value) { SetTagKeys(value); return *this;} /** - *

    The tag key pair of the S3 resource tag that you're trying to remove.

    + *

    The array of tag key-value pairs that you're trying to remove from of the S3 + * resource.

    */ inline UntagResourceRequest& WithTagKeys(Aws::Vector&& value) { SetTagKeys(std::move(value)); return *this;} /** - *

    The tag key pair of the S3 resource tag that you're trying to remove.

    + *

    The array of tag key-value pairs that you're trying to remove from of the S3 + * resource.

    */ inline UntagResourceRequest& AddTagKeys(const Aws::String& value) { m_tagKeysHasBeenSet = true; m_tagKeys.push_back(value); return *this; } /** - *

    The tag key pair of the S3 resource tag that you're trying to remove.

    + *

    The array of tag key-value pairs that you're trying to remove from of the S3 + * resource.

    */ inline UntagResourceRequest& AddTagKeys(Aws::String&& value) { m_tagKeysHasBeenSet = true; m_tagKeys.push_back(std::move(value)); return *this; } /** - *

    The tag key pair of the S3 resource tag that you're trying to remove.

    + *

    The array of tag key-value pairs that you're trying to remove from of the S3 + * resource.

    */ inline UntagResourceRequest& AddTagKeys(const char* value) { m_tagKeysHasBeenSet = true; m_tagKeys.push_back(value); return *this; } diff --git a/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/UpdateAccessGrantsLocationRequest.h b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/UpdateAccessGrantsLocationRequest.h new file mode 100644 index 00000000000..3cf85edd741 --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/UpdateAccessGrantsLocationRequest.h @@ -0,0 +1,275 @@ +/** + * 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 S3Control +{ +namespace Model +{ + + /** + */ + class UpdateAccessGrantsLocationRequest : public S3ControlRequest + { + public: + AWS_S3CONTROL_API UpdateAccessGrantsLocationRequest(); + + // 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 "UpdateAccessGrantsLocation"; } + + AWS_S3CONTROL_API Aws::String SerializePayload() const override; + + AWS_S3CONTROL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + AWS_S3CONTROL_API inline bool ShouldComputeContentMd5() const override { return true; } + + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3CONTROL_API EndpointParameters GetEndpointContextParams() const override; + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline const Aws::String& GetAccountId() const{ return m_accountId; } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); } + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline UpdateAccessGrantsLocationRequest& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;} + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline UpdateAccessGrantsLocationRequest& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;} + + /** + *

    The ID of the Amazon Web Services account that is making this request.

    + */ + inline UpdateAccessGrantsLocationRequest& WithAccountId(const char* value) { SetAccountId(value); return *this;} + + + /** + *

    The ID of the registered location that you are updating. S3 Access Grants + * assigns this ID when you register the location. S3 Access Grants assigns the ID + * default to the default location s3:// and assigns an + * auto-generated ID to other locations that you register.

    The ID of the + * registered location to which you are granting access. S3 Access Grants assigned + * this ID when you registered the location. S3 Access Grants assigns the ID + * default to the default location s3:// and assigns an + * auto-generated ID to other locations that you register.

    If you are + * passing the default location, you cannot create an access grant for + * the entire default location. You must also specify a bucket or a bucket and + * prefix in the Subprefix field.

    + */ + inline const Aws::String& GetAccessGrantsLocationId() const{ return m_accessGrantsLocationId; } + + /** + *

    The ID of the registered location that you are updating. S3 Access Grants + * assigns this ID when you register the location. S3 Access Grants assigns the ID + * default to the default location s3:// and assigns an + * auto-generated ID to other locations that you register.

    The ID of the + * registered location to which you are granting access. S3 Access Grants assigned + * this ID when you registered the location. S3 Access Grants assigns the ID + * default to the default location s3:// and assigns an + * auto-generated ID to other locations that you register.

    If you are + * passing the default location, you cannot create an access grant for + * the entire default location. You must also specify a bucket or a bucket and + * prefix in the Subprefix field.

    + */ + inline bool AccessGrantsLocationIdHasBeenSet() const { return m_accessGrantsLocationIdHasBeenSet; } + + /** + *

    The ID of the registered location that you are updating. S3 Access Grants + * assigns this ID when you register the location. S3 Access Grants assigns the ID + * default to the default location s3:// and assigns an + * auto-generated ID to other locations that you register.

    The ID of the + * registered location to which you are granting access. S3 Access Grants assigned + * this ID when you registered the location. S3 Access Grants assigns the ID + * default to the default location s3:// and assigns an + * auto-generated ID to other locations that you register.

    If you are + * passing the default location, you cannot create an access grant for + * the entire default location. You must also specify a bucket or a bucket and + * prefix in the Subprefix field.

    + */ + inline void SetAccessGrantsLocationId(const Aws::String& value) { m_accessGrantsLocationIdHasBeenSet = true; m_accessGrantsLocationId = value; } + + /** + *

    The ID of the registered location that you are updating. S3 Access Grants + * assigns this ID when you register the location. S3 Access Grants assigns the ID + * default to the default location s3:// and assigns an + * auto-generated ID to other locations that you register.

    The ID of the + * registered location to which you are granting access. S3 Access Grants assigned + * this ID when you registered the location. S3 Access Grants assigns the ID + * default to the default location s3:// and assigns an + * auto-generated ID to other locations that you register.

    If you are + * passing the default location, you cannot create an access grant for + * the entire default location. You must also specify a bucket or a bucket and + * prefix in the Subprefix field.

    + */ + inline void SetAccessGrantsLocationId(Aws::String&& value) { m_accessGrantsLocationIdHasBeenSet = true; m_accessGrantsLocationId = std::move(value); } + + /** + *

    The ID of the registered location that you are updating. S3 Access Grants + * assigns this ID when you register the location. S3 Access Grants assigns the ID + * default to the default location s3:// and assigns an + * auto-generated ID to other locations that you register.

    The ID of the + * registered location to which you are granting access. S3 Access Grants assigned + * this ID when you registered the location. S3 Access Grants assigns the ID + * default to the default location s3:// and assigns an + * auto-generated ID to other locations that you register.

    If you are + * passing the default location, you cannot create an access grant for + * the entire default location. You must also specify a bucket or a bucket and + * prefix in the Subprefix field.

    + */ + inline void SetAccessGrantsLocationId(const char* value) { m_accessGrantsLocationIdHasBeenSet = true; m_accessGrantsLocationId.assign(value); } + + /** + *

    The ID of the registered location that you are updating. S3 Access Grants + * assigns this ID when you register the location. S3 Access Grants assigns the ID + * default to the default location s3:// and assigns an + * auto-generated ID to other locations that you register.

    The ID of the + * registered location to which you are granting access. S3 Access Grants assigned + * this ID when you registered the location. S3 Access Grants assigns the ID + * default to the default location s3:// and assigns an + * auto-generated ID to other locations that you register.

    If you are + * passing the default location, you cannot create an access grant for + * the entire default location. You must also specify a bucket or a bucket and + * prefix in the Subprefix field.

    + */ + inline UpdateAccessGrantsLocationRequest& WithAccessGrantsLocationId(const Aws::String& value) { SetAccessGrantsLocationId(value); return *this;} + + /** + *

    The ID of the registered location that you are updating. S3 Access Grants + * assigns this ID when you register the location. S3 Access Grants assigns the ID + * default to the default location s3:// and assigns an + * auto-generated ID to other locations that you register.

    The ID of the + * registered location to which you are granting access. S3 Access Grants assigned + * this ID when you registered the location. S3 Access Grants assigns the ID + * default to the default location s3:// and assigns an + * auto-generated ID to other locations that you register.

    If you are + * passing the default location, you cannot create an access grant for + * the entire default location. You must also specify a bucket or a bucket and + * prefix in the Subprefix field.

    + */ + inline UpdateAccessGrantsLocationRequest& WithAccessGrantsLocationId(Aws::String&& value) { SetAccessGrantsLocationId(std::move(value)); return *this;} + + /** + *

    The ID of the registered location that you are updating. S3 Access Grants + * assigns this ID when you register the location. S3 Access Grants assigns the ID + * default to the default location s3:// and assigns an + * auto-generated ID to other locations that you register.

    The ID of the + * registered location to which you are granting access. S3 Access Grants assigned + * this ID when you registered the location. S3 Access Grants assigns the ID + * default to the default location s3:// and assigns an + * auto-generated ID to other locations that you register.

    If you are + * passing the default location, you cannot create an access grant for + * the entire default location. You must also specify a bucket or a bucket and + * prefix in the Subprefix field.

    + */ + inline UpdateAccessGrantsLocationRequest& WithAccessGrantsLocationId(const char* value) { SetAccessGrantsLocationId(value); return *this;} + + + /** + *

    The Amazon Resource Name (ARN) of the IAM role for the registered location. + * S3 Access Grants assumes this role to manage access to the registered location. + *

    + */ + inline const Aws::String& GetIAMRoleArn() const{ return m_iAMRoleArn; } + + /** + *

    The Amazon Resource Name (ARN) of the IAM role for the registered location. + * S3 Access Grants assumes this role to manage access to the registered location. + *

    + */ + inline bool IAMRoleArnHasBeenSet() const { return m_iAMRoleArnHasBeenSet; } + + /** + *

    The Amazon Resource Name (ARN) of the IAM role for the registered location. + * S3 Access Grants assumes this role to manage access to the registered location. + *

    + */ + inline void SetIAMRoleArn(const Aws::String& value) { m_iAMRoleArnHasBeenSet = true; m_iAMRoleArn = value; } + + /** + *

    The Amazon Resource Name (ARN) of the IAM role for the registered location. + * S3 Access Grants assumes this role to manage access to the registered location. + *

    + */ + inline void SetIAMRoleArn(Aws::String&& value) { m_iAMRoleArnHasBeenSet = true; m_iAMRoleArn = std::move(value); } + + /** + *

    The Amazon Resource Name (ARN) of the IAM role for the registered location. + * S3 Access Grants assumes this role to manage access to the registered location. + *

    + */ + inline void SetIAMRoleArn(const char* value) { m_iAMRoleArnHasBeenSet = true; m_iAMRoleArn.assign(value); } + + /** + *

    The Amazon Resource Name (ARN) of the IAM role for the registered location. + * S3 Access Grants assumes this role to manage access to the registered location. + *

    + */ + inline UpdateAccessGrantsLocationRequest& WithIAMRoleArn(const Aws::String& value) { SetIAMRoleArn(value); return *this;} + + /** + *

    The Amazon Resource Name (ARN) of the IAM role for the registered location. + * S3 Access Grants assumes this role to manage access to the registered location. + *

    + */ + inline UpdateAccessGrantsLocationRequest& WithIAMRoleArn(Aws::String&& value) { SetIAMRoleArn(std::move(value)); return *this;} + + /** + *

    The Amazon Resource Name (ARN) of the IAM role for the registered location. + * S3 Access Grants assumes this role to manage access to the registered location. + *

    + */ + inline UpdateAccessGrantsLocationRequest& WithIAMRoleArn(const char* value) { SetIAMRoleArn(value); return *this;} + + private: + + Aws::String m_accountId; + bool m_accountIdHasBeenSet = false; + + Aws::String m_accessGrantsLocationId; + bool m_accessGrantsLocationIdHasBeenSet = false; + + Aws::String m_iAMRoleArn; + bool m_iAMRoleArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace S3Control +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/UpdateAccessGrantsLocationResult.h b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/UpdateAccessGrantsLocationResult.h new file mode 100644 index 00000000000..3df46fff918 --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/model/UpdateAccessGrantsLocationResult.h @@ -0,0 +1,314 @@ +/** + * 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 S3Control +{ +namespace Model +{ + class UpdateAccessGrantsLocationResult + { + public: + AWS_S3CONTROL_API UpdateAccessGrantsLocationResult(); + AWS_S3CONTROL_API UpdateAccessGrantsLocationResult(const Aws::AmazonWebServiceResult& result); + AWS_S3CONTROL_API UpdateAccessGrantsLocationResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

    The date and time when you registered the location.

    + */ + inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } + + /** + *

    The date and time when you registered the location.

    + */ + inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAt = value; } + + /** + *

    The date and time when you registered the location.

    + */ + inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAt = std::move(value); } + + /** + *

    The date and time when you registered the location.

    + */ + inline UpdateAccessGrantsLocationResult& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} + + /** + *

    The date and time when you registered the location.

    + */ + inline UpdateAccessGrantsLocationResult& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} + + + /** + *

    The ID of the registered location to which you are granting access. S3 Access + * Grants assigned this ID when you registered the location. S3 Access Grants + * assigns the ID default to the default location s3:// + * and assigns an auto-generated ID to other locations that you register.

    + */ + inline const Aws::String& GetAccessGrantsLocationId() const{ return m_accessGrantsLocationId; } + + /** + *

    The ID of the registered location to which you are granting access. S3 Access + * Grants assigned this ID when you registered the location. S3 Access Grants + * assigns the ID default to the default location s3:// + * and assigns an auto-generated ID to other locations that you register.

    + */ + inline void SetAccessGrantsLocationId(const Aws::String& value) { m_accessGrantsLocationId = value; } + + /** + *

    The ID of the registered location to which you are granting access. S3 Access + * Grants assigned this ID when you registered the location. S3 Access Grants + * assigns the ID default to the default location s3:// + * and assigns an auto-generated ID to other locations that you register.

    + */ + inline void SetAccessGrantsLocationId(Aws::String&& value) { m_accessGrantsLocationId = std::move(value); } + + /** + *

    The ID of the registered location to which you are granting access. S3 Access + * Grants assigned this ID when you registered the location. S3 Access Grants + * assigns the ID default to the default location s3:// + * and assigns an auto-generated ID to other locations that you register.

    + */ + inline void SetAccessGrantsLocationId(const char* value) { m_accessGrantsLocationId.assign(value); } + + /** + *

    The ID of the registered location to which you are granting access. S3 Access + * Grants assigned this ID when you registered the location. S3 Access Grants + * assigns the ID default to the default location s3:// + * and assigns an auto-generated ID to other locations that you register.

    + */ + inline UpdateAccessGrantsLocationResult& WithAccessGrantsLocationId(const Aws::String& value) { SetAccessGrantsLocationId(value); return *this;} + + /** + *

    The ID of the registered location to which you are granting access. S3 Access + * Grants assigned this ID when you registered the location. S3 Access Grants + * assigns the ID default to the default location s3:// + * and assigns an auto-generated ID to other locations that you register.

    + */ + inline UpdateAccessGrantsLocationResult& WithAccessGrantsLocationId(Aws::String&& value) { SetAccessGrantsLocationId(std::move(value)); return *this;} + + /** + *

    The ID of the registered location to which you are granting access. S3 Access + * Grants assigned this ID when you registered the location. S3 Access Grants + * assigns the ID default to the default location s3:// + * and assigns an auto-generated ID to other locations that you register.

    + */ + inline UpdateAccessGrantsLocationResult& WithAccessGrantsLocationId(const char* value) { SetAccessGrantsLocationId(value); return *this;} + + + /** + *

    The Amazon Resource Name (ARN) of the registered location that you are + * updating.

    + */ + inline const Aws::String& GetAccessGrantsLocationArn() const{ return m_accessGrantsLocationArn; } + + /** + *

    The Amazon Resource Name (ARN) of the registered location that you are + * updating.

    + */ + inline void SetAccessGrantsLocationArn(const Aws::String& value) { m_accessGrantsLocationArn = value; } + + /** + *

    The Amazon Resource Name (ARN) of the registered location that you are + * updating.

    + */ + inline void SetAccessGrantsLocationArn(Aws::String&& value) { m_accessGrantsLocationArn = std::move(value); } + + /** + *

    The Amazon Resource Name (ARN) of the registered location that you are + * updating.

    + */ + inline void SetAccessGrantsLocationArn(const char* value) { m_accessGrantsLocationArn.assign(value); } + + /** + *

    The Amazon Resource Name (ARN) of the registered location that you are + * updating.

    + */ + inline UpdateAccessGrantsLocationResult& WithAccessGrantsLocationArn(const Aws::String& value) { SetAccessGrantsLocationArn(value); return *this;} + + /** + *

    The Amazon Resource Name (ARN) of the registered location that you are + * updating.

    + */ + inline UpdateAccessGrantsLocationResult& WithAccessGrantsLocationArn(Aws::String&& value) { SetAccessGrantsLocationArn(std::move(value)); return *this;} + + /** + *

    The Amazon Resource Name (ARN) of the registered location that you are + * updating.

    + */ + inline UpdateAccessGrantsLocationResult& WithAccessGrantsLocationArn(const char* value) { SetAccessGrantsLocationArn(value); return *this;} + + + /** + *

    The S3 URI path of the location that you are updating. You cannot update the + * scope of the registered location. The location scope can be the default S3 + * location s3://, the S3 path to a bucket + * s3://<bucket>, or the S3 path to a bucket and prefix + * s3://<bucket>/<prefix>.

    + */ + inline const Aws::String& GetLocationScope() const{ return m_locationScope; } + + /** + *

    The S3 URI path of the location that you are updating. You cannot update the + * scope of the registered location. The location scope can be the default S3 + * location s3://, the S3 path to a bucket + * s3://<bucket>, or the S3 path to a bucket and prefix + * s3://<bucket>/<prefix>.

    + */ + inline void SetLocationScope(const Aws::String& value) { m_locationScope = value; } + + /** + *

    The S3 URI path of the location that you are updating. You cannot update the + * scope of the registered location. The location scope can be the default S3 + * location s3://, the S3 path to a bucket + * s3://<bucket>, or the S3 path to a bucket and prefix + * s3://<bucket>/<prefix>.

    + */ + inline void SetLocationScope(Aws::String&& value) { m_locationScope = std::move(value); } + + /** + *

    The S3 URI path of the location that you are updating. You cannot update the + * scope of the registered location. The location scope can be the default S3 + * location s3://, the S3 path to a bucket + * s3://<bucket>, or the S3 path to a bucket and prefix + * s3://<bucket>/<prefix>.

    + */ + inline void SetLocationScope(const char* value) { m_locationScope.assign(value); } + + /** + *

    The S3 URI path of the location that you are updating. You cannot update the + * scope of the registered location. The location scope can be the default S3 + * location s3://, the S3 path to a bucket + * s3://<bucket>, or the S3 path to a bucket and prefix + * s3://<bucket>/<prefix>.

    + */ + inline UpdateAccessGrantsLocationResult& WithLocationScope(const Aws::String& value) { SetLocationScope(value); return *this;} + + /** + *

    The S3 URI path of the location that you are updating. You cannot update the + * scope of the registered location. The location scope can be the default S3 + * location s3://, the S3 path to a bucket + * s3://<bucket>, or the S3 path to a bucket and prefix + * s3://<bucket>/<prefix>.

    + */ + inline UpdateAccessGrantsLocationResult& WithLocationScope(Aws::String&& value) { SetLocationScope(std::move(value)); return *this;} + + /** + *

    The S3 URI path of the location that you are updating. You cannot update the + * scope of the registered location. The location scope can be the default S3 + * location s3://, the S3 path to a bucket + * s3://<bucket>, or the S3 path to a bucket and prefix + * s3://<bucket>/<prefix>.

    + */ + inline UpdateAccessGrantsLocationResult& WithLocationScope(const char* value) { SetLocationScope(value); return *this;} + + + /** + *

    The Amazon Resource Name (ARN) of the IAM role of the registered location. S3 + * Access Grants assumes this role to manage access to the registered location. + *

    + */ + inline const Aws::String& GetIAMRoleArn() const{ return m_iAMRoleArn; } + + /** + *

    The Amazon Resource Name (ARN) of the IAM role of the registered location. S3 + * Access Grants assumes this role to manage access to the registered location. + *

    + */ + inline void SetIAMRoleArn(const Aws::String& value) { m_iAMRoleArn = value; } + + /** + *

    The Amazon Resource Name (ARN) of the IAM role of the registered location. S3 + * Access Grants assumes this role to manage access to the registered location. + *

    + */ + inline void SetIAMRoleArn(Aws::String&& value) { m_iAMRoleArn = std::move(value); } + + /** + *

    The Amazon Resource Name (ARN) of the IAM role of the registered location. S3 + * Access Grants assumes this role to manage access to the registered location. + *

    + */ + inline void SetIAMRoleArn(const char* value) { m_iAMRoleArn.assign(value); } + + /** + *

    The Amazon Resource Name (ARN) of the IAM role of the registered location. S3 + * Access Grants assumes this role to manage access to the registered location. + *

    + */ + inline UpdateAccessGrantsLocationResult& WithIAMRoleArn(const Aws::String& value) { SetIAMRoleArn(value); return *this;} + + /** + *

    The Amazon Resource Name (ARN) of the IAM role of the registered location. S3 + * Access Grants assumes this role to manage access to the registered location. + *

    + */ + inline UpdateAccessGrantsLocationResult& WithIAMRoleArn(Aws::String&& value) { SetIAMRoleArn(std::move(value)); return *this;} + + /** + *

    The Amazon Resource Name (ARN) of the IAM role of the registered location. S3 + * Access Grants assumes this role to manage access to the registered location. + *

    + */ + inline UpdateAccessGrantsLocationResult& WithIAMRoleArn(const char* value) { SetIAMRoleArn(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 UpdateAccessGrantsLocationResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline UpdateAccessGrantsLocationResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline UpdateAccessGrantsLocationResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::Utils::DateTime m_createdAt; + + Aws::String m_accessGrantsLocationId; + + Aws::String m_accessGrantsLocationArn; + + Aws::String m_locationScope; + + Aws::String m_iAMRoleArn; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace S3Control +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3control/source/S3ControlClient.cpp b/generated/src/aws-cpp-sdk-s3control/source/S3ControlClient.cpp index 0a540f9555c..68767d18ed9 100644 --- a/generated/src/aws-cpp-sdk-s3control/source/S3ControlClient.cpp +++ b/generated/src/aws-cpp-sdk-s3control/source/S3ControlClient.cpp @@ -22,12 +22,20 @@ #include #include #include +#include +#include +#include +#include #include #include #include #include #include #include +#include +#include +#include +#include #include #include #include @@ -45,6 +53,12 @@ #include #include #include +#include +#include +#include +#include +#include +#include #include #include #include @@ -58,6 +72,7 @@ #include #include #include +#include #include #include #include @@ -67,6 +82,9 @@ #include #include #include +#include +#include +#include #include #include #include @@ -75,6 +93,7 @@ #include #include #include +#include #include #include #include @@ -91,6 +110,7 @@ #include #include #include +#include #include #include #include @@ -240,6 +260,162 @@ void S3ControlClient::OverrideEndpoint(const Aws::String& endpoint) m_endpointProvider->OverrideEndpoint(endpoint); } +AssociateAccessGrantsIdentityCenterOutcome S3ControlClient::AssociateAccessGrantsIdentityCenter(const AssociateAccessGrantsIdentityCenterRequest& request) const +{ + AWS_OPERATION_GUARD(AssociateAccessGrantsIdentityCenter); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, AssociateAccessGrantsIdentityCenter, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.AccountIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("AssociateAccessGrantsIdentityCenter", "Required field: AccountId, is not set"); + return AssociateAccessGrantsIdentityCenterOutcome(Aws::Client::AWSError(S3ControlErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [AccountId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, AssociateAccessGrantsIdentityCenter, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, AssociateAccessGrantsIdentityCenter, 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( + [&]()-> AssociateAccessGrantsIdentityCenterOutcome { + if (request.GetAccountId().size() != 12 || request.GetAccountId().find_first_not_of("0123456789") != Aws::String::npos) + { + AWS_LOGSTREAM_ERROR("AssociateAccessGrantsIdentityCenter", "Required field: AccountId has invalid value"); + return AssociateAccessGrantsIdentityCenterOutcome(Aws::Client::AWSError(S3ControlErrors::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, AssociateAccessGrantsIdentityCenter, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + auto addPrefixErr = endpointResolutionOutcome.GetResult().AddPrefixIfMissing("" + request.GetAccountId() + "."); + AWS_CHECK(SERVICE_NAME, !addPrefixErr, addPrefixErr->GetMessage(), AssociateAccessGrantsIdentityCenterOutcome(addPrefixErr.value())); + endpointResolutionOutcome.GetResult().AddPathSegments("/v20180820/accessgrantsinstance/identitycenter"); + return AssociateAccessGrantsIdentityCenterOutcome(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()}}); +} + +CreateAccessGrantOutcome S3ControlClient::CreateAccessGrant(const CreateAccessGrantRequest& request) const +{ + AWS_OPERATION_GUARD(CreateAccessGrant); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CreateAccessGrant, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.AccountIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("CreateAccessGrant", "Required field: AccountId, is not set"); + return CreateAccessGrantOutcome(Aws::Client::AWSError(S3ControlErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [AccountId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, CreateAccessGrant, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CreateAccessGrant, 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( + [&]()-> CreateAccessGrantOutcome { + if (request.GetAccountId().size() != 12 || request.GetAccountId().find_first_not_of("0123456789") != Aws::String::npos) + { + AWS_LOGSTREAM_ERROR("CreateAccessGrant", "Required field: AccountId has invalid value"); + return CreateAccessGrantOutcome(Aws::Client::AWSError(S3ControlErrors::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, CreateAccessGrant, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + auto addPrefixErr = endpointResolutionOutcome.GetResult().AddPrefixIfMissing("" + request.GetAccountId() + "."); + AWS_CHECK(SERVICE_NAME, !addPrefixErr, addPrefixErr->GetMessage(), CreateAccessGrantOutcome(addPrefixErr.value())); + endpointResolutionOutcome.GetResult().AddPathSegments("/v20180820/accessgrantsinstance/grant"); + return CreateAccessGrantOutcome(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()}}); +} + +CreateAccessGrantsInstanceOutcome S3ControlClient::CreateAccessGrantsInstance(const CreateAccessGrantsInstanceRequest& request) const +{ + AWS_OPERATION_GUARD(CreateAccessGrantsInstance); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CreateAccessGrantsInstance, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.AccountIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("CreateAccessGrantsInstance", "Required field: AccountId, is not set"); + return CreateAccessGrantsInstanceOutcome(Aws::Client::AWSError(S3ControlErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [AccountId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, CreateAccessGrantsInstance, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CreateAccessGrantsInstance, 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( + [&]()-> CreateAccessGrantsInstanceOutcome { + if (request.GetAccountId().size() != 12 || request.GetAccountId().find_first_not_of("0123456789") != Aws::String::npos) + { + AWS_LOGSTREAM_ERROR("CreateAccessGrantsInstance", "Required field: AccountId has invalid value"); + return CreateAccessGrantsInstanceOutcome(Aws::Client::AWSError(S3ControlErrors::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, CreateAccessGrantsInstance, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + auto addPrefixErr = endpointResolutionOutcome.GetResult().AddPrefixIfMissing("" + request.GetAccountId() + "."); + AWS_CHECK(SERVICE_NAME, !addPrefixErr, addPrefixErr->GetMessage(), CreateAccessGrantsInstanceOutcome(addPrefixErr.value())); + endpointResolutionOutcome.GetResult().AddPathSegments("/v20180820/accessgrantsinstance"); + return CreateAccessGrantsInstanceOutcome(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()}}); +} + +CreateAccessGrantsLocationOutcome S3ControlClient::CreateAccessGrantsLocation(const CreateAccessGrantsLocationRequest& request) const +{ + AWS_OPERATION_GUARD(CreateAccessGrantsLocation); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CreateAccessGrantsLocation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.AccountIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("CreateAccessGrantsLocation", "Required field: AccountId, is not set"); + return CreateAccessGrantsLocationOutcome(Aws::Client::AWSError(S3ControlErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [AccountId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, CreateAccessGrantsLocation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CreateAccessGrantsLocation, 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( + [&]()-> CreateAccessGrantsLocationOutcome { + if (request.GetAccountId().size() != 12 || request.GetAccountId().find_first_not_of("0123456789") != Aws::String::npos) + { + AWS_LOGSTREAM_ERROR("CreateAccessGrantsLocation", "Required field: AccountId has invalid value"); + return CreateAccessGrantsLocationOutcome(Aws::Client::AWSError(S3ControlErrors::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, CreateAccessGrantsLocation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + auto addPrefixErr = endpointResolutionOutcome.GetResult().AddPrefixIfMissing("" + request.GetAccountId() + "."); + AWS_CHECK(SERVICE_NAME, !addPrefixErr, addPrefixErr->GetMessage(), CreateAccessGrantsLocationOutcome(addPrefixErr.value())); + endpointResolutionOutcome.GetResult().AddPathSegments("/v20180820/accessgrantsinstance/location"); + return CreateAccessGrantsLocationOutcome(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()}}); +} + CreateAccessPointOutcome S3ControlClient::CreateAccessPoint(const CreateAccessPointRequest& request) const { AWS_OPERATION_GUARD(CreateAccessPoint); @@ -470,6 +646,174 @@ CreateStorageLensGroupOutcome S3ControlClient::CreateStorageLensGroup(const Crea {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +DeleteAccessGrantOutcome S3ControlClient::DeleteAccessGrant(const DeleteAccessGrantRequest& request) const +{ + AWS_OPERATION_GUARD(DeleteAccessGrant); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteAccessGrant, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.AccountIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteAccessGrant", "Required field: AccountId, is not set"); + return DeleteAccessGrantOutcome(Aws::Client::AWSError(S3ControlErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [AccountId]", false)); + } + if (!request.AccessGrantIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteAccessGrant", "Required field: AccessGrantId, is not set"); + return DeleteAccessGrantOutcome(Aws::Client::AWSError(S3ControlErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [AccessGrantId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DeleteAccessGrant, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DeleteAccessGrant, 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( + [&]()-> DeleteAccessGrantOutcome { + if (request.GetAccountId().size() != 12 || request.GetAccountId().find_first_not_of("0123456789") != Aws::String::npos) + { + AWS_LOGSTREAM_ERROR("DeleteAccessGrant", "Required field: AccountId has invalid value"); + return DeleteAccessGrantOutcome(Aws::Client::AWSError(S3ControlErrors::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, DeleteAccessGrant, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + auto addPrefixErr = endpointResolutionOutcome.GetResult().AddPrefixIfMissing("" + request.GetAccountId() + "."); + AWS_CHECK(SERVICE_NAME, !addPrefixErr, addPrefixErr->GetMessage(), DeleteAccessGrantOutcome(addPrefixErr.value())); + endpointResolutionOutcome.GetResult().AddPathSegments("/v20180820/accessgrantsinstance/grant/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetAccessGrantId()); + return DeleteAccessGrantOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_DELETE)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +DeleteAccessGrantsInstanceOutcome S3ControlClient::DeleteAccessGrantsInstance(const DeleteAccessGrantsInstanceRequest& request) const +{ + AWS_OPERATION_GUARD(DeleteAccessGrantsInstance); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteAccessGrantsInstance, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.AccountIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteAccessGrantsInstance", "Required field: AccountId, is not set"); + return DeleteAccessGrantsInstanceOutcome(Aws::Client::AWSError(S3ControlErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [AccountId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DeleteAccessGrantsInstance, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DeleteAccessGrantsInstance, 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( + [&]()-> DeleteAccessGrantsInstanceOutcome { + if (request.GetAccountId().size() != 12 || request.GetAccountId().find_first_not_of("0123456789") != Aws::String::npos) + { + AWS_LOGSTREAM_ERROR("DeleteAccessGrantsInstance", "Required field: AccountId has invalid value"); + return DeleteAccessGrantsInstanceOutcome(Aws::Client::AWSError(S3ControlErrors::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, DeleteAccessGrantsInstance, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + auto addPrefixErr = endpointResolutionOutcome.GetResult().AddPrefixIfMissing("" + request.GetAccountId() + "."); + AWS_CHECK(SERVICE_NAME, !addPrefixErr, addPrefixErr->GetMessage(), DeleteAccessGrantsInstanceOutcome(addPrefixErr.value())); + endpointResolutionOutcome.GetResult().AddPathSegments("/v20180820/accessgrantsinstance"); + return DeleteAccessGrantsInstanceOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_DELETE)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +DeleteAccessGrantsInstanceResourcePolicyOutcome S3ControlClient::DeleteAccessGrantsInstanceResourcePolicy(const DeleteAccessGrantsInstanceResourcePolicyRequest& request) const +{ + AWS_OPERATION_GUARD(DeleteAccessGrantsInstanceResourcePolicy); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteAccessGrantsInstanceResourcePolicy, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.AccountIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteAccessGrantsInstanceResourcePolicy", "Required field: AccountId, is not set"); + return DeleteAccessGrantsInstanceResourcePolicyOutcome(Aws::Client::AWSError(S3ControlErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [AccountId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DeleteAccessGrantsInstanceResourcePolicy, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DeleteAccessGrantsInstanceResourcePolicy, 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( + [&]()-> DeleteAccessGrantsInstanceResourcePolicyOutcome { + if (request.GetAccountId().size() != 12 || request.GetAccountId().find_first_not_of("0123456789") != Aws::String::npos) + { + AWS_LOGSTREAM_ERROR("DeleteAccessGrantsInstanceResourcePolicy", "Required field: AccountId has invalid value"); + return DeleteAccessGrantsInstanceResourcePolicyOutcome(Aws::Client::AWSError(S3ControlErrors::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, DeleteAccessGrantsInstanceResourcePolicy, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + auto addPrefixErr = endpointResolutionOutcome.GetResult().AddPrefixIfMissing("" + request.GetAccountId() + "."); + AWS_CHECK(SERVICE_NAME, !addPrefixErr, addPrefixErr->GetMessage(), DeleteAccessGrantsInstanceResourcePolicyOutcome(addPrefixErr.value())); + endpointResolutionOutcome.GetResult().AddPathSegments("/v20180820/accessgrantsinstance/resourcepolicy"); + return DeleteAccessGrantsInstanceResourcePolicyOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_DELETE)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +DeleteAccessGrantsLocationOutcome S3ControlClient::DeleteAccessGrantsLocation(const DeleteAccessGrantsLocationRequest& request) const +{ + AWS_OPERATION_GUARD(DeleteAccessGrantsLocation); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteAccessGrantsLocation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.AccountIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteAccessGrantsLocation", "Required field: AccountId, is not set"); + return DeleteAccessGrantsLocationOutcome(Aws::Client::AWSError(S3ControlErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [AccountId]", false)); + } + if (!request.AccessGrantsLocationIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteAccessGrantsLocation", "Required field: AccessGrantsLocationId, is not set"); + return DeleteAccessGrantsLocationOutcome(Aws::Client::AWSError(S3ControlErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [AccessGrantsLocationId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DeleteAccessGrantsLocation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DeleteAccessGrantsLocation, 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( + [&]()-> DeleteAccessGrantsLocationOutcome { + if (request.GetAccountId().size() != 12 || request.GetAccountId().find_first_not_of("0123456789") != Aws::String::npos) + { + AWS_LOGSTREAM_ERROR("DeleteAccessGrantsLocation", "Required field: AccountId has invalid value"); + return DeleteAccessGrantsLocationOutcome(Aws::Client::AWSError(S3ControlErrors::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, DeleteAccessGrantsLocation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + auto addPrefixErr = endpointResolutionOutcome.GetResult().AddPrefixIfMissing("" + request.GetAccountId() + "."); + AWS_CHECK(SERVICE_NAME, !addPrefixErr, addPrefixErr->GetMessage(), DeleteAccessGrantsLocationOutcome(addPrefixErr.value())); + endpointResolutionOutcome.GetResult().AddPathSegments("/v20180820/accessgrantsinstance/location/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetAccessGrantsLocationId()); + return DeleteAccessGrantsLocationOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_DELETE)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + DeleteAccessPointOutcome S3ControlClient::DeleteAccessPoint(const DeleteAccessPointRequest& request) const { AWS_OPERATION_GUARD(DeleteAccessPoint); @@ -1181,6 +1525,257 @@ DescribeMultiRegionAccessPointOperationOutcome S3ControlClient::DescribeMultiReg {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +DissociateAccessGrantsIdentityCenterOutcome S3ControlClient::DissociateAccessGrantsIdentityCenter(const DissociateAccessGrantsIdentityCenterRequest& request) const +{ + AWS_OPERATION_GUARD(DissociateAccessGrantsIdentityCenter); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DissociateAccessGrantsIdentityCenter, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.AccountIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DissociateAccessGrantsIdentityCenter", "Required field: AccountId, is not set"); + return DissociateAccessGrantsIdentityCenterOutcome(Aws::Client::AWSError(S3ControlErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [AccountId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DissociateAccessGrantsIdentityCenter, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DissociateAccessGrantsIdentityCenter, 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( + [&]()-> DissociateAccessGrantsIdentityCenterOutcome { + if (request.GetAccountId().size() != 12 || request.GetAccountId().find_first_not_of("0123456789") != Aws::String::npos) + { + AWS_LOGSTREAM_ERROR("DissociateAccessGrantsIdentityCenter", "Required field: AccountId has invalid value"); + return DissociateAccessGrantsIdentityCenterOutcome(Aws::Client::AWSError(S3ControlErrors::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, DissociateAccessGrantsIdentityCenter, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + auto addPrefixErr = endpointResolutionOutcome.GetResult().AddPrefixIfMissing("" + request.GetAccountId() + "."); + AWS_CHECK(SERVICE_NAME, !addPrefixErr, addPrefixErr->GetMessage(), DissociateAccessGrantsIdentityCenterOutcome(addPrefixErr.value())); + endpointResolutionOutcome.GetResult().AddPathSegments("/v20180820/accessgrantsinstance/identitycenter"); + return DissociateAccessGrantsIdentityCenterOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_DELETE)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +GetAccessGrantOutcome S3ControlClient::GetAccessGrant(const GetAccessGrantRequest& request) const +{ + AWS_OPERATION_GUARD(GetAccessGrant); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetAccessGrant, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.AccountIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetAccessGrant", "Required field: AccountId, is not set"); + return GetAccessGrantOutcome(Aws::Client::AWSError(S3ControlErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [AccountId]", false)); + } + if (!request.AccessGrantIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetAccessGrant", "Required field: AccessGrantId, is not set"); + return GetAccessGrantOutcome(Aws::Client::AWSError(S3ControlErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [AccessGrantId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetAccessGrant, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetAccessGrant, 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( + [&]()-> GetAccessGrantOutcome { + if (request.GetAccountId().size() != 12 || request.GetAccountId().find_first_not_of("0123456789") != Aws::String::npos) + { + AWS_LOGSTREAM_ERROR("GetAccessGrant", "Required field: AccountId has invalid value"); + return GetAccessGrantOutcome(Aws::Client::AWSError(S3ControlErrors::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, GetAccessGrant, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + auto addPrefixErr = endpointResolutionOutcome.GetResult().AddPrefixIfMissing("" + request.GetAccountId() + "."); + AWS_CHECK(SERVICE_NAME, !addPrefixErr, addPrefixErr->GetMessage(), GetAccessGrantOutcome(addPrefixErr.value())); + endpointResolutionOutcome.GetResult().AddPathSegments("/v20180820/accessgrantsinstance/grant/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetAccessGrantId()); + return GetAccessGrantOutcome(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()}}); +} + +GetAccessGrantsInstanceOutcome S3ControlClient::GetAccessGrantsInstance(const GetAccessGrantsInstanceRequest& request) const +{ + AWS_OPERATION_GUARD(GetAccessGrantsInstance); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetAccessGrantsInstance, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.AccountIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetAccessGrantsInstance", "Required field: AccountId, is not set"); + return GetAccessGrantsInstanceOutcome(Aws::Client::AWSError(S3ControlErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [AccountId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetAccessGrantsInstance, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetAccessGrantsInstance, 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( + [&]()-> GetAccessGrantsInstanceOutcome { + if (request.GetAccountId().size() != 12 || request.GetAccountId().find_first_not_of("0123456789") != Aws::String::npos) + { + AWS_LOGSTREAM_ERROR("GetAccessGrantsInstance", "Required field: AccountId has invalid value"); + return GetAccessGrantsInstanceOutcome(Aws::Client::AWSError(S3ControlErrors::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, GetAccessGrantsInstance, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + auto addPrefixErr = endpointResolutionOutcome.GetResult().AddPrefixIfMissing("" + request.GetAccountId() + "."); + AWS_CHECK(SERVICE_NAME, !addPrefixErr, addPrefixErr->GetMessage(), GetAccessGrantsInstanceOutcome(addPrefixErr.value())); + endpointResolutionOutcome.GetResult().AddPathSegments("/v20180820/accessgrantsinstance"); + return GetAccessGrantsInstanceOutcome(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()}}); +} + +GetAccessGrantsInstanceForPrefixOutcome S3ControlClient::GetAccessGrantsInstanceForPrefix(const GetAccessGrantsInstanceForPrefixRequest& request) const +{ + AWS_OPERATION_GUARD(GetAccessGrantsInstanceForPrefix); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetAccessGrantsInstanceForPrefix, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.AccountIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetAccessGrantsInstanceForPrefix", "Required field: AccountId, is not set"); + return GetAccessGrantsInstanceForPrefixOutcome(Aws::Client::AWSError(S3ControlErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [AccountId]", false)); + } + if (!request.S3PrefixHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetAccessGrantsInstanceForPrefix", "Required field: S3Prefix, is not set"); + return GetAccessGrantsInstanceForPrefixOutcome(Aws::Client::AWSError(S3ControlErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [S3Prefix]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetAccessGrantsInstanceForPrefix, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetAccessGrantsInstanceForPrefix, 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( + [&]()-> GetAccessGrantsInstanceForPrefixOutcome { + if (request.GetAccountId().size() != 12 || request.GetAccountId().find_first_not_of("0123456789") != Aws::String::npos) + { + AWS_LOGSTREAM_ERROR("GetAccessGrantsInstanceForPrefix", "Required field: AccountId has invalid value"); + return GetAccessGrantsInstanceForPrefixOutcome(Aws::Client::AWSError(S3ControlErrors::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, GetAccessGrantsInstanceForPrefix, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + auto addPrefixErr = endpointResolutionOutcome.GetResult().AddPrefixIfMissing("" + request.GetAccountId() + "."); + AWS_CHECK(SERVICE_NAME, !addPrefixErr, addPrefixErr->GetMessage(), GetAccessGrantsInstanceForPrefixOutcome(addPrefixErr.value())); + endpointResolutionOutcome.GetResult().AddPathSegments("/v20180820/accessgrantsinstance/prefix"); + return GetAccessGrantsInstanceForPrefixOutcome(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()}}); +} + +GetAccessGrantsInstanceResourcePolicyOutcome S3ControlClient::GetAccessGrantsInstanceResourcePolicy(const GetAccessGrantsInstanceResourcePolicyRequest& request) const +{ + AWS_OPERATION_GUARD(GetAccessGrantsInstanceResourcePolicy); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetAccessGrantsInstanceResourcePolicy, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.AccountIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetAccessGrantsInstanceResourcePolicy", "Required field: AccountId, is not set"); + return GetAccessGrantsInstanceResourcePolicyOutcome(Aws::Client::AWSError(S3ControlErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [AccountId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetAccessGrantsInstanceResourcePolicy, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetAccessGrantsInstanceResourcePolicy, 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( + [&]()-> GetAccessGrantsInstanceResourcePolicyOutcome { + if (request.GetAccountId().size() != 12 || request.GetAccountId().find_first_not_of("0123456789") != Aws::String::npos) + { + AWS_LOGSTREAM_ERROR("GetAccessGrantsInstanceResourcePolicy", "Required field: AccountId has invalid value"); + return GetAccessGrantsInstanceResourcePolicyOutcome(Aws::Client::AWSError(S3ControlErrors::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, GetAccessGrantsInstanceResourcePolicy, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + auto addPrefixErr = endpointResolutionOutcome.GetResult().AddPrefixIfMissing("" + request.GetAccountId() + "."); + AWS_CHECK(SERVICE_NAME, !addPrefixErr, addPrefixErr->GetMessage(), GetAccessGrantsInstanceResourcePolicyOutcome(addPrefixErr.value())); + endpointResolutionOutcome.GetResult().AddPathSegments("/v20180820/accessgrantsinstance/resourcepolicy"); + return GetAccessGrantsInstanceResourcePolicyOutcome(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()}}); +} + +GetAccessGrantsLocationOutcome S3ControlClient::GetAccessGrantsLocation(const GetAccessGrantsLocationRequest& request) const +{ + AWS_OPERATION_GUARD(GetAccessGrantsLocation); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetAccessGrantsLocation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.AccountIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetAccessGrantsLocation", "Required field: AccountId, is not set"); + return GetAccessGrantsLocationOutcome(Aws::Client::AWSError(S3ControlErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [AccountId]", false)); + } + if (!request.AccessGrantsLocationIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetAccessGrantsLocation", "Required field: AccessGrantsLocationId, is not set"); + return GetAccessGrantsLocationOutcome(Aws::Client::AWSError(S3ControlErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [AccessGrantsLocationId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetAccessGrantsLocation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetAccessGrantsLocation, 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( + [&]()-> GetAccessGrantsLocationOutcome { + if (request.GetAccountId().size() != 12 || request.GetAccountId().find_first_not_of("0123456789") != Aws::String::npos) + { + AWS_LOGSTREAM_ERROR("GetAccessGrantsLocation", "Required field: AccountId has invalid value"); + return GetAccessGrantsLocationOutcome(Aws::Client::AWSError(S3ControlErrors::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, GetAccessGrantsLocation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + auto addPrefixErr = endpointResolutionOutcome.GetResult().AddPrefixIfMissing("" + request.GetAccountId() + "."); + AWS_CHECK(SERVICE_NAME, !addPrefixErr, addPrefixErr->GetMessage(), GetAccessGrantsLocationOutcome(addPrefixErr.value())); + endpointResolutionOutcome.GetResult().AddPathSegments("/v20180820/accessgrantsinstance/location/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetAccessGrantsLocationId()); + return GetAccessGrantsLocationOutcome(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()}}); +} + GetAccessPointOutcome S3ControlClient::GetAccessPoint(const GetAccessPointRequest& request) const { AWS_OPERATION_GUARD(GetAccessPoint); @@ -1711,6 +2306,55 @@ GetBucketVersioningOutcome S3ControlClient::GetBucketVersioning(const GetBucketV {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +GetDataAccessOutcome S3ControlClient::GetDataAccess(const GetDataAccessRequest& request) const +{ + AWS_OPERATION_GUARD(GetDataAccess); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetDataAccess, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.AccountIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetDataAccess", "Required field: AccountId, is not set"); + return GetDataAccessOutcome(Aws::Client::AWSError(S3ControlErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [AccountId]", false)); + } + if (!request.TargetHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetDataAccess", "Required field: Target, is not set"); + return GetDataAccessOutcome(Aws::Client::AWSError(S3ControlErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Target]", false)); + } + if (!request.PermissionHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetDataAccess", "Required field: Permission, is not set"); + return GetDataAccessOutcome(Aws::Client::AWSError(S3ControlErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Permission]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetDataAccess, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetDataAccess, 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( + [&]()-> GetDataAccessOutcome { + if (request.GetAccountId().size() != 12 || request.GetAccountId().find_first_not_of("0123456789") != Aws::String::npos) + { + AWS_LOGSTREAM_ERROR("GetDataAccess", "Required field: AccountId has invalid value"); + return GetDataAccessOutcome(Aws::Client::AWSError(S3ControlErrors::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, GetDataAccess, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + auto addPrefixErr = endpointResolutionOutcome.GetResult().AddPrefixIfMissing("" + request.GetAccountId() + "."); + AWS_CHECK(SERVICE_NAME, !addPrefixErr, addPrefixErr->GetMessage(), GetDataAccessOutcome(addPrefixErr.value())); + endpointResolutionOutcome.GetResult().AddPathSegments("/v20180820/accessgrantsinstance/dataaccess"); + return GetDataAccessOutcome(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()}}); +} + GetJobTaggingOutcome S3ControlClient::GetJobTagging(const GetJobTaggingRequest& request) const { AWS_OPERATION_GUARD(GetJobTagging); @@ -2095,6 +2739,123 @@ GetStorageLensGroupOutcome S3ControlClient::GetStorageLensGroup(const GetStorage {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +ListAccessGrantsOutcome S3ControlClient::ListAccessGrants(const ListAccessGrantsRequest& request) const +{ + AWS_OPERATION_GUARD(ListAccessGrants); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListAccessGrants, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.AccountIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("ListAccessGrants", "Required field: AccountId, is not set"); + return ListAccessGrantsOutcome(Aws::Client::AWSError(S3ControlErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [AccountId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListAccessGrants, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListAccessGrants, 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( + [&]()-> ListAccessGrantsOutcome { + if (request.GetAccountId().size() != 12 || request.GetAccountId().find_first_not_of("0123456789") != Aws::String::npos) + { + AWS_LOGSTREAM_ERROR("ListAccessGrants", "Required field: AccountId has invalid value"); + return ListAccessGrantsOutcome(Aws::Client::AWSError(S3ControlErrors::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, ListAccessGrants, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + auto addPrefixErr = endpointResolutionOutcome.GetResult().AddPrefixIfMissing("" + request.GetAccountId() + "."); + AWS_CHECK(SERVICE_NAME, !addPrefixErr, addPrefixErr->GetMessage(), ListAccessGrantsOutcome(addPrefixErr.value())); + endpointResolutionOutcome.GetResult().AddPathSegments("/v20180820/accessgrantsinstance/grants"); + return ListAccessGrantsOutcome(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()}}); +} + +ListAccessGrantsInstancesOutcome S3ControlClient::ListAccessGrantsInstances(const ListAccessGrantsInstancesRequest& request) const +{ + AWS_OPERATION_GUARD(ListAccessGrantsInstances); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListAccessGrantsInstances, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.AccountIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("ListAccessGrantsInstances", "Required field: AccountId, is not set"); + return ListAccessGrantsInstancesOutcome(Aws::Client::AWSError(S3ControlErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [AccountId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListAccessGrantsInstances, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListAccessGrantsInstances, 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( + [&]()-> ListAccessGrantsInstancesOutcome { + if (request.GetAccountId().size() != 12 || request.GetAccountId().find_first_not_of("0123456789") != Aws::String::npos) + { + AWS_LOGSTREAM_ERROR("ListAccessGrantsInstances", "Required field: AccountId has invalid value"); + return ListAccessGrantsInstancesOutcome(Aws::Client::AWSError(S3ControlErrors::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, ListAccessGrantsInstances, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + auto addPrefixErr = endpointResolutionOutcome.GetResult().AddPrefixIfMissing("" + request.GetAccountId() + "."); + AWS_CHECK(SERVICE_NAME, !addPrefixErr, addPrefixErr->GetMessage(), ListAccessGrantsInstancesOutcome(addPrefixErr.value())); + endpointResolutionOutcome.GetResult().AddPathSegments("/v20180820/accessgrantsinstances"); + return ListAccessGrantsInstancesOutcome(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()}}); +} + +ListAccessGrantsLocationsOutcome S3ControlClient::ListAccessGrantsLocations(const ListAccessGrantsLocationsRequest& request) const +{ + AWS_OPERATION_GUARD(ListAccessGrantsLocations); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListAccessGrantsLocations, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.AccountIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("ListAccessGrantsLocations", "Required field: AccountId, is not set"); + return ListAccessGrantsLocationsOutcome(Aws::Client::AWSError(S3ControlErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [AccountId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListAccessGrantsLocations, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListAccessGrantsLocations, 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( + [&]()-> ListAccessGrantsLocationsOutcome { + if (request.GetAccountId().size() != 12 || request.GetAccountId().find_first_not_of("0123456789") != Aws::String::npos) + { + AWS_LOGSTREAM_ERROR("ListAccessGrantsLocations", "Required field: AccountId has invalid value"); + return ListAccessGrantsLocationsOutcome(Aws::Client::AWSError(S3ControlErrors::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, ListAccessGrantsLocations, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + auto addPrefixErr = endpointResolutionOutcome.GetResult().AddPrefixIfMissing("" + request.GetAccountId() + "."); + AWS_CHECK(SERVICE_NAME, !addPrefixErr, addPrefixErr->GetMessage(), ListAccessGrantsLocationsOutcome(addPrefixErr.value())); + endpointResolutionOutcome.GetResult().AddPathSegments("/v20180820/accessgrantsinstance/locations"); + return ListAccessGrantsLocationsOutcome(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()}}); +} + ListAccessPointsOutcome S3ControlClient::ListAccessPoints(const ListAccessPointsRequest& request) const { AWS_OPERATION_GUARD(ListAccessPoints); @@ -2409,6 +3170,45 @@ ListTagsForResourceOutcome S3ControlClient::ListTagsForResource(const ListTagsFo {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +PutAccessGrantsInstanceResourcePolicyOutcome S3ControlClient::PutAccessGrantsInstanceResourcePolicy(const PutAccessGrantsInstanceResourcePolicyRequest& request) const +{ + AWS_OPERATION_GUARD(PutAccessGrantsInstanceResourcePolicy); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, PutAccessGrantsInstanceResourcePolicy, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.AccountIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("PutAccessGrantsInstanceResourcePolicy", "Required field: AccountId, is not set"); + return PutAccessGrantsInstanceResourcePolicyOutcome(Aws::Client::AWSError(S3ControlErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [AccountId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, PutAccessGrantsInstanceResourcePolicy, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, PutAccessGrantsInstanceResourcePolicy, 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( + [&]()-> PutAccessGrantsInstanceResourcePolicyOutcome { + if (request.GetAccountId().size() != 12 || request.GetAccountId().find_first_not_of("0123456789") != Aws::String::npos) + { + AWS_LOGSTREAM_ERROR("PutAccessGrantsInstanceResourcePolicy", "Required field: AccountId has invalid value"); + return PutAccessGrantsInstanceResourcePolicyOutcome(Aws::Client::AWSError(S3ControlErrors::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, PutAccessGrantsInstanceResourcePolicy, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + auto addPrefixErr = endpointResolutionOutcome.GetResult().AddPrefixIfMissing("" + request.GetAccountId() + "."); + AWS_CHECK(SERVICE_NAME, !addPrefixErr, addPrefixErr->GetMessage(), PutAccessGrantsInstanceResourcePolicyOutcome(addPrefixErr.value())); + endpointResolutionOutcome.GetResult().AddPathSegments("/v20180820/accessgrantsinstance/resourcepolicy"); + return PutAccessGrantsInstanceResourcePolicyOutcome(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()}}); +} + PutAccessPointConfigurationForObjectLambdaOutcome S3ControlClient::PutAccessPointConfigurationForObjectLambda(const PutAccessPointConfigurationForObjectLambdaRequest& request) const { AWS_OPERATION_GUARD(PutAccessPointConfigurationForObjectLambda); @@ -3095,6 +3895,51 @@ UntagResourceOutcome S3ControlClient::UntagResource(const UntagResourceRequest& {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +UpdateAccessGrantsLocationOutcome S3ControlClient::UpdateAccessGrantsLocation(const UpdateAccessGrantsLocationRequest& request) const +{ + AWS_OPERATION_GUARD(UpdateAccessGrantsLocation); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UpdateAccessGrantsLocation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.AccountIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("UpdateAccessGrantsLocation", "Required field: AccountId, is not set"); + return UpdateAccessGrantsLocationOutcome(Aws::Client::AWSError(S3ControlErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [AccountId]", false)); + } + if (!request.AccessGrantsLocationIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("UpdateAccessGrantsLocation", "Required field: AccessGrantsLocationId, is not set"); + return UpdateAccessGrantsLocationOutcome(Aws::Client::AWSError(S3ControlErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [AccessGrantsLocationId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, UpdateAccessGrantsLocation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, UpdateAccessGrantsLocation, 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( + [&]()-> UpdateAccessGrantsLocationOutcome { + if (request.GetAccountId().size() != 12 || request.GetAccountId().find_first_not_of("0123456789") != Aws::String::npos) + { + AWS_LOGSTREAM_ERROR("UpdateAccessGrantsLocation", "Required field: AccountId has invalid value"); + return UpdateAccessGrantsLocationOutcome(Aws::Client::AWSError(S3ControlErrors::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, UpdateAccessGrantsLocation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + auto addPrefixErr = endpointResolutionOutcome.GetResult().AddPrefixIfMissing("" + request.GetAccountId() + "."); + AWS_CHECK(SERVICE_NAME, !addPrefixErr, addPrefixErr->GetMessage(), UpdateAccessGrantsLocationOutcome(addPrefixErr.value())); + endpointResolutionOutcome.GetResult().AddPathSegments("/v20180820/accessgrantsinstance/location/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetAccessGrantsLocationId()); + return UpdateAccessGrantsLocationOutcome(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()}}); +} + UpdateJobPriorityOutcome S3ControlClient::UpdateJobPriority(const UpdateJobPriorityRequest& request) const { AWS_OPERATION_GUARD(UpdateJobPriority); diff --git a/generated/src/aws-cpp-sdk-s3control/source/model/AccessGrantsLocationConfiguration.cpp b/generated/src/aws-cpp-sdk-s3control/source/model/AccessGrantsLocationConfiguration.cpp new file mode 100644 index 00000000000..da9f13b62df --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/source/model/AccessGrantsLocationConfiguration.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 S3Control +{ +namespace Model +{ + +AccessGrantsLocationConfiguration::AccessGrantsLocationConfiguration() : + m_s3SubPrefixHasBeenSet(false) +{ +} + +AccessGrantsLocationConfiguration::AccessGrantsLocationConfiguration(const XmlNode& xmlNode) : + m_s3SubPrefixHasBeenSet(false) +{ + *this = xmlNode; +} + +AccessGrantsLocationConfiguration& AccessGrantsLocationConfiguration::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode s3SubPrefixNode = resultNode.FirstChild("S3SubPrefix"); + if(!s3SubPrefixNode.IsNull()) + { + m_s3SubPrefix = Aws::Utils::Xml::DecodeEscapedXmlText(s3SubPrefixNode.GetText()); + m_s3SubPrefixHasBeenSet = true; + } + } + + return *this; +} + +void AccessGrantsLocationConfiguration::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_s3SubPrefixHasBeenSet) + { + XmlNode s3SubPrefixNode = parentNode.CreateChildElement("S3SubPrefix"); + s3SubPrefixNode.SetText(m_s3SubPrefix); + } + +} + +} // namespace Model +} // namespace S3Control +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3control/source/model/AssociateAccessGrantsIdentityCenterRequest.cpp b/generated/src/aws-cpp-sdk-s3control/source/model/AssociateAccessGrantsIdentityCenterRequest.cpp new file mode 100644 index 00000000000..6d745a5279d --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/source/model/AssociateAccessGrantsIdentityCenterRequest.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::S3Control::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +AssociateAccessGrantsIdentityCenterRequest::AssociateAccessGrantsIdentityCenterRequest() : + m_accountIdHasBeenSet(false), + m_identityCenterArnHasBeenSet(false) +{ +} + +Aws::String AssociateAccessGrantsIdentityCenterRequest::SerializePayload() const +{ + XmlDocument payloadDoc = XmlDocument::CreateWithRootNode("AssociateAccessGrantsIdentityCenterRequest"); + + XmlNode parentNode = payloadDoc.GetRootElement(); + parentNode.SetAttributeValue("xmlns", "http://awss3control.amazonaws.com/doc/2018-08-20/"); + + Aws::StringStream ss; + if(m_identityCenterArnHasBeenSet) + { + XmlNode identityCenterArnNode = parentNode.CreateChildElement("IdentityCenterArn"); + identityCenterArnNode.SetText(m_identityCenterArn); + } + + return payloadDoc.ConvertToString(); +} + + +Aws::Http::HeaderValueCollection AssociateAccessGrantsIdentityCenterRequest::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; +} + +AssociateAccessGrantsIdentityCenterRequest::EndpointParameters AssociateAccessGrantsIdentityCenterRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Static context parameters + parameters.emplace_back(Aws::String("RequiresAccountId"), true, Aws::Endpoint::EndpointParameter::ParameterOrigin::STATIC_CONTEXT); + // Operation context parameters + if (AccountIdHasBeenSet()) { + parameters.emplace_back(Aws::String("AccountId"), this->GetAccountId(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} diff --git a/generated/src/aws-cpp-sdk-s3control/source/model/CreateAccessGrantRequest.cpp b/generated/src/aws-cpp-sdk-s3control/source/model/CreateAccessGrantRequest.cpp new file mode 100644 index 00000000000..25d58428e94 --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/source/model/CreateAccessGrantRequest.cpp @@ -0,0 +1,113 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::S3Control::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +CreateAccessGrantRequest::CreateAccessGrantRequest() : + m_accountIdHasBeenSet(false), + m_accessGrantsLocationIdHasBeenSet(false), + m_accessGrantsLocationConfigurationHasBeenSet(false), + m_granteeHasBeenSet(false), + m_permission(Permission::NOT_SET), + m_permissionHasBeenSet(false), + m_applicationArnHasBeenSet(false), + m_s3PrefixType(S3PrefixType::NOT_SET), + m_s3PrefixTypeHasBeenSet(false), + m_tagsHasBeenSet(false) +{ +} + +Aws::String CreateAccessGrantRequest::SerializePayload() const +{ + XmlDocument payloadDoc = XmlDocument::CreateWithRootNode("CreateAccessGrantRequest"); + + XmlNode parentNode = payloadDoc.GetRootElement(); + parentNode.SetAttributeValue("xmlns", "http://awss3control.amazonaws.com/doc/2018-08-20/"); + + Aws::StringStream ss; + if(m_accessGrantsLocationIdHasBeenSet) + { + XmlNode accessGrantsLocationIdNode = parentNode.CreateChildElement("AccessGrantsLocationId"); + accessGrantsLocationIdNode.SetText(m_accessGrantsLocationId); + } + + if(m_accessGrantsLocationConfigurationHasBeenSet) + { + XmlNode accessGrantsLocationConfigurationNode = parentNode.CreateChildElement("AccessGrantsLocationConfiguration"); + m_accessGrantsLocationConfiguration.AddToNode(accessGrantsLocationConfigurationNode); + } + + if(m_granteeHasBeenSet) + { + XmlNode granteeNode = parentNode.CreateChildElement("Grantee"); + m_grantee.AddToNode(granteeNode); + } + + if(m_permissionHasBeenSet) + { + XmlNode permissionNode = parentNode.CreateChildElement("Permission"); + permissionNode.SetText(PermissionMapper::GetNameForPermission(m_permission)); + } + + if(m_applicationArnHasBeenSet) + { + XmlNode applicationArnNode = parentNode.CreateChildElement("ApplicationArn"); + applicationArnNode.SetText(m_applicationArn); + } + + if(m_s3PrefixTypeHasBeenSet) + { + XmlNode s3PrefixTypeNode = parentNode.CreateChildElement("S3PrefixType"); + s3PrefixTypeNode.SetText(S3PrefixTypeMapper::GetNameForS3PrefixType(m_s3PrefixType)); + } + + if(m_tagsHasBeenSet) + { + XmlNode tagsParentNode = parentNode.CreateChildElement("Tags"); + for(const auto& item : m_tags) + { + XmlNode tagsNode = tagsParentNode.CreateChildElement("Tag"); + item.AddToNode(tagsNode); + } + } + + return payloadDoc.ConvertToString(); +} + + +Aws::Http::HeaderValueCollection CreateAccessGrantRequest::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; +} + +CreateAccessGrantRequest::EndpointParameters CreateAccessGrantRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Static context parameters + parameters.emplace_back(Aws::String("RequiresAccountId"), true, Aws::Endpoint::EndpointParameter::ParameterOrigin::STATIC_CONTEXT); + // Operation context parameters + if (AccountIdHasBeenSet()) { + parameters.emplace_back(Aws::String("AccountId"), this->GetAccountId(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} diff --git a/generated/src/aws-cpp-sdk-s3control/source/model/CreateAccessGrantResult.cpp b/generated/src/aws-cpp-sdk-s3control/source/model/CreateAccessGrantResult.cpp new file mode 100644 index 00000000000..f15890c7376 --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/source/model/CreateAccessGrantResult.cpp @@ -0,0 +1,92 @@ +/** + * 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::S3Control::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +CreateAccessGrantResult::CreateAccessGrantResult() : + m_permission(Permission::NOT_SET) +{ +} + +CreateAccessGrantResult::CreateAccessGrantResult(const Aws::AmazonWebServiceResult& result) : + m_permission(Permission::NOT_SET) +{ + *this = result; +} + +CreateAccessGrantResult& CreateAccessGrantResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + XmlNode createdAtNode = resultNode.FirstChild("CreatedAt"); + if(!createdAtNode.IsNull()) + { + m_createdAt = DateTime(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(createdAtNode.GetText()).c_str()).c_str(), Aws::Utils::DateFormat::ISO_8601); + } + XmlNode accessGrantIdNode = resultNode.FirstChild("AccessGrantId"); + if(!accessGrantIdNode.IsNull()) + { + m_accessGrantId = Aws::Utils::Xml::DecodeEscapedXmlText(accessGrantIdNode.GetText()); + } + XmlNode accessGrantArnNode = resultNode.FirstChild("AccessGrantArn"); + if(!accessGrantArnNode.IsNull()) + { + m_accessGrantArn = Aws::Utils::Xml::DecodeEscapedXmlText(accessGrantArnNode.GetText()); + } + XmlNode granteeNode = resultNode.FirstChild("Grantee"); + if(!granteeNode.IsNull()) + { + m_grantee = granteeNode; + } + XmlNode accessGrantsLocationIdNode = resultNode.FirstChild("AccessGrantsLocationId"); + if(!accessGrantsLocationIdNode.IsNull()) + { + m_accessGrantsLocationId = Aws::Utils::Xml::DecodeEscapedXmlText(accessGrantsLocationIdNode.GetText()); + } + XmlNode accessGrantsLocationConfigurationNode = resultNode.FirstChild("AccessGrantsLocationConfiguration"); + if(!accessGrantsLocationConfigurationNode.IsNull()) + { + m_accessGrantsLocationConfiguration = accessGrantsLocationConfigurationNode; + } + XmlNode permissionNode = resultNode.FirstChild("Permission"); + if(!permissionNode.IsNull()) + { + m_permission = PermissionMapper::GetPermissionForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(permissionNode.GetText()).c_str()).c_str()); + } + XmlNode applicationArnNode = resultNode.FirstChild("ApplicationArn"); + if(!applicationArnNode.IsNull()) + { + m_applicationArn = Aws::Utils::Xml::DecodeEscapedXmlText(applicationArnNode.GetText()); + } + XmlNode grantScopeNode = resultNode.FirstChild("GrantScope"); + if(!grantScopeNode.IsNull()) + { + m_grantScope = Aws::Utils::Xml::DecodeEscapedXmlText(grantScopeNode.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/src/aws-cpp-sdk-s3control/source/model/CreateAccessGrantsInstanceRequest.cpp b/generated/src/aws-cpp-sdk-s3control/source/model/CreateAccessGrantsInstanceRequest.cpp new file mode 100644 index 00000000000..1ea2e3e97e3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/source/model/CreateAccessGrantsInstanceRequest.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::S3Control::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +CreateAccessGrantsInstanceRequest::CreateAccessGrantsInstanceRequest() : + m_accountIdHasBeenSet(false), + m_identityCenterArnHasBeenSet(false), + m_tagsHasBeenSet(false) +{ +} + +Aws::String CreateAccessGrantsInstanceRequest::SerializePayload() const +{ + XmlDocument payloadDoc = XmlDocument::CreateWithRootNode("CreateAccessGrantsInstanceRequest"); + + XmlNode parentNode = payloadDoc.GetRootElement(); + parentNode.SetAttributeValue("xmlns", "http://awss3control.amazonaws.com/doc/2018-08-20/"); + + Aws::StringStream ss; + if(m_identityCenterArnHasBeenSet) + { + XmlNode identityCenterArnNode = parentNode.CreateChildElement("IdentityCenterArn"); + identityCenterArnNode.SetText(m_identityCenterArn); + } + + if(m_tagsHasBeenSet) + { + XmlNode tagsParentNode = parentNode.CreateChildElement("Tags"); + for(const auto& item : m_tags) + { + XmlNode tagsNode = tagsParentNode.CreateChildElement("Tag"); + item.AddToNode(tagsNode); + } + } + + return payloadDoc.ConvertToString(); +} + + +Aws::Http::HeaderValueCollection CreateAccessGrantsInstanceRequest::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; +} + +CreateAccessGrantsInstanceRequest::EndpointParameters CreateAccessGrantsInstanceRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Static context parameters + parameters.emplace_back(Aws::String("RequiresAccountId"), true, Aws::Endpoint::EndpointParameter::ParameterOrigin::STATIC_CONTEXT); + // Operation context parameters + if (AccountIdHasBeenSet()) { + parameters.emplace_back(Aws::String("AccountId"), this->GetAccountId(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} diff --git a/generated/src/aws-cpp-sdk-s3control/source/model/CreateAccessGrantsInstanceResult.cpp b/generated/src/aws-cpp-sdk-s3control/source/model/CreateAccessGrantsInstanceResult.cpp new file mode 100644 index 00000000000..2dc28e2c033 --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/source/model/CreateAccessGrantsInstanceResult.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 + +#include + +using namespace Aws::S3Control::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +CreateAccessGrantsInstanceResult::CreateAccessGrantsInstanceResult() +{ +} + +CreateAccessGrantsInstanceResult::CreateAccessGrantsInstanceResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +CreateAccessGrantsInstanceResult& CreateAccessGrantsInstanceResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + XmlNode createdAtNode = resultNode.FirstChild("CreatedAt"); + if(!createdAtNode.IsNull()) + { + m_createdAt = DateTime(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(createdAtNode.GetText()).c_str()).c_str(), Aws::Utils::DateFormat::ISO_8601); + } + XmlNode accessGrantsInstanceIdNode = resultNode.FirstChild("AccessGrantsInstanceId"); + if(!accessGrantsInstanceIdNode.IsNull()) + { + m_accessGrantsInstanceId = Aws::Utils::Xml::DecodeEscapedXmlText(accessGrantsInstanceIdNode.GetText()); + } + XmlNode accessGrantsInstanceArnNode = resultNode.FirstChild("AccessGrantsInstanceArn"); + if(!accessGrantsInstanceArnNode.IsNull()) + { + m_accessGrantsInstanceArn = Aws::Utils::Xml::DecodeEscapedXmlText(accessGrantsInstanceArnNode.GetText()); + } + XmlNode identityCenterArnNode = resultNode.FirstChild("IdentityCenterArn"); + if(!identityCenterArnNode.IsNull()) + { + m_identityCenterArn = Aws::Utils::Xml::DecodeEscapedXmlText(identityCenterArnNode.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/src/aws-cpp-sdk-s3control/source/model/CreateAccessGrantsLocationRequest.cpp b/generated/src/aws-cpp-sdk-s3control/source/model/CreateAccessGrantsLocationRequest.cpp new file mode 100644 index 00000000000..461bf6ce028 --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/source/model/CreateAccessGrantsLocationRequest.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 + +using namespace Aws::S3Control::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +CreateAccessGrantsLocationRequest::CreateAccessGrantsLocationRequest() : + m_accountIdHasBeenSet(false), + m_locationScopeHasBeenSet(false), + m_iAMRoleArnHasBeenSet(false), + m_tagsHasBeenSet(false) +{ +} + +Aws::String CreateAccessGrantsLocationRequest::SerializePayload() const +{ + XmlDocument payloadDoc = XmlDocument::CreateWithRootNode("CreateAccessGrantsLocationRequest"); + + XmlNode parentNode = payloadDoc.GetRootElement(); + parentNode.SetAttributeValue("xmlns", "http://awss3control.amazonaws.com/doc/2018-08-20/"); + + Aws::StringStream ss; + if(m_locationScopeHasBeenSet) + { + XmlNode locationScopeNode = parentNode.CreateChildElement("LocationScope"); + locationScopeNode.SetText(m_locationScope); + } + + if(m_iAMRoleArnHasBeenSet) + { + XmlNode iAMRoleArnNode = parentNode.CreateChildElement("IAMRoleArn"); + iAMRoleArnNode.SetText(m_iAMRoleArn); + } + + if(m_tagsHasBeenSet) + { + XmlNode tagsParentNode = parentNode.CreateChildElement("Tags"); + for(const auto& item : m_tags) + { + XmlNode tagsNode = tagsParentNode.CreateChildElement("Tag"); + item.AddToNode(tagsNode); + } + } + + return payloadDoc.ConvertToString(); +} + + +Aws::Http::HeaderValueCollection CreateAccessGrantsLocationRequest::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; +} + +CreateAccessGrantsLocationRequest::EndpointParameters CreateAccessGrantsLocationRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Static context parameters + parameters.emplace_back(Aws::String("RequiresAccountId"), true, Aws::Endpoint::EndpointParameter::ParameterOrigin::STATIC_CONTEXT); + // Operation context parameters + if (AccountIdHasBeenSet()) { + parameters.emplace_back(Aws::String("AccountId"), this->GetAccountId(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} diff --git a/generated/src/aws-cpp-sdk-s3control/source/model/CreateAccessGrantsLocationResult.cpp b/generated/src/aws-cpp-sdk-s3control/source/model/CreateAccessGrantsLocationResult.cpp new file mode 100644 index 00000000000..c9a228ff3a3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/source/model/CreateAccessGrantsLocationResult.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 + +using namespace Aws::S3Control::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +CreateAccessGrantsLocationResult::CreateAccessGrantsLocationResult() +{ +} + +CreateAccessGrantsLocationResult::CreateAccessGrantsLocationResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +CreateAccessGrantsLocationResult& CreateAccessGrantsLocationResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + XmlNode createdAtNode = resultNode.FirstChild("CreatedAt"); + if(!createdAtNode.IsNull()) + { + m_createdAt = DateTime(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(createdAtNode.GetText()).c_str()).c_str(), Aws::Utils::DateFormat::ISO_8601); + } + XmlNode accessGrantsLocationIdNode = resultNode.FirstChild("AccessGrantsLocationId"); + if(!accessGrantsLocationIdNode.IsNull()) + { + m_accessGrantsLocationId = Aws::Utils::Xml::DecodeEscapedXmlText(accessGrantsLocationIdNode.GetText()); + } + XmlNode accessGrantsLocationArnNode = resultNode.FirstChild("AccessGrantsLocationArn"); + if(!accessGrantsLocationArnNode.IsNull()) + { + m_accessGrantsLocationArn = Aws::Utils::Xml::DecodeEscapedXmlText(accessGrantsLocationArnNode.GetText()); + } + XmlNode locationScopeNode = resultNode.FirstChild("LocationScope"); + if(!locationScopeNode.IsNull()) + { + m_locationScope = Aws::Utils::Xml::DecodeEscapedXmlText(locationScopeNode.GetText()); + } + XmlNode iAMRoleArnNode = resultNode.FirstChild("IAMRoleArn"); + if(!iAMRoleArnNode.IsNull()) + { + m_iAMRoleArn = Aws::Utils::Xml::DecodeEscapedXmlText(iAMRoleArnNode.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/src/aws-cpp-sdk-s3control/source/model/Credentials.cpp b/generated/src/aws-cpp-sdk-s3control/source/model/Credentials.cpp new file mode 100644 index 00000000000..318a0ca9d9a --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/source/model/Credentials.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 + +#include + +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +namespace Aws +{ +namespace S3Control +{ +namespace Model +{ + +Credentials::Credentials() : + m_accessKeyIdHasBeenSet(false), + m_secretAccessKeyHasBeenSet(false), + m_sessionTokenHasBeenSet(false), + m_expirationHasBeenSet(false) +{ +} + +Credentials::Credentials(const XmlNode& xmlNode) : + m_accessKeyIdHasBeenSet(false), + m_secretAccessKeyHasBeenSet(false), + m_sessionTokenHasBeenSet(false), + m_expirationHasBeenSet(false) +{ + *this = xmlNode; +} + +Credentials& Credentials::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode accessKeyIdNode = resultNode.FirstChild("AccessKeyId"); + if(!accessKeyIdNode.IsNull()) + { + m_accessKeyId = Aws::Utils::Xml::DecodeEscapedXmlText(accessKeyIdNode.GetText()); + m_accessKeyIdHasBeenSet = true; + } + XmlNode secretAccessKeyNode = resultNode.FirstChild("SecretAccessKey"); + if(!secretAccessKeyNode.IsNull()) + { + m_secretAccessKey = Aws::Utils::Xml::DecodeEscapedXmlText(secretAccessKeyNode.GetText()); + m_secretAccessKeyHasBeenSet = true; + } + XmlNode sessionTokenNode = resultNode.FirstChild("SessionToken"); + if(!sessionTokenNode.IsNull()) + { + m_sessionToken = Aws::Utils::Xml::DecodeEscapedXmlText(sessionTokenNode.GetText()); + m_sessionTokenHasBeenSet = true; + } + XmlNode expirationNode = resultNode.FirstChild("Expiration"); + if(!expirationNode.IsNull()) + { + m_expiration = DateTime(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(expirationNode.GetText()).c_str()).c_str(), Aws::Utils::DateFormat::ISO_8601); + m_expirationHasBeenSet = true; + } + } + + return *this; +} + +void Credentials::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_accessKeyIdHasBeenSet) + { + XmlNode accessKeyIdNode = parentNode.CreateChildElement("AccessKeyId"); + accessKeyIdNode.SetText(m_accessKeyId); + } + + if(m_secretAccessKeyHasBeenSet) + { + XmlNode secretAccessKeyNode = parentNode.CreateChildElement("SecretAccessKey"); + secretAccessKeyNode.SetText(m_secretAccessKey); + } + + if(m_sessionTokenHasBeenSet) + { + XmlNode sessionTokenNode = parentNode.CreateChildElement("SessionToken"); + sessionTokenNode.SetText(m_sessionToken); + } + + if(m_expirationHasBeenSet) + { + XmlNode expirationNode = parentNode.CreateChildElement("Expiration"); + expirationNode.SetText(m_expiration.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + +} + +} // namespace Model +} // namespace S3Control +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3control/source/model/DeleteAccessGrantRequest.cpp b/generated/src/aws-cpp-sdk-s3control/source/model/DeleteAccessGrantRequest.cpp new file mode 100644 index 00000000000..c722421e174 --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/source/model/DeleteAccessGrantRequest.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 + +using namespace Aws::S3Control::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +DeleteAccessGrantRequest::DeleteAccessGrantRequest() : + m_accountIdHasBeenSet(false), + m_accessGrantIdHasBeenSet(false) +{ +} + +Aws::String DeleteAccessGrantRequest::SerializePayload() const +{ + return {}; +} + + +Aws::Http::HeaderValueCollection DeleteAccessGrantRequest::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; +} + +DeleteAccessGrantRequest::EndpointParameters DeleteAccessGrantRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Static context parameters + parameters.emplace_back(Aws::String("RequiresAccountId"), true, Aws::Endpoint::EndpointParameter::ParameterOrigin::STATIC_CONTEXT); + // Operation context parameters + if (AccountIdHasBeenSet()) { + parameters.emplace_back(Aws::String("AccountId"), this->GetAccountId(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} diff --git a/generated/src/aws-cpp-sdk-s3control/source/model/DeleteAccessGrantsInstanceRequest.cpp b/generated/src/aws-cpp-sdk-s3control/source/model/DeleteAccessGrantsInstanceRequest.cpp new file mode 100644 index 00000000000..adf618b294e --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/source/model/DeleteAccessGrantsInstanceRequest.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::S3Control::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +DeleteAccessGrantsInstanceRequest::DeleteAccessGrantsInstanceRequest() : + m_accountIdHasBeenSet(false) +{ +} + +Aws::String DeleteAccessGrantsInstanceRequest::SerializePayload() const +{ + return {}; +} + + +Aws::Http::HeaderValueCollection DeleteAccessGrantsInstanceRequest::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; +} + +DeleteAccessGrantsInstanceRequest::EndpointParameters DeleteAccessGrantsInstanceRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Static context parameters + parameters.emplace_back(Aws::String("RequiresAccountId"), true, Aws::Endpoint::EndpointParameter::ParameterOrigin::STATIC_CONTEXT); + // Operation context parameters + if (AccountIdHasBeenSet()) { + parameters.emplace_back(Aws::String("AccountId"), this->GetAccountId(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} diff --git a/generated/src/aws-cpp-sdk-s3control/source/model/DeleteAccessGrantsInstanceResourcePolicyRequest.cpp b/generated/src/aws-cpp-sdk-s3control/source/model/DeleteAccessGrantsInstanceResourcePolicyRequest.cpp new file mode 100644 index 00000000000..c5dddda92d0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/source/model/DeleteAccessGrantsInstanceResourcePolicyRequest.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::S3Control::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +DeleteAccessGrantsInstanceResourcePolicyRequest::DeleteAccessGrantsInstanceResourcePolicyRequest() : + m_accountIdHasBeenSet(false) +{ +} + +Aws::String DeleteAccessGrantsInstanceResourcePolicyRequest::SerializePayload() const +{ + return {}; +} + + +Aws::Http::HeaderValueCollection DeleteAccessGrantsInstanceResourcePolicyRequest::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; +} + +DeleteAccessGrantsInstanceResourcePolicyRequest::EndpointParameters DeleteAccessGrantsInstanceResourcePolicyRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Static context parameters + parameters.emplace_back(Aws::String("RequiresAccountId"), true, Aws::Endpoint::EndpointParameter::ParameterOrigin::STATIC_CONTEXT); + // Operation context parameters + if (AccountIdHasBeenSet()) { + parameters.emplace_back(Aws::String("AccountId"), this->GetAccountId(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} diff --git a/generated/src/aws-cpp-sdk-s3control/source/model/DeleteAccessGrantsLocationRequest.cpp b/generated/src/aws-cpp-sdk-s3control/source/model/DeleteAccessGrantsLocationRequest.cpp new file mode 100644 index 00000000000..94e5e33d8e3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/source/model/DeleteAccessGrantsLocationRequest.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 + +using namespace Aws::S3Control::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +DeleteAccessGrantsLocationRequest::DeleteAccessGrantsLocationRequest() : + m_accountIdHasBeenSet(false), + m_accessGrantsLocationIdHasBeenSet(false) +{ +} + +Aws::String DeleteAccessGrantsLocationRequest::SerializePayload() const +{ + return {}; +} + + +Aws::Http::HeaderValueCollection DeleteAccessGrantsLocationRequest::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; +} + +DeleteAccessGrantsLocationRequest::EndpointParameters DeleteAccessGrantsLocationRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Static context parameters + parameters.emplace_back(Aws::String("RequiresAccountId"), true, Aws::Endpoint::EndpointParameter::ParameterOrigin::STATIC_CONTEXT); + // Operation context parameters + if (AccountIdHasBeenSet()) { + parameters.emplace_back(Aws::String("AccountId"), this->GetAccountId(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} diff --git a/generated/src/aws-cpp-sdk-s3control/source/model/DissociateAccessGrantsIdentityCenterRequest.cpp b/generated/src/aws-cpp-sdk-s3control/source/model/DissociateAccessGrantsIdentityCenterRequest.cpp new file mode 100644 index 00000000000..df6b781ebe7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/source/model/DissociateAccessGrantsIdentityCenterRequest.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::S3Control::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +DissociateAccessGrantsIdentityCenterRequest::DissociateAccessGrantsIdentityCenterRequest() : + m_accountIdHasBeenSet(false) +{ +} + +Aws::String DissociateAccessGrantsIdentityCenterRequest::SerializePayload() const +{ + return {}; +} + + +Aws::Http::HeaderValueCollection DissociateAccessGrantsIdentityCenterRequest::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; +} + +DissociateAccessGrantsIdentityCenterRequest::EndpointParameters DissociateAccessGrantsIdentityCenterRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Static context parameters + parameters.emplace_back(Aws::String("RequiresAccountId"), true, Aws::Endpoint::EndpointParameter::ParameterOrigin::STATIC_CONTEXT); + // Operation context parameters + if (AccountIdHasBeenSet()) { + parameters.emplace_back(Aws::String("AccountId"), this->GetAccountId(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} diff --git a/generated/src/aws-cpp-sdk-s3control/source/model/GetAccessGrantRequest.cpp b/generated/src/aws-cpp-sdk-s3control/source/model/GetAccessGrantRequest.cpp new file mode 100644 index 00000000000..eeccab16772 --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/source/model/GetAccessGrantRequest.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 + +using namespace Aws::S3Control::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +GetAccessGrantRequest::GetAccessGrantRequest() : + m_accountIdHasBeenSet(false), + m_accessGrantIdHasBeenSet(false) +{ +} + +Aws::String GetAccessGrantRequest::SerializePayload() const +{ + return {}; +} + + +Aws::Http::HeaderValueCollection GetAccessGrantRequest::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; +} + +GetAccessGrantRequest::EndpointParameters GetAccessGrantRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Static context parameters + parameters.emplace_back(Aws::String("RequiresAccountId"), true, Aws::Endpoint::EndpointParameter::ParameterOrigin::STATIC_CONTEXT); + // Operation context parameters + if (AccountIdHasBeenSet()) { + parameters.emplace_back(Aws::String("AccountId"), this->GetAccountId(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} diff --git a/generated/src/aws-cpp-sdk-s3control/source/model/GetAccessGrantResult.cpp b/generated/src/aws-cpp-sdk-s3control/source/model/GetAccessGrantResult.cpp new file mode 100644 index 00000000000..84fb85e705c --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/source/model/GetAccessGrantResult.cpp @@ -0,0 +1,92 @@ +/** + * 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::S3Control::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +GetAccessGrantResult::GetAccessGrantResult() : + m_permission(Permission::NOT_SET) +{ +} + +GetAccessGrantResult::GetAccessGrantResult(const Aws::AmazonWebServiceResult& result) : + m_permission(Permission::NOT_SET) +{ + *this = result; +} + +GetAccessGrantResult& GetAccessGrantResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + XmlNode createdAtNode = resultNode.FirstChild("CreatedAt"); + if(!createdAtNode.IsNull()) + { + m_createdAt = DateTime(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(createdAtNode.GetText()).c_str()).c_str(), Aws::Utils::DateFormat::ISO_8601); + } + XmlNode accessGrantIdNode = resultNode.FirstChild("AccessGrantId"); + if(!accessGrantIdNode.IsNull()) + { + m_accessGrantId = Aws::Utils::Xml::DecodeEscapedXmlText(accessGrantIdNode.GetText()); + } + XmlNode accessGrantArnNode = resultNode.FirstChild("AccessGrantArn"); + if(!accessGrantArnNode.IsNull()) + { + m_accessGrantArn = Aws::Utils::Xml::DecodeEscapedXmlText(accessGrantArnNode.GetText()); + } + XmlNode granteeNode = resultNode.FirstChild("Grantee"); + if(!granteeNode.IsNull()) + { + m_grantee = granteeNode; + } + XmlNode permissionNode = resultNode.FirstChild("Permission"); + if(!permissionNode.IsNull()) + { + m_permission = PermissionMapper::GetPermissionForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(permissionNode.GetText()).c_str()).c_str()); + } + XmlNode accessGrantsLocationIdNode = resultNode.FirstChild("AccessGrantsLocationId"); + if(!accessGrantsLocationIdNode.IsNull()) + { + m_accessGrantsLocationId = Aws::Utils::Xml::DecodeEscapedXmlText(accessGrantsLocationIdNode.GetText()); + } + XmlNode accessGrantsLocationConfigurationNode = resultNode.FirstChild("AccessGrantsLocationConfiguration"); + if(!accessGrantsLocationConfigurationNode.IsNull()) + { + m_accessGrantsLocationConfiguration = accessGrantsLocationConfigurationNode; + } + XmlNode grantScopeNode = resultNode.FirstChild("GrantScope"); + if(!grantScopeNode.IsNull()) + { + m_grantScope = Aws::Utils::Xml::DecodeEscapedXmlText(grantScopeNode.GetText()); + } + XmlNode applicationArnNode = resultNode.FirstChild("ApplicationArn"); + if(!applicationArnNode.IsNull()) + { + m_applicationArn = Aws::Utils::Xml::DecodeEscapedXmlText(applicationArnNode.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/src/aws-cpp-sdk-s3control/source/model/GetAccessGrantsInstanceForPrefixRequest.cpp b/generated/src/aws-cpp-sdk-s3control/source/model/GetAccessGrantsInstanceForPrefixRequest.cpp new file mode 100644 index 00000000000..6bfd608cd85 --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/source/model/GetAccessGrantsInstanceForPrefixRequest.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 + +using namespace Aws::S3Control::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +GetAccessGrantsInstanceForPrefixRequest::GetAccessGrantsInstanceForPrefixRequest() : + m_accountIdHasBeenSet(false), + m_s3PrefixHasBeenSet(false) +{ +} + +Aws::String GetAccessGrantsInstanceForPrefixRequest::SerializePayload() const +{ + return {}; +} + +void GetAccessGrantsInstanceForPrefixRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_s3PrefixHasBeenSet) + { + ss << m_s3Prefix; + uri.AddQueryStringParameter("s3prefix", ss.str()); + ss.str(""); + } + +} + +Aws::Http::HeaderValueCollection GetAccessGrantsInstanceForPrefixRequest::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; +} + +GetAccessGrantsInstanceForPrefixRequest::EndpointParameters GetAccessGrantsInstanceForPrefixRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Static context parameters + parameters.emplace_back(Aws::String("RequiresAccountId"), true, Aws::Endpoint::EndpointParameter::ParameterOrigin::STATIC_CONTEXT); + // Operation context parameters + if (AccountIdHasBeenSet()) { + parameters.emplace_back(Aws::String("AccountId"), this->GetAccountId(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} diff --git a/generated/src/aws-cpp-sdk-s3control/source/model/GetAccessGrantsInstanceForPrefixResult.cpp b/generated/src/aws-cpp-sdk-s3control/source/model/GetAccessGrantsInstanceForPrefixResult.cpp new file mode 100644 index 00000000000..3bcded2ab2d --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/source/model/GetAccessGrantsInstanceForPrefixResult.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::S3Control::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +GetAccessGrantsInstanceForPrefixResult::GetAccessGrantsInstanceForPrefixResult() +{ +} + +GetAccessGrantsInstanceForPrefixResult::GetAccessGrantsInstanceForPrefixResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetAccessGrantsInstanceForPrefixResult& GetAccessGrantsInstanceForPrefixResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + XmlNode accessGrantsInstanceArnNode = resultNode.FirstChild("AccessGrantsInstanceArn"); + if(!accessGrantsInstanceArnNode.IsNull()) + { + m_accessGrantsInstanceArn = Aws::Utils::Xml::DecodeEscapedXmlText(accessGrantsInstanceArnNode.GetText()); + } + XmlNode accessGrantsInstanceIdNode = resultNode.FirstChild("AccessGrantsInstanceId"); + if(!accessGrantsInstanceIdNode.IsNull()) + { + m_accessGrantsInstanceId = Aws::Utils::Xml::DecodeEscapedXmlText(accessGrantsInstanceIdNode.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/src/aws-cpp-sdk-s3control/source/model/GetAccessGrantsInstanceRequest.cpp b/generated/src/aws-cpp-sdk-s3control/source/model/GetAccessGrantsInstanceRequest.cpp new file mode 100644 index 00000000000..bcba50c8b47 --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/source/model/GetAccessGrantsInstanceRequest.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::S3Control::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +GetAccessGrantsInstanceRequest::GetAccessGrantsInstanceRequest() : + m_accountIdHasBeenSet(false) +{ +} + +Aws::String GetAccessGrantsInstanceRequest::SerializePayload() const +{ + return {}; +} + + +Aws::Http::HeaderValueCollection GetAccessGrantsInstanceRequest::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; +} + +GetAccessGrantsInstanceRequest::EndpointParameters GetAccessGrantsInstanceRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Static context parameters + parameters.emplace_back(Aws::String("RequiresAccountId"), true, Aws::Endpoint::EndpointParameter::ParameterOrigin::STATIC_CONTEXT); + // Operation context parameters + if (AccountIdHasBeenSet()) { + parameters.emplace_back(Aws::String("AccountId"), this->GetAccountId(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} diff --git a/generated/src/aws-cpp-sdk-s3control/source/model/GetAccessGrantsInstanceResourcePolicyRequest.cpp b/generated/src/aws-cpp-sdk-s3control/source/model/GetAccessGrantsInstanceResourcePolicyRequest.cpp new file mode 100644 index 00000000000..5eda1b22b80 --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/source/model/GetAccessGrantsInstanceResourcePolicyRequest.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::S3Control::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +GetAccessGrantsInstanceResourcePolicyRequest::GetAccessGrantsInstanceResourcePolicyRequest() : + m_accountIdHasBeenSet(false) +{ +} + +Aws::String GetAccessGrantsInstanceResourcePolicyRequest::SerializePayload() const +{ + return {}; +} + + +Aws::Http::HeaderValueCollection GetAccessGrantsInstanceResourcePolicyRequest::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; +} + +GetAccessGrantsInstanceResourcePolicyRequest::EndpointParameters GetAccessGrantsInstanceResourcePolicyRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Static context parameters + parameters.emplace_back(Aws::String("RequiresAccountId"), true, Aws::Endpoint::EndpointParameter::ParameterOrigin::STATIC_CONTEXT); + // Operation context parameters + if (AccountIdHasBeenSet()) { + parameters.emplace_back(Aws::String("AccountId"), this->GetAccountId(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} diff --git a/generated/src/aws-cpp-sdk-s3control/source/model/GetAccessGrantsInstanceResourcePolicyResult.cpp b/generated/src/aws-cpp-sdk-s3control/source/model/GetAccessGrantsInstanceResourcePolicyResult.cpp new file mode 100644 index 00000000000..849f98524b7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/source/model/GetAccessGrantsInstanceResourcePolicyResult.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::S3Control::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +GetAccessGrantsInstanceResourcePolicyResult::GetAccessGrantsInstanceResourcePolicyResult() +{ +} + +GetAccessGrantsInstanceResourcePolicyResult::GetAccessGrantsInstanceResourcePolicyResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetAccessGrantsInstanceResourcePolicyResult& GetAccessGrantsInstanceResourcePolicyResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + XmlNode policyNode = resultNode.FirstChild("Policy"); + if(!policyNode.IsNull()) + { + m_policy = Aws::Utils::Xml::DecodeEscapedXmlText(policyNode.GetText()); + } + XmlNode organizationNode = resultNode.FirstChild("Organization"); + if(!organizationNode.IsNull()) + { + m_organization = Aws::Utils::Xml::DecodeEscapedXmlText(organizationNode.GetText()); + } + XmlNode createdAtNode = resultNode.FirstChild("CreatedAt"); + if(!createdAtNode.IsNull()) + { + m_createdAt = DateTime(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(createdAtNode.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/src/aws-cpp-sdk-s3control/source/model/GetAccessGrantsInstanceResult.cpp b/generated/src/aws-cpp-sdk-s3control/source/model/GetAccessGrantsInstanceResult.cpp new file mode 100644 index 00000000000..f2d79b9430f --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/source/model/GetAccessGrantsInstanceResult.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 + +#include + +using namespace Aws::S3Control::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +GetAccessGrantsInstanceResult::GetAccessGrantsInstanceResult() +{ +} + +GetAccessGrantsInstanceResult::GetAccessGrantsInstanceResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetAccessGrantsInstanceResult& GetAccessGrantsInstanceResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + XmlNode accessGrantsInstanceArnNode = resultNode.FirstChild("AccessGrantsInstanceArn"); + if(!accessGrantsInstanceArnNode.IsNull()) + { + m_accessGrantsInstanceArn = Aws::Utils::Xml::DecodeEscapedXmlText(accessGrantsInstanceArnNode.GetText()); + } + XmlNode accessGrantsInstanceIdNode = resultNode.FirstChild("AccessGrantsInstanceId"); + if(!accessGrantsInstanceIdNode.IsNull()) + { + m_accessGrantsInstanceId = Aws::Utils::Xml::DecodeEscapedXmlText(accessGrantsInstanceIdNode.GetText()); + } + XmlNode identityCenterArnNode = resultNode.FirstChild("IdentityCenterArn"); + if(!identityCenterArnNode.IsNull()) + { + m_identityCenterArn = Aws::Utils::Xml::DecodeEscapedXmlText(identityCenterArnNode.GetText()); + } + XmlNode createdAtNode = resultNode.FirstChild("CreatedAt"); + if(!createdAtNode.IsNull()) + { + m_createdAt = DateTime(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(createdAtNode.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/src/aws-cpp-sdk-s3control/source/model/GetAccessGrantsLocationRequest.cpp b/generated/src/aws-cpp-sdk-s3control/source/model/GetAccessGrantsLocationRequest.cpp new file mode 100644 index 00000000000..94a03670306 --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/source/model/GetAccessGrantsLocationRequest.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 + +using namespace Aws::S3Control::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +GetAccessGrantsLocationRequest::GetAccessGrantsLocationRequest() : + m_accountIdHasBeenSet(false), + m_accessGrantsLocationIdHasBeenSet(false) +{ +} + +Aws::String GetAccessGrantsLocationRequest::SerializePayload() const +{ + return {}; +} + + +Aws::Http::HeaderValueCollection GetAccessGrantsLocationRequest::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; +} + +GetAccessGrantsLocationRequest::EndpointParameters GetAccessGrantsLocationRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Static context parameters + parameters.emplace_back(Aws::String("RequiresAccountId"), true, Aws::Endpoint::EndpointParameter::ParameterOrigin::STATIC_CONTEXT); + // Operation context parameters + if (AccountIdHasBeenSet()) { + parameters.emplace_back(Aws::String("AccountId"), this->GetAccountId(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} diff --git a/generated/src/aws-cpp-sdk-s3control/source/model/GetAccessGrantsLocationResult.cpp b/generated/src/aws-cpp-sdk-s3control/source/model/GetAccessGrantsLocationResult.cpp new file mode 100644 index 00000000000..aff69303f5b --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/source/model/GetAccessGrantsLocationResult.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 + +using namespace Aws::S3Control::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +GetAccessGrantsLocationResult::GetAccessGrantsLocationResult() +{ +} + +GetAccessGrantsLocationResult::GetAccessGrantsLocationResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetAccessGrantsLocationResult& GetAccessGrantsLocationResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + XmlNode createdAtNode = resultNode.FirstChild("CreatedAt"); + if(!createdAtNode.IsNull()) + { + m_createdAt = DateTime(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(createdAtNode.GetText()).c_str()).c_str(), Aws::Utils::DateFormat::ISO_8601); + } + XmlNode accessGrantsLocationIdNode = resultNode.FirstChild("AccessGrantsLocationId"); + if(!accessGrantsLocationIdNode.IsNull()) + { + m_accessGrantsLocationId = Aws::Utils::Xml::DecodeEscapedXmlText(accessGrantsLocationIdNode.GetText()); + } + XmlNode accessGrantsLocationArnNode = resultNode.FirstChild("AccessGrantsLocationArn"); + if(!accessGrantsLocationArnNode.IsNull()) + { + m_accessGrantsLocationArn = Aws::Utils::Xml::DecodeEscapedXmlText(accessGrantsLocationArnNode.GetText()); + } + XmlNode locationScopeNode = resultNode.FirstChild("LocationScope"); + if(!locationScopeNode.IsNull()) + { + m_locationScope = Aws::Utils::Xml::DecodeEscapedXmlText(locationScopeNode.GetText()); + } + XmlNode iAMRoleArnNode = resultNode.FirstChild("IAMRoleArn"); + if(!iAMRoleArnNode.IsNull()) + { + m_iAMRoleArn = Aws::Utils::Xml::DecodeEscapedXmlText(iAMRoleArnNode.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/src/aws-cpp-sdk-s3control/source/model/GetDataAccessRequest.cpp b/generated/src/aws-cpp-sdk-s3control/source/model/GetDataAccessRequest.cpp new file mode 100644 index 00000000000..2d9d96669dc --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/source/model/GetDataAccessRequest.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 +#include + +#include + +using namespace Aws::S3Control::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +GetDataAccessRequest::GetDataAccessRequest() : + m_accountIdHasBeenSet(false), + m_targetHasBeenSet(false), + m_permission(Permission::NOT_SET), + m_permissionHasBeenSet(false), + m_durationSeconds(0), + m_durationSecondsHasBeenSet(false), + m_privilege(Privilege::NOT_SET), + m_privilegeHasBeenSet(false), + m_targetType(S3PrefixType::NOT_SET), + m_targetTypeHasBeenSet(false) +{ +} + +Aws::String GetDataAccessRequest::SerializePayload() const +{ + return {}; +} + +void GetDataAccessRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_targetHasBeenSet) + { + ss << m_target; + uri.AddQueryStringParameter("target", ss.str()); + ss.str(""); + } + + if(m_permissionHasBeenSet) + { + ss << PermissionMapper::GetNameForPermission(m_permission); + uri.AddQueryStringParameter("permission", ss.str()); + ss.str(""); + } + + if(m_durationSecondsHasBeenSet) + { + ss << m_durationSeconds; + uri.AddQueryStringParameter("durationSeconds", ss.str()); + ss.str(""); + } + + if(m_privilegeHasBeenSet) + { + ss << PrivilegeMapper::GetNameForPrivilege(m_privilege); + uri.AddQueryStringParameter("privilege", ss.str()); + ss.str(""); + } + + if(m_targetTypeHasBeenSet) + { + ss << S3PrefixTypeMapper::GetNameForS3PrefixType(m_targetType); + uri.AddQueryStringParameter("targetType", ss.str()); + ss.str(""); + } + +} + +Aws::Http::HeaderValueCollection GetDataAccessRequest::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; +} + +GetDataAccessRequest::EndpointParameters GetDataAccessRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Static context parameters + parameters.emplace_back(Aws::String("RequiresAccountId"), true, Aws::Endpoint::EndpointParameter::ParameterOrigin::STATIC_CONTEXT); + // Operation context parameters + if (AccountIdHasBeenSet()) { + parameters.emplace_back(Aws::String("AccountId"), this->GetAccountId(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} diff --git a/generated/src/aws-cpp-sdk-s3control/source/model/GetDataAccessResult.cpp b/generated/src/aws-cpp-sdk-s3control/source/model/GetDataAccessResult.cpp new file mode 100644 index 00000000000..a8a2ea30086 --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/source/model/GetDataAccessResult.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::S3Control::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +GetDataAccessResult::GetDataAccessResult() +{ +} + +GetDataAccessResult::GetDataAccessResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetDataAccessResult& GetDataAccessResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + XmlNode credentialsNode = resultNode.FirstChild("Credentials"); + if(!credentialsNode.IsNull()) + { + m_credentials = credentialsNode; + } + XmlNode matchedGrantTargetNode = resultNode.FirstChild("MatchedGrantTarget"); + if(!matchedGrantTargetNode.IsNull()) + { + m_matchedGrantTarget = Aws::Utils::Xml::DecodeEscapedXmlText(matchedGrantTargetNode.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/src/aws-cpp-sdk-s3control/source/model/Grantee.cpp b/generated/src/aws-cpp-sdk-s3control/source/model/Grantee.cpp new file mode 100644 index 00000000000..91071225e27 --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/source/model/Grantee.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::Utils::Xml; +using namespace Aws::Utils; + +namespace Aws +{ +namespace S3Control +{ +namespace Model +{ + +Grantee::Grantee() : + m_granteeType(GranteeType::NOT_SET), + m_granteeTypeHasBeenSet(false), + m_granteeIdentifierHasBeenSet(false) +{ +} + +Grantee::Grantee(const XmlNode& xmlNode) : + m_granteeType(GranteeType::NOT_SET), + m_granteeTypeHasBeenSet(false), + m_granteeIdentifierHasBeenSet(false) +{ + *this = xmlNode; +} + +Grantee& Grantee::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode granteeTypeNode = resultNode.FirstChild("GranteeType"); + if(!granteeTypeNode.IsNull()) + { + m_granteeType = GranteeTypeMapper::GetGranteeTypeForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(granteeTypeNode.GetText()).c_str()).c_str()); + m_granteeTypeHasBeenSet = true; + } + XmlNode granteeIdentifierNode = resultNode.FirstChild("GranteeIdentifier"); + if(!granteeIdentifierNode.IsNull()) + { + m_granteeIdentifier = Aws::Utils::Xml::DecodeEscapedXmlText(granteeIdentifierNode.GetText()); + m_granteeIdentifierHasBeenSet = true; + } + } + + return *this; +} + +void Grantee::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_granteeTypeHasBeenSet) + { + XmlNode granteeTypeNode = parentNode.CreateChildElement("GranteeType"); + granteeTypeNode.SetText(GranteeTypeMapper::GetNameForGranteeType(m_granteeType)); + } + + if(m_granteeIdentifierHasBeenSet) + { + XmlNode granteeIdentifierNode = parentNode.CreateChildElement("GranteeIdentifier"); + granteeIdentifierNode.SetText(m_granteeIdentifier); + } + +} + +} // namespace Model +} // namespace S3Control +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3control/source/model/GranteeType.cpp b/generated/src/aws-cpp-sdk-s3control/source/model/GranteeType.cpp new file mode 100644 index 00000000000..539102e9140 --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/source/model/GranteeType.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 S3Control + { + namespace Model + { + namespace GranteeTypeMapper + { + + static const int DIRECTORY_USER_HASH = HashingUtils::HashString("DIRECTORY_USER"); + static const int DIRECTORY_GROUP_HASH = HashingUtils::HashString("DIRECTORY_GROUP"); + static const int IAM_HASH = HashingUtils::HashString("IAM"); + + + GranteeType GetGranteeTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == DIRECTORY_USER_HASH) + { + return GranteeType::DIRECTORY_USER; + } + else if (hashCode == DIRECTORY_GROUP_HASH) + { + return GranteeType::DIRECTORY_GROUP; + } + else if (hashCode == IAM_HASH) + { + return GranteeType::IAM; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return GranteeType::NOT_SET; + } + + Aws::String GetNameForGranteeType(GranteeType enumValue) + { + switch(enumValue) + { + case GranteeType::NOT_SET: + return {}; + case GranteeType::DIRECTORY_USER: + return "DIRECTORY_USER"; + case GranteeType::DIRECTORY_GROUP: + return "DIRECTORY_GROUP"; + case GranteeType::IAM: + return "IAM"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace GranteeTypeMapper + } // namespace Model + } // namespace S3Control +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3control/source/model/ListAccessGrantEntry.cpp b/generated/src/aws-cpp-sdk-s3control/source/model/ListAccessGrantEntry.cpp new file mode 100644 index 00000000000..fca3bc3f868 --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/source/model/ListAccessGrantEntry.cpp @@ -0,0 +1,178 @@ +/** + * 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 S3Control +{ +namespace Model +{ + +ListAccessGrantEntry::ListAccessGrantEntry() : + m_createdAtHasBeenSet(false), + m_accessGrantIdHasBeenSet(false), + m_accessGrantArnHasBeenSet(false), + m_granteeHasBeenSet(false), + m_permission(Permission::NOT_SET), + m_permissionHasBeenSet(false), + m_accessGrantsLocationIdHasBeenSet(false), + m_accessGrantsLocationConfigurationHasBeenSet(false), + m_grantScopeHasBeenSet(false), + m_applicationArnHasBeenSet(false) +{ +} + +ListAccessGrantEntry::ListAccessGrantEntry(const XmlNode& xmlNode) : + m_createdAtHasBeenSet(false), + m_accessGrantIdHasBeenSet(false), + m_accessGrantArnHasBeenSet(false), + m_granteeHasBeenSet(false), + m_permission(Permission::NOT_SET), + m_permissionHasBeenSet(false), + m_accessGrantsLocationIdHasBeenSet(false), + m_accessGrantsLocationConfigurationHasBeenSet(false), + m_grantScopeHasBeenSet(false), + m_applicationArnHasBeenSet(false) +{ + *this = xmlNode; +} + +ListAccessGrantEntry& ListAccessGrantEntry::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode createdAtNode = resultNode.FirstChild("CreatedAt"); + if(!createdAtNode.IsNull()) + { + m_createdAt = DateTime(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(createdAtNode.GetText()).c_str()).c_str(), Aws::Utils::DateFormat::ISO_8601); + m_createdAtHasBeenSet = true; + } + XmlNode accessGrantIdNode = resultNode.FirstChild("AccessGrantId"); + if(!accessGrantIdNode.IsNull()) + { + m_accessGrantId = Aws::Utils::Xml::DecodeEscapedXmlText(accessGrantIdNode.GetText()); + m_accessGrantIdHasBeenSet = true; + } + XmlNode accessGrantArnNode = resultNode.FirstChild("AccessGrantArn"); + if(!accessGrantArnNode.IsNull()) + { + m_accessGrantArn = Aws::Utils::Xml::DecodeEscapedXmlText(accessGrantArnNode.GetText()); + m_accessGrantArnHasBeenSet = true; + } + XmlNode granteeNode = resultNode.FirstChild("Grantee"); + if(!granteeNode.IsNull()) + { + m_grantee = granteeNode; + m_granteeHasBeenSet = true; + } + XmlNode permissionNode = resultNode.FirstChild("Permission"); + if(!permissionNode.IsNull()) + { + m_permission = PermissionMapper::GetPermissionForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(permissionNode.GetText()).c_str()).c_str()); + m_permissionHasBeenSet = true; + } + XmlNode accessGrantsLocationIdNode = resultNode.FirstChild("AccessGrantsLocationId"); + if(!accessGrantsLocationIdNode.IsNull()) + { + m_accessGrantsLocationId = Aws::Utils::Xml::DecodeEscapedXmlText(accessGrantsLocationIdNode.GetText()); + m_accessGrantsLocationIdHasBeenSet = true; + } + XmlNode accessGrantsLocationConfigurationNode = resultNode.FirstChild("AccessGrantsLocationConfiguration"); + if(!accessGrantsLocationConfigurationNode.IsNull()) + { + m_accessGrantsLocationConfiguration = accessGrantsLocationConfigurationNode; + m_accessGrantsLocationConfigurationHasBeenSet = true; + } + XmlNode grantScopeNode = resultNode.FirstChild("GrantScope"); + if(!grantScopeNode.IsNull()) + { + m_grantScope = Aws::Utils::Xml::DecodeEscapedXmlText(grantScopeNode.GetText()); + m_grantScopeHasBeenSet = true; + } + XmlNode applicationArnNode = resultNode.FirstChild("ApplicationArn"); + if(!applicationArnNode.IsNull()) + { + m_applicationArn = Aws::Utils::Xml::DecodeEscapedXmlText(applicationArnNode.GetText()); + m_applicationArnHasBeenSet = true; + } + } + + return *this; +} + +void ListAccessGrantEntry::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_createdAtHasBeenSet) + { + XmlNode createdAtNode = parentNode.CreateChildElement("CreatedAt"); + createdAtNode.SetText(m_createdAt.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + if(m_accessGrantIdHasBeenSet) + { + XmlNode accessGrantIdNode = parentNode.CreateChildElement("AccessGrantId"); + accessGrantIdNode.SetText(m_accessGrantId); + } + + if(m_accessGrantArnHasBeenSet) + { + XmlNode accessGrantArnNode = parentNode.CreateChildElement("AccessGrantArn"); + accessGrantArnNode.SetText(m_accessGrantArn); + } + + if(m_granteeHasBeenSet) + { + XmlNode granteeNode = parentNode.CreateChildElement("Grantee"); + m_grantee.AddToNode(granteeNode); + } + + if(m_permissionHasBeenSet) + { + XmlNode permissionNode = parentNode.CreateChildElement("Permission"); + permissionNode.SetText(PermissionMapper::GetNameForPermission(m_permission)); + } + + if(m_accessGrantsLocationIdHasBeenSet) + { + XmlNode accessGrantsLocationIdNode = parentNode.CreateChildElement("AccessGrantsLocationId"); + accessGrantsLocationIdNode.SetText(m_accessGrantsLocationId); + } + + if(m_accessGrantsLocationConfigurationHasBeenSet) + { + XmlNode accessGrantsLocationConfigurationNode = parentNode.CreateChildElement("AccessGrantsLocationConfiguration"); + m_accessGrantsLocationConfiguration.AddToNode(accessGrantsLocationConfigurationNode); + } + + if(m_grantScopeHasBeenSet) + { + XmlNode grantScopeNode = parentNode.CreateChildElement("GrantScope"); + grantScopeNode.SetText(m_grantScope); + } + + if(m_applicationArnHasBeenSet) + { + XmlNode applicationArnNode = parentNode.CreateChildElement("ApplicationArn"); + applicationArnNode.SetText(m_applicationArn); + } + +} + +} // namespace Model +} // namespace S3Control +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3control/source/model/ListAccessGrantsInstanceEntry.cpp b/generated/src/aws-cpp-sdk-s3control/source/model/ListAccessGrantsInstanceEntry.cpp new file mode 100644 index 00000000000..390b9465253 --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/source/model/ListAccessGrantsInstanceEntry.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 + +#include + +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +namespace Aws +{ +namespace S3Control +{ +namespace Model +{ + +ListAccessGrantsInstanceEntry::ListAccessGrantsInstanceEntry() : + m_accessGrantsInstanceIdHasBeenSet(false), + m_accessGrantsInstanceArnHasBeenSet(false), + m_createdAtHasBeenSet(false), + m_identityCenterArnHasBeenSet(false) +{ +} + +ListAccessGrantsInstanceEntry::ListAccessGrantsInstanceEntry(const XmlNode& xmlNode) : + m_accessGrantsInstanceIdHasBeenSet(false), + m_accessGrantsInstanceArnHasBeenSet(false), + m_createdAtHasBeenSet(false), + m_identityCenterArnHasBeenSet(false) +{ + *this = xmlNode; +} + +ListAccessGrantsInstanceEntry& ListAccessGrantsInstanceEntry::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode accessGrantsInstanceIdNode = resultNode.FirstChild("AccessGrantsInstanceId"); + if(!accessGrantsInstanceIdNode.IsNull()) + { + m_accessGrantsInstanceId = Aws::Utils::Xml::DecodeEscapedXmlText(accessGrantsInstanceIdNode.GetText()); + m_accessGrantsInstanceIdHasBeenSet = true; + } + XmlNode accessGrantsInstanceArnNode = resultNode.FirstChild("AccessGrantsInstanceArn"); + if(!accessGrantsInstanceArnNode.IsNull()) + { + m_accessGrantsInstanceArn = Aws::Utils::Xml::DecodeEscapedXmlText(accessGrantsInstanceArnNode.GetText()); + m_accessGrantsInstanceArnHasBeenSet = true; + } + XmlNode createdAtNode = resultNode.FirstChild("CreatedAt"); + if(!createdAtNode.IsNull()) + { + m_createdAt = DateTime(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(createdAtNode.GetText()).c_str()).c_str(), Aws::Utils::DateFormat::ISO_8601); + m_createdAtHasBeenSet = true; + } + XmlNode identityCenterArnNode = resultNode.FirstChild("IdentityCenterArn"); + if(!identityCenterArnNode.IsNull()) + { + m_identityCenterArn = Aws::Utils::Xml::DecodeEscapedXmlText(identityCenterArnNode.GetText()); + m_identityCenterArnHasBeenSet = true; + } + } + + return *this; +} + +void ListAccessGrantsInstanceEntry::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_accessGrantsInstanceIdHasBeenSet) + { + XmlNode accessGrantsInstanceIdNode = parentNode.CreateChildElement("AccessGrantsInstanceId"); + accessGrantsInstanceIdNode.SetText(m_accessGrantsInstanceId); + } + + if(m_accessGrantsInstanceArnHasBeenSet) + { + XmlNode accessGrantsInstanceArnNode = parentNode.CreateChildElement("AccessGrantsInstanceArn"); + accessGrantsInstanceArnNode.SetText(m_accessGrantsInstanceArn); + } + + if(m_createdAtHasBeenSet) + { + XmlNode createdAtNode = parentNode.CreateChildElement("CreatedAt"); + createdAtNode.SetText(m_createdAt.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + if(m_identityCenterArnHasBeenSet) + { + XmlNode identityCenterArnNode = parentNode.CreateChildElement("IdentityCenterArn"); + identityCenterArnNode.SetText(m_identityCenterArn); + } + +} + +} // namespace Model +} // namespace S3Control +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3control/source/model/ListAccessGrantsInstancesRequest.cpp b/generated/src/aws-cpp-sdk-s3control/source/model/ListAccessGrantsInstancesRequest.cpp new file mode 100644 index 00000000000..14e6ce43828 --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/source/model/ListAccessGrantsInstancesRequest.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 +#include + +#include + +using namespace Aws::S3Control::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +ListAccessGrantsInstancesRequest::ListAccessGrantsInstancesRequest() : + m_accountIdHasBeenSet(false), + m_nextTokenHasBeenSet(false), + m_maxResults(0), + m_maxResultsHasBeenSet(false) +{ +} + +Aws::String ListAccessGrantsInstancesRequest::SerializePayload() const +{ + return {}; +} + +void ListAccessGrantsInstancesRequest::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(""); + } + +} + +Aws::Http::HeaderValueCollection ListAccessGrantsInstancesRequest::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; +} + +ListAccessGrantsInstancesRequest::EndpointParameters ListAccessGrantsInstancesRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Static context parameters + parameters.emplace_back(Aws::String("RequiresAccountId"), true, Aws::Endpoint::EndpointParameter::ParameterOrigin::STATIC_CONTEXT); + // Operation context parameters + if (AccountIdHasBeenSet()) { + parameters.emplace_back(Aws::String("AccountId"), this->GetAccountId(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} diff --git a/generated/src/aws-cpp-sdk-s3control/source/model/ListAccessGrantsInstancesResult.cpp b/generated/src/aws-cpp-sdk-s3control/source/model/ListAccessGrantsInstancesResult.cpp new file mode 100644 index 00000000000..b171e09f7ce --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/source/model/ListAccessGrantsInstancesResult.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 +#include + +#include + +using namespace Aws::S3Control::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +ListAccessGrantsInstancesResult::ListAccessGrantsInstancesResult() +{ +} + +ListAccessGrantsInstancesResult::ListAccessGrantsInstancesResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListAccessGrantsInstancesResult& ListAccessGrantsInstancesResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + XmlNode nextTokenNode = resultNode.FirstChild("NextToken"); + if(!nextTokenNode.IsNull()) + { + m_nextToken = Aws::Utils::Xml::DecodeEscapedXmlText(nextTokenNode.GetText()); + } + XmlNode accessGrantsInstancesListNode = resultNode.FirstChild("AccessGrantsInstancesList"); + if(!accessGrantsInstancesListNode.IsNull()) + { + XmlNode accessGrantsInstancesListMember = accessGrantsInstancesListNode.FirstChild("AccessGrantsInstance"); + while(!accessGrantsInstancesListMember.IsNull()) + { + m_accessGrantsInstancesList.push_back(accessGrantsInstancesListMember); + accessGrantsInstancesListMember = accessGrantsInstancesListMember.NextNode("AccessGrantsInstance"); + } + + } + } + + 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-s3control/source/model/ListAccessGrantsLocationsEntry.cpp b/generated/src/aws-cpp-sdk-s3control/source/model/ListAccessGrantsLocationsEntry.cpp new file mode 100644 index 00000000000..02a4098dea6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/source/model/ListAccessGrantsLocationsEntry.cpp @@ -0,0 +1,120 @@ +/** + * 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 S3Control +{ +namespace Model +{ + +ListAccessGrantsLocationsEntry::ListAccessGrantsLocationsEntry() : + m_createdAtHasBeenSet(false), + m_accessGrantsLocationIdHasBeenSet(false), + m_accessGrantsLocationArnHasBeenSet(false), + m_locationScopeHasBeenSet(false), + m_iAMRoleArnHasBeenSet(false) +{ +} + +ListAccessGrantsLocationsEntry::ListAccessGrantsLocationsEntry(const XmlNode& xmlNode) : + m_createdAtHasBeenSet(false), + m_accessGrantsLocationIdHasBeenSet(false), + m_accessGrantsLocationArnHasBeenSet(false), + m_locationScopeHasBeenSet(false), + m_iAMRoleArnHasBeenSet(false) +{ + *this = xmlNode; +} + +ListAccessGrantsLocationsEntry& ListAccessGrantsLocationsEntry::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode createdAtNode = resultNode.FirstChild("CreatedAt"); + if(!createdAtNode.IsNull()) + { + m_createdAt = DateTime(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(createdAtNode.GetText()).c_str()).c_str(), Aws::Utils::DateFormat::ISO_8601); + m_createdAtHasBeenSet = true; + } + XmlNode accessGrantsLocationIdNode = resultNode.FirstChild("AccessGrantsLocationId"); + if(!accessGrantsLocationIdNode.IsNull()) + { + m_accessGrantsLocationId = Aws::Utils::Xml::DecodeEscapedXmlText(accessGrantsLocationIdNode.GetText()); + m_accessGrantsLocationIdHasBeenSet = true; + } + XmlNode accessGrantsLocationArnNode = resultNode.FirstChild("AccessGrantsLocationArn"); + if(!accessGrantsLocationArnNode.IsNull()) + { + m_accessGrantsLocationArn = Aws::Utils::Xml::DecodeEscapedXmlText(accessGrantsLocationArnNode.GetText()); + m_accessGrantsLocationArnHasBeenSet = true; + } + XmlNode locationScopeNode = resultNode.FirstChild("LocationScope"); + if(!locationScopeNode.IsNull()) + { + m_locationScope = Aws::Utils::Xml::DecodeEscapedXmlText(locationScopeNode.GetText()); + m_locationScopeHasBeenSet = true; + } + XmlNode iAMRoleArnNode = resultNode.FirstChild("IAMRoleArn"); + if(!iAMRoleArnNode.IsNull()) + { + m_iAMRoleArn = Aws::Utils::Xml::DecodeEscapedXmlText(iAMRoleArnNode.GetText()); + m_iAMRoleArnHasBeenSet = true; + } + } + + return *this; +} + +void ListAccessGrantsLocationsEntry::AddToNode(XmlNode& parentNode) const +{ + Aws::StringStream ss; + if(m_createdAtHasBeenSet) + { + XmlNode createdAtNode = parentNode.CreateChildElement("CreatedAt"); + createdAtNode.SetText(m_createdAt.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + if(m_accessGrantsLocationIdHasBeenSet) + { + XmlNode accessGrantsLocationIdNode = parentNode.CreateChildElement("AccessGrantsLocationId"); + accessGrantsLocationIdNode.SetText(m_accessGrantsLocationId); + } + + if(m_accessGrantsLocationArnHasBeenSet) + { + XmlNode accessGrantsLocationArnNode = parentNode.CreateChildElement("AccessGrantsLocationArn"); + accessGrantsLocationArnNode.SetText(m_accessGrantsLocationArn); + } + + if(m_locationScopeHasBeenSet) + { + XmlNode locationScopeNode = parentNode.CreateChildElement("LocationScope"); + locationScopeNode.SetText(m_locationScope); + } + + if(m_iAMRoleArnHasBeenSet) + { + XmlNode iAMRoleArnNode = parentNode.CreateChildElement("IAMRoleArn"); + iAMRoleArnNode.SetText(m_iAMRoleArn); + } + +} + +} // namespace Model +} // namespace S3Control +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3control/source/model/ListAccessGrantsLocationsRequest.cpp b/generated/src/aws-cpp-sdk-s3control/source/model/ListAccessGrantsLocationsRequest.cpp new file mode 100644 index 00000000000..f99406e1aa3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/source/model/ListAccessGrantsLocationsRequest.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::S3Control::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +ListAccessGrantsLocationsRequest::ListAccessGrantsLocationsRequest() : + m_accountIdHasBeenSet(false), + m_nextTokenHasBeenSet(false), + m_maxResults(0), + m_maxResultsHasBeenSet(false), + m_locationScopeHasBeenSet(false) +{ +} + +Aws::String ListAccessGrantsLocationsRequest::SerializePayload() const +{ + return {}; +} + +void ListAccessGrantsLocationsRequest::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(""); + } + + if(m_locationScopeHasBeenSet) + { + ss << m_locationScope; + uri.AddQueryStringParameter("locationscope", ss.str()); + ss.str(""); + } + +} + +Aws::Http::HeaderValueCollection ListAccessGrantsLocationsRequest::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; +} + +ListAccessGrantsLocationsRequest::EndpointParameters ListAccessGrantsLocationsRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Static context parameters + parameters.emplace_back(Aws::String("RequiresAccountId"), true, Aws::Endpoint::EndpointParameter::ParameterOrigin::STATIC_CONTEXT); + // Operation context parameters + if (AccountIdHasBeenSet()) { + parameters.emplace_back(Aws::String("AccountId"), this->GetAccountId(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} diff --git a/generated/src/aws-cpp-sdk-s3control/source/model/ListAccessGrantsLocationsResult.cpp b/generated/src/aws-cpp-sdk-s3control/source/model/ListAccessGrantsLocationsResult.cpp new file mode 100644 index 00000000000..9bb6ab1a0df --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/source/model/ListAccessGrantsLocationsResult.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 +#include + +#include + +using namespace Aws::S3Control::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +ListAccessGrantsLocationsResult::ListAccessGrantsLocationsResult() +{ +} + +ListAccessGrantsLocationsResult::ListAccessGrantsLocationsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListAccessGrantsLocationsResult& ListAccessGrantsLocationsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + XmlNode nextTokenNode = resultNode.FirstChild("NextToken"); + if(!nextTokenNode.IsNull()) + { + m_nextToken = Aws::Utils::Xml::DecodeEscapedXmlText(nextTokenNode.GetText()); + } + XmlNode accessGrantsLocationsListNode = resultNode.FirstChild("AccessGrantsLocationsList"); + if(!accessGrantsLocationsListNode.IsNull()) + { + XmlNode accessGrantsLocationsListMember = accessGrantsLocationsListNode.FirstChild("AccessGrantsLocation"); + while(!accessGrantsLocationsListMember.IsNull()) + { + m_accessGrantsLocationsList.push_back(accessGrantsLocationsListMember); + accessGrantsLocationsListMember = accessGrantsLocationsListMember.NextNode("AccessGrantsLocation"); + } + + } + } + + 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-s3control/source/model/ListAccessGrantsRequest.cpp b/generated/src/aws-cpp-sdk-s3control/source/model/ListAccessGrantsRequest.cpp new file mode 100644 index 00000000000..55de4fa701d --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/source/model/ListAccessGrantsRequest.cpp @@ -0,0 +1,117 @@ +/** + * 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::S3Control::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + +ListAccessGrantsRequest::ListAccessGrantsRequest() : + m_accountIdHasBeenSet(false), + m_nextTokenHasBeenSet(false), + m_maxResults(0), + m_maxResultsHasBeenSet(false), + m_granteeType(GranteeType::NOT_SET), + m_granteeTypeHasBeenSet(false), + m_granteeIdentifierHasBeenSet(false), + m_permission(Permission::NOT_SET), + m_permissionHasBeenSet(false), + m_grantScopeHasBeenSet(false), + m_applicationArnHasBeenSet(false) +{ +} + +Aws::String ListAccessGrantsRequest::SerializePayload() const +{ + return {}; +} + +void ListAccessGrantsRequest::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(""); + } + + if(m_granteeTypeHasBeenSet) + { + ss << GranteeTypeMapper::GetNameForGranteeType(m_granteeType); + uri.AddQueryStringParameter("granteetype", ss.str()); + ss.str(""); + } + + if(m_granteeIdentifierHasBeenSet) + { + ss << m_granteeIdentifier; + uri.AddQueryStringParameter("granteeidentifier", ss.str()); + ss.str(""); + } + + if(m_permissionHasBeenSet) + { + ss << PermissionMapper::GetNameForPermission(m_permission); + uri.AddQueryStringParameter("permission", ss.str()); + ss.str(""); + } + + if(m_grantScopeHasBeenSet) + { + ss << m_grantScope; + uri.AddQueryStringParameter("grantscope", ss.str()); + ss.str(""); + } + + if(m_applicationArnHasBeenSet) + { + ss << m_applicationArn; + uri.AddQueryStringParameter("application_arn", ss.str()); + ss.str(""); + } + +} + +Aws::Http::HeaderValueCollection ListAccessGrantsRequest::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; +} + +ListAccessGrantsRequest::EndpointParameters ListAccessGrantsRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Static context parameters + parameters.emplace_back(Aws::String("RequiresAccountId"), true, Aws::Endpoint::EndpointParameter::ParameterOrigin::STATIC_CONTEXT); + // Operation context parameters + if (AccountIdHasBeenSet()) { + parameters.emplace_back(Aws::String("AccountId"), this->GetAccountId(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} diff --git a/generated/src/aws-cpp-sdk-s3control/source/model/ListAccessGrantsResult.cpp b/generated/src/aws-cpp-sdk-s3control/source/model/ListAccessGrantsResult.cpp new file mode 100644 index 00000000000..fbe49afac34 --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/source/model/ListAccessGrantsResult.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 +#include + +#include + +using namespace Aws::S3Control::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +ListAccessGrantsResult::ListAccessGrantsResult() +{ +} + +ListAccessGrantsResult::ListAccessGrantsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListAccessGrantsResult& ListAccessGrantsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + XmlNode nextTokenNode = resultNode.FirstChild("NextToken"); + if(!nextTokenNode.IsNull()) + { + m_nextToken = Aws::Utils::Xml::DecodeEscapedXmlText(nextTokenNode.GetText()); + } + XmlNode accessGrantsListNode = resultNode.FirstChild("AccessGrantsList"); + if(!accessGrantsListNode.IsNull()) + { + XmlNode accessGrantsListMember = accessGrantsListNode.FirstChild("AccessGrant"); + while(!accessGrantsListMember.IsNull()) + { + m_accessGrantsList.push_back(accessGrantsListMember); + accessGrantsListMember = accessGrantsListMember.NextNode("AccessGrant"); + } + + } + } + + 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-s3control/source/model/Permission.cpp b/generated/src/aws-cpp-sdk-s3control/source/model/Permission.cpp new file mode 100644 index 00000000000..e8e99cdb769 --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/source/model/Permission.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 S3Control + { + namespace Model + { + namespace PermissionMapper + { + + static const int READ_HASH = HashingUtils::HashString("READ"); + static const int WRITE_HASH = HashingUtils::HashString("WRITE"); + static const int READWRITE_HASH = HashingUtils::HashString("READWRITE"); + + + Permission GetPermissionForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == READ_HASH) + { + return Permission::READ; + } + else if (hashCode == WRITE_HASH) + { + return Permission::WRITE; + } + else if (hashCode == READWRITE_HASH) + { + return Permission::READWRITE; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return Permission::NOT_SET; + } + + Aws::String GetNameForPermission(Permission enumValue) + { + switch(enumValue) + { + case Permission::NOT_SET: + return {}; + case Permission::READ: + return "READ"; + case Permission::WRITE: + return "WRITE"; + case Permission::READWRITE: + return "READWRITE"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace PermissionMapper + } // namespace Model + } // namespace S3Control +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3control/source/model/Privilege.cpp b/generated/src/aws-cpp-sdk-s3control/source/model/Privilege.cpp new file mode 100644 index 00000000000..fb3925de296 --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/source/model/Privilege.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 S3Control + { + namespace Model + { + namespace PrivilegeMapper + { + + static const int Minimal_HASH = HashingUtils::HashString("Minimal"); + static const int Default_HASH = HashingUtils::HashString("Default"); + + + Privilege GetPrivilegeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Minimal_HASH) + { + return Privilege::Minimal; + } + else if (hashCode == Default_HASH) + { + return Privilege::Default; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return Privilege::NOT_SET; + } + + Aws::String GetNameForPrivilege(Privilege enumValue) + { + switch(enumValue) + { + case Privilege::NOT_SET: + return {}; + case Privilege::Minimal: + return "Minimal"; + case Privilege::Default: + return "Default"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace PrivilegeMapper + } // namespace Model + } // namespace S3Control +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3control/source/model/PutAccessGrantsInstanceResourcePolicyRequest.cpp b/generated/src/aws-cpp-sdk-s3control/source/model/PutAccessGrantsInstanceResourcePolicyRequest.cpp new file mode 100644 index 00000000000..9167cf97381 --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/source/model/PutAccessGrantsInstanceResourcePolicyRequest.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::S3Control::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +PutAccessGrantsInstanceResourcePolicyRequest::PutAccessGrantsInstanceResourcePolicyRequest() : + m_accountIdHasBeenSet(false), + m_policyHasBeenSet(false), + m_organizationHasBeenSet(false) +{ +} + +Aws::String PutAccessGrantsInstanceResourcePolicyRequest::SerializePayload() const +{ + XmlDocument payloadDoc = XmlDocument::CreateWithRootNode("PutAccessGrantsInstanceResourcePolicyRequest"); + + XmlNode parentNode = payloadDoc.GetRootElement(); + parentNode.SetAttributeValue("xmlns", "http://awss3control.amazonaws.com/doc/2018-08-20/"); + + Aws::StringStream ss; + if(m_policyHasBeenSet) + { + XmlNode policyNode = parentNode.CreateChildElement("Policy"); + policyNode.SetText(m_policy); + } + + if(m_organizationHasBeenSet) + { + XmlNode organizationNode = parentNode.CreateChildElement("Organization"); + organizationNode.SetText(m_organization); + } + + return payloadDoc.ConvertToString(); +} + + +Aws::Http::HeaderValueCollection PutAccessGrantsInstanceResourcePolicyRequest::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; +} + +PutAccessGrantsInstanceResourcePolicyRequest::EndpointParameters PutAccessGrantsInstanceResourcePolicyRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Static context parameters + parameters.emplace_back(Aws::String("RequiresAccountId"), true, Aws::Endpoint::EndpointParameter::ParameterOrigin::STATIC_CONTEXT); + // Operation context parameters + if (AccountIdHasBeenSet()) { + parameters.emplace_back(Aws::String("AccountId"), this->GetAccountId(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} diff --git a/generated/src/aws-cpp-sdk-s3control/source/model/PutAccessGrantsInstanceResourcePolicyResult.cpp b/generated/src/aws-cpp-sdk-s3control/source/model/PutAccessGrantsInstanceResourcePolicyResult.cpp new file mode 100644 index 00000000000..faf07ffc91a --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/source/model/PutAccessGrantsInstanceResourcePolicyResult.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::S3Control::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +PutAccessGrantsInstanceResourcePolicyResult::PutAccessGrantsInstanceResourcePolicyResult() +{ +} + +PutAccessGrantsInstanceResourcePolicyResult::PutAccessGrantsInstanceResourcePolicyResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +PutAccessGrantsInstanceResourcePolicyResult& PutAccessGrantsInstanceResourcePolicyResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + XmlNode policyNode = resultNode.FirstChild("Policy"); + if(!policyNode.IsNull()) + { + m_policy = Aws::Utils::Xml::DecodeEscapedXmlText(policyNode.GetText()); + } + XmlNode organizationNode = resultNode.FirstChild("Organization"); + if(!organizationNode.IsNull()) + { + m_organization = Aws::Utils::Xml::DecodeEscapedXmlText(organizationNode.GetText()); + } + XmlNode createdAtNode = resultNode.FirstChild("CreatedAt"); + if(!createdAtNode.IsNull()) + { + m_createdAt = DateTime(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(createdAtNode.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/src/aws-cpp-sdk-s3control/source/model/S3PrefixType.cpp b/generated/src/aws-cpp-sdk-s3control/source/model/S3PrefixType.cpp new file mode 100644 index 00000000000..a5f8f969564 --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/source/model/S3PrefixType.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 S3Control + { + namespace Model + { + namespace S3PrefixTypeMapper + { + + static const int Object_HASH = HashingUtils::HashString("Object"); + + + S3PrefixType GetS3PrefixTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Object_HASH) + { + return S3PrefixType::Object; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return S3PrefixType::NOT_SET; + } + + Aws::String GetNameForS3PrefixType(S3PrefixType enumValue) + { + switch(enumValue) + { + case S3PrefixType::NOT_SET: + return {}; + case S3PrefixType::Object: + return "Object"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace S3PrefixTypeMapper + } // namespace Model + } // namespace S3Control +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3control/source/model/UpdateAccessGrantsLocationRequest.cpp b/generated/src/aws-cpp-sdk-s3control/source/model/UpdateAccessGrantsLocationRequest.cpp new file mode 100644 index 00000000000..bc5e0d7b960 --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/source/model/UpdateAccessGrantsLocationRequest.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 + +using namespace Aws::S3Control::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +UpdateAccessGrantsLocationRequest::UpdateAccessGrantsLocationRequest() : + m_accountIdHasBeenSet(false), + m_accessGrantsLocationIdHasBeenSet(false), + m_iAMRoleArnHasBeenSet(false) +{ +} + +Aws::String UpdateAccessGrantsLocationRequest::SerializePayload() const +{ + XmlDocument payloadDoc = XmlDocument::CreateWithRootNode("UpdateAccessGrantsLocationRequest"); + + XmlNode parentNode = payloadDoc.GetRootElement(); + parentNode.SetAttributeValue("xmlns", "http://awss3control.amazonaws.com/doc/2018-08-20/"); + + Aws::StringStream ss; + if(m_iAMRoleArnHasBeenSet) + { + XmlNode iAMRoleArnNode = parentNode.CreateChildElement("IAMRoleArn"); + iAMRoleArnNode.SetText(m_iAMRoleArn); + } + + return payloadDoc.ConvertToString(); +} + + +Aws::Http::HeaderValueCollection UpdateAccessGrantsLocationRequest::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; +} + +UpdateAccessGrantsLocationRequest::EndpointParameters UpdateAccessGrantsLocationRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Static context parameters + parameters.emplace_back(Aws::String("RequiresAccountId"), true, Aws::Endpoint::EndpointParameter::ParameterOrigin::STATIC_CONTEXT); + // Operation context parameters + if (AccountIdHasBeenSet()) { + parameters.emplace_back(Aws::String("AccountId"), this->GetAccountId(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} diff --git a/generated/src/aws-cpp-sdk-s3control/source/model/UpdateAccessGrantsLocationResult.cpp b/generated/src/aws-cpp-sdk-s3control/source/model/UpdateAccessGrantsLocationResult.cpp new file mode 100644 index 00000000000..d8b7ad5bc95 --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3control/source/model/UpdateAccessGrantsLocationResult.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 + +using namespace Aws::S3Control::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +UpdateAccessGrantsLocationResult::UpdateAccessGrantsLocationResult() +{ +} + +UpdateAccessGrantsLocationResult::UpdateAccessGrantsLocationResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +UpdateAccessGrantsLocationResult& UpdateAccessGrantsLocationResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + XmlNode createdAtNode = resultNode.FirstChild("CreatedAt"); + if(!createdAtNode.IsNull()) + { + m_createdAt = DateTime(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(createdAtNode.GetText()).c_str()).c_str(), Aws::Utils::DateFormat::ISO_8601); + } + XmlNode accessGrantsLocationIdNode = resultNode.FirstChild("AccessGrantsLocationId"); + if(!accessGrantsLocationIdNode.IsNull()) + { + m_accessGrantsLocationId = Aws::Utils::Xml::DecodeEscapedXmlText(accessGrantsLocationIdNode.GetText()); + } + XmlNode accessGrantsLocationArnNode = resultNode.FirstChild("AccessGrantsLocationArn"); + if(!accessGrantsLocationArnNode.IsNull()) + { + m_accessGrantsLocationArn = Aws::Utils::Xml::DecodeEscapedXmlText(accessGrantsLocationArnNode.GetText()); + } + XmlNode locationScopeNode = resultNode.FirstChild("LocationScope"); + if(!locationScopeNode.IsNull()) + { + m_locationScope = Aws::Utils::Xml::DecodeEscapedXmlText(locationScopeNode.GetText()); + } + XmlNode iAMRoleArnNode = resultNode.FirstChild("IAMRoleArn"); + if(!iAMRoleArnNode.IsNull()) + { + m_iAMRoleArn = Aws::Utils::Xml::DecodeEscapedXmlText(iAMRoleArnNode.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/src/aws-cpp-sdk-secretsmanager/include/aws/secretsmanager/SecretsManagerClient.h b/generated/src/aws-cpp-sdk-secretsmanager/include/aws/secretsmanager/SecretsManagerClient.h index 1ff2924bc65..f288ae6e62e 100644 --- a/generated/src/aws-cpp-sdk-secretsmanager/include/aws/secretsmanager/SecretsManagerClient.h +++ b/generated/src/aws-cpp-sdk-secretsmanager/include/aws/secretsmanager/SecretsManagerClient.h @@ -107,6 +107,52 @@ namespace SecretsManager /* End of legacy constructors due deprecation */ virtual ~SecretsManagerClient(); + /** + *

    Retrieves the contents of the encrypted fields SecretString or + * SecretBinary for up to 20 secrets. To retrieve a single secret, + * call GetSecretValue.

    To choose which secrets to retrieve, you can + * specify a list of secrets by name or ARN, or you can use filters. If Secrets + * Manager encounters errors such as AccessDeniedException while + * attempting to retrieve any of the secrets, you can see the errors in + * Errors in the response.

    Secrets Manager generates CloudTrail + * GetSecretValue log entries for each secret you request when you + * call this action. Do not include sensitive information in request parameters + * because it might be logged. For more information, see Logging + * Secrets Manager events with CloudTrail.

    Required permissions: + * secretsmanager:BatchGetSecretValue, and you must have + * secretsmanager:GetSecretValue for each secret. If you use filters, + * you must also have secretsmanager:ListSecrets. If the secrets are + * encrypted using customer-managed keys instead of the Amazon Web Services managed + * key aws/secretsmanager, then you also need kms:Decrypt + * permissions for the keys. For more information, see + * IAM policy actions for Secrets Manager and Authentication + * and access control in Secrets Manager.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::BatchGetSecretValueOutcome BatchGetSecretValue(const Model::BatchGetSecretValueRequest& request) const; + + /** + * A Callable wrapper for BatchGetSecretValue that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::BatchGetSecretValueOutcomeCallable BatchGetSecretValueCallable(const BatchGetSecretValueRequestT& request) const + { + return SubmitCallable(&SecretsManagerClient::BatchGetSecretValue, request); + } + + /** + * An Async wrapper for BatchGetSecretValue that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void BatchGetSecretValueAsync(const BatchGetSecretValueRequestT& request, const BatchGetSecretValueResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&SecretsManagerClient::BatchGetSecretValue, request, handler, context); + } + /** *

    Turns off automatic rotation, and if a rotation is currently in progress, * cancels the rotation.

    If you cancel a rotation in progress, it can leave @@ -433,9 +479,10 @@ namespace SecretsManager /** *

    Retrieves the contents of the encrypted fields SecretString or * SecretBinary from the specified version of a secret, whichever - * contains content.

    We recommend that you cache your secret values by using - * client-side caching. Caching secrets improves speed and reduces your costs. For - * more information, see

    To retrieve the values for a group of secrets, call + * BatchGetSecretValue.

    We recommend that you cache your secret + * values by using client-side caching. Caching secrets improves speed and reduces + * your costs. For more information, see Cache * secrets for your applications.

    To retrieve the previous version of a * secret, use VersionStage and specify AWSPREVIOUS. To revert to the @@ -523,10 +570,9 @@ namespace SecretsManager * is eventually consistent, however it might not reflect changes from the last * five minutes. To get the latest information for a specific secret, use * DescribeSecret.

    To list the versions of a secret, use - * ListSecretVersionIds.

    To get the secret value from - * SecretString or SecretBinary, call - * GetSecretValue.

    For information about finding secrets in the - * console, see ListSecretVersionIds.

    To retrieve the values for the secrets, call + * BatchGetSecretValue or GetSecretValue.

    For information + * about finding secrets in the console, see Find * secrets in Secrets Manager.

    Secrets Manager generates a CloudTrail * log entry when you call this action. Do not include sensitive information in diff --git a/generated/src/aws-cpp-sdk-secretsmanager/include/aws/secretsmanager/SecretsManagerServiceClientModel.h b/generated/src/aws-cpp-sdk-secretsmanager/include/aws/secretsmanager/SecretsManagerServiceClientModel.h index 3ea534ce42c..0bc83c4cf6c 100644 --- a/generated/src/aws-cpp-sdk-secretsmanager/include/aws/secretsmanager/SecretsManagerServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-secretsmanager/include/aws/secretsmanager/SecretsManagerServiceClientModel.h @@ -18,6 +18,7 @@ /* End of generic header includes */ /* Service model headers required in SecretsManagerClient header */ +#include #include #include #include @@ -79,6 +80,7 @@ namespace Aws namespace Model { /* Service model forward declarations required in SecretsManagerClient header */ + class BatchGetSecretValueRequest; class CancelRotateSecretRequest; class CreateSecretRequest; class DeleteResourcePolicyRequest; @@ -104,6 +106,7 @@ namespace Aws /* End of service model forward declarations required in SecretsManagerClient header */ /* Service model Outcome class definitions */ + typedef Aws::Utils::Outcome BatchGetSecretValueOutcome; typedef Aws::Utils::Outcome CancelRotateSecretOutcome; typedef Aws::Utils::Outcome CreateSecretOutcome; typedef Aws::Utils::Outcome DeleteResourcePolicyOutcome; @@ -129,6 +132,7 @@ namespace Aws /* End of service model Outcome class definitions */ /* Service model Outcome callable definitions */ + typedef std::future BatchGetSecretValueOutcomeCallable; typedef std::future CancelRotateSecretOutcomeCallable; typedef std::future CreateSecretOutcomeCallable; typedef std::future DeleteResourcePolicyOutcomeCallable; @@ -157,6 +161,7 @@ namespace Aws class SecretsManagerClient; /* Service model async handlers definitions */ + typedef std::function&) > BatchGetSecretValueResponseReceivedHandler; typedef std::function&) > CancelRotateSecretResponseReceivedHandler; typedef std::function&) > CreateSecretResponseReceivedHandler; typedef std::function&) > DeleteResourcePolicyResponseReceivedHandler; diff --git a/generated/src/aws-cpp-sdk-secretsmanager/include/aws/secretsmanager/model/APIErrorType.h b/generated/src/aws-cpp-sdk-secretsmanager/include/aws/secretsmanager/model/APIErrorType.h new file mode 100644 index 00000000000..a8ecffc6302 --- /dev/null +++ b/generated/src/aws-cpp-sdk-secretsmanager/include/aws/secretsmanager/model/APIErrorType.h @@ -0,0 +1,209 @@ +/** + * 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 SecretsManager +{ +namespace Model +{ + + /** + *

    The error Secrets Manager encountered while retrieving an individual secret + * as part of BatchGetSecretValue.

    See Also:

    AWS + * API Reference

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

    The ARN or name of the secret.

    + */ + inline const Aws::String& GetSecretId() const{ return m_secretId; } + + /** + *

    The ARN or name of the secret.

    + */ + inline bool SecretIdHasBeenSet() const { return m_secretIdHasBeenSet; } + + /** + *

    The ARN or name of the secret.

    + */ + inline void SetSecretId(const Aws::String& value) { m_secretIdHasBeenSet = true; m_secretId = value; } + + /** + *

    The ARN or name of the secret.

    + */ + inline void SetSecretId(Aws::String&& value) { m_secretIdHasBeenSet = true; m_secretId = std::move(value); } + + /** + *

    The ARN or name of the secret.

    + */ + inline void SetSecretId(const char* value) { m_secretIdHasBeenSet = true; m_secretId.assign(value); } + + /** + *

    The ARN or name of the secret.

    + */ + inline APIErrorType& WithSecretId(const Aws::String& value) { SetSecretId(value); return *this;} + + /** + *

    The ARN or name of the secret.

    + */ + inline APIErrorType& WithSecretId(Aws::String&& value) { SetSecretId(std::move(value)); return *this;} + + /** + *

    The ARN or name of the secret.

    + */ + inline APIErrorType& WithSecretId(const char* value) { SetSecretId(value); return *this;} + + + /** + *

    The error Secrets Manager encountered while retrieving an individual secret + * as part of BatchGetSecretValue, for example + * ResourceNotFoundException,InvalidParameterException, + * InvalidRequestException, DecryptionFailure, or + * AccessDeniedException.

    + */ + inline const Aws::String& GetErrorCode() const{ return m_errorCode; } + + /** + *

    The error Secrets Manager encountered while retrieving an individual secret + * as part of BatchGetSecretValue, for example + * ResourceNotFoundException,InvalidParameterException, + * InvalidRequestException, DecryptionFailure, or + * AccessDeniedException.

    + */ + inline bool ErrorCodeHasBeenSet() const { return m_errorCodeHasBeenSet; } + + /** + *

    The error Secrets Manager encountered while retrieving an individual secret + * as part of BatchGetSecretValue, for example + * ResourceNotFoundException,InvalidParameterException, + * InvalidRequestException, DecryptionFailure, or + * AccessDeniedException.

    + */ + inline void SetErrorCode(const Aws::String& value) { m_errorCodeHasBeenSet = true; m_errorCode = value; } + + /** + *

    The error Secrets Manager encountered while retrieving an individual secret + * as part of BatchGetSecretValue, for example + * ResourceNotFoundException,InvalidParameterException, + * InvalidRequestException, DecryptionFailure, or + * AccessDeniedException.

    + */ + inline void SetErrorCode(Aws::String&& value) { m_errorCodeHasBeenSet = true; m_errorCode = std::move(value); } + + /** + *

    The error Secrets Manager encountered while retrieving an individual secret + * as part of BatchGetSecretValue, for example + * ResourceNotFoundException,InvalidParameterException, + * InvalidRequestException, DecryptionFailure, or + * AccessDeniedException.

    + */ + inline void SetErrorCode(const char* value) { m_errorCodeHasBeenSet = true; m_errorCode.assign(value); } + + /** + *

    The error Secrets Manager encountered while retrieving an individual secret + * as part of BatchGetSecretValue, for example + * ResourceNotFoundException,InvalidParameterException, + * InvalidRequestException, DecryptionFailure, or + * AccessDeniedException.

    + */ + inline APIErrorType& WithErrorCode(const Aws::String& value) { SetErrorCode(value); return *this;} + + /** + *

    The error Secrets Manager encountered while retrieving an individual secret + * as part of BatchGetSecretValue, for example + * ResourceNotFoundException,InvalidParameterException, + * InvalidRequestException, DecryptionFailure, or + * AccessDeniedException.

    + */ + inline APIErrorType& WithErrorCode(Aws::String&& value) { SetErrorCode(std::move(value)); return *this;} + + /** + *

    The error Secrets Manager encountered while retrieving an individual secret + * as part of BatchGetSecretValue, for example + * ResourceNotFoundException,InvalidParameterException, + * InvalidRequestException, DecryptionFailure, or + * AccessDeniedException.

    + */ + inline APIErrorType& WithErrorCode(const char* value) { SetErrorCode(value); return *this;} + + + /** + *

    A message describing the error.

    + */ + inline const Aws::String& GetMessage() const{ return m_message; } + + /** + *

    A message describing the error.

    + */ + inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } + + /** + *

    A message describing the error.

    + */ + inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; } + + /** + *

    A message describing the error.

    + */ + inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); } + + /** + *

    A message describing the error.

    + */ + inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); } + + /** + *

    A message describing the error.

    + */ + inline APIErrorType& WithMessage(const Aws::String& value) { SetMessage(value); return *this;} + + /** + *

    A message describing the error.

    + */ + inline APIErrorType& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;} + + /** + *

    A message describing the error.

    + */ + inline APIErrorType& WithMessage(const char* value) { SetMessage(value); return *this;} + + private: + + Aws::String m_secretId; + bool m_secretIdHasBeenSet = false; + + Aws::String m_errorCode; + bool m_errorCodeHasBeenSet = false; + + Aws::String m_message; + bool m_messageHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecretsManager +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-secretsmanager/include/aws/secretsmanager/model/BatchGetSecretValueRequest.h b/generated/src/aws-cpp-sdk-secretsmanager/include/aws/secretsmanager/model/BatchGetSecretValueRequest.h new file mode 100644 index 00000000000..174abcc3d08 --- /dev/null +++ b/generated/src/aws-cpp-sdk-secretsmanager/include/aws/secretsmanager/model/BatchGetSecretValueRequest.h @@ -0,0 +1,253 @@ +/** + * 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 SecretsManager +{ +namespace Model +{ + + /** + */ + class BatchGetSecretValueRequest : public SecretsManagerRequest + { + public: + AWS_SECRETSMANAGER_API BatchGetSecretValueRequest(); + + // 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 "BatchGetSecretValue"; } + + AWS_SECRETSMANAGER_API Aws::String SerializePayload() const override; + + AWS_SECRETSMANAGER_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + *

    The ARN or names of the secrets to retrieve. You must include + * Filters or SecretIdList, but not both.

    + */ + inline const Aws::Vector& GetSecretIdList() const{ return m_secretIdList; } + + /** + *

    The ARN or names of the secrets to retrieve. You must include + * Filters or SecretIdList, but not both.

    + */ + inline bool SecretIdListHasBeenSet() const { return m_secretIdListHasBeenSet; } + + /** + *

    The ARN or names of the secrets to retrieve. You must include + * Filters or SecretIdList, but not both.

    + */ + inline void SetSecretIdList(const Aws::Vector& value) { m_secretIdListHasBeenSet = true; m_secretIdList = value; } + + /** + *

    The ARN or names of the secrets to retrieve. You must include + * Filters or SecretIdList, but not both.

    + */ + inline void SetSecretIdList(Aws::Vector&& value) { m_secretIdListHasBeenSet = true; m_secretIdList = std::move(value); } + + /** + *

    The ARN or names of the secrets to retrieve. You must include + * Filters or SecretIdList, but not both.

    + */ + inline BatchGetSecretValueRequest& WithSecretIdList(const Aws::Vector& value) { SetSecretIdList(value); return *this;} + + /** + *

    The ARN or names of the secrets to retrieve. You must include + * Filters or SecretIdList, but not both.

    + */ + inline BatchGetSecretValueRequest& WithSecretIdList(Aws::Vector&& value) { SetSecretIdList(std::move(value)); return *this;} + + /** + *

    The ARN or names of the secrets to retrieve. You must include + * Filters or SecretIdList, but not both.

    + */ + inline BatchGetSecretValueRequest& AddSecretIdList(const Aws::String& value) { m_secretIdListHasBeenSet = true; m_secretIdList.push_back(value); return *this; } + + /** + *

    The ARN or names of the secrets to retrieve. You must include + * Filters or SecretIdList, but not both.

    + */ + inline BatchGetSecretValueRequest& AddSecretIdList(Aws::String&& value) { m_secretIdListHasBeenSet = true; m_secretIdList.push_back(std::move(value)); return *this; } + + /** + *

    The ARN or names of the secrets to retrieve. You must include + * Filters or SecretIdList, but not both.

    + */ + inline BatchGetSecretValueRequest& AddSecretIdList(const char* value) { m_secretIdListHasBeenSet = true; m_secretIdList.push_back(value); return *this; } + + + /** + *

    The filters to choose which secrets to retrieve. You must include + * Filters or SecretIdList, but not both.

    + */ + inline const Aws::Vector& GetFilters() const{ return m_filters; } + + /** + *

    The filters to choose which secrets to retrieve. You must include + * Filters or SecretIdList, but not both.

    + */ + inline bool FiltersHasBeenSet() const { return m_filtersHasBeenSet; } + + /** + *

    The filters to choose which secrets to retrieve. You must include + * Filters or SecretIdList, but not both.

    + */ + inline void SetFilters(const Aws::Vector& value) { m_filtersHasBeenSet = true; m_filters = value; } + + /** + *

    The filters to choose which secrets to retrieve. You must include + * Filters or SecretIdList, but not both.

    + */ + inline void SetFilters(Aws::Vector&& value) { m_filtersHasBeenSet = true; m_filters = std::move(value); } + + /** + *

    The filters to choose which secrets to retrieve. You must include + * Filters or SecretIdList, but not both.

    + */ + inline BatchGetSecretValueRequest& WithFilters(const Aws::Vector& value) { SetFilters(value); return *this;} + + /** + *

    The filters to choose which secrets to retrieve. You must include + * Filters or SecretIdList, but not both.

    + */ + inline BatchGetSecretValueRequest& WithFilters(Aws::Vector&& value) { SetFilters(std::move(value)); return *this;} + + /** + *

    The filters to choose which secrets to retrieve. You must include + * Filters or SecretIdList, but not both.

    + */ + inline BatchGetSecretValueRequest& AddFilters(const Filter& value) { m_filtersHasBeenSet = true; m_filters.push_back(value); return *this; } + + /** + *

    The filters to choose which secrets to retrieve. You must include + * Filters or SecretIdList, but not both.

    + */ + inline BatchGetSecretValueRequest& AddFilters(Filter&& value) { m_filtersHasBeenSet = true; m_filters.push_back(std::move(value)); return *this; } + + + /** + *

    The number of results to include in the response.

    If there are more + * results available, in the response, Secrets Manager includes + * NextToken. To get the next results, call + * BatchGetSecretValue again with the value from + * NextToken.

    + */ + inline int GetMaxResults() const{ return m_maxResults; } + + /** + *

    The number of results to include in the response.

    If there are more + * results available, in the response, Secrets Manager includes + * NextToken. To get the next results, call + * BatchGetSecretValue again with the value from + * NextToken.

    + */ + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + + /** + *

    The number of results to include in the response.

    If there are more + * results available, in the response, Secrets Manager includes + * NextToken. To get the next results, call + * BatchGetSecretValue again with the value from + * NextToken.

    + */ + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + + /** + *

    The number of results to include in the response.

    If there are more + * results available, in the response, Secrets Manager includes + * NextToken. To get the next results, call + * BatchGetSecretValue again with the value from + * NextToken.

    + */ + inline BatchGetSecretValueRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + + + /** + *

    A token that indicates where the output should continue from, if a previous + * call did not show all results. To get the next results, call + * BatchGetSecretValue again with this value.

    + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + + /** + *

    A token that indicates where the output should continue from, if a previous + * call did not show all results. To get the next results, call + * BatchGetSecretValue again with this value.

    + */ + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + + /** + *

    A token that indicates where the output should continue from, if a previous + * call did not show all results. To get the next results, call + * BatchGetSecretValue again with this value.

    + */ + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + + /** + *

    A token that indicates where the output should continue from, if a previous + * call did not show all results. To get the next results, call + * BatchGetSecretValue again with this value.

    + */ + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + + /** + *

    A token that indicates where the output should continue from, if a previous + * call did not show all results. To get the next results, call + * BatchGetSecretValue again with this value.

    + */ + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + + /** + *

    A token that indicates where the output should continue from, if a previous + * call did not show all results. To get the next results, call + * BatchGetSecretValue again with this value.

    + */ + inline BatchGetSecretValueRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + + /** + *

    A token that indicates where the output should continue from, if a previous + * call did not show all results. To get the next results, call + * BatchGetSecretValue again with this value.

    + */ + inline BatchGetSecretValueRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + + /** + *

    A token that indicates where the output should continue from, if a previous + * call did not show all results. To get the next results, call + * BatchGetSecretValue again with this value.

    + */ + inline BatchGetSecretValueRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + + private: + + Aws::Vector m_secretIdList; + bool m_secretIdListHasBeenSet = false; + + Aws::Vector m_filters; + bool m_filtersHasBeenSet = false; + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecretsManager +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-secretsmanager/include/aws/secretsmanager/model/BatchGetSecretValueResult.h b/generated/src/aws-cpp-sdk-secretsmanager/include/aws/secretsmanager/model/BatchGetSecretValueResult.h new file mode 100644 index 00000000000..73916c8fbe1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-secretsmanager/include/aws/secretsmanager/model/BatchGetSecretValueResult.h @@ -0,0 +1,215 @@ +/** + * 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 SecretsManager +{ +namespace Model +{ + class BatchGetSecretValueResult + { + public: + AWS_SECRETSMANAGER_API BatchGetSecretValueResult(); + AWS_SECRETSMANAGER_API BatchGetSecretValueResult(const Aws::AmazonWebServiceResult& result); + AWS_SECRETSMANAGER_API BatchGetSecretValueResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

    A list of secret values.

    + */ + inline const Aws::Vector& GetSecretValues() const{ return m_secretValues; } + + /** + *

    A list of secret values.

    + */ + inline void SetSecretValues(const Aws::Vector& value) { m_secretValues = value; } + + /** + *

    A list of secret values.

    + */ + inline void SetSecretValues(Aws::Vector&& value) { m_secretValues = std::move(value); } + + /** + *

    A list of secret values.

    + */ + inline BatchGetSecretValueResult& WithSecretValues(const Aws::Vector& value) { SetSecretValues(value); return *this;} + + /** + *

    A list of secret values.

    + */ + inline BatchGetSecretValueResult& WithSecretValues(Aws::Vector&& value) { SetSecretValues(std::move(value)); return *this;} + + /** + *

    A list of secret values.

    + */ + inline BatchGetSecretValueResult& AddSecretValues(const SecretValueEntry& value) { m_secretValues.push_back(value); return *this; } + + /** + *

    A list of secret values.

    + */ + inline BatchGetSecretValueResult& AddSecretValues(SecretValueEntry&& value) { m_secretValues.push_back(std::move(value)); return *this; } + + + /** + *

    Secrets Manager includes this value if there's more output available than + * what is included in the current response. This can occur even when the response + * includes no values at all, such as when you ask for a filtered view of a long + * list. To get the next results, call BatchGetSecretValue again with + * this value.

    + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + + /** + *

    Secrets Manager includes this value if there's more output available than + * what is included in the current response. This can occur even when the response + * includes no values at all, such as when you ask for a filtered view of a long + * list. To get the next results, call BatchGetSecretValue again with + * this value.

    + */ + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + + /** + *

    Secrets Manager includes this value if there's more output available than + * what is included in the current response. This can occur even when the response + * includes no values at all, such as when you ask for a filtered view of a long + * list. To get the next results, call BatchGetSecretValue again with + * this value.

    + */ + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + + /** + *

    Secrets Manager includes this value if there's more output available than + * what is included in the current response. This can occur even when the response + * includes no values at all, such as when you ask for a filtered view of a long + * list. To get the next results, call BatchGetSecretValue again with + * this value.

    + */ + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + + /** + *

    Secrets Manager includes this value if there's more output available than + * what is included in the current response. This can occur even when the response + * includes no values at all, such as when you ask for a filtered view of a long + * list. To get the next results, call BatchGetSecretValue again with + * this value.

    + */ + inline BatchGetSecretValueResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + + /** + *

    Secrets Manager includes this value if there's more output available than + * what is included in the current response. This can occur even when the response + * includes no values at all, such as when you ask for a filtered view of a long + * list. To get the next results, call BatchGetSecretValue again with + * this value.

    + */ + inline BatchGetSecretValueResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + + /** + *

    Secrets Manager includes this value if there's more output available than + * what is included in the current response. This can occur even when the response + * includes no values at all, such as when you ask for a filtered view of a long + * list. To get the next results, call BatchGetSecretValue again with + * this value.

    + */ + inline BatchGetSecretValueResult& WithNextToken(const char* value) { SetNextToken(value); return *this;} + + + /** + *

    A list of errors Secrets Manager encountered while attempting to retrieve + * individual secrets.

    + */ + inline const Aws::Vector& GetErrors() const{ return m_errors; } + + /** + *

    A list of errors Secrets Manager encountered while attempting to retrieve + * individual secrets.

    + */ + inline void SetErrors(const Aws::Vector& value) { m_errors = value; } + + /** + *

    A list of errors Secrets Manager encountered while attempting to retrieve + * individual secrets.

    + */ + inline void SetErrors(Aws::Vector&& value) { m_errors = std::move(value); } + + /** + *

    A list of errors Secrets Manager encountered while attempting to retrieve + * individual secrets.

    + */ + inline BatchGetSecretValueResult& WithErrors(const Aws::Vector& value) { SetErrors(value); return *this;} + + /** + *

    A list of errors Secrets Manager encountered while attempting to retrieve + * individual secrets.

    + */ + inline BatchGetSecretValueResult& WithErrors(Aws::Vector&& value) { SetErrors(std::move(value)); return *this;} + + /** + *

    A list of errors Secrets Manager encountered while attempting to retrieve + * individual secrets.

    + */ + inline BatchGetSecretValueResult& AddErrors(const APIErrorType& value) { m_errors.push_back(value); return *this; } + + /** + *

    A list of errors Secrets Manager encountered while attempting to retrieve + * individual secrets.

    + */ + inline BatchGetSecretValueResult& AddErrors(APIErrorType&& value) { m_errors.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 BatchGetSecretValueResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline BatchGetSecretValueResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline BatchGetSecretValueResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::Vector m_secretValues; + + Aws::String m_nextToken; + + Aws::Vector m_errors; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace SecretsManager +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-secretsmanager/include/aws/secretsmanager/model/SecretListEntry.h b/generated/src/aws-cpp-sdk-secretsmanager/include/aws/secretsmanager/model/SecretListEntry.h index 1d0a945b315..84e9959b5b0 100644 --- a/generated/src/aws-cpp-sdk-secretsmanager/include/aws/secretsmanager/model/SecretListEntry.h +++ b/generated/src/aws-cpp-sdk-secretsmanager/include/aws/secretsmanager/model/SecretListEntry.h @@ -88,66 +88,42 @@ namespace Model /** - *

    The friendly name of the secret. You can use forward slashes in the name to - * represent a path hierarchy. For example, /prod/databases/dbserver1 - * could represent the secret for a server named dbserver1 in the - * folder databases in the folder prod.

    + *

    The friendly name of the secret.

    */ inline const Aws::String& GetName() const{ return m_name; } /** - *

    The friendly name of the secret. You can use forward slashes in the name to - * represent a path hierarchy. For example, /prod/databases/dbserver1 - * could represent the secret for a server named dbserver1 in the - * folder databases in the folder prod.

    + *

    The friendly name of the secret.

    */ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** - *

    The friendly name of the secret. You can use forward slashes in the name to - * represent a path hierarchy. For example, /prod/databases/dbserver1 - * could represent the secret for a server named dbserver1 in the - * folder databases in the folder prod.

    + *

    The friendly name of the secret.

    */ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** - *

    The friendly name of the secret. You can use forward slashes in the name to - * represent a path hierarchy. For example, /prod/databases/dbserver1 - * could represent the secret for a server named dbserver1 in the - * folder databases in the folder prod.

    + *

    The friendly name of the secret.

    */ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** - *

    The friendly name of the secret. You can use forward slashes in the name to - * represent a path hierarchy. For example, /prod/databases/dbserver1 - * could represent the secret for a server named dbserver1 in the - * folder databases in the folder prod.

    + *

    The friendly name of the secret.

    */ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** - *

    The friendly name of the secret. You can use forward slashes in the name to - * represent a path hierarchy. For example, /prod/databases/dbserver1 - * could represent the secret for a server named dbserver1 in the - * folder databases in the folder prod.

    + *

    The friendly name of the secret.

    */ inline SecretListEntry& WithName(const Aws::String& value) { SetName(value); return *this;} /** - *

    The friendly name of the secret. You can use forward slashes in the name to - * represent a path hierarchy. For example, /prod/databases/dbserver1 - * could represent the secret for a server named dbserver1 in the - * folder databases in the folder prod.

    + *

    The friendly name of the secret.

    */ inline SecretListEntry& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** - *

    The friendly name of the secret. You can use forward slashes in the name to - * represent a path hierarchy. For example, /prod/databases/dbserver1 - * could represent the secret for a server named dbserver1 in the - * folder databases in the folder prod.

    + *

    The friendly name of the secret.

    */ inline SecretListEntry& WithName(const char* value) { SetName(value); return *this;} diff --git a/generated/src/aws-cpp-sdk-secretsmanager/include/aws/secretsmanager/model/SecretValueEntry.h b/generated/src/aws-cpp-sdk-secretsmanager/include/aws/secretsmanager/model/SecretValueEntry.h new file mode 100644 index 00000000000..3985fc5c94c --- /dev/null +++ b/generated/src/aws-cpp-sdk-secretsmanager/include/aws/secretsmanager/model/SecretValueEntry.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 + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecretsManager +{ +namespace Model +{ + + /** + *

    A structure that contains the secret value and other details for a + * secret.

    See Also:

    AWS + * API Reference

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

    The Amazon Resource Name (ARN) of the secret.

    + */ + inline const Aws::String& GetARN() const{ return m_aRN; } + + /** + *

    The Amazon Resource Name (ARN) of the secret.

    + */ + inline bool ARNHasBeenSet() const { return m_aRNHasBeenSet; } + + /** + *

    The Amazon Resource Name (ARN) of the secret.

    + */ + inline void SetARN(const Aws::String& value) { m_aRNHasBeenSet = true; m_aRN = value; } + + /** + *

    The Amazon Resource Name (ARN) of the secret.

    + */ + inline void SetARN(Aws::String&& value) { m_aRNHasBeenSet = true; m_aRN = std::move(value); } + + /** + *

    The Amazon Resource Name (ARN) of the secret.

    + */ + inline void SetARN(const char* value) { m_aRNHasBeenSet = true; m_aRN.assign(value); } + + /** + *

    The Amazon Resource Name (ARN) of the secret.

    + */ + inline SecretValueEntry& WithARN(const Aws::String& value) { SetARN(value); return *this;} + + /** + *

    The Amazon Resource Name (ARN) of the secret.

    + */ + inline SecretValueEntry& WithARN(Aws::String&& value) { SetARN(std::move(value)); return *this;} + + /** + *

    The Amazon Resource Name (ARN) of the secret.

    + */ + inline SecretValueEntry& WithARN(const char* value) { SetARN(value); return *this;} + + + /** + *

    The friendly name of the secret.

    + */ + inline const Aws::String& GetName() const{ return m_name; } + + /** + *

    The friendly name of the secret.

    + */ + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + + /** + *

    The friendly name of the secret.

    + */ + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + + /** + *

    The friendly name of the secret.

    + */ + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + + /** + *

    The friendly name of the secret.

    + */ + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + + /** + *

    The friendly name of the secret.

    + */ + inline SecretValueEntry& WithName(const Aws::String& value) { SetName(value); return *this;} + + /** + *

    The friendly name of the secret.

    + */ + inline SecretValueEntry& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + + /** + *

    The friendly name of the secret.

    + */ + inline SecretValueEntry& WithName(const char* value) { SetName(value); return *this;} + + + /** + *

    The unique version identifier of this version of the secret.

    + */ + inline const Aws::String& GetVersionId() const{ return m_versionId; } + + /** + *

    The unique version identifier of this version of the secret.

    + */ + inline bool VersionIdHasBeenSet() const { return m_versionIdHasBeenSet; } + + /** + *

    The unique version identifier of this version of the secret.

    + */ + inline void SetVersionId(const Aws::String& value) { m_versionIdHasBeenSet = true; m_versionId = value; } + + /** + *

    The unique version identifier of this version of the secret.

    + */ + inline void SetVersionId(Aws::String&& value) { m_versionIdHasBeenSet = true; m_versionId = std::move(value); } + + /** + *

    The unique version identifier of this version of the secret.

    + */ + inline void SetVersionId(const char* value) { m_versionIdHasBeenSet = true; m_versionId.assign(value); } + + /** + *

    The unique version identifier of this version of the secret.

    + */ + inline SecretValueEntry& WithVersionId(const Aws::String& value) { SetVersionId(value); return *this;} + + /** + *

    The unique version identifier of this version of the secret.

    + */ + inline SecretValueEntry& WithVersionId(Aws::String&& value) { SetVersionId(std::move(value)); return *this;} + + /** + *

    The unique version identifier of this version of the secret.

    + */ + inline SecretValueEntry& WithVersionId(const char* value) { SetVersionId(value); return *this;} + + + /** + *

    The decrypted secret value, if the secret value was originally provided as + * binary data in the form of a byte array. The parameter represents the binary + * data as a base64-encoded + * string.

    + */ + inline const Aws::Utils::CryptoBuffer& GetSecretBinary() const{ return m_secretBinary; } + + /** + *

    The decrypted secret value, if the secret value was originally provided as + * binary data in the form of a byte array. The parameter represents the binary + * data as a base64-encoded + * string.

    + */ + inline bool SecretBinaryHasBeenSet() const { return m_secretBinaryHasBeenSet; } + + /** + *

    The decrypted secret value, if the secret value was originally provided as + * binary data in the form of a byte array. The parameter represents the binary + * data as a base64-encoded + * string.

    + */ + inline void SetSecretBinary(const Aws::Utils::CryptoBuffer& value) { m_secretBinaryHasBeenSet = true; m_secretBinary = value; } + + /** + *

    The decrypted secret value, if the secret value was originally provided as + * binary data in the form of a byte array. The parameter represents the binary + * data as a base64-encoded + * string.

    + */ + inline void SetSecretBinary(Aws::Utils::CryptoBuffer&& value) { m_secretBinaryHasBeenSet = true; m_secretBinary = std::move(value); } + + /** + *

    The decrypted secret value, if the secret value was originally provided as + * binary data in the form of a byte array. The parameter represents the binary + * data as a base64-encoded + * string.

    + */ + inline SecretValueEntry& WithSecretBinary(const Aws::Utils::CryptoBuffer& value) { SetSecretBinary(value); return *this;} + + /** + *

    The decrypted secret value, if the secret value was originally provided as + * binary data in the form of a byte array. The parameter represents the binary + * data as a base64-encoded + * string.

    + */ + inline SecretValueEntry& WithSecretBinary(Aws::Utils::CryptoBuffer&& value) { SetSecretBinary(std::move(value)); return *this;} + + + /** + *

    The decrypted secret value, if the secret value was originally provided as a + * string or through the Secrets Manager console.

    + */ + inline const Aws::String& GetSecretString() const{ return m_secretString; } + + /** + *

    The decrypted secret value, if the secret value was originally provided as a + * string or through the Secrets Manager console.

    + */ + inline bool SecretStringHasBeenSet() const { return m_secretStringHasBeenSet; } + + /** + *

    The decrypted secret value, if the secret value was originally provided as a + * string or through the Secrets Manager console.

    + */ + inline void SetSecretString(const Aws::String& value) { m_secretStringHasBeenSet = true; m_secretString = value; } + + /** + *

    The decrypted secret value, if the secret value was originally provided as a + * string or through the Secrets Manager console.

    + */ + inline void SetSecretString(Aws::String&& value) { m_secretStringHasBeenSet = true; m_secretString = std::move(value); } + + /** + *

    The decrypted secret value, if the secret value was originally provided as a + * string or through the Secrets Manager console.

    + */ + inline void SetSecretString(const char* value) { m_secretStringHasBeenSet = true; m_secretString.assign(value); } + + /** + *

    The decrypted secret value, if the secret value was originally provided as a + * string or through the Secrets Manager console.

    + */ + inline SecretValueEntry& WithSecretString(const Aws::String& value) { SetSecretString(value); return *this;} + + /** + *

    The decrypted secret value, if the secret value was originally provided as a + * string or through the Secrets Manager console.

    + */ + inline SecretValueEntry& WithSecretString(Aws::String&& value) { SetSecretString(std::move(value)); return *this;} + + /** + *

    The decrypted secret value, if the secret value was originally provided as a + * string or through the Secrets Manager console.

    + */ + inline SecretValueEntry& WithSecretString(const char* value) { SetSecretString(value); return *this;} + + + /** + *

    A list of all of the staging labels currently attached to this version of the + * secret.

    + */ + inline const Aws::Vector& GetVersionStages() const{ return m_versionStages; } + + /** + *

    A list of all of the staging labels currently attached to this version of the + * secret.

    + */ + inline bool VersionStagesHasBeenSet() const { return m_versionStagesHasBeenSet; } + + /** + *

    A list of all of the staging labels currently attached to this version of the + * secret.

    + */ + inline void SetVersionStages(const Aws::Vector& value) { m_versionStagesHasBeenSet = true; m_versionStages = value; } + + /** + *

    A list of all of the staging labels currently attached to this version of the + * secret.

    + */ + inline void SetVersionStages(Aws::Vector&& value) { m_versionStagesHasBeenSet = true; m_versionStages = std::move(value); } + + /** + *

    A list of all of the staging labels currently attached to this version of the + * secret.

    + */ + inline SecretValueEntry& WithVersionStages(const Aws::Vector& value) { SetVersionStages(value); return *this;} + + /** + *

    A list of all of the staging labels currently attached to this version of the + * secret.

    + */ + inline SecretValueEntry& WithVersionStages(Aws::Vector&& value) { SetVersionStages(std::move(value)); return *this;} + + /** + *

    A list of all of the staging labels currently attached to this version of the + * secret.

    + */ + inline SecretValueEntry& AddVersionStages(const Aws::String& value) { m_versionStagesHasBeenSet = true; m_versionStages.push_back(value); return *this; } + + /** + *

    A list of all of the staging labels currently attached to this version of the + * secret.

    + */ + inline SecretValueEntry& AddVersionStages(Aws::String&& value) { m_versionStagesHasBeenSet = true; m_versionStages.push_back(std::move(value)); return *this; } + + /** + *

    A list of all of the staging labels currently attached to this version of the + * secret.

    + */ + inline SecretValueEntry& AddVersionStages(const char* value) { m_versionStagesHasBeenSet = true; m_versionStages.push_back(value); return *this; } + + + /** + *

    The date the secret was created.

    + */ + inline const Aws::Utils::DateTime& GetCreatedDate() const{ return m_createdDate; } + + /** + *

    The date the secret was created.

    + */ + inline bool CreatedDateHasBeenSet() const { return m_createdDateHasBeenSet; } + + /** + *

    The date the secret was created.

    + */ + inline void SetCreatedDate(const Aws::Utils::DateTime& value) { m_createdDateHasBeenSet = true; m_createdDate = value; } + + /** + *

    The date the secret was created.

    + */ + inline void SetCreatedDate(Aws::Utils::DateTime&& value) { m_createdDateHasBeenSet = true; m_createdDate = std::move(value); } + + /** + *

    The date the secret was created.

    + */ + inline SecretValueEntry& WithCreatedDate(const Aws::Utils::DateTime& value) { SetCreatedDate(value); return *this;} + + /** + *

    The date the secret was created.

    + */ + inline SecretValueEntry& WithCreatedDate(Aws::Utils::DateTime&& value) { SetCreatedDate(std::move(value)); return *this;} + + private: + + Aws::String m_aRN; + bool m_aRNHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::String m_versionId; + bool m_versionIdHasBeenSet = false; + + Aws::Utils::CryptoBuffer m_secretBinary; + bool m_secretBinaryHasBeenSet = false; + + Aws::String m_secretString; + bool m_secretStringHasBeenSet = false; + + Aws::Vector m_versionStages; + bool m_versionStagesHasBeenSet = false; + + Aws::Utils::DateTime m_createdDate; + bool m_createdDateHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecretsManager +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-secretsmanager/source/SecretsManagerClient.cpp b/generated/src/aws-cpp-sdk-secretsmanager/source/SecretsManagerClient.cpp index 38fe194e5d9..cfdbb0fb3d3 100644 --- a/generated/src/aws-cpp-sdk-secretsmanager/source/SecretsManagerClient.cpp +++ b/generated/src/aws-cpp-sdk-secretsmanager/source/SecretsManagerClient.cpp @@ -21,6 +21,7 @@ #include #include #include +#include #include #include #include @@ -176,6 +177,32 @@ void SecretsManagerClient::OverrideEndpoint(const Aws::String& endpoint) m_endpointProvider->OverrideEndpoint(endpoint); } +BatchGetSecretValueOutcome SecretsManagerClient::BatchGetSecretValue(const BatchGetSecretValueRequest& request) const +{ + AWS_OPERATION_GUARD(BatchGetSecretValue); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, BatchGetSecretValue, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, BatchGetSecretValue, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, BatchGetSecretValue, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".BatchGetSecretValue", + {{ 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( + [&]()-> BatchGetSecretValueOutcome { + 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, BatchGetSecretValue, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return BatchGetSecretValueOutcome(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()}}); +} + CancelRotateSecretOutcome SecretsManagerClient::CancelRotateSecret(const CancelRotateSecretRequest& request) const { AWS_OPERATION_GUARD(CancelRotateSecret); diff --git a/generated/src/aws-cpp-sdk-secretsmanager/source/model/APIErrorType.cpp b/generated/src/aws-cpp-sdk-secretsmanager/source/model/APIErrorType.cpp new file mode 100644 index 00000000000..5f7813e045e --- /dev/null +++ b/generated/src/aws-cpp-sdk-secretsmanager/source/model/APIErrorType.cpp @@ -0,0 +1,89 @@ +/** + * 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 SecretsManager +{ +namespace Model +{ + +APIErrorType::APIErrorType() : + m_secretIdHasBeenSet(false), + m_errorCodeHasBeenSet(false), + m_messageHasBeenSet(false) +{ +} + +APIErrorType::APIErrorType(JsonView jsonValue) : + m_secretIdHasBeenSet(false), + m_errorCodeHasBeenSet(false), + m_messageHasBeenSet(false) +{ + *this = jsonValue; +} + +APIErrorType& APIErrorType::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("SecretId")) + { + m_secretId = jsonValue.GetString("SecretId"); + + m_secretIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("ErrorCode")) + { + m_errorCode = jsonValue.GetString("ErrorCode"); + + m_errorCodeHasBeenSet = true; + } + + if(jsonValue.ValueExists("Message")) + { + m_message = jsonValue.GetString("Message"); + + m_messageHasBeenSet = true; + } + + return *this; +} + +JsonValue APIErrorType::Jsonize() const +{ + JsonValue payload; + + if(m_secretIdHasBeenSet) + { + payload.WithString("SecretId", m_secretId); + + } + + if(m_errorCodeHasBeenSet) + { + payload.WithString("ErrorCode", m_errorCode); + + } + + if(m_messageHasBeenSet) + { + payload.WithString("Message", m_message); + + } + + return payload; +} + +} // namespace Model +} // namespace SecretsManager +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-secretsmanager/source/model/BatchGetSecretValueRequest.cpp b/generated/src/aws-cpp-sdk-secretsmanager/source/model/BatchGetSecretValueRequest.cpp new file mode 100644 index 00000000000..305816de2c1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-secretsmanager/source/model/BatchGetSecretValueRequest.cpp @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::SecretsManager::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +BatchGetSecretValueRequest::BatchGetSecretValueRequest() : + m_secretIdListHasBeenSet(false), + m_filtersHasBeenSet(false), + m_maxResults(0), + m_maxResultsHasBeenSet(false), + m_nextTokenHasBeenSet(false) +{ +} + +Aws::String BatchGetSecretValueRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_secretIdListHasBeenSet) + { + Aws::Utils::Array secretIdListJsonList(m_secretIdList.size()); + for(unsigned secretIdListIndex = 0; secretIdListIndex < secretIdListJsonList.GetLength(); ++secretIdListIndex) + { + secretIdListJsonList[secretIdListIndex].AsString(m_secretIdList[secretIdListIndex]); + } + payload.WithArray("SecretIdList", std::move(secretIdListJsonList)); + + } + + if(m_filtersHasBeenSet) + { + Aws::Utils::Array filtersJsonList(m_filters.size()); + for(unsigned filtersIndex = 0; filtersIndex < filtersJsonList.GetLength(); ++filtersIndex) + { + filtersJsonList[filtersIndex].AsObject(m_filters[filtersIndex].Jsonize()); + } + payload.WithArray("Filters", std::move(filtersJsonList)); + + } + + if(m_maxResultsHasBeenSet) + { + payload.WithInteger("MaxResults", m_maxResults); + + } + + if(m_nextTokenHasBeenSet) + { + payload.WithString("NextToken", m_nextToken); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection BatchGetSecretValueRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "secretsmanager.BatchGetSecretValue")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-secretsmanager/source/model/BatchGetSecretValueResult.cpp b/generated/src/aws-cpp-sdk-secretsmanager/source/model/BatchGetSecretValueResult.cpp new file mode 100644 index 00000000000..29566b8c6fd --- /dev/null +++ b/generated/src/aws-cpp-sdk-secretsmanager/source/model/BatchGetSecretValueResult.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::SecretsManager::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +BatchGetSecretValueResult::BatchGetSecretValueResult() +{ +} + +BatchGetSecretValueResult::BatchGetSecretValueResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +BatchGetSecretValueResult& BatchGetSecretValueResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("SecretValues")) + { + Aws::Utils::Array secretValuesJsonList = jsonValue.GetArray("SecretValues"); + for(unsigned secretValuesIndex = 0; secretValuesIndex < secretValuesJsonList.GetLength(); ++secretValuesIndex) + { + m_secretValues.push_back(secretValuesJsonList[secretValuesIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("NextToken")) + { + m_nextToken = jsonValue.GetString("NextToken"); + + } + + if(jsonValue.ValueExists("Errors")) + { + Aws::Utils::Array errorsJsonList = jsonValue.GetArray("Errors"); + for(unsigned errorsIndex = 0; errorsIndex < errorsJsonList.GetLength(); ++errorsIndex) + { + m_errors.push_back(errorsJsonList[errorsIndex].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-secretsmanager/source/model/SecretValueEntry.cpp b/generated/src/aws-cpp-sdk-secretsmanager/source/model/SecretValueEntry.cpp new file mode 100644 index 00000000000..4ba9113976a --- /dev/null +++ b/generated/src/aws-cpp-sdk-secretsmanager/source/model/SecretValueEntry.cpp @@ -0,0 +1,155 @@ +/** + * 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 SecretsManager +{ +namespace Model +{ + +SecretValueEntry::SecretValueEntry() : + m_aRNHasBeenSet(false), + m_nameHasBeenSet(false), + m_versionIdHasBeenSet(false), + m_secretBinaryHasBeenSet(false), + m_secretStringHasBeenSet(false), + m_versionStagesHasBeenSet(false), + m_createdDateHasBeenSet(false) +{ +} + +SecretValueEntry::SecretValueEntry(JsonView jsonValue) : + m_aRNHasBeenSet(false), + m_nameHasBeenSet(false), + m_versionIdHasBeenSet(false), + m_secretBinaryHasBeenSet(false), + m_secretStringHasBeenSet(false), + m_versionStagesHasBeenSet(false), + m_createdDateHasBeenSet(false) +{ + *this = jsonValue; +} + +SecretValueEntry& SecretValueEntry::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("ARN")) + { + m_aRN = jsonValue.GetString("ARN"); + + m_aRNHasBeenSet = true; + } + + if(jsonValue.ValueExists("Name")) + { + m_name = jsonValue.GetString("Name"); + + m_nameHasBeenSet = true; + } + + if(jsonValue.ValueExists("VersionId")) + { + m_versionId = jsonValue.GetString("VersionId"); + + m_versionIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("SecretBinary")) + { + m_secretBinary = HashingUtils::Base64Decode(jsonValue.GetString("SecretBinary")); + m_secretBinaryHasBeenSet = true; + } + + if(jsonValue.ValueExists("SecretString")) + { + m_secretString = jsonValue.GetString("SecretString"); + + m_secretStringHasBeenSet = true; + } + + if(jsonValue.ValueExists("VersionStages")) + { + Aws::Utils::Array versionStagesJsonList = jsonValue.GetArray("VersionStages"); + for(unsigned versionStagesIndex = 0; versionStagesIndex < versionStagesJsonList.GetLength(); ++versionStagesIndex) + { + m_versionStages.push_back(versionStagesJsonList[versionStagesIndex].AsString()); + } + m_versionStagesHasBeenSet = true; + } + + if(jsonValue.ValueExists("CreatedDate")) + { + m_createdDate = jsonValue.GetDouble("CreatedDate"); + + m_createdDateHasBeenSet = true; + } + + return *this; +} + +JsonValue SecretValueEntry::Jsonize() const +{ + JsonValue payload; + + if(m_aRNHasBeenSet) + { + payload.WithString("ARN", m_aRN); + + } + + if(m_nameHasBeenSet) + { + payload.WithString("Name", m_name); + + } + + if(m_versionIdHasBeenSet) + { + payload.WithString("VersionId", m_versionId); + + } + + if(m_secretBinaryHasBeenSet) + { + payload.WithString("SecretBinary", HashingUtils::Base64Encode(m_secretBinary)); + } + + if(m_secretStringHasBeenSet) + { + payload.WithString("SecretString", m_secretString); + + } + + if(m_versionStagesHasBeenSet) + { + Aws::Utils::Array versionStagesJsonList(m_versionStages.size()); + for(unsigned versionStagesIndex = 0; versionStagesIndex < versionStagesJsonList.GetLength(); ++versionStagesIndex) + { + versionStagesJsonList[versionStagesIndex].AsString(m_versionStages[versionStagesIndex]); + } + payload.WithArray("VersionStages", std::move(versionStagesJsonList)); + + } + + if(m_createdDateHasBeenSet) + { + payload.WithDouble("CreatedDate", m_createdDate.SecondsWithMSPrecision()); + } + + return payload; +} + +} // namespace Model +} // namespace SecretsManager +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/SecurityHubClient.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/SecurityHubClient.h index 22e05529fd5..654c097519f 100644 --- a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/SecurityHubClient.h +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/SecurityHubClient.h @@ -1428,6 +1428,33 @@ namespace SecurityHub return SubmitAsync(&SecurityHubClient::GetMembers, request, handler, context); } + /** + *

    Retrieves the definition of a security control. The definition includes the + * control title, description, Region availability, parameter definitions, and + * other details.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::GetSecurityControlDefinitionOutcome GetSecurityControlDefinition(const Model::GetSecurityControlDefinitionRequest& request) const; + + /** + * A Callable wrapper for GetSecurityControlDefinition that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetSecurityControlDefinitionOutcomeCallable GetSecurityControlDefinitionCallable(const GetSecurityControlDefinitionRequestT& request) const + { + return SubmitCallable(&SecurityHubClient::GetSecurityControlDefinition, request); + } + + /** + * An Async wrapper for GetSecurityControlDefinition that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetSecurityControlDefinitionAsync(const GetSecurityControlDefinitionRequestT& request, const GetSecurityControlDefinitionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&SecurityHubClient::GetSecurityControlDefinition, request, handler, context); + } + /** *

    Invites other Amazon Web Services accounts to become member accounts for the * Security Hub administrator account that the invitation is sent from.

    This @@ -1887,6 +1914,31 @@ namespace SecurityHub return SubmitAsync(&SecurityHubClient::UpdateOrganizationConfiguration, request, handler, context); } + /** + *

    Updates the properties of a security control.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::UpdateSecurityControlOutcome UpdateSecurityControl(const Model::UpdateSecurityControlRequest& request) const; + + /** + * A Callable wrapper for UpdateSecurityControl that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::UpdateSecurityControlOutcomeCallable UpdateSecurityControlCallable(const UpdateSecurityControlRequestT& request) const + { + return SubmitCallable(&SecurityHubClient::UpdateSecurityControl, request); + } + + /** + * An Async wrapper for UpdateSecurityControl that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void UpdateSecurityControlAsync(const UpdateSecurityControlRequestT& request, const UpdateSecurityControlResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&SecurityHubClient::UpdateSecurityControl, request, handler, context); + } + /** *

    Updates configuration options for Security Hub.

    See Also:

    AWS diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/SecurityHubErrors.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/SecurityHubErrors.h index 94e33e21999..2fa76286913 100644 --- a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/SecurityHubErrors.h +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/SecurityHubErrors.h @@ -51,7 +51,8 @@ enum class SecurityHubErrors INVALID_ACCESS, INVALID_INPUT, LIMIT_EXCEEDED, - RESOURCE_CONFLICT + RESOURCE_CONFLICT, + RESOURCE_IN_USE }; class AWS_SECURITYHUB_API SecurityHubError : public Aws::Client::AWSError diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/SecurityHubServiceClientModel.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/SecurityHubServiceClientModel.h index 072ab6db959..9d47a99f4ee 100644 --- a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/SecurityHubServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/SecurityHubServiceClientModel.h @@ -63,6 +63,7 @@ #include #include #include +#include #include #include #include @@ -80,6 +81,7 @@ #include #include #include +#include #include #include /* End of service model headers required in SecurityHubClient header */ @@ -167,6 +169,7 @@ namespace Aws class GetInsightsRequest; class GetInvitationsCountRequest; class GetMembersRequest; + class GetSecurityControlDefinitionRequest; class InviteMembersRequest; class ListAutomationRulesRequest; class ListEnabledProductsForImportRequest; @@ -184,6 +187,7 @@ namespace Aws class UpdateFindingsRequest; class UpdateInsightRequest; class UpdateOrganizationConfigurationRequest; + class UpdateSecurityControlRequest; class UpdateSecurityHubConfigurationRequest; class UpdateStandardsControlRequest; /* End of service model forward declarations required in SecurityHubClient header */ @@ -234,6 +238,7 @@ namespace Aws typedef Aws::Utils::Outcome GetInsightsOutcome; typedef Aws::Utils::Outcome GetInvitationsCountOutcome; typedef Aws::Utils::Outcome GetMembersOutcome; + typedef Aws::Utils::Outcome GetSecurityControlDefinitionOutcome; typedef Aws::Utils::Outcome InviteMembersOutcome; typedef Aws::Utils::Outcome ListAutomationRulesOutcome; typedef Aws::Utils::Outcome ListEnabledProductsForImportOutcome; @@ -251,6 +256,7 @@ namespace Aws typedef Aws::Utils::Outcome UpdateFindingsOutcome; typedef Aws::Utils::Outcome UpdateInsightOutcome; typedef Aws::Utils::Outcome UpdateOrganizationConfigurationOutcome; + typedef Aws::Utils::Outcome UpdateSecurityControlOutcome; typedef Aws::Utils::Outcome UpdateSecurityHubConfigurationOutcome; typedef Aws::Utils::Outcome UpdateStandardsControlOutcome; /* End of service model Outcome class definitions */ @@ -301,6 +307,7 @@ namespace Aws typedef std::future GetInsightsOutcomeCallable; typedef std::future GetInvitationsCountOutcomeCallable; typedef std::future GetMembersOutcomeCallable; + typedef std::future GetSecurityControlDefinitionOutcomeCallable; typedef std::future InviteMembersOutcomeCallable; typedef std::future ListAutomationRulesOutcomeCallable; typedef std::future ListEnabledProductsForImportOutcomeCallable; @@ -318,6 +325,7 @@ namespace Aws typedef std::future UpdateFindingsOutcomeCallable; typedef std::future UpdateInsightOutcomeCallable; typedef std::future UpdateOrganizationConfigurationOutcomeCallable; + typedef std::future UpdateSecurityControlOutcomeCallable; typedef std::future UpdateSecurityHubConfigurationOutcomeCallable; typedef std::future UpdateStandardsControlOutcomeCallable; /* End of service model Outcome callable definitions */ @@ -371,6 +379,7 @@ namespace Aws typedef std::function&) > GetInsightsResponseReceivedHandler; typedef std::function&) > GetInvitationsCountResponseReceivedHandler; typedef std::function&) > GetMembersResponseReceivedHandler; + typedef std::function&) > GetSecurityControlDefinitionResponseReceivedHandler; typedef std::function&) > InviteMembersResponseReceivedHandler; typedef std::function&) > ListAutomationRulesResponseReceivedHandler; typedef std::function&) > ListEnabledProductsForImportResponseReceivedHandler; @@ -388,6 +397,7 @@ namespace Aws typedef std::function&) > UpdateFindingsResponseReceivedHandler; typedef std::function&) > UpdateInsightResponseReceivedHandler; typedef std::function&) > UpdateOrganizationConfigurationResponseReceivedHandler; + typedef std::function&) > UpdateSecurityControlResponseReceivedHandler; typedef std::function&) > UpdateSecurityHubConfigurationResponseReceivedHandler; typedef std::function&) > UpdateStandardsControlResponseReceivedHandler; /* End of service model async handlers definitions */ diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/AwsCloudFrontDistributionOriginItem.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/AwsCloudFrontDistributionOriginItem.h index 01b52774089..fbb1103d93e 100644 --- a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/AwsCloudFrontDistributionOriginItem.h +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/AwsCloudFrontDistributionOriginItem.h @@ -27,8 +27,8 @@ namespace Model /** *

    A complex type that describes the Amazon S3 bucket, HTTP server (for example, - * a web server), AWS Elemental MediaStore, or other server from which CloudFront - * gets your files.

    See Also:

    See Also:

    AWS * API Reference

    */ diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/AwsSecurityFindingFilters.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/AwsSecurityFindingFilters.h index 5a180f608d3..e7780190a31 100644 --- a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/AwsSecurityFindingFilters.h +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/AwsSecurityFindingFilters.h @@ -30,11 +30,9 @@ namespace Model { /** - *

    A collection of attributes that are applied to all active Security - * Hub-aggregated findings and that result in a subset of findings that are - * included in this insight.

    You can filter by up to 10 finding attributes. - * For each attribute, you can provide up to 20 filter values.

    See - * Also:

    A collection of filters that are applied to all active findings aggregated by + * Security Hub.

    You can filter by up to ten finding attributes. For each + * attribute, you can provide up to 20 filter values.

    See Also:

    AWS * API Reference

    */ @@ -4779,6 +4777,202 @@ namespace Model */ inline AwsSecurityFindingFilters& AddComplianceAssociatedStandardsId(StringFilter&& value) { m_complianceAssociatedStandardsIdHasBeenSet = true; m_complianceAssociatedStandardsId.push_back(std::move(value)); return *this; } + + /** + *

    Indicates whether a software vulnerability in your environment has a known + * exploit. You can filter findings by this field only if you use Security Hub and + * Amazon Inspector.

    + */ + inline const Aws::Vector& GetVulnerabilitiesExploitAvailable() const{ return m_vulnerabilitiesExploitAvailable; } + + /** + *

    Indicates whether a software vulnerability in your environment has a known + * exploit. You can filter findings by this field only if you use Security Hub and + * Amazon Inspector.

    + */ + inline bool VulnerabilitiesExploitAvailableHasBeenSet() const { return m_vulnerabilitiesExploitAvailableHasBeenSet; } + + /** + *

    Indicates whether a software vulnerability in your environment has a known + * exploit. You can filter findings by this field only if you use Security Hub and + * Amazon Inspector.

    + */ + inline void SetVulnerabilitiesExploitAvailable(const Aws::Vector& value) { m_vulnerabilitiesExploitAvailableHasBeenSet = true; m_vulnerabilitiesExploitAvailable = value; } + + /** + *

    Indicates whether a software vulnerability in your environment has a known + * exploit. You can filter findings by this field only if you use Security Hub and + * Amazon Inspector.

    + */ + inline void SetVulnerabilitiesExploitAvailable(Aws::Vector&& value) { m_vulnerabilitiesExploitAvailableHasBeenSet = true; m_vulnerabilitiesExploitAvailable = std::move(value); } + + /** + *

    Indicates whether a software vulnerability in your environment has a known + * exploit. You can filter findings by this field only if you use Security Hub and + * Amazon Inspector.

    + */ + inline AwsSecurityFindingFilters& WithVulnerabilitiesExploitAvailable(const Aws::Vector& value) { SetVulnerabilitiesExploitAvailable(value); return *this;} + + /** + *

    Indicates whether a software vulnerability in your environment has a known + * exploit. You can filter findings by this field only if you use Security Hub and + * Amazon Inspector.

    + */ + inline AwsSecurityFindingFilters& WithVulnerabilitiesExploitAvailable(Aws::Vector&& value) { SetVulnerabilitiesExploitAvailable(std::move(value)); return *this;} + + /** + *

    Indicates whether a software vulnerability in your environment has a known + * exploit. You can filter findings by this field only if you use Security Hub and + * Amazon Inspector.

    + */ + inline AwsSecurityFindingFilters& AddVulnerabilitiesExploitAvailable(const StringFilter& value) { m_vulnerabilitiesExploitAvailableHasBeenSet = true; m_vulnerabilitiesExploitAvailable.push_back(value); return *this; } + + /** + *

    Indicates whether a software vulnerability in your environment has a known + * exploit. You can filter findings by this field only if you use Security Hub and + * Amazon Inspector.

    + */ + inline AwsSecurityFindingFilters& AddVulnerabilitiesExploitAvailable(StringFilter&& value) { m_vulnerabilitiesExploitAvailableHasBeenSet = true; m_vulnerabilitiesExploitAvailable.push_back(std::move(value)); return *this; } + + + /** + *

    Indicates whether a vulnerability is fixed in a newer version of the + * affected software packages. You can filter findings by this field only if you + * use Security Hub and Amazon Inspector.

    + */ + inline const Aws::Vector& GetVulnerabilitiesFixAvailable() const{ return m_vulnerabilitiesFixAvailable; } + + /** + *

    Indicates whether a vulnerability is fixed in a newer version of the + * affected software packages. You can filter findings by this field only if you + * use Security Hub and Amazon Inspector.

    + */ + inline bool VulnerabilitiesFixAvailableHasBeenSet() const { return m_vulnerabilitiesFixAvailableHasBeenSet; } + + /** + *

    Indicates whether a vulnerability is fixed in a newer version of the + * affected software packages. You can filter findings by this field only if you + * use Security Hub and Amazon Inspector.

    + */ + inline void SetVulnerabilitiesFixAvailable(const Aws::Vector& value) { m_vulnerabilitiesFixAvailableHasBeenSet = true; m_vulnerabilitiesFixAvailable = value; } + + /** + *

    Indicates whether a vulnerability is fixed in a newer version of the + * affected software packages. You can filter findings by this field only if you + * use Security Hub and Amazon Inspector.

    + */ + inline void SetVulnerabilitiesFixAvailable(Aws::Vector&& value) { m_vulnerabilitiesFixAvailableHasBeenSet = true; m_vulnerabilitiesFixAvailable = std::move(value); } + + /** + *

    Indicates whether a vulnerability is fixed in a newer version of the + * affected software packages. You can filter findings by this field only if you + * use Security Hub and Amazon Inspector.

    + */ + inline AwsSecurityFindingFilters& WithVulnerabilitiesFixAvailable(const Aws::Vector& value) { SetVulnerabilitiesFixAvailable(value); return *this;} + + /** + *

    Indicates whether a vulnerability is fixed in a newer version of the + * affected software packages. You can filter findings by this field only if you + * use Security Hub and Amazon Inspector.

    + */ + inline AwsSecurityFindingFilters& WithVulnerabilitiesFixAvailable(Aws::Vector&& value) { SetVulnerabilitiesFixAvailable(std::move(value)); return *this;} + + /** + *

    Indicates whether a vulnerability is fixed in a newer version of the + * affected software packages. You can filter findings by this field only if you + * use Security Hub and Amazon Inspector.

    + */ + inline AwsSecurityFindingFilters& AddVulnerabilitiesFixAvailable(const StringFilter& value) { m_vulnerabilitiesFixAvailableHasBeenSet = true; m_vulnerabilitiesFixAvailable.push_back(value); return *this; } + + /** + *

    Indicates whether a vulnerability is fixed in a newer version of the + * affected software packages. You can filter findings by this field only if you + * use Security Hub and Amazon Inspector.

    + */ + inline AwsSecurityFindingFilters& AddVulnerabilitiesFixAvailable(StringFilter&& value) { m_vulnerabilitiesFixAvailableHasBeenSet = true; m_vulnerabilitiesFixAvailable.push_back(std::move(value)); return *this; } + + + /** + *

    The name of a security control parameter.

    + */ + inline const Aws::Vector& GetComplianceSecurityControlParametersName() const{ return m_complianceSecurityControlParametersName; } + + /** + *

    The name of a security control parameter.

    + */ + inline bool ComplianceSecurityControlParametersNameHasBeenSet() const { return m_complianceSecurityControlParametersNameHasBeenSet; } + + /** + *

    The name of a security control parameter.

    + */ + inline void SetComplianceSecurityControlParametersName(const Aws::Vector& value) { m_complianceSecurityControlParametersNameHasBeenSet = true; m_complianceSecurityControlParametersName = value; } + + /** + *

    The name of a security control parameter.

    + */ + inline void SetComplianceSecurityControlParametersName(Aws::Vector&& value) { m_complianceSecurityControlParametersNameHasBeenSet = true; m_complianceSecurityControlParametersName = std::move(value); } + + /** + *

    The name of a security control parameter.

    + */ + inline AwsSecurityFindingFilters& WithComplianceSecurityControlParametersName(const Aws::Vector& value) { SetComplianceSecurityControlParametersName(value); return *this;} + + /** + *

    The name of a security control parameter.

    + */ + inline AwsSecurityFindingFilters& WithComplianceSecurityControlParametersName(Aws::Vector&& value) { SetComplianceSecurityControlParametersName(std::move(value)); return *this;} + + /** + *

    The name of a security control parameter.

    + */ + inline AwsSecurityFindingFilters& AddComplianceSecurityControlParametersName(const StringFilter& value) { m_complianceSecurityControlParametersNameHasBeenSet = true; m_complianceSecurityControlParametersName.push_back(value); return *this; } + + /** + *

    The name of a security control parameter.

    + */ + inline AwsSecurityFindingFilters& AddComplianceSecurityControlParametersName(StringFilter&& value) { m_complianceSecurityControlParametersNameHasBeenSet = true; m_complianceSecurityControlParametersName.push_back(std::move(value)); return *this; } + + + /** + *

    The current value of a security control parameter.

    + */ + inline const Aws::Vector& GetComplianceSecurityControlParametersValue() const{ return m_complianceSecurityControlParametersValue; } + + /** + *

    The current value of a security control parameter.

    + */ + inline bool ComplianceSecurityControlParametersValueHasBeenSet() const { return m_complianceSecurityControlParametersValueHasBeenSet; } + + /** + *

    The current value of a security control parameter.

    + */ + inline void SetComplianceSecurityControlParametersValue(const Aws::Vector& value) { m_complianceSecurityControlParametersValueHasBeenSet = true; m_complianceSecurityControlParametersValue = value; } + + /** + *

    The current value of a security control parameter.

    + */ + inline void SetComplianceSecurityControlParametersValue(Aws::Vector&& value) { m_complianceSecurityControlParametersValueHasBeenSet = true; m_complianceSecurityControlParametersValue = std::move(value); } + + /** + *

    The current value of a security control parameter.

    + */ + inline AwsSecurityFindingFilters& WithComplianceSecurityControlParametersValue(const Aws::Vector& value) { SetComplianceSecurityControlParametersValue(value); return *this;} + + /** + *

    The current value of a security control parameter.

    + */ + inline AwsSecurityFindingFilters& WithComplianceSecurityControlParametersValue(Aws::Vector&& value) { SetComplianceSecurityControlParametersValue(std::move(value)); return *this;} + + /** + *

    The current value of a security control parameter.

    + */ + inline AwsSecurityFindingFilters& AddComplianceSecurityControlParametersValue(const StringFilter& value) { m_complianceSecurityControlParametersValueHasBeenSet = true; m_complianceSecurityControlParametersValue.push_back(value); return *this; } + + /** + *

    The current value of a security control parameter.

    + */ + inline AwsSecurityFindingFilters& AddComplianceSecurityControlParametersValue(StringFilter&& value) { m_complianceSecurityControlParametersValueHasBeenSet = true; m_complianceSecurityControlParametersValue.push_back(std::move(value)); return *this; } + private: Aws::Vector m_productArn; @@ -5059,6 +5253,18 @@ namespace Model Aws::Vector m_complianceAssociatedStandardsId; bool m_complianceAssociatedStandardsIdHasBeenSet = false; + + Aws::Vector m_vulnerabilitiesExploitAvailable; + bool m_vulnerabilitiesExploitAvailableHasBeenSet = false; + + Aws::Vector m_vulnerabilitiesFixAvailable; + bool m_vulnerabilitiesFixAvailableHasBeenSet = false; + + Aws::Vector m_complianceSecurityControlParametersName; + bool m_complianceSecurityControlParametersNameHasBeenSet = false; + + Aws::Vector m_complianceSecurityControlParametersValue; + bool m_complianceSecurityControlParametersValueHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/BooleanConfigurationOptions.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/BooleanConfigurationOptions.h new file mode 100644 index 00000000000..8b7f2c453dd --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/BooleanConfigurationOptions.h @@ -0,0 +1,68 @@ +/** + * 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 SecurityHub +{ +namespace Model +{ + + /** + *

    The options for customizing a security control parameter with a boolean. For + * a boolean parameter, the options are true and false. + *

    See Also:

    AWS + * API Reference

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

    The Security Hub default value for a boolean parameter.

    + */ + inline bool GetDefaultValue() const{ return m_defaultValue; } + + /** + *

    The Security Hub default value for a boolean parameter.

    + */ + inline bool DefaultValueHasBeenSet() const { return m_defaultValueHasBeenSet; } + + /** + *

    The Security Hub default value for a boolean parameter.

    + */ + inline void SetDefaultValue(bool value) { m_defaultValueHasBeenSet = true; m_defaultValue = value; } + + /** + *

    The Security Hub default value for a boolean parameter.

    + */ + inline BooleanConfigurationOptions& WithDefaultValue(bool value) { SetDefaultValue(value); return *this;} + + private: + + bool m_defaultValue; + bool m_defaultValueHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/Compliance.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/Compliance.h index 6fe0a96b896..e102b76d04f 100644 --- a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/Compliance.h +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/Compliance.h @@ -10,6 +10,7 @@ #include #include #include +#include #include namespace Aws @@ -375,6 +376,47 @@ namespace Model */ inline Compliance& AddAssociatedStandards(AssociatedStandard&& value) { m_associatedStandardsHasBeenSet = true; m_associatedStandards.push_back(std::move(value)); return *this; } + + /** + *

    An object that includes security control parameter names and values.

    + */ + inline const Aws::Vector& GetSecurityControlParameters() const{ return m_securityControlParameters; } + + /** + *

    An object that includes security control parameter names and values.

    + */ + inline bool SecurityControlParametersHasBeenSet() const { return m_securityControlParametersHasBeenSet; } + + /** + *

    An object that includes security control parameter names and values.

    + */ + inline void SetSecurityControlParameters(const Aws::Vector& value) { m_securityControlParametersHasBeenSet = true; m_securityControlParameters = value; } + + /** + *

    An object that includes security control parameter names and values.

    + */ + inline void SetSecurityControlParameters(Aws::Vector&& value) { m_securityControlParametersHasBeenSet = true; m_securityControlParameters = std::move(value); } + + /** + *

    An object that includes security control parameter names and values.

    + */ + inline Compliance& WithSecurityControlParameters(const Aws::Vector& value) { SetSecurityControlParameters(value); return *this;} + + /** + *

    An object that includes security control parameter names and values.

    + */ + inline Compliance& WithSecurityControlParameters(Aws::Vector&& value) { SetSecurityControlParameters(std::move(value)); return *this;} + + /** + *

    An object that includes security control parameter names and values.

    + */ + inline Compliance& AddSecurityControlParameters(const SecurityControlParameter& value) { m_securityControlParametersHasBeenSet = true; m_securityControlParameters.push_back(value); return *this; } + + /** + *

    An object that includes security control parameter names and values.

    + */ + inline Compliance& AddSecurityControlParameters(SecurityControlParameter&& value) { m_securityControlParametersHasBeenSet = true; m_securityControlParameters.push_back(std::move(value)); return *this; } + private: ComplianceStatus m_status; @@ -391,6 +433,9 @@ namespace Model Aws::Vector m_associatedStandards; bool m_associatedStandardsHasBeenSet = false; + + Aws::Vector m_securityControlParameters; + bool m_securityControlParametersHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ConfigurationOptions.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ConfigurationOptions.h new file mode 100644 index 00000000000..5126883846c --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ConfigurationOptions.h @@ -0,0 +1,378 @@ +/** + * 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 SecurityHub +{ +namespace Model +{ + + /** + *

    The options for customizing a security control parameter.

    See + * Also:

    AWS + * API Reference

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

    The options for customizing a security control parameter that is an integer. + *

    + */ + inline const IntegerConfigurationOptions& GetInteger() const{ return m_integer; } + + /** + *

    The options for customizing a security control parameter that is an integer. + *

    + */ + inline bool IntegerHasBeenSet() const { return m_integerHasBeenSet; } + + /** + *

    The options for customizing a security control parameter that is an integer. + *

    + */ + inline void SetInteger(const IntegerConfigurationOptions& value) { m_integerHasBeenSet = true; m_integer = value; } + + /** + *

    The options for customizing a security control parameter that is an integer. + *

    + */ + inline void SetInteger(IntegerConfigurationOptions&& value) { m_integerHasBeenSet = true; m_integer = std::move(value); } + + /** + *

    The options for customizing a security control parameter that is an integer. + *

    + */ + inline ConfigurationOptions& WithInteger(const IntegerConfigurationOptions& value) { SetInteger(value); return *this;} + + /** + *

    The options for customizing a security control parameter that is an integer. + *

    + */ + inline ConfigurationOptions& WithInteger(IntegerConfigurationOptions&& value) { SetInteger(std::move(value)); return *this;} + + + /** + *

    The options for customizing a security control parameter that is a list of + * integers.

    + */ + inline const IntegerListConfigurationOptions& GetIntegerList() const{ return m_integerList; } + + /** + *

    The options for customizing a security control parameter that is a list of + * integers.

    + */ + inline bool IntegerListHasBeenSet() const { return m_integerListHasBeenSet; } + + /** + *

    The options for customizing a security control parameter that is a list of + * integers.

    + */ + inline void SetIntegerList(const IntegerListConfigurationOptions& value) { m_integerListHasBeenSet = true; m_integerList = value; } + + /** + *

    The options for customizing a security control parameter that is a list of + * integers.

    + */ + inline void SetIntegerList(IntegerListConfigurationOptions&& value) { m_integerListHasBeenSet = true; m_integerList = std::move(value); } + + /** + *

    The options for customizing a security control parameter that is a list of + * integers.

    + */ + inline ConfigurationOptions& WithIntegerList(const IntegerListConfigurationOptions& value) { SetIntegerList(value); return *this;} + + /** + *

    The options for customizing a security control parameter that is a list of + * integers.

    + */ + inline ConfigurationOptions& WithIntegerList(IntegerListConfigurationOptions&& value) { SetIntegerList(std::move(value)); return *this;} + + + /** + *

    The options for customizing a security control parameter that is a double. + *

    + */ + inline const DoubleConfigurationOptions& GetDouble() const{ return m_double; } + + /** + *

    The options for customizing a security control parameter that is a double. + *

    + */ + inline bool DoubleHasBeenSet() const { return m_doubleHasBeenSet; } + + /** + *

    The options for customizing a security control parameter that is a double. + *

    + */ + inline void SetDouble(const DoubleConfigurationOptions& value) { m_doubleHasBeenSet = true; m_double = value; } + + /** + *

    The options for customizing a security control parameter that is a double. + *

    + */ + inline void SetDouble(DoubleConfigurationOptions&& value) { m_doubleHasBeenSet = true; m_double = std::move(value); } + + /** + *

    The options for customizing a security control parameter that is a double. + *

    + */ + inline ConfigurationOptions& WithDouble(const DoubleConfigurationOptions& value) { SetDouble(value); return *this;} + + /** + *

    The options for customizing a security control parameter that is a double. + *

    + */ + inline ConfigurationOptions& WithDouble(DoubleConfigurationOptions&& value) { SetDouble(std::move(value)); return *this;} + + + /** + *

    The options for customizing a security control parameter that is a string + * data type.

    + */ + inline const StringConfigurationOptions& GetString() const{ return m_string; } + + /** + *

    The options for customizing a security control parameter that is a string + * data type.

    + */ + inline bool StringHasBeenSet() const { return m_stringHasBeenSet; } + + /** + *

    The options for customizing a security control parameter that is a string + * data type.

    + */ + inline void SetString(const StringConfigurationOptions& value) { m_stringHasBeenSet = true; m_string = value; } + + /** + *

    The options for customizing a security control parameter that is a string + * data type.

    + */ + inline void SetString(StringConfigurationOptions&& value) { m_stringHasBeenSet = true; m_string = std::move(value); } + + /** + *

    The options for customizing a security control parameter that is a string + * data type.

    + */ + inline ConfigurationOptions& WithString(const StringConfigurationOptions& value) { SetString(value); return *this;} + + /** + *

    The options for customizing a security control parameter that is a string + * data type.

    + */ + inline ConfigurationOptions& WithString(StringConfigurationOptions&& value) { SetString(std::move(value)); return *this;} + + + /** + *

    The options for customizing a security control parameter that is a list of + * strings.

    + */ + inline const StringListConfigurationOptions& GetStringList() const{ return m_stringList; } + + /** + *

    The options for customizing a security control parameter that is a list of + * strings.

    + */ + inline bool StringListHasBeenSet() const { return m_stringListHasBeenSet; } + + /** + *

    The options for customizing a security control parameter that is a list of + * strings.

    + */ + inline void SetStringList(const StringListConfigurationOptions& value) { m_stringListHasBeenSet = true; m_stringList = value; } + + /** + *

    The options for customizing a security control parameter that is a list of + * strings.

    + */ + inline void SetStringList(StringListConfigurationOptions&& value) { m_stringListHasBeenSet = true; m_stringList = std::move(value); } + + /** + *

    The options for customizing a security control parameter that is a list of + * strings.

    + */ + inline ConfigurationOptions& WithStringList(const StringListConfigurationOptions& value) { SetStringList(value); return *this;} + + /** + *

    The options for customizing a security control parameter that is a list of + * strings.

    + */ + inline ConfigurationOptions& WithStringList(StringListConfigurationOptions&& value) { SetStringList(std::move(value)); return *this;} + + + /** + *

    The options for customizing a security control parameter that is a boolean. + * For a boolean parameter, the options are true and + * false.

    + */ + inline const BooleanConfigurationOptions& GetBoolean() const{ return m_boolean; } + + /** + *

    The options for customizing a security control parameter that is a boolean. + * For a boolean parameter, the options are true and + * false.

    + */ + inline bool BooleanHasBeenSet() const { return m_booleanHasBeenSet; } + + /** + *

    The options for customizing a security control parameter that is a boolean. + * For a boolean parameter, the options are true and + * false.

    + */ + inline void SetBoolean(const BooleanConfigurationOptions& value) { m_booleanHasBeenSet = true; m_boolean = value; } + + /** + *

    The options for customizing a security control parameter that is a boolean. + * For a boolean parameter, the options are true and + * false.

    + */ + inline void SetBoolean(BooleanConfigurationOptions&& value) { m_booleanHasBeenSet = true; m_boolean = std::move(value); } + + /** + *

    The options for customizing a security control parameter that is a boolean. + * For a boolean parameter, the options are true and + * false.

    + */ + inline ConfigurationOptions& WithBoolean(const BooleanConfigurationOptions& value) { SetBoolean(value); return *this;} + + /** + *

    The options for customizing a security control parameter that is a boolean. + * For a boolean parameter, the options are true and + * false.

    + */ + inline ConfigurationOptions& WithBoolean(BooleanConfigurationOptions&& value) { SetBoolean(std::move(value)); return *this;} + + + /** + *

    The options for customizing a security control parameter that is an enum. + *

    + */ + inline const EnumConfigurationOptions& GetEnum() const{ return m_enum; } + + /** + *

    The options for customizing a security control parameter that is an enum. + *

    + */ + inline bool EnumHasBeenSet() const { return m_enumHasBeenSet; } + + /** + *

    The options for customizing a security control parameter that is an enum. + *

    + */ + inline void SetEnum(const EnumConfigurationOptions& value) { m_enumHasBeenSet = true; m_enum = value; } + + /** + *

    The options for customizing a security control parameter that is an enum. + *

    + */ + inline void SetEnum(EnumConfigurationOptions&& value) { m_enumHasBeenSet = true; m_enum = std::move(value); } + + /** + *

    The options for customizing a security control parameter that is an enum. + *

    + */ + inline ConfigurationOptions& WithEnum(const EnumConfigurationOptions& value) { SetEnum(value); return *this;} + + /** + *

    The options for customizing a security control parameter that is an enum. + *

    + */ + inline ConfigurationOptions& WithEnum(EnumConfigurationOptions&& value) { SetEnum(std::move(value)); return *this;} + + + /** + *

    The options for customizing a security control parameter that is a list of + * enums.

    + */ + inline const EnumListConfigurationOptions& GetEnumList() const{ return m_enumList; } + + /** + *

    The options for customizing a security control parameter that is a list of + * enums.

    + */ + inline bool EnumListHasBeenSet() const { return m_enumListHasBeenSet; } + + /** + *

    The options for customizing a security control parameter that is a list of + * enums.

    + */ + inline void SetEnumList(const EnumListConfigurationOptions& value) { m_enumListHasBeenSet = true; m_enumList = value; } + + /** + *

    The options for customizing a security control parameter that is a list of + * enums.

    + */ + inline void SetEnumList(EnumListConfigurationOptions&& value) { m_enumListHasBeenSet = true; m_enumList = std::move(value); } + + /** + *

    The options for customizing a security control parameter that is a list of + * enums.

    + */ + inline ConfigurationOptions& WithEnumList(const EnumListConfigurationOptions& value) { SetEnumList(value); return *this;} + + /** + *

    The options for customizing a security control parameter that is a list of + * enums.

    + */ + inline ConfigurationOptions& WithEnumList(EnumListConfigurationOptions&& value) { SetEnumList(std::move(value)); return *this;} + + private: + + IntegerConfigurationOptions m_integer; + bool m_integerHasBeenSet = false; + + IntegerListConfigurationOptions m_integerList; + bool m_integerListHasBeenSet = false; + + DoubleConfigurationOptions m_double; + bool m_doubleHasBeenSet = false; + + StringConfigurationOptions m_string; + bool m_stringHasBeenSet = false; + + StringListConfigurationOptions m_stringList; + bool m_stringListHasBeenSet = false; + + BooleanConfigurationOptions m_boolean; + bool m_booleanHasBeenSet = false; + + EnumConfigurationOptions m_enum; + bool m_enumHasBeenSet = false; + + EnumListConfigurationOptions m_enumList; + bool m_enumListHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DoubleConfigurationOptions.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DoubleConfigurationOptions.h new file mode 100644 index 00000000000..c1a3c2afd36 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DoubleConfigurationOptions.h @@ -0,0 +1,119 @@ +/** + * 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 SecurityHub +{ +namespace Model +{ + + /** + *

    The options for customizing a security control parameter that is a double. + *

    See Also:

    AWS + * API Reference

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

    The Security Hub default value for a control parameter that is a double. + *

    + */ + inline double GetDefaultValue() const{ return m_defaultValue; } + + /** + *

    The Security Hub default value for a control parameter that is a double. + *

    + */ + inline bool DefaultValueHasBeenSet() const { return m_defaultValueHasBeenSet; } + + /** + *

    The Security Hub default value for a control parameter that is a double. + *

    + */ + inline void SetDefaultValue(double value) { m_defaultValueHasBeenSet = true; m_defaultValue = value; } + + /** + *

    The Security Hub default value for a control parameter that is a double. + *

    + */ + inline DoubleConfigurationOptions& WithDefaultValue(double value) { SetDefaultValue(value); return *this;} + + + /** + *

    The minimum valid value for a control parameter that is a double.

    + */ + inline double GetMin() const{ return m_min; } + + /** + *

    The minimum valid value for a control parameter that is a double.

    + */ + inline bool MinHasBeenSet() const { return m_minHasBeenSet; } + + /** + *

    The minimum valid value for a control parameter that is a double.

    + */ + inline void SetMin(double value) { m_minHasBeenSet = true; m_min = value; } + + /** + *

    The minimum valid value for a control parameter that is a double.

    + */ + inline DoubleConfigurationOptions& WithMin(double value) { SetMin(value); return *this;} + + + /** + *

    The maximum valid value for a control parameter that is a double.

    + */ + inline double GetMax() const{ return m_max; } + + /** + *

    The maximum valid value for a control parameter that is a double.

    + */ + inline bool MaxHasBeenSet() const { return m_maxHasBeenSet; } + + /** + *

    The maximum valid value for a control parameter that is a double.

    + */ + inline void SetMax(double value) { m_maxHasBeenSet = true; m_max = value; } + + /** + *

    The maximum valid value for a control parameter that is a double.

    + */ + inline DoubleConfigurationOptions& WithMax(double value) { SetMax(value); return *this;} + + private: + + double m_defaultValue; + bool m_defaultValueHasBeenSet = false; + + double m_min; + bool m_minHasBeenSet = false; + + double m_max; + bool m_maxHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/EnumConfigurationOptions.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/EnumConfigurationOptions.h new file mode 100644 index 00000000000..fce36f85b15 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/EnumConfigurationOptions.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 + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

    The options for customizing a security control parameter that is an enum. + *

    See Also:

    AWS + * API Reference

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

    The Security Hub default value for a control parameter that is an enum.

    + */ + inline const Aws::String& GetDefaultValue() const{ return m_defaultValue; } + + /** + *

    The Security Hub default value for a control parameter that is an enum.

    + */ + inline bool DefaultValueHasBeenSet() const { return m_defaultValueHasBeenSet; } + + /** + *

    The Security Hub default value for a control parameter that is an enum.

    + */ + inline void SetDefaultValue(const Aws::String& value) { m_defaultValueHasBeenSet = true; m_defaultValue = value; } + + /** + *

    The Security Hub default value for a control parameter that is an enum.

    + */ + inline void SetDefaultValue(Aws::String&& value) { m_defaultValueHasBeenSet = true; m_defaultValue = std::move(value); } + + /** + *

    The Security Hub default value for a control parameter that is an enum.

    + */ + inline void SetDefaultValue(const char* value) { m_defaultValueHasBeenSet = true; m_defaultValue.assign(value); } + + /** + *

    The Security Hub default value for a control parameter that is an enum.

    + */ + inline EnumConfigurationOptions& WithDefaultValue(const Aws::String& value) { SetDefaultValue(value); return *this;} + + /** + *

    The Security Hub default value for a control parameter that is an enum.

    + */ + inline EnumConfigurationOptions& WithDefaultValue(Aws::String&& value) { SetDefaultValue(std::move(value)); return *this;} + + /** + *

    The Security Hub default value for a control parameter that is an enum.

    + */ + inline EnumConfigurationOptions& WithDefaultValue(const char* value) { SetDefaultValue(value); return *this;} + + + /** + *

    The valid values for a control parameter that is an enum.

    + */ + inline const Aws::Vector& GetAllowedValues() const{ return m_allowedValues; } + + /** + *

    The valid values for a control parameter that is an enum.

    + */ + inline bool AllowedValuesHasBeenSet() const { return m_allowedValuesHasBeenSet; } + + /** + *

    The valid values for a control parameter that is an enum.

    + */ + inline void SetAllowedValues(const Aws::Vector& value) { m_allowedValuesHasBeenSet = true; m_allowedValues = value; } + + /** + *

    The valid values for a control parameter that is an enum.

    + */ + inline void SetAllowedValues(Aws::Vector&& value) { m_allowedValuesHasBeenSet = true; m_allowedValues = std::move(value); } + + /** + *

    The valid values for a control parameter that is an enum.

    + */ + inline EnumConfigurationOptions& WithAllowedValues(const Aws::Vector& value) { SetAllowedValues(value); return *this;} + + /** + *

    The valid values for a control parameter that is an enum.

    + */ + inline EnumConfigurationOptions& WithAllowedValues(Aws::Vector&& value) { SetAllowedValues(std::move(value)); return *this;} + + /** + *

    The valid values for a control parameter that is an enum.

    + */ + inline EnumConfigurationOptions& AddAllowedValues(const Aws::String& value) { m_allowedValuesHasBeenSet = true; m_allowedValues.push_back(value); return *this; } + + /** + *

    The valid values for a control parameter that is an enum.

    + */ + inline EnumConfigurationOptions& AddAllowedValues(Aws::String&& value) { m_allowedValuesHasBeenSet = true; m_allowedValues.push_back(std::move(value)); return *this; } + + /** + *

    The valid values for a control parameter that is an enum.

    + */ + inline EnumConfigurationOptions& AddAllowedValues(const char* value) { m_allowedValuesHasBeenSet = true; m_allowedValues.push_back(value); return *this; } + + private: + + Aws::String m_defaultValue; + bool m_defaultValueHasBeenSet = false; + + Aws::Vector m_allowedValues; + bool m_allowedValuesHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/EnumListConfigurationOptions.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/EnumListConfigurationOptions.h new file mode 100644 index 00000000000..5103c8dff7c --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/EnumListConfigurationOptions.h @@ -0,0 +1,181 @@ +/** + * 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 SecurityHub +{ +namespace Model +{ + + /** + *

    The options for customizing a security control parameter that is a list of + * enums.

    See Also:

    AWS + * API Reference

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

    The Security Hub default value for a control parameter that is a list of + * enums.

    + */ + inline const Aws::Vector& GetDefaultValue() const{ return m_defaultValue; } + + /** + *

    The Security Hub default value for a control parameter that is a list of + * enums.

    + */ + inline bool DefaultValueHasBeenSet() const { return m_defaultValueHasBeenSet; } + + /** + *

    The Security Hub default value for a control parameter that is a list of + * enums.

    + */ + inline void SetDefaultValue(const Aws::Vector& value) { m_defaultValueHasBeenSet = true; m_defaultValue = value; } + + /** + *

    The Security Hub default value for a control parameter that is a list of + * enums.

    + */ + inline void SetDefaultValue(Aws::Vector&& value) { m_defaultValueHasBeenSet = true; m_defaultValue = std::move(value); } + + /** + *

    The Security Hub default value for a control parameter that is a list of + * enums.

    + */ + inline EnumListConfigurationOptions& WithDefaultValue(const Aws::Vector& value) { SetDefaultValue(value); return *this;} + + /** + *

    The Security Hub default value for a control parameter that is a list of + * enums.

    + */ + inline EnumListConfigurationOptions& WithDefaultValue(Aws::Vector&& value) { SetDefaultValue(std::move(value)); return *this;} + + /** + *

    The Security Hub default value for a control parameter that is a list of + * enums.

    + */ + inline EnumListConfigurationOptions& AddDefaultValue(const Aws::String& value) { m_defaultValueHasBeenSet = true; m_defaultValue.push_back(value); return *this; } + + /** + *

    The Security Hub default value for a control parameter that is a list of + * enums.

    + */ + inline EnumListConfigurationOptions& AddDefaultValue(Aws::String&& value) { m_defaultValueHasBeenSet = true; m_defaultValue.push_back(std::move(value)); return *this; } + + /** + *

    The Security Hub default value for a control parameter that is a list of + * enums.

    + */ + inline EnumListConfigurationOptions& AddDefaultValue(const char* value) { m_defaultValueHasBeenSet = true; m_defaultValue.push_back(value); return *this; } + + + /** + *

    The maximum number of list items that an enum list control parameter can + * accept.

    + */ + inline int GetMaxItems() const{ return m_maxItems; } + + /** + *

    The maximum number of list items that an enum list control parameter can + * accept.

    + */ + inline bool MaxItemsHasBeenSet() const { return m_maxItemsHasBeenSet; } + + /** + *

    The maximum number of list items that an enum list control parameter can + * accept.

    + */ + inline void SetMaxItems(int value) { m_maxItemsHasBeenSet = true; m_maxItems = value; } + + /** + *

    The maximum number of list items that an enum list control parameter can + * accept.

    + */ + inline EnumListConfigurationOptions& WithMaxItems(int value) { SetMaxItems(value); return *this;} + + + /** + *

    The valid values for a control parameter that is a list of enums.

    + */ + inline const Aws::Vector& GetAllowedValues() const{ return m_allowedValues; } + + /** + *

    The valid values for a control parameter that is a list of enums.

    + */ + inline bool AllowedValuesHasBeenSet() const { return m_allowedValuesHasBeenSet; } + + /** + *

    The valid values for a control parameter that is a list of enums.

    + */ + inline void SetAllowedValues(const Aws::Vector& value) { m_allowedValuesHasBeenSet = true; m_allowedValues = value; } + + /** + *

    The valid values for a control parameter that is a list of enums.

    + */ + inline void SetAllowedValues(Aws::Vector&& value) { m_allowedValuesHasBeenSet = true; m_allowedValues = std::move(value); } + + /** + *

    The valid values for a control parameter that is a list of enums.

    + */ + inline EnumListConfigurationOptions& WithAllowedValues(const Aws::Vector& value) { SetAllowedValues(value); return *this;} + + /** + *

    The valid values for a control parameter that is a list of enums.

    + */ + inline EnumListConfigurationOptions& WithAllowedValues(Aws::Vector&& value) { SetAllowedValues(std::move(value)); return *this;} + + /** + *

    The valid values for a control parameter that is a list of enums.

    + */ + inline EnumListConfigurationOptions& AddAllowedValues(const Aws::String& value) { m_allowedValuesHasBeenSet = true; m_allowedValues.push_back(value); return *this; } + + /** + *

    The valid values for a control parameter that is a list of enums.

    + */ + inline EnumListConfigurationOptions& AddAllowedValues(Aws::String&& value) { m_allowedValuesHasBeenSet = true; m_allowedValues.push_back(std::move(value)); return *this; } + + /** + *

    The valid values for a control parameter that is a list of enums.

    + */ + inline EnumListConfigurationOptions& AddAllowedValues(const char* value) { m_allowedValuesHasBeenSet = true; m_allowedValues.push_back(value); return *this; } + + private: + + Aws::Vector m_defaultValue; + bool m_defaultValueHasBeenSet = false; + + int m_maxItems; + bool m_maxItemsHasBeenSet = false; + + Aws::Vector m_allowedValues; + bool m_allowedValuesHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetSecurityControlDefinitionRequest.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetSecurityControlDefinitionRequest.h new file mode 100644 index 00000000000..93f47756f28 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetSecurityControlDefinitionRequest.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 + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace SecurityHub +{ +namespace Model +{ + + /** + */ + class GetSecurityControlDefinitionRequest : public SecurityHubRequest + { + public: + AWS_SECURITYHUB_API GetSecurityControlDefinitionRequest(); + + // 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 "GetSecurityControlDefinition"; } + + AWS_SECURITYHUB_API Aws::String SerializePayload() const override; + + AWS_SECURITYHUB_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + /** + *

    The ID of the security control to retrieve the definition for. This field + * doesn’t accept an Amazon Resource Name (ARN).

    + */ + inline const Aws::String& GetSecurityControlId() const{ return m_securityControlId; } + + /** + *

    The ID of the security control to retrieve the definition for. This field + * doesn’t accept an Amazon Resource Name (ARN).

    + */ + inline bool SecurityControlIdHasBeenSet() const { return m_securityControlIdHasBeenSet; } + + /** + *

    The ID of the security control to retrieve the definition for. This field + * doesn’t accept an Amazon Resource Name (ARN).

    + */ + inline void SetSecurityControlId(const Aws::String& value) { m_securityControlIdHasBeenSet = true; m_securityControlId = value; } + + /** + *

    The ID of the security control to retrieve the definition for. This field + * doesn’t accept an Amazon Resource Name (ARN).

    + */ + inline void SetSecurityControlId(Aws::String&& value) { m_securityControlIdHasBeenSet = true; m_securityControlId = std::move(value); } + + /** + *

    The ID of the security control to retrieve the definition for. This field + * doesn’t accept an Amazon Resource Name (ARN).

    + */ + inline void SetSecurityControlId(const char* value) { m_securityControlIdHasBeenSet = true; m_securityControlId.assign(value); } + + /** + *

    The ID of the security control to retrieve the definition for. This field + * doesn’t accept an Amazon Resource Name (ARN).

    + */ + inline GetSecurityControlDefinitionRequest& WithSecurityControlId(const Aws::String& value) { SetSecurityControlId(value); return *this;} + + /** + *

    The ID of the security control to retrieve the definition for. This field + * doesn’t accept an Amazon Resource Name (ARN).

    + */ + inline GetSecurityControlDefinitionRequest& WithSecurityControlId(Aws::String&& value) { SetSecurityControlId(std::move(value)); return *this;} + + /** + *

    The ID of the security control to retrieve the definition for. This field + * doesn’t accept an Amazon Resource Name (ARN).

    + */ + inline GetSecurityControlDefinitionRequest& WithSecurityControlId(const char* value) { SetSecurityControlId(value); return *this;} + + private: + + Aws::String m_securityControlId; + bool m_securityControlIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetSecurityControlDefinitionResult.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetSecurityControlDefinitionResult.h new file mode 100644 index 00000000000..af0e9684d0c --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetSecurityControlDefinitionResult.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 +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + class GetSecurityControlDefinitionResult + { + public: + AWS_SECURITYHUB_API GetSecurityControlDefinitionResult(); + AWS_SECURITYHUB_API GetSecurityControlDefinitionResult(const Aws::AmazonWebServiceResult& result); + AWS_SECURITYHUB_API GetSecurityControlDefinitionResult& operator=(const Aws::AmazonWebServiceResult& result); + + + + inline const SecurityControlDefinition& GetSecurityControlDefinition() const{ return m_securityControlDefinition; } + + + inline void SetSecurityControlDefinition(const SecurityControlDefinition& value) { m_securityControlDefinition = value; } + + + inline void SetSecurityControlDefinition(SecurityControlDefinition&& value) { m_securityControlDefinition = std::move(value); } + + + inline GetSecurityControlDefinitionResult& WithSecurityControlDefinition(const SecurityControlDefinition& value) { SetSecurityControlDefinition(value); return *this;} + + + inline GetSecurityControlDefinitionResult& WithSecurityControlDefinition(SecurityControlDefinition&& value) { SetSecurityControlDefinition(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 GetSecurityControlDefinitionResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline GetSecurityControlDefinitionResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline GetSecurityControlDefinitionResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + SecurityControlDefinition m_securityControlDefinition; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/IntegerConfigurationOptions.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/IntegerConfigurationOptions.h new file mode 100644 index 00000000000..9761d7ec90d --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/IntegerConfigurationOptions.h @@ -0,0 +1,119 @@ +/** + * 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 SecurityHub +{ +namespace Model +{ + + /** + *

    The options for customizing a security control parameter that is an integer. + *

    See Also:

    AWS + * API Reference

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

    The Security Hub default value for a control parameter that is an integer. + *

    + */ + inline int GetDefaultValue() const{ return m_defaultValue; } + + /** + *

    The Security Hub default value for a control parameter that is an integer. + *

    + */ + inline bool DefaultValueHasBeenSet() const { return m_defaultValueHasBeenSet; } + + /** + *

    The Security Hub default value for a control parameter that is an integer. + *

    + */ + inline void SetDefaultValue(int value) { m_defaultValueHasBeenSet = true; m_defaultValue = value; } + + /** + *

    The Security Hub default value for a control parameter that is an integer. + *

    + */ + inline IntegerConfigurationOptions& WithDefaultValue(int value) { SetDefaultValue(value); return *this;} + + + /** + *

    The minimum valid value for a control parameter that is an integer.

    + */ + inline int GetMin() const{ return m_min; } + + /** + *

    The minimum valid value for a control parameter that is an integer.

    + */ + inline bool MinHasBeenSet() const { return m_minHasBeenSet; } + + /** + *

    The minimum valid value for a control parameter that is an integer.

    + */ + inline void SetMin(int value) { m_minHasBeenSet = true; m_min = value; } + + /** + *

    The minimum valid value for a control parameter that is an integer.

    + */ + inline IntegerConfigurationOptions& WithMin(int value) { SetMin(value); return *this;} + + + /** + *

    The maximum valid value for a control parameter that is an integer.

    + */ + inline int GetMax() const{ return m_max; } + + /** + *

    The maximum valid value for a control parameter that is an integer.

    + */ + inline bool MaxHasBeenSet() const { return m_maxHasBeenSet; } + + /** + *

    The maximum valid value for a control parameter that is an integer.

    + */ + inline void SetMax(int value) { m_maxHasBeenSet = true; m_max = value; } + + /** + *

    The maximum valid value for a control parameter that is an integer.

    + */ + inline IntegerConfigurationOptions& WithMax(int value) { SetMax(value); return *this;} + + private: + + int m_defaultValue; + bool m_defaultValueHasBeenSet = false; + + int m_min; + bool m_minHasBeenSet = false; + + int m_max; + bool m_maxHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/IntegerListConfigurationOptions.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/IntegerListConfigurationOptions.h new file mode 100644 index 00000000000..3f62016082f --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/IntegerListConfigurationOptions.h @@ -0,0 +1,175 @@ +/** + * 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 SecurityHub +{ +namespace Model +{ + + /** + *

    The options for customizing a security control parameter that is a list of + * integers.

    See Also:

    AWS + * API Reference

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

    The Security Hub default value for a control parameter that is a list of + * integers.

    + */ + inline const Aws::Vector& GetDefaultValue() const{ return m_defaultValue; } + + /** + *

    The Security Hub default value for a control parameter that is a list of + * integers.

    + */ + inline bool DefaultValueHasBeenSet() const { return m_defaultValueHasBeenSet; } + + /** + *

    The Security Hub default value for a control parameter that is a list of + * integers.

    + */ + inline void SetDefaultValue(const Aws::Vector& value) { m_defaultValueHasBeenSet = true; m_defaultValue = value; } + + /** + *

    The Security Hub default value for a control parameter that is a list of + * integers.

    + */ + inline void SetDefaultValue(Aws::Vector&& value) { m_defaultValueHasBeenSet = true; m_defaultValue = std::move(value); } + + /** + *

    The Security Hub default value for a control parameter that is a list of + * integers.

    + */ + inline IntegerListConfigurationOptions& WithDefaultValue(const Aws::Vector& value) { SetDefaultValue(value); return *this;} + + /** + *

    The Security Hub default value for a control parameter that is a list of + * integers.

    + */ + inline IntegerListConfigurationOptions& WithDefaultValue(Aws::Vector&& value) { SetDefaultValue(std::move(value)); return *this;} + + /** + *

    The Security Hub default value for a control parameter that is a list of + * integers.

    + */ + inline IntegerListConfigurationOptions& AddDefaultValue(int value) { m_defaultValueHasBeenSet = true; m_defaultValue.push_back(value); return *this; } + + + /** + *

    The minimum valid value for a control parameter that is a list of integers. + *

    + */ + inline int GetMin() const{ return m_min; } + + /** + *

    The minimum valid value for a control parameter that is a list of integers. + *

    + */ + inline bool MinHasBeenSet() const { return m_minHasBeenSet; } + + /** + *

    The minimum valid value for a control parameter that is a list of integers. + *

    + */ + inline void SetMin(int value) { m_minHasBeenSet = true; m_min = value; } + + /** + *

    The minimum valid value for a control parameter that is a list of integers. + *

    + */ + inline IntegerListConfigurationOptions& WithMin(int value) { SetMin(value); return *this;} + + + /** + *

    The maximum valid value for a control parameter that is a list of integers. + *

    + */ + inline int GetMax() const{ return m_max; } + + /** + *

    The maximum valid value for a control parameter that is a list of integers. + *

    + */ + inline bool MaxHasBeenSet() const { return m_maxHasBeenSet; } + + /** + *

    The maximum valid value for a control parameter that is a list of integers. + *

    + */ + inline void SetMax(int value) { m_maxHasBeenSet = true; m_max = value; } + + /** + *

    The maximum valid value for a control parameter that is a list of integers. + *

    + */ + inline IntegerListConfigurationOptions& WithMax(int value) { SetMax(value); return *this;} + + + /** + *

    The maximum number of list items that an interger list control parameter can + * accept.

    + */ + inline int GetMaxItems() const{ return m_maxItems; } + + /** + *

    The maximum number of list items that an interger list control parameter can + * accept.

    + */ + inline bool MaxItemsHasBeenSet() const { return m_maxItemsHasBeenSet; } + + /** + *

    The maximum number of list items that an interger list control parameter can + * accept.

    + */ + inline void SetMaxItems(int value) { m_maxItemsHasBeenSet = true; m_maxItems = value; } + + /** + *

    The maximum number of list items that an interger list control parameter can + * accept.

    + */ + inline IntegerListConfigurationOptions& WithMaxItems(int value) { SetMaxItems(value); return *this;} + + private: + + Aws::Vector m_defaultValue; + bool m_defaultValueHasBeenSet = false; + + int m_min; + bool m_minHasBeenSet = false; + + int m_max; + bool m_maxHasBeenSet = false; + + int m_maxItems; + bool m_maxItemsHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/NumberFilter.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/NumberFilter.h index b1568ab87cd..c7f41d9e185 100644 --- a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/NumberFilter.h +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/NumberFilter.h @@ -109,6 +109,56 @@ namespace Model */ inline NumberFilter& WithEq(double value) { SetEq(value); return *this;} + + /** + *

    The greater-than condition to be applied to a single field when querying for + * findings.

    + */ + inline double GetGt() const{ return m_gt; } + + /** + *

    The greater-than condition to be applied to a single field when querying for + * findings.

    + */ + inline bool GtHasBeenSet() const { return m_gtHasBeenSet; } + + /** + *

    The greater-than condition to be applied to a single field when querying for + * findings.

    + */ + inline void SetGt(double value) { m_gtHasBeenSet = true; m_gt = value; } + + /** + *

    The greater-than condition to be applied to a single field when querying for + * findings.

    + */ + inline NumberFilter& WithGt(double value) { SetGt(value); return *this;} + + + /** + *

    The less-than condition to be applied to a single field when querying for + * findings.

    + */ + inline double GetLt() const{ return m_lt; } + + /** + *

    The less-than condition to be applied to a single field when querying for + * findings.

    + */ + inline bool LtHasBeenSet() const { return m_ltHasBeenSet; } + + /** + *

    The less-than condition to be applied to a single field when querying for + * findings.

    + */ + inline void SetLt(double value) { m_ltHasBeenSet = true; m_lt = value; } + + /** + *

    The less-than condition to be applied to a single field when querying for + * findings.

    + */ + inline NumberFilter& WithLt(double value) { SetLt(value); return *this;} + private: double m_gte; @@ -119,6 +169,12 @@ namespace Model double m_eq; bool m_eqHasBeenSet = false; + + double m_gt; + bool m_gtHasBeenSet = false; + + double m_lt; + bool m_ltHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ParameterConfiguration.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ParameterConfiguration.h new file mode 100644 index 00000000000..d382cf254d8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ParameterConfiguration.h @@ -0,0 +1,120 @@ +/** + * 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 SecurityHub +{ +namespace Model +{ + + /** + *

    An object that provides the current value of a security control parameter + * and identifies whether it has been customized.

    See Also:

    AWS + * API Reference

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

    Identifies whether a control parameter uses a custom user-defined value or + * the Security Hub default value.

    + */ + inline const ParameterValueType& GetValueType() const{ return m_valueType; } + + /** + *

    Identifies whether a control parameter uses a custom user-defined value or + * the Security Hub default value.

    + */ + inline bool ValueTypeHasBeenSet() const { return m_valueTypeHasBeenSet; } + + /** + *

    Identifies whether a control parameter uses a custom user-defined value or + * the Security Hub default value.

    + */ + inline void SetValueType(const ParameterValueType& value) { m_valueTypeHasBeenSet = true; m_valueType = value; } + + /** + *

    Identifies whether a control parameter uses a custom user-defined value or + * the Security Hub default value.

    + */ + inline void SetValueType(ParameterValueType&& value) { m_valueTypeHasBeenSet = true; m_valueType = std::move(value); } + + /** + *

    Identifies whether a control parameter uses a custom user-defined value or + * the Security Hub default value.

    + */ + inline ParameterConfiguration& WithValueType(const ParameterValueType& value) { SetValueType(value); return *this;} + + /** + *

    Identifies whether a control parameter uses a custom user-defined value or + * the Security Hub default value.

    + */ + inline ParameterConfiguration& WithValueType(ParameterValueType&& value) { SetValueType(std::move(value)); return *this;} + + + /** + *

    The current value of a control parameter.

    + */ + inline const ParameterValue& GetValue() const{ return m_value; } + + /** + *

    The current value of a control parameter.

    + */ + inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; } + + /** + *

    The current value of a control parameter.

    + */ + inline void SetValue(const ParameterValue& value) { m_valueHasBeenSet = true; m_value = value; } + + /** + *

    The current value of a control parameter.

    + */ + inline void SetValue(ParameterValue&& value) { m_valueHasBeenSet = true; m_value = std::move(value); } + + /** + *

    The current value of a control parameter.

    + */ + inline ParameterConfiguration& WithValue(const ParameterValue& value) { SetValue(value); return *this;} + + /** + *

    The current value of a control parameter.

    + */ + inline ParameterConfiguration& WithValue(ParameterValue&& value) { SetValue(std::move(value)); return *this;} + + private: + + ParameterValueType m_valueType; + bool m_valueTypeHasBeenSet = false; + + ParameterValue m_value; + bool m_valueHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ParameterDefinition.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ParameterDefinition.h new file mode 100644 index 00000000000..54cb6774482 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ParameterDefinition.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 Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

    An object that describes a security control parameter and the options for + * customizing it.

    See Also:

    AWS + * API Reference

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

    Description of a control parameter.

    + */ + inline const Aws::String& GetDescription() const{ return m_description; } + + /** + *

    Description of a control parameter.

    + */ + inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } + + /** + *

    Description of a control parameter.

    + */ + inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } + + /** + *

    Description of a control parameter.

    + */ + inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } + + /** + *

    Description of a control parameter.

    + */ + inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } + + /** + *

    Description of a control parameter.

    + */ + inline ParameterDefinition& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} + + /** + *

    Description of a control parameter.

    + */ + inline ParameterDefinition& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} + + /** + *

    Description of a control parameter.

    + */ + inline ParameterDefinition& WithDescription(const char* value) { SetDescription(value); return *this;} + + + /** + *

    The options for customizing a control parameter. Customization options vary + * based on the data type of the parameter.

    + */ + inline const ConfigurationOptions& GetConfigurationOptions() const{ return m_configurationOptions; } + + /** + *

    The options for customizing a control parameter. Customization options vary + * based on the data type of the parameter.

    + */ + inline bool ConfigurationOptionsHasBeenSet() const { return m_configurationOptionsHasBeenSet; } + + /** + *

    The options for customizing a control parameter. Customization options vary + * based on the data type of the parameter.

    + */ + inline void SetConfigurationOptions(const ConfigurationOptions& value) { m_configurationOptionsHasBeenSet = true; m_configurationOptions = value; } + + /** + *

    The options for customizing a control parameter. Customization options vary + * based on the data type of the parameter.

    + */ + inline void SetConfigurationOptions(ConfigurationOptions&& value) { m_configurationOptionsHasBeenSet = true; m_configurationOptions = std::move(value); } + + /** + *

    The options for customizing a control parameter. Customization options vary + * based on the data type of the parameter.

    + */ + inline ParameterDefinition& WithConfigurationOptions(const ConfigurationOptions& value) { SetConfigurationOptions(value); return *this;} + + /** + *

    The options for customizing a control parameter. Customization options vary + * based on the data type of the parameter.

    + */ + inline ParameterDefinition& WithConfigurationOptions(ConfigurationOptions&& value) { SetConfigurationOptions(std::move(value)); return *this;} + + private: + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + ConfigurationOptions m_configurationOptions; + bool m_configurationOptionsHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ParameterValue.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ParameterValue.h new file mode 100644 index 00000000000..156869b2d05 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ParameterValue.h @@ -0,0 +1,343 @@ +/** + * 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 SecurityHub +{ +namespace Model +{ + + /** + *

    An object that includes the data type of a security control parameter and + * its current value.

    See Also:

    AWS + * API Reference

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

    A control parameter that is an integer.

    + */ + inline int GetInteger() const{ return m_integer; } + + /** + *

    A control parameter that is an integer.

    + */ + inline bool IntegerHasBeenSet() const { return m_integerHasBeenSet; } + + /** + *

    A control parameter that is an integer.

    + */ + inline void SetInteger(int value) { m_integerHasBeenSet = true; m_integer = value; } + + /** + *

    A control parameter that is an integer.

    + */ + inline ParameterValue& WithInteger(int value) { SetInteger(value); return *this;} + + + /** + *

    A control parameter that is a list of integers.

    + */ + inline const Aws::Vector& GetIntegerList() const{ return m_integerList; } + + /** + *

    A control parameter that is a list of integers.

    + */ + inline bool IntegerListHasBeenSet() const { return m_integerListHasBeenSet; } + + /** + *

    A control parameter that is a list of integers.

    + */ + inline void SetIntegerList(const Aws::Vector& value) { m_integerListHasBeenSet = true; m_integerList = value; } + + /** + *

    A control parameter that is a list of integers.

    + */ + inline void SetIntegerList(Aws::Vector&& value) { m_integerListHasBeenSet = true; m_integerList = std::move(value); } + + /** + *

    A control parameter that is a list of integers.

    + */ + inline ParameterValue& WithIntegerList(const Aws::Vector& value) { SetIntegerList(value); return *this;} + + /** + *

    A control parameter that is a list of integers.

    + */ + inline ParameterValue& WithIntegerList(Aws::Vector&& value) { SetIntegerList(std::move(value)); return *this;} + + /** + *

    A control parameter that is a list of integers.

    + */ + inline ParameterValue& AddIntegerList(int value) { m_integerListHasBeenSet = true; m_integerList.push_back(value); return *this; } + + + /** + *

    A control parameter that is a double.

    + */ + inline double GetDouble() const{ return m_double; } + + /** + *

    A control parameter that is a double.

    + */ + inline bool DoubleHasBeenSet() const { return m_doubleHasBeenSet; } + + /** + *

    A control parameter that is a double.

    + */ + inline void SetDouble(double value) { m_doubleHasBeenSet = true; m_double = value; } + + /** + *

    A control parameter that is a double.

    + */ + inline ParameterValue& WithDouble(double value) { SetDouble(value); return *this;} + + + /** + *

    A control parameter that is a string.

    + */ + inline const Aws::String& GetString() const{ return m_string; } + + /** + *

    A control parameter that is a string.

    + */ + inline bool StringHasBeenSet() const { return m_stringHasBeenSet; } + + /** + *

    A control parameter that is a string.

    + */ + inline void SetString(const Aws::String& value) { m_stringHasBeenSet = true; m_string = value; } + + /** + *

    A control parameter that is a string.

    + */ + inline void SetString(Aws::String&& value) { m_stringHasBeenSet = true; m_string = std::move(value); } + + /** + *

    A control parameter that is a string.

    + */ + inline void SetString(const char* value) { m_stringHasBeenSet = true; m_string.assign(value); } + + /** + *

    A control parameter that is a string.

    + */ + inline ParameterValue& WithString(const Aws::String& value) { SetString(value); return *this;} + + /** + *

    A control parameter that is a string.

    + */ + inline ParameterValue& WithString(Aws::String&& value) { SetString(std::move(value)); return *this;} + + /** + *

    A control parameter that is a string.

    + */ + inline ParameterValue& WithString(const char* value) { SetString(value); return *this;} + + + /** + *

    A control parameter that is a list of strings.

    + */ + inline const Aws::Vector& GetStringList() const{ return m_stringList; } + + /** + *

    A control parameter that is a list of strings.

    + */ + inline bool StringListHasBeenSet() const { return m_stringListHasBeenSet; } + + /** + *

    A control parameter that is a list of strings.

    + */ + inline void SetStringList(const Aws::Vector& value) { m_stringListHasBeenSet = true; m_stringList = value; } + + /** + *

    A control parameter that is a list of strings.

    + */ + inline void SetStringList(Aws::Vector&& value) { m_stringListHasBeenSet = true; m_stringList = std::move(value); } + + /** + *

    A control parameter that is a list of strings.

    + */ + inline ParameterValue& WithStringList(const Aws::Vector& value) { SetStringList(value); return *this;} + + /** + *

    A control parameter that is a list of strings.

    + */ + inline ParameterValue& WithStringList(Aws::Vector&& value) { SetStringList(std::move(value)); return *this;} + + /** + *

    A control parameter that is a list of strings.

    + */ + inline ParameterValue& AddStringList(const Aws::String& value) { m_stringListHasBeenSet = true; m_stringList.push_back(value); return *this; } + + /** + *

    A control parameter that is a list of strings.

    + */ + inline ParameterValue& AddStringList(Aws::String&& value) { m_stringListHasBeenSet = true; m_stringList.push_back(std::move(value)); return *this; } + + /** + *

    A control parameter that is a list of strings.

    + */ + inline ParameterValue& AddStringList(const char* value) { m_stringListHasBeenSet = true; m_stringList.push_back(value); return *this; } + + + /** + *

    A control parameter that is a boolean.

    + */ + inline bool GetBoolean() const{ return m_boolean; } + + /** + *

    A control parameter that is a boolean.

    + */ + inline bool BooleanHasBeenSet() const { return m_booleanHasBeenSet; } + + /** + *

    A control parameter that is a boolean.

    + */ + inline void SetBoolean(bool value) { m_booleanHasBeenSet = true; m_boolean = value; } + + /** + *

    A control parameter that is a boolean.

    + */ + inline ParameterValue& WithBoolean(bool value) { SetBoolean(value); return *this;} + + + /** + *

    A control parameter that is an enum.

    + */ + inline const Aws::String& GetEnum() const{ return m_enum; } + + /** + *

    A control parameter that is an enum.

    + */ + inline bool EnumHasBeenSet() const { return m_enumHasBeenSet; } + + /** + *

    A control parameter that is an enum.

    + */ + inline void SetEnum(const Aws::String& value) { m_enumHasBeenSet = true; m_enum = value; } + + /** + *

    A control parameter that is an enum.

    + */ + inline void SetEnum(Aws::String&& value) { m_enumHasBeenSet = true; m_enum = std::move(value); } + + /** + *

    A control parameter that is an enum.

    + */ + inline void SetEnum(const char* value) { m_enumHasBeenSet = true; m_enum.assign(value); } + + /** + *

    A control parameter that is an enum.

    + */ + inline ParameterValue& WithEnum(const Aws::String& value) { SetEnum(value); return *this;} + + /** + *

    A control parameter that is an enum.

    + */ + inline ParameterValue& WithEnum(Aws::String&& value) { SetEnum(std::move(value)); return *this;} + + /** + *

    A control parameter that is an enum.

    + */ + inline ParameterValue& WithEnum(const char* value) { SetEnum(value); return *this;} + + + /** + *

    A control parameter that is a list of enums.

    + */ + inline const Aws::Vector& GetEnumList() const{ return m_enumList; } + + /** + *

    A control parameter that is a list of enums.

    + */ + inline bool EnumListHasBeenSet() const { return m_enumListHasBeenSet; } + + /** + *

    A control parameter that is a list of enums.

    + */ + inline void SetEnumList(const Aws::Vector& value) { m_enumListHasBeenSet = true; m_enumList = value; } + + /** + *

    A control parameter that is a list of enums.

    + */ + inline void SetEnumList(Aws::Vector&& value) { m_enumListHasBeenSet = true; m_enumList = std::move(value); } + + /** + *

    A control parameter that is a list of enums.

    + */ + inline ParameterValue& WithEnumList(const Aws::Vector& value) { SetEnumList(value); return *this;} + + /** + *

    A control parameter that is a list of enums.

    + */ + inline ParameterValue& WithEnumList(Aws::Vector&& value) { SetEnumList(std::move(value)); return *this;} + + /** + *

    A control parameter that is a list of enums.

    + */ + inline ParameterValue& AddEnumList(const Aws::String& value) { m_enumListHasBeenSet = true; m_enumList.push_back(value); return *this; } + + /** + *

    A control parameter that is a list of enums.

    + */ + inline ParameterValue& AddEnumList(Aws::String&& value) { m_enumListHasBeenSet = true; m_enumList.push_back(std::move(value)); return *this; } + + /** + *

    A control parameter that is a list of enums.

    + */ + inline ParameterValue& AddEnumList(const char* value) { m_enumListHasBeenSet = true; m_enumList.push_back(value); return *this; } + + private: + + int m_integer; + bool m_integerHasBeenSet = false; + + Aws::Vector m_integerList; + bool m_integerListHasBeenSet = false; + + double m_double; + bool m_doubleHasBeenSet = false; + + Aws::String m_string; + bool m_stringHasBeenSet = false; + + Aws::Vector m_stringList; + bool m_stringListHasBeenSet = false; + + bool m_boolean; + bool m_booleanHasBeenSet = false; + + Aws::String m_enum; + bool m_enumHasBeenSet = false; + + Aws::Vector m_enumList; + bool m_enumListHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ParameterValueType.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ParameterValueType.h new file mode 100644 index 00000000000..c46d1e7a654 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ParameterValueType.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 SecurityHub +{ +namespace Model +{ + enum class ParameterValueType + { + NOT_SET, + DEFAULT, + CUSTOM + }; + +namespace ParameterValueTypeMapper +{ +AWS_SECURITYHUB_API ParameterValueType GetParameterValueTypeForName(const Aws::String& name); + +AWS_SECURITYHUB_API Aws::String GetNameForParameterValueType(ParameterValueType value); +} // namespace ParameterValueTypeMapper +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourceInUseException.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourceInUseException.h new file mode 100644 index 00000000000..15aa07cadd3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourceInUseException.h @@ -0,0 +1,102 @@ +/** + * 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 SecurityHub +{ +namespace Model +{ + + /** + *

    The request was rejected because it conflicts with the resource's + * availability. For example, you tried to update a security control that's + * currently in the UPDATING state.

    See Also:

    AWS + * API Reference

    + */ + class ResourceInUseException + { + public: + AWS_SECURITYHUB_API ResourceInUseException(); + AWS_SECURITYHUB_API ResourceInUseException(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API ResourceInUseException& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_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 ResourceInUseException& WithMessage(const Aws::String& value) { SetMessage(value); return *this;} + + + inline ResourceInUseException& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;} + + + inline ResourceInUseException& WithMessage(const char* value) { SetMessage(value); return *this;} + + + + 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 ResourceInUseException& WithCode(const Aws::String& value) { SetCode(value); return *this;} + + + inline ResourceInUseException& WithCode(Aws::String&& value) { SetCode(std::move(value)); return *this;} + + + inline ResourceInUseException& WithCode(const char* value) { SetCode(value); return *this;} + + private: + + Aws::String m_message; + bool m_messageHasBeenSet = false; + + Aws::String m_code; + bool m_codeHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/SecurityControl.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/SecurityControl.h index 47145606c25..50570c49467 100644 --- a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/SecurityControl.h +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/SecurityControl.h @@ -8,6 +8,9 @@ #include #include #include +#include +#include +#include #include namespace Aws @@ -396,6 +399,225 @@ namespace Model */ inline SecurityControl& WithSecurityControlStatus(ControlStatus&& value) { SetSecurityControlStatus(std::move(value)); return *this;} + + /** + *

    Identifies whether customizable properties of a security control are + * reflected in Security Hub findings. A status of READY indicates + * findings include the current parameter values. A status of UPDATING + * indicates that all findings may not include the current parameter values.

    + */ + inline const UpdateStatus& GetUpdateStatus() const{ return m_updateStatus; } + + /** + *

    Identifies whether customizable properties of a security control are + * reflected in Security Hub findings. A status of READY indicates + * findings include the current parameter values. A status of UPDATING + * indicates that all findings may not include the current parameter values.

    + */ + inline bool UpdateStatusHasBeenSet() const { return m_updateStatusHasBeenSet; } + + /** + *

    Identifies whether customizable properties of a security control are + * reflected in Security Hub findings. A status of READY indicates + * findings include the current parameter values. A status of UPDATING + * indicates that all findings may not include the current parameter values.

    + */ + inline void SetUpdateStatus(const UpdateStatus& value) { m_updateStatusHasBeenSet = true; m_updateStatus = value; } + + /** + *

    Identifies whether customizable properties of a security control are + * reflected in Security Hub findings. A status of READY indicates + * findings include the current parameter values. A status of UPDATING + * indicates that all findings may not include the current parameter values.

    + */ + inline void SetUpdateStatus(UpdateStatus&& value) { m_updateStatusHasBeenSet = true; m_updateStatus = std::move(value); } + + /** + *

    Identifies whether customizable properties of a security control are + * reflected in Security Hub findings. A status of READY indicates + * findings include the current parameter values. A status of UPDATING + * indicates that all findings may not include the current parameter values.

    + */ + inline SecurityControl& WithUpdateStatus(const UpdateStatus& value) { SetUpdateStatus(value); return *this;} + + /** + *

    Identifies whether customizable properties of a security control are + * reflected in Security Hub findings. A status of READY indicates + * findings include the current parameter values. A status of UPDATING + * indicates that all findings may not include the current parameter values.

    + */ + inline SecurityControl& WithUpdateStatus(UpdateStatus&& value) { SetUpdateStatus(std::move(value)); return *this;} + + + /** + *

    An object that identifies the name of a control parameter, its current + * value, and whether it has been customized.

    + */ + inline const Aws::Map& GetParameters() const{ return m_parameters; } + + /** + *

    An object that identifies the name of a control parameter, its current + * value, and whether it has been customized.

    + */ + inline bool ParametersHasBeenSet() const { return m_parametersHasBeenSet; } + + /** + *

    An object that identifies the name of a control parameter, its current + * value, and whether it has been customized.

    + */ + inline void SetParameters(const Aws::Map& value) { m_parametersHasBeenSet = true; m_parameters = value; } + + /** + *

    An object that identifies the name of a control parameter, its current + * value, and whether it has been customized.

    + */ + inline void SetParameters(Aws::Map&& value) { m_parametersHasBeenSet = true; m_parameters = std::move(value); } + + /** + *

    An object that identifies the name of a control parameter, its current + * value, and whether it has been customized.

    + */ + inline SecurityControl& WithParameters(const Aws::Map& value) { SetParameters(value); return *this;} + + /** + *

    An object that identifies the name of a control parameter, its current + * value, and whether it has been customized.

    + */ + inline SecurityControl& WithParameters(Aws::Map&& value) { SetParameters(std::move(value)); return *this;} + + /** + *

    An object that identifies the name of a control parameter, its current + * value, and whether it has been customized.

    + */ + inline SecurityControl& AddParameters(const Aws::String& key, const ParameterConfiguration& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, value); return *this; } + + /** + *

    An object that identifies the name of a control parameter, its current + * value, and whether it has been customized.

    + */ + inline SecurityControl& AddParameters(Aws::String&& key, const ParameterConfiguration& value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), value); return *this; } + + /** + *

    An object that identifies the name of a control parameter, its current + * value, and whether it has been customized.

    + */ + inline SecurityControl& AddParameters(const Aws::String& key, ParameterConfiguration&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, std::move(value)); return *this; } + + /** + *

    An object that identifies the name of a control parameter, its current + * value, and whether it has been customized.

    + */ + inline SecurityControl& AddParameters(Aws::String&& key, ParameterConfiguration&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), std::move(value)); return *this; } + + /** + *

    An object that identifies the name of a control parameter, its current + * value, and whether it has been customized.

    + */ + inline SecurityControl& AddParameters(const char* key, ParameterConfiguration&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, std::move(value)); return *this; } + + /** + *

    An object that identifies the name of a control parameter, its current + * value, and whether it has been customized.

    + */ + inline SecurityControl& AddParameters(const char* key, const ParameterConfiguration& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, value); return *this; } + + + /** + *

    The most recent reason for updating the customizable properties of a + * security control. This differs from the UpdateReason field of the + * + * BatchUpdateStandardsControlAssociations API, which tracks the + * reason for updating the enablement status of a control. This field accepts + * alphanumeric characters in addition to white spaces, dashes, and underscores. + *

    + */ + inline const Aws::String& GetLastUpdateReason() const{ return m_lastUpdateReason; } + + /** + *

    The most recent reason for updating the customizable properties of a + * security control. This differs from the UpdateReason field of the + * + * BatchUpdateStandardsControlAssociations API, which tracks the + * reason for updating the enablement status of a control. This field accepts + * alphanumeric characters in addition to white spaces, dashes, and underscores. + *

    + */ + inline bool LastUpdateReasonHasBeenSet() const { return m_lastUpdateReasonHasBeenSet; } + + /** + *

    The most recent reason for updating the customizable properties of a + * security control. This differs from the UpdateReason field of the + * + * BatchUpdateStandardsControlAssociations API, which tracks the + * reason for updating the enablement status of a control. This field accepts + * alphanumeric characters in addition to white spaces, dashes, and underscores. + *

    + */ + inline void SetLastUpdateReason(const Aws::String& value) { m_lastUpdateReasonHasBeenSet = true; m_lastUpdateReason = value; } + + /** + *

    The most recent reason for updating the customizable properties of a + * security control. This differs from the UpdateReason field of the + * + * BatchUpdateStandardsControlAssociations API, which tracks the + * reason for updating the enablement status of a control. This field accepts + * alphanumeric characters in addition to white spaces, dashes, and underscores. + *

    + */ + inline void SetLastUpdateReason(Aws::String&& value) { m_lastUpdateReasonHasBeenSet = true; m_lastUpdateReason = std::move(value); } + + /** + *

    The most recent reason for updating the customizable properties of a + * security control. This differs from the UpdateReason field of the + * + * BatchUpdateStandardsControlAssociations API, which tracks the + * reason for updating the enablement status of a control. This field accepts + * alphanumeric characters in addition to white spaces, dashes, and underscores. + *

    + */ + inline void SetLastUpdateReason(const char* value) { m_lastUpdateReasonHasBeenSet = true; m_lastUpdateReason.assign(value); } + + /** + *

    The most recent reason for updating the customizable properties of a + * security control. This differs from the UpdateReason field of the + * + * BatchUpdateStandardsControlAssociations API, which tracks the + * reason for updating the enablement status of a control. This field accepts + * alphanumeric characters in addition to white spaces, dashes, and underscores. + *

    + */ + inline SecurityControl& WithLastUpdateReason(const Aws::String& value) { SetLastUpdateReason(value); return *this;} + + /** + *

    The most recent reason for updating the customizable properties of a + * security control. This differs from the UpdateReason field of the + * + * BatchUpdateStandardsControlAssociations API, which tracks the + * reason for updating the enablement status of a control. This field accepts + * alphanumeric characters in addition to white spaces, dashes, and underscores. + *

    + */ + inline SecurityControl& WithLastUpdateReason(Aws::String&& value) { SetLastUpdateReason(std::move(value)); return *this;} + + /** + *

    The most recent reason for updating the customizable properties of a + * security control. This differs from the UpdateReason field of the + * + * BatchUpdateStandardsControlAssociations API, which tracks the + * reason for updating the enablement status of a control. This field accepts + * alphanumeric characters in addition to white spaces, dashes, and underscores. + *

    + */ + inline SecurityControl& WithLastUpdateReason(const char* value) { SetLastUpdateReason(value); return *this;} + private: Aws::String m_securityControlId; @@ -418,6 +640,15 @@ namespace Model ControlStatus m_securityControlStatus; bool m_securityControlStatusHasBeenSet = false; + + UpdateStatus m_updateStatus; + bool m_updateStatusHasBeenSet = false; + + Aws::Map m_parameters; + bool m_parametersHasBeenSet = false; + + Aws::String m_lastUpdateReason; + bool m_lastUpdateReasonHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/SecurityControlDefinition.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/SecurityControlDefinition.h index 59f503106bd..e715c9084ad 100644 --- a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/SecurityControlDefinition.h +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/SecurityControlDefinition.h @@ -8,6 +8,10 @@ #include #include #include +#include +#include +#include +#include #include namespace Aws @@ -371,6 +375,148 @@ namespace Model */ inline SecurityControlDefinition& WithCurrentRegionAvailability(RegionAvailabilityStatus&& value) { SetCurrentRegionAvailability(std::move(value)); return *this;} + + /** + *

    Security control properties that you can customize. Currently, only + * parameter customization is supported for select controls. An empty array is + * returned for controls that don’t support custom properties.

    + */ + inline const Aws::Vector& GetCustomizableProperties() const{ return m_customizableProperties; } + + /** + *

    Security control properties that you can customize. Currently, only + * parameter customization is supported for select controls. An empty array is + * returned for controls that don’t support custom properties.

    + */ + inline bool CustomizablePropertiesHasBeenSet() const { return m_customizablePropertiesHasBeenSet; } + + /** + *

    Security control properties that you can customize. Currently, only + * parameter customization is supported for select controls. An empty array is + * returned for controls that don’t support custom properties.

    + */ + inline void SetCustomizableProperties(const Aws::Vector& value) { m_customizablePropertiesHasBeenSet = true; m_customizableProperties = value; } + + /** + *

    Security control properties that you can customize. Currently, only + * parameter customization is supported for select controls. An empty array is + * returned for controls that don’t support custom properties.

    + */ + inline void SetCustomizableProperties(Aws::Vector&& value) { m_customizablePropertiesHasBeenSet = true; m_customizableProperties = std::move(value); } + + /** + *

    Security control properties that you can customize. Currently, only + * parameter customization is supported for select controls. An empty array is + * returned for controls that don’t support custom properties.

    + */ + inline SecurityControlDefinition& WithCustomizableProperties(const Aws::Vector& value) { SetCustomizableProperties(value); return *this;} + + /** + *

    Security control properties that you can customize. Currently, only + * parameter customization is supported for select controls. An empty array is + * returned for controls that don’t support custom properties.

    + */ + inline SecurityControlDefinition& WithCustomizableProperties(Aws::Vector&& value) { SetCustomizableProperties(std::move(value)); return *this;} + + /** + *

    Security control properties that you can customize. Currently, only + * parameter customization is supported for select controls. An empty array is + * returned for controls that don’t support custom properties.

    + */ + inline SecurityControlDefinition& AddCustomizableProperties(const SecurityControlProperty& value) { m_customizablePropertiesHasBeenSet = true; m_customizableProperties.push_back(value); return *this; } + + /** + *

    Security control properties that you can customize. Currently, only + * parameter customization is supported for select controls. An empty array is + * returned for controls that don’t support custom properties.

    + */ + inline SecurityControlDefinition& AddCustomizableProperties(SecurityControlProperty&& value) { m_customizablePropertiesHasBeenSet = true; m_customizableProperties.push_back(std::move(value)); return *this; } + + + /** + *

    An object that provides a security control parameter name, description, and + * the options for customizing it. This object is excluded for a control that + * doesn't support custom parameters.

    + */ + inline const Aws::Map& GetParameterDefinitions() const{ return m_parameterDefinitions; } + + /** + *

    An object that provides a security control parameter name, description, and + * the options for customizing it. This object is excluded for a control that + * doesn't support custom parameters.

    + */ + inline bool ParameterDefinitionsHasBeenSet() const { return m_parameterDefinitionsHasBeenSet; } + + /** + *

    An object that provides a security control parameter name, description, and + * the options for customizing it. This object is excluded for a control that + * doesn't support custom parameters.

    + */ + inline void SetParameterDefinitions(const Aws::Map& value) { m_parameterDefinitionsHasBeenSet = true; m_parameterDefinitions = value; } + + /** + *

    An object that provides a security control parameter name, description, and + * the options for customizing it. This object is excluded for a control that + * doesn't support custom parameters.

    + */ + inline void SetParameterDefinitions(Aws::Map&& value) { m_parameterDefinitionsHasBeenSet = true; m_parameterDefinitions = std::move(value); } + + /** + *

    An object that provides a security control parameter name, description, and + * the options for customizing it. This object is excluded for a control that + * doesn't support custom parameters.

    + */ + inline SecurityControlDefinition& WithParameterDefinitions(const Aws::Map& value) { SetParameterDefinitions(value); return *this;} + + /** + *

    An object that provides a security control parameter name, description, and + * the options for customizing it. This object is excluded for a control that + * doesn't support custom parameters.

    + */ + inline SecurityControlDefinition& WithParameterDefinitions(Aws::Map&& value) { SetParameterDefinitions(std::move(value)); return *this;} + + /** + *

    An object that provides a security control parameter name, description, and + * the options for customizing it. This object is excluded for a control that + * doesn't support custom parameters.

    + */ + inline SecurityControlDefinition& AddParameterDefinitions(const Aws::String& key, const ParameterDefinition& value) { m_parameterDefinitionsHasBeenSet = true; m_parameterDefinitions.emplace(key, value); return *this; } + + /** + *

    An object that provides a security control parameter name, description, and + * the options for customizing it. This object is excluded for a control that + * doesn't support custom parameters.

    + */ + inline SecurityControlDefinition& AddParameterDefinitions(Aws::String&& key, const ParameterDefinition& value) { m_parameterDefinitionsHasBeenSet = true; m_parameterDefinitions.emplace(std::move(key), value); return *this; } + + /** + *

    An object that provides a security control parameter name, description, and + * the options for customizing it. This object is excluded for a control that + * doesn't support custom parameters.

    + */ + inline SecurityControlDefinition& AddParameterDefinitions(const Aws::String& key, ParameterDefinition&& value) { m_parameterDefinitionsHasBeenSet = true; m_parameterDefinitions.emplace(key, std::move(value)); return *this; } + + /** + *

    An object that provides a security control parameter name, description, and + * the options for customizing it. This object is excluded for a control that + * doesn't support custom parameters.

    + */ + inline SecurityControlDefinition& AddParameterDefinitions(Aws::String&& key, ParameterDefinition&& value) { m_parameterDefinitionsHasBeenSet = true; m_parameterDefinitions.emplace(std::move(key), std::move(value)); return *this; } + + /** + *

    An object that provides a security control parameter name, description, and + * the options for customizing it. This object is excluded for a control that + * doesn't support custom parameters.

    + */ + inline SecurityControlDefinition& AddParameterDefinitions(const char* key, ParameterDefinition&& value) { m_parameterDefinitionsHasBeenSet = true; m_parameterDefinitions.emplace(key, std::move(value)); return *this; } + + /** + *

    An object that provides a security control parameter name, description, and + * the options for customizing it. This object is excluded for a control that + * doesn't support custom parameters.

    + */ + inline SecurityControlDefinition& AddParameterDefinitions(const char* key, const ParameterDefinition& value) { m_parameterDefinitionsHasBeenSet = true; m_parameterDefinitions.emplace(key, value); return *this; } + private: Aws::String m_securityControlId; @@ -390,6 +536,12 @@ namespace Model RegionAvailabilityStatus m_currentRegionAvailability; bool m_currentRegionAvailabilityHasBeenSet = false; + + Aws::Vector m_customizableProperties; + bool m_customizablePropertiesHasBeenSet = false; + + Aws::Map m_parameterDefinitions; + bool m_parameterDefinitionsHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/SecurityControlParameter.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/SecurityControlParameter.h new file mode 100644 index 00000000000..624232d266b --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/SecurityControlParameter.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 + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

    A parameter that a security control accepts.

    See Also:

    AWS + * API Reference

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

    The name of a

    + */ + inline const Aws::String& GetName() const{ return m_name; } + + /** + *

    The name of a

    + */ + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + + /** + *

    The name of a

    + */ + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + + /** + *

    The name of a

    + */ + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + + /** + *

    The name of a

    + */ + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + + /** + *

    The name of a

    + */ + inline SecurityControlParameter& WithName(const Aws::String& value) { SetName(value); return *this;} + + /** + *

    The name of a

    + */ + inline SecurityControlParameter& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + + /** + *

    The name of a

    + */ + inline SecurityControlParameter& WithName(const char* value) { SetName(value); return *this;} + + + /** + *

    The current value of a control parameter.

    + */ + inline const Aws::Vector& GetValue() const{ return m_value; } + + /** + *

    The current value of a control parameter.

    + */ + inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; } + + /** + *

    The current value of a control parameter.

    + */ + inline void SetValue(const Aws::Vector& value) { m_valueHasBeenSet = true; m_value = value; } + + /** + *

    The current value of a control parameter.

    + */ + inline void SetValue(Aws::Vector&& value) { m_valueHasBeenSet = true; m_value = std::move(value); } + + /** + *

    The current value of a control parameter.

    + */ + inline SecurityControlParameter& WithValue(const Aws::Vector& value) { SetValue(value); return *this;} + + /** + *

    The current value of a control parameter.

    + */ + inline SecurityControlParameter& WithValue(Aws::Vector&& value) { SetValue(std::move(value)); return *this;} + + /** + *

    The current value of a control parameter.

    + */ + inline SecurityControlParameter& AddValue(const Aws::String& value) { m_valueHasBeenSet = true; m_value.push_back(value); return *this; } + + /** + *

    The current value of a control parameter.

    + */ + inline SecurityControlParameter& AddValue(Aws::String&& value) { m_valueHasBeenSet = true; m_value.push_back(std::move(value)); return *this; } + + /** + *

    The current value of a control parameter.

    + */ + inline SecurityControlParameter& AddValue(const char* value) { m_valueHasBeenSet = true; m_value.push_back(value); return *this; } + + private: + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::Vector m_value; + bool m_valueHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/SecurityControlProperty.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/SecurityControlProperty.h new file mode 100644 index 00000000000..e80eea684fa --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/SecurityControlProperty.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 SecurityHub +{ +namespace Model +{ + enum class SecurityControlProperty + { + NOT_SET, + Parameters + }; + +namespace SecurityControlPropertyMapper +{ +AWS_SECURITYHUB_API SecurityControlProperty GetSecurityControlPropertyForName(const Aws::String& name); + +AWS_SECURITYHUB_API Aws::String GetNameForSecurityControlProperty(SecurityControlProperty value); +} // namespace SecurityControlPropertyMapper +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/Severity.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/Severity.h index c96fc68b888..f075162e546 100644 --- a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/Severity.h +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/Severity.h @@ -45,7 +45,7 @@ namespace Model /** - *

    Deprecated. This attribute is being deprecated. Instead of providing + *

    Deprecated. This attribute isn't included in findings. Instead of providing * Product, provide Original.

    The native severity * as defined by the Amazon Web Services service or integrated partner product that * generated the finding.

    @@ -53,7 +53,7 @@ namespace Model inline double GetProduct() const{ return m_product; } /** - *

    Deprecated. This attribute is being deprecated. Instead of providing + *

    Deprecated. This attribute isn't included in findings. Instead of providing * Product, provide Original.

    The native severity * as defined by the Amazon Web Services service or integrated partner product that * generated the finding.

    @@ -61,7 +61,7 @@ namespace Model inline bool ProductHasBeenSet() const { return m_productHasBeenSet; } /** - *

    Deprecated. This attribute is being deprecated. Instead of providing + *

    Deprecated. This attribute isn't included in findings. Instead of providing * Product, provide Original.

    The native severity * as defined by the Amazon Web Services service or integrated partner product that * generated the finding.

    @@ -69,7 +69,7 @@ namespace Model inline void SetProduct(double value) { m_productHasBeenSet = true; m_product = value; } /** - *

    Deprecated. This attribute is being deprecated. Instead of providing + *

    Deprecated. This attribute isn't included in findings. Instead of providing * Product, provide Original.

    The native severity * as defined by the Amazon Web Services service or integrated partner product that * generated the finding.

    @@ -175,50 +175,46 @@ namespace Model /** - *

    Deprecated. The normalized severity of a finding. This attribute is being - * deprecated. Instead of providing Normalized, provide - * Label.

    If you provide Label and do not provide - * Normalized, then Normalized is set automatically as - * follows.

    • INFORMATIONAL - 0

    • - * LOW - 1

    • MEDIUM - 40

    • - *

      HIGH - 70

    • CRITICAL - 90

      - *
    + *

    Deprecated. The normalized severity of a finding. Instead of providing + * Normalized, provide Label.

    If you provide + * Label and do not provide Normalized, then + * Normalized is set automatically as follows.

    • + * INFORMATIONAL - 0

    • LOW - 1

    • + *
    • MEDIUM - 40

    • HIGH - 70

      + *
    • CRITICAL - 90

    */ inline int GetNormalized() const{ return m_normalized; } /** - *

    Deprecated. The normalized severity of a finding. This attribute is being - * deprecated. Instead of providing Normalized, provide - * Label.

    If you provide Label and do not provide - * Normalized, then Normalized is set automatically as - * follows.

    • INFORMATIONAL - 0

    • - * LOW - 1

    • MEDIUM - 40

    • - *

      HIGH - 70

    • CRITICAL - 90

      - *
    + *

    Deprecated. The normalized severity of a finding. Instead of providing + * Normalized, provide Label.

    If you provide + * Label and do not provide Normalized, then + * Normalized is set automatically as follows.

    • + * INFORMATIONAL - 0

    • LOW - 1

    • + *
    • MEDIUM - 40

    • HIGH - 70

      + *
    • CRITICAL - 90

    */ inline bool NormalizedHasBeenSet() const { return m_normalizedHasBeenSet; } /** - *

    Deprecated. The normalized severity of a finding. This attribute is being - * deprecated. Instead of providing Normalized, provide - * Label.

    If you provide Label and do not provide - * Normalized, then Normalized is set automatically as - * follows.

    • INFORMATIONAL - 0

    • - * LOW - 1

    • MEDIUM - 40

    • - *

      HIGH - 70

    • CRITICAL - 90

      - *
    + *

    Deprecated. The normalized severity of a finding. Instead of providing + * Normalized, provide Label.

    If you provide + * Label and do not provide Normalized, then + * Normalized is set automatically as follows.

    • + * INFORMATIONAL - 0

    • LOW - 1

    • + *
    • MEDIUM - 40

    • HIGH - 70

      + *
    • CRITICAL - 90

    */ inline void SetNormalized(int value) { m_normalizedHasBeenSet = true; m_normalized = value; } /** - *

    Deprecated. The normalized severity of a finding. This attribute is being - * deprecated. Instead of providing Normalized, provide - * Label.

    If you provide Label and do not provide - * Normalized, then Normalized is set automatically as - * follows.

    • INFORMATIONAL - 0

    • - * LOW - 1

    • MEDIUM - 40

    • - *

      HIGH - 70

    • CRITICAL - 90

      - *
    + *

    Deprecated. The normalized severity of a finding. Instead of providing + * Normalized, provide Label.

    If you provide + * Label and do not provide Normalized, then + * Normalized is set automatically as follows.

    • + * INFORMATIONAL - 0

    • LOW - 1

    • + *
    • MEDIUM - 40

    • HIGH - 70

      + *
    • CRITICAL - 90

    */ inline Severity& WithNormalized(int value) { SetNormalized(value); return *this;} diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/StringConfigurationOptions.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/StringConfigurationOptions.h new file mode 100644 index 00000000000..a02eb5fded4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/StringConfigurationOptions.h @@ -0,0 +1,193 @@ +/** + * 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 SecurityHub +{ +namespace Model +{ + + /** + *

    The options for customizing a security control parameter that is a string. + *

    See Also:

    AWS + * API Reference

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

    The Security Hub default value for a control parameter that is a string. + *

    + */ + inline const Aws::String& GetDefaultValue() const{ return m_defaultValue; } + + /** + *

    The Security Hub default value for a control parameter that is a string. + *

    + */ + inline bool DefaultValueHasBeenSet() const { return m_defaultValueHasBeenSet; } + + /** + *

    The Security Hub default value for a control parameter that is a string. + *

    + */ + inline void SetDefaultValue(const Aws::String& value) { m_defaultValueHasBeenSet = true; m_defaultValue = value; } + + /** + *

    The Security Hub default value for a control parameter that is a string. + *

    + */ + inline void SetDefaultValue(Aws::String&& value) { m_defaultValueHasBeenSet = true; m_defaultValue = std::move(value); } + + /** + *

    The Security Hub default value for a control parameter that is a string. + *

    + */ + inline void SetDefaultValue(const char* value) { m_defaultValueHasBeenSet = true; m_defaultValue.assign(value); } + + /** + *

    The Security Hub default value for a control parameter that is a string. + *

    + */ + inline StringConfigurationOptions& WithDefaultValue(const Aws::String& value) { SetDefaultValue(value); return *this;} + + /** + *

    The Security Hub default value for a control parameter that is a string. + *

    + */ + inline StringConfigurationOptions& WithDefaultValue(Aws::String&& value) { SetDefaultValue(std::move(value)); return *this;} + + /** + *

    The Security Hub default value for a control parameter that is a string. + *

    + */ + inline StringConfigurationOptions& WithDefaultValue(const char* value) { SetDefaultValue(value); return *this;} + + + /** + *

    An RE2 regular expression that Security Hub uses to validate a user-provided + * control parameter string.

    + */ + inline const Aws::String& GetRe2Expression() const{ return m_re2Expression; } + + /** + *

    An RE2 regular expression that Security Hub uses to validate a user-provided + * control parameter string.

    + */ + inline bool Re2ExpressionHasBeenSet() const { return m_re2ExpressionHasBeenSet; } + + /** + *

    An RE2 regular expression that Security Hub uses to validate a user-provided + * control parameter string.

    + */ + inline void SetRe2Expression(const Aws::String& value) { m_re2ExpressionHasBeenSet = true; m_re2Expression = value; } + + /** + *

    An RE2 regular expression that Security Hub uses to validate a user-provided + * control parameter string.

    + */ + inline void SetRe2Expression(Aws::String&& value) { m_re2ExpressionHasBeenSet = true; m_re2Expression = std::move(value); } + + /** + *

    An RE2 regular expression that Security Hub uses to validate a user-provided + * control parameter string.

    + */ + inline void SetRe2Expression(const char* value) { m_re2ExpressionHasBeenSet = true; m_re2Expression.assign(value); } + + /** + *

    An RE2 regular expression that Security Hub uses to validate a user-provided + * control parameter string.

    + */ + inline StringConfigurationOptions& WithRe2Expression(const Aws::String& value) { SetRe2Expression(value); return *this;} + + /** + *

    An RE2 regular expression that Security Hub uses to validate a user-provided + * control parameter string.

    + */ + inline StringConfigurationOptions& WithRe2Expression(Aws::String&& value) { SetRe2Expression(std::move(value)); return *this;} + + /** + *

    An RE2 regular expression that Security Hub uses to validate a user-provided + * control parameter string.

    + */ + inline StringConfigurationOptions& WithRe2Expression(const char* value) { SetRe2Expression(value); return *this;} + + + /** + *

    The description of the RE2 regular expression.

    + */ + inline const Aws::String& GetExpressionDescription() const{ return m_expressionDescription; } + + /** + *

    The description of the RE2 regular expression.

    + */ + inline bool ExpressionDescriptionHasBeenSet() const { return m_expressionDescriptionHasBeenSet; } + + /** + *

    The description of the RE2 regular expression.

    + */ + inline void SetExpressionDescription(const Aws::String& value) { m_expressionDescriptionHasBeenSet = true; m_expressionDescription = value; } + + /** + *

    The description of the RE2 regular expression.

    + */ + inline void SetExpressionDescription(Aws::String&& value) { m_expressionDescriptionHasBeenSet = true; m_expressionDescription = std::move(value); } + + /** + *

    The description of the RE2 regular expression.

    + */ + inline void SetExpressionDescription(const char* value) { m_expressionDescriptionHasBeenSet = true; m_expressionDescription.assign(value); } + + /** + *

    The description of the RE2 regular expression.

    + */ + inline StringConfigurationOptions& WithExpressionDescription(const Aws::String& value) { SetExpressionDescription(value); return *this;} + + /** + *

    The description of the RE2 regular expression.

    + */ + inline StringConfigurationOptions& WithExpressionDescription(Aws::String&& value) { SetExpressionDescription(std::move(value)); return *this;} + + /** + *

    The description of the RE2 regular expression.

    + */ + inline StringConfigurationOptions& WithExpressionDescription(const char* value) { SetExpressionDescription(value); return *this;} + + private: + + Aws::String m_defaultValue; + bool m_defaultValueHasBeenSet = false; + + Aws::String m_re2Expression; + bool m_re2ExpressionHasBeenSet = false; + + Aws::String m_expressionDescription; + bool m_expressionDescriptionHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/StringListConfigurationOptions.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/StringListConfigurationOptions.h new file mode 100644 index 00000000000..af438eeaec9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/StringListConfigurationOptions.h @@ -0,0 +1,228 @@ +/** + * 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 SecurityHub +{ +namespace Model +{ + + /** + *

    The options for customizing a security control parameter that is a list of + * strings.

    See Also:

    AWS + * API Reference

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

    The Security Hub default value for a control parameter that is a list of + * strings.

    + */ + inline const Aws::Vector& GetDefaultValue() const{ return m_defaultValue; } + + /** + *

    The Security Hub default value for a control parameter that is a list of + * strings.

    + */ + inline bool DefaultValueHasBeenSet() const { return m_defaultValueHasBeenSet; } + + /** + *

    The Security Hub default value for a control parameter that is a list of + * strings.

    + */ + inline void SetDefaultValue(const Aws::Vector& value) { m_defaultValueHasBeenSet = true; m_defaultValue = value; } + + /** + *

    The Security Hub default value for a control parameter that is a list of + * strings.

    + */ + inline void SetDefaultValue(Aws::Vector&& value) { m_defaultValueHasBeenSet = true; m_defaultValue = std::move(value); } + + /** + *

    The Security Hub default value for a control parameter that is a list of + * strings.

    + */ + inline StringListConfigurationOptions& WithDefaultValue(const Aws::Vector& value) { SetDefaultValue(value); return *this;} + + /** + *

    The Security Hub default value for a control parameter that is a list of + * strings.

    + */ + inline StringListConfigurationOptions& WithDefaultValue(Aws::Vector&& value) { SetDefaultValue(std::move(value)); return *this;} + + /** + *

    The Security Hub default value for a control parameter that is a list of + * strings.

    + */ + inline StringListConfigurationOptions& AddDefaultValue(const Aws::String& value) { m_defaultValueHasBeenSet = true; m_defaultValue.push_back(value); return *this; } + + /** + *

    The Security Hub default value for a control parameter that is a list of + * strings.

    + */ + inline StringListConfigurationOptions& AddDefaultValue(Aws::String&& value) { m_defaultValueHasBeenSet = true; m_defaultValue.push_back(std::move(value)); return *this; } + + /** + *

    The Security Hub default value for a control parameter that is a list of + * strings.

    + */ + inline StringListConfigurationOptions& AddDefaultValue(const char* value) { m_defaultValueHasBeenSet = true; m_defaultValue.push_back(value); return *this; } + + + /** + *

    An RE2 regular expression that Security Hub uses to validate a user-provided + * list of strings for a control parameter.

    + */ + inline const Aws::String& GetRe2Expression() const{ return m_re2Expression; } + + /** + *

    An RE2 regular expression that Security Hub uses to validate a user-provided + * list of strings for a control parameter.

    + */ + inline bool Re2ExpressionHasBeenSet() const { return m_re2ExpressionHasBeenSet; } + + /** + *

    An RE2 regular expression that Security Hub uses to validate a user-provided + * list of strings for a control parameter.

    + */ + inline void SetRe2Expression(const Aws::String& value) { m_re2ExpressionHasBeenSet = true; m_re2Expression = value; } + + /** + *

    An RE2 regular expression that Security Hub uses to validate a user-provided + * list of strings for a control parameter.

    + */ + inline void SetRe2Expression(Aws::String&& value) { m_re2ExpressionHasBeenSet = true; m_re2Expression = std::move(value); } + + /** + *

    An RE2 regular expression that Security Hub uses to validate a user-provided + * list of strings for a control parameter.

    + */ + inline void SetRe2Expression(const char* value) { m_re2ExpressionHasBeenSet = true; m_re2Expression.assign(value); } + + /** + *

    An RE2 regular expression that Security Hub uses to validate a user-provided + * list of strings for a control parameter.

    + */ + inline StringListConfigurationOptions& WithRe2Expression(const Aws::String& value) { SetRe2Expression(value); return *this;} + + /** + *

    An RE2 regular expression that Security Hub uses to validate a user-provided + * list of strings for a control parameter.

    + */ + inline StringListConfigurationOptions& WithRe2Expression(Aws::String&& value) { SetRe2Expression(std::move(value)); return *this;} + + /** + *

    An RE2 regular expression that Security Hub uses to validate a user-provided + * list of strings for a control parameter.

    + */ + inline StringListConfigurationOptions& WithRe2Expression(const char* value) { SetRe2Expression(value); return *this;} + + + /** + *

    The maximum number of list items that a string list control parameter can + * accept.

    + */ + inline int GetMaxItems() const{ return m_maxItems; } + + /** + *

    The maximum number of list items that a string list control parameter can + * accept.

    + */ + inline bool MaxItemsHasBeenSet() const { return m_maxItemsHasBeenSet; } + + /** + *

    The maximum number of list items that a string list control parameter can + * accept.

    + */ + inline void SetMaxItems(int value) { m_maxItemsHasBeenSet = true; m_maxItems = value; } + + /** + *

    The maximum number of list items that a string list control parameter can + * accept.

    + */ + inline StringListConfigurationOptions& WithMaxItems(int value) { SetMaxItems(value); return *this;} + + + /** + *

    The description of the RE2 regular expression.

    + */ + inline const Aws::String& GetExpressionDescription() const{ return m_expressionDescription; } + + /** + *

    The description of the RE2 regular expression.

    + */ + inline bool ExpressionDescriptionHasBeenSet() const { return m_expressionDescriptionHasBeenSet; } + + /** + *

    The description of the RE2 regular expression.

    + */ + inline void SetExpressionDescription(const Aws::String& value) { m_expressionDescriptionHasBeenSet = true; m_expressionDescription = value; } + + /** + *

    The description of the RE2 regular expression.

    + */ + inline void SetExpressionDescription(Aws::String&& value) { m_expressionDescriptionHasBeenSet = true; m_expressionDescription = std::move(value); } + + /** + *

    The description of the RE2 regular expression.

    + */ + inline void SetExpressionDescription(const char* value) { m_expressionDescriptionHasBeenSet = true; m_expressionDescription.assign(value); } + + /** + *

    The description of the RE2 regular expression.

    + */ + inline StringListConfigurationOptions& WithExpressionDescription(const Aws::String& value) { SetExpressionDescription(value); return *this;} + + /** + *

    The description of the RE2 regular expression.

    + */ + inline StringListConfigurationOptions& WithExpressionDescription(Aws::String&& value) { SetExpressionDescription(std::move(value)); return *this;} + + /** + *

    The description of the RE2 regular expression.

    + */ + inline StringListConfigurationOptions& WithExpressionDescription(const char* value) { SetExpressionDescription(value); return *this;} + + private: + + Aws::Vector m_defaultValue; + bool m_defaultValueHasBeenSet = false; + + Aws::String m_re2Expression; + bool m_re2ExpressionHasBeenSet = false; + + int m_maxItems; + bool m_maxItemsHasBeenSet = false; + + Aws::String m_expressionDescription; + bool m_expressionDescriptionHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/UpdateSecurityControlRequest.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/UpdateSecurityControlRequest.h new file mode 100644 index 00000000000..345a25de4a7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/UpdateSecurityControlRequest.h @@ -0,0 +1,209 @@ +/** + * 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 SecurityHub +{ +namespace Model +{ + + /** + */ + class UpdateSecurityControlRequest : public SecurityHubRequest + { + public: + AWS_SECURITYHUB_API UpdateSecurityControlRequest(); + + // 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 "UpdateSecurityControl"; } + + AWS_SECURITYHUB_API Aws::String SerializePayload() const override; + + + /** + *

    The Amazon Resource Name (ARN) or ID of the control to update.

    + */ + inline const Aws::String& GetSecurityControlId() const{ return m_securityControlId; } + + /** + *

    The Amazon Resource Name (ARN) or ID of the control to update.

    + */ + inline bool SecurityControlIdHasBeenSet() const { return m_securityControlIdHasBeenSet; } + + /** + *

    The Amazon Resource Name (ARN) or ID of the control to update.

    + */ + inline void SetSecurityControlId(const Aws::String& value) { m_securityControlIdHasBeenSet = true; m_securityControlId = value; } + + /** + *

    The Amazon Resource Name (ARN) or ID of the control to update.

    + */ + inline void SetSecurityControlId(Aws::String&& value) { m_securityControlIdHasBeenSet = true; m_securityControlId = std::move(value); } + + /** + *

    The Amazon Resource Name (ARN) or ID of the control to update.

    + */ + inline void SetSecurityControlId(const char* value) { m_securityControlIdHasBeenSet = true; m_securityControlId.assign(value); } + + /** + *

    The Amazon Resource Name (ARN) or ID of the control to update.

    + */ + inline UpdateSecurityControlRequest& WithSecurityControlId(const Aws::String& value) { SetSecurityControlId(value); return *this;} + + /** + *

    The Amazon Resource Name (ARN) or ID of the control to update.

    + */ + inline UpdateSecurityControlRequest& WithSecurityControlId(Aws::String&& value) { SetSecurityControlId(std::move(value)); return *this;} + + /** + *

    The Amazon Resource Name (ARN) or ID of the control to update.

    + */ + inline UpdateSecurityControlRequest& WithSecurityControlId(const char* value) { SetSecurityControlId(value); return *this;} + + + /** + *

    An object that specifies which security control parameters to update.

    + */ + inline const Aws::Map& GetParameters() const{ return m_parameters; } + + /** + *

    An object that specifies which security control parameters to update.

    + */ + inline bool ParametersHasBeenSet() const { return m_parametersHasBeenSet; } + + /** + *

    An object that specifies which security control parameters to update.

    + */ + inline void SetParameters(const Aws::Map& value) { m_parametersHasBeenSet = true; m_parameters = value; } + + /** + *

    An object that specifies which security control parameters to update.

    + */ + inline void SetParameters(Aws::Map&& value) { m_parametersHasBeenSet = true; m_parameters = std::move(value); } + + /** + *

    An object that specifies which security control parameters to update.

    + */ + inline UpdateSecurityControlRequest& WithParameters(const Aws::Map& value) { SetParameters(value); return *this;} + + /** + *

    An object that specifies which security control parameters to update.

    + */ + inline UpdateSecurityControlRequest& WithParameters(Aws::Map&& value) { SetParameters(std::move(value)); return *this;} + + /** + *

    An object that specifies which security control parameters to update.

    + */ + inline UpdateSecurityControlRequest& AddParameters(const Aws::String& key, const ParameterConfiguration& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, value); return *this; } + + /** + *

    An object that specifies which security control parameters to update.

    + */ + inline UpdateSecurityControlRequest& AddParameters(Aws::String&& key, const ParameterConfiguration& value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), value); return *this; } + + /** + *

    An object that specifies which security control parameters to update.

    + */ + inline UpdateSecurityControlRequest& AddParameters(const Aws::String& key, ParameterConfiguration&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, std::move(value)); return *this; } + + /** + *

    An object that specifies which security control parameters to update.

    + */ + inline UpdateSecurityControlRequest& AddParameters(Aws::String&& key, ParameterConfiguration&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), std::move(value)); return *this; } + + /** + *

    An object that specifies which security control parameters to update.

    + */ + inline UpdateSecurityControlRequest& AddParameters(const char* key, ParameterConfiguration&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, std::move(value)); return *this; } + + /** + *

    An object that specifies which security control parameters to update.

    + */ + inline UpdateSecurityControlRequest& AddParameters(const char* key, const ParameterConfiguration& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, value); return *this; } + + + /** + *

    The most recent reason for updating the properties of the security control. + * This field accepts alphanumeric characters in addition to white spaces, dashes, + * and underscores.

    + */ + inline const Aws::String& GetLastUpdateReason() const{ return m_lastUpdateReason; } + + /** + *

    The most recent reason for updating the properties of the security control. + * This field accepts alphanumeric characters in addition to white spaces, dashes, + * and underscores.

    + */ + inline bool LastUpdateReasonHasBeenSet() const { return m_lastUpdateReasonHasBeenSet; } + + /** + *

    The most recent reason for updating the properties of the security control. + * This field accepts alphanumeric characters in addition to white spaces, dashes, + * and underscores.

    + */ + inline void SetLastUpdateReason(const Aws::String& value) { m_lastUpdateReasonHasBeenSet = true; m_lastUpdateReason = value; } + + /** + *

    The most recent reason for updating the properties of the security control. + * This field accepts alphanumeric characters in addition to white spaces, dashes, + * and underscores.

    + */ + inline void SetLastUpdateReason(Aws::String&& value) { m_lastUpdateReasonHasBeenSet = true; m_lastUpdateReason = std::move(value); } + + /** + *

    The most recent reason for updating the properties of the security control. + * This field accepts alphanumeric characters in addition to white spaces, dashes, + * and underscores.

    + */ + inline void SetLastUpdateReason(const char* value) { m_lastUpdateReasonHasBeenSet = true; m_lastUpdateReason.assign(value); } + + /** + *

    The most recent reason for updating the properties of the security control. + * This field accepts alphanumeric characters in addition to white spaces, dashes, + * and underscores.

    + */ + inline UpdateSecurityControlRequest& WithLastUpdateReason(const Aws::String& value) { SetLastUpdateReason(value); return *this;} + + /** + *

    The most recent reason for updating the properties of the security control. + * This field accepts alphanumeric characters in addition to white spaces, dashes, + * and underscores.

    + */ + inline UpdateSecurityControlRequest& WithLastUpdateReason(Aws::String&& value) { SetLastUpdateReason(std::move(value)); return *this;} + + /** + *

    The most recent reason for updating the properties of the security control. + * This field accepts alphanumeric characters in addition to white spaces, dashes, + * and underscores.

    + */ + inline UpdateSecurityControlRequest& WithLastUpdateReason(const char* value) { SetLastUpdateReason(value); return *this;} + + private: + + Aws::String m_securityControlId; + bool m_securityControlIdHasBeenSet = false; + + Aws::Map m_parameters; + bool m_parametersHasBeenSet = false; + + Aws::String m_lastUpdateReason; + bool m_lastUpdateReasonHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/UpdateSecurityControlResult.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/UpdateSecurityControlResult.h new file mode 100644 index 00000000000..af10ce432d6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/UpdateSecurityControlResult.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 + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + class UpdateSecurityControlResult + { + public: + AWS_SECURITYHUB_API UpdateSecurityControlResult(); + AWS_SECURITYHUB_API UpdateSecurityControlResult(const Aws::AmazonWebServiceResult& result); + AWS_SECURITYHUB_API UpdateSecurityControlResult& 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 UpdateSecurityControlResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline UpdateSecurityControlResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline UpdateSecurityControlResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/UpdateStatus.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/UpdateStatus.h new file mode 100644 index 00000000000..031b70ea16f --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/UpdateStatus.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 SecurityHub +{ +namespace Model +{ + enum class UpdateStatus + { + NOT_SET, + READY, + UPDATING + }; + +namespace UpdateStatusMapper +{ +AWS_SECURITYHUB_API UpdateStatus GetUpdateStatusForName(const Aws::String& name); + +AWS_SECURITYHUB_API Aws::String GetNameForUpdateStatus(UpdateStatus value); +} // namespace UpdateStatusMapper +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/SecurityHubClient.cpp b/generated/src/aws-cpp-sdk-securityhub/source/SecurityHubClient.cpp index 27ebd6cac7b..d969e023d5a 100644 --- a/generated/src/aws-cpp-sdk-securityhub/source/SecurityHubClient.cpp +++ b/generated/src/aws-cpp-sdk-securityhub/source/SecurityHubClient.cpp @@ -66,6 +66,7 @@ #include #include #include +#include #include #include #include @@ -83,6 +84,7 @@ #include #include #include +#include #include #include @@ -1475,6 +1477,38 @@ GetMembersOutcome SecurityHubClient::GetMembers(const GetMembersRequest& request {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +GetSecurityControlDefinitionOutcome SecurityHubClient::GetSecurityControlDefinition(const GetSecurityControlDefinitionRequest& request) const +{ + AWS_OPERATION_GUARD(GetSecurityControlDefinition); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetSecurityControlDefinition, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.SecurityControlIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetSecurityControlDefinition", "Required field: SecurityControlId, is not set"); + return GetSecurityControlDefinitionOutcome(Aws::Client::AWSError(SecurityHubErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [SecurityControlId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetSecurityControlDefinition, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetSecurityControlDefinition, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetSecurityControlDefinition", + {{ 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( + [&]()-> GetSecurityControlDefinitionOutcome { + 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, GetSecurityControlDefinition, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/securityControl/definition"); + return GetSecurityControlDefinitionOutcome(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()}}); +} + InviteMembersOutcome SecurityHubClient::InviteMembers(const InviteMembersRequest& request) const { AWS_OPERATION_GUARD(InviteMembers); @@ -1974,6 +2008,33 @@ UpdateOrganizationConfigurationOutcome SecurityHubClient::UpdateOrganizationConf {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +UpdateSecurityControlOutcome SecurityHubClient::UpdateSecurityControl(const UpdateSecurityControlRequest& request) const +{ + AWS_OPERATION_GUARD(UpdateSecurityControl); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UpdateSecurityControl, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, UpdateSecurityControl, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, UpdateSecurityControl, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".UpdateSecurityControl", + {{ 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( + [&]()-> UpdateSecurityControlOutcome { + 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, UpdateSecurityControl, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/securityControl/update"); + return UpdateSecurityControlOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PATCH, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + UpdateSecurityHubConfigurationOutcome SecurityHubClient::UpdateSecurityHubConfiguration(const UpdateSecurityHubConfigurationRequest& request) const { AWS_OPERATION_GUARD(UpdateSecurityHubConfiguration); diff --git a/generated/src/aws-cpp-sdk-securityhub/source/SecurityHubEndpointRules.cpp b/generated/src/aws-cpp-sdk-securityhub/source/SecurityHubEndpointRules.cpp index 640e7c5b5ec..ae16fb02cef 100644 --- a/generated/src/aws-cpp-sdk-securityhub/source/SecurityHubEndpointRules.cpp +++ b/generated/src/aws-cpp-sdk-securityhub/source/SecurityHubEndpointRules.cpp @@ -51,107 +51,107 @@ static constexpr RulesBlobT RulesBlob = {{ ',','"','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','"',':','[','{','"','f','n','"',':','"', 'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', -'d','p','o','i','n','t','"','}',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', -',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', -'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r', -'u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','C','o', -'n','f','i','g','u','r','a','t','i','o','n',':',' ','F','I','P','S',' ','a','n','d',' ','c','u','s', -'t','o','m',' ','e','n','d','p','o','i','n','t',' ','a','r','e',' ','n','o','t',' ','s','u','p','p', -'o','r','t','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e', +'d','p','o','i','n','t','"','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', +'s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':', +'"','I','n','v','a','l','i','d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','F', +'I','P','S',' ','a','n','d',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','a', +'r','e',' ','n','o','t',' ','s','u','p','p','o','r','t','e','d','"',',','"','t','y','p','e','"',':', +'"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"', +'}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i', +'d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','D','u','a','l','s','t','a','c', +'k',' ','a','n','d',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','a','r','e', +' ','n','o','t',' ','s','u','p','p','o','r','t','e','d','"',',','"','t','y','p','e','"',':','"','e', +'r','r','o','r','"','}',',','{','"','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','"',':','{', +'}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e', +'n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s', +'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i', +'o','n','"','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i', +'o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o', +'n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','P','a','r','t','i','t','i','o','n','R', +'e','s','u','l','t','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F', +'I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', 'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', '"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"', -'e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','C','o','n','f','i','g','u','r','a', -'t','i','o','n',':',' ','D','u','a','l','s','t','a','c','k',' ','a','n','d',' ','c','u','s','t','o', -'m',' ','e','n','d','p','o','i','n','t',' ','a','r','e',' ','n','o','t',' ','s','u','p','p','o','r', -'t','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o', +'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R', +'e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','F','I','P','S','"',']','}',']', +'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t', +'r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t', +'i','o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','D','u','a','l', +'S','t','a','c','k','"',']','}',']','}',']',',','"','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','"',':','{','}',',','"','h','e','a','d','e','r','s','"', -':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}', -',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s', -'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i', -'o','n','"','}',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u', -'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', -'"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g', -'n','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',']',',','"','t', -'y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o', -'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', -'s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o', -'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}', -']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o', -'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','t','r','u','e',',', -'{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',', -'"','s','u','p','p','o','r','t','s','F','I','P','S','"',']','}',']','}',',','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','t', -'r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l', -'t','"','}',',','"','s','u','p','p','o','r','t','s','D','u','a','l','S','t','a','c','k','"',']','}', -']','}',']',',','"','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','"',':','"','h','t','t','p','s',':','/','/','s','e','c','u', -'r','i','t','y','h','u','b','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','P','a', -'r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','u','a','l','S','t','a','c','k','D','n', -'s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}', -',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n', -'d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[',']',',','"','e','r','r','o','r','"',':','"','F','I','P','S',' ','a','n','d',' ','D','u','a','l', -'S','t','a','c','k',' ','a','r','e',' ','e','n','a','b','l','e','d',',',' ','b','u','t',' ','t','h', -'i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p', -'p','o','r','t',' ','o','n','e',' ','o','r',' ','b','o','t','h','"',',','"','t','y','p','e','"',':', -'"','e','r','r','o','r','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t', -'r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l', -'e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', -':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', -'t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u', -'l','t','"','}',',','"','s','u','p','p','o','r','t','s','F','I','P','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','"',':','"','h','t','t','p','s',':','/','/','s','e','c','u','r','i','t','y', -'h','u','b','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t', -'i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r', -'o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}', -'}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',',','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','F', -'I','P','S',' ','i','s',' ','e','n','a','b','l','e','d',' ','b','u','t',' ','t','h','i','s',' ','p', -'a','r','t','i','t','i','o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t', -' ','F','I','P','S','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',',', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o', -'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']', -',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l', -'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','t','r','u','e',',','{', -'"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"', -'s','u','p','p','o','r','t','s','D','u','a','l','S','t','a','c','k','"',']','}',']','}',']',',','"', -'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','"',':','"','h','t','t','p','s',':','/','/','s','e','c','u','r','i','t','y','h', -'u','b','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s', -'u','l','t','#','d','u','a','l','S','t','a','c','k','D','n','s','S','u','f','f','i','x','}','"',',', -'"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"', -':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}', -',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"', -':','"','D','u','a','l','S','t','a','c','k',' ','i','s',' ','e','n','a','b','l','e','d',' ','b','u', +'"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','s','e','c','u','r','i','t','y','h','u', +'b','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o', +'n','R','e','s','u','l','t','#','d','u','a','l','S','t','a','c','k','D','n','s','S','u','f','f','i', +'x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d', +'e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t', +'"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','F','I','P','S',' ', +'a','n','d',' ','D','u','a','l','S','t','a','c','k',' ','a','r','e',' ','e','n','a','b','l','e','d', +',',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s', +' ','n','o','t',' ','s','u','p','p','o','r','t',' ','o','n','e',' ','o','r',' ','b','o','t','h','"', +',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':', +'"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e', +']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s', +'"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R', +'e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','F','I','P','S','"',']','}',',', +'t','r','u','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', +'"',':','"','h','t','t','p','s',':','/','/','s','e','c','u','r','i','t','y','h','u','b','-','f','i', +'p','s','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s', +'u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i', +'e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', +'e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t', +'r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e', +'r','r','o','r','"',':','"','F','I','P','S',' ','i','s',' ','e','n','a','b','l','e','d',' ','b','u', 't',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ','n','o','t', -' ','s','u','p','p','o','r','t',' ','D','u','a','l','S','t','a','c','k','"',',','"','t','y','p','e', -'"',':','"','e','r','r','o','r','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h', -'t','t','p','s',':','/','/','s','e','c','u','r','i','t','y','h','u','b','.','{','R','e','g','i','o', -'n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u', -'f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h', -'e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o', -'i','n','t','"','}',']','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +' ','s','u','p','p','o','r','t',' ','F','I','P','S','"',',','"','t','y','p','e','"',':','"','e','r', +'r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a', +'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"','r', +'u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', +'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e', +'s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','D','u','a','l','S','t','a','c','k', +'"',']','}',']','}',']',',','"','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','"', +':','"','h','t','t','p','s',':','/','/','s','e','c','u','r','i','t','y','h','u','b','.','{','R','e', +'g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','u', +'a','l','S','t','a','c','k','D','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e', +'r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"', +'t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"', +':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']', +',','"','e','r','r','o','r','"',':','"','D','u','a','l','S','t','a','c','k',' ','i','s',' ','e','n', +'a','b','l','e','d',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ', +'d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','D','u','a','l','S','t','a','c', +'k','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e', +'"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p', +'s',':','/','/','s','e','c','u','r','i','t','y','h','u','b','.','{','R','e','g','i','o','n','}','.', +'{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i', +'x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d', +'e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t', +'"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e', +'"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', ']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','C','o','n','f','i','g', 'u','r','a','t','i','o','n',':',' ','M','i','s','s','i','n','g',' ','R','e','g','i','o','n','"',',', '"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}','\0' diff --git a/generated/src/aws-cpp-sdk-securityhub/source/SecurityHubErrors.cpp b/generated/src/aws-cpp-sdk-securityhub/source/SecurityHubErrors.cpp index aa5b9938ac6..68af6e67bcf 100644 --- a/generated/src/aws-cpp-sdk-securityhub/source/SecurityHubErrors.cpp +++ b/generated/src/aws-cpp-sdk-securityhub/source/SecurityHubErrors.cpp @@ -13,6 +13,7 @@ #include #include #include +#include using namespace Aws::Client; using namespace Aws::Utils; @@ -65,6 +66,12 @@ template<> AWS_SECURITYHUB_API InvalidInputException SecurityHubError::GetModele return InvalidInputException(this->GetJsonPayload().View()); } +template<> AWS_SECURITYHUB_API ResourceInUseException SecurityHubError::GetModeledError() +{ + assert(this->GetErrorType() == SecurityHubErrors::RESOURCE_IN_USE); + return ResourceInUseException(this->GetJsonPayload().View()); +} + namespace SecurityHubErrorMapper { @@ -73,6 +80,7 @@ static const int INVALID_ACCESS_HASH = HashingUtils::HashString("InvalidAccessEx static const int LIMIT_EXCEEDED_HASH = HashingUtils::HashString("LimitExceededException"); static const int RESOURCE_CONFLICT_HASH = HashingUtils::HashString("ResourceConflictException"); static const int INVALID_INPUT_HASH = HashingUtils::HashString("InvalidInputException"); +static const int RESOURCE_IN_USE_HASH = HashingUtils::HashString("ResourceInUseException"); AWSError GetErrorForName(const char* errorName) @@ -99,6 +107,10 @@ AWSError GetErrorForName(const char* errorName) { return AWSError(static_cast(SecurityHubErrors::INVALID_INPUT), false); } + else if (hashCode == RESOURCE_IN_USE_HASH) + { + return AWSError(static_cast(SecurityHubErrors::RESOURCE_IN_USE), false); + } return AWSError(CoreErrors::UNKNOWN, false); } diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/AwsSecurityFindingFilters.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/AwsSecurityFindingFilters.cpp index 29df18dea18..7a621de3b6d 100644 --- a/generated/src/aws-cpp-sdk-securityhub/source/model/AwsSecurityFindingFilters.cpp +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/AwsSecurityFindingFilters.cpp @@ -111,7 +111,11 @@ AwsSecurityFindingFilters::AwsSecurityFindingFilters() : m_findingProviderFieldsTypesHasBeenSet(false), m_sampleHasBeenSet(false), m_complianceSecurityControlIdHasBeenSet(false), - m_complianceAssociatedStandardsIdHasBeenSet(false) + m_complianceAssociatedStandardsIdHasBeenSet(false), + m_vulnerabilitiesExploitAvailableHasBeenSet(false), + m_vulnerabilitiesFixAvailableHasBeenSet(false), + m_complianceSecurityControlParametersNameHasBeenSet(false), + m_complianceSecurityControlParametersValueHasBeenSet(false) { } @@ -208,7 +212,11 @@ AwsSecurityFindingFilters::AwsSecurityFindingFilters(JsonView jsonValue) : m_findingProviderFieldsTypesHasBeenSet(false), m_sampleHasBeenSet(false), m_complianceSecurityControlIdHasBeenSet(false), - m_complianceAssociatedStandardsIdHasBeenSet(false) + m_complianceAssociatedStandardsIdHasBeenSet(false), + m_vulnerabilitiesExploitAvailableHasBeenSet(false), + m_vulnerabilitiesFixAvailableHasBeenSet(false), + m_complianceSecurityControlParametersNameHasBeenSet(false), + m_complianceSecurityControlParametersValueHasBeenSet(false) { *this = jsonValue; } @@ -1145,6 +1153,46 @@ AwsSecurityFindingFilters& AwsSecurityFindingFilters::operator =(JsonView jsonVa m_complianceAssociatedStandardsIdHasBeenSet = true; } + if(jsonValue.ValueExists("VulnerabilitiesExploitAvailable")) + { + Aws::Utils::Array vulnerabilitiesExploitAvailableJsonList = jsonValue.GetArray("VulnerabilitiesExploitAvailable"); + for(unsigned vulnerabilitiesExploitAvailableIndex = 0; vulnerabilitiesExploitAvailableIndex < vulnerabilitiesExploitAvailableJsonList.GetLength(); ++vulnerabilitiesExploitAvailableIndex) + { + m_vulnerabilitiesExploitAvailable.push_back(vulnerabilitiesExploitAvailableJsonList[vulnerabilitiesExploitAvailableIndex].AsObject()); + } + m_vulnerabilitiesExploitAvailableHasBeenSet = true; + } + + if(jsonValue.ValueExists("VulnerabilitiesFixAvailable")) + { + Aws::Utils::Array vulnerabilitiesFixAvailableJsonList = jsonValue.GetArray("VulnerabilitiesFixAvailable"); + for(unsigned vulnerabilitiesFixAvailableIndex = 0; vulnerabilitiesFixAvailableIndex < vulnerabilitiesFixAvailableJsonList.GetLength(); ++vulnerabilitiesFixAvailableIndex) + { + m_vulnerabilitiesFixAvailable.push_back(vulnerabilitiesFixAvailableJsonList[vulnerabilitiesFixAvailableIndex].AsObject()); + } + m_vulnerabilitiesFixAvailableHasBeenSet = true; + } + + if(jsonValue.ValueExists("ComplianceSecurityControlParametersName")) + { + Aws::Utils::Array complianceSecurityControlParametersNameJsonList = jsonValue.GetArray("ComplianceSecurityControlParametersName"); + for(unsigned complianceSecurityControlParametersNameIndex = 0; complianceSecurityControlParametersNameIndex < complianceSecurityControlParametersNameJsonList.GetLength(); ++complianceSecurityControlParametersNameIndex) + { + m_complianceSecurityControlParametersName.push_back(complianceSecurityControlParametersNameJsonList[complianceSecurityControlParametersNameIndex].AsObject()); + } + m_complianceSecurityControlParametersNameHasBeenSet = true; + } + + if(jsonValue.ValueExists("ComplianceSecurityControlParametersValue")) + { + Aws::Utils::Array complianceSecurityControlParametersValueJsonList = jsonValue.GetArray("ComplianceSecurityControlParametersValue"); + for(unsigned complianceSecurityControlParametersValueIndex = 0; complianceSecurityControlParametersValueIndex < complianceSecurityControlParametersValueJsonList.GetLength(); ++complianceSecurityControlParametersValueIndex) + { + m_complianceSecurityControlParametersValue.push_back(complianceSecurityControlParametersValueJsonList[complianceSecurityControlParametersValueIndex].AsObject()); + } + m_complianceSecurityControlParametersValueHasBeenSet = true; + } + return *this; } @@ -2175,6 +2223,50 @@ JsonValue AwsSecurityFindingFilters::Jsonize() const } + if(m_vulnerabilitiesExploitAvailableHasBeenSet) + { + Aws::Utils::Array vulnerabilitiesExploitAvailableJsonList(m_vulnerabilitiesExploitAvailable.size()); + for(unsigned vulnerabilitiesExploitAvailableIndex = 0; vulnerabilitiesExploitAvailableIndex < vulnerabilitiesExploitAvailableJsonList.GetLength(); ++vulnerabilitiesExploitAvailableIndex) + { + vulnerabilitiesExploitAvailableJsonList[vulnerabilitiesExploitAvailableIndex].AsObject(m_vulnerabilitiesExploitAvailable[vulnerabilitiesExploitAvailableIndex].Jsonize()); + } + payload.WithArray("VulnerabilitiesExploitAvailable", std::move(vulnerabilitiesExploitAvailableJsonList)); + + } + + if(m_vulnerabilitiesFixAvailableHasBeenSet) + { + Aws::Utils::Array vulnerabilitiesFixAvailableJsonList(m_vulnerabilitiesFixAvailable.size()); + for(unsigned vulnerabilitiesFixAvailableIndex = 0; vulnerabilitiesFixAvailableIndex < vulnerabilitiesFixAvailableJsonList.GetLength(); ++vulnerabilitiesFixAvailableIndex) + { + vulnerabilitiesFixAvailableJsonList[vulnerabilitiesFixAvailableIndex].AsObject(m_vulnerabilitiesFixAvailable[vulnerabilitiesFixAvailableIndex].Jsonize()); + } + payload.WithArray("VulnerabilitiesFixAvailable", std::move(vulnerabilitiesFixAvailableJsonList)); + + } + + if(m_complianceSecurityControlParametersNameHasBeenSet) + { + Aws::Utils::Array complianceSecurityControlParametersNameJsonList(m_complianceSecurityControlParametersName.size()); + for(unsigned complianceSecurityControlParametersNameIndex = 0; complianceSecurityControlParametersNameIndex < complianceSecurityControlParametersNameJsonList.GetLength(); ++complianceSecurityControlParametersNameIndex) + { + complianceSecurityControlParametersNameJsonList[complianceSecurityControlParametersNameIndex].AsObject(m_complianceSecurityControlParametersName[complianceSecurityControlParametersNameIndex].Jsonize()); + } + payload.WithArray("ComplianceSecurityControlParametersName", std::move(complianceSecurityControlParametersNameJsonList)); + + } + + if(m_complianceSecurityControlParametersValueHasBeenSet) + { + Aws::Utils::Array complianceSecurityControlParametersValueJsonList(m_complianceSecurityControlParametersValue.size()); + for(unsigned complianceSecurityControlParametersValueIndex = 0; complianceSecurityControlParametersValueIndex < complianceSecurityControlParametersValueJsonList.GetLength(); ++complianceSecurityControlParametersValueIndex) + { + complianceSecurityControlParametersValueJsonList[complianceSecurityControlParametersValueIndex].AsObject(m_complianceSecurityControlParametersValue[complianceSecurityControlParametersValueIndex].Jsonize()); + } + payload.WithArray("ComplianceSecurityControlParametersValue", std::move(complianceSecurityControlParametersValueJsonList)); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/BooleanConfigurationOptions.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/BooleanConfigurationOptions.cpp new file mode 100644 index 00000000000..14a00423e0b --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/BooleanConfigurationOptions.cpp @@ -0,0 +1,61 @@ +/** + * 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 SecurityHub +{ +namespace Model +{ + +BooleanConfigurationOptions::BooleanConfigurationOptions() : + m_defaultValue(false), + m_defaultValueHasBeenSet(false) +{ +} + +BooleanConfigurationOptions::BooleanConfigurationOptions(JsonView jsonValue) : + m_defaultValue(false), + m_defaultValueHasBeenSet(false) +{ + *this = jsonValue; +} + +BooleanConfigurationOptions& BooleanConfigurationOptions::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("DefaultValue")) + { + m_defaultValue = jsonValue.GetBool("DefaultValue"); + + m_defaultValueHasBeenSet = true; + } + + return *this; +} + +JsonValue BooleanConfigurationOptions::Jsonize() const +{ + JsonValue payload; + + if(m_defaultValueHasBeenSet) + { + payload.WithBool("DefaultValue", m_defaultValue); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/Compliance.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/Compliance.cpp index 06765fc404a..5ec7d5ef7de 100644 --- a/generated/src/aws-cpp-sdk-securityhub/source/model/Compliance.cpp +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/Compliance.cpp @@ -24,7 +24,8 @@ Compliance::Compliance() : m_relatedRequirementsHasBeenSet(false), m_statusReasonsHasBeenSet(false), m_securityControlIdHasBeenSet(false), - m_associatedStandardsHasBeenSet(false) + m_associatedStandardsHasBeenSet(false), + m_securityControlParametersHasBeenSet(false) { } @@ -34,7 +35,8 @@ Compliance::Compliance(JsonView jsonValue) : m_relatedRequirementsHasBeenSet(false), m_statusReasonsHasBeenSet(false), m_securityControlIdHasBeenSet(false), - m_associatedStandardsHasBeenSet(false) + m_associatedStandardsHasBeenSet(false), + m_securityControlParametersHasBeenSet(false) { *this = jsonValue; } @@ -85,6 +87,16 @@ Compliance& Compliance::operator =(JsonView jsonValue) m_associatedStandardsHasBeenSet = true; } + if(jsonValue.ValueExists("SecurityControlParameters")) + { + Aws::Utils::Array securityControlParametersJsonList = jsonValue.GetArray("SecurityControlParameters"); + for(unsigned securityControlParametersIndex = 0; securityControlParametersIndex < securityControlParametersJsonList.GetLength(); ++securityControlParametersIndex) + { + m_securityControlParameters.push_back(securityControlParametersJsonList[securityControlParametersIndex].AsObject()); + } + m_securityControlParametersHasBeenSet = true; + } + return *this; } @@ -136,6 +148,17 @@ JsonValue Compliance::Jsonize() const } + if(m_securityControlParametersHasBeenSet) + { + Aws::Utils::Array securityControlParametersJsonList(m_securityControlParameters.size()); + for(unsigned securityControlParametersIndex = 0; securityControlParametersIndex < securityControlParametersJsonList.GetLength(); ++securityControlParametersIndex) + { + securityControlParametersJsonList[securityControlParametersIndex].AsObject(m_securityControlParameters[securityControlParametersIndex].Jsonize()); + } + payload.WithArray("SecurityControlParameters", std::move(securityControlParametersJsonList)); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ConfigurationOptions.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ConfigurationOptions.cpp new file mode 100644 index 00000000000..6662a978594 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ConfigurationOptions.cpp @@ -0,0 +1,164 @@ +/** + * 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 SecurityHub +{ +namespace Model +{ + +ConfigurationOptions::ConfigurationOptions() : + m_integerHasBeenSet(false), + m_integerListHasBeenSet(false), + m_doubleHasBeenSet(false), + m_stringHasBeenSet(false), + m_stringListHasBeenSet(false), + m_booleanHasBeenSet(false), + m_enumHasBeenSet(false), + m_enumListHasBeenSet(false) +{ +} + +ConfigurationOptions::ConfigurationOptions(JsonView jsonValue) : + m_integerHasBeenSet(false), + m_integerListHasBeenSet(false), + m_doubleHasBeenSet(false), + m_stringHasBeenSet(false), + m_stringListHasBeenSet(false), + m_booleanHasBeenSet(false), + m_enumHasBeenSet(false), + m_enumListHasBeenSet(false) +{ + *this = jsonValue; +} + +ConfigurationOptions& ConfigurationOptions::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Integer")) + { + m_integer = jsonValue.GetObject("Integer"); + + m_integerHasBeenSet = true; + } + + if(jsonValue.ValueExists("IntegerList")) + { + m_integerList = jsonValue.GetObject("IntegerList"); + + m_integerListHasBeenSet = true; + } + + if(jsonValue.ValueExists("Double")) + { + m_double = jsonValue.GetObject("Double"); + + m_doubleHasBeenSet = true; + } + + if(jsonValue.ValueExists("String")) + { + m_string = jsonValue.GetObject("String"); + + m_stringHasBeenSet = true; + } + + if(jsonValue.ValueExists("StringList")) + { + m_stringList = jsonValue.GetObject("StringList"); + + m_stringListHasBeenSet = true; + } + + if(jsonValue.ValueExists("Boolean")) + { + m_boolean = jsonValue.GetObject("Boolean"); + + m_booleanHasBeenSet = true; + } + + if(jsonValue.ValueExists("Enum")) + { + m_enum = jsonValue.GetObject("Enum"); + + m_enumHasBeenSet = true; + } + + if(jsonValue.ValueExists("EnumList")) + { + m_enumList = jsonValue.GetObject("EnumList"); + + m_enumListHasBeenSet = true; + } + + return *this; +} + +JsonValue ConfigurationOptions::Jsonize() const +{ + JsonValue payload; + + if(m_integerHasBeenSet) + { + payload.WithObject("Integer", m_integer.Jsonize()); + + } + + if(m_integerListHasBeenSet) + { + payload.WithObject("IntegerList", m_integerList.Jsonize()); + + } + + if(m_doubleHasBeenSet) + { + payload.WithObject("Double", m_double.Jsonize()); + + } + + if(m_stringHasBeenSet) + { + payload.WithObject("String", m_string.Jsonize()); + + } + + if(m_stringListHasBeenSet) + { + payload.WithObject("StringList", m_stringList.Jsonize()); + + } + + if(m_booleanHasBeenSet) + { + payload.WithObject("Boolean", m_boolean.Jsonize()); + + } + + if(m_enumHasBeenSet) + { + payload.WithObject("Enum", m_enum.Jsonize()); + + } + + if(m_enumListHasBeenSet) + { + payload.WithObject("EnumList", m_enumList.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/DoubleConfigurationOptions.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/DoubleConfigurationOptions.cpp new file mode 100644 index 00000000000..5b6ed43a563 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/DoubleConfigurationOptions.cpp @@ -0,0 +1,95 @@ +/** + * 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 SecurityHub +{ +namespace Model +{ + +DoubleConfigurationOptions::DoubleConfigurationOptions() : + m_defaultValue(0.0), + m_defaultValueHasBeenSet(false), + m_min(0.0), + m_minHasBeenSet(false), + m_max(0.0), + m_maxHasBeenSet(false) +{ +} + +DoubleConfigurationOptions::DoubleConfigurationOptions(JsonView jsonValue) : + m_defaultValue(0.0), + m_defaultValueHasBeenSet(false), + m_min(0.0), + m_minHasBeenSet(false), + m_max(0.0), + m_maxHasBeenSet(false) +{ + *this = jsonValue; +} + +DoubleConfigurationOptions& DoubleConfigurationOptions::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("DefaultValue")) + { + m_defaultValue = jsonValue.GetDouble("DefaultValue"); + + m_defaultValueHasBeenSet = true; + } + + if(jsonValue.ValueExists("Min")) + { + m_min = jsonValue.GetDouble("Min"); + + m_minHasBeenSet = true; + } + + if(jsonValue.ValueExists("Max")) + { + m_max = jsonValue.GetDouble("Max"); + + m_maxHasBeenSet = true; + } + + return *this; +} + +JsonValue DoubleConfigurationOptions::Jsonize() const +{ + JsonValue payload; + + if(m_defaultValueHasBeenSet) + { + payload.WithDouble("DefaultValue", m_defaultValue); + + } + + if(m_minHasBeenSet) + { + payload.WithDouble("Min", m_min); + + } + + if(m_maxHasBeenSet) + { + payload.WithDouble("Max", m_max); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/EnumConfigurationOptions.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/EnumConfigurationOptions.cpp new file mode 100644 index 00000000000..e310b878e72 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/EnumConfigurationOptions.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::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +EnumConfigurationOptions::EnumConfigurationOptions() : + m_defaultValueHasBeenSet(false), + m_allowedValuesHasBeenSet(false) +{ +} + +EnumConfigurationOptions::EnumConfigurationOptions(JsonView jsonValue) : + m_defaultValueHasBeenSet(false), + m_allowedValuesHasBeenSet(false) +{ + *this = jsonValue; +} + +EnumConfigurationOptions& EnumConfigurationOptions::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("DefaultValue")) + { + m_defaultValue = jsonValue.GetString("DefaultValue"); + + m_defaultValueHasBeenSet = true; + } + + if(jsonValue.ValueExists("AllowedValues")) + { + Aws::Utils::Array allowedValuesJsonList = jsonValue.GetArray("AllowedValues"); + for(unsigned allowedValuesIndex = 0; allowedValuesIndex < allowedValuesJsonList.GetLength(); ++allowedValuesIndex) + { + m_allowedValues.push_back(allowedValuesJsonList[allowedValuesIndex].AsString()); + } + m_allowedValuesHasBeenSet = true; + } + + return *this; +} + +JsonValue EnumConfigurationOptions::Jsonize() const +{ + JsonValue payload; + + if(m_defaultValueHasBeenSet) + { + payload.WithString("DefaultValue", m_defaultValue); + + } + + if(m_allowedValuesHasBeenSet) + { + Aws::Utils::Array allowedValuesJsonList(m_allowedValues.size()); + for(unsigned allowedValuesIndex = 0; allowedValuesIndex < allowedValuesJsonList.GetLength(); ++allowedValuesIndex) + { + allowedValuesJsonList[allowedValuesIndex].AsString(m_allowedValues[allowedValuesIndex]); + } + payload.WithArray("AllowedValues", std::move(allowedValuesJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/EnumListConfigurationOptions.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/EnumListConfigurationOptions.cpp new file mode 100644 index 00000000000..55ddc6e8fb1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/EnumListConfigurationOptions.cpp @@ -0,0 +1,107 @@ +/** + * 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 SecurityHub +{ +namespace Model +{ + +EnumListConfigurationOptions::EnumListConfigurationOptions() : + m_defaultValueHasBeenSet(false), + m_maxItems(0), + m_maxItemsHasBeenSet(false), + m_allowedValuesHasBeenSet(false) +{ +} + +EnumListConfigurationOptions::EnumListConfigurationOptions(JsonView jsonValue) : + m_defaultValueHasBeenSet(false), + m_maxItems(0), + m_maxItemsHasBeenSet(false), + m_allowedValuesHasBeenSet(false) +{ + *this = jsonValue; +} + +EnumListConfigurationOptions& EnumListConfigurationOptions::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("DefaultValue")) + { + Aws::Utils::Array defaultValueJsonList = jsonValue.GetArray("DefaultValue"); + for(unsigned defaultValueIndex = 0; defaultValueIndex < defaultValueJsonList.GetLength(); ++defaultValueIndex) + { + m_defaultValue.push_back(defaultValueJsonList[defaultValueIndex].AsString()); + } + m_defaultValueHasBeenSet = true; + } + + if(jsonValue.ValueExists("MaxItems")) + { + m_maxItems = jsonValue.GetInteger("MaxItems"); + + m_maxItemsHasBeenSet = true; + } + + if(jsonValue.ValueExists("AllowedValues")) + { + Aws::Utils::Array allowedValuesJsonList = jsonValue.GetArray("AllowedValues"); + for(unsigned allowedValuesIndex = 0; allowedValuesIndex < allowedValuesJsonList.GetLength(); ++allowedValuesIndex) + { + m_allowedValues.push_back(allowedValuesJsonList[allowedValuesIndex].AsString()); + } + m_allowedValuesHasBeenSet = true; + } + + return *this; +} + +JsonValue EnumListConfigurationOptions::Jsonize() const +{ + JsonValue payload; + + if(m_defaultValueHasBeenSet) + { + Aws::Utils::Array defaultValueJsonList(m_defaultValue.size()); + for(unsigned defaultValueIndex = 0; defaultValueIndex < defaultValueJsonList.GetLength(); ++defaultValueIndex) + { + defaultValueJsonList[defaultValueIndex].AsString(m_defaultValue[defaultValueIndex]); + } + payload.WithArray("DefaultValue", std::move(defaultValueJsonList)); + + } + + if(m_maxItemsHasBeenSet) + { + payload.WithInteger("MaxItems", m_maxItems); + + } + + if(m_allowedValuesHasBeenSet) + { + Aws::Utils::Array allowedValuesJsonList(m_allowedValues.size()); + for(unsigned allowedValuesIndex = 0; allowedValuesIndex < allowedValuesJsonList.GetLength(); ++allowedValuesIndex) + { + allowedValuesJsonList[allowedValuesIndex].AsString(m_allowedValues[allowedValuesIndex]); + } + payload.WithArray("AllowedValues", std::move(allowedValuesJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/GetSecurityControlDefinitionRequest.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/GetSecurityControlDefinitionRequest.cpp new file mode 100644 index 00000000000..2897a77ed6e --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/GetSecurityControlDefinitionRequest.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::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +GetSecurityControlDefinitionRequest::GetSecurityControlDefinitionRequest() : + m_securityControlIdHasBeenSet(false) +{ +} + +Aws::String GetSecurityControlDefinitionRequest::SerializePayload() const +{ + return {}; +} + +void GetSecurityControlDefinitionRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_securityControlIdHasBeenSet) + { + ss << m_securityControlId; + uri.AddQueryStringParameter("SecurityControlId", ss.str()); + ss.str(""); + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/GetSecurityControlDefinitionResult.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/GetSecurityControlDefinitionResult.cpp new file mode 100644 index 00000000000..004aa972788 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/GetSecurityControlDefinitionResult.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::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetSecurityControlDefinitionResult::GetSecurityControlDefinitionResult() +{ +} + +GetSecurityControlDefinitionResult::GetSecurityControlDefinitionResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetSecurityControlDefinitionResult& GetSecurityControlDefinitionResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("SecurityControlDefinition")) + { + m_securityControlDefinition = jsonValue.GetObject("SecurityControlDefinition"); + + } + + + 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-securityhub/source/model/IntegerConfigurationOptions.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/IntegerConfigurationOptions.cpp new file mode 100644 index 00000000000..0bf94c76129 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/IntegerConfigurationOptions.cpp @@ -0,0 +1,95 @@ +/** + * 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 SecurityHub +{ +namespace Model +{ + +IntegerConfigurationOptions::IntegerConfigurationOptions() : + m_defaultValue(0), + m_defaultValueHasBeenSet(false), + m_min(0), + m_minHasBeenSet(false), + m_max(0), + m_maxHasBeenSet(false) +{ +} + +IntegerConfigurationOptions::IntegerConfigurationOptions(JsonView jsonValue) : + m_defaultValue(0), + m_defaultValueHasBeenSet(false), + m_min(0), + m_minHasBeenSet(false), + m_max(0), + m_maxHasBeenSet(false) +{ + *this = jsonValue; +} + +IntegerConfigurationOptions& IntegerConfigurationOptions::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("DefaultValue")) + { + m_defaultValue = jsonValue.GetInteger("DefaultValue"); + + m_defaultValueHasBeenSet = true; + } + + if(jsonValue.ValueExists("Min")) + { + m_min = jsonValue.GetInteger("Min"); + + m_minHasBeenSet = true; + } + + if(jsonValue.ValueExists("Max")) + { + m_max = jsonValue.GetInteger("Max"); + + m_maxHasBeenSet = true; + } + + return *this; +} + +JsonValue IntegerConfigurationOptions::Jsonize() const +{ + JsonValue payload; + + if(m_defaultValueHasBeenSet) + { + payload.WithInteger("DefaultValue", m_defaultValue); + + } + + if(m_minHasBeenSet) + { + payload.WithInteger("Min", m_min); + + } + + if(m_maxHasBeenSet) + { + payload.WithInteger("Max", m_max); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/IntegerListConfigurationOptions.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/IntegerListConfigurationOptions.cpp new file mode 100644 index 00000000000..3ca53241c97 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/IntegerListConfigurationOptions.cpp @@ -0,0 +1,118 @@ +/** + * 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 SecurityHub +{ +namespace Model +{ + +IntegerListConfigurationOptions::IntegerListConfigurationOptions() : + m_defaultValueHasBeenSet(false), + m_min(0), + m_minHasBeenSet(false), + m_max(0), + m_maxHasBeenSet(false), + m_maxItems(0), + m_maxItemsHasBeenSet(false) +{ +} + +IntegerListConfigurationOptions::IntegerListConfigurationOptions(JsonView jsonValue) : + m_defaultValueHasBeenSet(false), + m_min(0), + m_minHasBeenSet(false), + m_max(0), + m_maxHasBeenSet(false), + m_maxItems(0), + m_maxItemsHasBeenSet(false) +{ + *this = jsonValue; +} + +IntegerListConfigurationOptions& IntegerListConfigurationOptions::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("DefaultValue")) + { + Aws::Utils::Array defaultValueJsonList = jsonValue.GetArray("DefaultValue"); + for(unsigned defaultValueIndex = 0; defaultValueIndex < defaultValueJsonList.GetLength(); ++defaultValueIndex) + { + m_defaultValue.push_back(defaultValueJsonList[defaultValueIndex].AsInteger()); + } + m_defaultValueHasBeenSet = true; + } + + if(jsonValue.ValueExists("Min")) + { + m_min = jsonValue.GetInteger("Min"); + + m_minHasBeenSet = true; + } + + if(jsonValue.ValueExists("Max")) + { + m_max = jsonValue.GetInteger("Max"); + + m_maxHasBeenSet = true; + } + + if(jsonValue.ValueExists("MaxItems")) + { + m_maxItems = jsonValue.GetInteger("MaxItems"); + + m_maxItemsHasBeenSet = true; + } + + return *this; +} + +JsonValue IntegerListConfigurationOptions::Jsonize() const +{ + JsonValue payload; + + if(m_defaultValueHasBeenSet) + { + Aws::Utils::Array defaultValueJsonList(m_defaultValue.size()); + for(unsigned defaultValueIndex = 0; defaultValueIndex < defaultValueJsonList.GetLength(); ++defaultValueIndex) + { + defaultValueJsonList[defaultValueIndex].AsInteger(m_defaultValue[defaultValueIndex]); + } + payload.WithArray("DefaultValue", std::move(defaultValueJsonList)); + + } + + if(m_minHasBeenSet) + { + payload.WithInteger("Min", m_min); + + } + + if(m_maxHasBeenSet) + { + payload.WithInteger("Max", m_max); + + } + + if(m_maxItemsHasBeenSet) + { + payload.WithInteger("MaxItems", m_maxItems); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/NumberFilter.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/NumberFilter.cpp index fbe845495a0..98ec17e569b 100644 --- a/generated/src/aws-cpp-sdk-securityhub/source/model/NumberFilter.cpp +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/NumberFilter.cpp @@ -24,7 +24,11 @@ NumberFilter::NumberFilter() : m_lte(0.0), m_lteHasBeenSet(false), m_eq(0.0), - m_eqHasBeenSet(false) + m_eqHasBeenSet(false), + m_gt(0.0), + m_gtHasBeenSet(false), + m_lt(0.0), + m_ltHasBeenSet(false) { } @@ -34,7 +38,11 @@ NumberFilter::NumberFilter(JsonView jsonValue) : m_lte(0.0), m_lteHasBeenSet(false), m_eq(0.0), - m_eqHasBeenSet(false) + m_eqHasBeenSet(false), + m_gt(0.0), + m_gtHasBeenSet(false), + m_lt(0.0), + m_ltHasBeenSet(false) { *this = jsonValue; } @@ -62,6 +70,20 @@ NumberFilter& NumberFilter::operator =(JsonView jsonValue) m_eqHasBeenSet = true; } + if(jsonValue.ValueExists("Gt")) + { + m_gt = jsonValue.GetDouble("Gt"); + + m_gtHasBeenSet = true; + } + + if(jsonValue.ValueExists("Lt")) + { + m_lt = jsonValue.GetDouble("Lt"); + + m_ltHasBeenSet = true; + } + return *this; } @@ -87,6 +109,18 @@ JsonValue NumberFilter::Jsonize() const } + if(m_gtHasBeenSet) + { + payload.WithDouble("Gt", m_gt); + + } + + if(m_ltHasBeenSet) + { + payload.WithDouble("Lt", m_lt); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ParameterConfiguration.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ParameterConfiguration.cpp new file mode 100644 index 00000000000..4801dc89996 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ParameterConfiguration.cpp @@ -0,0 +1,75 @@ +/** + * 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 SecurityHub +{ +namespace Model +{ + +ParameterConfiguration::ParameterConfiguration() : + m_valueType(ParameterValueType::NOT_SET), + m_valueTypeHasBeenSet(false), + m_valueHasBeenSet(false) +{ +} + +ParameterConfiguration::ParameterConfiguration(JsonView jsonValue) : + m_valueType(ParameterValueType::NOT_SET), + m_valueTypeHasBeenSet(false), + m_valueHasBeenSet(false) +{ + *this = jsonValue; +} + +ParameterConfiguration& ParameterConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("ValueType")) + { + m_valueType = ParameterValueTypeMapper::GetParameterValueTypeForName(jsonValue.GetString("ValueType")); + + m_valueTypeHasBeenSet = true; + } + + if(jsonValue.ValueExists("Value")) + { + m_value = jsonValue.GetObject("Value"); + + m_valueHasBeenSet = true; + } + + return *this; +} + +JsonValue ParameterConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_valueTypeHasBeenSet) + { + payload.WithString("ValueType", ParameterValueTypeMapper::GetNameForParameterValueType(m_valueType)); + } + + if(m_valueHasBeenSet) + { + payload.WithObject("Value", m_value.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ParameterDefinition.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ParameterDefinition.cpp new file mode 100644 index 00000000000..c233c83183a --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ParameterDefinition.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 SecurityHub +{ +namespace Model +{ + +ParameterDefinition::ParameterDefinition() : + m_descriptionHasBeenSet(false), + m_configurationOptionsHasBeenSet(false) +{ +} + +ParameterDefinition::ParameterDefinition(JsonView jsonValue) : + m_descriptionHasBeenSet(false), + m_configurationOptionsHasBeenSet(false) +{ + *this = jsonValue; +} + +ParameterDefinition& ParameterDefinition::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Description")) + { + m_description = jsonValue.GetString("Description"); + + m_descriptionHasBeenSet = true; + } + + if(jsonValue.ValueExists("ConfigurationOptions")) + { + m_configurationOptions = jsonValue.GetObject("ConfigurationOptions"); + + m_configurationOptionsHasBeenSet = true; + } + + return *this; +} + +JsonValue ParameterDefinition::Jsonize() const +{ + JsonValue payload; + + if(m_descriptionHasBeenSet) + { + payload.WithString("Description", m_description); + + } + + if(m_configurationOptionsHasBeenSet) + { + payload.WithObject("ConfigurationOptions", m_configurationOptions.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ParameterValue.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ParameterValue.cpp new file mode 100644 index 00000000000..ef9d6d44a42 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ParameterValue.cpp @@ -0,0 +1,194 @@ +/** + * 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 SecurityHub +{ +namespace Model +{ + +ParameterValue::ParameterValue() : + m_integer(0), + m_integerHasBeenSet(false), + m_integerListHasBeenSet(false), + m_double(0.0), + m_doubleHasBeenSet(false), + m_stringHasBeenSet(false), + m_stringListHasBeenSet(false), + m_boolean(false), + m_booleanHasBeenSet(false), + m_enumHasBeenSet(false), + m_enumListHasBeenSet(false) +{ +} + +ParameterValue::ParameterValue(JsonView jsonValue) : + m_integer(0), + m_integerHasBeenSet(false), + m_integerListHasBeenSet(false), + m_double(0.0), + m_doubleHasBeenSet(false), + m_stringHasBeenSet(false), + m_stringListHasBeenSet(false), + m_boolean(false), + m_booleanHasBeenSet(false), + m_enumHasBeenSet(false), + m_enumListHasBeenSet(false) +{ + *this = jsonValue; +} + +ParameterValue& ParameterValue::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Integer")) + { + m_integer = jsonValue.GetInteger("Integer"); + + m_integerHasBeenSet = true; + } + + 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()); + } + m_integerListHasBeenSet = true; + } + + if(jsonValue.ValueExists("Double")) + { + m_double = jsonValue.GetDouble("Double"); + + m_doubleHasBeenSet = true; + } + + if(jsonValue.ValueExists("String")) + { + m_string = jsonValue.GetString("String"); + + m_stringHasBeenSet = true; + } + + 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()); + } + m_stringListHasBeenSet = true; + } + + if(jsonValue.ValueExists("Boolean")) + { + m_boolean = jsonValue.GetBool("Boolean"); + + m_booleanHasBeenSet = true; + } + + if(jsonValue.ValueExists("Enum")) + { + m_enum = jsonValue.GetString("Enum"); + + m_enumHasBeenSet = true; + } + + if(jsonValue.ValueExists("EnumList")) + { + Aws::Utils::Array enumListJsonList = jsonValue.GetArray("EnumList"); + for(unsigned enumListIndex = 0; enumListIndex < enumListJsonList.GetLength(); ++enumListIndex) + { + m_enumList.push_back(enumListJsonList[enumListIndex].AsString()); + } + m_enumListHasBeenSet = true; + } + + return *this; +} + +JsonValue ParameterValue::Jsonize() const +{ + JsonValue payload; + + if(m_integerHasBeenSet) + { + payload.WithInteger("Integer", m_integer); + + } + + 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_doubleHasBeenSet) + { + payload.WithDouble("Double", m_double); + + } + + if(m_stringHasBeenSet) + { + payload.WithString("String", m_string); + + } + + 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_booleanHasBeenSet) + { + payload.WithBool("Boolean", m_boolean); + + } + + if(m_enumHasBeenSet) + { + payload.WithString("Enum", m_enum); + + } + + if(m_enumListHasBeenSet) + { + Aws::Utils::Array enumListJsonList(m_enumList.size()); + for(unsigned enumListIndex = 0; enumListIndex < enumListJsonList.GetLength(); ++enumListIndex) + { + enumListJsonList[enumListIndex].AsString(m_enumList[enumListIndex]); + } + payload.WithArray("EnumList", std::move(enumListJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ParameterValueType.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ParameterValueType.cpp new file mode 100644 index 00000000000..3216cc5a9fa --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ParameterValueType.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 SecurityHub + { + namespace Model + { + namespace ParameterValueTypeMapper + { + + static const int DEFAULT_HASH = HashingUtils::HashString("DEFAULT"); + static const int CUSTOM_HASH = HashingUtils::HashString("CUSTOM"); + + + ParameterValueType GetParameterValueTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == DEFAULT_HASH) + { + return ParameterValueType::DEFAULT; + } + else if (hashCode == CUSTOM_HASH) + { + return ParameterValueType::CUSTOM; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ParameterValueType::NOT_SET; + } + + Aws::String GetNameForParameterValueType(ParameterValueType enumValue) + { + switch(enumValue) + { + case ParameterValueType::NOT_SET: + return {}; + case ParameterValueType::DEFAULT: + return "DEFAULT"; + case ParameterValueType::CUSTOM: + return "CUSTOM"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ParameterValueTypeMapper + } // namespace Model + } // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ResourceInUseException.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ResourceInUseException.cpp new file mode 100644 index 00000000000..1563c8d73cf --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ResourceInUseException.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 SecurityHub +{ +namespace Model +{ + +ResourceInUseException::ResourceInUseException() : + m_messageHasBeenSet(false), + m_codeHasBeenSet(false) +{ +} + +ResourceInUseException::ResourceInUseException(JsonView jsonValue) : + m_messageHasBeenSet(false), + m_codeHasBeenSet(false) +{ + *this = jsonValue; +} + +ResourceInUseException& ResourceInUseException::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Message")) + { + m_message = jsonValue.GetString("Message"); + + m_messageHasBeenSet = true; + } + + if(jsonValue.ValueExists("Code")) + { + m_code = jsonValue.GetString("Code"); + + m_codeHasBeenSet = true; + } + + return *this; +} + +JsonValue ResourceInUseException::Jsonize() const +{ + JsonValue payload; + + if(m_messageHasBeenSet) + { + payload.WithString("Message", m_message); + + } + + if(m_codeHasBeenSet) + { + payload.WithString("Code", m_code); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/SecurityControl.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/SecurityControl.cpp index 09be43dcf0e..f968c18140f 100644 --- a/generated/src/aws-cpp-sdk-securityhub/source/model/SecurityControl.cpp +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/SecurityControl.cpp @@ -27,7 +27,11 @@ SecurityControl::SecurityControl() : m_severityRating(SeverityRating::NOT_SET), m_severityRatingHasBeenSet(false), m_securityControlStatus(ControlStatus::NOT_SET), - m_securityControlStatusHasBeenSet(false) + m_securityControlStatusHasBeenSet(false), + m_updateStatus(UpdateStatus::NOT_SET), + m_updateStatusHasBeenSet(false), + m_parametersHasBeenSet(false), + m_lastUpdateReasonHasBeenSet(false) { } @@ -40,7 +44,11 @@ SecurityControl::SecurityControl(JsonView jsonValue) : m_severityRating(SeverityRating::NOT_SET), m_severityRatingHasBeenSet(false), m_securityControlStatus(ControlStatus::NOT_SET), - m_securityControlStatusHasBeenSet(false) + m_securityControlStatusHasBeenSet(false), + m_updateStatus(UpdateStatus::NOT_SET), + m_updateStatusHasBeenSet(false), + m_parametersHasBeenSet(false), + m_lastUpdateReasonHasBeenSet(false) { *this = jsonValue; } @@ -96,6 +104,30 @@ SecurityControl& SecurityControl::operator =(JsonView jsonValue) m_securityControlStatusHasBeenSet = true; } + if(jsonValue.ValueExists("UpdateStatus")) + { + m_updateStatus = UpdateStatusMapper::GetUpdateStatusForName(jsonValue.GetString("UpdateStatus")); + + m_updateStatusHasBeenSet = true; + } + + if(jsonValue.ValueExists("Parameters")) + { + Aws::Map parametersJsonMap = jsonValue.GetObject("Parameters").GetAllObjects(); + for(auto& parametersItem : parametersJsonMap) + { + m_parameters[parametersItem.first] = parametersItem.second.AsObject(); + } + m_parametersHasBeenSet = true; + } + + if(jsonValue.ValueExists("LastUpdateReason")) + { + m_lastUpdateReason = jsonValue.GetString("LastUpdateReason"); + + m_lastUpdateReasonHasBeenSet = true; + } + return *this; } @@ -143,6 +175,28 @@ JsonValue SecurityControl::Jsonize() const payload.WithString("SecurityControlStatus", ControlStatusMapper::GetNameForControlStatus(m_securityControlStatus)); } + if(m_updateStatusHasBeenSet) + { + payload.WithString("UpdateStatus", UpdateStatusMapper::GetNameForUpdateStatus(m_updateStatus)); + } + + if(m_parametersHasBeenSet) + { + JsonValue parametersJsonMap; + for(auto& parametersItem : m_parameters) + { + parametersJsonMap.WithObject(parametersItem.first, parametersItem.second.Jsonize()); + } + payload.WithObject("Parameters", std::move(parametersJsonMap)); + + } + + if(m_lastUpdateReasonHasBeenSet) + { + payload.WithString("LastUpdateReason", m_lastUpdateReason); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/SecurityControlDefinition.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/SecurityControlDefinition.cpp index 34921ca2a47..796e4395b0b 100644 --- a/generated/src/aws-cpp-sdk-securityhub/source/model/SecurityControlDefinition.cpp +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/SecurityControlDefinition.cpp @@ -26,7 +26,9 @@ SecurityControlDefinition::SecurityControlDefinition() : m_severityRating(SeverityRating::NOT_SET), m_severityRatingHasBeenSet(false), m_currentRegionAvailability(RegionAvailabilityStatus::NOT_SET), - m_currentRegionAvailabilityHasBeenSet(false) + m_currentRegionAvailabilityHasBeenSet(false), + m_customizablePropertiesHasBeenSet(false), + m_parameterDefinitionsHasBeenSet(false) { } @@ -38,7 +40,9 @@ SecurityControlDefinition::SecurityControlDefinition(JsonView jsonValue) : m_severityRating(SeverityRating::NOT_SET), m_severityRatingHasBeenSet(false), m_currentRegionAvailability(RegionAvailabilityStatus::NOT_SET), - m_currentRegionAvailabilityHasBeenSet(false) + m_currentRegionAvailabilityHasBeenSet(false), + m_customizablePropertiesHasBeenSet(false), + m_parameterDefinitionsHasBeenSet(false) { *this = jsonValue; } @@ -87,6 +91,26 @@ SecurityControlDefinition& SecurityControlDefinition::operator =(JsonView jsonVa m_currentRegionAvailabilityHasBeenSet = true; } + if(jsonValue.ValueExists("CustomizableProperties")) + { + Aws::Utils::Array customizablePropertiesJsonList = jsonValue.GetArray("CustomizableProperties"); + for(unsigned customizablePropertiesIndex = 0; customizablePropertiesIndex < customizablePropertiesJsonList.GetLength(); ++customizablePropertiesIndex) + { + m_customizableProperties.push_back(SecurityControlPropertyMapper::GetSecurityControlPropertyForName(customizablePropertiesJsonList[customizablePropertiesIndex].AsString())); + } + m_customizablePropertiesHasBeenSet = true; + } + + if(jsonValue.ValueExists("ParameterDefinitions")) + { + Aws::Map parameterDefinitionsJsonMap = jsonValue.GetObject("ParameterDefinitions").GetAllObjects(); + for(auto& parameterDefinitionsItem : parameterDefinitionsJsonMap) + { + m_parameterDefinitions[parameterDefinitionsItem.first] = parameterDefinitionsItem.second.AsObject(); + } + m_parameterDefinitionsHasBeenSet = true; + } + return *this; } @@ -128,6 +152,28 @@ JsonValue SecurityControlDefinition::Jsonize() const payload.WithString("CurrentRegionAvailability", RegionAvailabilityStatusMapper::GetNameForRegionAvailabilityStatus(m_currentRegionAvailability)); } + if(m_customizablePropertiesHasBeenSet) + { + Aws::Utils::Array customizablePropertiesJsonList(m_customizableProperties.size()); + for(unsigned customizablePropertiesIndex = 0; customizablePropertiesIndex < customizablePropertiesJsonList.GetLength(); ++customizablePropertiesIndex) + { + customizablePropertiesJsonList[customizablePropertiesIndex].AsString(SecurityControlPropertyMapper::GetNameForSecurityControlProperty(m_customizableProperties[customizablePropertiesIndex])); + } + payload.WithArray("CustomizableProperties", std::move(customizablePropertiesJsonList)); + + } + + if(m_parameterDefinitionsHasBeenSet) + { + JsonValue parameterDefinitionsJsonMap; + for(auto& parameterDefinitionsItem : m_parameterDefinitions) + { + parameterDefinitionsJsonMap.WithObject(parameterDefinitionsItem.first, parameterDefinitionsItem.second.Jsonize()); + } + payload.WithObject("ParameterDefinitions", std::move(parameterDefinitionsJsonMap)); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/SecurityControlParameter.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/SecurityControlParameter.cpp new file mode 100644 index 00000000000..50fc10457d9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/SecurityControlParameter.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::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +SecurityControlParameter::SecurityControlParameter() : + m_nameHasBeenSet(false), + m_valueHasBeenSet(false) +{ +} + +SecurityControlParameter::SecurityControlParameter(JsonView jsonValue) : + m_nameHasBeenSet(false), + m_valueHasBeenSet(false) +{ + *this = jsonValue; +} + +SecurityControlParameter& SecurityControlParameter::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Name")) + { + m_name = jsonValue.GetString("Name"); + + m_nameHasBeenSet = true; + } + + if(jsonValue.ValueExists("Value")) + { + Aws::Utils::Array valueJsonList = jsonValue.GetArray("Value"); + for(unsigned valueIndex = 0; valueIndex < valueJsonList.GetLength(); ++valueIndex) + { + m_value.push_back(valueJsonList[valueIndex].AsString()); + } + m_valueHasBeenSet = true; + } + + return *this; +} + +JsonValue SecurityControlParameter::Jsonize() const +{ + JsonValue payload; + + if(m_nameHasBeenSet) + { + payload.WithString("Name", m_name); + + } + + if(m_valueHasBeenSet) + { + Aws::Utils::Array valueJsonList(m_value.size()); + for(unsigned valueIndex = 0; valueIndex < valueJsonList.GetLength(); ++valueIndex) + { + valueJsonList[valueIndex].AsString(m_value[valueIndex]); + } + payload.WithArray("Value", std::move(valueJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/SecurityControlProperty.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/SecurityControlProperty.cpp new file mode 100644 index 00000000000..5dad801c1a0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/SecurityControlProperty.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 SecurityHub + { + namespace Model + { + namespace SecurityControlPropertyMapper + { + + static const int Parameters_HASH = HashingUtils::HashString("Parameters"); + + + SecurityControlProperty GetSecurityControlPropertyForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Parameters_HASH) + { + return SecurityControlProperty::Parameters; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return SecurityControlProperty::NOT_SET; + } + + Aws::String GetNameForSecurityControlProperty(SecurityControlProperty enumValue) + { + switch(enumValue) + { + case SecurityControlProperty::NOT_SET: + return {}; + case SecurityControlProperty::Parameters: + return "Parameters"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace SecurityControlPropertyMapper + } // namespace Model + } // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/StringConfigurationOptions.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/StringConfigurationOptions.cpp new file mode 100644 index 00000000000..9d25b07ed15 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/StringConfigurationOptions.cpp @@ -0,0 +1,89 @@ +/** + * 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 SecurityHub +{ +namespace Model +{ + +StringConfigurationOptions::StringConfigurationOptions() : + m_defaultValueHasBeenSet(false), + m_re2ExpressionHasBeenSet(false), + m_expressionDescriptionHasBeenSet(false) +{ +} + +StringConfigurationOptions::StringConfigurationOptions(JsonView jsonValue) : + m_defaultValueHasBeenSet(false), + m_re2ExpressionHasBeenSet(false), + m_expressionDescriptionHasBeenSet(false) +{ + *this = jsonValue; +} + +StringConfigurationOptions& StringConfigurationOptions::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("DefaultValue")) + { + m_defaultValue = jsonValue.GetString("DefaultValue"); + + m_defaultValueHasBeenSet = true; + } + + if(jsonValue.ValueExists("Re2Expression")) + { + m_re2Expression = jsonValue.GetString("Re2Expression"); + + m_re2ExpressionHasBeenSet = true; + } + + if(jsonValue.ValueExists("ExpressionDescription")) + { + m_expressionDescription = jsonValue.GetString("ExpressionDescription"); + + m_expressionDescriptionHasBeenSet = true; + } + + return *this; +} + +JsonValue StringConfigurationOptions::Jsonize() const +{ + JsonValue payload; + + if(m_defaultValueHasBeenSet) + { + payload.WithString("DefaultValue", m_defaultValue); + + } + + if(m_re2ExpressionHasBeenSet) + { + payload.WithString("Re2Expression", m_re2Expression); + + } + + if(m_expressionDescriptionHasBeenSet) + { + payload.WithString("ExpressionDescription", m_expressionDescription); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/StringListConfigurationOptions.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/StringListConfigurationOptions.cpp new file mode 100644 index 00000000000..a526143b35a --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/StringListConfigurationOptions.cpp @@ -0,0 +1,114 @@ +/** + * 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 SecurityHub +{ +namespace Model +{ + +StringListConfigurationOptions::StringListConfigurationOptions() : + m_defaultValueHasBeenSet(false), + m_re2ExpressionHasBeenSet(false), + m_maxItems(0), + m_maxItemsHasBeenSet(false), + m_expressionDescriptionHasBeenSet(false) +{ +} + +StringListConfigurationOptions::StringListConfigurationOptions(JsonView jsonValue) : + m_defaultValueHasBeenSet(false), + m_re2ExpressionHasBeenSet(false), + m_maxItems(0), + m_maxItemsHasBeenSet(false), + m_expressionDescriptionHasBeenSet(false) +{ + *this = jsonValue; +} + +StringListConfigurationOptions& StringListConfigurationOptions::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("DefaultValue")) + { + Aws::Utils::Array defaultValueJsonList = jsonValue.GetArray("DefaultValue"); + for(unsigned defaultValueIndex = 0; defaultValueIndex < defaultValueJsonList.GetLength(); ++defaultValueIndex) + { + m_defaultValue.push_back(defaultValueJsonList[defaultValueIndex].AsString()); + } + m_defaultValueHasBeenSet = true; + } + + if(jsonValue.ValueExists("Re2Expression")) + { + m_re2Expression = jsonValue.GetString("Re2Expression"); + + m_re2ExpressionHasBeenSet = true; + } + + if(jsonValue.ValueExists("MaxItems")) + { + m_maxItems = jsonValue.GetInteger("MaxItems"); + + m_maxItemsHasBeenSet = true; + } + + if(jsonValue.ValueExists("ExpressionDescription")) + { + m_expressionDescription = jsonValue.GetString("ExpressionDescription"); + + m_expressionDescriptionHasBeenSet = true; + } + + return *this; +} + +JsonValue StringListConfigurationOptions::Jsonize() const +{ + JsonValue payload; + + if(m_defaultValueHasBeenSet) + { + Aws::Utils::Array defaultValueJsonList(m_defaultValue.size()); + for(unsigned defaultValueIndex = 0; defaultValueIndex < defaultValueJsonList.GetLength(); ++defaultValueIndex) + { + defaultValueJsonList[defaultValueIndex].AsString(m_defaultValue[defaultValueIndex]); + } + payload.WithArray("DefaultValue", std::move(defaultValueJsonList)); + + } + + if(m_re2ExpressionHasBeenSet) + { + payload.WithString("Re2Expression", m_re2Expression); + + } + + if(m_maxItemsHasBeenSet) + { + payload.WithInteger("MaxItems", m_maxItems); + + } + + if(m_expressionDescriptionHasBeenSet) + { + payload.WithString("ExpressionDescription", m_expressionDescription); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/UpdateSecurityControlRequest.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/UpdateSecurityControlRequest.cpp new file mode 100644 index 00000000000..949beafc2c4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/UpdateSecurityControlRequest.cpp @@ -0,0 +1,54 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +UpdateSecurityControlRequest::UpdateSecurityControlRequest() : + m_securityControlIdHasBeenSet(false), + m_parametersHasBeenSet(false), + m_lastUpdateReasonHasBeenSet(false) +{ +} + +Aws::String UpdateSecurityControlRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_securityControlIdHasBeenSet) + { + payload.WithString("SecurityControlId", m_securityControlId); + + } + + if(m_parametersHasBeenSet) + { + JsonValue parametersJsonMap; + for(auto& parametersItem : m_parameters) + { + parametersJsonMap.WithObject(parametersItem.first, parametersItem.second.Jsonize()); + } + payload.WithObject("Parameters", std::move(parametersJsonMap)); + + } + + if(m_lastUpdateReasonHasBeenSet) + { + payload.WithString("LastUpdateReason", m_lastUpdateReason); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/UpdateSecurityControlResult.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/UpdateSecurityControlResult.cpp new file mode 100644 index 00000000000..f89ea6bc583 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/UpdateSecurityControlResult.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::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +UpdateSecurityControlResult::UpdateSecurityControlResult() +{ +} + +UpdateSecurityControlResult::UpdateSecurityControlResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +UpdateSecurityControlResult& UpdateSecurityControlResult::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-securityhub/source/model/UpdateStatus.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/UpdateStatus.cpp new file mode 100644 index 00000000000..1ac7b2d413f --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/UpdateStatus.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 SecurityHub + { + namespace Model + { + namespace UpdateStatusMapper + { + + static const int READY_HASH = HashingUtils::HashString("READY"); + static const int UPDATING_HASH = HashingUtils::HashString("UPDATING"); + + + UpdateStatus GetUpdateStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == READY_HASH) + { + return UpdateStatus::READY; + } + else if (hashCode == UPDATING_HASH) + { + return UpdateStatus::UPDATING; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return UpdateStatus::NOT_SET; + } + + Aws::String GetNameForUpdateStatus(UpdateStatus enumValue) + { + switch(enumValue) + { + case UpdateStatus::NOT_SET: + return {}; + case UpdateStatus::READY: + return "READY"; + case UpdateStatus::UPDATING: + return "UPDATING"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace UpdateStatusMapper + } // namespace Model + } // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-states/include/aws/states/SFNClient.h b/generated/src/aws-cpp-sdk-states/include/aws/states/SFNClient.h index 13c5453a900..4db3feb567d 100644 --- a/generated/src/aws-cpp-sdk-states/include/aws/states/SFNClient.h +++ b/generated/src/aws-cpp-sdk-states/include/aws/states/SFNClient.h @@ -953,16 +953,17 @@ namespace SFN * href="https://docs.aws.amazon.com/step-functions/latest/dg/amazon-states-language-parallel-state.html">Parallel * state, RedriveExecution API action reschedules and redrives only * the iterations and branches that failed or aborted.

    To redrive a workflow - * that includes a Distributed Map state with failed child workflow executions, you - * must redrive the parent * workflow. The parent workflow redrives all the unsuccessful states, - * including Distributed Map.

    This API action is not supported by - * EXPRESS state machines.

    However, you can restart the - * unsuccessful executions of Express child workflows in a Distributed Map by - * redriving its Map Run. When you redrive a Map Run, the Express child workflows - * are rerun using the StartExecution API action. For more information, see - * + *

    This API action is not supported by EXPRESS state machines.

    + *

    However, you can restart the unsuccessful executions of Express child + * workflows in a Distributed Map by redriving its Map Run. When you redrive a Map + * Run, the Express child workflows are rerun using the StartExecution API + * action. For more information, see Redriving * Map Runs.

    You can redrive executions if your original * execution meets the following conditions:

    • The execution status @@ -1254,6 +1255,71 @@ namespace SFN return SubmitAsync(&SFNClient::TagResource, request, handler, context); } + /** + *

      Accepts the definition of a single state and executes it. You can test a + * state without creating a state machine or updating an existing state machine. + * Using this API, you can test the following:

      You can call this API on only + * one state at a time. The states that you can test include the following:

      + *

      The TestState API assumes an IAM role which + * must contain the required IAM permissions for the resources your state is + * accessing. For information about the permissions a state might need, see IAM + * permissions to test a state.

      The TestState API can run + * for up to five minutes. If the execution of a state exceeds this duration, it + * fails with the States.Timeout error.

      TestState + * doesn't support Activity + * tasks, .sync or .waitForTaskToken service + * integration patterns, Parallel, + * or Map + * states.

      See Also:

      AWS + * API Reference

      + */ + virtual Model::TestStateOutcome TestState(const Model::TestStateRequest& request) const; + + /** + * A Callable wrapper for TestState that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::TestStateOutcomeCallable TestStateCallable(const TestStateRequestT& request) const + { + return SubmitCallable(&SFNClient::TestState, request); + } + + /** + * An Async wrapper for TestState that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void TestStateAsync(const TestStateRequestT& request, const TestStateResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&SFNClient::TestState, request, handler, context); + } + /** *

      Remove a tag from a Step Functions resource

      See Also:

      AWS diff --git a/generated/src/aws-cpp-sdk-states/include/aws/states/SFNServiceClientModel.h b/generated/src/aws-cpp-sdk-states/include/aws/states/SFNServiceClientModel.h index 4e884c514b1..028b6a9916d 100644 --- a/generated/src/aws-cpp-sdk-states/include/aws/states/SFNServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-states/include/aws/states/SFNServiceClientModel.h @@ -49,6 +49,7 @@ #include #include #include +#include #include #include #include @@ -124,6 +125,7 @@ namespace Aws class StartSyncExecutionRequest; class StopExecutionRequest; class TagResourceRequest; + class TestStateRequest; class UntagResourceRequest; class UpdateMapRunRequest; class UpdateStateMachineRequest; @@ -162,6 +164,7 @@ namespace Aws typedef Aws::Utils::Outcome StartSyncExecutionOutcome; typedef Aws::Utils::Outcome StopExecutionOutcome; typedef Aws::Utils::Outcome TagResourceOutcome; + typedef Aws::Utils::Outcome TestStateOutcome; typedef Aws::Utils::Outcome UntagResourceOutcome; typedef Aws::Utils::Outcome UpdateMapRunOutcome; typedef Aws::Utils::Outcome UpdateStateMachineOutcome; @@ -200,6 +203,7 @@ namespace Aws typedef std::future StartSyncExecutionOutcomeCallable; typedef std::future StopExecutionOutcomeCallable; typedef std::future TagResourceOutcomeCallable; + typedef std::future TestStateOutcomeCallable; typedef std::future UntagResourceOutcomeCallable; typedef std::future UpdateMapRunOutcomeCallable; typedef std::future UpdateStateMachineOutcomeCallable; @@ -241,6 +245,7 @@ namespace Aws typedef std::function&) > StartSyncExecutionResponseReceivedHandler; typedef std::function&) > StopExecutionResponseReceivedHandler; typedef std::function&) > TagResourceResponseReceivedHandler; + typedef std::function&) > TestStateResponseReceivedHandler; typedef std::function&) > UntagResourceResponseReceivedHandler; typedef std::function&) > UpdateMapRunResponseReceivedHandler; typedef std::function&) > UpdateStateMachineResponseReceivedHandler; diff --git a/generated/src/aws-cpp-sdk-states/include/aws/states/model/DescribeExecutionResult.h b/generated/src/aws-cpp-sdk-states/include/aws/states/model/DescribeExecutionResult.h index 6599fa8b700..5beb6dcfec0 100644 --- a/generated/src/aws-cpp-sdk-states/include/aws/states/model/DescribeExecutionResult.h +++ b/generated/src/aws-cpp-sdk-states/include/aws/states/model/DescribeExecutionResult.h @@ -698,22 +698,22 @@ namespace Model /** *

      The number of times you've redriven an execution. If you have not yet - * redriven an execution, the redriveCount is 0. This count is not - * updated for redrives that failed to start or are pending to be redriven.

      + * redriven an execution, the redriveCount is 0. This count is only + * updated if you successfully redrive an execution.

      */ inline int GetRedriveCount() const{ return m_redriveCount; } /** *

      The number of times you've redriven an execution. If you have not yet - * redriven an execution, the redriveCount is 0. This count is not - * updated for redrives that failed to start or are pending to be redriven.

      + * redriven an execution, the redriveCount is 0. This count is only + * updated if you successfully redrive an execution.

      */ inline void SetRedriveCount(int value) { m_redriveCount = value; } /** *

      The number of times you've redriven an execution. If you have not yet - * redriven an execution, the redriveCount is 0. This count is not - * updated for redrives that failed to start or are pending to be redriven.

      + * redriven an execution, the redriveCount is 0. This count is only + * updated if you successfully redrive an execution.

      */ inline DescribeExecutionResult& WithRedriveCount(int value) { SetRedriveCount(value); return *this;} diff --git a/generated/src/aws-cpp-sdk-states/include/aws/states/model/DescribeMapRunResult.h b/generated/src/aws-cpp-sdk-states/include/aws/states/model/DescribeMapRunResult.h index 07f0affc3c3..18c74e3afe6 100644 --- a/generated/src/aws-cpp-sdk-states/include/aws/states/model/DescribeMapRunResult.h +++ b/generated/src/aws-cpp-sdk-states/include/aws/states/model/DescribeMapRunResult.h @@ -324,22 +324,22 @@ namespace Model /** *

      The number of times you've redriven a Map Run. If you have not yet redriven a - * Map Run, the redriveCount is 0. This count is not updated for - * redrives that failed to start or are pending to be redriven.

      + * Map Run, the redriveCount is 0. This count is only updated if you + * successfully redrive a Map Run.

      */ inline int GetRedriveCount() const{ return m_redriveCount; } /** *

      The number of times you've redriven a Map Run. If you have not yet redriven a - * Map Run, the redriveCount is 0. This count is not updated for - * redrives that failed to start or are pending to be redriven.

      + * Map Run, the redriveCount is 0. This count is only updated if you + * successfully redrive a Map Run.

      */ inline void SetRedriveCount(int value) { m_redriveCount = value; } /** *

      The number of times you've redriven a Map Run. If you have not yet redriven a - * Map Run, the redriveCount is 0. This count is not updated for - * redrives that failed to start or are pending to be redriven.

      + * Map Run, the redriveCount is 0. This count is only updated if you + * successfully redrive a Map Run.

      */ inline DescribeMapRunResult& WithRedriveCount(int value) { SetRedriveCount(value); return *this;} diff --git a/generated/src/aws-cpp-sdk-states/include/aws/states/model/ExecutionListItem.h b/generated/src/aws-cpp-sdk-states/include/aws/states/model/ExecutionListItem.h index 5baecd06f16..00243707495 100644 --- a/generated/src/aws-cpp-sdk-states/include/aws/states/model/ExecutionListItem.h +++ b/generated/src/aws-cpp-sdk-states/include/aws/states/model/ExecutionListItem.h @@ -553,29 +553,29 @@ namespace Model /** *

      The number of times you've redriven an execution. If you have not yet - * redriven an execution, the redriveCount is 0. This count is not - * updated for redrives that failed to start or are pending to be redriven.

      + * redriven an execution, the redriveCount is 0. This count is only + * updated when you successfully redrive an execution.

      */ inline int GetRedriveCount() const{ return m_redriveCount; } /** *

      The number of times you've redriven an execution. If you have not yet - * redriven an execution, the redriveCount is 0. This count is not - * updated for redrives that failed to start or are pending to be redriven.

      + * redriven an execution, the redriveCount is 0. This count is only + * updated when you successfully redrive an execution.

      */ inline bool RedriveCountHasBeenSet() const { return m_redriveCountHasBeenSet; } /** *

      The number of times you've redriven an execution. If you have not yet - * redriven an execution, the redriveCount is 0. This count is not - * updated for redrives that failed to start or are pending to be redriven.

      + * redriven an execution, the redriveCount is 0. This count is only + * updated when you successfully redrive an execution.

      */ inline void SetRedriveCount(int value) { m_redriveCountHasBeenSet = true; m_redriveCount = value; } /** *

      The number of times you've redriven an execution. If you have not yet - * redriven an execution, the redriveCount is 0. This count is not - * updated for redrives that failed to start or are pending to be redriven.

      + * redriven an execution, the redriveCount is 0. This count is only + * updated when you successfully redrive an execution.

      */ inline ExecutionListItem& WithRedriveCount(int value) { SetRedriveCount(value); return *this;} diff --git a/generated/src/aws-cpp-sdk-states/include/aws/states/model/InspectionData.h b/generated/src/aws-cpp-sdk-states/include/aws/states/model/InspectionData.h new file mode 100644 index 00000000000..0887337d882 --- /dev/null +++ b/generated/src/aws-cpp-sdk-states/include/aws/states/model/InspectionData.h @@ -0,0 +1,452 @@ +/** + * 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 SFN +{ +namespace Model +{ + + /** + *

      Contains additional details about the state's execution, including its input + * and output data processing flow, and HTTP request and response + * information.

      See Also:

      AWS + * API Reference

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

      The raw state input.

      + */ + inline const Aws::String& GetInput() const{ return m_input; } + + /** + *

      The raw state input.

      + */ + inline bool InputHasBeenSet() const { return m_inputHasBeenSet; } + + /** + *

      The raw state input.

      + */ + inline void SetInput(const Aws::String& value) { m_inputHasBeenSet = true; m_input = value; } + + /** + *

      The raw state input.

      + */ + inline void SetInput(Aws::String&& value) { m_inputHasBeenSet = true; m_input = std::move(value); } + + /** + *

      The raw state input.

      + */ + inline void SetInput(const char* value) { m_inputHasBeenSet = true; m_input.assign(value); } + + /** + *

      The raw state input.

      + */ + inline InspectionData& WithInput(const Aws::String& value) { SetInput(value); return *this;} + + /** + *

      The raw state input.

      + */ + inline InspectionData& WithInput(Aws::String&& value) { SetInput(std::move(value)); return *this;} + + /** + *

      The raw state input.

      + */ + inline InspectionData& WithInput(const char* value) { SetInput(value); return *this;} + + + /** + *

      The input after Step Functions applies the InputPath + * filter.

      + */ + inline const Aws::String& GetAfterInputPath() const{ return m_afterInputPath; } + + /** + *

      The input after Step Functions applies the InputPath + * filter.

      + */ + inline bool AfterInputPathHasBeenSet() const { return m_afterInputPathHasBeenSet; } + + /** + *

      The input after Step Functions applies the InputPath + * filter.

      + */ + inline void SetAfterInputPath(const Aws::String& value) { m_afterInputPathHasBeenSet = true; m_afterInputPath = value; } + + /** + *

      The input after Step Functions applies the InputPath + * filter.

      + */ + inline void SetAfterInputPath(Aws::String&& value) { m_afterInputPathHasBeenSet = true; m_afterInputPath = std::move(value); } + + /** + *

      The input after Step Functions applies the InputPath + * filter.

      + */ + inline void SetAfterInputPath(const char* value) { m_afterInputPathHasBeenSet = true; m_afterInputPath.assign(value); } + + /** + *

      The input after Step Functions applies the InputPath + * filter.

      + */ + inline InspectionData& WithAfterInputPath(const Aws::String& value) { SetAfterInputPath(value); return *this;} + + /** + *

      The input after Step Functions applies the InputPath + * filter.

      + */ + inline InspectionData& WithAfterInputPath(Aws::String&& value) { SetAfterInputPath(std::move(value)); return *this;} + + /** + *

      The input after Step Functions applies the InputPath + * filter.

      + */ + inline InspectionData& WithAfterInputPath(const char* value) { SetAfterInputPath(value); return *this;} + + + /** + *

      The effective input after Step Functions applies the Parameters + * filter.

      + */ + inline const Aws::String& GetAfterParameters() const{ return m_afterParameters; } + + /** + *

      The effective input after Step Functions applies the Parameters + * filter.

      + */ + inline bool AfterParametersHasBeenSet() const { return m_afterParametersHasBeenSet; } + + /** + *

      The effective input after Step Functions applies the Parameters + * filter.

      + */ + inline void SetAfterParameters(const Aws::String& value) { m_afterParametersHasBeenSet = true; m_afterParameters = value; } + + /** + *

      The effective input after Step Functions applies the Parameters + * filter.

      + */ + inline void SetAfterParameters(Aws::String&& value) { m_afterParametersHasBeenSet = true; m_afterParameters = std::move(value); } + + /** + *

      The effective input after Step Functions applies the Parameters + * filter.

      + */ + inline void SetAfterParameters(const char* value) { m_afterParametersHasBeenSet = true; m_afterParameters.assign(value); } + + /** + *

      The effective input after Step Functions applies the Parameters + * filter.

      + */ + inline InspectionData& WithAfterParameters(const Aws::String& value) { SetAfterParameters(value); return *this;} + + /** + *

      The effective input after Step Functions applies the Parameters + * filter.

      + */ + inline InspectionData& WithAfterParameters(Aws::String&& value) { SetAfterParameters(std::move(value)); return *this;} + + /** + *

      The effective input after Step Functions applies the Parameters + * filter.

      + */ + inline InspectionData& WithAfterParameters(const char* value) { SetAfterParameters(value); return *this;} + + + /** + *

      The state's raw result.

      + */ + inline const Aws::String& GetResult() const{ return m_result; } + + /** + *

      The state's raw result.

      + */ + inline bool ResultHasBeenSet() const { return m_resultHasBeenSet; } + + /** + *

      The state's raw result.

      + */ + inline void SetResult(const Aws::String& value) { m_resultHasBeenSet = true; m_result = value; } + + /** + *

      The state's raw result.

      + */ + inline void SetResult(Aws::String&& value) { m_resultHasBeenSet = true; m_result = std::move(value); } + + /** + *

      The state's raw result.

      + */ + inline void SetResult(const char* value) { m_resultHasBeenSet = true; m_result.assign(value); } + + /** + *

      The state's raw result.

      + */ + inline InspectionData& WithResult(const Aws::String& value) { SetResult(value); return *this;} + + /** + *

      The state's raw result.

      + */ + inline InspectionData& WithResult(Aws::String&& value) { SetResult(std::move(value)); return *this;} + + /** + *

      The state's raw result.

      + */ + inline InspectionData& WithResult(const char* value) { SetResult(value); return *this;} + + + /** + *

      The effective result after Step Functions applies the ResultSelector + * filter.

      + */ + inline const Aws::String& GetAfterResultSelector() const{ return m_afterResultSelector; } + + /** + *

      The effective result after Step Functions applies the ResultSelector + * filter.

      + */ + inline bool AfterResultSelectorHasBeenSet() const { return m_afterResultSelectorHasBeenSet; } + + /** + *

      The effective result after Step Functions applies the ResultSelector + * filter.

      + */ + inline void SetAfterResultSelector(const Aws::String& value) { m_afterResultSelectorHasBeenSet = true; m_afterResultSelector = value; } + + /** + *

      The effective result after Step Functions applies the ResultSelector + * filter.

      + */ + inline void SetAfterResultSelector(Aws::String&& value) { m_afterResultSelectorHasBeenSet = true; m_afterResultSelector = std::move(value); } + + /** + *

      The effective result after Step Functions applies the ResultSelector + * filter.

      + */ + inline void SetAfterResultSelector(const char* value) { m_afterResultSelectorHasBeenSet = true; m_afterResultSelector.assign(value); } + + /** + *

      The effective result after Step Functions applies the ResultSelector + * filter.

      + */ + inline InspectionData& WithAfterResultSelector(const Aws::String& value) { SetAfterResultSelector(value); return *this;} + + /** + *

      The effective result after Step Functions applies the ResultSelector + * filter.

      + */ + inline InspectionData& WithAfterResultSelector(Aws::String&& value) { SetAfterResultSelector(std::move(value)); return *this;} + + /** + *

      The effective result after Step Functions applies the ResultSelector + * filter.

      + */ + inline InspectionData& WithAfterResultSelector(const char* value) { SetAfterResultSelector(value); return *this;} + + + /** + *

      The effective result combined with the raw state input after Step Functions + * applies the ResultPath + * filter.

      + */ + inline const Aws::String& GetAfterResultPath() const{ return m_afterResultPath; } + + /** + *

      The effective result combined with the raw state input after Step Functions + * applies the ResultPath + * filter.

      + */ + inline bool AfterResultPathHasBeenSet() const { return m_afterResultPathHasBeenSet; } + + /** + *

      The effective result combined with the raw state input after Step Functions + * applies the ResultPath + * filter.

      + */ + inline void SetAfterResultPath(const Aws::String& value) { m_afterResultPathHasBeenSet = true; m_afterResultPath = value; } + + /** + *

      The effective result combined with the raw state input after Step Functions + * applies the ResultPath + * filter.

      + */ + inline void SetAfterResultPath(Aws::String&& value) { m_afterResultPathHasBeenSet = true; m_afterResultPath = std::move(value); } + + /** + *

      The effective result combined with the raw state input after Step Functions + * applies the ResultPath + * filter.

      + */ + inline void SetAfterResultPath(const char* value) { m_afterResultPathHasBeenSet = true; m_afterResultPath.assign(value); } + + /** + *

      The effective result combined with the raw state input after Step Functions + * applies the ResultPath + * filter.

      + */ + inline InspectionData& WithAfterResultPath(const Aws::String& value) { SetAfterResultPath(value); return *this;} + + /** + *

      The effective result combined with the raw state input after Step Functions + * applies the ResultPath + * filter.

      + */ + inline InspectionData& WithAfterResultPath(Aws::String&& value) { SetAfterResultPath(std::move(value)); return *this;} + + /** + *

      The effective result combined with the raw state input after Step Functions + * applies the ResultPath + * filter.

      + */ + inline InspectionData& WithAfterResultPath(const char* value) { SetAfterResultPath(value); return *this;} + + + /** + *

      The raw HTTP request that is sent when you test an HTTP Task.

      + */ + inline const InspectionDataRequest& GetRequest() const{ return m_request; } + + /** + *

      The raw HTTP request that is sent when you test an HTTP Task.

      + */ + inline bool RequestHasBeenSet() const { return m_requestHasBeenSet; } + + /** + *

      The raw HTTP request that is sent when you test an HTTP Task.

      + */ + inline void SetRequest(const InspectionDataRequest& value) { m_requestHasBeenSet = true; m_request = value; } + + /** + *

      The raw HTTP request that is sent when you test an HTTP Task.

      + */ + inline void SetRequest(InspectionDataRequest&& value) { m_requestHasBeenSet = true; m_request = std::move(value); } + + /** + *

      The raw HTTP request that is sent when you test an HTTP Task.

      + */ + inline InspectionData& WithRequest(const InspectionDataRequest& value) { SetRequest(value); return *this;} + + /** + *

      The raw HTTP request that is sent when you test an HTTP Task.

      + */ + inline InspectionData& WithRequest(InspectionDataRequest&& value) { SetRequest(std::move(value)); return *this;} + + + /** + *

      The raw HTTP response that is returned when you test an HTTP Task.

      + */ + inline const InspectionDataResponse& GetResponse() const{ return m_response; } + + /** + *

      The raw HTTP response that is returned when you test an HTTP Task.

      + */ + inline bool ResponseHasBeenSet() const { return m_responseHasBeenSet; } + + /** + *

      The raw HTTP response that is returned when you test an HTTP Task.

      + */ + inline void SetResponse(const InspectionDataResponse& value) { m_responseHasBeenSet = true; m_response = value; } + + /** + *

      The raw HTTP response that is returned when you test an HTTP Task.

      + */ + inline void SetResponse(InspectionDataResponse&& value) { m_responseHasBeenSet = true; m_response = std::move(value); } + + /** + *

      The raw HTTP response that is returned when you test an HTTP Task.

      + */ + inline InspectionData& WithResponse(const InspectionDataResponse& value) { SetResponse(value); return *this;} + + /** + *

      The raw HTTP response that is returned when you test an HTTP Task.

      + */ + inline InspectionData& WithResponse(InspectionDataResponse&& value) { SetResponse(std::move(value)); return *this;} + + private: + + Aws::String m_input; + bool m_inputHasBeenSet = false; + + Aws::String m_afterInputPath; + bool m_afterInputPathHasBeenSet = false; + + Aws::String m_afterParameters; + bool m_afterParametersHasBeenSet = false; + + Aws::String m_result; + bool m_resultHasBeenSet = false; + + Aws::String m_afterResultSelector; + bool m_afterResultSelectorHasBeenSet = false; + + Aws::String m_afterResultPath; + bool m_afterResultPathHasBeenSet = false; + + InspectionDataRequest m_request; + bool m_requestHasBeenSet = false; + + InspectionDataResponse m_response; + bool m_responseHasBeenSet = false; + }; + +} // namespace Model +} // namespace SFN +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-states/include/aws/states/model/InspectionDataRequest.h b/generated/src/aws-cpp-sdk-states/include/aws/states/model/InspectionDataRequest.h new file mode 100644 index 00000000000..31aaa0246d6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-states/include/aws/states/model/InspectionDataRequest.h @@ -0,0 +1,266 @@ +/** + * 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 SFN +{ +namespace Model +{ + + /** + *

      Contains additional details about the state's execution, including its input + * and output data processing flow, and HTTP request information.

      See + * Also:

      AWS + * API Reference

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

      The protocol used to make the HTTP request.

      + */ + inline const Aws::String& GetProtocol() const{ return m_protocol; } + + /** + *

      The protocol used to make the HTTP request.

      + */ + inline bool ProtocolHasBeenSet() const { return m_protocolHasBeenSet; } + + /** + *

      The protocol used to make the HTTP request.

      + */ + inline void SetProtocol(const Aws::String& value) { m_protocolHasBeenSet = true; m_protocol = value; } + + /** + *

      The protocol used to make the HTTP request.

      + */ + inline void SetProtocol(Aws::String&& value) { m_protocolHasBeenSet = true; m_protocol = std::move(value); } + + /** + *

      The protocol used to make the HTTP request.

      + */ + inline void SetProtocol(const char* value) { m_protocolHasBeenSet = true; m_protocol.assign(value); } + + /** + *

      The protocol used to make the HTTP request.

      + */ + inline InspectionDataRequest& WithProtocol(const Aws::String& value) { SetProtocol(value); return *this;} + + /** + *

      The protocol used to make the HTTP request.

      + */ + inline InspectionDataRequest& WithProtocol(Aws::String&& value) { SetProtocol(std::move(value)); return *this;} + + /** + *

      The protocol used to make the HTTP request.

      + */ + inline InspectionDataRequest& WithProtocol(const char* value) { SetProtocol(value); return *this;} + + + /** + *

      The HTTP method used for the HTTP request.

      + */ + inline const Aws::String& GetMethod() const{ return m_method; } + + /** + *

      The HTTP method used for the HTTP request.

      + */ + inline bool MethodHasBeenSet() const { return m_methodHasBeenSet; } + + /** + *

      The HTTP method used for the HTTP request.

      + */ + inline void SetMethod(const Aws::String& value) { m_methodHasBeenSet = true; m_method = value; } + + /** + *

      The HTTP method used for the HTTP request.

      + */ + inline void SetMethod(Aws::String&& value) { m_methodHasBeenSet = true; m_method = std::move(value); } + + /** + *

      The HTTP method used for the HTTP request.

      + */ + inline void SetMethod(const char* value) { m_methodHasBeenSet = true; m_method.assign(value); } + + /** + *

      The HTTP method used for the HTTP request.

      + */ + inline InspectionDataRequest& WithMethod(const Aws::String& value) { SetMethod(value); return *this;} + + /** + *

      The HTTP method used for the HTTP request.

      + */ + inline InspectionDataRequest& WithMethod(Aws::String&& value) { SetMethod(std::move(value)); return *this;} + + /** + *

      The HTTP method used for the HTTP request.

      + */ + inline InspectionDataRequest& WithMethod(const char* value) { SetMethod(value); return *this;} + + + /** + *

      The API endpoint used for the HTTP request.

      + */ + inline const Aws::String& GetUrl() const{ return m_url; } + + /** + *

      The API endpoint used for the HTTP request.

      + */ + inline bool UrlHasBeenSet() const { return m_urlHasBeenSet; } + + /** + *

      The API endpoint used for the HTTP request.

      + */ + inline void SetUrl(const Aws::String& value) { m_urlHasBeenSet = true; m_url = value; } + + /** + *

      The API endpoint used for the HTTP request.

      + */ + inline void SetUrl(Aws::String&& value) { m_urlHasBeenSet = true; m_url = std::move(value); } + + /** + *

      The API endpoint used for the HTTP request.

      + */ + inline void SetUrl(const char* value) { m_urlHasBeenSet = true; m_url.assign(value); } + + /** + *

      The API endpoint used for the HTTP request.

      + */ + inline InspectionDataRequest& WithUrl(const Aws::String& value) { SetUrl(value); return *this;} + + /** + *

      The API endpoint used for the HTTP request.

      + */ + inline InspectionDataRequest& WithUrl(Aws::String&& value) { SetUrl(std::move(value)); return *this;} + + /** + *

      The API endpoint used for the HTTP request.

      + */ + inline InspectionDataRequest& WithUrl(const char* value) { SetUrl(value); return *this;} + + + /** + *

      The request headers associated with the HTTP request.

      + */ + inline const Aws::String& GetHeaders() const{ return m_headers; } + + /** + *

      The request headers associated with the HTTP request.

      + */ + inline bool HeadersHasBeenSet() const { return m_headersHasBeenSet; } + + /** + *

      The request headers associated with the HTTP request.

      + */ + inline void SetHeaders(const Aws::String& value) { m_headersHasBeenSet = true; m_headers = value; } + + /** + *

      The request headers associated with the HTTP request.

      + */ + inline void SetHeaders(Aws::String&& value) { m_headersHasBeenSet = true; m_headers = std::move(value); } + + /** + *

      The request headers associated with the HTTP request.

      + */ + inline void SetHeaders(const char* value) { m_headersHasBeenSet = true; m_headers.assign(value); } + + /** + *

      The request headers associated with the HTTP request.

      + */ + inline InspectionDataRequest& WithHeaders(const Aws::String& value) { SetHeaders(value); return *this;} + + /** + *

      The request headers associated with the HTTP request.

      + */ + inline InspectionDataRequest& WithHeaders(Aws::String&& value) { SetHeaders(std::move(value)); return *this;} + + /** + *

      The request headers associated with the HTTP request.

      + */ + inline InspectionDataRequest& WithHeaders(const char* value) { SetHeaders(value); return *this;} + + + /** + *

      The request body for the HTTP request.

      + */ + inline const Aws::String& GetBody() const{ return m_body; } + + /** + *

      The request body for the HTTP request.

      + */ + inline bool BodyHasBeenSet() const { return m_bodyHasBeenSet; } + + /** + *

      The request body for the HTTP request.

      + */ + inline void SetBody(const Aws::String& value) { m_bodyHasBeenSet = true; m_body = value; } + + /** + *

      The request body for the HTTP request.

      + */ + inline void SetBody(Aws::String&& value) { m_bodyHasBeenSet = true; m_body = std::move(value); } + + /** + *

      The request body for the HTTP request.

      + */ + inline void SetBody(const char* value) { m_bodyHasBeenSet = true; m_body.assign(value); } + + /** + *

      The request body for the HTTP request.

      + */ + inline InspectionDataRequest& WithBody(const Aws::String& value) { SetBody(value); return *this;} + + /** + *

      The request body for the HTTP request.

      + */ + inline InspectionDataRequest& WithBody(Aws::String&& value) { SetBody(std::move(value)); return *this;} + + /** + *

      The request body for the HTTP request.

      + */ + inline InspectionDataRequest& WithBody(const char* value) { SetBody(value); return *this;} + + private: + + Aws::String m_protocol; + bool m_protocolHasBeenSet = false; + + Aws::String m_method; + bool m_methodHasBeenSet = false; + + Aws::String m_url; + bool m_urlHasBeenSet = false; + + Aws::String m_headers; + bool m_headersHasBeenSet = false; + + Aws::String m_body; + bool m_bodyHasBeenSet = false; + }; + +} // namespace Model +} // namespace SFN +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-states/include/aws/states/model/InspectionDataResponse.h b/generated/src/aws-cpp-sdk-states/include/aws/states/model/InspectionDataResponse.h new file mode 100644 index 00000000000..16e2f7d6f6b --- /dev/null +++ b/generated/src/aws-cpp-sdk-states/include/aws/states/model/InspectionDataResponse.h @@ -0,0 +1,267 @@ +/** + * 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 SFN +{ +namespace Model +{ + + /** + *

      Contains additional details about the state's execution, including its input + * and output data processing flow, and HTTP response information. The + * inspectionLevel request parameter specifies which details are + * returned.

      See Also:

      AWS + * API Reference

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

      The protocol used to return the HTTP response.

      + */ + inline const Aws::String& GetProtocol() const{ return m_protocol; } + + /** + *

      The protocol used to return the HTTP response.

      + */ + inline bool ProtocolHasBeenSet() const { return m_protocolHasBeenSet; } + + /** + *

      The protocol used to return the HTTP response.

      + */ + inline void SetProtocol(const Aws::String& value) { m_protocolHasBeenSet = true; m_protocol = value; } + + /** + *

      The protocol used to return the HTTP response.

      + */ + inline void SetProtocol(Aws::String&& value) { m_protocolHasBeenSet = true; m_protocol = std::move(value); } + + /** + *

      The protocol used to return the HTTP response.

      + */ + inline void SetProtocol(const char* value) { m_protocolHasBeenSet = true; m_protocol.assign(value); } + + /** + *

      The protocol used to return the HTTP response.

      + */ + inline InspectionDataResponse& WithProtocol(const Aws::String& value) { SetProtocol(value); return *this;} + + /** + *

      The protocol used to return the HTTP response.

      + */ + inline InspectionDataResponse& WithProtocol(Aws::String&& value) { SetProtocol(std::move(value)); return *this;} + + /** + *

      The protocol used to return the HTTP response.

      + */ + inline InspectionDataResponse& WithProtocol(const char* value) { SetProtocol(value); return *this;} + + + /** + *

      The HTTP response status code for the HTTP response.

      + */ + inline const Aws::String& GetStatusCode() const{ return m_statusCode; } + + /** + *

      The HTTP response status code for the HTTP response.

      + */ + inline bool StatusCodeHasBeenSet() const { return m_statusCodeHasBeenSet; } + + /** + *

      The HTTP response status code for the HTTP response.

      + */ + inline void SetStatusCode(const Aws::String& value) { m_statusCodeHasBeenSet = true; m_statusCode = value; } + + /** + *

      The HTTP response status code for the HTTP response.

      + */ + inline void SetStatusCode(Aws::String&& value) { m_statusCodeHasBeenSet = true; m_statusCode = std::move(value); } + + /** + *

      The HTTP response status code for the HTTP response.

      + */ + inline void SetStatusCode(const char* value) { m_statusCodeHasBeenSet = true; m_statusCode.assign(value); } + + /** + *

      The HTTP response status code for the HTTP response.

      + */ + inline InspectionDataResponse& WithStatusCode(const Aws::String& value) { SetStatusCode(value); return *this;} + + /** + *

      The HTTP response status code for the HTTP response.

      + */ + inline InspectionDataResponse& WithStatusCode(Aws::String&& value) { SetStatusCode(std::move(value)); return *this;} + + /** + *

      The HTTP response status code for the HTTP response.

      + */ + inline InspectionDataResponse& WithStatusCode(const char* value) { SetStatusCode(value); return *this;} + + + /** + *

      The message associated with the HTTP status code.

      + */ + inline const Aws::String& GetStatusMessage() const{ return m_statusMessage; } + + /** + *

      The message associated with the HTTP status code.

      + */ + inline bool StatusMessageHasBeenSet() const { return m_statusMessageHasBeenSet; } + + /** + *

      The message associated with the HTTP status code.

      + */ + inline void SetStatusMessage(const Aws::String& value) { m_statusMessageHasBeenSet = true; m_statusMessage = value; } + + /** + *

      The message associated with the HTTP status code.

      + */ + inline void SetStatusMessage(Aws::String&& value) { m_statusMessageHasBeenSet = true; m_statusMessage = std::move(value); } + + /** + *

      The message associated with the HTTP status code.

      + */ + inline void SetStatusMessage(const char* value) { m_statusMessageHasBeenSet = true; m_statusMessage.assign(value); } + + /** + *

      The message associated with the HTTP status code.

      + */ + inline InspectionDataResponse& WithStatusMessage(const Aws::String& value) { SetStatusMessage(value); return *this;} + + /** + *

      The message associated with the HTTP status code.

      + */ + inline InspectionDataResponse& WithStatusMessage(Aws::String&& value) { SetStatusMessage(std::move(value)); return *this;} + + /** + *

      The message associated with the HTTP status code.

      + */ + inline InspectionDataResponse& WithStatusMessage(const char* value) { SetStatusMessage(value); return *this;} + + + /** + *

      The response headers associated with the HTTP response.

      + */ + inline const Aws::String& GetHeaders() const{ return m_headers; } + + /** + *

      The response headers associated with the HTTP response.

      + */ + inline bool HeadersHasBeenSet() const { return m_headersHasBeenSet; } + + /** + *

      The response headers associated with the HTTP response.

      + */ + inline void SetHeaders(const Aws::String& value) { m_headersHasBeenSet = true; m_headers = value; } + + /** + *

      The response headers associated with the HTTP response.

      + */ + inline void SetHeaders(Aws::String&& value) { m_headersHasBeenSet = true; m_headers = std::move(value); } + + /** + *

      The response headers associated with the HTTP response.

      + */ + inline void SetHeaders(const char* value) { m_headersHasBeenSet = true; m_headers.assign(value); } + + /** + *

      The response headers associated with the HTTP response.

      + */ + inline InspectionDataResponse& WithHeaders(const Aws::String& value) { SetHeaders(value); return *this;} + + /** + *

      The response headers associated with the HTTP response.

      + */ + inline InspectionDataResponse& WithHeaders(Aws::String&& value) { SetHeaders(std::move(value)); return *this;} + + /** + *

      The response headers associated with the HTTP response.

      + */ + inline InspectionDataResponse& WithHeaders(const char* value) { SetHeaders(value); return *this;} + + + /** + *

      The HTTP response returned.

      + */ + inline const Aws::String& GetBody() const{ return m_body; } + + /** + *

      The HTTP response returned.

      + */ + inline bool BodyHasBeenSet() const { return m_bodyHasBeenSet; } + + /** + *

      The HTTP response returned.

      + */ + inline void SetBody(const Aws::String& value) { m_bodyHasBeenSet = true; m_body = value; } + + /** + *

      The HTTP response returned.

      + */ + inline void SetBody(Aws::String&& value) { m_bodyHasBeenSet = true; m_body = std::move(value); } + + /** + *

      The HTTP response returned.

      + */ + inline void SetBody(const char* value) { m_bodyHasBeenSet = true; m_body.assign(value); } + + /** + *

      The HTTP response returned.

      + */ + inline InspectionDataResponse& WithBody(const Aws::String& value) { SetBody(value); return *this;} + + /** + *

      The HTTP response returned.

      + */ + inline InspectionDataResponse& WithBody(Aws::String&& value) { SetBody(std::move(value)); return *this;} + + /** + *

      The HTTP response returned.

      + */ + inline InspectionDataResponse& WithBody(const char* value) { SetBody(value); return *this;} + + private: + + Aws::String m_protocol; + bool m_protocolHasBeenSet = false; + + Aws::String m_statusCode; + bool m_statusCodeHasBeenSet = false; + + Aws::String m_statusMessage; + bool m_statusMessageHasBeenSet = false; + + Aws::String m_headers; + bool m_headersHasBeenSet = false; + + Aws::String m_body; + bool m_bodyHasBeenSet = false; + }; + +} // namespace Model +} // namespace SFN +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-states/include/aws/states/model/InspectionLevel.h b/generated/src/aws-cpp-sdk-states/include/aws/states/model/InspectionLevel.h new file mode 100644 index 00000000000..d26ab110f23 --- /dev/null +++ b/generated/src/aws-cpp-sdk-states/include/aws/states/model/InspectionLevel.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 SFN +{ +namespace Model +{ + enum class InspectionLevel + { + NOT_SET, + INFO, + DEBUG_, + TRACE + }; + +namespace InspectionLevelMapper +{ +AWS_SFN_API InspectionLevel GetInspectionLevelForName(const Aws::String& name); + +AWS_SFN_API Aws::String GetNameForInspectionLevel(InspectionLevel value); +} // namespace InspectionLevelMapper +} // namespace Model +} // namespace SFN +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-states/include/aws/states/model/MapRunExecutionCounts.h b/generated/src/aws-cpp-sdk-states/include/aws/states/model/MapRunExecutionCounts.h index d594bcafe6c..a90fca689fc 100644 --- a/generated/src/aws-cpp-sdk-states/include/aws/states/model/MapRunExecutionCounts.h +++ b/generated/src/aws-cpp-sdk-states/include/aws/states/model/MapRunExecutionCounts.h @@ -251,40 +251,40 @@ namespace Model /** *

      The number of FAILED, ABORTED, or * TIMED_OUT child workflow executions that cannot be redriven because - * their execution status is terminal. For example, if your execution event history - * contains 25,000 entries, or the toleratedFailureCount or - * toleratedFailurePercentage for the Distributed Map has - * exceeded.

      + * their execution status is terminal. For example, child workflows with an + * execution status of FAILED, ABORTED, or + * TIMED_OUT and a redriveStatus of + * NOT_REDRIVABLE.

      */ inline long long GetFailuresNotRedrivable() const{ return m_failuresNotRedrivable; } /** *

      The number of FAILED, ABORTED, or * TIMED_OUT child workflow executions that cannot be redriven because - * their execution status is terminal. For example, if your execution event history - * contains 25,000 entries, or the toleratedFailureCount or - * toleratedFailurePercentage for the Distributed Map has - * exceeded.

      + * their execution status is terminal. For example, child workflows with an + * execution status of FAILED, ABORTED, or + * TIMED_OUT and a redriveStatus of + * NOT_REDRIVABLE.

      */ inline bool FailuresNotRedrivableHasBeenSet() const { return m_failuresNotRedrivableHasBeenSet; } /** *

      The number of FAILED, ABORTED, or * TIMED_OUT child workflow executions that cannot be redriven because - * their execution status is terminal. For example, if your execution event history - * contains 25,000 entries, or the toleratedFailureCount or - * toleratedFailurePercentage for the Distributed Map has - * exceeded.

      + * their execution status is terminal. For example, child workflows with an + * execution status of FAILED, ABORTED, or + * TIMED_OUT and a redriveStatus of + * NOT_REDRIVABLE.

      */ inline void SetFailuresNotRedrivable(long long value) { m_failuresNotRedrivableHasBeenSet = true; m_failuresNotRedrivable = value; } /** *

      The number of FAILED, ABORTED, or * TIMED_OUT child workflow executions that cannot be redriven because - * their execution status is terminal. For example, if your execution event history - * contains 25,000 entries, or the toleratedFailureCount or - * toleratedFailurePercentage for the Distributed Map has - * exceeded.

      + * their execution status is terminal. For example, child workflows with an + * execution status of FAILED, ABORTED, or + * TIMED_OUT and a redriveStatus of + * NOT_REDRIVABLE.

      */ inline MapRunExecutionCounts& WithFailuresNotRedrivable(long long value) { SetFailuresNotRedrivable(value); return *this;} diff --git a/generated/src/aws-cpp-sdk-states/include/aws/states/model/MapRunItemCounts.h b/generated/src/aws-cpp-sdk-states/include/aws/states/model/MapRunItemCounts.h index f68f01e44b2..ceb503ed660 100644 --- a/generated/src/aws-cpp-sdk-states/include/aws/states/model/MapRunItemCounts.h +++ b/generated/src/aws-cpp-sdk-states/include/aws/states/model/MapRunItemCounts.h @@ -248,9 +248,9 @@ namespace Model *

      The number of FAILED, ABORTED, or * TIMED_OUT items in child workflow executions that cannot be * redriven because the execution status of those child workflows is terminal. For - * example, if your execution event history contains 25,000 entries, or the - * toleratedFailureCount or toleratedFailurePercentage - * for the Distributed Map has exceeded.

      + * example, child workflows with an execution status of FAILED, + * ABORTED, or TIMED_OUT and a redriveStatus + * of NOT_REDRIVABLE.

      */ inline long long GetFailuresNotRedrivable() const{ return m_failuresNotRedrivable; } @@ -258,9 +258,9 @@ namespace Model *

      The number of FAILED, ABORTED, or * TIMED_OUT items in child workflow executions that cannot be * redriven because the execution status of those child workflows is terminal. For - * example, if your execution event history contains 25,000 entries, or the - * toleratedFailureCount or toleratedFailurePercentage - * for the Distributed Map has exceeded.

      + * example, child workflows with an execution status of FAILED, + * ABORTED, or TIMED_OUT and a redriveStatus + * of NOT_REDRIVABLE.

      */ inline bool FailuresNotRedrivableHasBeenSet() const { return m_failuresNotRedrivableHasBeenSet; } @@ -268,9 +268,9 @@ namespace Model *

      The number of FAILED, ABORTED, or * TIMED_OUT items in child workflow executions that cannot be * redriven because the execution status of those child workflows is terminal. For - * example, if your execution event history contains 25,000 entries, or the - * toleratedFailureCount or toleratedFailurePercentage - * for the Distributed Map has exceeded.

      + * example, child workflows with an execution status of FAILED, + * ABORTED, or TIMED_OUT and a redriveStatus + * of NOT_REDRIVABLE.

      */ inline void SetFailuresNotRedrivable(long long value) { m_failuresNotRedrivableHasBeenSet = true; m_failuresNotRedrivable = value; } @@ -278,9 +278,9 @@ namespace Model *

      The number of FAILED, ABORTED, or * TIMED_OUT items in child workflow executions that cannot be * redriven because the execution status of those child workflows is terminal. For - * example, if your execution event history contains 25,000 entries, or the - * toleratedFailureCount or toleratedFailurePercentage - * for the Distributed Map has exceeded.

      + * example, child workflows with an execution status of FAILED, + * ABORTED, or TIMED_OUT and a redriveStatus + * of NOT_REDRIVABLE.

      */ inline MapRunItemCounts& WithFailuresNotRedrivable(long long value) { SetFailuresNotRedrivable(value); return *this;} diff --git a/generated/src/aws-cpp-sdk-states/include/aws/states/model/RedriveExecutionRequest.h b/generated/src/aws-cpp-sdk-states/include/aws/states/model/RedriveExecutionRequest.h index d4f256889fe..5ae93ac60a2 100644 --- a/generated/src/aws-cpp-sdk-states/include/aws/states/model/RedriveExecutionRequest.h +++ b/generated/src/aws-cpp-sdk-states/include/aws/states/model/RedriveExecutionRequest.h @@ -80,8 +80,9 @@ namespace Model *

      A unique, case-sensitive identifier that you provide to ensure the * idempotency of the request. If you don’t specify a client token, the Amazon Web * Services SDK automatically generates a client token and uses it for the request - * to ensure idempotency. The API uses one of the last 10 client tokens - * provided.

      + * to ensure idempotency. The API will return idempotent responses for the last 10 + * client tokens used to successfully redrive the execution. These client tokens + * are valid for up to 15 minutes after they are first used.

      */ inline const Aws::String& GetClientToken() const{ return m_clientToken; } @@ -89,8 +90,9 @@ namespace Model *

      A unique, case-sensitive identifier that you provide to ensure the * idempotency of the request. If you don’t specify a client token, the Amazon Web * Services SDK automatically generates a client token and uses it for the request - * to ensure idempotency. The API uses one of the last 10 client tokens - * provided.

      + * to ensure idempotency. The API will return idempotent responses for the last 10 + * client tokens used to successfully redrive the execution. These client tokens + * are valid for up to 15 minutes after they are first used.

      */ inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } @@ -98,8 +100,9 @@ namespace Model *

      A unique, case-sensitive identifier that you provide to ensure the * idempotency of the request. If you don’t specify a client token, the Amazon Web * Services SDK automatically generates a client token and uses it for the request - * to ensure idempotency. The API uses one of the last 10 client tokens - * provided.

      + * to ensure idempotency. The API will return idempotent responses for the last 10 + * client tokens used to successfully redrive the execution. These client tokens + * are valid for up to 15 minutes after they are first used.

      */ inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; } @@ -107,8 +110,9 @@ namespace Model *

      A unique, case-sensitive identifier that you provide to ensure the * idempotency of the request. If you don’t specify a client token, the Amazon Web * Services SDK automatically generates a client token and uses it for the request - * to ensure idempotency. The API uses one of the last 10 client tokens - * provided.

      + * to ensure idempotency. The API will return idempotent responses for the last 10 + * client tokens used to successfully redrive the execution. These client tokens + * are valid for up to 15 minutes after they are first used.

      */ inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); } @@ -116,8 +120,9 @@ namespace Model *

      A unique, case-sensitive identifier that you provide to ensure the * idempotency of the request. If you don’t specify a client token, the Amazon Web * Services SDK automatically generates a client token and uses it for the request - * to ensure idempotency. The API uses one of the last 10 client tokens - * provided.

      + * to ensure idempotency. The API will return idempotent responses for the last 10 + * client tokens used to successfully redrive the execution. These client tokens + * are valid for up to 15 minutes after they are first used.

      */ inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); } @@ -125,8 +130,9 @@ namespace Model *

      A unique, case-sensitive identifier that you provide to ensure the * idempotency of the request. If you don’t specify a client token, the Amazon Web * Services SDK automatically generates a client token and uses it for the request - * to ensure idempotency. The API uses one of the last 10 client tokens - * provided.

      + * to ensure idempotency. The API will return idempotent responses for the last 10 + * client tokens used to successfully redrive the execution. These client tokens + * are valid for up to 15 minutes after they are first used.

      */ inline RedriveExecutionRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;} @@ -134,8 +140,9 @@ namespace Model *

      A unique, case-sensitive identifier that you provide to ensure the * idempotency of the request. If you don’t specify a client token, the Amazon Web * Services SDK automatically generates a client token and uses it for the request - * to ensure idempotency. The API uses one of the last 10 client tokens - * provided.

      + * to ensure idempotency. The API will return idempotent responses for the last 10 + * client tokens used to successfully redrive the execution. These client tokens + * are valid for up to 15 minutes after they are first used.

      */ inline RedriveExecutionRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;} @@ -143,8 +150,9 @@ namespace Model *

      A unique, case-sensitive identifier that you provide to ensure the * idempotency of the request. If you don’t specify a client token, the Amazon Web * Services SDK automatically generates a client token and uses it for the request - * to ensure idempotency. The API uses one of the last 10 client tokens - * provided.

      + * to ensure idempotency. The API will return idempotent responses for the last 10 + * client tokens used to successfully redrive the execution. These client tokens + * are valid for up to 15 minutes after they are first used.

      */ inline RedriveExecutionRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;} diff --git a/generated/src/aws-cpp-sdk-states/include/aws/states/model/TestExecutionStatus.h b/generated/src/aws-cpp-sdk-states/include/aws/states/model/TestExecutionStatus.h new file mode 100644 index 00000000000..d296fc27e2f --- /dev/null +++ b/generated/src/aws-cpp-sdk-states/include/aws/states/model/TestExecutionStatus.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 SFN +{ +namespace Model +{ + enum class TestExecutionStatus + { + NOT_SET, + SUCCEEDED, + FAILED, + RETRIABLE, + CAUGHT_ERROR + }; + +namespace TestExecutionStatusMapper +{ +AWS_SFN_API TestExecutionStatus GetTestExecutionStatusForName(const Aws::String& name); + +AWS_SFN_API Aws::String GetNameForTestExecutionStatus(TestExecutionStatus value); +} // namespace TestExecutionStatusMapper +} // namespace Model +} // namespace SFN +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-states/include/aws/states/model/TestStateRequest.h b/generated/src/aws-cpp-sdk-states/include/aws/states/model/TestStateRequest.h new file mode 100644 index 00000000000..e4d6624e709 --- /dev/null +++ b/generated/src/aws-cpp-sdk-states/include/aws/states/model/TestStateRequest.h @@ -0,0 +1,354 @@ +/** + * 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 SFN +{ +namespace Model +{ + + /** + */ + class TestStateRequest : public SFNRequest + { + public: + AWS_SFN_API TestStateRequest(); + + // 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 "TestState"; } + + AWS_SFN_API Aws::String SerializePayload() const override; + + AWS_SFN_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + /** + *

      The Amazon + * States Language (ASL) definition of the state.

      + */ + inline const Aws::String& GetDefinition() const{ return m_definition; } + + /** + *

      The Amazon + * States Language (ASL) definition of the state.

      + */ + inline bool DefinitionHasBeenSet() const { return m_definitionHasBeenSet; } + + /** + *

      The Amazon + * States Language (ASL) definition of the state.

      + */ + inline void SetDefinition(const Aws::String& value) { m_definitionHasBeenSet = true; m_definition = value; } + + /** + *

      The Amazon + * States Language (ASL) definition of the state.

      + */ + inline void SetDefinition(Aws::String&& value) { m_definitionHasBeenSet = true; m_definition = std::move(value); } + + /** + *

      The Amazon + * States Language (ASL) definition of the state.

      + */ + inline void SetDefinition(const char* value) { m_definitionHasBeenSet = true; m_definition.assign(value); } + + /** + *

      The Amazon + * States Language (ASL) definition of the state.

      + */ + inline TestStateRequest& WithDefinition(const Aws::String& value) { SetDefinition(value); return *this;} + + /** + *

      The Amazon + * States Language (ASL) definition of the state.

      + */ + inline TestStateRequest& WithDefinition(Aws::String&& value) { SetDefinition(std::move(value)); return *this;} + + /** + *

      The Amazon + * States Language (ASL) definition of the state.

      + */ + inline TestStateRequest& WithDefinition(const char* value) { SetDefinition(value); return *this;} + + + /** + *

      The Amazon Resource Name (ARN) of the execution role with the required IAM + * permissions for the state.

      + */ + inline const Aws::String& GetRoleArn() const{ return m_roleArn; } + + /** + *

      The Amazon Resource Name (ARN) of the execution role with the required IAM + * permissions for the state.

      + */ + inline bool RoleArnHasBeenSet() const { return m_roleArnHasBeenSet; } + + /** + *

      The Amazon Resource Name (ARN) of the execution role with the required IAM + * permissions for the state.

      + */ + inline void SetRoleArn(const Aws::String& value) { m_roleArnHasBeenSet = true; m_roleArn = value; } + + /** + *

      The Amazon Resource Name (ARN) of the execution role with the required IAM + * permissions for the state.

      + */ + inline void SetRoleArn(Aws::String&& value) { m_roleArnHasBeenSet = true; m_roleArn = std::move(value); } + + /** + *

      The Amazon Resource Name (ARN) of the execution role with the required IAM + * permissions for the state.

      + */ + inline void SetRoleArn(const char* value) { m_roleArnHasBeenSet = true; m_roleArn.assign(value); } + + /** + *

      The Amazon Resource Name (ARN) of the execution role with the required IAM + * permissions for the state.

      + */ + inline TestStateRequest& WithRoleArn(const Aws::String& value) { SetRoleArn(value); return *this;} + + /** + *

      The Amazon Resource Name (ARN) of the execution role with the required IAM + * permissions for the state.

      + */ + inline TestStateRequest& WithRoleArn(Aws::String&& value) { SetRoleArn(std::move(value)); return *this;} + + /** + *

      The Amazon Resource Name (ARN) of the execution role with the required IAM + * permissions for the state.

      + */ + inline TestStateRequest& WithRoleArn(const char* value) { SetRoleArn(value); return *this;} + + + /** + *

      A string that contains the JSON input data for the state.

      + */ + inline const Aws::String& GetInput() const{ return m_input; } + + /** + *

      A string that contains the JSON input data for the state.

      + */ + inline bool InputHasBeenSet() const { return m_inputHasBeenSet; } + + /** + *

      A string that contains the JSON input data for the state.

      + */ + inline void SetInput(const Aws::String& value) { m_inputHasBeenSet = true; m_input = value; } + + /** + *

      A string that contains the JSON input data for the state.

      + */ + inline void SetInput(Aws::String&& value) { m_inputHasBeenSet = true; m_input = std::move(value); } + + /** + *

      A string that contains the JSON input data for the state.

      + */ + inline void SetInput(const char* value) { m_inputHasBeenSet = true; m_input.assign(value); } + + /** + *

      A string that contains the JSON input data for the state.

      + */ + inline TestStateRequest& WithInput(const Aws::String& value) { SetInput(value); return *this;} + + /** + *

      A string that contains the JSON input data for the state.

      + */ + inline TestStateRequest& WithInput(Aws::String&& value) { SetInput(std::move(value)); return *this;} + + /** + *

      A string that contains the JSON input data for the state.

      + */ + inline TestStateRequest& WithInput(const char* value) { SetInput(value); return *this;} + + + /** + *

      Determines the values to return when a state is tested. You can specify one + * of the following types:

      • INFO: Shows the final + * state output. By default, Step Functions sets inspectionLevel to + * INFO if you don't specify a level.

      • + * DEBUG: Shows the final state output along with the input and output + * data processing result.

      • TRACE: Shows the HTTP + * request and response for an HTTP Task. This level also shows the final state + * output along with the input and output data processing result.

      + *

      Each of these levels also provide information about the status of the state + * execution and the next state to transition to.

      + */ + inline const InspectionLevel& GetInspectionLevel() const{ return m_inspectionLevel; } + + /** + *

      Determines the values to return when a state is tested. You can specify one + * of the following types:

      • INFO: Shows the final + * state output. By default, Step Functions sets inspectionLevel to + * INFO if you don't specify a level.

      • + * DEBUG: Shows the final state output along with the input and output + * data processing result.

      • TRACE: Shows the HTTP + * request and response for an HTTP Task. This level also shows the final state + * output along with the input and output data processing result.

      + *

      Each of these levels also provide information about the status of the state + * execution and the next state to transition to.

      + */ + inline bool InspectionLevelHasBeenSet() const { return m_inspectionLevelHasBeenSet; } + + /** + *

      Determines the values to return when a state is tested. You can specify one + * of the following types:

      • INFO: Shows the final + * state output. By default, Step Functions sets inspectionLevel to + * INFO if you don't specify a level.

      • + * DEBUG: Shows the final state output along with the input and output + * data processing result.

      • TRACE: Shows the HTTP + * request and response for an HTTP Task. This level also shows the final state + * output along with the input and output data processing result.

      + *

      Each of these levels also provide information about the status of the state + * execution and the next state to transition to.

      + */ + inline void SetInspectionLevel(const InspectionLevel& value) { m_inspectionLevelHasBeenSet = true; m_inspectionLevel = value; } + + /** + *

      Determines the values to return when a state is tested. You can specify one + * of the following types:

      • INFO: Shows the final + * state output. By default, Step Functions sets inspectionLevel to + * INFO if you don't specify a level.

      • + * DEBUG: Shows the final state output along with the input and output + * data processing result.

      • TRACE: Shows the HTTP + * request and response for an HTTP Task. This level also shows the final state + * output along with the input and output data processing result.

      + *

      Each of these levels also provide information about the status of the state + * execution and the next state to transition to.

      + */ + inline void SetInspectionLevel(InspectionLevel&& value) { m_inspectionLevelHasBeenSet = true; m_inspectionLevel = std::move(value); } + + /** + *

      Determines the values to return when a state is tested. You can specify one + * of the following types:

      • INFO: Shows the final + * state output. By default, Step Functions sets inspectionLevel to + * INFO if you don't specify a level.

      • + * DEBUG: Shows the final state output along with the input and output + * data processing result.

      • TRACE: Shows the HTTP + * request and response for an HTTP Task. This level also shows the final state + * output along with the input and output data processing result.

      + *

      Each of these levels also provide information about the status of the state + * execution and the next state to transition to.

      + */ + inline TestStateRequest& WithInspectionLevel(const InspectionLevel& value) { SetInspectionLevel(value); return *this;} + + /** + *

      Determines the values to return when a state is tested. You can specify one + * of the following types:

      • INFO: Shows the final + * state output. By default, Step Functions sets inspectionLevel to + * INFO if you don't specify a level.

      • + * DEBUG: Shows the final state output along with the input and output + * data processing result.

      • TRACE: Shows the HTTP + * request and response for an HTTP Task. This level also shows the final state + * output along with the input and output data processing result.

      + *

      Each of these levels also provide information about the status of the state + * execution and the next state to transition to.

      + */ + inline TestStateRequest& WithInspectionLevel(InspectionLevel&& value) { SetInspectionLevel(std::move(value)); return *this;} + + + /** + *

      Specifies whether or not to include secret information in the test result. + * For HTTP Tasks, a secret includes the data that an EventBridge connection adds + * to modify the HTTP request headers, query parameters, and body. Step Functions + * doesn't omit any information included in the state definition or the HTTP + * response.

      If you set revealSecrets to true, you + * must make sure that the IAM user that calls the TestState API has + * permission for the states:RevealSecrets action. For an example of + * IAM policy that sets the states:RevealSecrets permission, see IAM + * permissions to test a state. Without this permission, Step Functions throws + * an access denied error.

      By default, revealSecrets is set to + * false.

      + */ + inline bool GetRevealSecrets() const{ return m_revealSecrets; } + + /** + *

      Specifies whether or not to include secret information in the test result. + * For HTTP Tasks, a secret includes the data that an EventBridge connection adds + * to modify the HTTP request headers, query parameters, and body. Step Functions + * doesn't omit any information included in the state definition or the HTTP + * response.

      If you set revealSecrets to true, you + * must make sure that the IAM user that calls the TestState API has + * permission for the states:RevealSecrets action. For an example of + * IAM policy that sets the states:RevealSecrets permission, see IAM + * permissions to test a state. Without this permission, Step Functions throws + * an access denied error.

      By default, revealSecrets is set to + * false.

      + */ + inline bool RevealSecretsHasBeenSet() const { return m_revealSecretsHasBeenSet; } + + /** + *

      Specifies whether or not to include secret information in the test result. + * For HTTP Tasks, a secret includes the data that an EventBridge connection adds + * to modify the HTTP request headers, query parameters, and body. Step Functions + * doesn't omit any information included in the state definition or the HTTP + * response.

      If you set revealSecrets to true, you + * must make sure that the IAM user that calls the TestState API has + * permission for the states:RevealSecrets action. For an example of + * IAM policy that sets the states:RevealSecrets permission, see IAM + * permissions to test a state. Without this permission, Step Functions throws + * an access denied error.

      By default, revealSecrets is set to + * false.

      + */ + inline void SetRevealSecrets(bool value) { m_revealSecretsHasBeenSet = true; m_revealSecrets = value; } + + /** + *

      Specifies whether or not to include secret information in the test result. + * For HTTP Tasks, a secret includes the data that an EventBridge connection adds + * to modify the HTTP request headers, query parameters, and body. Step Functions + * doesn't omit any information included in the state definition or the HTTP + * response.

      If you set revealSecrets to true, you + * must make sure that the IAM user that calls the TestState API has + * permission for the states:RevealSecrets action. For an example of + * IAM policy that sets the states:RevealSecrets permission, see IAM + * permissions to test a state. Without this permission, Step Functions throws + * an access denied error.

      By default, revealSecrets is set to + * false.

      + */ + inline TestStateRequest& WithRevealSecrets(bool value) { SetRevealSecrets(value); return *this;} + + private: + + Aws::String m_definition; + bool m_definitionHasBeenSet = false; + + Aws::String m_roleArn; + bool m_roleArnHasBeenSet = false; + + Aws::String m_input; + bool m_inputHasBeenSet = false; + + InspectionLevel m_inspectionLevel; + bool m_inspectionLevelHasBeenSet = false; + + bool m_revealSecrets; + bool m_revealSecretsHasBeenSet = false; + }; + +} // namespace Model +} // namespace SFN +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-states/include/aws/states/model/TestStateResult.h b/generated/src/aws-cpp-sdk-states/include/aws/states/model/TestStateResult.h new file mode 100644 index 00000000000..759c703505a --- /dev/null +++ b/generated/src/aws-cpp-sdk-states/include/aws/states/model/TestStateResult.h @@ -0,0 +1,316 @@ +/** + * 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 SFN +{ +namespace Model +{ + class TestStateResult + { + public: + AWS_SFN_API TestStateResult(); + AWS_SFN_API TestStateResult(const Aws::AmazonWebServiceResult& result); + AWS_SFN_API TestStateResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

      The JSON output data of the state. Length constraints apply to the payload + * size, and are expressed as bytes in UTF-8 encoding.

      + */ + inline const Aws::String& GetOutput() const{ return m_output; } + + /** + *

      The JSON output data of the state. Length constraints apply to the payload + * size, and are expressed as bytes in UTF-8 encoding.

      + */ + inline void SetOutput(const Aws::String& value) { m_output = value; } + + /** + *

      The JSON output data of the state. Length constraints apply to the payload + * size, and are expressed as bytes in UTF-8 encoding.

      + */ + inline void SetOutput(Aws::String&& value) { m_output = std::move(value); } + + /** + *

      The JSON output data of the state. Length constraints apply to the payload + * size, and are expressed as bytes in UTF-8 encoding.

      + */ + inline void SetOutput(const char* value) { m_output.assign(value); } + + /** + *

      The JSON output data of the state. Length constraints apply to the payload + * size, and are expressed as bytes in UTF-8 encoding.

      + */ + inline TestStateResult& WithOutput(const Aws::String& value) { SetOutput(value); return *this;} + + /** + *

      The JSON output data of the state. Length constraints apply to the payload + * size, and are expressed as bytes in UTF-8 encoding.

      + */ + inline TestStateResult& WithOutput(Aws::String&& value) { SetOutput(std::move(value)); return *this;} + + /** + *

      The JSON output data of the state. Length constraints apply to the payload + * size, and are expressed as bytes in UTF-8 encoding.

      + */ + inline TestStateResult& WithOutput(const char* value) { SetOutput(value); return *this;} + + + /** + *

      The error returned when the execution of a state fails.

      + */ + inline const Aws::String& GetError() const{ return m_error; } + + /** + *

      The error returned when the execution of a state fails.

      + */ + inline void SetError(const Aws::String& value) { m_error = value; } + + /** + *

      The error returned when the execution of a state fails.

      + */ + inline void SetError(Aws::String&& value) { m_error = std::move(value); } + + /** + *

      The error returned when the execution of a state fails.

      + */ + inline void SetError(const char* value) { m_error.assign(value); } + + /** + *

      The error returned when the execution of a state fails.

      + */ + inline TestStateResult& WithError(const Aws::String& value) { SetError(value); return *this;} + + /** + *

      The error returned when the execution of a state fails.

      + */ + inline TestStateResult& WithError(Aws::String&& value) { SetError(std::move(value)); return *this;} + + /** + *

      The error returned when the execution of a state fails.

      + */ + inline TestStateResult& WithError(const char* value) { SetError(value); return *this;} + + + /** + *

      A detailed explanation of the cause for the error when the execution of a + * state fails.

      + */ + inline const Aws::String& GetCause() const{ return m_cause; } + + /** + *

      A detailed explanation of the cause for the error when the execution of a + * state fails.

      + */ + inline void SetCause(const Aws::String& value) { m_cause = value; } + + /** + *

      A detailed explanation of the cause for the error when the execution of a + * state fails.

      + */ + inline void SetCause(Aws::String&& value) { m_cause = std::move(value); } + + /** + *

      A detailed explanation of the cause for the error when the execution of a + * state fails.

      + */ + inline void SetCause(const char* value) { m_cause.assign(value); } + + /** + *

      A detailed explanation of the cause for the error when the execution of a + * state fails.

      + */ + inline TestStateResult& WithCause(const Aws::String& value) { SetCause(value); return *this;} + + /** + *

      A detailed explanation of the cause for the error when the execution of a + * state fails.

      + */ + inline TestStateResult& WithCause(Aws::String&& value) { SetCause(std::move(value)); return *this;} + + /** + *

      A detailed explanation of the cause for the error when the execution of a + * state fails.

      + */ + inline TestStateResult& WithCause(const char* value) { SetCause(value); return *this;} + + + /** + *

      Returns additional details about the state's execution, including its input + * and output data processing flow, and HTTP request and response information. The + * inspectionLevel request parameter specifies which details are + * returned.

      + */ + inline const InspectionData& GetInspectionData() const{ return m_inspectionData; } + + /** + *

      Returns additional details about the state's execution, including its input + * and output data processing flow, and HTTP request and response information. The + * inspectionLevel request parameter specifies which details are + * returned.

      + */ + inline void SetInspectionData(const InspectionData& value) { m_inspectionData = value; } + + /** + *

      Returns additional details about the state's execution, including its input + * and output data processing flow, and HTTP request and response information. The + * inspectionLevel request parameter specifies which details are + * returned.

      + */ + inline void SetInspectionData(InspectionData&& value) { m_inspectionData = std::move(value); } + + /** + *

      Returns additional details about the state's execution, including its input + * and output data processing flow, and HTTP request and response information. The + * inspectionLevel request parameter specifies which details are + * returned.

      + */ + inline TestStateResult& WithInspectionData(const InspectionData& value) { SetInspectionData(value); return *this;} + + /** + *

      Returns additional details about the state's execution, including its input + * and output data processing flow, and HTTP request and response information. The + * inspectionLevel request parameter specifies which details are + * returned.

      + */ + inline TestStateResult& WithInspectionData(InspectionData&& value) { SetInspectionData(std::move(value)); return *this;} + + + /** + *

      The name of the next state to transition to. If you haven't defined a next + * state in your definition or if the execution of the state fails, this field + * doesn't contain a value.

      + */ + inline const Aws::String& GetNextState() const{ return m_nextState; } + + /** + *

      The name of the next state to transition to. If you haven't defined a next + * state in your definition or if the execution of the state fails, this field + * doesn't contain a value.

      + */ + inline void SetNextState(const Aws::String& value) { m_nextState = value; } + + /** + *

      The name of the next state to transition to. If you haven't defined a next + * state in your definition or if the execution of the state fails, this field + * doesn't contain a value.

      + */ + inline void SetNextState(Aws::String&& value) { m_nextState = std::move(value); } + + /** + *

      The name of the next state to transition to. If you haven't defined a next + * state in your definition or if the execution of the state fails, this field + * doesn't contain a value.

      + */ + inline void SetNextState(const char* value) { m_nextState.assign(value); } + + /** + *

      The name of the next state to transition to. If you haven't defined a next + * state in your definition or if the execution of the state fails, this field + * doesn't contain a value.

      + */ + inline TestStateResult& WithNextState(const Aws::String& value) { SetNextState(value); return *this;} + + /** + *

      The name of the next state to transition to. If you haven't defined a next + * state in your definition or if the execution of the state fails, this field + * doesn't contain a value.

      + */ + inline TestStateResult& WithNextState(Aws::String&& value) { SetNextState(std::move(value)); return *this;} + + /** + *

      The name of the next state to transition to. If you haven't defined a next + * state in your definition or if the execution of the state fails, this field + * doesn't contain a value.

      + */ + inline TestStateResult& WithNextState(const char* value) { SetNextState(value); return *this;} + + + /** + *

      The execution status of the state.

      + */ + inline const TestExecutionStatus& GetStatus() const{ return m_status; } + + /** + *

      The execution status of the state.

      + */ + inline void SetStatus(const TestExecutionStatus& value) { m_status = value; } + + /** + *

      The execution status of the state.

      + */ + inline void SetStatus(TestExecutionStatus&& value) { m_status = std::move(value); } + + /** + *

      The execution status of the state.

      + */ + inline TestStateResult& WithStatus(const TestExecutionStatus& value) { SetStatus(value); return *this;} + + /** + *

      The execution status of the state.

      + */ + inline TestStateResult& WithStatus(TestExecutionStatus&& 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 TestStateResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline TestStateResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline TestStateResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::String m_output; + + Aws::String m_error; + + Aws::String m_cause; + + InspectionData m_inspectionData; + + Aws::String m_nextState; + + TestExecutionStatus m_status; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace SFN +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-states/source/SFNClient.cpp b/generated/src/aws-cpp-sdk-states/source/SFNClient.cpp index 5ed7e21171b..56cacf2229e 100644 --- a/generated/src/aws-cpp-sdk-states/source/SFNClient.cpp +++ b/generated/src/aws-cpp-sdk-states/source/SFNClient.cpp @@ -52,6 +52,7 @@ #include #include #include +#include #include #include #include @@ -997,6 +998,34 @@ TagResourceOutcome SFNClient::TagResource(const TagResourceRequest& request) con {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +TestStateOutcome SFNClient::TestState(const TestStateRequest& request) const +{ + AWS_OPERATION_GUARD(TestState); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, TestState, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, TestState, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, TestState, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".TestState", + {{ 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( + [&]()-> TestStateOutcome { + 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, TestState, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + auto addPrefixErr = endpointResolutionOutcome.GetResult().AddPrefixIfMissing("sync-"); + AWS_CHECK(SERVICE_NAME, !addPrefixErr, addPrefixErr->GetMessage(), TestStateOutcome(addPrefixErr.value())); + return TestStateOutcome(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()}}); +} + UntagResourceOutcome SFNClient::UntagResource(const UntagResourceRequest& request) const { AWS_OPERATION_GUARD(UntagResource); diff --git a/generated/src/aws-cpp-sdk-states/source/model/InspectionData.cpp b/generated/src/aws-cpp-sdk-states/source/model/InspectionData.cpp new file mode 100644 index 00000000000..40770dc1731 --- /dev/null +++ b/generated/src/aws-cpp-sdk-states/source/model/InspectionData.cpp @@ -0,0 +1,164 @@ +/** + * 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 SFN +{ +namespace Model +{ + +InspectionData::InspectionData() : + m_inputHasBeenSet(false), + m_afterInputPathHasBeenSet(false), + m_afterParametersHasBeenSet(false), + m_resultHasBeenSet(false), + m_afterResultSelectorHasBeenSet(false), + m_afterResultPathHasBeenSet(false), + m_requestHasBeenSet(false), + m_responseHasBeenSet(false) +{ +} + +InspectionData::InspectionData(JsonView jsonValue) : + m_inputHasBeenSet(false), + m_afterInputPathHasBeenSet(false), + m_afterParametersHasBeenSet(false), + m_resultHasBeenSet(false), + m_afterResultSelectorHasBeenSet(false), + m_afterResultPathHasBeenSet(false), + m_requestHasBeenSet(false), + m_responseHasBeenSet(false) +{ + *this = jsonValue; +} + +InspectionData& InspectionData::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("input")) + { + m_input = jsonValue.GetString("input"); + + m_inputHasBeenSet = true; + } + + if(jsonValue.ValueExists("afterInputPath")) + { + m_afterInputPath = jsonValue.GetString("afterInputPath"); + + m_afterInputPathHasBeenSet = true; + } + + if(jsonValue.ValueExists("afterParameters")) + { + m_afterParameters = jsonValue.GetString("afterParameters"); + + m_afterParametersHasBeenSet = true; + } + + if(jsonValue.ValueExists("result")) + { + m_result = jsonValue.GetString("result"); + + m_resultHasBeenSet = true; + } + + if(jsonValue.ValueExists("afterResultSelector")) + { + m_afterResultSelector = jsonValue.GetString("afterResultSelector"); + + m_afterResultSelectorHasBeenSet = true; + } + + if(jsonValue.ValueExists("afterResultPath")) + { + m_afterResultPath = jsonValue.GetString("afterResultPath"); + + m_afterResultPathHasBeenSet = true; + } + + if(jsonValue.ValueExists("request")) + { + m_request = jsonValue.GetObject("request"); + + m_requestHasBeenSet = true; + } + + if(jsonValue.ValueExists("response")) + { + m_response = jsonValue.GetObject("response"); + + m_responseHasBeenSet = true; + } + + return *this; +} + +JsonValue InspectionData::Jsonize() const +{ + JsonValue payload; + + if(m_inputHasBeenSet) + { + payload.WithString("input", m_input); + + } + + if(m_afterInputPathHasBeenSet) + { + payload.WithString("afterInputPath", m_afterInputPath); + + } + + if(m_afterParametersHasBeenSet) + { + payload.WithString("afterParameters", m_afterParameters); + + } + + if(m_resultHasBeenSet) + { + payload.WithString("result", m_result); + + } + + if(m_afterResultSelectorHasBeenSet) + { + payload.WithString("afterResultSelector", m_afterResultSelector); + + } + + if(m_afterResultPathHasBeenSet) + { + payload.WithString("afterResultPath", m_afterResultPath); + + } + + if(m_requestHasBeenSet) + { + payload.WithObject("request", m_request.Jsonize()); + + } + + if(m_responseHasBeenSet) + { + payload.WithObject("response", m_response.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace SFN +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-states/source/model/InspectionDataRequest.cpp b/generated/src/aws-cpp-sdk-states/source/model/InspectionDataRequest.cpp new file mode 100644 index 00000000000..07bb01321df --- /dev/null +++ b/generated/src/aws-cpp-sdk-states/source/model/InspectionDataRequest.cpp @@ -0,0 +1,119 @@ +/** + * 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 SFN +{ +namespace Model +{ + +InspectionDataRequest::InspectionDataRequest() : + m_protocolHasBeenSet(false), + m_methodHasBeenSet(false), + m_urlHasBeenSet(false), + m_headersHasBeenSet(false), + m_bodyHasBeenSet(false) +{ +} + +InspectionDataRequest::InspectionDataRequest(JsonView jsonValue) : + m_protocolHasBeenSet(false), + m_methodHasBeenSet(false), + m_urlHasBeenSet(false), + m_headersHasBeenSet(false), + m_bodyHasBeenSet(false) +{ + *this = jsonValue; +} + +InspectionDataRequest& InspectionDataRequest::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("protocol")) + { + m_protocol = jsonValue.GetString("protocol"); + + m_protocolHasBeenSet = true; + } + + if(jsonValue.ValueExists("method")) + { + m_method = jsonValue.GetString("method"); + + m_methodHasBeenSet = true; + } + + if(jsonValue.ValueExists("url")) + { + m_url = jsonValue.GetString("url"); + + m_urlHasBeenSet = true; + } + + if(jsonValue.ValueExists("headers")) + { + m_headers = jsonValue.GetString("headers"); + + m_headersHasBeenSet = true; + } + + if(jsonValue.ValueExists("body")) + { + m_body = jsonValue.GetString("body"); + + m_bodyHasBeenSet = true; + } + + return *this; +} + +JsonValue InspectionDataRequest::Jsonize() const +{ + JsonValue payload; + + if(m_protocolHasBeenSet) + { + payload.WithString("protocol", m_protocol); + + } + + if(m_methodHasBeenSet) + { + payload.WithString("method", m_method); + + } + + if(m_urlHasBeenSet) + { + payload.WithString("url", m_url); + + } + + if(m_headersHasBeenSet) + { + payload.WithString("headers", m_headers); + + } + + if(m_bodyHasBeenSet) + { + payload.WithString("body", m_body); + + } + + return payload; +} + +} // namespace Model +} // namespace SFN +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-states/source/model/InspectionDataResponse.cpp b/generated/src/aws-cpp-sdk-states/source/model/InspectionDataResponse.cpp new file mode 100644 index 00000000000..d96fb466634 --- /dev/null +++ b/generated/src/aws-cpp-sdk-states/source/model/InspectionDataResponse.cpp @@ -0,0 +1,119 @@ +/** + * 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 SFN +{ +namespace Model +{ + +InspectionDataResponse::InspectionDataResponse() : + m_protocolHasBeenSet(false), + m_statusCodeHasBeenSet(false), + m_statusMessageHasBeenSet(false), + m_headersHasBeenSet(false), + m_bodyHasBeenSet(false) +{ +} + +InspectionDataResponse::InspectionDataResponse(JsonView jsonValue) : + m_protocolHasBeenSet(false), + m_statusCodeHasBeenSet(false), + m_statusMessageHasBeenSet(false), + m_headersHasBeenSet(false), + m_bodyHasBeenSet(false) +{ + *this = jsonValue; +} + +InspectionDataResponse& InspectionDataResponse::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("protocol")) + { + m_protocol = jsonValue.GetString("protocol"); + + m_protocolHasBeenSet = true; + } + + if(jsonValue.ValueExists("statusCode")) + { + m_statusCode = jsonValue.GetString("statusCode"); + + m_statusCodeHasBeenSet = true; + } + + if(jsonValue.ValueExists("statusMessage")) + { + m_statusMessage = jsonValue.GetString("statusMessage"); + + m_statusMessageHasBeenSet = true; + } + + if(jsonValue.ValueExists("headers")) + { + m_headers = jsonValue.GetString("headers"); + + m_headersHasBeenSet = true; + } + + if(jsonValue.ValueExists("body")) + { + m_body = jsonValue.GetString("body"); + + m_bodyHasBeenSet = true; + } + + return *this; +} + +JsonValue InspectionDataResponse::Jsonize() const +{ + JsonValue payload; + + if(m_protocolHasBeenSet) + { + payload.WithString("protocol", m_protocol); + + } + + if(m_statusCodeHasBeenSet) + { + payload.WithString("statusCode", m_statusCode); + + } + + if(m_statusMessageHasBeenSet) + { + payload.WithString("statusMessage", m_statusMessage); + + } + + if(m_headersHasBeenSet) + { + payload.WithString("headers", m_headers); + + } + + if(m_bodyHasBeenSet) + { + payload.WithString("body", m_body); + + } + + return payload; +} + +} // namespace Model +} // namespace SFN +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-states/source/model/InspectionLevel.cpp b/generated/src/aws-cpp-sdk-states/source/model/InspectionLevel.cpp new file mode 100644 index 00000000000..dff5b01e8f4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-states/source/model/InspectionLevel.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 SFN + { + namespace Model + { + namespace InspectionLevelMapper + { + + static const int INFO_HASH = HashingUtils::HashString("INFO"); + static const int DEBUG__HASH = HashingUtils::HashString("DEBUG"); + static const int TRACE_HASH = HashingUtils::HashString("TRACE"); + + + InspectionLevel GetInspectionLevelForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == INFO_HASH) + { + return InspectionLevel::INFO; + } + else if (hashCode == DEBUG__HASH) + { + return InspectionLevel::DEBUG_; + } + else if (hashCode == TRACE_HASH) + { + return InspectionLevel::TRACE; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return InspectionLevel::NOT_SET; + } + + Aws::String GetNameForInspectionLevel(InspectionLevel enumValue) + { + switch(enumValue) + { + case InspectionLevel::NOT_SET: + return {}; + case InspectionLevel::INFO: + return "INFO"; + case InspectionLevel::DEBUG_: + return "DEBUG"; + case InspectionLevel::TRACE: + return "TRACE"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace InspectionLevelMapper + } // namespace Model + } // namespace SFN +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-states/source/model/TestExecutionStatus.cpp b/generated/src/aws-cpp-sdk-states/source/model/TestExecutionStatus.cpp new file mode 100644 index 00000000000..609217888bd --- /dev/null +++ b/generated/src/aws-cpp-sdk-states/source/model/TestExecutionStatus.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 SFN + { + namespace Model + { + namespace TestExecutionStatusMapper + { + + static const int SUCCEEDED_HASH = HashingUtils::HashString("SUCCEEDED"); + static const int FAILED_HASH = HashingUtils::HashString("FAILED"); + static const int RETRIABLE_HASH = HashingUtils::HashString("RETRIABLE"); + static const int CAUGHT_ERROR_HASH = HashingUtils::HashString("CAUGHT_ERROR"); + + + TestExecutionStatus GetTestExecutionStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == SUCCEEDED_HASH) + { + return TestExecutionStatus::SUCCEEDED; + } + else if (hashCode == FAILED_HASH) + { + return TestExecutionStatus::FAILED; + } + else if (hashCode == RETRIABLE_HASH) + { + return TestExecutionStatus::RETRIABLE; + } + else if (hashCode == CAUGHT_ERROR_HASH) + { + return TestExecutionStatus::CAUGHT_ERROR; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return TestExecutionStatus::NOT_SET; + } + + Aws::String GetNameForTestExecutionStatus(TestExecutionStatus enumValue) + { + switch(enumValue) + { + case TestExecutionStatus::NOT_SET: + return {}; + case TestExecutionStatus::SUCCEEDED: + return "SUCCEEDED"; + case TestExecutionStatus::FAILED: + return "FAILED"; + case TestExecutionStatus::RETRIABLE: + return "RETRIABLE"; + case TestExecutionStatus::CAUGHT_ERROR: + return "CAUGHT_ERROR"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace TestExecutionStatusMapper + } // namespace Model + } // namespace SFN +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-states/source/model/TestStateRequest.cpp b/generated/src/aws-cpp-sdk-states/source/model/TestStateRequest.cpp new file mode 100644 index 00000000000..aeb0a832de5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-states/source/model/TestStateRequest.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::SFN::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +TestStateRequest::TestStateRequest() : + m_definitionHasBeenSet(false), + m_roleArnHasBeenSet(false), + m_inputHasBeenSet(false), + m_inspectionLevel(InspectionLevel::NOT_SET), + m_inspectionLevelHasBeenSet(false), + m_revealSecrets(false), + m_revealSecretsHasBeenSet(false) +{ +} + +Aws::String TestStateRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_definitionHasBeenSet) + { + payload.WithString("definition", m_definition); + + } + + if(m_roleArnHasBeenSet) + { + payload.WithString("roleArn", m_roleArn); + + } + + if(m_inputHasBeenSet) + { + payload.WithString("input", m_input); + + } + + if(m_inspectionLevelHasBeenSet) + { + payload.WithString("inspectionLevel", InspectionLevelMapper::GetNameForInspectionLevel(m_inspectionLevel)); + } + + if(m_revealSecretsHasBeenSet) + { + payload.WithBool("revealSecrets", m_revealSecrets); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection TestStateRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "AWSStepFunctions.TestState")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-states/source/model/TestStateResult.cpp b/generated/src/aws-cpp-sdk-states/source/model/TestStateResult.cpp new file mode 100644 index 00000000000..b93754c8353 --- /dev/null +++ b/generated/src/aws-cpp-sdk-states/source/model/TestStateResult.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 + +#include + +using namespace Aws::SFN::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +TestStateResult::TestStateResult() : + m_status(TestExecutionStatus::NOT_SET) +{ +} + +TestStateResult::TestStateResult(const Aws::AmazonWebServiceResult& result) : + m_status(TestExecutionStatus::NOT_SET) +{ + *this = result; +} + +TestStateResult& TestStateResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("output")) + { + m_output = jsonValue.GetString("output"); + + } + + if(jsonValue.ValueExists("error")) + { + m_error = jsonValue.GetString("error"); + + } + + if(jsonValue.ValueExists("cause")) + { + m_cause = jsonValue.GetString("cause"); + + } + + if(jsonValue.ValueExists("inspectionData")) + { + m_inspectionData = jsonValue.GetObject("inspectionData"); + + } + + if(jsonValue.ValueExists("nextState")) + { + m_nextState = jsonValue.GetString("nextState"); + + } + + if(jsonValue.ValueExists("status")) + { + m_status = TestExecutionStatusMapper::GetTestExecutionStatusForName(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-transcribe/include/aws/transcribe/model/CallAnalyticsJobSettings.h b/generated/src/aws-cpp-sdk-transcribe/include/aws/transcribe/model/CallAnalyticsJobSettings.h index 37f2d944dd5..229d40d2870 100644 --- a/generated/src/aws-cpp-sdk-transcribe/include/aws/transcribe/model/CallAnalyticsJobSettings.h +++ b/generated/src/aws-cpp-sdk-transcribe/include/aws/transcribe/model/CallAnalyticsJobSettings.h @@ -10,6 +10,7 @@ #include #include #include +#include #include #include #include @@ -712,6 +713,49 @@ namespace Model */ inline CallAnalyticsJobSettings& AddLanguageIdSettings(LanguageCode&& key, LanguageIdSettings&& value) { m_languageIdSettingsHasBeenSet = true; m_languageIdSettings.emplace(std::move(key), std::move(value)); return *this; } + + /** + *

      Contains GenerateAbstractiveSummary, which is a required + * parameter if you want to enable Generative call summarization in your Call + * Analytics request.

      + */ + inline const Summarization& GetSummarization() const{ return m_summarization; } + + /** + *

      Contains GenerateAbstractiveSummary, which is a required + * parameter if you want to enable Generative call summarization in your Call + * Analytics request.

      + */ + inline bool SummarizationHasBeenSet() const { return m_summarizationHasBeenSet; } + + /** + *

      Contains GenerateAbstractiveSummary, which is a required + * parameter if you want to enable Generative call summarization in your Call + * Analytics request.

      + */ + inline void SetSummarization(const Summarization& value) { m_summarizationHasBeenSet = true; m_summarization = value; } + + /** + *

      Contains GenerateAbstractiveSummary, which is a required + * parameter if you want to enable Generative call summarization in your Call + * Analytics request.

      + */ + inline void SetSummarization(Summarization&& value) { m_summarizationHasBeenSet = true; m_summarization = std::move(value); } + + /** + *

      Contains GenerateAbstractiveSummary, which is a required + * parameter if you want to enable Generative call summarization in your Call + * Analytics request.

      + */ + inline CallAnalyticsJobSettings& WithSummarization(const Summarization& value) { SetSummarization(value); return *this;} + + /** + *

      Contains GenerateAbstractiveSummary, which is a required + * parameter if you want to enable Generative call summarization in your Call + * Analytics request.

      + */ + inline CallAnalyticsJobSettings& WithSummarization(Summarization&& value) { SetSummarization(std::move(value)); return *this;} + private: Aws::String m_vocabularyName; @@ -734,6 +778,9 @@ namespace Model Aws::Map m_languageIdSettings; bool m_languageIdSettingsHasBeenSet = false; + + Summarization m_summarization; + bool m_summarizationHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-transcribe/include/aws/transcribe/model/LanguageCode.h b/generated/src/aws-cpp-sdk-transcribe/include/aws/transcribe/model/LanguageCode.h index f00fc30a465..fe5edee2922 100644 --- a/generated/src/aws-cpp-sdk-transcribe/include/aws/transcribe/model/LanguageCode.h +++ b/generated/src/aws-cpp-sdk-transcribe/include/aws/transcribe/model/LanguageCode.h @@ -54,7 +54,71 @@ namespace Model en_ZA, en_NZ, vi_VN, - sv_SE + sv_SE, + ab_GE, + ast_ES, + az_AZ, + ba_RU, + be_BY, + bg_BG, + bn_IN, + bs_BA, + ca_ES, + ckb_IQ, + ckb_IR, + cs_CZ, + cy_WL, + el_GR, + et_ET, + eu_ES, + fi_FI, + gl_ES, + gu_IN, + ha_NG, + hr_HR, + hu_HU, + hy_AM, + is_IS, + ka_GE, + kab_DZ, + kk_KZ, + kn_IN, + ky_KG, + lg_IN, + lt_LT, + lv_LV, + mhr_RU, + mi_NZ, + mk_MK, + ml_IN, + mn_MN, + mr_IN, + mt_MT, + no_NO, + or_IN, + pa_IN, + pl_PL, + ps_AF, + ro_RO, + rw_RW, + si_LK, + sk_SK, + sl_SI, + so_SO, + sr_RS, + su_ID, + sw_BI, + sw_KE, + sw_RW, + sw_TZ, + sw_UG, + tl_PH, + tt_RU, + ug_CN, + uk_UA, + uz_UZ, + wo_SN, + zu_ZA }; namespace LanguageCodeMapper diff --git a/generated/src/aws-cpp-sdk-transcribe/include/aws/transcribe/model/Summarization.h b/generated/src/aws-cpp-sdk-transcribe/include/aws/transcribe/model/Summarization.h new file mode 100644 index 00000000000..8e6f573f780 --- /dev/null +++ b/generated/src/aws-cpp-sdk-transcribe/include/aws/transcribe/model/Summarization.h @@ -0,0 +1,88 @@ +/** + * 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 TranscribeService +{ +namespace Model +{ + + /** + *

      Contains GenerateAbstractiveSummary, which is a required + * parameter if you want to enable Generative call summarization in your Call + * Analytics request.

      See Also:

      AWS + * API Reference

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

      Enables Generative call summarization in your Call Analytics request

      + *

      Generative call summarization provides a summary of the transcript including + * important components discussed in the conversation.

      For more information, + * see Enabling + * generative call summarization.

      + */ + inline bool GetGenerateAbstractiveSummary() const{ return m_generateAbstractiveSummary; } + + /** + *

      Enables Generative call summarization in your Call Analytics request

      + *

      Generative call summarization provides a summary of the transcript including + * important components discussed in the conversation.

      For more information, + * see Enabling + * generative call summarization.

      + */ + inline bool GenerateAbstractiveSummaryHasBeenSet() const { return m_generateAbstractiveSummaryHasBeenSet; } + + /** + *

      Enables Generative call summarization in your Call Analytics request

      + *

      Generative call summarization provides a summary of the transcript including + * important components discussed in the conversation.

      For more information, + * see Enabling + * generative call summarization.

      + */ + inline void SetGenerateAbstractiveSummary(bool value) { m_generateAbstractiveSummaryHasBeenSet = true; m_generateAbstractiveSummary = value; } + + /** + *

      Enables Generative call summarization in your Call Analytics request

      + *

      Generative call summarization provides a summary of the transcript including + * important components discussed in the conversation.

      For more information, + * see Enabling + * generative call summarization.

      + */ + inline Summarization& WithGenerateAbstractiveSummary(bool value) { SetGenerateAbstractiveSummary(value); return *this;} + + private: + + bool m_generateAbstractiveSummary; + bool m_generateAbstractiveSummaryHasBeenSet = false; + }; + +} // namespace Model +} // namespace TranscribeService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-transcribe/source/TranscribeServiceEndpointRules.cpp b/generated/src/aws-cpp-sdk-transcribe/source/TranscribeServiceEndpointRules.cpp index 0ef46d4a31a..191a5e0ab29 100644 --- a/generated/src/aws-cpp-sdk-transcribe/source/TranscribeServiceEndpointRules.cpp +++ b/generated/src/aws-cpp-sdk-transcribe/source/TranscribeServiceEndpointRules.cpp @@ -51,141 +51,141 @@ static constexpr RulesBlobT RulesBlob = {{ ',','"','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','"',':','[','{','"','f','n','"',':','"', 'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', -'d','p','o','i','n','t','"','}',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', -',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', -'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r', -'u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','C','o', -'n','f','i','g','u','r','a','t','i','o','n',':',' ','F','I','P','S',' ','a','n','d',' ','c','u','s', -'t','o','m',' ','e','n','d','p','o','i','n','t',' ','a','r','e',' ','n','o','t',' ','s','u','p','p', -'o','r','t','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e', -'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"', -'e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','C','o','n','f','i','g','u','r','a', -'t','i','o','n',':',' ','D','u','a','l','s','t','a','c','k',' ','a','n','d',' ','c','u','s','t','o', -'m',' ','e','n','d','p','o','i','n','t',' ','a','r','e',' ','n','o','t',' ','s','u','p','p','o','r', -'t','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','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','"',':','{','}',',','"','h','e','a','d','e','r','s','"', -':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}', -',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s', -'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i', -'o','n','"','}',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u', -'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', -'"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g', -'n','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',']',',','"','t', -'y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o', +'d','p','o','i','n','t','"','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o', 'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', 'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', -'s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o', -'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}', -']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o', -'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','t','r','u','e',',', -'{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',', -'"','s','u','p','p','o','r','t','s','F','I','P','S','"',']','}',']','}',',','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','t', -'r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l', -'t','"','}',',','"','s','u','p','p','o','r','t','s','D','u','a','l','S','t','a','c','k','"',']','}', -']','}',']',',','"','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','"',':','"','h','t','t','p','s',':','/','/','t','r','a','n', -'s','c','r','i','b','e','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','P','a','r', -'t','i','t','i','o','n','R','e','s','u','l','t','#','d','u','a','l','S','t','a','c','k','D','n','s', -'S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',', -'"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d', -'p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', -']',',','"','e','r','r','o','r','"',':','"','F','I','P','S',' ','a','n','d',' ','D','u','a','l','S', -'t','a','c','k',' ','a','r','e',' ','e','n','a','b','l','e','d',',',' ','b','u','t',' ','t','h','i', -'s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p', -'o','r','t',' ','o','n','e',' ','o','r',' ','b','o','t','h','"',',','"','t','y','p','e','"',':','"', -'e','r','r','o','r','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', -'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r', -'u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e', -'s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','t', -'r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l', -'t','"','}',',','"','s','u','p','p','o','r','t','s','F','I','P','S','"',']','}',']','}',']',',','"', -'t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c', -'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','"','a','w','s','"',',','{','"','f', -'n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','n','a', -'m','e','"',']','}',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l', -'"',':','"','h','t','t','p','s',':','/','/','f','i','p','s','.','t','r','a','n','s','c','r','i','b', -'e','.','{','R','e','g','i','o','n','}','.','a','m','a','z','o','n','a','w','s','.','c','o','m','"', -',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s', -'"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r', -'i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','"','a','w','s','-','u', -'s','-','g','o','v','"',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e', -'s','u','l','t','"','}',',','"','n','a','m','e','"',']','}',']','}',']',',','"','e','n','d','p','o', -'i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','f','i','p','s', -'.','t','r','a','n','s','c','r','i','b','e','.','{','R','e','g','i','o','n','}','.','a','m','a','z', -'o','n','a','w','s','.','c','o','m','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{', +'s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':', +'"','I','n','v','a','l','i','d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','F', +'I','P','S',' ','a','n','d',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','a', +'r','e',' ','n','o','t',' ','s','u','p','p','o','r','t','e','d','"',',','"','t','y','p','e','"',':', +'"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"', +'}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i', +'d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','D','u','a','l','s','t','a','c', +'k',' ','a','n','d',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','a','r','e', +' ','n','o','t',' ','s','u','p','p','o','r','t','e','d','"',',','"','t','y','p','e','"',':','"','e', +'r','r','o','r','"','}',',','{','"','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','"',':','{', '}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e', -'n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', -']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p', -'s',':','/','/','t','r','a','n','s','c','r','i','b','e','-','f','i','p','s','.','{','R','e','g','i', -'o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S', -'u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"', -'h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p', -'o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']', -',','"','e','r','r','o','r','"',':','"','F','I','P','S',' ','i','s',' ','e','n','a','b','l','e','d', +'n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s', +'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i', +'o','n','"','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i', +'o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o', +'n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','P','a','r','t','i','t','i','o','n','R', +'e','s','u','l','t','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F', +'I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', +'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"', +'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R', +'e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','F','I','P','S','"',']','}',']', +'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t', +'r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t', +'i','o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','D','u','a','l', +'S','t','a','c','k','"',']','}',']','}',']',',','"','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','"',':','"','h','t','t','p','s',':','/','/','t','r','a','n','s','c','r','i','b','e', +'-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n', +'R','e','s','u','l','t','#','d','u','a','l','S','t','a','c','k','D','n','s','S','u','f','f','i','x', +'}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e', +'r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"', +'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','F','I','P','S',' ','a', +'n','d',' ','D','u','a','l','S','t','a','c','k',' ','a','r','e',' ','e','n','a','b','l','e','d',',', ' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ', -'n','o','t',' ','s','u','p','p','o','r','t',' ','F','I','P','S','"',',','"','t','y','p','e','"',':', -'"','e','r','r','o','r','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c', -'k','"','}',',','t','r','u','e',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', -',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', -'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"', +'n','o','t',' ','s','u','p','p','o','r','t',' ','o','n','e',' ','o','r',' ','b','o','t','h','"',',', +'"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"', +'t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', +'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']', +'}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e', +'s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','F','I','P','S','"',']','}',',','t', +'r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"', ',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o', -'n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','D','u','a','l','S','t', -'a','c','k','"',']','}',']','}',']',',','"','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','"',':','"','h','t','t','p','s',':', -'/','/','t','r','a','n','s','c','r','i','b','e','.','{','R','e','g','i','o','n','}','.','{','P','a', -'r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','u','a','l','S','t','a','c','k','D','n', -'s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}', -',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n', -'d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[',']',',','"','e','r','r','o','r','"',':','"','D','u','a','l','S','t','a','c','k',' ','i','s',' ', -'e','n','a','b','l','e','d',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o', -'n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','D','u','a','l','S','t', -'a','c','k','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',',','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n', -'g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'R','e','g','i','o','n','"','}',',','"','c','n','-','n','o','r','t','h','-','1','"',']','}',']',',', -'"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':', -'/','/','c','n','.','t','r','a','n','s','c','r','i','b','e','.','c','n','-','n','o','r','t','h','-', -'1','.','a','m','a','z','o','n','a','w','s','.','c','o','m','.','c','n','"',',','"','p','r','o','p', +'n','R','e','s','u','l','t','"','}',',','"','n','a','m','e','"',']','}',',','"','a','w','s','"',']', +'}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t', +'p','s',':','/','/','f','i','p','s','.','t','r','a','n','s','c','r','i','b','e','.','{','R','e','g', +'i','o','n','}','.','a','m','a','z','o','n','a','w','s','.','c','o','m','"',',','"','p','r','o','p', 'e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',', '"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d', 'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i', -'o','n','"','}',',','"','c','n','-','n','o','r','t','h','w','e','s','t','-','1','"',']','}',']',',', -'"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':', -'/','/','c','n','.','t','r','a','n','s','c','r','i','b','e','.','c','n','-','n','o','r','t','h','w', -'e','s','t','-','1','.','a','m','a','z','o','n','a','w','s','.','c','o','m','.','c','n','"',',','"', -'p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':', -'{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"', -':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','t','r','a','n','s','c','r','i', -'b','e','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s', -'u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i', -'e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', -'e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"','c','o','n','d', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t', +'t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i', +'t','i','o','n','R','e','s','u','l','t','"','}',',','"','n','a','m','e','"',']','}',',','"','a','w', +'s','-','u','s','-','g','o','v','"',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{', +'"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','f','i','p','s','.','t','r','a','n','s', +'c','r','i','b','e','.','{','R','e','g','i','o','n','}','.','a','m','a','z','o','n','a','w','s','.', +'c','o','m','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a', +'d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n', +'t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d', +'p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','t','r', +'a','n','s','c','r','i','b','e','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','P', +'a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}', +'"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r', +'s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}', +']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','F','I','P','S',' ','i','s', +' ','e','n','a','b','l','e','d',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i', +'o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','F','I','P','S','"', +',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':', +'"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}', +',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','t','r','u','e',',','{','"','f','n','"',':','"', +'g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r', +'t','s','D','u','a','l','S','t','a','c','k','"',']','}',']','}',']',',','"','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','"',':','"','h','t','t','p','s',':','/','/','t','r','a','n', +'s','c','r','i','b','e','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o', +'n','R','e','s','u','l','t','#','d','u','a','l','S','t','a','c','k','D','n','s','S','u','f','f','i', +'x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d', +'e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t', +'"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','D','u','a','l','S', +'t','a','c','k',' ','i','s',' ','e','n','a','b','l','e','d',' ','b','u','t',' ','t','h','i','s',' ', +'p','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r', +'t',' ','D','u','a','l','S','t','a','c','k','"',',','"','t','y','p','e','"',':','"','e','r','r','o', +'r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n', +'d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g', +'i','o','n','"','}',',','"','c','n','-','n','o','r','t','h','-','1','"',']','}',']',',','"','e','n', +'d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','c', +'n','.','t','r','a','n','s','c','r','i','b','e','.','c','n','-','n','o','r','t','h','-','1','.','a', +'m','a','z','o','n','a','w','s','.','c','o','m','.','c','n','"',',','"','p','r','o','p','e','r','t', +'i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y', +'p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"', +'}',',','"','c','n','-','n','o','r','t','h','w','e','s','t','-','1','"',']','}',']',',','"','e','n', +'d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','c', +'n','.','t','r','a','n','s','c','r','i','b','e','.','c','n','-','n','o','r','t','h','w','e','s','t', +'-','1','.','a','m','a','z','o','n','a','w','s','.','c','o','m','.','c','n','"',',','"','p','r','o', +'p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}', +',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n', +'d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"', +'u','r','l','"',':','"','h','t','t','p','s',':','/','/','t','r','a','n','s','c','r','i','b','e','.', +'{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t', +'#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"', +':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':', +'"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', +'"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d', 'i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l', 'i','d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','M','i','s','s','i','n','g', ' ','R','e','g','i','o','n','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']', diff --git a/generated/src/aws-cpp-sdk-transcribe/source/model/CallAnalyticsJobSettings.cpp b/generated/src/aws-cpp-sdk-transcribe/source/model/CallAnalyticsJobSettings.cpp index 4b758cc34e6..71a225d69c6 100644 --- a/generated/src/aws-cpp-sdk-transcribe/source/model/CallAnalyticsJobSettings.cpp +++ b/generated/src/aws-cpp-sdk-transcribe/source/model/CallAnalyticsJobSettings.cpp @@ -26,7 +26,8 @@ CallAnalyticsJobSettings::CallAnalyticsJobSettings() : m_languageModelNameHasBeenSet(false), m_contentRedactionHasBeenSet(false), m_languageOptionsHasBeenSet(false), - m_languageIdSettingsHasBeenSet(false) + m_languageIdSettingsHasBeenSet(false), + m_summarizationHasBeenSet(false) { } @@ -38,7 +39,8 @@ CallAnalyticsJobSettings::CallAnalyticsJobSettings(JsonView jsonValue) : m_languageModelNameHasBeenSet(false), m_contentRedactionHasBeenSet(false), m_languageOptionsHasBeenSet(false), - m_languageIdSettingsHasBeenSet(false) + m_languageIdSettingsHasBeenSet(false), + m_summarizationHasBeenSet(false) { *this = jsonValue; } @@ -100,6 +102,13 @@ CallAnalyticsJobSettings& CallAnalyticsJobSettings::operator =(JsonView jsonValu m_languageIdSettingsHasBeenSet = true; } + if(jsonValue.ValueExists("Summarization")) + { + m_summarization = jsonValue.GetObject("Summarization"); + + m_summarizationHasBeenSet = true; + } + return *this; } @@ -158,6 +167,12 @@ JsonValue CallAnalyticsJobSettings::Jsonize() const } + if(m_summarizationHasBeenSet) + { + payload.WithObject("Summarization", m_summarization.Jsonize()); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-transcribe/source/model/LanguageCode.cpp b/generated/src/aws-cpp-sdk-transcribe/source/model/LanguageCode.cpp index fdc3510f5b8..f38bb753b29 100644 --- a/generated/src/aws-cpp-sdk-transcribe/source/model/LanguageCode.cpp +++ b/generated/src/aws-cpp-sdk-transcribe/source/model/LanguageCode.cpp @@ -59,6 +59,70 @@ namespace Aws static const int en_NZ_HASH = HashingUtils::HashString("en-NZ"); static const int vi_VN_HASH = HashingUtils::HashString("vi-VN"); static const int sv_SE_HASH = HashingUtils::HashString("sv-SE"); + static const int ab_GE_HASH = HashingUtils::HashString("ab-GE"); + static const int ast_ES_HASH = HashingUtils::HashString("ast-ES"); + static const int az_AZ_HASH = HashingUtils::HashString("az-AZ"); + static const int ba_RU_HASH = HashingUtils::HashString("ba-RU"); + static const int be_BY_HASH = HashingUtils::HashString("be-BY"); + static const int bg_BG_HASH = HashingUtils::HashString("bg-BG"); + static const int bn_IN_HASH = HashingUtils::HashString("bn-IN"); + static const int bs_BA_HASH = HashingUtils::HashString("bs-BA"); + static const int ca_ES_HASH = HashingUtils::HashString("ca-ES"); + static const int ckb_IQ_HASH = HashingUtils::HashString("ckb-IQ"); + static const int ckb_IR_HASH = HashingUtils::HashString("ckb-IR"); + static const int cs_CZ_HASH = HashingUtils::HashString("cs-CZ"); + static const int cy_WL_HASH = HashingUtils::HashString("cy-WL"); + static const int el_GR_HASH = HashingUtils::HashString("el-GR"); + static const int et_ET_HASH = HashingUtils::HashString("et-ET"); + static const int eu_ES_HASH = HashingUtils::HashString("eu-ES"); + static const int fi_FI_HASH = HashingUtils::HashString("fi-FI"); + static const int gl_ES_HASH = HashingUtils::HashString("gl-ES"); + static const int gu_IN_HASH = HashingUtils::HashString("gu-IN"); + static const int ha_NG_HASH = HashingUtils::HashString("ha-NG"); + static const int hr_HR_HASH = HashingUtils::HashString("hr-HR"); + static const int hu_HU_HASH = HashingUtils::HashString("hu-HU"); + static const int hy_AM_HASH = HashingUtils::HashString("hy-AM"); + static const int is_IS_HASH = HashingUtils::HashString("is-IS"); + static const int ka_GE_HASH = HashingUtils::HashString("ka-GE"); + static const int kab_DZ_HASH = HashingUtils::HashString("kab-DZ"); + static const int kk_KZ_HASH = HashingUtils::HashString("kk-KZ"); + static const int kn_IN_HASH = HashingUtils::HashString("kn-IN"); + static const int ky_KG_HASH = HashingUtils::HashString("ky-KG"); + static const int lg_IN_HASH = HashingUtils::HashString("lg-IN"); + static const int lt_LT_HASH = HashingUtils::HashString("lt-LT"); + static const int lv_LV_HASH = HashingUtils::HashString("lv-LV"); + static const int mhr_RU_HASH = HashingUtils::HashString("mhr-RU"); + static const int mi_NZ_HASH = HashingUtils::HashString("mi-NZ"); + static const int mk_MK_HASH = HashingUtils::HashString("mk-MK"); + static const int ml_IN_HASH = HashingUtils::HashString("ml-IN"); + static const int mn_MN_HASH = HashingUtils::HashString("mn-MN"); + static const int mr_IN_HASH = HashingUtils::HashString("mr-IN"); + static const int mt_MT_HASH = HashingUtils::HashString("mt-MT"); + static const int no_NO_HASH = HashingUtils::HashString("no-NO"); + static const int or_IN_HASH = HashingUtils::HashString("or-IN"); + static const int pa_IN_HASH = HashingUtils::HashString("pa-IN"); + static const int pl_PL_HASH = HashingUtils::HashString("pl-PL"); + static const int ps_AF_HASH = HashingUtils::HashString("ps-AF"); + static const int ro_RO_HASH = HashingUtils::HashString("ro-RO"); + static const int rw_RW_HASH = HashingUtils::HashString("rw-RW"); + static const int si_LK_HASH = HashingUtils::HashString("si-LK"); + static const int sk_SK_HASH = HashingUtils::HashString("sk-SK"); + static const int sl_SI_HASH = HashingUtils::HashString("sl-SI"); + static const int so_SO_HASH = HashingUtils::HashString("so-SO"); + static const int sr_RS_HASH = HashingUtils::HashString("sr-RS"); + static const int su_ID_HASH = HashingUtils::HashString("su-ID"); + static const int sw_BI_HASH = HashingUtils::HashString("sw-BI"); + static const int sw_KE_HASH = HashingUtils::HashString("sw-KE"); + static const int sw_RW_HASH = HashingUtils::HashString("sw-RW"); + static const int sw_TZ_HASH = HashingUtils::HashString("sw-TZ"); + static const int sw_UG_HASH = HashingUtils::HashString("sw-UG"); + static const int tl_PH_HASH = HashingUtils::HashString("tl-PH"); + static const int tt_RU_HASH = HashingUtils::HashString("tt-RU"); + static const int ug_CN_HASH = HashingUtils::HashString("ug-CN"); + static const int uk_UA_HASH = HashingUtils::HashString("uk-UA"); + static const int uz_UZ_HASH = HashingUtils::HashString("uz-UZ"); + static const int wo_SN_HASH = HashingUtils::HashString("wo-SN"); + static const int zu_ZA_HASH = HashingUtils::HashString("zu-ZA"); LanguageCode GetLanguageCodeForName(const Aws::String& name) @@ -220,6 +284,262 @@ namespace Aws { return LanguageCode::sv_SE; } + else if (hashCode == ab_GE_HASH) + { + return LanguageCode::ab_GE; + } + else if (hashCode == ast_ES_HASH) + { + return LanguageCode::ast_ES; + } + else if (hashCode == az_AZ_HASH) + { + return LanguageCode::az_AZ; + } + else if (hashCode == ba_RU_HASH) + { + return LanguageCode::ba_RU; + } + else if (hashCode == be_BY_HASH) + { + return LanguageCode::be_BY; + } + else if (hashCode == bg_BG_HASH) + { + return LanguageCode::bg_BG; + } + else if (hashCode == bn_IN_HASH) + { + return LanguageCode::bn_IN; + } + else if (hashCode == bs_BA_HASH) + { + return LanguageCode::bs_BA; + } + else if (hashCode == ca_ES_HASH) + { + return LanguageCode::ca_ES; + } + else if (hashCode == ckb_IQ_HASH) + { + return LanguageCode::ckb_IQ; + } + else if (hashCode == ckb_IR_HASH) + { + return LanguageCode::ckb_IR; + } + else if (hashCode == cs_CZ_HASH) + { + return LanguageCode::cs_CZ; + } + else if (hashCode == cy_WL_HASH) + { + return LanguageCode::cy_WL; + } + else if (hashCode == el_GR_HASH) + { + return LanguageCode::el_GR; + } + else if (hashCode == et_ET_HASH) + { + return LanguageCode::et_ET; + } + else if (hashCode == eu_ES_HASH) + { + return LanguageCode::eu_ES; + } + else if (hashCode == fi_FI_HASH) + { + return LanguageCode::fi_FI; + } + else if (hashCode == gl_ES_HASH) + { + return LanguageCode::gl_ES; + } + else if (hashCode == gu_IN_HASH) + { + return LanguageCode::gu_IN; + } + else if (hashCode == ha_NG_HASH) + { + return LanguageCode::ha_NG; + } + else if (hashCode == hr_HR_HASH) + { + return LanguageCode::hr_HR; + } + else if (hashCode == hu_HU_HASH) + { + return LanguageCode::hu_HU; + } + else if (hashCode == hy_AM_HASH) + { + return LanguageCode::hy_AM; + } + else if (hashCode == is_IS_HASH) + { + return LanguageCode::is_IS; + } + else if (hashCode == ka_GE_HASH) + { + return LanguageCode::ka_GE; + } + else if (hashCode == kab_DZ_HASH) + { + return LanguageCode::kab_DZ; + } + else if (hashCode == kk_KZ_HASH) + { + return LanguageCode::kk_KZ; + } + else if (hashCode == kn_IN_HASH) + { + return LanguageCode::kn_IN; + } + else if (hashCode == ky_KG_HASH) + { + return LanguageCode::ky_KG; + } + else if (hashCode == lg_IN_HASH) + { + return LanguageCode::lg_IN; + } + else if (hashCode == lt_LT_HASH) + { + return LanguageCode::lt_LT; + } + else if (hashCode == lv_LV_HASH) + { + return LanguageCode::lv_LV; + } + else if (hashCode == mhr_RU_HASH) + { + return LanguageCode::mhr_RU; + } + else if (hashCode == mi_NZ_HASH) + { + return LanguageCode::mi_NZ; + } + else if (hashCode == mk_MK_HASH) + { + return LanguageCode::mk_MK; + } + else if (hashCode == ml_IN_HASH) + { + return LanguageCode::ml_IN; + } + else if (hashCode == mn_MN_HASH) + { + return LanguageCode::mn_MN; + } + else if (hashCode == mr_IN_HASH) + { + return LanguageCode::mr_IN; + } + else if (hashCode == mt_MT_HASH) + { + return LanguageCode::mt_MT; + } + else if (hashCode == no_NO_HASH) + { + return LanguageCode::no_NO; + } + else if (hashCode == or_IN_HASH) + { + return LanguageCode::or_IN; + } + else if (hashCode == pa_IN_HASH) + { + return LanguageCode::pa_IN; + } + else if (hashCode == pl_PL_HASH) + { + return LanguageCode::pl_PL; + } + else if (hashCode == ps_AF_HASH) + { + return LanguageCode::ps_AF; + } + else if (hashCode == ro_RO_HASH) + { + return LanguageCode::ro_RO; + } + else if (hashCode == rw_RW_HASH) + { + return LanguageCode::rw_RW; + } + else if (hashCode == si_LK_HASH) + { + return LanguageCode::si_LK; + } + else if (hashCode == sk_SK_HASH) + { + return LanguageCode::sk_SK; + } + else if (hashCode == sl_SI_HASH) + { + return LanguageCode::sl_SI; + } + else if (hashCode == so_SO_HASH) + { + return LanguageCode::so_SO; + } + else if (hashCode == sr_RS_HASH) + { + return LanguageCode::sr_RS; + } + else if (hashCode == su_ID_HASH) + { + return LanguageCode::su_ID; + } + else if (hashCode == sw_BI_HASH) + { + return LanguageCode::sw_BI; + } + else if (hashCode == sw_KE_HASH) + { + return LanguageCode::sw_KE; + } + else if (hashCode == sw_RW_HASH) + { + return LanguageCode::sw_RW; + } + else if (hashCode == sw_TZ_HASH) + { + return LanguageCode::sw_TZ; + } + else if (hashCode == sw_UG_HASH) + { + return LanguageCode::sw_UG; + } + else if (hashCode == tl_PH_HASH) + { + return LanguageCode::tl_PH; + } + else if (hashCode == tt_RU_HASH) + { + return LanguageCode::tt_RU; + } + else if (hashCode == ug_CN_HASH) + { + return LanguageCode::ug_CN; + } + else if (hashCode == uk_UA_HASH) + { + return LanguageCode::uk_UA; + } + else if (hashCode == uz_UZ_HASH) + { + return LanguageCode::uz_UZ; + } + else if (hashCode == wo_SN_HASH) + { + return LanguageCode::wo_SN; + } + else if (hashCode == zu_ZA_HASH) + { + return LanguageCode::zu_ZA; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -314,6 +634,134 @@ namespace Aws return "vi-VN"; case LanguageCode::sv_SE: return "sv-SE"; + case LanguageCode::ab_GE: + return "ab-GE"; + case LanguageCode::ast_ES: + return "ast-ES"; + case LanguageCode::az_AZ: + return "az-AZ"; + case LanguageCode::ba_RU: + return "ba-RU"; + case LanguageCode::be_BY: + return "be-BY"; + case LanguageCode::bg_BG: + return "bg-BG"; + case LanguageCode::bn_IN: + return "bn-IN"; + case LanguageCode::bs_BA: + return "bs-BA"; + case LanguageCode::ca_ES: + return "ca-ES"; + case LanguageCode::ckb_IQ: + return "ckb-IQ"; + case LanguageCode::ckb_IR: + return "ckb-IR"; + case LanguageCode::cs_CZ: + return "cs-CZ"; + case LanguageCode::cy_WL: + return "cy-WL"; + case LanguageCode::el_GR: + return "el-GR"; + case LanguageCode::et_ET: + return "et-ET"; + case LanguageCode::eu_ES: + return "eu-ES"; + case LanguageCode::fi_FI: + return "fi-FI"; + case LanguageCode::gl_ES: + return "gl-ES"; + case LanguageCode::gu_IN: + return "gu-IN"; + case LanguageCode::ha_NG: + return "ha-NG"; + case LanguageCode::hr_HR: + return "hr-HR"; + case LanguageCode::hu_HU: + return "hu-HU"; + case LanguageCode::hy_AM: + return "hy-AM"; + case LanguageCode::is_IS: + return "is-IS"; + case LanguageCode::ka_GE: + return "ka-GE"; + case LanguageCode::kab_DZ: + return "kab-DZ"; + case LanguageCode::kk_KZ: + return "kk-KZ"; + case LanguageCode::kn_IN: + return "kn-IN"; + case LanguageCode::ky_KG: + return "ky-KG"; + case LanguageCode::lg_IN: + return "lg-IN"; + case LanguageCode::lt_LT: + return "lt-LT"; + case LanguageCode::lv_LV: + return "lv-LV"; + case LanguageCode::mhr_RU: + return "mhr-RU"; + case LanguageCode::mi_NZ: + return "mi-NZ"; + case LanguageCode::mk_MK: + return "mk-MK"; + case LanguageCode::ml_IN: + return "ml-IN"; + case LanguageCode::mn_MN: + return "mn-MN"; + case LanguageCode::mr_IN: + return "mr-IN"; + case LanguageCode::mt_MT: + return "mt-MT"; + case LanguageCode::no_NO: + return "no-NO"; + case LanguageCode::or_IN: + return "or-IN"; + case LanguageCode::pa_IN: + return "pa-IN"; + case LanguageCode::pl_PL: + return "pl-PL"; + case LanguageCode::ps_AF: + return "ps-AF"; + case LanguageCode::ro_RO: + return "ro-RO"; + case LanguageCode::rw_RW: + return "rw-RW"; + case LanguageCode::si_LK: + return "si-LK"; + case LanguageCode::sk_SK: + return "sk-SK"; + case LanguageCode::sl_SI: + return "sl-SI"; + case LanguageCode::so_SO: + return "so-SO"; + case LanguageCode::sr_RS: + return "sr-RS"; + case LanguageCode::su_ID: + return "su-ID"; + case LanguageCode::sw_BI: + return "sw-BI"; + case LanguageCode::sw_KE: + return "sw-KE"; + case LanguageCode::sw_RW: + return "sw-RW"; + case LanguageCode::sw_TZ: + return "sw-TZ"; + case LanguageCode::sw_UG: + return "sw-UG"; + case LanguageCode::tl_PH: + return "tl-PH"; + case LanguageCode::tt_RU: + return "tt-RU"; + case LanguageCode::ug_CN: + return "ug-CN"; + case LanguageCode::uk_UA: + return "uk-UA"; + case LanguageCode::uz_UZ: + return "uz-UZ"; + case LanguageCode::wo_SN: + return "wo-SN"; + case LanguageCode::zu_ZA: + return "zu-ZA"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-transcribe/source/model/Summarization.cpp b/generated/src/aws-cpp-sdk-transcribe/source/model/Summarization.cpp new file mode 100644 index 00000000000..ea246666c4a --- /dev/null +++ b/generated/src/aws-cpp-sdk-transcribe/source/model/Summarization.cpp @@ -0,0 +1,61 @@ +/** + * 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 TranscribeService +{ +namespace Model +{ + +Summarization::Summarization() : + m_generateAbstractiveSummary(false), + m_generateAbstractiveSummaryHasBeenSet(false) +{ +} + +Summarization::Summarization(JsonView jsonValue) : + m_generateAbstractiveSummary(false), + m_generateAbstractiveSummaryHasBeenSet(false) +{ + *this = jsonValue; +} + +Summarization& Summarization::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("GenerateAbstractiveSummary")) + { + m_generateAbstractiveSummary = jsonValue.GetBool("GenerateAbstractiveSummary"); + + m_generateAbstractiveSummaryHasBeenSet = true; + } + + return *this; +} + +JsonValue Summarization::Jsonize() const +{ + JsonValue payload; + + if(m_generateAbstractiveSummaryHasBeenSet) + { + payload.WithBool("GenerateAbstractiveSummary", m_generateAbstractiveSummary); + + } + + return payload; +} + +} // namespace Model +} // namespace TranscribeService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/CMakeLists.txt b/generated/src/aws-cpp-sdk-workspaces-thin-client/CMakeLists.txt new file mode 100644 index 00000000000..3aae98e0db7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/CMakeLists.txt @@ -0,0 +1,76 @@ +add_project(aws-cpp-sdk-workspaces-thin-client "C++ SDK for the AWS workspaces-thin-client service" aws-cpp-sdk-core) + +file(GLOB AWS_WORKSPACES-THIN-CLIENT_HEADERS + "include/aws/workspaces-thin-client/*.h" +) + +file(GLOB AWS_WORKSPACES-THIN-CLIENT_MODEL_HEADERS + "include/aws/workspaces-thin-client/model/*.h" +) + +file(GLOB AWS_WORKSPACES-THIN-CLIENT_SOURCE + "source/*.cpp" +) + +file(GLOB AWS_WORKSPACES-THIN-CLIENT_MODEL_SOURCE + "source/model/*.cpp" +) + +file(GLOB WORKSPACES-THIN-CLIENT_UNIFIED_HEADERS + ${AWS_WORKSPACES-THIN-CLIENT_HEADERS} + ${AWS_WORKSPACES-THIN-CLIENT_MODEL_HEADERS} +) + +file(GLOB WORKSPACES-THIN-CLIENT_UNITY_SRC + ${AWS_WORKSPACES-THIN-CLIENT_SOURCE} + ${AWS_WORKSPACES-THIN-CLIENT_MODEL_SOURCE} +) + +if(ENABLE_UNITY_BUILD) + enable_unity_build("WORKSPACES-THIN-CLIENT" WORKSPACES-THIN-CLIENT_UNITY_SRC) +endif() + +file(GLOB WORKSPACES-THIN-CLIENT_SRC + ${WORKSPACES-THIN-CLIENT_UNIFIED_HEADERS} + ${WORKSPACES-THIN-CLIENT_UNITY_SRC} +) + +if(WIN32) + #if we are compiling for visual studio, create a sane directory tree. + if(MSVC) + source_group("Header Files\\aws\\workspaces-thin-client" FILES ${AWS_WORKSPACES-THIN-CLIENT_HEADERS}) + source_group("Header Files\\aws\\workspaces-thin-client\\model" FILES ${AWS_WORKSPACES-THIN-CLIENT_MODEL_HEADERS}) + source_group("Source Files" FILES ${AWS_WORKSPACES-THIN-CLIENT_SOURCE}) + source_group("Source Files\\model" FILES ${AWS_WORKSPACES-THIN-CLIENT_MODEL_SOURCE}) + endif(MSVC) +endif() + +set(WORKSPACES-THIN-CLIENT_INCLUDES + "${CMAKE_CURRENT_SOURCE_DIR}/include/" +) + +add_library(${PROJECT_NAME} ${WORKSPACES-THIN-CLIENT_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_WORKSPACESTHINCLIENT_EXPORTS") +endif() + +target_include_directories(${PROJECT_NAME} PUBLIC + $ + $) + +target_link_libraries(${PROJECT_NAME} PRIVATE ${PLATFORM_DEP_LIBS} ${PROJECT_LIBS}) + + +setup_install() + +install (FILES ${AWS_WORKSPACES-THIN-CLIENT_HEADERS} DESTINATION ${INCLUDE_DIRECTORY}/aws/workspaces-thin-client) +install (FILES ${AWS_WORKSPACES-THIN-CLIENT_MODEL_HEADERS} DESTINATION ${INCLUDE_DIRECTORY}/aws/workspaces-thin-client/model) + +do_packaging() + + diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/WorkSpacesThinClientClient.h b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/WorkSpacesThinClientClient.h new file mode 100644 index 00000000000..1334ff4aa28 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/WorkSpacesThinClientClient.h @@ -0,0 +1,510 @@ +/** + * 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 WorkSpacesThinClient +{ + /** + *

      Amazon WorkSpaces Thin Client is a affordable device built to work with + * Amazon Web Services End User Computing (EUC) virtual desktops to provide users + * with a complete cloud desktop solution. WorkSpaces Thin Client is a compact + * device designed to connect up to two monitors and USB devices like a keyboard, + * mouse, headset, and webcam. To maximize endpoint security, WorkSpaces Thin + * Client devices do not allow local data storage or installation of unapproved + * applications. The WorkSpaces Thin Client device ships preloaded with device + * management software.

      You can use these APIs to complete WorkSpaces Thin + * Client tasks, such as creating environments or viewing devices. For more + * information about WorkSpaces Thin Client, including the required permissions to + * use the service, see the Amazon + * WorkSpaces Thin Client Administrator Guide. For more information about using + * the Command Line Interface (CLI) to manage your WorkSpaces Thin Client + * resources, see the WorkSpaces + * Thin Client section of the CLI Reference.

      + */ + class AWS_WORKSPACESTHINCLIENT_API WorkSpacesThinClientClient : public Aws::Client::AWSJsonClient, public Aws::Client::ClientWithAsyncTemplateMethods + { + public: + typedef Aws::Client::AWSJsonClient BASECLASS; + static const char* SERVICE_NAME; + static const char* ALLOCATION_TAG; + + typedef WorkSpacesThinClientClientConfiguration ClientConfigurationType; + typedef WorkSpacesThinClientEndpointProvider 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. + */ + WorkSpacesThinClientClient(const Aws::WorkSpacesThinClient::WorkSpacesThinClientClientConfiguration& clientConfiguration = Aws::WorkSpacesThinClient::WorkSpacesThinClientClientConfiguration(), + std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG)); + + /** + * 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. + */ + WorkSpacesThinClientClient(const Aws::Auth::AWSCredentials& credentials, + std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG), + const Aws::WorkSpacesThinClient::WorkSpacesThinClientClientConfiguration& clientConfiguration = Aws::WorkSpacesThinClient::WorkSpacesThinClientClientConfiguration()); + + /** + * 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 + */ + WorkSpacesThinClientClient(const std::shared_ptr& credentialsProvider, + std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG), + const Aws::WorkSpacesThinClient::WorkSpacesThinClientClientConfiguration& clientConfiguration = Aws::WorkSpacesThinClient::WorkSpacesThinClientClientConfiguration()); + + + /* 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. + */ + WorkSpacesThinClientClient(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. + */ + WorkSpacesThinClientClient(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 + */ + WorkSpacesThinClientClient(const std::shared_ptr& credentialsProvider, + const Aws::Client::ClientConfiguration& clientConfiguration); + + /* End of legacy constructors due deprecation */ + virtual ~WorkSpacesThinClientClient(); + + /** + *

      Creates an environment for your thin client devices.

      See Also:

      + * AWS + * API Reference

      + */ + virtual Model::CreateEnvironmentOutcome CreateEnvironment(const Model::CreateEnvironmentRequest& request) const; + + /** + * A Callable wrapper for CreateEnvironment that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::CreateEnvironmentOutcomeCallable CreateEnvironmentCallable(const CreateEnvironmentRequestT& request) const + { + return SubmitCallable(&WorkSpacesThinClientClient::CreateEnvironment, request); + } + + /** + * An Async wrapper for CreateEnvironment that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void CreateEnvironmentAsync(const CreateEnvironmentRequestT& request, const CreateEnvironmentResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&WorkSpacesThinClientClient::CreateEnvironment, request, handler, context); + } + + /** + *

      Deletes a thin client device.

      See Also:

      AWS + * API Reference

      + */ + virtual Model::DeleteDeviceOutcome DeleteDevice(const Model::DeleteDeviceRequest& request) const; + + /** + * A Callable wrapper for DeleteDevice that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DeleteDeviceOutcomeCallable DeleteDeviceCallable(const DeleteDeviceRequestT& request) const + { + return SubmitCallable(&WorkSpacesThinClientClient::DeleteDevice, request); + } + + /** + * An Async wrapper for DeleteDevice that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DeleteDeviceAsync(const DeleteDeviceRequestT& request, const DeleteDeviceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&WorkSpacesThinClientClient::DeleteDevice, request, handler, context); + } + + /** + *

      Deletes an environment.

      See Also:

      AWS + * API Reference

      + */ + virtual Model::DeleteEnvironmentOutcome DeleteEnvironment(const Model::DeleteEnvironmentRequest& request) const; + + /** + * A Callable wrapper for DeleteEnvironment that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DeleteEnvironmentOutcomeCallable DeleteEnvironmentCallable(const DeleteEnvironmentRequestT& request) const + { + return SubmitCallable(&WorkSpacesThinClientClient::DeleteEnvironment, request); + } + + /** + * An Async wrapper for DeleteEnvironment that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DeleteEnvironmentAsync(const DeleteEnvironmentRequestT& request, const DeleteEnvironmentResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&WorkSpacesThinClientClient::DeleteEnvironment, request, handler, context); + } + + /** + *

      Deregisters a thin client device.

      See Also:

      AWS + * API Reference

      + */ + virtual Model::DeregisterDeviceOutcome DeregisterDevice(const Model::DeregisterDeviceRequest& request) const; + + /** + * A Callable wrapper for DeregisterDevice that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DeregisterDeviceOutcomeCallable DeregisterDeviceCallable(const DeregisterDeviceRequestT& request) const + { + return SubmitCallable(&WorkSpacesThinClientClient::DeregisterDevice, request); + } + + /** + * An Async wrapper for DeregisterDevice that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DeregisterDeviceAsync(const DeregisterDeviceRequestT& request, const DeregisterDeviceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&WorkSpacesThinClientClient::DeregisterDevice, request, handler, context); + } + + /** + *

      Returns information for a thin client device.

      See Also:

      AWS + * API Reference

      + */ + virtual Model::GetDeviceOutcome GetDevice(const Model::GetDeviceRequest& request) const; + + /** + * A Callable wrapper for GetDevice that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetDeviceOutcomeCallable GetDeviceCallable(const GetDeviceRequestT& request) const + { + return SubmitCallable(&WorkSpacesThinClientClient::GetDevice, request); + } + + /** + * An Async wrapper for GetDevice that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetDeviceAsync(const GetDeviceRequestT& request, const GetDeviceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&WorkSpacesThinClientClient::GetDevice, request, handler, context); + } + + /** + *

      Returns information for an environment.

      See Also:

      AWS + * API Reference

      + */ + virtual Model::GetEnvironmentOutcome GetEnvironment(const Model::GetEnvironmentRequest& request) const; + + /** + * A Callable wrapper for GetEnvironment that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetEnvironmentOutcomeCallable GetEnvironmentCallable(const GetEnvironmentRequestT& request) const + { + return SubmitCallable(&WorkSpacesThinClientClient::GetEnvironment, request); + } + + /** + * An Async wrapper for GetEnvironment that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetEnvironmentAsync(const GetEnvironmentRequestT& request, const GetEnvironmentResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&WorkSpacesThinClientClient::GetEnvironment, request, handler, context); + } + + /** + *

      Returns information for a software set.

      See Also:

      AWS + * API Reference

      + */ + virtual Model::GetSoftwareSetOutcome GetSoftwareSet(const Model::GetSoftwareSetRequest& request) const; + + /** + * A Callable wrapper for GetSoftwareSet that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetSoftwareSetOutcomeCallable GetSoftwareSetCallable(const GetSoftwareSetRequestT& request) const + { + return SubmitCallable(&WorkSpacesThinClientClient::GetSoftwareSet, request); + } + + /** + * An Async wrapper for GetSoftwareSet that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetSoftwareSetAsync(const GetSoftwareSetRequestT& request, const GetSoftwareSetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&WorkSpacesThinClientClient::GetSoftwareSet, request, handler, context); + } + + /** + *

      Returns a list of thin client devices.

      See Also:

      AWS + * API Reference

      + */ + virtual Model::ListDevicesOutcome ListDevices(const Model::ListDevicesRequest& request) const; + + /** + * A Callable wrapper for ListDevices that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListDevicesOutcomeCallable ListDevicesCallable(const ListDevicesRequestT& request) const + { + return SubmitCallable(&WorkSpacesThinClientClient::ListDevices, request); + } + + /** + * An Async wrapper for ListDevices that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListDevicesAsync(const ListDevicesRequestT& request, const ListDevicesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&WorkSpacesThinClientClient::ListDevices, request, handler, context); + } + + /** + *

      Returns a list of environments.

      See Also:

      AWS + * API Reference

      + */ + virtual Model::ListEnvironmentsOutcome ListEnvironments(const Model::ListEnvironmentsRequest& request) const; + + /** + * A Callable wrapper for ListEnvironments that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListEnvironmentsOutcomeCallable ListEnvironmentsCallable(const ListEnvironmentsRequestT& request) const + { + return SubmitCallable(&WorkSpacesThinClientClient::ListEnvironments, request); + } + + /** + * An Async wrapper for ListEnvironments that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListEnvironmentsAsync(const ListEnvironmentsRequestT& request, const ListEnvironmentsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&WorkSpacesThinClientClient::ListEnvironments, request, handler, context); + } + + /** + *

      Returns a list of software sets.

      See Also:

      AWS + * API Reference

      + */ + virtual Model::ListSoftwareSetsOutcome ListSoftwareSets(const Model::ListSoftwareSetsRequest& request) const; + + /** + * A Callable wrapper for ListSoftwareSets that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListSoftwareSetsOutcomeCallable ListSoftwareSetsCallable(const ListSoftwareSetsRequestT& request) const + { + return SubmitCallable(&WorkSpacesThinClientClient::ListSoftwareSets, request); + } + + /** + * An Async wrapper for ListSoftwareSets that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListSoftwareSetsAsync(const ListSoftwareSetsRequestT& request, const ListSoftwareSetsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&WorkSpacesThinClientClient::ListSoftwareSets, request, handler, context); + } + + /** + *

      Returns a list of tags for a resource.

      See Also:

      AWS + * API Reference

      + */ + virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest& request) const; + + /** + * A Callable wrapper for ListTagsForResource that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const ListTagsForResourceRequestT& request) const + { + return SubmitCallable(&WorkSpacesThinClientClient::ListTagsForResource, request); + } + + /** + * An Async wrapper for ListTagsForResource that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListTagsForResourceAsync(const ListTagsForResourceRequestT& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&WorkSpacesThinClientClient::ListTagsForResource, request, handler, context); + } + + /** + *

      Assigns one or more tags (key-value pairs) to the specified + * resource.

      See Also:

      AWS + * API Reference

      + */ + virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest& request) const; + + /** + * A Callable wrapper for TagResource that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::TagResourceOutcomeCallable TagResourceCallable(const TagResourceRequestT& request) const + { + return SubmitCallable(&WorkSpacesThinClientClient::TagResource, request); + } + + /** + * An Async wrapper for TagResource that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void TagResourceAsync(const TagResourceRequestT& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&WorkSpacesThinClientClient::TagResource, request, handler, context); + } + + /** + *

      Removes a tag or tags from a resource.

      See Also:

      AWS + * API Reference

      + */ + virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest& request) const; + + /** + * A Callable wrapper for UntagResource that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::UntagResourceOutcomeCallable UntagResourceCallable(const UntagResourceRequestT& request) const + { + return SubmitCallable(&WorkSpacesThinClientClient::UntagResource, request); + } + + /** + * An Async wrapper for UntagResource that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void UntagResourceAsync(const UntagResourceRequestT& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&WorkSpacesThinClientClient::UntagResource, request, handler, context); + } + + /** + *

      Updates a thin client device.

      See Also:

      AWS + * API Reference

      + */ + virtual Model::UpdateDeviceOutcome UpdateDevice(const Model::UpdateDeviceRequest& request) const; + + /** + * A Callable wrapper for UpdateDevice that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::UpdateDeviceOutcomeCallable UpdateDeviceCallable(const UpdateDeviceRequestT& request) const + { + return SubmitCallable(&WorkSpacesThinClientClient::UpdateDevice, request); + } + + /** + * An Async wrapper for UpdateDevice that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void UpdateDeviceAsync(const UpdateDeviceRequestT& request, const UpdateDeviceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&WorkSpacesThinClientClient::UpdateDevice, request, handler, context); + } + + /** + *

      Updates an environment.

      See Also:

      AWS + * API Reference

      + */ + virtual Model::UpdateEnvironmentOutcome UpdateEnvironment(const Model::UpdateEnvironmentRequest& request) const; + + /** + * A Callable wrapper for UpdateEnvironment that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::UpdateEnvironmentOutcomeCallable UpdateEnvironmentCallable(const UpdateEnvironmentRequestT& request) const + { + return SubmitCallable(&WorkSpacesThinClientClient::UpdateEnvironment, request); + } + + /** + * An Async wrapper for UpdateEnvironment that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void UpdateEnvironmentAsync(const UpdateEnvironmentRequestT& request, const UpdateEnvironmentResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&WorkSpacesThinClientClient::UpdateEnvironment, request, handler, context); + } + + /** + *

      Updates a software set.

      See Also:

      AWS + * API Reference

      + */ + virtual Model::UpdateSoftwareSetOutcome UpdateSoftwareSet(const Model::UpdateSoftwareSetRequest& request) const; + + /** + * A Callable wrapper for UpdateSoftwareSet that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::UpdateSoftwareSetOutcomeCallable UpdateSoftwareSetCallable(const UpdateSoftwareSetRequestT& request) const + { + return SubmitCallable(&WorkSpacesThinClientClient::UpdateSoftwareSet, request); + } + + /** + * An Async wrapper for UpdateSoftwareSet that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void UpdateSoftwareSetAsync(const UpdateSoftwareSetRequestT& request, const UpdateSoftwareSetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&WorkSpacesThinClientClient::UpdateSoftwareSet, request, handler, context); + } + + + void OverrideEndpoint(const Aws::String& endpoint); + std::shared_ptr& accessEndpointProvider(); + private: + friend class Aws::Client::ClientWithAsyncTemplateMethods; + void init(const WorkSpacesThinClientClientConfiguration& clientConfiguration); + + WorkSpacesThinClientClientConfiguration m_clientConfiguration; + std::shared_ptr m_executor; + std::shared_ptr m_endpointProvider; + }; + +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/WorkSpacesThinClientEndpointProvider.h b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/WorkSpacesThinClientEndpointProvider.h new file mode 100644 index 00000000000..37ec3afb570 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/WorkSpacesThinClientEndpointProvider.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 WorkSpacesThinClient +{ +namespace Endpoint +{ +using EndpointParameters = Aws::Endpoint::EndpointParameters; +using Aws::Endpoint::EndpointProviderBase; +using Aws::Endpoint::DefaultEndpointProvider; + +using WorkSpacesThinClientClientContextParameters = Aws::Endpoint::ClientContextParameters; + +using WorkSpacesThinClientClientConfiguration = Aws::Client::GenericClientConfiguration; +using WorkSpacesThinClientBuiltInParameters = Aws::Endpoint::BuiltInParameters; + +/** + * The type for the WorkSpacesThinClient 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 WorkSpacesThinClientEndpointProviderBase = + EndpointProviderBase; + +using WorkSpacesThinClientDefaultEpProviderBase = + DefaultEndpointProvider; + +/** + * Default endpoint provider used for this service + */ +class AWS_WORKSPACESTHINCLIENT_API WorkSpacesThinClientEndpointProvider : public WorkSpacesThinClientDefaultEpProviderBase +{ +public: + using WorkSpacesThinClientResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; + + WorkSpacesThinClientEndpointProvider() + : WorkSpacesThinClientDefaultEpProviderBase(Aws::WorkSpacesThinClient::WorkSpacesThinClientEndpointRules::GetRulesBlob(), Aws::WorkSpacesThinClient::WorkSpacesThinClientEndpointRules::RulesBlobSize) + {} + + ~WorkSpacesThinClientEndpointProvider() + { + } +}; +} // namespace Endpoint +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/WorkSpacesThinClientEndpointRules.h b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/WorkSpacesThinClientEndpointRules.h new file mode 100644 index 00000000000..e0a2bbbe57e --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/WorkSpacesThinClientEndpointRules.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 WorkSpacesThinClient +{ +class WorkSpacesThinClientEndpointRules +{ +public: + static const size_t RulesBlobStrLen; + static const size_t RulesBlobSize; + + static const char* GetRulesBlob(); +}; +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/WorkSpacesThinClientErrorMarshaller.h b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/WorkSpacesThinClientErrorMarshaller.h new file mode 100644 index 00000000000..0c8c0c86a08 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/WorkSpacesThinClientErrorMarshaller.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_WORKSPACESTHINCLIENT_API WorkSpacesThinClientErrorMarshaller : public Aws::Client::JsonErrorMarshaller +{ +public: + Aws::Client::AWSError FindErrorByName(const char* exceptionName) const override; +}; + +} // namespace Client +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/WorkSpacesThinClientErrors.h b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/WorkSpacesThinClientErrors.h new file mode 100644 index 00000000000..b15892af4ed --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/WorkSpacesThinClientErrors.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 WorkSpacesThinClient +{ +enum class WorkSpacesThinClientErrors +{ + //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, + /////////////////////////////////////////////////////////////////////////////////////////// + + CONFLICT= static_cast(Aws::Client::CoreErrors::SERVICE_EXTENSION_START_RANGE) + 1, + INTERNAL_SERVER, + INTERNAL_SERVICE, + SERVICE_QUOTA_EXCEEDED +}; + +class AWS_WORKSPACESTHINCLIENT_API WorkSpacesThinClientError : public Aws::Client::AWSError +{ +public: + WorkSpacesThinClientError() {} + WorkSpacesThinClientError(const Aws::Client::AWSError& rhs) : Aws::Client::AWSError(rhs) {} + WorkSpacesThinClientError(Aws::Client::AWSError&& rhs) : Aws::Client::AWSError(rhs) {} + WorkSpacesThinClientError(const Aws::Client::AWSError& rhs) : Aws::Client::AWSError(rhs) {} + WorkSpacesThinClientError(Aws::Client::AWSError&& rhs) : Aws::Client::AWSError(rhs) {} + + template + T GetModeledError(); +}; + +namespace WorkSpacesThinClientErrorMapper +{ + AWS_WORKSPACESTHINCLIENT_API Aws::Client::AWSError GetErrorForName(const char* errorName); +} + +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/WorkSpacesThinClientRequest.h b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/WorkSpacesThinClientRequest.h new file mode 100644 index 00000000000..944e358e515 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/WorkSpacesThinClientRequest.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 WorkSpacesThinClient +{ + class AWS_WORKSPACESTHINCLIENT_API WorkSpacesThinClientRequest : public Aws::AmazonSerializableWebServiceRequest + { + public: + using EndpointParameter = Aws::Endpoint::EndpointParameter; + using EndpointParameters = Aws::Endpoint::EndpointParameters; + + virtual ~WorkSpacesThinClientRequest () {} + + 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, "2023-08-22")); + return headers; + } + + protected: + virtual Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const { return Aws::Http::HeaderValueCollection(); } + + }; + + +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/WorkSpacesThinClientServiceClientModel.h b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/WorkSpacesThinClientServiceClientModel.h new file mode 100644 index 00000000000..7012e10f51c --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/WorkSpacesThinClientServiceClientModel.h @@ -0,0 +1,155 @@ +/** + * 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 WorkSpacesThinClientClient header */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +/* End of service model headers required in WorkSpacesThinClientClient 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 WorkSpacesThinClient + { + using WorkSpacesThinClientClientConfiguration = Aws::Client::GenericClientConfiguration; + using WorkSpacesThinClientEndpointProviderBase = Aws::WorkSpacesThinClient::Endpoint::WorkSpacesThinClientEndpointProviderBase; + using WorkSpacesThinClientEndpointProvider = Aws::WorkSpacesThinClient::Endpoint::WorkSpacesThinClientEndpointProvider; + + namespace Model + { + /* Service model forward declarations required in WorkSpacesThinClientClient header */ + class CreateEnvironmentRequest; + class DeleteDeviceRequest; + class DeleteEnvironmentRequest; + class DeregisterDeviceRequest; + class GetDeviceRequest; + class GetEnvironmentRequest; + class GetSoftwareSetRequest; + class ListDevicesRequest; + class ListEnvironmentsRequest; + class ListSoftwareSetsRequest; + class ListTagsForResourceRequest; + class TagResourceRequest; + class UntagResourceRequest; + class UpdateDeviceRequest; + class UpdateEnvironmentRequest; + class UpdateSoftwareSetRequest; + /* End of service model forward declarations required in WorkSpacesThinClientClient header */ + + /* Service model Outcome class definitions */ + typedef Aws::Utils::Outcome CreateEnvironmentOutcome; + typedef Aws::Utils::Outcome DeleteDeviceOutcome; + typedef Aws::Utils::Outcome DeleteEnvironmentOutcome; + typedef Aws::Utils::Outcome DeregisterDeviceOutcome; + typedef Aws::Utils::Outcome GetDeviceOutcome; + typedef Aws::Utils::Outcome GetEnvironmentOutcome; + typedef Aws::Utils::Outcome GetSoftwareSetOutcome; + typedef Aws::Utils::Outcome ListDevicesOutcome; + typedef Aws::Utils::Outcome ListEnvironmentsOutcome; + typedef Aws::Utils::Outcome ListSoftwareSetsOutcome; + typedef Aws::Utils::Outcome ListTagsForResourceOutcome; + typedef Aws::Utils::Outcome TagResourceOutcome; + typedef Aws::Utils::Outcome UntagResourceOutcome; + typedef Aws::Utils::Outcome UpdateDeviceOutcome; + typedef Aws::Utils::Outcome UpdateEnvironmentOutcome; + typedef Aws::Utils::Outcome UpdateSoftwareSetOutcome; + /* End of service model Outcome class definitions */ + + /* Service model Outcome callable definitions */ + typedef std::future CreateEnvironmentOutcomeCallable; + typedef std::future DeleteDeviceOutcomeCallable; + typedef std::future DeleteEnvironmentOutcomeCallable; + typedef std::future DeregisterDeviceOutcomeCallable; + typedef std::future GetDeviceOutcomeCallable; + typedef std::future GetEnvironmentOutcomeCallable; + typedef std::future GetSoftwareSetOutcomeCallable; + typedef std::future ListDevicesOutcomeCallable; + typedef std::future ListEnvironmentsOutcomeCallable; + typedef std::future ListSoftwareSetsOutcomeCallable; + typedef std::future ListTagsForResourceOutcomeCallable; + typedef std::future TagResourceOutcomeCallable; + typedef std::future UntagResourceOutcomeCallable; + typedef std::future UpdateDeviceOutcomeCallable; + typedef std::future UpdateEnvironmentOutcomeCallable; + typedef std::future UpdateSoftwareSetOutcomeCallable; + /* End of service model Outcome callable definitions */ + } // namespace Model + + class WorkSpacesThinClientClient; + + /* Service model async handlers definitions */ + typedef std::function&) > CreateEnvironmentResponseReceivedHandler; + typedef std::function&) > DeleteDeviceResponseReceivedHandler; + typedef std::function&) > DeleteEnvironmentResponseReceivedHandler; + typedef std::function&) > DeregisterDeviceResponseReceivedHandler; + typedef std::function&) > GetDeviceResponseReceivedHandler; + typedef std::function&) > GetEnvironmentResponseReceivedHandler; + typedef std::function&) > GetSoftwareSetResponseReceivedHandler; + typedef std::function&) > ListDevicesResponseReceivedHandler; + typedef std::function&) > ListEnvironmentsResponseReceivedHandler; + typedef std::function&) > ListSoftwareSetsResponseReceivedHandler; + typedef std::function&) > ListTagsForResourceResponseReceivedHandler; + typedef std::function&) > TagResourceResponseReceivedHandler; + typedef std::function&) > UntagResourceResponseReceivedHandler; + typedef std::function&) > UpdateDeviceResponseReceivedHandler; + typedef std::function&) > UpdateEnvironmentResponseReceivedHandler; + typedef std::function&) > UpdateSoftwareSetResponseReceivedHandler; + /* End of service model async handlers definitions */ + } // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/WorkSpacesThinClient_EXPORTS.h b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/WorkSpacesThinClient_EXPORTS.h new file mode 100644 index 00000000000..dc749e39717 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/WorkSpacesThinClient_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_WORKSPACESTHINCLIENT_EXPORTS + #define AWS_WORKSPACESTHINCLIENT_API __declspec(dllexport) + #else + #define AWS_WORKSPACESTHINCLIENT_API __declspec(dllimport) + #endif /* AWS_WORKSPACESTHINCLIENT_EXPORTS */ + #define AWS_WORKSPACESTHINCLIENT_EXTERN + #else + #define AWS_WORKSPACESTHINCLIENT_API + #define AWS_WORKSPACESTHINCLIENT_EXTERN extern + #endif // USE_IMPORT_EXPORT +#else // defined (USE_WINDOWS_DLL_SEMANTICS) || defined (WIN32) + #define AWS_WORKSPACESTHINCLIENT_API + #define AWS_WORKSPACESTHINCLIENT_EXTERN extern +#endif // defined (USE_WINDOWS_DLL_SEMANTICS) || defined (WIN32) diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/ApplyTimeOf.h b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/ApplyTimeOf.h new file mode 100644 index 00000000000..92b75fe6668 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/ApplyTimeOf.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 WorkSpacesThinClient +{ +namespace Model +{ + enum class ApplyTimeOf + { + NOT_SET, + UTC, + DEVICE + }; + +namespace ApplyTimeOfMapper +{ +AWS_WORKSPACESTHINCLIENT_API ApplyTimeOf GetApplyTimeOfForName(const Aws::String& name); + +AWS_WORKSPACESTHINCLIENT_API Aws::String GetNameForApplyTimeOf(ApplyTimeOf value); +} // namespace ApplyTimeOfMapper +} // namespace Model +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/ConflictException.h b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/ConflictException.h new file mode 100644 index 00000000000..22862c6cf8b --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/ConflictException.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 + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkSpacesThinClient +{ +namespace Model +{ + + /** + *

      The requested operation would cause a conflict with the current state of a + * service resource associated with the request. Resolve the conflict before + * retrying this request.

      See Also:

      AWS + * API Reference

      + */ + class ConflictException + { + public: + AWS_WORKSPACESTHINCLIENT_API ConflictException(); + AWS_WORKSPACESTHINCLIENT_API ConflictException(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESTHINCLIENT_API ConflictException& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESTHINCLIENT_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 ConflictException& WithMessage(const Aws::String& value) { SetMessage(value); return *this;} + + + inline ConflictException& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;} + + + inline ConflictException& WithMessage(const char* value) { SetMessage(value); return *this;} + + + /** + *

      The ID of the resource associated with the request.

      + */ + inline const Aws::String& GetResourceId() const{ return m_resourceId; } + + /** + *

      The ID of the resource associated with the request.

      + */ + inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; } + + /** + *

      The ID of the resource associated with the request.

      + */ + inline void SetResourceId(const Aws::String& value) { m_resourceIdHasBeenSet = true; m_resourceId = value; } + + /** + *

      The ID of the resource associated with the request.

      + */ + inline void SetResourceId(Aws::String&& value) { m_resourceIdHasBeenSet = true; m_resourceId = std::move(value); } + + /** + *

      The ID of the resource associated with the request.

      + */ + inline void SetResourceId(const char* value) { m_resourceIdHasBeenSet = true; m_resourceId.assign(value); } + + /** + *

      The ID of the resource associated with the request.

      + */ + inline ConflictException& WithResourceId(const Aws::String& value) { SetResourceId(value); return *this;} + + /** + *

      The ID of the resource associated with the request.

      + */ + inline ConflictException& WithResourceId(Aws::String&& value) { SetResourceId(std::move(value)); return *this;} + + /** + *

      The ID of the resource associated with the request.

      + */ + inline ConflictException& WithResourceId(const char* value) { SetResourceId(value); return *this;} + + + /** + *

      The type of the resource associated with the request.

      + */ + inline const Aws::String& GetResourceType() const{ return m_resourceType; } + + /** + *

      The type of the resource associated with the request.

      + */ + inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; } + + /** + *

      The type of the resource associated with the request.

      + */ + inline void SetResourceType(const Aws::String& value) { m_resourceTypeHasBeenSet = true; m_resourceType = value; } + + /** + *

      The type of the resource associated with the request.

      + */ + inline void SetResourceType(Aws::String&& value) { m_resourceTypeHasBeenSet = true; m_resourceType = std::move(value); } + + /** + *

      The type of the resource associated with the request.

      + */ + inline void SetResourceType(const char* value) { m_resourceTypeHasBeenSet = true; m_resourceType.assign(value); } + + /** + *

      The type of the resource associated with the request.

      + */ + inline ConflictException& WithResourceType(const Aws::String& value) { SetResourceType(value); return *this;} + + /** + *

      The type of the resource associated with the request.

      + */ + inline ConflictException& WithResourceType(Aws::String&& value) { SetResourceType(std::move(value)); return *this;} + + /** + *

      The type of the resource associated with the request.

      + */ + inline ConflictException& WithResourceType(const char* value) { SetResourceType(value); return *this;} + + private: + + Aws::String m_message; + bool m_messageHasBeenSet = false; + + Aws::String m_resourceId; + bool m_resourceIdHasBeenSet = false; + + Aws::String m_resourceType; + bool m_resourceTypeHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/CreateEnvironmentRequest.h b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/CreateEnvironmentRequest.h new file mode 100644 index 00000000000..681cc9c6e40 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/CreateEnvironmentRequest.h @@ -0,0 +1,594 @@ +/** + * 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 WorkSpacesThinClient +{ +namespace Model +{ + + /** + */ + class CreateEnvironmentRequest : public WorkSpacesThinClientRequest + { + public: + AWS_WORKSPACESTHINCLIENT_API CreateEnvironmentRequest(); + + // 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 "CreateEnvironment"; } + + AWS_WORKSPACESTHINCLIENT_API Aws::String SerializePayload() const override; + + + /** + *

      The name for the environment.

      + */ + inline const Aws::String& GetName() const{ return m_name; } + + /** + *

      The name for the environment.

      + */ + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + + /** + *

      The name for the environment.

      + */ + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + + /** + *

      The name for the environment.

      + */ + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + + /** + *

      The name for the environment.

      + */ + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + + /** + *

      The name for the environment.

      + */ + inline CreateEnvironmentRequest& WithName(const Aws::String& value) { SetName(value); return *this;} + + /** + *

      The name for the environment.

      + */ + inline CreateEnvironmentRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + + /** + *

      The name for the environment.

      + */ + inline CreateEnvironmentRequest& WithName(const char* value) { SetName(value); return *this;} + + + /** + *

      The Amazon Resource Name (ARN) of the desktop to stream from Amazon + * WorkSpaces, WorkSpaces Web, or AppStream 2.0.

      + */ + inline const Aws::String& GetDesktopArn() const{ return m_desktopArn; } + + /** + *

      The Amazon Resource Name (ARN) of the desktop to stream from Amazon + * WorkSpaces, WorkSpaces Web, or AppStream 2.0.

      + */ + inline bool DesktopArnHasBeenSet() const { return m_desktopArnHasBeenSet; } + + /** + *

      The Amazon Resource Name (ARN) of the desktop to stream from Amazon + * WorkSpaces, WorkSpaces Web, or AppStream 2.0.

      + */ + inline void SetDesktopArn(const Aws::String& value) { m_desktopArnHasBeenSet = true; m_desktopArn = value; } + + /** + *

      The Amazon Resource Name (ARN) of the desktop to stream from Amazon + * WorkSpaces, WorkSpaces Web, or AppStream 2.0.

      + */ + inline void SetDesktopArn(Aws::String&& value) { m_desktopArnHasBeenSet = true; m_desktopArn = std::move(value); } + + /** + *

      The Amazon Resource Name (ARN) of the desktop to stream from Amazon + * WorkSpaces, WorkSpaces Web, or AppStream 2.0.

      + */ + inline void SetDesktopArn(const char* value) { m_desktopArnHasBeenSet = true; m_desktopArn.assign(value); } + + /** + *

      The Amazon Resource Name (ARN) of the desktop to stream from Amazon + * WorkSpaces, WorkSpaces Web, or AppStream 2.0.

      + */ + inline CreateEnvironmentRequest& WithDesktopArn(const Aws::String& value) { SetDesktopArn(value); return *this;} + + /** + *

      The Amazon Resource Name (ARN) of the desktop to stream from Amazon + * WorkSpaces, WorkSpaces Web, or AppStream 2.0.

      + */ + inline CreateEnvironmentRequest& WithDesktopArn(Aws::String&& value) { SetDesktopArn(std::move(value)); return *this;} + + /** + *

      The Amazon Resource Name (ARN) of the desktop to stream from Amazon + * WorkSpaces, WorkSpaces Web, or AppStream 2.0.

      + */ + inline CreateEnvironmentRequest& WithDesktopArn(const char* value) { SetDesktopArn(value); return *this;} + + + /** + *

      The URL for the identity provider login (only for environments that use + * AppStream 2.0).

      + */ + inline const Aws::String& GetDesktopEndpoint() const{ return m_desktopEndpoint; } + + /** + *

      The URL for the identity provider login (only for environments that use + * AppStream 2.0).

      + */ + inline bool DesktopEndpointHasBeenSet() const { return m_desktopEndpointHasBeenSet; } + + /** + *

      The URL for the identity provider login (only for environments that use + * AppStream 2.0).

      + */ + inline void SetDesktopEndpoint(const Aws::String& value) { m_desktopEndpointHasBeenSet = true; m_desktopEndpoint = value; } + + /** + *

      The URL for the identity provider login (only for environments that use + * AppStream 2.0).

      + */ + inline void SetDesktopEndpoint(Aws::String&& value) { m_desktopEndpointHasBeenSet = true; m_desktopEndpoint = std::move(value); } + + /** + *

      The URL for the identity provider login (only for environments that use + * AppStream 2.0).

      + */ + inline void SetDesktopEndpoint(const char* value) { m_desktopEndpointHasBeenSet = true; m_desktopEndpoint.assign(value); } + + /** + *

      The URL for the identity provider login (only for environments that use + * AppStream 2.0).

      + */ + inline CreateEnvironmentRequest& WithDesktopEndpoint(const Aws::String& value) { SetDesktopEndpoint(value); return *this;} + + /** + *

      The URL for the identity provider login (only for environments that use + * AppStream 2.0).

      + */ + inline CreateEnvironmentRequest& WithDesktopEndpoint(Aws::String&& value) { SetDesktopEndpoint(std::move(value)); return *this;} + + /** + *

      The URL for the identity provider login (only for environments that use + * AppStream 2.0).

      + */ + inline CreateEnvironmentRequest& WithDesktopEndpoint(const char* value) { SetDesktopEndpoint(value); return *this;} + + + /** + *

      An option to define if software updates should be applied within a + * maintenance window.

      + */ + inline const SoftwareSetUpdateSchedule& GetSoftwareSetUpdateSchedule() const{ return m_softwareSetUpdateSchedule; } + + /** + *

      An option to define if software updates should be applied within a + * maintenance window.

      + */ + inline bool SoftwareSetUpdateScheduleHasBeenSet() const { return m_softwareSetUpdateScheduleHasBeenSet; } + + /** + *

      An option to define if software updates should be applied within a + * maintenance window.

      + */ + inline void SetSoftwareSetUpdateSchedule(const SoftwareSetUpdateSchedule& value) { m_softwareSetUpdateScheduleHasBeenSet = true; m_softwareSetUpdateSchedule = value; } + + /** + *

      An option to define if software updates should be applied within a + * maintenance window.

      + */ + inline void SetSoftwareSetUpdateSchedule(SoftwareSetUpdateSchedule&& value) { m_softwareSetUpdateScheduleHasBeenSet = true; m_softwareSetUpdateSchedule = std::move(value); } + + /** + *

      An option to define if software updates should be applied within a + * maintenance window.

      + */ + inline CreateEnvironmentRequest& WithSoftwareSetUpdateSchedule(const SoftwareSetUpdateSchedule& value) { SetSoftwareSetUpdateSchedule(value); return *this;} + + /** + *

      An option to define if software updates should be applied within a + * maintenance window.

      + */ + inline CreateEnvironmentRequest& WithSoftwareSetUpdateSchedule(SoftwareSetUpdateSchedule&& value) { SetSoftwareSetUpdateSchedule(std::move(value)); return *this;} + + + /** + *

      A specification for a time window to apply software updates.

      + */ + inline const MaintenanceWindow& GetMaintenanceWindow() const{ return m_maintenanceWindow; } + + /** + *

      A specification for a time window to apply software updates.

      + */ + inline bool MaintenanceWindowHasBeenSet() const { return m_maintenanceWindowHasBeenSet; } + + /** + *

      A specification for a time window to apply software updates.

      + */ + inline void SetMaintenanceWindow(const MaintenanceWindow& value) { m_maintenanceWindowHasBeenSet = true; m_maintenanceWindow = value; } + + /** + *

      A specification for a time window to apply software updates.

      + */ + inline void SetMaintenanceWindow(MaintenanceWindow&& value) { m_maintenanceWindowHasBeenSet = true; m_maintenanceWindow = std::move(value); } + + /** + *

      A specification for a time window to apply software updates.

      + */ + inline CreateEnvironmentRequest& WithMaintenanceWindow(const MaintenanceWindow& value) { SetMaintenanceWindow(value); return *this;} + + /** + *

      A specification for a time window to apply software updates.

      + */ + inline CreateEnvironmentRequest& WithMaintenanceWindow(MaintenanceWindow&& value) { SetMaintenanceWindow(std::move(value)); return *this;} + + + /** + *

      An option to define which software updates to apply.

      + */ + inline const SoftwareSetUpdateMode& GetSoftwareSetUpdateMode() const{ return m_softwareSetUpdateMode; } + + /** + *

      An option to define which software updates to apply.

      + */ + inline bool SoftwareSetUpdateModeHasBeenSet() const { return m_softwareSetUpdateModeHasBeenSet; } + + /** + *

      An option to define which software updates to apply.

      + */ + inline void SetSoftwareSetUpdateMode(const SoftwareSetUpdateMode& value) { m_softwareSetUpdateModeHasBeenSet = true; m_softwareSetUpdateMode = value; } + + /** + *

      An option to define which software updates to apply.

      + */ + inline void SetSoftwareSetUpdateMode(SoftwareSetUpdateMode&& value) { m_softwareSetUpdateModeHasBeenSet = true; m_softwareSetUpdateMode = std::move(value); } + + /** + *

      An option to define which software updates to apply.

      + */ + inline CreateEnvironmentRequest& WithSoftwareSetUpdateMode(const SoftwareSetUpdateMode& value) { SetSoftwareSetUpdateMode(value); return *this;} + + /** + *

      An option to define which software updates to apply.

      + */ + inline CreateEnvironmentRequest& WithSoftwareSetUpdateMode(SoftwareSetUpdateMode&& value) { SetSoftwareSetUpdateMode(std::move(value)); return *this;} + + + /** + *

      The ID of the software set to apply.

      + */ + inline const Aws::String& GetDesiredSoftwareSetId() const{ return m_desiredSoftwareSetId; } + + /** + *

      The ID of the software set to apply.

      + */ + inline bool DesiredSoftwareSetIdHasBeenSet() const { return m_desiredSoftwareSetIdHasBeenSet; } + + /** + *

      The ID of the software set to apply.

      + */ + inline void SetDesiredSoftwareSetId(const Aws::String& value) { m_desiredSoftwareSetIdHasBeenSet = true; m_desiredSoftwareSetId = value; } + + /** + *

      The ID of the software set to apply.

      + */ + inline void SetDesiredSoftwareSetId(Aws::String&& value) { m_desiredSoftwareSetIdHasBeenSet = true; m_desiredSoftwareSetId = std::move(value); } + + /** + *

      The ID of the software set to apply.

      + */ + inline void SetDesiredSoftwareSetId(const char* value) { m_desiredSoftwareSetIdHasBeenSet = true; m_desiredSoftwareSetId.assign(value); } + + /** + *

      The ID of the software set to apply.

      + */ + inline CreateEnvironmentRequest& WithDesiredSoftwareSetId(const Aws::String& value) { SetDesiredSoftwareSetId(value); return *this;} + + /** + *

      The ID of the software set to apply.

      + */ + inline CreateEnvironmentRequest& WithDesiredSoftwareSetId(Aws::String&& value) { SetDesiredSoftwareSetId(std::move(value)); return *this;} + + /** + *

      The ID of the software set to apply.

      + */ + inline CreateEnvironmentRequest& WithDesiredSoftwareSetId(const char* value) { SetDesiredSoftwareSetId(value); return *this;} + + + /** + *

      The Amazon Resource Name (ARN) of the Key Management Service key to use to + * encrypt the environment.

      + */ + inline const Aws::String& GetKmsKeyArn() const{ return m_kmsKeyArn; } + + /** + *

      The Amazon Resource Name (ARN) of the Key Management Service key to use to + * encrypt the environment.

      + */ + inline bool KmsKeyArnHasBeenSet() const { return m_kmsKeyArnHasBeenSet; } + + /** + *

      The Amazon Resource Name (ARN) of the Key Management Service key to use to + * encrypt the environment.

      + */ + inline void SetKmsKeyArn(const Aws::String& value) { m_kmsKeyArnHasBeenSet = true; m_kmsKeyArn = value; } + + /** + *

      The Amazon Resource Name (ARN) of the Key Management Service key to use to + * encrypt the environment.

      + */ + inline void SetKmsKeyArn(Aws::String&& value) { m_kmsKeyArnHasBeenSet = true; m_kmsKeyArn = std::move(value); } + + /** + *

      The Amazon Resource Name (ARN) of the Key Management Service key to use to + * encrypt the environment.

      + */ + inline void SetKmsKeyArn(const char* value) { m_kmsKeyArnHasBeenSet = true; m_kmsKeyArn.assign(value); } + + /** + *

      The Amazon Resource Name (ARN) of the Key Management Service key to use to + * encrypt the environment.

      + */ + inline CreateEnvironmentRequest& WithKmsKeyArn(const Aws::String& value) { SetKmsKeyArn(value); return *this;} + + /** + *

      The Amazon Resource Name (ARN) of the Key Management Service key to use to + * encrypt the environment.

      + */ + inline CreateEnvironmentRequest& WithKmsKeyArn(Aws::String&& value) { SetKmsKeyArn(std::move(value)); return *this;} + + /** + *

      The Amazon Resource Name (ARN) of the Key Management Service key to use to + * encrypt the environment.

      + */ + inline CreateEnvironmentRequest& WithKmsKeyArn(const char* value) { SetKmsKeyArn(value); return *this;} + + + /** + *

      Specifies a unique, case-sensitive identifier that you provide to ensure the + * idempotency of the request. This lets you safely retry the request without + * accidentally performing the same operation a second time. Passing the same value + * to a later call to an operation requires that you also pass the same value for + * all other parameters. We recommend that you use a UUID type of + * value.

      If you don't provide this value, then Amazon Web Services + * generates a random one for you.

      If you retry the operation with the same + * ClientToken, but with different parameters, the retry fails with an + * IdempotentParameterMismatch error.

      + */ + inline const Aws::String& GetClientToken() const{ return m_clientToken; } + + /** + *

      Specifies a unique, case-sensitive identifier that you provide to ensure the + * idempotency of the request. This lets you safely retry the request without + * accidentally performing the same operation a second time. Passing the same value + * to a later call to an operation requires that you also pass the same value for + * all other parameters. We recommend that you use a UUID type of + * value.

      If you don't provide this value, then Amazon Web Services + * generates a random one for you.

      If you retry the operation with the same + * ClientToken, but with different parameters, the retry fails with an + * IdempotentParameterMismatch error.

      + */ + inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } + + /** + *

      Specifies a unique, case-sensitive identifier that you provide to ensure the + * idempotency of the request. This lets you safely retry the request without + * accidentally performing the same operation a second time. Passing the same value + * to a later call to an operation requires that you also pass the same value for + * all other parameters. We recommend that you use a UUID type of + * value.

      If you don't provide this value, then Amazon Web Services + * generates a random one for you.

      If you retry the operation with the same + * ClientToken, but with different parameters, the retry fails with an + * IdempotentParameterMismatch error.

      + */ + inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; } + + /** + *

      Specifies a unique, case-sensitive identifier that you provide to ensure the + * idempotency of the request. This lets you safely retry the request without + * accidentally performing the same operation a second time. Passing the same value + * to a later call to an operation requires that you also pass the same value for + * all other parameters. We recommend that you use a UUID type of + * value.

      If you don't provide this value, then Amazon Web Services + * generates a random one for you.

      If you retry the operation with the same + * ClientToken, but with different parameters, the retry fails with an + * IdempotentParameterMismatch error.

      + */ + inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); } + + /** + *

      Specifies a unique, case-sensitive identifier that you provide to ensure the + * idempotency of the request. This lets you safely retry the request without + * accidentally performing the same operation a second time. Passing the same value + * to a later call to an operation requires that you also pass the same value for + * all other parameters. We recommend that you use a UUID type of + * value.

      If you don't provide this value, then Amazon Web Services + * generates a random one for you.

      If you retry the operation with the same + * ClientToken, but with different parameters, the retry fails with an + * IdempotentParameterMismatch error.

      + */ + inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); } + + /** + *

      Specifies a unique, case-sensitive identifier that you provide to ensure the + * idempotency of the request. This lets you safely retry the request without + * accidentally performing the same operation a second time. Passing the same value + * to a later call to an operation requires that you also pass the same value for + * all other parameters. We recommend that you use a UUID type of + * value.

      If you don't provide this value, then Amazon Web Services + * generates a random one for you.

      If you retry the operation with the same + * ClientToken, but with different parameters, the retry fails with an + * IdempotentParameterMismatch error.

      + */ + inline CreateEnvironmentRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;} + + /** + *

      Specifies a unique, case-sensitive identifier that you provide to ensure the + * idempotency of the request. This lets you safely retry the request without + * accidentally performing the same operation a second time. Passing the same value + * to a later call to an operation requires that you also pass the same value for + * all other parameters. We recommend that you use a UUID type of + * value.

      If you don't provide this value, then Amazon Web Services + * generates a random one for you.

      If you retry the operation with the same + * ClientToken, but with different parameters, the retry fails with an + * IdempotentParameterMismatch error.

      + */ + inline CreateEnvironmentRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;} + + /** + *

      Specifies a unique, case-sensitive identifier that you provide to ensure the + * idempotency of the request. This lets you safely retry the request without + * accidentally performing the same operation a second time. Passing the same value + * to a later call to an operation requires that you also pass the same value for + * all other parameters. We recommend that you use a UUID type of + * value.

      If you don't provide this value, then Amazon Web Services + * generates a random one for you.

      If you retry the operation with the same + * ClientToken, but with different parameters, the retry fails with an + * IdempotentParameterMismatch error.

      + */ + inline CreateEnvironmentRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;} + + + /** + *

      A map of the key-value pairs of the tag or tags to assign to the + * resource.

      + */ + inline const Aws::Map& GetTags() const{ return m_tags; } + + /** + *

      A map of the key-value pairs of the tag or tags to assign to the + * resource.

      + */ + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + + /** + *

      A map of the key-value pairs of the tag or tags to assign to the + * resource.

      + */ + inline void SetTags(const Aws::Map& value) { m_tagsHasBeenSet = true; m_tags = value; } + + /** + *

      A map of the key-value pairs of the tag or tags to assign to the + * resource.

      + */ + inline void SetTags(Aws::Map&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } + + /** + *

      A map of the key-value pairs of the tag or tags to assign to the + * resource.

      + */ + inline CreateEnvironmentRequest& WithTags(const Aws::Map& value) { SetTags(value); return *this;} + + /** + *

      A map of the key-value pairs of the tag or tags to assign to the + * resource.

      + */ + inline CreateEnvironmentRequest& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} + + /** + *

      A map of the key-value pairs of the tag or tags to assign to the + * resource.

      + */ + inline CreateEnvironmentRequest& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } + + /** + *

      A map of the key-value pairs of the tag or tags to assign to the + * resource.

      + */ + inline CreateEnvironmentRequest& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } + + /** + *

      A map of the key-value pairs of the tag or tags to assign to the + * resource.

      + */ + inline CreateEnvironmentRequest& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } + + /** + *

      A map of the key-value pairs of the tag or tags to assign to the + * resource.

      + */ + inline CreateEnvironmentRequest& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } + + /** + *

      A map of the key-value pairs of the tag or tags to assign to the + * resource.

      + */ + inline CreateEnvironmentRequest& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } + + /** + *

      A map of the key-value pairs of the tag or tags to assign to the + * resource.

      + */ + inline CreateEnvironmentRequest& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } + + /** + *

      A map of the key-value pairs of the tag or tags to assign to the + * resource.

      + */ + inline CreateEnvironmentRequest& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } + + private: + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::String m_desktopArn; + bool m_desktopArnHasBeenSet = false; + + Aws::String m_desktopEndpoint; + bool m_desktopEndpointHasBeenSet = false; + + SoftwareSetUpdateSchedule m_softwareSetUpdateSchedule; + bool m_softwareSetUpdateScheduleHasBeenSet = false; + + MaintenanceWindow m_maintenanceWindow; + bool m_maintenanceWindowHasBeenSet = false; + + SoftwareSetUpdateMode m_softwareSetUpdateMode; + bool m_softwareSetUpdateModeHasBeenSet = false; + + Aws::String m_desiredSoftwareSetId; + bool m_desiredSoftwareSetIdHasBeenSet = false; + + Aws::String m_kmsKeyArn; + bool m_kmsKeyArnHasBeenSet = false; + + Aws::String m_clientToken; + bool m_clientTokenHasBeenSet = false; + + Aws::Map m_tags; + bool m_tagsHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/CreateEnvironmentResult.h b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/CreateEnvironmentResult.h new file mode 100644 index 00000000000..7e0402a3fda --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/CreateEnvironmentResult.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 + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace WorkSpacesThinClient +{ +namespace Model +{ + class CreateEnvironmentResult + { + public: + AWS_WORKSPACESTHINCLIENT_API CreateEnvironmentResult(); + AWS_WORKSPACESTHINCLIENT_API CreateEnvironmentResult(const Aws::AmazonWebServiceResult& result); + AWS_WORKSPACESTHINCLIENT_API CreateEnvironmentResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

      Describes an environment.

      + */ + inline const EnvironmentSummary& GetEnvironment() const{ return m_environment; } + + /** + *

      Describes an environment.

      + */ + inline void SetEnvironment(const EnvironmentSummary& value) { m_environment = value; } + + /** + *

      Describes an environment.

      + */ + inline void SetEnvironment(EnvironmentSummary&& value) { m_environment = std::move(value); } + + /** + *

      Describes an environment.

      + */ + inline CreateEnvironmentResult& WithEnvironment(const EnvironmentSummary& value) { SetEnvironment(value); return *this;} + + /** + *

      Describes an environment.

      + */ + inline CreateEnvironmentResult& WithEnvironment(EnvironmentSummary&& value) { SetEnvironment(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 CreateEnvironmentResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline CreateEnvironmentResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline CreateEnvironmentResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + EnvironmentSummary m_environment; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/DayOfWeek.h b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/DayOfWeek.h new file mode 100644 index 00000000000..aa44435e39a --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/DayOfWeek.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 WorkSpacesThinClient +{ +namespace Model +{ + enum class DayOfWeek + { + NOT_SET, + MONDAY, + TUESDAY, + WEDNESDAY, + THURSDAY, + FRIDAY, + SATURDAY, + SUNDAY + }; + +namespace DayOfWeekMapper +{ +AWS_WORKSPACESTHINCLIENT_API DayOfWeek GetDayOfWeekForName(const Aws::String& name); + +AWS_WORKSPACESTHINCLIENT_API Aws::String GetNameForDayOfWeek(DayOfWeek value); +} // namespace DayOfWeekMapper +} // namespace Model +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/DeleteDeviceRequest.h b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/DeleteDeviceRequest.h new file mode 100644 index 00000000000..c9b9cb92a5a --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/DeleteDeviceRequest.h @@ -0,0 +1,206 @@ +/** + * 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 WorkSpacesThinClient +{ +namespace Model +{ + + /** + */ + class DeleteDeviceRequest : public WorkSpacesThinClientRequest + { + public: + AWS_WORKSPACESTHINCLIENT_API DeleteDeviceRequest(); + + // 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 "DeleteDevice"; } + + AWS_WORKSPACESTHINCLIENT_API Aws::String SerializePayload() const override; + + AWS_WORKSPACESTHINCLIENT_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + /** + *

      The ID of the device to delete.

      + */ + inline const Aws::String& GetId() const{ return m_id; } + + /** + *

      The ID of the device to delete.

      + */ + inline bool IdHasBeenSet() const { return m_idHasBeenSet; } + + /** + *

      The ID of the device to delete.

      + */ + inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } + + /** + *

      The ID of the device to delete.

      + */ + inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } + + /** + *

      The ID of the device to delete.

      + */ + inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } + + /** + *

      The ID of the device to delete.

      + */ + inline DeleteDeviceRequest& WithId(const Aws::String& value) { SetId(value); return *this;} + + /** + *

      The ID of the device to delete.

      + */ + inline DeleteDeviceRequest& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + + /** + *

      The ID of the device to delete.

      + */ + inline DeleteDeviceRequest& WithId(const char* value) { SetId(value); return *this;} + + + /** + *

      Specifies a unique, case-sensitive identifier that you provide to ensure the + * idempotency of the request. This lets you safely retry the request without + * accidentally performing the same operation a second time. Passing the same value + * to a later call to an operation requires that you also pass the same value for + * all other parameters. We recommend that you use a UUID type of + * value.

      If you don't provide this value, then Amazon Web Services + * generates a random one for you.

      If you retry the operation with the same + * ClientToken, but with different parameters, the retry fails with an + * IdempotentParameterMismatch error.

      + */ + inline const Aws::String& GetClientToken() const{ return m_clientToken; } + + /** + *

      Specifies a unique, case-sensitive identifier that you provide to ensure the + * idempotency of the request. This lets you safely retry the request without + * accidentally performing the same operation a second time. Passing the same value + * to a later call to an operation requires that you also pass the same value for + * all other parameters. We recommend that you use a UUID type of + * value.

      If you don't provide this value, then Amazon Web Services + * generates a random one for you.

      If you retry the operation with the same + * ClientToken, but with different parameters, the retry fails with an + * IdempotentParameterMismatch error.

      + */ + inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } + + /** + *

      Specifies a unique, case-sensitive identifier that you provide to ensure the + * idempotency of the request. This lets you safely retry the request without + * accidentally performing the same operation a second time. Passing the same value + * to a later call to an operation requires that you also pass the same value for + * all other parameters. We recommend that you use a UUID type of + * value.

      If you don't provide this value, then Amazon Web Services + * generates a random one for you.

      If you retry the operation with the same + * ClientToken, but with different parameters, the retry fails with an + * IdempotentParameterMismatch error.

      + */ + inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; } + + /** + *

      Specifies a unique, case-sensitive identifier that you provide to ensure the + * idempotency of the request. This lets you safely retry the request without + * accidentally performing the same operation a second time. Passing the same value + * to a later call to an operation requires that you also pass the same value for + * all other parameters. We recommend that you use a UUID type of + * value.

      If you don't provide this value, then Amazon Web Services + * generates a random one for you.

      If you retry the operation with the same + * ClientToken, but with different parameters, the retry fails with an + * IdempotentParameterMismatch error.

      + */ + inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); } + + /** + *

      Specifies a unique, case-sensitive identifier that you provide to ensure the + * idempotency of the request. This lets you safely retry the request without + * accidentally performing the same operation a second time. Passing the same value + * to a later call to an operation requires that you also pass the same value for + * all other parameters. We recommend that you use a UUID type of + * value.

      If you don't provide this value, then Amazon Web Services + * generates a random one for you.

      If you retry the operation with the same + * ClientToken, but with different parameters, the retry fails with an + * IdempotentParameterMismatch error.

      + */ + inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); } + + /** + *

      Specifies a unique, case-sensitive identifier that you provide to ensure the + * idempotency of the request. This lets you safely retry the request without + * accidentally performing the same operation a second time. Passing the same value + * to a later call to an operation requires that you also pass the same value for + * all other parameters. We recommend that you use a UUID type of + * value.

      If you don't provide this value, then Amazon Web Services + * generates a random one for you.

      If you retry the operation with the same + * ClientToken, but with different parameters, the retry fails with an + * IdempotentParameterMismatch error.

      + */ + inline DeleteDeviceRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;} + + /** + *

      Specifies a unique, case-sensitive identifier that you provide to ensure the + * idempotency of the request. This lets you safely retry the request without + * accidentally performing the same operation a second time. Passing the same value + * to a later call to an operation requires that you also pass the same value for + * all other parameters. We recommend that you use a UUID type of + * value.

      If you don't provide this value, then Amazon Web Services + * generates a random one for you.

      If you retry the operation with the same + * ClientToken, but with different parameters, the retry fails with an + * IdempotentParameterMismatch error.

      + */ + inline DeleteDeviceRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;} + + /** + *

      Specifies a unique, case-sensitive identifier that you provide to ensure the + * idempotency of the request. This lets you safely retry the request without + * accidentally performing the same operation a second time. Passing the same value + * to a later call to an operation requires that you also pass the same value for + * all other parameters. We recommend that you use a UUID type of + * value.

      If you don't provide this value, then Amazon Web Services + * generates a random one for you.

      If you retry the operation with the same + * ClientToken, but with different parameters, the retry fails with an + * IdempotentParameterMismatch error.

      + */ + inline DeleteDeviceRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;} + + private: + + Aws::String m_id; + bool m_idHasBeenSet = false; + + Aws::String m_clientToken; + bool m_clientTokenHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/DeleteDeviceResult.h b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/DeleteDeviceResult.h new file mode 100644 index 00000000000..333171f8ee4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/DeleteDeviceResult.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 + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace WorkSpacesThinClient +{ +namespace Model +{ + class DeleteDeviceResult + { + public: + AWS_WORKSPACESTHINCLIENT_API DeleteDeviceResult(); + AWS_WORKSPACESTHINCLIENT_API DeleteDeviceResult(const Aws::AmazonWebServiceResult& result); + AWS_WORKSPACESTHINCLIENT_API DeleteDeviceResult& 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 DeleteDeviceResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline DeleteDeviceResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline DeleteDeviceResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/DeleteEnvironmentRequest.h b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/DeleteEnvironmentRequest.h new file mode 100644 index 00000000000..31cbce3af00 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/DeleteEnvironmentRequest.h @@ -0,0 +1,206 @@ +/** + * 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 WorkSpacesThinClient +{ +namespace Model +{ + + /** + */ + class DeleteEnvironmentRequest : public WorkSpacesThinClientRequest + { + public: + AWS_WORKSPACESTHINCLIENT_API DeleteEnvironmentRequest(); + + // 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 "DeleteEnvironment"; } + + AWS_WORKSPACESTHINCLIENT_API Aws::String SerializePayload() const override; + + AWS_WORKSPACESTHINCLIENT_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + /** + *

      The ID of the environment to delete.

      + */ + inline const Aws::String& GetId() const{ return m_id; } + + /** + *

      The ID of the environment to delete.

      + */ + inline bool IdHasBeenSet() const { return m_idHasBeenSet; } + + /** + *

      The ID of the environment to delete.

      + */ + inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } + + /** + *

      The ID of the environment to delete.

      + */ + inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } + + /** + *

      The ID of the environment to delete.

      + */ + inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } + + /** + *

      The ID of the environment to delete.

      + */ + inline DeleteEnvironmentRequest& WithId(const Aws::String& value) { SetId(value); return *this;} + + /** + *

      The ID of the environment to delete.

      + */ + inline DeleteEnvironmentRequest& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + + /** + *

      The ID of the environment to delete.

      + */ + inline DeleteEnvironmentRequest& WithId(const char* value) { SetId(value); return *this;} + + + /** + *

      Specifies a unique, case-sensitive identifier that you provide to ensure the + * idempotency of the request. This lets you safely retry the request without + * accidentally performing the same operation a second time. Passing the same value + * to a later call to an operation requires that you also pass the same value for + * all other parameters. We recommend that you use a UUID type of + * value.

      If you don't provide this value, then Amazon Web Services + * generates a random one for you.

      If you retry the operation with the same + * ClientToken, but with different parameters, the retry fails with an + * IdempotentParameterMismatch error.

      + */ + inline const Aws::String& GetClientToken() const{ return m_clientToken; } + + /** + *

      Specifies a unique, case-sensitive identifier that you provide to ensure the + * idempotency of the request. This lets you safely retry the request without + * accidentally performing the same operation a second time. Passing the same value + * to a later call to an operation requires that you also pass the same value for + * all other parameters. We recommend that you use a UUID type of + * value.

      If you don't provide this value, then Amazon Web Services + * generates a random one for you.

      If you retry the operation with the same + * ClientToken, but with different parameters, the retry fails with an + * IdempotentParameterMismatch error.

      + */ + inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } + + /** + *

      Specifies a unique, case-sensitive identifier that you provide to ensure the + * idempotency of the request. This lets you safely retry the request without + * accidentally performing the same operation a second time. Passing the same value + * to a later call to an operation requires that you also pass the same value for + * all other parameters. We recommend that you use a UUID type of + * value.

      If you don't provide this value, then Amazon Web Services + * generates a random one for you.

      If you retry the operation with the same + * ClientToken, but with different parameters, the retry fails with an + * IdempotentParameterMismatch error.

      + */ + inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; } + + /** + *

      Specifies a unique, case-sensitive identifier that you provide to ensure the + * idempotency of the request. This lets you safely retry the request without + * accidentally performing the same operation a second time. Passing the same value + * to a later call to an operation requires that you also pass the same value for + * all other parameters. We recommend that you use a UUID type of + * value.

      If you don't provide this value, then Amazon Web Services + * generates a random one for you.

      If you retry the operation with the same + * ClientToken, but with different parameters, the retry fails with an + * IdempotentParameterMismatch error.

      + */ + inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); } + + /** + *

      Specifies a unique, case-sensitive identifier that you provide to ensure the + * idempotency of the request. This lets you safely retry the request without + * accidentally performing the same operation a second time. Passing the same value + * to a later call to an operation requires that you also pass the same value for + * all other parameters. We recommend that you use a UUID type of + * value.

      If you don't provide this value, then Amazon Web Services + * generates a random one for you.

      If you retry the operation with the same + * ClientToken, but with different parameters, the retry fails with an + * IdempotentParameterMismatch error.

      + */ + inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); } + + /** + *

      Specifies a unique, case-sensitive identifier that you provide to ensure the + * idempotency of the request. This lets you safely retry the request without + * accidentally performing the same operation a second time. Passing the same value + * to a later call to an operation requires that you also pass the same value for + * all other parameters. We recommend that you use a UUID type of + * value.

      If you don't provide this value, then Amazon Web Services + * generates a random one for you.

      If you retry the operation with the same + * ClientToken, but with different parameters, the retry fails with an + * IdempotentParameterMismatch error.

      + */ + inline DeleteEnvironmentRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;} + + /** + *

      Specifies a unique, case-sensitive identifier that you provide to ensure the + * idempotency of the request. This lets you safely retry the request without + * accidentally performing the same operation a second time. Passing the same value + * to a later call to an operation requires that you also pass the same value for + * all other parameters. We recommend that you use a UUID type of + * value.

      If you don't provide this value, then Amazon Web Services + * generates a random one for you.

      If you retry the operation with the same + * ClientToken, but with different parameters, the retry fails with an + * IdempotentParameterMismatch error.

      + */ + inline DeleteEnvironmentRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;} + + /** + *

      Specifies a unique, case-sensitive identifier that you provide to ensure the + * idempotency of the request. This lets you safely retry the request without + * accidentally performing the same operation a second time. Passing the same value + * to a later call to an operation requires that you also pass the same value for + * all other parameters. We recommend that you use a UUID type of + * value.

      If you don't provide this value, then Amazon Web Services + * generates a random one for you.

      If you retry the operation with the same + * ClientToken, but with different parameters, the retry fails with an + * IdempotentParameterMismatch error.

      + */ + inline DeleteEnvironmentRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;} + + private: + + Aws::String m_id; + bool m_idHasBeenSet = false; + + Aws::String m_clientToken; + bool m_clientTokenHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/DeleteEnvironmentResult.h b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/DeleteEnvironmentResult.h new file mode 100644 index 00000000000..e90f1f379e3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/DeleteEnvironmentResult.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 + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace WorkSpacesThinClient +{ +namespace Model +{ + class DeleteEnvironmentResult + { + public: + AWS_WORKSPACESTHINCLIENT_API DeleteEnvironmentResult(); + AWS_WORKSPACESTHINCLIENT_API DeleteEnvironmentResult(const Aws::AmazonWebServiceResult& result); + AWS_WORKSPACESTHINCLIENT_API DeleteEnvironmentResult& 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 DeleteEnvironmentResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline DeleteEnvironmentResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline DeleteEnvironmentResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/DeregisterDeviceRequest.h b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/DeregisterDeviceRequest.h new file mode 100644 index 00000000000..64d97109eb4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/DeregisterDeviceRequest.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 WorkSpacesThinClient +{ +namespace Model +{ + + /** + */ + class DeregisterDeviceRequest : public WorkSpacesThinClientRequest + { + public: + AWS_WORKSPACESTHINCLIENT_API DeregisterDeviceRequest(); + + // 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 "DeregisterDevice"; } + + AWS_WORKSPACESTHINCLIENT_API Aws::String SerializePayload() const override; + + + /** + *

      The ID of the device to deregister.

      + */ + inline const Aws::String& GetId() const{ return m_id; } + + /** + *

      The ID of the device to deregister.

      + */ + inline bool IdHasBeenSet() const { return m_idHasBeenSet; } + + /** + *

      The ID of the device to deregister.

      + */ + inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } + + /** + *

      The ID of the device to deregister.

      + */ + inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } + + /** + *

      The ID of the device to deregister.

      + */ + inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } + + /** + *

      The ID of the device to deregister.

      + */ + inline DeregisterDeviceRequest& WithId(const Aws::String& value) { SetId(value); return *this;} + + /** + *

      The ID of the device to deregister.

      + */ + inline DeregisterDeviceRequest& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + + /** + *

      The ID of the device to deregister.

      + */ + inline DeregisterDeviceRequest& WithId(const char* value) { SetId(value); return *this;} + + + /** + *

      The desired new status for the device.

      + */ + inline const TargetDeviceStatus& GetTargetDeviceStatus() const{ return m_targetDeviceStatus; } + + /** + *

      The desired new status for the device.

      + */ + inline bool TargetDeviceStatusHasBeenSet() const { return m_targetDeviceStatusHasBeenSet; } + + /** + *

      The desired new status for the device.

      + */ + inline void SetTargetDeviceStatus(const TargetDeviceStatus& value) { m_targetDeviceStatusHasBeenSet = true; m_targetDeviceStatus = value; } + + /** + *

      The desired new status for the device.

      + */ + inline void SetTargetDeviceStatus(TargetDeviceStatus&& value) { m_targetDeviceStatusHasBeenSet = true; m_targetDeviceStatus = std::move(value); } + + /** + *

      The desired new status for the device.

      + */ + inline DeregisterDeviceRequest& WithTargetDeviceStatus(const TargetDeviceStatus& value) { SetTargetDeviceStatus(value); return *this;} + + /** + *

      The desired new status for the device.

      + */ + inline DeregisterDeviceRequest& WithTargetDeviceStatus(TargetDeviceStatus&& value) { SetTargetDeviceStatus(std::move(value)); return *this;} + + + /** + *

      Specifies a unique, case-sensitive identifier that you provide to ensure the + * idempotency of the request. This lets you safely retry the request without + * accidentally performing the same operation a second time. Passing the same value + * to a later call to an operation requires that you also pass the same value for + * all other parameters. We recommend that you use a UUID type of + * value.

      If you don't provide this value, then Amazon Web Services + * generates a random one for you.

      If you retry the operation with the same + * ClientToken, but with different parameters, the retry fails with an + * IdempotentParameterMismatch error.

      + */ + inline const Aws::String& GetClientToken() const{ return m_clientToken; } + + /** + *

      Specifies a unique, case-sensitive identifier that you provide to ensure the + * idempotency of the request. This lets you safely retry the request without + * accidentally performing the same operation a second time. Passing the same value + * to a later call to an operation requires that you also pass the same value for + * all other parameters. We recommend that you use a UUID type of + * value.

      If you don't provide this value, then Amazon Web Services + * generates a random one for you.

      If you retry the operation with the same + * ClientToken, but with different parameters, the retry fails with an + * IdempotentParameterMismatch error.

      + */ + inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } + + /** + *

      Specifies a unique, case-sensitive identifier that you provide to ensure the + * idempotency of the request. This lets you safely retry the request without + * accidentally performing the same operation a second time. Passing the same value + * to a later call to an operation requires that you also pass the same value for + * all other parameters. We recommend that you use a UUID type of + * value.

      If you don't provide this value, then Amazon Web Services + * generates a random one for you.

      If you retry the operation with the same + * ClientToken, but with different parameters, the retry fails with an + * IdempotentParameterMismatch error.

      + */ + inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; } + + /** + *

      Specifies a unique, case-sensitive identifier that you provide to ensure the + * idempotency of the request. This lets you safely retry the request without + * accidentally performing the same operation a second time. Passing the same value + * to a later call to an operation requires that you also pass the same value for + * all other parameters. We recommend that you use a UUID type of + * value.

      If you don't provide this value, then Amazon Web Services + * generates a random one for you.

      If you retry the operation with the same + * ClientToken, but with different parameters, the retry fails with an + * IdempotentParameterMismatch error.

      + */ + inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); } + + /** + *

      Specifies a unique, case-sensitive identifier that you provide to ensure the + * idempotency of the request. This lets you safely retry the request without + * accidentally performing the same operation a second time. Passing the same value + * to a later call to an operation requires that you also pass the same value for + * all other parameters. We recommend that you use a UUID type of + * value.

      If you don't provide this value, then Amazon Web Services + * generates a random one for you.

      If you retry the operation with the same + * ClientToken, but with different parameters, the retry fails with an + * IdempotentParameterMismatch error.

      + */ + inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); } + + /** + *

      Specifies a unique, case-sensitive identifier that you provide to ensure the + * idempotency of the request. This lets you safely retry the request without + * accidentally performing the same operation a second time. Passing the same value + * to a later call to an operation requires that you also pass the same value for + * all other parameters. We recommend that you use a UUID type of + * value.

      If you don't provide this value, then Amazon Web Services + * generates a random one for you.

      If you retry the operation with the same + * ClientToken, but with different parameters, the retry fails with an + * IdempotentParameterMismatch error.

      + */ + inline DeregisterDeviceRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;} + + /** + *

      Specifies a unique, case-sensitive identifier that you provide to ensure the + * idempotency of the request. This lets you safely retry the request without + * accidentally performing the same operation a second time. Passing the same value + * to a later call to an operation requires that you also pass the same value for + * all other parameters. We recommend that you use a UUID type of + * value.

      If you don't provide this value, then Amazon Web Services + * generates a random one for you.

      If you retry the operation with the same + * ClientToken, but with different parameters, the retry fails with an + * IdempotentParameterMismatch error.

      + */ + inline DeregisterDeviceRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;} + + /** + *

      Specifies a unique, case-sensitive identifier that you provide to ensure the + * idempotency of the request. This lets you safely retry the request without + * accidentally performing the same operation a second time. Passing the same value + * to a later call to an operation requires that you also pass the same value for + * all other parameters. We recommend that you use a UUID type of + * value.

      If you don't provide this value, then Amazon Web Services + * generates a random one for you.

      If you retry the operation with the same + * ClientToken, but with different parameters, the retry fails with an + * IdempotentParameterMismatch error.

      + */ + inline DeregisterDeviceRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;} + + private: + + Aws::String m_id; + bool m_idHasBeenSet = false; + + TargetDeviceStatus m_targetDeviceStatus; + bool m_targetDeviceStatusHasBeenSet = false; + + Aws::String m_clientToken; + bool m_clientTokenHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/DeregisterDeviceResult.h b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/DeregisterDeviceResult.h new file mode 100644 index 00000000000..ab680a6cd5e --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/DeregisterDeviceResult.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 + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace WorkSpacesThinClient +{ +namespace Model +{ + class DeregisterDeviceResult + { + public: + AWS_WORKSPACESTHINCLIENT_API DeregisterDeviceResult(); + AWS_WORKSPACESTHINCLIENT_API DeregisterDeviceResult(const Aws::AmazonWebServiceResult& result); + AWS_WORKSPACESTHINCLIENT_API DeregisterDeviceResult& 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 DeregisterDeviceResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline DeregisterDeviceResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline DeregisterDeviceResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/DesktopType.h b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/DesktopType.h new file mode 100644 index 00000000000..141df5c160e --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/DesktopType.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 WorkSpacesThinClient +{ +namespace Model +{ + enum class DesktopType + { + NOT_SET, + workspaces, + appstream, + workspaces_web + }; + +namespace DesktopTypeMapper +{ +AWS_WORKSPACESTHINCLIENT_API DesktopType GetDesktopTypeForName(const Aws::String& name); + +AWS_WORKSPACESTHINCLIENT_API Aws::String GetNameForDesktopType(DesktopType value); +} // namespace DesktopTypeMapper +} // namespace Model +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/Device.h b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/Device.h new file mode 100644 index 00000000000..7c889ae6ca8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/Device.h @@ -0,0 +1,912 @@ +/** + * 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 WorkSpacesThinClient +{ +namespace Model +{ + + /** + *

      Describes a thin client device.

      See Also:

      AWS + * API Reference

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

      The ID of the device.

      + */ + inline const Aws::String& GetId() const{ return m_id; } + + /** + *

      The ID of the device.

      + */ + inline bool IdHasBeenSet() const { return m_idHasBeenSet; } + + /** + *

      The ID of the device.

      + */ + inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } + + /** + *

      The ID of the device.

      + */ + inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } + + /** + *

      The ID of the device.

      + */ + inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } + + /** + *

      The ID of the device.

      + */ + inline Device& WithId(const Aws::String& value) { SetId(value); return *this;} + + /** + *

      The ID of the device.

      + */ + inline Device& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + + /** + *

      The ID of the device.

      + */ + inline Device& WithId(const char* value) { SetId(value); return *this;} + + + /** + *

      The hardware serial number of the device.

      + */ + inline const Aws::String& GetSerialNumber() const{ return m_serialNumber; } + + /** + *

      The hardware serial number of the device.

      + */ + inline bool SerialNumberHasBeenSet() const { return m_serialNumberHasBeenSet; } + + /** + *

      The hardware serial number of the device.

      + */ + inline void SetSerialNumber(const Aws::String& value) { m_serialNumberHasBeenSet = true; m_serialNumber = value; } + + /** + *

      The hardware serial number of the device.

      + */ + inline void SetSerialNumber(Aws::String&& value) { m_serialNumberHasBeenSet = true; m_serialNumber = std::move(value); } + + /** + *

      The hardware serial number of the device.

      + */ + inline void SetSerialNumber(const char* value) { m_serialNumberHasBeenSet = true; m_serialNumber.assign(value); } + + /** + *

      The hardware serial number of the device.

      + */ + inline Device& WithSerialNumber(const Aws::String& value) { SetSerialNumber(value); return *this;} + + /** + *

      The hardware serial number of the device.

      + */ + inline Device& WithSerialNumber(Aws::String&& value) { SetSerialNumber(std::move(value)); return *this;} + + /** + *

      The hardware serial number of the device.

      + */ + inline Device& WithSerialNumber(const char* value) { SetSerialNumber(value); return *this;} + + + /** + *

      The name of the device.

      + */ + inline const Aws::String& GetName() const{ return m_name; } + + /** + *

      The name of the device.

      + */ + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + + /** + *

      The name of the device.

      + */ + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + + /** + *

      The name of the device.

      + */ + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + + /** + *

      The name of the device.

      + */ + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + + /** + *

      The name of the device.

      + */ + inline Device& WithName(const Aws::String& value) { SetName(value); return *this;} + + /** + *

      The name of the device.

      + */ + inline Device& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + + /** + *

      The name of the device.

      + */ + inline Device& WithName(const char* value) { SetName(value); return *this;} + + + /** + *

      The model number of the device.

      + */ + inline const Aws::String& GetModel() const{ return m_model; } + + /** + *

      The model number of the device.

      + */ + inline bool ModelHasBeenSet() const { return m_modelHasBeenSet; } + + /** + *

      The model number of the device.

      + */ + inline void SetModel(const Aws::String& value) { m_modelHasBeenSet = true; m_model = value; } + + /** + *

      The model number of the device.

      + */ + inline void SetModel(Aws::String&& value) { m_modelHasBeenSet = true; m_model = std::move(value); } + + /** + *

      The model number of the device.

      + */ + inline void SetModel(const char* value) { m_modelHasBeenSet = true; m_model.assign(value); } + + /** + *

      The model number of the device.

      + */ + inline Device& WithModel(const Aws::String& value) { SetModel(value); return *this;} + + /** + *

      The model number of the device.

      + */ + inline Device& WithModel(Aws::String&& value) { SetModel(std::move(value)); return *this;} + + /** + *

      The model number of the device.

      + */ + inline Device& WithModel(const char* value) { SetModel(value); return *this;} + + + /** + *

      The ID of the environment the device is associated with.

      + */ + inline const Aws::String& GetEnvironmentId() const{ return m_environmentId; } + + /** + *

      The ID of the environment the device is associated with.

      + */ + inline bool EnvironmentIdHasBeenSet() const { return m_environmentIdHasBeenSet; } + + /** + *

      The ID of the environment the device is associated with.

      + */ + inline void SetEnvironmentId(const Aws::String& value) { m_environmentIdHasBeenSet = true; m_environmentId = value; } + + /** + *

      The ID of the environment the device is associated with.

      + */ + inline void SetEnvironmentId(Aws::String&& value) { m_environmentIdHasBeenSet = true; m_environmentId = std::move(value); } + + /** + *

      The ID of the environment the device is associated with.

      + */ + inline void SetEnvironmentId(const char* value) { m_environmentIdHasBeenSet = true; m_environmentId.assign(value); } + + /** + *

      The ID of the environment the device is associated with.

      + */ + inline Device& WithEnvironmentId(const Aws::String& value) { SetEnvironmentId(value); return *this;} + + /** + *

      The ID of the environment the device is associated with.

      + */ + inline Device& WithEnvironmentId(Aws::String&& value) { SetEnvironmentId(std::move(value)); return *this;} + + /** + *

      The ID of the environment the device is associated with.

      + */ + inline Device& WithEnvironmentId(const char* value) { SetEnvironmentId(value); return *this;} + + + /** + *

      The status of the device.

      + */ + inline const DeviceStatus& GetStatus() const{ return m_status; } + + /** + *

      The status of the device.

      + */ + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + + /** + *

      The status of the device.

      + */ + inline void SetStatus(const DeviceStatus& value) { m_statusHasBeenSet = true; m_status = value; } + + /** + *

      The status of the device.

      + */ + inline void SetStatus(DeviceStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } + + /** + *

      The status of the device.

      + */ + inline Device& WithStatus(const DeviceStatus& value) { SetStatus(value); return *this;} + + /** + *

      The status of the device.

      + */ + inline Device& WithStatus(DeviceStatus&& value) { SetStatus(std::move(value)); return *this;} + + + /** + *

      The ID of the software set currently installed on the device.

      + */ + inline const Aws::String& GetCurrentSoftwareSetId() const{ return m_currentSoftwareSetId; } + + /** + *

      The ID of the software set currently installed on the device.

      + */ + inline bool CurrentSoftwareSetIdHasBeenSet() const { return m_currentSoftwareSetIdHasBeenSet; } + + /** + *

      The ID of the software set currently installed on the device.

      + */ + inline void SetCurrentSoftwareSetId(const Aws::String& value) { m_currentSoftwareSetIdHasBeenSet = true; m_currentSoftwareSetId = value; } + + /** + *

      The ID of the software set currently installed on the device.

      + */ + inline void SetCurrentSoftwareSetId(Aws::String&& value) { m_currentSoftwareSetIdHasBeenSet = true; m_currentSoftwareSetId = std::move(value); } + + /** + *

      The ID of the software set currently installed on the device.

      + */ + inline void SetCurrentSoftwareSetId(const char* value) { m_currentSoftwareSetIdHasBeenSet = true; m_currentSoftwareSetId.assign(value); } + + /** + *

      The ID of the software set currently installed on the device.

      + */ + inline Device& WithCurrentSoftwareSetId(const Aws::String& value) { SetCurrentSoftwareSetId(value); return *this;} + + /** + *

      The ID of the software set currently installed on the device.

      + */ + inline Device& WithCurrentSoftwareSetId(Aws::String&& value) { SetCurrentSoftwareSetId(std::move(value)); return *this;} + + /** + *

      The ID of the software set currently installed on the device.

      + */ + inline Device& WithCurrentSoftwareSetId(const char* value) { SetCurrentSoftwareSetId(value); return *this;} + + + /** + *

      The version of the software set currently installed on the device.

      + */ + inline const Aws::String& GetCurrentSoftwareSetVersion() const{ return m_currentSoftwareSetVersion; } + + /** + *

      The version of the software set currently installed on the device.

      + */ + inline bool CurrentSoftwareSetVersionHasBeenSet() const { return m_currentSoftwareSetVersionHasBeenSet; } + + /** + *

      The version of the software set currently installed on the device.

      + */ + inline void SetCurrentSoftwareSetVersion(const Aws::String& value) { m_currentSoftwareSetVersionHasBeenSet = true; m_currentSoftwareSetVersion = value; } + + /** + *

      The version of the software set currently installed on the device.

      + */ + inline void SetCurrentSoftwareSetVersion(Aws::String&& value) { m_currentSoftwareSetVersionHasBeenSet = true; m_currentSoftwareSetVersion = std::move(value); } + + /** + *

      The version of the software set currently installed on the device.

      + */ + inline void SetCurrentSoftwareSetVersion(const char* value) { m_currentSoftwareSetVersionHasBeenSet = true; m_currentSoftwareSetVersion.assign(value); } + + /** + *

      The version of the software set currently installed on the device.

      + */ + inline Device& WithCurrentSoftwareSetVersion(const Aws::String& value) { SetCurrentSoftwareSetVersion(value); return *this;} + + /** + *

      The version of the software set currently installed on the device.

      + */ + inline Device& WithCurrentSoftwareSetVersion(Aws::String&& value) { SetCurrentSoftwareSetVersion(std::move(value)); return *this;} + + /** + *

      The version of the software set currently installed on the device.

      + */ + inline Device& WithCurrentSoftwareSetVersion(const char* value) { SetCurrentSoftwareSetVersion(value); return *this;} + + + /** + *

      The ID of the software set which the device has been set to.

      + */ + inline const Aws::String& GetDesiredSoftwareSetId() const{ return m_desiredSoftwareSetId; } + + /** + *

      The ID of the software set which the device has been set to.

      + */ + inline bool DesiredSoftwareSetIdHasBeenSet() const { return m_desiredSoftwareSetIdHasBeenSet; } + + /** + *

      The ID of the software set which the device has been set to.

      + */ + inline void SetDesiredSoftwareSetId(const Aws::String& value) { m_desiredSoftwareSetIdHasBeenSet = true; m_desiredSoftwareSetId = value; } + + /** + *

      The ID of the software set which the device has been set to.

      + */ + inline void SetDesiredSoftwareSetId(Aws::String&& value) { m_desiredSoftwareSetIdHasBeenSet = true; m_desiredSoftwareSetId = std::move(value); } + + /** + *

      The ID of the software set which the device has been set to.

      + */ + inline void SetDesiredSoftwareSetId(const char* value) { m_desiredSoftwareSetIdHasBeenSet = true; m_desiredSoftwareSetId.assign(value); } + + /** + *

      The ID of the software set which the device has been set to.

      + */ + inline Device& WithDesiredSoftwareSetId(const Aws::String& value) { SetDesiredSoftwareSetId(value); return *this;} + + /** + *

      The ID of the software set which the device has been set to.

      + */ + inline Device& WithDesiredSoftwareSetId(Aws::String&& value) { SetDesiredSoftwareSetId(std::move(value)); return *this;} + + /** + *

      The ID of the software set which the device has been set to.

      + */ + inline Device& WithDesiredSoftwareSetId(const char* value) { SetDesiredSoftwareSetId(value); return *this;} + + + /** + *

      The ID of the software set that is pending to be installed on the device.

      + */ + inline const Aws::String& GetPendingSoftwareSetId() const{ return m_pendingSoftwareSetId; } + + /** + *

      The ID of the software set that is pending to be installed on the device.

      + */ + inline bool PendingSoftwareSetIdHasBeenSet() const { return m_pendingSoftwareSetIdHasBeenSet; } + + /** + *

      The ID of the software set that is pending to be installed on the device.

      + */ + inline void SetPendingSoftwareSetId(const Aws::String& value) { m_pendingSoftwareSetIdHasBeenSet = true; m_pendingSoftwareSetId = value; } + + /** + *

      The ID of the software set that is pending to be installed on the device.

      + */ + inline void SetPendingSoftwareSetId(Aws::String&& value) { m_pendingSoftwareSetIdHasBeenSet = true; m_pendingSoftwareSetId = std::move(value); } + + /** + *

      The ID of the software set that is pending to be installed on the device.

      + */ + inline void SetPendingSoftwareSetId(const char* value) { m_pendingSoftwareSetIdHasBeenSet = true; m_pendingSoftwareSetId.assign(value); } + + /** + *

      The ID of the software set that is pending to be installed on the device.

      + */ + inline Device& WithPendingSoftwareSetId(const Aws::String& value) { SetPendingSoftwareSetId(value); return *this;} + + /** + *

      The ID of the software set that is pending to be installed on the device.

      + */ + inline Device& WithPendingSoftwareSetId(Aws::String&& value) { SetPendingSoftwareSetId(std::move(value)); return *this;} + + /** + *

      The ID of the software set that is pending to be installed on the device.

      + */ + inline Device& WithPendingSoftwareSetId(const char* value) { SetPendingSoftwareSetId(value); return *this;} + + + /** + *

      The version of the software set that is pending to be installed on the + * device.

      + */ + inline const Aws::String& GetPendingSoftwareSetVersion() const{ return m_pendingSoftwareSetVersion; } + + /** + *

      The version of the software set that is pending to be installed on the + * device.

      + */ + inline bool PendingSoftwareSetVersionHasBeenSet() const { return m_pendingSoftwareSetVersionHasBeenSet; } + + /** + *

      The version of the software set that is pending to be installed on the + * device.

      + */ + inline void SetPendingSoftwareSetVersion(const Aws::String& value) { m_pendingSoftwareSetVersionHasBeenSet = true; m_pendingSoftwareSetVersion = value; } + + /** + *

      The version of the software set that is pending to be installed on the + * device.

      + */ + inline void SetPendingSoftwareSetVersion(Aws::String&& value) { m_pendingSoftwareSetVersionHasBeenSet = true; m_pendingSoftwareSetVersion = std::move(value); } + + /** + *

      The version of the software set that is pending to be installed on the + * device.

      + */ + inline void SetPendingSoftwareSetVersion(const char* value) { m_pendingSoftwareSetVersionHasBeenSet = true; m_pendingSoftwareSetVersion.assign(value); } + + /** + *

      The version of the software set that is pending to be installed on the + * device.

      + */ + inline Device& WithPendingSoftwareSetVersion(const Aws::String& value) { SetPendingSoftwareSetVersion(value); return *this;} + + /** + *

      The version of the software set that is pending to be installed on the + * device.

      + */ + inline Device& WithPendingSoftwareSetVersion(Aws::String&& value) { SetPendingSoftwareSetVersion(std::move(value)); return *this;} + + /** + *

      The version of the software set that is pending to be installed on the + * device.

      + */ + inline Device& WithPendingSoftwareSetVersion(const char* value) { SetPendingSoftwareSetVersion(value); return *this;} + + + /** + *

      An option to define if software updates should be applied within a + * maintenance window.

      + */ + inline const SoftwareSetUpdateSchedule& GetSoftwareSetUpdateSchedule() const{ return m_softwareSetUpdateSchedule; } + + /** + *

      An option to define if software updates should be applied within a + * maintenance window.

      + */ + inline bool SoftwareSetUpdateScheduleHasBeenSet() const { return m_softwareSetUpdateScheduleHasBeenSet; } + + /** + *

      An option to define if software updates should be applied within a + * maintenance window.

      + */ + inline void SetSoftwareSetUpdateSchedule(const SoftwareSetUpdateSchedule& value) { m_softwareSetUpdateScheduleHasBeenSet = true; m_softwareSetUpdateSchedule = value; } + + /** + *

      An option to define if software updates should be applied within a + * maintenance window.

      + */ + inline void SetSoftwareSetUpdateSchedule(SoftwareSetUpdateSchedule&& value) { m_softwareSetUpdateScheduleHasBeenSet = true; m_softwareSetUpdateSchedule = std::move(value); } + + /** + *

      An option to define if software updates should be applied within a + * maintenance window.

      + */ + inline Device& WithSoftwareSetUpdateSchedule(const SoftwareSetUpdateSchedule& value) { SetSoftwareSetUpdateSchedule(value); return *this;} + + /** + *

      An option to define if software updates should be applied within a + * maintenance window.

      + */ + inline Device& WithSoftwareSetUpdateSchedule(SoftwareSetUpdateSchedule&& value) { SetSoftwareSetUpdateSchedule(std::move(value)); return *this;} + + + /** + *

      Describes if the software currently installed on the device is a supported + * version.

      + */ + inline const DeviceSoftwareSetComplianceStatus& GetSoftwareSetComplianceStatus() const{ return m_softwareSetComplianceStatus; } + + /** + *

      Describes if the software currently installed on the device is a supported + * version.

      + */ + inline bool SoftwareSetComplianceStatusHasBeenSet() const { return m_softwareSetComplianceStatusHasBeenSet; } + + /** + *

      Describes if the software currently installed on the device is a supported + * version.

      + */ + inline void SetSoftwareSetComplianceStatus(const DeviceSoftwareSetComplianceStatus& value) { m_softwareSetComplianceStatusHasBeenSet = true; m_softwareSetComplianceStatus = value; } + + /** + *

      Describes if the software currently installed on the device is a supported + * version.

      + */ + inline void SetSoftwareSetComplianceStatus(DeviceSoftwareSetComplianceStatus&& value) { m_softwareSetComplianceStatusHasBeenSet = true; m_softwareSetComplianceStatus = std::move(value); } + + /** + *

      Describes if the software currently installed on the device is a supported + * version.

      + */ + inline Device& WithSoftwareSetComplianceStatus(const DeviceSoftwareSetComplianceStatus& value) { SetSoftwareSetComplianceStatus(value); return *this;} + + /** + *

      Describes if the software currently installed on the device is a supported + * version.

      + */ + inline Device& WithSoftwareSetComplianceStatus(DeviceSoftwareSetComplianceStatus&& value) { SetSoftwareSetComplianceStatus(std::move(value)); return *this;} + + + /** + *

      Describes if the device has a supported version of software installed.

      + */ + inline const SoftwareSetUpdateStatus& GetSoftwareSetUpdateStatus() const{ return m_softwareSetUpdateStatus; } + + /** + *

      Describes if the device has a supported version of software installed.

      + */ + inline bool SoftwareSetUpdateStatusHasBeenSet() const { return m_softwareSetUpdateStatusHasBeenSet; } + + /** + *

      Describes if the device has a supported version of software installed.

      + */ + inline void SetSoftwareSetUpdateStatus(const SoftwareSetUpdateStatus& value) { m_softwareSetUpdateStatusHasBeenSet = true; m_softwareSetUpdateStatus = value; } + + /** + *

      Describes if the device has a supported version of software installed.

      + */ + inline void SetSoftwareSetUpdateStatus(SoftwareSetUpdateStatus&& value) { m_softwareSetUpdateStatusHasBeenSet = true; m_softwareSetUpdateStatus = std::move(value); } + + /** + *

      Describes if the device has a supported version of software installed.

      + */ + inline Device& WithSoftwareSetUpdateStatus(const SoftwareSetUpdateStatus& value) { SetSoftwareSetUpdateStatus(value); return *this;} + + /** + *

      Describes if the device has a supported version of software installed.

      + */ + inline Device& WithSoftwareSetUpdateStatus(SoftwareSetUpdateStatus&& value) { SetSoftwareSetUpdateStatus(std::move(value)); return *this;} + + + /** + *

      The timestamp of the most recent session on the device.

      + */ + inline const Aws::Utils::DateTime& GetLastConnectedAt() const{ return m_lastConnectedAt; } + + /** + *

      The timestamp of the most recent session on the device.

      + */ + inline bool LastConnectedAtHasBeenSet() const { return m_lastConnectedAtHasBeenSet; } + + /** + *

      The timestamp of the most recent session on the device.

      + */ + inline void SetLastConnectedAt(const Aws::Utils::DateTime& value) { m_lastConnectedAtHasBeenSet = true; m_lastConnectedAt = value; } + + /** + *

      The timestamp of the most recent session on the device.

      + */ + inline void SetLastConnectedAt(Aws::Utils::DateTime&& value) { m_lastConnectedAtHasBeenSet = true; m_lastConnectedAt = std::move(value); } + + /** + *

      The timestamp of the most recent session on the device.

      + */ + inline Device& WithLastConnectedAt(const Aws::Utils::DateTime& value) { SetLastConnectedAt(value); return *this;} + + /** + *

      The timestamp of the most recent session on the device.

      + */ + inline Device& WithLastConnectedAt(Aws::Utils::DateTime&& value) { SetLastConnectedAt(std::move(value)); return *this;} + + + /** + *

      The timestamp of the most recent check-in of the device.

      + */ + inline const Aws::Utils::DateTime& GetLastPostureAt() const{ return m_lastPostureAt; } + + /** + *

      The timestamp of the most recent check-in of the device.

      + */ + inline bool LastPostureAtHasBeenSet() const { return m_lastPostureAtHasBeenSet; } + + /** + *

      The timestamp of the most recent check-in of the device.

      + */ + inline void SetLastPostureAt(const Aws::Utils::DateTime& value) { m_lastPostureAtHasBeenSet = true; m_lastPostureAt = value; } + + /** + *

      The timestamp of the most recent check-in of the device.

      + */ + inline void SetLastPostureAt(Aws::Utils::DateTime&& value) { m_lastPostureAtHasBeenSet = true; m_lastPostureAt = std::move(value); } + + /** + *

      The timestamp of the most recent check-in of the device.

      + */ + inline Device& WithLastPostureAt(const Aws::Utils::DateTime& value) { SetLastPostureAt(value); return *this;} + + /** + *

      The timestamp of the most recent check-in of the device.

      + */ + inline Device& WithLastPostureAt(Aws::Utils::DateTime&& value) { SetLastPostureAt(std::move(value)); return *this;} + + + /** + *

      The timestamp of when the device was created.

      + */ + inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } + + /** + *

      The timestamp of when the device was created.

      + */ + inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } + + /** + *

      The timestamp of when the device was created.

      + */ + inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAtHasBeenSet = true; m_createdAt = value; } + + /** + *

      The timestamp of when the device was created.

      + */ + inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::move(value); } + + /** + *

      The timestamp of when the device was created.

      + */ + inline Device& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} + + /** + *

      The timestamp of when the device was created.

      + */ + inline Device& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} + + + /** + *

      The timestamp of when the device was updated.

      + */ + inline const Aws::Utils::DateTime& GetUpdatedAt() const{ return m_updatedAt; } + + /** + *

      The timestamp of when the device was updated.

      + */ + inline bool UpdatedAtHasBeenSet() const { return m_updatedAtHasBeenSet; } + + /** + *

      The timestamp of when the device was updated.

      + */ + inline void SetUpdatedAt(const Aws::Utils::DateTime& value) { m_updatedAtHasBeenSet = true; m_updatedAt = value; } + + /** + *

      The timestamp of when the device was updated.

      + */ + inline void SetUpdatedAt(Aws::Utils::DateTime&& value) { m_updatedAtHasBeenSet = true; m_updatedAt = std::move(value); } + + /** + *

      The timestamp of when the device was updated.

      + */ + inline Device& WithUpdatedAt(const Aws::Utils::DateTime& value) { SetUpdatedAt(value); return *this;} + + /** + *

      The timestamp of when the device was updated.

      + */ + inline Device& WithUpdatedAt(Aws::Utils::DateTime&& value) { SetUpdatedAt(std::move(value)); return *this;} + + + /** + *

      The Amazon Resource Name (ARN) of the device.

      + */ + inline const Aws::String& GetArn() const{ return m_arn; } + + /** + *

      The Amazon Resource Name (ARN) of the device.

      + */ + inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } + + /** + *

      The Amazon Resource Name (ARN) of the device.

      + */ + inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } + + /** + *

      The Amazon Resource Name (ARN) of the device.

      + */ + inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } + + /** + *

      The Amazon Resource Name (ARN) of the device.

      + */ + inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } + + /** + *

      The Amazon Resource Name (ARN) of the device.

      + */ + inline Device& WithArn(const Aws::String& value) { SetArn(value); return *this;} + + /** + *

      The Amazon Resource Name (ARN) of the device.

      + */ + inline Device& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} + + /** + *

      The Amazon Resource Name (ARN) of the device.

      + */ + inline Device& WithArn(const char* value) { SetArn(value); return *this;} + + + /** + *

      The Amazon Resource Name (ARN) of the Key Management Service key used to + * encrypt the device.

      + */ + inline const Aws::String& GetKmsKeyArn() const{ return m_kmsKeyArn; } + + /** + *

      The Amazon Resource Name (ARN) of the Key Management Service key used to + * encrypt the device.

      + */ + inline bool KmsKeyArnHasBeenSet() const { return m_kmsKeyArnHasBeenSet; } + + /** + *

      The Amazon Resource Name (ARN) of the Key Management Service key used to + * encrypt the device.

      + */ + inline void SetKmsKeyArn(const Aws::String& value) { m_kmsKeyArnHasBeenSet = true; m_kmsKeyArn = value; } + + /** + *

      The Amazon Resource Name (ARN) of the Key Management Service key used to + * encrypt the device.

      + */ + inline void SetKmsKeyArn(Aws::String&& value) { m_kmsKeyArnHasBeenSet = true; m_kmsKeyArn = std::move(value); } + + /** + *

      The Amazon Resource Name (ARN) of the Key Management Service key used to + * encrypt the device.

      + */ + inline void SetKmsKeyArn(const char* value) { m_kmsKeyArnHasBeenSet = true; m_kmsKeyArn.assign(value); } + + /** + *

      The Amazon Resource Name (ARN) of the Key Management Service key used to + * encrypt the device.

      + */ + inline Device& WithKmsKeyArn(const Aws::String& value) { SetKmsKeyArn(value); return *this;} + + /** + *

      The Amazon Resource Name (ARN) of the Key Management Service key used to + * encrypt the device.

      + */ + inline Device& WithKmsKeyArn(Aws::String&& value) { SetKmsKeyArn(std::move(value)); return *this;} + + /** + *

      The Amazon Resource Name (ARN) of the Key Management Service key used to + * encrypt the device.

      + */ + inline Device& WithKmsKeyArn(const char* value) { SetKmsKeyArn(value); return *this;} + + + /** + *

      The tag keys and optional values for the resource.

      + */ + inline const EmbeddedTag& GetTags() const{ return m_tags; } + + /** + *

      The tag keys and optional values for the resource.

      + */ + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + + /** + *

      The tag keys and optional values for the resource.

      + */ + inline void SetTags(const EmbeddedTag& value) { m_tagsHasBeenSet = true; m_tags = value; } + + /** + *

      The tag keys and optional values for the resource.

      + */ + inline void SetTags(EmbeddedTag&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } + + /** + *

      The tag keys and optional values for the resource.

      + */ + inline Device& WithTags(const EmbeddedTag& value) { SetTags(value); return *this;} + + /** + *

      The tag keys and optional values for the resource.

      + */ + inline Device& WithTags(EmbeddedTag&& value) { SetTags(std::move(value)); return *this;} + + private: + + Aws::String m_id; + bool m_idHasBeenSet = false; + + Aws::String m_serialNumber; + bool m_serialNumberHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::String m_model; + bool m_modelHasBeenSet = false; + + Aws::String m_environmentId; + bool m_environmentIdHasBeenSet = false; + + DeviceStatus m_status; + bool m_statusHasBeenSet = false; + + Aws::String m_currentSoftwareSetId; + bool m_currentSoftwareSetIdHasBeenSet = false; + + Aws::String m_currentSoftwareSetVersion; + bool m_currentSoftwareSetVersionHasBeenSet = false; + + Aws::String m_desiredSoftwareSetId; + bool m_desiredSoftwareSetIdHasBeenSet = false; + + Aws::String m_pendingSoftwareSetId; + bool m_pendingSoftwareSetIdHasBeenSet = false; + + Aws::String m_pendingSoftwareSetVersion; + bool m_pendingSoftwareSetVersionHasBeenSet = false; + + SoftwareSetUpdateSchedule m_softwareSetUpdateSchedule; + bool m_softwareSetUpdateScheduleHasBeenSet = false; + + DeviceSoftwareSetComplianceStatus m_softwareSetComplianceStatus; + bool m_softwareSetComplianceStatusHasBeenSet = false; + + SoftwareSetUpdateStatus m_softwareSetUpdateStatus; + bool m_softwareSetUpdateStatusHasBeenSet = false; + + Aws::Utils::DateTime m_lastConnectedAt; + bool m_lastConnectedAtHasBeenSet = false; + + Aws::Utils::DateTime m_lastPostureAt; + bool m_lastPostureAtHasBeenSet = false; + + Aws::Utils::DateTime m_createdAt; + bool m_createdAtHasBeenSet = false; + + Aws::Utils::DateTime m_updatedAt; + bool m_updatedAtHasBeenSet = false; + + Aws::String m_arn; + bool m_arnHasBeenSet = false; + + Aws::String m_kmsKeyArn; + bool m_kmsKeyArnHasBeenSet = false; + + EmbeddedTag m_tags; + bool m_tagsHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/DeviceSoftwareSetComplianceStatus.h b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/DeviceSoftwareSetComplianceStatus.h new file mode 100644 index 00000000000..3bb54aefc0f --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/DeviceSoftwareSetComplianceStatus.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 WorkSpacesThinClient +{ +namespace Model +{ + enum class DeviceSoftwareSetComplianceStatus + { + NOT_SET, + NONE, + COMPLIANT, + NOT_COMPLIANT + }; + +namespace DeviceSoftwareSetComplianceStatusMapper +{ +AWS_WORKSPACESTHINCLIENT_API DeviceSoftwareSetComplianceStatus GetDeviceSoftwareSetComplianceStatusForName(const Aws::String& name); + +AWS_WORKSPACESTHINCLIENT_API Aws::String GetNameForDeviceSoftwareSetComplianceStatus(DeviceSoftwareSetComplianceStatus value); +} // namespace DeviceSoftwareSetComplianceStatusMapper +} // namespace Model +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/DeviceStatus.h b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/DeviceStatus.h new file mode 100644 index 00000000000..6f1babefd2b --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/DeviceStatus.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 WorkSpacesThinClient +{ +namespace Model +{ + enum class DeviceStatus + { + NOT_SET, + REGISTERED, + DEREGISTERING, + DEREGISTERED, + ARCHIVED + }; + +namespace DeviceStatusMapper +{ +AWS_WORKSPACESTHINCLIENT_API DeviceStatus GetDeviceStatusForName(const Aws::String& name); + +AWS_WORKSPACESTHINCLIENT_API Aws::String GetNameForDeviceStatus(DeviceStatus value); +} // namespace DeviceStatusMapper +} // namespace Model +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/DeviceSummary.h b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/DeviceSummary.h new file mode 100644 index 00000000000..b0e93a119cc --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/DeviceSummary.h @@ -0,0 +1,688 @@ +/** + * 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 Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkSpacesThinClient +{ +namespace Model +{ + + /** + *

      Describes a thin client device.

      See Also:

      AWS + * API Reference

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

      The ID of the device.

      + */ + inline const Aws::String& GetId() const{ return m_id; } + + /** + *

      The ID of the device.

      + */ + inline bool IdHasBeenSet() const { return m_idHasBeenSet; } + + /** + *

      The ID of the device.

      + */ + inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } + + /** + *

      The ID of the device.

      + */ + inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } + + /** + *

      The ID of the device.

      + */ + inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } + + /** + *

      The ID of the device.

      + */ + inline DeviceSummary& WithId(const Aws::String& value) { SetId(value); return *this;} + + /** + *

      The ID of the device.

      + */ + inline DeviceSummary& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + + /** + *

      The ID of the device.

      + */ + inline DeviceSummary& WithId(const char* value) { SetId(value); return *this;} + + + /** + *

      The hardware serial number of the device.

      + */ + inline const Aws::String& GetSerialNumber() const{ return m_serialNumber; } + + /** + *

      The hardware serial number of the device.

      + */ + inline bool SerialNumberHasBeenSet() const { return m_serialNumberHasBeenSet; } + + /** + *

      The hardware serial number of the device.

      + */ + inline void SetSerialNumber(const Aws::String& value) { m_serialNumberHasBeenSet = true; m_serialNumber = value; } + + /** + *

      The hardware serial number of the device.

      + */ + inline void SetSerialNumber(Aws::String&& value) { m_serialNumberHasBeenSet = true; m_serialNumber = std::move(value); } + + /** + *

      The hardware serial number of the device.

      + */ + inline void SetSerialNumber(const char* value) { m_serialNumberHasBeenSet = true; m_serialNumber.assign(value); } + + /** + *

      The hardware serial number of the device.

      + */ + inline DeviceSummary& WithSerialNumber(const Aws::String& value) { SetSerialNumber(value); return *this;} + + /** + *

      The hardware serial number of the device.

      + */ + inline DeviceSummary& WithSerialNumber(Aws::String&& value) { SetSerialNumber(std::move(value)); return *this;} + + /** + *

      The hardware serial number of the device.

      + */ + inline DeviceSummary& WithSerialNumber(const char* value) { SetSerialNumber(value); return *this;} + + + /** + *

      The name of the device.

      + */ + inline const Aws::String& GetName() const{ return m_name; } + + /** + *

      The name of the device.

      + */ + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + + /** + *

      The name of the device.

      + */ + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + + /** + *

      The name of the device.

      + */ + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + + /** + *

      The name of the device.

      + */ + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + + /** + *

      The name of the device.

      + */ + inline DeviceSummary& WithName(const Aws::String& value) { SetName(value); return *this;} + + /** + *

      The name of the device.

      + */ + inline DeviceSummary& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + + /** + *

      The name of the device.

      + */ + inline DeviceSummary& WithName(const char* value) { SetName(value); return *this;} + + + /** + *

      The model number of the device.

      + */ + inline const Aws::String& GetModel() const{ return m_model; } + + /** + *

      The model number of the device.

      + */ + inline bool ModelHasBeenSet() const { return m_modelHasBeenSet; } + + /** + *

      The model number of the device.

      + */ + inline void SetModel(const Aws::String& value) { m_modelHasBeenSet = true; m_model = value; } + + /** + *

      The model number of the device.

      + */ + inline void SetModel(Aws::String&& value) { m_modelHasBeenSet = true; m_model = std::move(value); } + + /** + *

      The model number of the device.

      + */ + inline void SetModel(const char* value) { m_modelHasBeenSet = true; m_model.assign(value); } + + /** + *

      The model number of the device.

      + */ + inline DeviceSummary& WithModel(const Aws::String& value) { SetModel(value); return *this;} + + /** + *

      The model number of the device.

      + */ + inline DeviceSummary& WithModel(Aws::String&& value) { SetModel(std::move(value)); return *this;} + + /** + *

      The model number of the device.

      + */ + inline DeviceSummary& WithModel(const char* value) { SetModel(value); return *this;} + + + /** + *

      The ID of the environment the device is associated with.

      + */ + inline const Aws::String& GetEnvironmentId() const{ return m_environmentId; } + + /** + *

      The ID of the environment the device is associated with.

      + */ + inline bool EnvironmentIdHasBeenSet() const { return m_environmentIdHasBeenSet; } + + /** + *

      The ID of the environment the device is associated with.

      + */ + inline void SetEnvironmentId(const Aws::String& value) { m_environmentIdHasBeenSet = true; m_environmentId = value; } + + /** + *

      The ID of the environment the device is associated with.

      + */ + inline void SetEnvironmentId(Aws::String&& value) { m_environmentIdHasBeenSet = true; m_environmentId = std::move(value); } + + /** + *

      The ID of the environment the device is associated with.

      + */ + inline void SetEnvironmentId(const char* value) { m_environmentIdHasBeenSet = true; m_environmentId.assign(value); } + + /** + *

      The ID of the environment the device is associated with.

      + */ + inline DeviceSummary& WithEnvironmentId(const Aws::String& value) { SetEnvironmentId(value); return *this;} + + /** + *

      The ID of the environment the device is associated with.

      + */ + inline DeviceSummary& WithEnvironmentId(Aws::String&& value) { SetEnvironmentId(std::move(value)); return *this;} + + /** + *

      The ID of the environment the device is associated with.

      + */ + inline DeviceSummary& WithEnvironmentId(const char* value) { SetEnvironmentId(value); return *this;} + + + /** + *

      The status of the device.

      + */ + inline const DeviceStatus& GetStatus() const{ return m_status; } + + /** + *

      The status of the device.

      + */ + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + + /** + *

      The status of the device.

      + */ + inline void SetStatus(const DeviceStatus& value) { m_statusHasBeenSet = true; m_status = value; } + + /** + *

      The status of the device.

      + */ + inline void SetStatus(DeviceStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } + + /** + *

      The status of the device.

      + */ + inline DeviceSummary& WithStatus(const DeviceStatus& value) { SetStatus(value); return *this;} + + /** + *

      The status of the device.

      + */ + inline DeviceSummary& WithStatus(DeviceStatus&& value) { SetStatus(std::move(value)); return *this;} + + + /** + *

      The ID of the software set currently installed on the device.

      + */ + inline const Aws::String& GetCurrentSoftwareSetId() const{ return m_currentSoftwareSetId; } + + /** + *

      The ID of the software set currently installed on the device.

      + */ + inline bool CurrentSoftwareSetIdHasBeenSet() const { return m_currentSoftwareSetIdHasBeenSet; } + + /** + *

      The ID of the software set currently installed on the device.

      + */ + inline void SetCurrentSoftwareSetId(const Aws::String& value) { m_currentSoftwareSetIdHasBeenSet = true; m_currentSoftwareSetId = value; } + + /** + *

      The ID of the software set currently installed on the device.

      + */ + inline void SetCurrentSoftwareSetId(Aws::String&& value) { m_currentSoftwareSetIdHasBeenSet = true; m_currentSoftwareSetId = std::move(value); } + + /** + *

      The ID of the software set currently installed on the device.

      + */ + inline void SetCurrentSoftwareSetId(const char* value) { m_currentSoftwareSetIdHasBeenSet = true; m_currentSoftwareSetId.assign(value); } + + /** + *

      The ID of the software set currently installed on the device.

      + */ + inline DeviceSummary& WithCurrentSoftwareSetId(const Aws::String& value) { SetCurrentSoftwareSetId(value); return *this;} + + /** + *

      The ID of the software set currently installed on the device.

      + */ + inline DeviceSummary& WithCurrentSoftwareSetId(Aws::String&& value) { SetCurrentSoftwareSetId(std::move(value)); return *this;} + + /** + *

      The ID of the software set currently installed on the device.

      + */ + inline DeviceSummary& WithCurrentSoftwareSetId(const char* value) { SetCurrentSoftwareSetId(value); return *this;} + + + /** + *

      The ID of the software set which the device has been set to.

      + */ + inline const Aws::String& GetDesiredSoftwareSetId() const{ return m_desiredSoftwareSetId; } + + /** + *

      The ID of the software set which the device has been set to.

      + */ + inline bool DesiredSoftwareSetIdHasBeenSet() const { return m_desiredSoftwareSetIdHasBeenSet; } + + /** + *

      The ID of the software set which the device has been set to.

      + */ + inline void SetDesiredSoftwareSetId(const Aws::String& value) { m_desiredSoftwareSetIdHasBeenSet = true; m_desiredSoftwareSetId = value; } + + /** + *

      The ID of the software set which the device has been set to.

      + */ + inline void SetDesiredSoftwareSetId(Aws::String&& value) { m_desiredSoftwareSetIdHasBeenSet = true; m_desiredSoftwareSetId = std::move(value); } + + /** + *

      The ID of the software set which the device has been set to.

      + */ + inline void SetDesiredSoftwareSetId(const char* value) { m_desiredSoftwareSetIdHasBeenSet = true; m_desiredSoftwareSetId.assign(value); } + + /** + *

      The ID of the software set which the device has been set to.

      + */ + inline DeviceSummary& WithDesiredSoftwareSetId(const Aws::String& value) { SetDesiredSoftwareSetId(value); return *this;} + + /** + *

      The ID of the software set which the device has been set to.

      + */ + inline DeviceSummary& WithDesiredSoftwareSetId(Aws::String&& value) { SetDesiredSoftwareSetId(std::move(value)); return *this;} + + /** + *

      The ID of the software set which the device has been set to.

      + */ + inline DeviceSummary& WithDesiredSoftwareSetId(const char* value) { SetDesiredSoftwareSetId(value); return *this;} + + + /** + *

      The ID of the software set that is pending to be installed on the device.

      + */ + inline const Aws::String& GetPendingSoftwareSetId() const{ return m_pendingSoftwareSetId; } + + /** + *

      The ID of the software set that is pending to be installed on the device.

      + */ + inline bool PendingSoftwareSetIdHasBeenSet() const { return m_pendingSoftwareSetIdHasBeenSet; } + + /** + *

      The ID of the software set that is pending to be installed on the device.

      + */ + inline void SetPendingSoftwareSetId(const Aws::String& value) { m_pendingSoftwareSetIdHasBeenSet = true; m_pendingSoftwareSetId = value; } + + /** + *

      The ID of the software set that is pending to be installed on the device.

      + */ + inline void SetPendingSoftwareSetId(Aws::String&& value) { m_pendingSoftwareSetIdHasBeenSet = true; m_pendingSoftwareSetId = std::move(value); } + + /** + *

      The ID of the software set that is pending to be installed on the device.

      + */ + inline void SetPendingSoftwareSetId(const char* value) { m_pendingSoftwareSetIdHasBeenSet = true; m_pendingSoftwareSetId.assign(value); } + + /** + *

      The ID of the software set that is pending to be installed on the device.

      + */ + inline DeviceSummary& WithPendingSoftwareSetId(const Aws::String& value) { SetPendingSoftwareSetId(value); return *this;} + + /** + *

      The ID of the software set that is pending to be installed on the device.

      + */ + inline DeviceSummary& WithPendingSoftwareSetId(Aws::String&& value) { SetPendingSoftwareSetId(std::move(value)); return *this;} + + /** + *

      The ID of the software set that is pending to be installed on the device.

      + */ + inline DeviceSummary& WithPendingSoftwareSetId(const char* value) { SetPendingSoftwareSetId(value); return *this;} + + + /** + *

      An option to define if software updates should be applied within a + * maintenance window.

      + */ + inline const SoftwareSetUpdateSchedule& GetSoftwareSetUpdateSchedule() const{ return m_softwareSetUpdateSchedule; } + + /** + *

      An option to define if software updates should be applied within a + * maintenance window.

      + */ + inline bool SoftwareSetUpdateScheduleHasBeenSet() const { return m_softwareSetUpdateScheduleHasBeenSet; } + + /** + *

      An option to define if software updates should be applied within a + * maintenance window.

      + */ + inline void SetSoftwareSetUpdateSchedule(const SoftwareSetUpdateSchedule& value) { m_softwareSetUpdateScheduleHasBeenSet = true; m_softwareSetUpdateSchedule = value; } + + /** + *

      An option to define if software updates should be applied within a + * maintenance window.

      + */ + inline void SetSoftwareSetUpdateSchedule(SoftwareSetUpdateSchedule&& value) { m_softwareSetUpdateScheduleHasBeenSet = true; m_softwareSetUpdateSchedule = std::move(value); } + + /** + *

      An option to define if software updates should be applied within a + * maintenance window.

      + */ + inline DeviceSummary& WithSoftwareSetUpdateSchedule(const SoftwareSetUpdateSchedule& value) { SetSoftwareSetUpdateSchedule(value); return *this;} + + /** + *

      An option to define if software updates should be applied within a + * maintenance window.

      + */ + inline DeviceSummary& WithSoftwareSetUpdateSchedule(SoftwareSetUpdateSchedule&& value) { SetSoftwareSetUpdateSchedule(std::move(value)); return *this;} + + + /** + *

      The timestamp of the most recent session on the device.

      + */ + inline const Aws::Utils::DateTime& GetLastConnectedAt() const{ return m_lastConnectedAt; } + + /** + *

      The timestamp of the most recent session on the device.

      + */ + inline bool LastConnectedAtHasBeenSet() const { return m_lastConnectedAtHasBeenSet; } + + /** + *

      The timestamp of the most recent session on the device.

      + */ + inline void SetLastConnectedAt(const Aws::Utils::DateTime& value) { m_lastConnectedAtHasBeenSet = true; m_lastConnectedAt = value; } + + /** + *

      The timestamp of the most recent session on the device.

      + */ + inline void SetLastConnectedAt(Aws::Utils::DateTime&& value) { m_lastConnectedAtHasBeenSet = true; m_lastConnectedAt = std::move(value); } + + /** + *

      The timestamp of the most recent session on the device.

      + */ + inline DeviceSummary& WithLastConnectedAt(const Aws::Utils::DateTime& value) { SetLastConnectedAt(value); return *this;} + + /** + *

      The timestamp of the most recent session on the device.

      + */ + inline DeviceSummary& WithLastConnectedAt(Aws::Utils::DateTime&& value) { SetLastConnectedAt(std::move(value)); return *this;} + + + /** + *

      The timestamp of the most recent check-in of the device.

      + */ + inline const Aws::Utils::DateTime& GetLastPostureAt() const{ return m_lastPostureAt; } + + /** + *

      The timestamp of the most recent check-in of the device.

      + */ + inline bool LastPostureAtHasBeenSet() const { return m_lastPostureAtHasBeenSet; } + + /** + *

      The timestamp of the most recent check-in of the device.

      + */ + inline void SetLastPostureAt(const Aws::Utils::DateTime& value) { m_lastPostureAtHasBeenSet = true; m_lastPostureAt = value; } + + /** + *

      The timestamp of the most recent check-in of the device.

      + */ + inline void SetLastPostureAt(Aws::Utils::DateTime&& value) { m_lastPostureAtHasBeenSet = true; m_lastPostureAt = std::move(value); } + + /** + *

      The timestamp of the most recent check-in of the device.

      + */ + inline DeviceSummary& WithLastPostureAt(const Aws::Utils::DateTime& value) { SetLastPostureAt(value); return *this;} + + /** + *

      The timestamp of the most recent check-in of the device.

      + */ + inline DeviceSummary& WithLastPostureAt(Aws::Utils::DateTime&& value) { SetLastPostureAt(std::move(value)); return *this;} + + + /** + *

      The timestamp of when the device was created.

      + */ + inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } + + /** + *

      The timestamp of when the device was created.

      + */ + inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } + + /** + *

      The timestamp of when the device was created.

      + */ + inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAtHasBeenSet = true; m_createdAt = value; } + + /** + *

      The timestamp of when the device was created.

      + */ + inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::move(value); } + + /** + *

      The timestamp of when the device was created.

      + */ + inline DeviceSummary& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} + + /** + *

      The timestamp of when the device was created.

      + */ + inline DeviceSummary& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} + + + /** + *

      The timestamp of when the device was updated.

      + */ + inline const Aws::Utils::DateTime& GetUpdatedAt() const{ return m_updatedAt; } + + /** + *

      The timestamp of when the device was updated.

      + */ + inline bool UpdatedAtHasBeenSet() const { return m_updatedAtHasBeenSet; } + + /** + *

      The timestamp of when the device was updated.

      + */ + inline void SetUpdatedAt(const Aws::Utils::DateTime& value) { m_updatedAtHasBeenSet = true; m_updatedAt = value; } + + /** + *

      The timestamp of when the device was updated.

      + */ + inline void SetUpdatedAt(Aws::Utils::DateTime&& value) { m_updatedAtHasBeenSet = true; m_updatedAt = std::move(value); } + + /** + *

      The timestamp of when the device was updated.

      + */ + inline DeviceSummary& WithUpdatedAt(const Aws::Utils::DateTime& value) { SetUpdatedAt(value); return *this;} + + /** + *

      The timestamp of when the device was updated.

      + */ + inline DeviceSummary& WithUpdatedAt(Aws::Utils::DateTime&& value) { SetUpdatedAt(std::move(value)); return *this;} + + + /** + *

      The Amazon Resource Name (ARN) of the device.

      + */ + inline const Aws::String& GetArn() const{ return m_arn; } + + /** + *

      The Amazon Resource Name (ARN) of the device.

      + */ + inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } + + /** + *

      The Amazon Resource Name (ARN) of the device.

      + */ + inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } + + /** + *

      The Amazon Resource Name (ARN) of the device.

      + */ + inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } + + /** + *

      The Amazon Resource Name (ARN) of the device.

      + */ + inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } + + /** + *

      The Amazon Resource Name (ARN) of the device.

      + */ + inline DeviceSummary& WithArn(const Aws::String& value) { SetArn(value); return *this;} + + /** + *

      The Amazon Resource Name (ARN) of the device.

      + */ + inline DeviceSummary& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} + + /** + *

      The Amazon Resource Name (ARN) of the device.

      + */ + inline DeviceSummary& WithArn(const char* value) { SetArn(value); return *this;} + + + /** + *

      The tag keys and optional values for the resource.

      + */ + inline const EmbeddedTag& GetTags() const{ return m_tags; } + + /** + *

      The tag keys and optional values for the resource.

      + */ + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + + /** + *

      The tag keys and optional values for the resource.

      + */ + inline void SetTags(const EmbeddedTag& value) { m_tagsHasBeenSet = true; m_tags = value; } + + /** + *

      The tag keys and optional values for the resource.

      + */ + inline void SetTags(EmbeddedTag&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } + + /** + *

      The tag keys and optional values for the resource.

      + */ + inline DeviceSummary& WithTags(const EmbeddedTag& value) { SetTags(value); return *this;} + + /** + *

      The tag keys and optional values for the resource.

      + */ + inline DeviceSummary& WithTags(EmbeddedTag&& value) { SetTags(std::move(value)); return *this;} + + private: + + Aws::String m_id; + bool m_idHasBeenSet = false; + + Aws::String m_serialNumber; + bool m_serialNumberHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::String m_model; + bool m_modelHasBeenSet = false; + + Aws::String m_environmentId; + bool m_environmentIdHasBeenSet = false; + + DeviceStatus m_status; + bool m_statusHasBeenSet = false; + + Aws::String m_currentSoftwareSetId; + bool m_currentSoftwareSetIdHasBeenSet = false; + + Aws::String m_desiredSoftwareSetId; + bool m_desiredSoftwareSetIdHasBeenSet = false; + + Aws::String m_pendingSoftwareSetId; + bool m_pendingSoftwareSetIdHasBeenSet = false; + + SoftwareSetUpdateSchedule m_softwareSetUpdateSchedule; + bool m_softwareSetUpdateScheduleHasBeenSet = false; + + Aws::Utils::DateTime m_lastConnectedAt; + bool m_lastConnectedAtHasBeenSet = false; + + Aws::Utils::DateTime m_lastPostureAt; + bool m_lastPostureAtHasBeenSet = false; + + Aws::Utils::DateTime m_createdAt; + bool m_createdAtHasBeenSet = false; + + Aws::Utils::DateTime m_updatedAt; + bool m_updatedAtHasBeenSet = false; + + Aws::String m_arn; + bool m_arnHasBeenSet = false; + + EmbeddedTag m_tags; + bool m_tagsHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/EmbeddedTag.h b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/EmbeddedTag.h new file mode 100644 index 00000000000..680e92aca88 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/EmbeddedTag.h @@ -0,0 +1,133 @@ +/** + * 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 WorkSpacesThinClient +{ +namespace Model +{ + + /** + *

      The resource and internal ID of a resource to tag.

      See Also:

      + * AWS + * API Reference

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

      The Amazon Resource Name (ARN) of a resource to tag.

      + */ + inline const Aws::String& GetResourceArn() const{ return m_resourceArn; } + + /** + *

      The Amazon Resource Name (ARN) of a resource to tag.

      + */ + inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; } + + /** + *

      The Amazon Resource Name (ARN) of a resource to tag.

      + */ + inline void SetResourceArn(const Aws::String& value) { m_resourceArnHasBeenSet = true; m_resourceArn = value; } + + /** + *

      The Amazon Resource Name (ARN) of a resource to tag.

      + */ + inline void SetResourceArn(Aws::String&& value) { m_resourceArnHasBeenSet = true; m_resourceArn = std::move(value); } + + /** + *

      The Amazon Resource Name (ARN) of a resource to tag.

      + */ + inline void SetResourceArn(const char* value) { m_resourceArnHasBeenSet = true; m_resourceArn.assign(value); } + + /** + *

      The Amazon Resource Name (ARN) of a resource to tag.

      + */ + inline EmbeddedTag& WithResourceArn(const Aws::String& value) { SetResourceArn(value); return *this;} + + /** + *

      The Amazon Resource Name (ARN) of a resource to tag.

      + */ + inline EmbeddedTag& WithResourceArn(Aws::String&& value) { SetResourceArn(std::move(value)); return *this;} + + /** + *

      The Amazon Resource Name (ARN) of a resource to tag.

      + */ + inline EmbeddedTag& WithResourceArn(const char* value) { SetResourceArn(value); return *this;} + + + /** + *

      The internal ID of a resource to tag.

      + */ + inline const Aws::String& GetInternalId() const{ return m_internalId; } + + /** + *

      The internal ID of a resource to tag.

      + */ + inline bool InternalIdHasBeenSet() const { return m_internalIdHasBeenSet; } + + /** + *

      The internal ID of a resource to tag.

      + */ + inline void SetInternalId(const Aws::String& value) { m_internalIdHasBeenSet = true; m_internalId = value; } + + /** + *

      The internal ID of a resource to tag.

      + */ + inline void SetInternalId(Aws::String&& value) { m_internalIdHasBeenSet = true; m_internalId = std::move(value); } + + /** + *

      The internal ID of a resource to tag.

      + */ + inline void SetInternalId(const char* value) { m_internalIdHasBeenSet = true; m_internalId.assign(value); } + + /** + *

      The internal ID of a resource to tag.

      + */ + inline EmbeddedTag& WithInternalId(const Aws::String& value) { SetInternalId(value); return *this;} + + /** + *

      The internal ID of a resource to tag.

      + */ + inline EmbeddedTag& WithInternalId(Aws::String&& value) { SetInternalId(std::move(value)); return *this;} + + /** + *

      The internal ID of a resource to tag.

      + */ + inline EmbeddedTag& WithInternalId(const char* value) { SetInternalId(value); return *this;} + + private: + + Aws::String m_resourceArn; + bool m_resourceArnHasBeenSet = false; + + Aws::String m_internalId; + bool m_internalIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/Environment.h b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/Environment.h new file mode 100644 index 00000000000..ac3509a4c82 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/Environment.h @@ -0,0 +1,823 @@ +/** + * 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 WorkSpacesThinClient +{ +namespace Model +{ + + /** + *

      Describes an environment.

      See Also:

      AWS + * API Reference

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

      The ID of the environment.

      + */ + inline const Aws::String& GetId() const{ return m_id; } + + /** + *

      The ID of the environment.

      + */ + inline bool IdHasBeenSet() const { return m_idHasBeenSet; } + + /** + *

      The ID of the environment.

      + */ + inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } + + /** + *

      The ID of the environment.

      + */ + inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } + + /** + *

      The ID of the environment.

      + */ + inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } + + /** + *

      The ID of the environment.

      + */ + inline Environment& WithId(const Aws::String& value) { SetId(value); return *this;} + + /** + *

      The ID of the environment.

      + */ + inline Environment& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + + /** + *

      The ID of the environment.

      + */ + inline Environment& WithId(const char* value) { SetId(value); return *this;} + + + /** + *

      The name of the environment.

      + */ + inline const Aws::String& GetName() const{ return m_name; } + + /** + *

      The name of the environment.

      + */ + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + + /** + *

      The name of the environment.

      + */ + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + + /** + *

      The name of the environment.

      + */ + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + + /** + *

      The name of the environment.

      + */ + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + + /** + *

      The name of the environment.

      + */ + inline Environment& WithName(const Aws::String& value) { SetName(value); return *this;} + + /** + *

      The name of the environment.

      + */ + inline Environment& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + + /** + *

      The name of the environment.

      + */ + inline Environment& WithName(const char* value) { SetName(value); return *this;} + + + /** + *

      The Amazon Resource Name (ARN) of the desktop to stream from Amazon + * WorkSpaces, WorkSpaces Web, or AppStream 2.0.

      + */ + inline const Aws::String& GetDesktopArn() const{ return m_desktopArn; } + + /** + *

      The Amazon Resource Name (ARN) of the desktop to stream from Amazon + * WorkSpaces, WorkSpaces Web, or AppStream 2.0.

      + */ + inline bool DesktopArnHasBeenSet() const { return m_desktopArnHasBeenSet; } + + /** + *

      The Amazon Resource Name (ARN) of the desktop to stream from Amazon + * WorkSpaces, WorkSpaces Web, or AppStream 2.0.

      + */ + inline void SetDesktopArn(const Aws::String& value) { m_desktopArnHasBeenSet = true; m_desktopArn = value; } + + /** + *

      The Amazon Resource Name (ARN) of the desktop to stream from Amazon + * WorkSpaces, WorkSpaces Web, or AppStream 2.0.

      + */ + inline void SetDesktopArn(Aws::String&& value) { m_desktopArnHasBeenSet = true; m_desktopArn = std::move(value); } + + /** + *

      The Amazon Resource Name (ARN) of the desktop to stream from Amazon + * WorkSpaces, WorkSpaces Web, or AppStream 2.0.

      + */ + inline void SetDesktopArn(const char* value) { m_desktopArnHasBeenSet = true; m_desktopArn.assign(value); } + + /** + *

      The Amazon Resource Name (ARN) of the desktop to stream from Amazon + * WorkSpaces, WorkSpaces Web, or AppStream 2.0.

      + */ + inline Environment& WithDesktopArn(const Aws::String& value) { SetDesktopArn(value); return *this;} + + /** + *

      The Amazon Resource Name (ARN) of the desktop to stream from Amazon + * WorkSpaces, WorkSpaces Web, or AppStream 2.0.

      + */ + inline Environment& WithDesktopArn(Aws::String&& value) { SetDesktopArn(std::move(value)); return *this;} + + /** + *

      The Amazon Resource Name (ARN) of the desktop to stream from Amazon + * WorkSpaces, WorkSpaces Web, or AppStream 2.0.

      + */ + inline Environment& WithDesktopArn(const char* value) { SetDesktopArn(value); return *this;} + + + /** + *

      The URL for the identity provider login (only for environments that use + * AppStream 2.0).

      + */ + inline const Aws::String& GetDesktopEndpoint() const{ return m_desktopEndpoint; } + + /** + *

      The URL for the identity provider login (only for environments that use + * AppStream 2.0).

      + */ + inline bool DesktopEndpointHasBeenSet() const { return m_desktopEndpointHasBeenSet; } + + /** + *

      The URL for the identity provider login (only for environments that use + * AppStream 2.0).

      + */ + inline void SetDesktopEndpoint(const Aws::String& value) { m_desktopEndpointHasBeenSet = true; m_desktopEndpoint = value; } + + /** + *

      The URL for the identity provider login (only for environments that use + * AppStream 2.0).

      + */ + inline void SetDesktopEndpoint(Aws::String&& value) { m_desktopEndpointHasBeenSet = true; m_desktopEndpoint = std::move(value); } + + /** + *

      The URL for the identity provider login (only for environments that use + * AppStream 2.0).

      + */ + inline void SetDesktopEndpoint(const char* value) { m_desktopEndpointHasBeenSet = true; m_desktopEndpoint.assign(value); } + + /** + *

      The URL for the identity provider login (only for environments that use + * AppStream 2.0).

      + */ + inline Environment& WithDesktopEndpoint(const Aws::String& value) { SetDesktopEndpoint(value); return *this;} + + /** + *

      The URL for the identity provider login (only for environments that use + * AppStream 2.0).

      + */ + inline Environment& WithDesktopEndpoint(Aws::String&& value) { SetDesktopEndpoint(std::move(value)); return *this;} + + /** + *

      The URL for the identity provider login (only for environments that use + * AppStream 2.0).

      + */ + inline Environment& WithDesktopEndpoint(const char* value) { SetDesktopEndpoint(value); return *this;} + + + /** + *

      The type of streaming desktop for the environment.

      + */ + inline const DesktopType& GetDesktopType() const{ return m_desktopType; } + + /** + *

      The type of streaming desktop for the environment.

      + */ + inline bool DesktopTypeHasBeenSet() const { return m_desktopTypeHasBeenSet; } + + /** + *

      The type of streaming desktop for the environment.

      + */ + inline void SetDesktopType(const DesktopType& value) { m_desktopTypeHasBeenSet = true; m_desktopType = value; } + + /** + *

      The type of streaming desktop for the environment.

      + */ + inline void SetDesktopType(DesktopType&& value) { m_desktopTypeHasBeenSet = true; m_desktopType = std::move(value); } + + /** + *

      The type of streaming desktop for the environment.

      + */ + inline Environment& WithDesktopType(const DesktopType& value) { SetDesktopType(value); return *this;} + + /** + *

      The type of streaming desktop for the environment.

      + */ + inline Environment& WithDesktopType(DesktopType&& value) { SetDesktopType(std::move(value)); return *this;} + + + /** + *

      The activation code to register a device to the environment.

      + */ + inline const Aws::String& GetActivationCode() const{ return m_activationCode; } + + /** + *

      The activation code to register a device to the environment.

      + */ + inline bool ActivationCodeHasBeenSet() const { return m_activationCodeHasBeenSet; } + + /** + *

      The activation code to register a device to the environment.

      + */ + inline void SetActivationCode(const Aws::String& value) { m_activationCodeHasBeenSet = true; m_activationCode = value; } + + /** + *

      The activation code to register a device to the environment.

      + */ + inline void SetActivationCode(Aws::String&& value) { m_activationCodeHasBeenSet = true; m_activationCode = std::move(value); } + + /** + *

      The activation code to register a device to the environment.

      + */ + inline void SetActivationCode(const char* value) { m_activationCodeHasBeenSet = true; m_activationCode.assign(value); } + + /** + *

      The activation code to register a device to the environment.

      + */ + inline Environment& WithActivationCode(const Aws::String& value) { SetActivationCode(value); return *this;} + + /** + *

      The activation code to register a device to the environment.

      + */ + inline Environment& WithActivationCode(Aws::String&& value) { SetActivationCode(std::move(value)); return *this;} + + /** + *

      The activation code to register a device to the environment.

      + */ + inline Environment& WithActivationCode(const char* value) { SetActivationCode(value); return *this;} + + + /** + *

      The number of devices registered to the environment.

      + */ + inline int GetRegisteredDevicesCount() const{ return m_registeredDevicesCount; } + + /** + *

      The number of devices registered to the environment.

      + */ + inline bool RegisteredDevicesCountHasBeenSet() const { return m_registeredDevicesCountHasBeenSet; } + + /** + *

      The number of devices registered to the environment.

      + */ + inline void SetRegisteredDevicesCount(int value) { m_registeredDevicesCountHasBeenSet = true; m_registeredDevicesCount = value; } + + /** + *

      The number of devices registered to the environment.

      + */ + inline Environment& WithRegisteredDevicesCount(int value) { SetRegisteredDevicesCount(value); return *this;} + + + /** + *

      An option to define if software updates should be applied within a + * maintenance window.

      + */ + inline const SoftwareSetUpdateSchedule& GetSoftwareSetUpdateSchedule() const{ return m_softwareSetUpdateSchedule; } + + /** + *

      An option to define if software updates should be applied within a + * maintenance window.

      + */ + inline bool SoftwareSetUpdateScheduleHasBeenSet() const { return m_softwareSetUpdateScheduleHasBeenSet; } + + /** + *

      An option to define if software updates should be applied within a + * maintenance window.

      + */ + inline void SetSoftwareSetUpdateSchedule(const SoftwareSetUpdateSchedule& value) { m_softwareSetUpdateScheduleHasBeenSet = true; m_softwareSetUpdateSchedule = value; } + + /** + *

      An option to define if software updates should be applied within a + * maintenance window.

      + */ + inline void SetSoftwareSetUpdateSchedule(SoftwareSetUpdateSchedule&& value) { m_softwareSetUpdateScheduleHasBeenSet = true; m_softwareSetUpdateSchedule = std::move(value); } + + /** + *

      An option to define if software updates should be applied within a + * maintenance window.

      + */ + inline Environment& WithSoftwareSetUpdateSchedule(const SoftwareSetUpdateSchedule& value) { SetSoftwareSetUpdateSchedule(value); return *this;} + + /** + *

      An option to define if software updates should be applied within a + * maintenance window.

      + */ + inline Environment& WithSoftwareSetUpdateSchedule(SoftwareSetUpdateSchedule&& value) { SetSoftwareSetUpdateSchedule(std::move(value)); return *this;} + + + /** + *

      A specification for a time window to apply software updates.

      + */ + inline const MaintenanceWindow& GetMaintenanceWindow() const{ return m_maintenanceWindow; } + + /** + *

      A specification for a time window to apply software updates.

      + */ + inline bool MaintenanceWindowHasBeenSet() const { return m_maintenanceWindowHasBeenSet; } + + /** + *

      A specification for a time window to apply software updates.

      + */ + inline void SetMaintenanceWindow(const MaintenanceWindow& value) { m_maintenanceWindowHasBeenSet = true; m_maintenanceWindow = value; } + + /** + *

      A specification for a time window to apply software updates.

      + */ + inline void SetMaintenanceWindow(MaintenanceWindow&& value) { m_maintenanceWindowHasBeenSet = true; m_maintenanceWindow = std::move(value); } + + /** + *

      A specification for a time window to apply software updates.

      + */ + inline Environment& WithMaintenanceWindow(const MaintenanceWindow& value) { SetMaintenanceWindow(value); return *this;} + + /** + *

      A specification for a time window to apply software updates.

      + */ + inline Environment& WithMaintenanceWindow(MaintenanceWindow&& value) { SetMaintenanceWindow(std::move(value)); return *this;} + + + /** + *

      An option to define which software updates to apply.

      + */ + inline const SoftwareSetUpdateMode& GetSoftwareSetUpdateMode() const{ return m_softwareSetUpdateMode; } + + /** + *

      An option to define which software updates to apply.

      + */ + inline bool SoftwareSetUpdateModeHasBeenSet() const { return m_softwareSetUpdateModeHasBeenSet; } + + /** + *

      An option to define which software updates to apply.

      + */ + inline void SetSoftwareSetUpdateMode(const SoftwareSetUpdateMode& value) { m_softwareSetUpdateModeHasBeenSet = true; m_softwareSetUpdateMode = value; } + + /** + *

      An option to define which software updates to apply.

      + */ + inline void SetSoftwareSetUpdateMode(SoftwareSetUpdateMode&& value) { m_softwareSetUpdateModeHasBeenSet = true; m_softwareSetUpdateMode = std::move(value); } + + /** + *

      An option to define which software updates to apply.

      + */ + inline Environment& WithSoftwareSetUpdateMode(const SoftwareSetUpdateMode& value) { SetSoftwareSetUpdateMode(value); return *this;} + + /** + *

      An option to define which software updates to apply.

      + */ + inline Environment& WithSoftwareSetUpdateMode(SoftwareSetUpdateMode&& value) { SetSoftwareSetUpdateMode(std::move(value)); return *this;} + + + /** + *

      The ID of the software set to apply.

      + */ + inline const Aws::String& GetDesiredSoftwareSetId() const{ return m_desiredSoftwareSetId; } + + /** + *

      The ID of the software set to apply.

      + */ + inline bool DesiredSoftwareSetIdHasBeenSet() const { return m_desiredSoftwareSetIdHasBeenSet; } + + /** + *

      The ID of the software set to apply.

      + */ + inline void SetDesiredSoftwareSetId(const Aws::String& value) { m_desiredSoftwareSetIdHasBeenSet = true; m_desiredSoftwareSetId = value; } + + /** + *

      The ID of the software set to apply.

      + */ + inline void SetDesiredSoftwareSetId(Aws::String&& value) { m_desiredSoftwareSetIdHasBeenSet = true; m_desiredSoftwareSetId = std::move(value); } + + /** + *

      The ID of the software set to apply.

      + */ + inline void SetDesiredSoftwareSetId(const char* value) { m_desiredSoftwareSetIdHasBeenSet = true; m_desiredSoftwareSetId.assign(value); } + + /** + *

      The ID of the software set to apply.

      + */ + inline Environment& WithDesiredSoftwareSetId(const Aws::String& value) { SetDesiredSoftwareSetId(value); return *this;} + + /** + *

      The ID of the software set to apply.

      + */ + inline Environment& WithDesiredSoftwareSetId(Aws::String&& value) { SetDesiredSoftwareSetId(std::move(value)); return *this;} + + /** + *

      The ID of the software set to apply.

      + */ + inline Environment& WithDesiredSoftwareSetId(const char* value) { SetDesiredSoftwareSetId(value); return *this;} + + + /** + *

      The ID of the software set that is pending to be installed.

      + */ + inline const Aws::String& GetPendingSoftwareSetId() const{ return m_pendingSoftwareSetId; } + + /** + *

      The ID of the software set that is pending to be installed.

      + */ + inline bool PendingSoftwareSetIdHasBeenSet() const { return m_pendingSoftwareSetIdHasBeenSet; } + + /** + *

      The ID of the software set that is pending to be installed.

      + */ + inline void SetPendingSoftwareSetId(const Aws::String& value) { m_pendingSoftwareSetIdHasBeenSet = true; m_pendingSoftwareSetId = value; } + + /** + *

      The ID of the software set that is pending to be installed.

      + */ + inline void SetPendingSoftwareSetId(Aws::String&& value) { m_pendingSoftwareSetIdHasBeenSet = true; m_pendingSoftwareSetId = std::move(value); } + + /** + *

      The ID of the software set that is pending to be installed.

      + */ + inline void SetPendingSoftwareSetId(const char* value) { m_pendingSoftwareSetIdHasBeenSet = true; m_pendingSoftwareSetId.assign(value); } + + /** + *

      The ID of the software set that is pending to be installed.

      + */ + inline Environment& WithPendingSoftwareSetId(const Aws::String& value) { SetPendingSoftwareSetId(value); return *this;} + + /** + *

      The ID of the software set that is pending to be installed.

      + */ + inline Environment& WithPendingSoftwareSetId(Aws::String&& value) { SetPendingSoftwareSetId(std::move(value)); return *this;} + + /** + *

      The ID of the software set that is pending to be installed.

      + */ + inline Environment& WithPendingSoftwareSetId(const char* value) { SetPendingSoftwareSetId(value); return *this;} + + + /** + *

      The version of the software set that is pending to be installed.

      + */ + inline const Aws::String& GetPendingSoftwareSetVersion() const{ return m_pendingSoftwareSetVersion; } + + /** + *

      The version of the software set that is pending to be installed.

      + */ + inline bool PendingSoftwareSetVersionHasBeenSet() const { return m_pendingSoftwareSetVersionHasBeenSet; } + + /** + *

      The version of the software set that is pending to be installed.

      + */ + inline void SetPendingSoftwareSetVersion(const Aws::String& value) { m_pendingSoftwareSetVersionHasBeenSet = true; m_pendingSoftwareSetVersion = value; } + + /** + *

      The version of the software set that is pending to be installed.

      + */ + inline void SetPendingSoftwareSetVersion(Aws::String&& value) { m_pendingSoftwareSetVersionHasBeenSet = true; m_pendingSoftwareSetVersion = std::move(value); } + + /** + *

      The version of the software set that is pending to be installed.

      + */ + inline void SetPendingSoftwareSetVersion(const char* value) { m_pendingSoftwareSetVersionHasBeenSet = true; m_pendingSoftwareSetVersion.assign(value); } + + /** + *

      The version of the software set that is pending to be installed.

      + */ + inline Environment& WithPendingSoftwareSetVersion(const Aws::String& value) { SetPendingSoftwareSetVersion(value); return *this;} + + /** + *

      The version of the software set that is pending to be installed.

      + */ + inline Environment& WithPendingSoftwareSetVersion(Aws::String&& value) { SetPendingSoftwareSetVersion(std::move(value)); return *this;} + + /** + *

      The version of the software set that is pending to be installed.

      + */ + inline Environment& WithPendingSoftwareSetVersion(const char* value) { SetPendingSoftwareSetVersion(value); return *this;} + + + /** + *

      Describes if the software currently installed on all devices in the + * environment is a supported version.

      + */ + inline const EnvironmentSoftwareSetComplianceStatus& GetSoftwareSetComplianceStatus() const{ return m_softwareSetComplianceStatus; } + + /** + *

      Describes if the software currently installed on all devices in the + * environment is a supported version.

      + */ + inline bool SoftwareSetComplianceStatusHasBeenSet() const { return m_softwareSetComplianceStatusHasBeenSet; } + + /** + *

      Describes if the software currently installed on all devices in the + * environment is a supported version.

      + */ + inline void SetSoftwareSetComplianceStatus(const EnvironmentSoftwareSetComplianceStatus& value) { m_softwareSetComplianceStatusHasBeenSet = true; m_softwareSetComplianceStatus = value; } + + /** + *

      Describes if the software currently installed on all devices in the + * environment is a supported version.

      + */ + inline void SetSoftwareSetComplianceStatus(EnvironmentSoftwareSetComplianceStatus&& value) { m_softwareSetComplianceStatusHasBeenSet = true; m_softwareSetComplianceStatus = std::move(value); } + + /** + *

      Describes if the software currently installed on all devices in the + * environment is a supported version.

      + */ + inline Environment& WithSoftwareSetComplianceStatus(const EnvironmentSoftwareSetComplianceStatus& value) { SetSoftwareSetComplianceStatus(value); return *this;} + + /** + *

      Describes if the software currently installed on all devices in the + * environment is a supported version.

      + */ + inline Environment& WithSoftwareSetComplianceStatus(EnvironmentSoftwareSetComplianceStatus&& value) { SetSoftwareSetComplianceStatus(std::move(value)); return *this;} + + + /** + *

      The timestamp of when the environment was created.

      + */ + inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } + + /** + *

      The timestamp of when the environment was created.

      + */ + inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } + + /** + *

      The timestamp of when the environment was created.

      + */ + inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAtHasBeenSet = true; m_createdAt = value; } + + /** + *

      The timestamp of when the environment was created.

      + */ + inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::move(value); } + + /** + *

      The timestamp of when the environment was created.

      + */ + inline Environment& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} + + /** + *

      The timestamp of when the environment was created.

      + */ + inline Environment& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} + + + /** + *

      The timestamp of when the device was updated.

      + */ + inline const Aws::Utils::DateTime& GetUpdatedAt() const{ return m_updatedAt; } + + /** + *

      The timestamp of when the device was updated.

      + */ + inline bool UpdatedAtHasBeenSet() const { return m_updatedAtHasBeenSet; } + + /** + *

      The timestamp of when the device was updated.

      + */ + inline void SetUpdatedAt(const Aws::Utils::DateTime& value) { m_updatedAtHasBeenSet = true; m_updatedAt = value; } + + /** + *

      The timestamp of when the device was updated.

      + */ + inline void SetUpdatedAt(Aws::Utils::DateTime&& value) { m_updatedAtHasBeenSet = true; m_updatedAt = std::move(value); } + + /** + *

      The timestamp of when the device was updated.

      + */ + inline Environment& WithUpdatedAt(const Aws::Utils::DateTime& value) { SetUpdatedAt(value); return *this;} + + /** + *

      The timestamp of when the device was updated.

      + */ + inline Environment& WithUpdatedAt(Aws::Utils::DateTime&& value) { SetUpdatedAt(std::move(value)); return *this;} + + + /** + *

      The Amazon Resource Name (ARN) of the environment.

      + */ + inline const Aws::String& GetArn() const{ return m_arn; } + + /** + *

      The Amazon Resource Name (ARN) of the environment.

      + */ + inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } + + /** + *

      The Amazon Resource Name (ARN) of the environment.

      + */ + inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } + + /** + *

      The Amazon Resource Name (ARN) of the environment.

      + */ + inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } + + /** + *

      The Amazon Resource Name (ARN) of the environment.

      + */ + inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } + + /** + *

      The Amazon Resource Name (ARN) of the environment.

      + */ + inline Environment& WithArn(const Aws::String& value) { SetArn(value); return *this;} + + /** + *

      The Amazon Resource Name (ARN) of the environment.

      + */ + inline Environment& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} + + /** + *

      The Amazon Resource Name (ARN) of the environment.

      + */ + inline Environment& WithArn(const char* value) { SetArn(value); return *this;} + + + /** + *

      The Amazon Resource Name (ARN) of the Key Management Service key used to + * encrypt the environment.

      + */ + inline const Aws::String& GetKmsKeyArn() const{ return m_kmsKeyArn; } + + /** + *

      The Amazon Resource Name (ARN) of the Key Management Service key used to + * encrypt the environment.

      + */ + inline bool KmsKeyArnHasBeenSet() const { return m_kmsKeyArnHasBeenSet; } + + /** + *

      The Amazon Resource Name (ARN) of the Key Management Service key used to + * encrypt the environment.

      + */ + inline void SetKmsKeyArn(const Aws::String& value) { m_kmsKeyArnHasBeenSet = true; m_kmsKeyArn = value; } + + /** + *

      The Amazon Resource Name (ARN) of the Key Management Service key used to + * encrypt the environment.

      + */ + inline void SetKmsKeyArn(Aws::String&& value) { m_kmsKeyArnHasBeenSet = true; m_kmsKeyArn = std::move(value); } + + /** + *

      The Amazon Resource Name (ARN) of the Key Management Service key used to + * encrypt the environment.

      + */ + inline void SetKmsKeyArn(const char* value) { m_kmsKeyArnHasBeenSet = true; m_kmsKeyArn.assign(value); } + + /** + *

      The Amazon Resource Name (ARN) of the Key Management Service key used to + * encrypt the environment.

      + */ + inline Environment& WithKmsKeyArn(const Aws::String& value) { SetKmsKeyArn(value); return *this;} + + /** + *

      The Amazon Resource Name (ARN) of the Key Management Service key used to + * encrypt the environment.

      + */ + inline Environment& WithKmsKeyArn(Aws::String&& value) { SetKmsKeyArn(std::move(value)); return *this;} + + /** + *

      The Amazon Resource Name (ARN) of the Key Management Service key used to + * encrypt the environment.

      + */ + inline Environment& WithKmsKeyArn(const char* value) { SetKmsKeyArn(value); return *this;} + + + /** + *

      The tag keys and optional values for the resource.

      + */ + inline const EmbeddedTag& GetTags() const{ return m_tags; } + + /** + *

      The tag keys and optional values for the resource.

      + */ + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + + /** + *

      The tag keys and optional values for the resource.

      + */ + inline void SetTags(const EmbeddedTag& value) { m_tagsHasBeenSet = true; m_tags = value; } + + /** + *

      The tag keys and optional values for the resource.

      + */ + inline void SetTags(EmbeddedTag&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } + + /** + *

      The tag keys and optional values for the resource.

      + */ + inline Environment& WithTags(const EmbeddedTag& value) { SetTags(value); return *this;} + + /** + *

      The tag keys and optional values for the resource.

      + */ + inline Environment& WithTags(EmbeddedTag&& value) { SetTags(std::move(value)); return *this;} + + private: + + Aws::String m_id; + bool m_idHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::String m_desktopArn; + bool m_desktopArnHasBeenSet = false; + + Aws::String m_desktopEndpoint; + bool m_desktopEndpointHasBeenSet = false; + + DesktopType m_desktopType; + bool m_desktopTypeHasBeenSet = false; + + Aws::String m_activationCode; + bool m_activationCodeHasBeenSet = false; + + int m_registeredDevicesCount; + bool m_registeredDevicesCountHasBeenSet = false; + + SoftwareSetUpdateSchedule m_softwareSetUpdateSchedule; + bool m_softwareSetUpdateScheduleHasBeenSet = false; + + MaintenanceWindow m_maintenanceWindow; + bool m_maintenanceWindowHasBeenSet = false; + + SoftwareSetUpdateMode m_softwareSetUpdateMode; + bool m_softwareSetUpdateModeHasBeenSet = false; + + Aws::String m_desiredSoftwareSetId; + bool m_desiredSoftwareSetIdHasBeenSet = false; + + Aws::String m_pendingSoftwareSetId; + bool m_pendingSoftwareSetIdHasBeenSet = false; + + Aws::String m_pendingSoftwareSetVersion; + bool m_pendingSoftwareSetVersionHasBeenSet = false; + + EnvironmentSoftwareSetComplianceStatus m_softwareSetComplianceStatus; + bool m_softwareSetComplianceStatusHasBeenSet = false; + + Aws::Utils::DateTime m_createdAt; + bool m_createdAtHasBeenSet = false; + + Aws::Utils::DateTime m_updatedAt; + bool m_updatedAtHasBeenSet = false; + + Aws::String m_arn; + bool m_arnHasBeenSet = false; + + Aws::String m_kmsKeyArn; + bool m_kmsKeyArnHasBeenSet = false; + + EmbeddedTag m_tags; + bool m_tagsHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/EnvironmentSoftwareSetComplianceStatus.h b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/EnvironmentSoftwareSetComplianceStatus.h new file mode 100644 index 00000000000..ca584cdb7aa --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/EnvironmentSoftwareSetComplianceStatus.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 WorkSpacesThinClient +{ +namespace Model +{ + enum class EnvironmentSoftwareSetComplianceStatus + { + NOT_SET, + NO_REGISTERED_DEVICES, + COMPLIANT, + NOT_COMPLIANT + }; + +namespace EnvironmentSoftwareSetComplianceStatusMapper +{ +AWS_WORKSPACESTHINCLIENT_API EnvironmentSoftwareSetComplianceStatus GetEnvironmentSoftwareSetComplianceStatusForName(const Aws::String& name); + +AWS_WORKSPACESTHINCLIENT_API Aws::String GetNameForEnvironmentSoftwareSetComplianceStatus(EnvironmentSoftwareSetComplianceStatus value); +} // namespace EnvironmentSoftwareSetComplianceStatusMapper +} // namespace Model +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/EnvironmentSummary.h b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/EnvironmentSummary.h new file mode 100644 index 00000000000..17ce33b0cee --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/EnvironmentSummary.h @@ -0,0 +1,662 @@ +/** + * 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 WorkSpacesThinClient +{ +namespace Model +{ + + /** + *

      Describes an environment.

      See Also:

      AWS + * API Reference

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

      The ID of the environment.

      + */ + inline const Aws::String& GetId() const{ return m_id; } + + /** + *

      The ID of the environment.

      + */ + inline bool IdHasBeenSet() const { return m_idHasBeenSet; } + + /** + *

      The ID of the environment.

      + */ + inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } + + /** + *

      The ID of the environment.

      + */ + inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } + + /** + *

      The ID of the environment.

      + */ + inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } + + /** + *

      The ID of the environment.

      + */ + inline EnvironmentSummary& WithId(const Aws::String& value) { SetId(value); return *this;} + + /** + *

      The ID of the environment.

      + */ + inline EnvironmentSummary& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + + /** + *

      The ID of the environment.

      + */ + inline EnvironmentSummary& WithId(const char* value) { SetId(value); return *this;} + + + /** + *

      The name of the environment.

      + */ + inline const Aws::String& GetName() const{ return m_name; } + + /** + *

      The name of the environment.

      + */ + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + + /** + *

      The name of the environment.

      + */ + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + + /** + *

      The name of the environment.

      + */ + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + + /** + *

      The name of the environment.

      + */ + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + + /** + *

      The name of the environment.

      + */ + inline EnvironmentSummary& WithName(const Aws::String& value) { SetName(value); return *this;} + + /** + *

      The name of the environment.

      + */ + inline EnvironmentSummary& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + + /** + *

      The name of the environment.

      + */ + inline EnvironmentSummary& WithName(const char* value) { SetName(value); return *this;} + + + /** + *

      The Amazon Resource Name (ARN) of the desktop to stream from Amazon + * WorkSpaces, WorkSpaces Web, or AppStream 2.0.

      + */ + inline const Aws::String& GetDesktopArn() const{ return m_desktopArn; } + + /** + *

      The Amazon Resource Name (ARN) of the desktop to stream from Amazon + * WorkSpaces, WorkSpaces Web, or AppStream 2.0.

      + */ + inline bool DesktopArnHasBeenSet() const { return m_desktopArnHasBeenSet; } + + /** + *

      The Amazon Resource Name (ARN) of the desktop to stream from Amazon + * WorkSpaces, WorkSpaces Web, or AppStream 2.0.

      + */ + inline void SetDesktopArn(const Aws::String& value) { m_desktopArnHasBeenSet = true; m_desktopArn = value; } + + /** + *

      The Amazon Resource Name (ARN) of the desktop to stream from Amazon + * WorkSpaces, WorkSpaces Web, or AppStream 2.0.

      + */ + inline void SetDesktopArn(Aws::String&& value) { m_desktopArnHasBeenSet = true; m_desktopArn = std::move(value); } + + /** + *

      The Amazon Resource Name (ARN) of the desktop to stream from Amazon + * WorkSpaces, WorkSpaces Web, or AppStream 2.0.

      + */ + inline void SetDesktopArn(const char* value) { m_desktopArnHasBeenSet = true; m_desktopArn.assign(value); } + + /** + *

      The Amazon Resource Name (ARN) of the desktop to stream from Amazon + * WorkSpaces, WorkSpaces Web, or AppStream 2.0.

      + */ + inline EnvironmentSummary& WithDesktopArn(const Aws::String& value) { SetDesktopArn(value); return *this;} + + /** + *

      The Amazon Resource Name (ARN) of the desktop to stream from Amazon + * WorkSpaces, WorkSpaces Web, or AppStream 2.0.

      + */ + inline EnvironmentSummary& WithDesktopArn(Aws::String&& value) { SetDesktopArn(std::move(value)); return *this;} + + /** + *

      The Amazon Resource Name (ARN) of the desktop to stream from Amazon + * WorkSpaces, WorkSpaces Web, or AppStream 2.0.

      + */ + inline EnvironmentSummary& WithDesktopArn(const char* value) { SetDesktopArn(value); return *this;} + + + /** + *

      The URL for the identity provider login (only for environments that use + * AppStream 2.0).

      + */ + inline const Aws::String& GetDesktopEndpoint() const{ return m_desktopEndpoint; } + + /** + *

      The URL for the identity provider login (only for environments that use + * AppStream 2.0).

      + */ + inline bool DesktopEndpointHasBeenSet() const { return m_desktopEndpointHasBeenSet; } + + /** + *

      The URL for the identity provider login (only for environments that use + * AppStream 2.0).

      + */ + inline void SetDesktopEndpoint(const Aws::String& value) { m_desktopEndpointHasBeenSet = true; m_desktopEndpoint = value; } + + /** + *

      The URL for the identity provider login (only for environments that use + * AppStream 2.0).

      + */ + inline void SetDesktopEndpoint(Aws::String&& value) { m_desktopEndpointHasBeenSet = true; m_desktopEndpoint = std::move(value); } + + /** + *

      The URL for the identity provider login (only for environments that use + * AppStream 2.0).

      + */ + inline void SetDesktopEndpoint(const char* value) { m_desktopEndpointHasBeenSet = true; m_desktopEndpoint.assign(value); } + + /** + *

      The URL for the identity provider login (only for environments that use + * AppStream 2.0).

      + */ + inline EnvironmentSummary& WithDesktopEndpoint(const Aws::String& value) { SetDesktopEndpoint(value); return *this;} + + /** + *

      The URL for the identity provider login (only for environments that use + * AppStream 2.0).

      + */ + inline EnvironmentSummary& WithDesktopEndpoint(Aws::String&& value) { SetDesktopEndpoint(std::move(value)); return *this;} + + /** + *

      The URL for the identity provider login (only for environments that use + * AppStream 2.0).

      + */ + inline EnvironmentSummary& WithDesktopEndpoint(const char* value) { SetDesktopEndpoint(value); return *this;} + + + /** + *

      The type of streaming desktop for the environment.

      + */ + inline const DesktopType& GetDesktopType() const{ return m_desktopType; } + + /** + *

      The type of streaming desktop for the environment.

      + */ + inline bool DesktopTypeHasBeenSet() const { return m_desktopTypeHasBeenSet; } + + /** + *

      The type of streaming desktop for the environment.

      + */ + inline void SetDesktopType(const DesktopType& value) { m_desktopTypeHasBeenSet = true; m_desktopType = value; } + + /** + *

      The type of streaming desktop for the environment.

      + */ + inline void SetDesktopType(DesktopType&& value) { m_desktopTypeHasBeenSet = true; m_desktopType = std::move(value); } + + /** + *

      The type of streaming desktop for the environment.

      + */ + inline EnvironmentSummary& WithDesktopType(const DesktopType& value) { SetDesktopType(value); return *this;} + + /** + *

      The type of streaming desktop for the environment.

      + */ + inline EnvironmentSummary& WithDesktopType(DesktopType&& value) { SetDesktopType(std::move(value)); return *this;} + + + /** + *

      The activation code to register a device to the environment.

      + */ + inline const Aws::String& GetActivationCode() const{ return m_activationCode; } + + /** + *

      The activation code to register a device to the environment.

      + */ + inline bool ActivationCodeHasBeenSet() const { return m_activationCodeHasBeenSet; } + + /** + *

      The activation code to register a device to the environment.

      + */ + inline void SetActivationCode(const Aws::String& value) { m_activationCodeHasBeenSet = true; m_activationCode = value; } + + /** + *

      The activation code to register a device to the environment.

      + */ + inline void SetActivationCode(Aws::String&& value) { m_activationCodeHasBeenSet = true; m_activationCode = std::move(value); } + + /** + *

      The activation code to register a device to the environment.

      + */ + inline void SetActivationCode(const char* value) { m_activationCodeHasBeenSet = true; m_activationCode.assign(value); } + + /** + *

      The activation code to register a device to the environment.

      + */ + inline EnvironmentSummary& WithActivationCode(const Aws::String& value) { SetActivationCode(value); return *this;} + + /** + *

      The activation code to register a device to the environment.

      + */ + inline EnvironmentSummary& WithActivationCode(Aws::String&& value) { SetActivationCode(std::move(value)); return *this;} + + /** + *

      The activation code to register a device to the environment.

      + */ + inline EnvironmentSummary& WithActivationCode(const char* value) { SetActivationCode(value); return *this;} + + + /** + *

      An option to define if software updates should be applied within a + * maintenance window.

      + */ + inline const SoftwareSetUpdateSchedule& GetSoftwareSetUpdateSchedule() const{ return m_softwareSetUpdateSchedule; } + + /** + *

      An option to define if software updates should be applied within a + * maintenance window.

      + */ + inline bool SoftwareSetUpdateScheduleHasBeenSet() const { return m_softwareSetUpdateScheduleHasBeenSet; } + + /** + *

      An option to define if software updates should be applied within a + * maintenance window.

      + */ + inline void SetSoftwareSetUpdateSchedule(const SoftwareSetUpdateSchedule& value) { m_softwareSetUpdateScheduleHasBeenSet = true; m_softwareSetUpdateSchedule = value; } + + /** + *

      An option to define if software updates should be applied within a + * maintenance window.

      + */ + inline void SetSoftwareSetUpdateSchedule(SoftwareSetUpdateSchedule&& value) { m_softwareSetUpdateScheduleHasBeenSet = true; m_softwareSetUpdateSchedule = std::move(value); } + + /** + *

      An option to define if software updates should be applied within a + * maintenance window.

      + */ + inline EnvironmentSummary& WithSoftwareSetUpdateSchedule(const SoftwareSetUpdateSchedule& value) { SetSoftwareSetUpdateSchedule(value); return *this;} + + /** + *

      An option to define if software updates should be applied within a + * maintenance window.

      + */ + inline EnvironmentSummary& WithSoftwareSetUpdateSchedule(SoftwareSetUpdateSchedule&& value) { SetSoftwareSetUpdateSchedule(std::move(value)); return *this;} + + + /** + *

      A specification for a time window to apply software updates.

      + */ + inline const MaintenanceWindow& GetMaintenanceWindow() const{ return m_maintenanceWindow; } + + /** + *

      A specification for a time window to apply software updates.

      + */ + inline bool MaintenanceWindowHasBeenSet() const { return m_maintenanceWindowHasBeenSet; } + + /** + *

      A specification for a time window to apply software updates.

      + */ + inline void SetMaintenanceWindow(const MaintenanceWindow& value) { m_maintenanceWindowHasBeenSet = true; m_maintenanceWindow = value; } + + /** + *

      A specification for a time window to apply software updates.

      + */ + inline void SetMaintenanceWindow(MaintenanceWindow&& value) { m_maintenanceWindowHasBeenSet = true; m_maintenanceWindow = std::move(value); } + + /** + *

      A specification for a time window to apply software updates.

      + */ + inline EnvironmentSummary& WithMaintenanceWindow(const MaintenanceWindow& value) { SetMaintenanceWindow(value); return *this;} + + /** + *

      A specification for a time window to apply software updates.

      + */ + inline EnvironmentSummary& WithMaintenanceWindow(MaintenanceWindow&& value) { SetMaintenanceWindow(std::move(value)); return *this;} + + + /** + *

      An option to define which software updates to apply.

      + */ + inline const SoftwareSetUpdateMode& GetSoftwareSetUpdateMode() const{ return m_softwareSetUpdateMode; } + + /** + *

      An option to define which software updates to apply.

      + */ + inline bool SoftwareSetUpdateModeHasBeenSet() const { return m_softwareSetUpdateModeHasBeenSet; } + + /** + *

      An option to define which software updates to apply.

      + */ + inline void SetSoftwareSetUpdateMode(const SoftwareSetUpdateMode& value) { m_softwareSetUpdateModeHasBeenSet = true; m_softwareSetUpdateMode = value; } + + /** + *

      An option to define which software updates to apply.

      + */ + inline void SetSoftwareSetUpdateMode(SoftwareSetUpdateMode&& value) { m_softwareSetUpdateModeHasBeenSet = true; m_softwareSetUpdateMode = std::move(value); } + + /** + *

      An option to define which software updates to apply.

      + */ + inline EnvironmentSummary& WithSoftwareSetUpdateMode(const SoftwareSetUpdateMode& value) { SetSoftwareSetUpdateMode(value); return *this;} + + /** + *

      An option to define which software updates to apply.

      + */ + inline EnvironmentSummary& WithSoftwareSetUpdateMode(SoftwareSetUpdateMode&& value) { SetSoftwareSetUpdateMode(std::move(value)); return *this;} + + + /** + *

      The ID of the software set to apply.

      + */ + inline const Aws::String& GetDesiredSoftwareSetId() const{ return m_desiredSoftwareSetId; } + + /** + *

      The ID of the software set to apply.

      + */ + inline bool DesiredSoftwareSetIdHasBeenSet() const { return m_desiredSoftwareSetIdHasBeenSet; } + + /** + *

      The ID of the software set to apply.

      + */ + inline void SetDesiredSoftwareSetId(const Aws::String& value) { m_desiredSoftwareSetIdHasBeenSet = true; m_desiredSoftwareSetId = value; } + + /** + *

      The ID of the software set to apply.

      + */ + inline void SetDesiredSoftwareSetId(Aws::String&& value) { m_desiredSoftwareSetIdHasBeenSet = true; m_desiredSoftwareSetId = std::move(value); } + + /** + *

      The ID of the software set to apply.

      + */ + inline void SetDesiredSoftwareSetId(const char* value) { m_desiredSoftwareSetIdHasBeenSet = true; m_desiredSoftwareSetId.assign(value); } + + /** + *

      The ID of the software set to apply.

      + */ + inline EnvironmentSummary& WithDesiredSoftwareSetId(const Aws::String& value) { SetDesiredSoftwareSetId(value); return *this;} + + /** + *

      The ID of the software set to apply.

      + */ + inline EnvironmentSummary& WithDesiredSoftwareSetId(Aws::String&& value) { SetDesiredSoftwareSetId(std::move(value)); return *this;} + + /** + *

      The ID of the software set to apply.

      + */ + inline EnvironmentSummary& WithDesiredSoftwareSetId(const char* value) { SetDesiredSoftwareSetId(value); return *this;} + + + /** + *

      The ID of the software set that is pending to be installed.

      + */ + inline const Aws::String& GetPendingSoftwareSetId() const{ return m_pendingSoftwareSetId; } + + /** + *

      The ID of the software set that is pending to be installed.

      + */ + inline bool PendingSoftwareSetIdHasBeenSet() const { return m_pendingSoftwareSetIdHasBeenSet; } + + /** + *

      The ID of the software set that is pending to be installed.

      + */ + inline void SetPendingSoftwareSetId(const Aws::String& value) { m_pendingSoftwareSetIdHasBeenSet = true; m_pendingSoftwareSetId = value; } + + /** + *

      The ID of the software set that is pending to be installed.

      + */ + inline void SetPendingSoftwareSetId(Aws::String&& value) { m_pendingSoftwareSetIdHasBeenSet = true; m_pendingSoftwareSetId = std::move(value); } + + /** + *

      The ID of the software set that is pending to be installed.

      + */ + inline void SetPendingSoftwareSetId(const char* value) { m_pendingSoftwareSetIdHasBeenSet = true; m_pendingSoftwareSetId.assign(value); } + + /** + *

      The ID of the software set that is pending to be installed.

      + */ + inline EnvironmentSummary& WithPendingSoftwareSetId(const Aws::String& value) { SetPendingSoftwareSetId(value); return *this;} + + /** + *

      The ID of the software set that is pending to be installed.

      + */ + inline EnvironmentSummary& WithPendingSoftwareSetId(Aws::String&& value) { SetPendingSoftwareSetId(std::move(value)); return *this;} + + /** + *

      The ID of the software set that is pending to be installed.

      + */ + inline EnvironmentSummary& WithPendingSoftwareSetId(const char* value) { SetPendingSoftwareSetId(value); return *this;} + + + /** + *

      The timestamp of when the environment was created.

      + */ + inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } + + /** + *

      The timestamp of when the environment was created.

      + */ + inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } + + /** + *

      The timestamp of when the environment was created.

      + */ + inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAtHasBeenSet = true; m_createdAt = value; } + + /** + *

      The timestamp of when the environment was created.

      + */ + inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::move(value); } + + /** + *

      The timestamp of when the environment was created.

      + */ + inline EnvironmentSummary& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} + + /** + *

      The timestamp of when the environment was created.

      + */ + inline EnvironmentSummary& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} + + + /** + *

      The timestamp of when the device was updated.

      + */ + inline const Aws::Utils::DateTime& GetUpdatedAt() const{ return m_updatedAt; } + + /** + *

      The timestamp of when the device was updated.

      + */ + inline bool UpdatedAtHasBeenSet() const { return m_updatedAtHasBeenSet; } + + /** + *

      The timestamp of when the device was updated.

      + */ + inline void SetUpdatedAt(const Aws::Utils::DateTime& value) { m_updatedAtHasBeenSet = true; m_updatedAt = value; } + + /** + *

      The timestamp of when the device was updated.

      + */ + inline void SetUpdatedAt(Aws::Utils::DateTime&& value) { m_updatedAtHasBeenSet = true; m_updatedAt = std::move(value); } + + /** + *

      The timestamp of when the device was updated.

      + */ + inline EnvironmentSummary& WithUpdatedAt(const Aws::Utils::DateTime& value) { SetUpdatedAt(value); return *this;} + + /** + *

      The timestamp of when the device was updated.

      + */ + inline EnvironmentSummary& WithUpdatedAt(Aws::Utils::DateTime&& value) { SetUpdatedAt(std::move(value)); return *this;} + + + /** + *

      The Amazon Resource Name (ARN) of the environment.

      + */ + inline const Aws::String& GetArn() const{ return m_arn; } + + /** + *

      The Amazon Resource Name (ARN) of the environment.

      + */ + inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } + + /** + *

      The Amazon Resource Name (ARN) of the environment.

      + */ + inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } + + /** + *

      The Amazon Resource Name (ARN) of the environment.

      + */ + inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } + + /** + *

      The Amazon Resource Name (ARN) of the environment.

      + */ + inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } + + /** + *

      The Amazon Resource Name (ARN) of the environment.

      + */ + inline EnvironmentSummary& WithArn(const Aws::String& value) { SetArn(value); return *this;} + + /** + *

      The Amazon Resource Name (ARN) of the environment.

      + */ + inline EnvironmentSummary& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} + + /** + *

      The Amazon Resource Name (ARN) of the environment.

      + */ + inline EnvironmentSummary& WithArn(const char* value) { SetArn(value); return *this;} + + + /** + *

      The tag keys and optional values for the resource.

      + */ + inline const EmbeddedTag& GetTags() const{ return m_tags; } + + /** + *

      The tag keys and optional values for the resource.

      + */ + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + + /** + *

      The tag keys and optional values for the resource.

      + */ + inline void SetTags(const EmbeddedTag& value) { m_tagsHasBeenSet = true; m_tags = value; } + + /** + *

      The tag keys and optional values for the resource.

      + */ + inline void SetTags(EmbeddedTag&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } + + /** + *

      The tag keys and optional values for the resource.

      + */ + inline EnvironmentSummary& WithTags(const EmbeddedTag& value) { SetTags(value); return *this;} + + /** + *

      The tag keys and optional values for the resource.

      + */ + inline EnvironmentSummary& WithTags(EmbeddedTag&& value) { SetTags(std::move(value)); return *this;} + + private: + + Aws::String m_id; + bool m_idHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::String m_desktopArn; + bool m_desktopArnHasBeenSet = false; + + Aws::String m_desktopEndpoint; + bool m_desktopEndpointHasBeenSet = false; + + DesktopType m_desktopType; + bool m_desktopTypeHasBeenSet = false; + + Aws::String m_activationCode; + bool m_activationCodeHasBeenSet = false; + + SoftwareSetUpdateSchedule m_softwareSetUpdateSchedule; + bool m_softwareSetUpdateScheduleHasBeenSet = false; + + MaintenanceWindow m_maintenanceWindow; + bool m_maintenanceWindowHasBeenSet = false; + + SoftwareSetUpdateMode m_softwareSetUpdateMode; + bool m_softwareSetUpdateModeHasBeenSet = false; + + Aws::String m_desiredSoftwareSetId; + bool m_desiredSoftwareSetIdHasBeenSet = false; + + Aws::String m_pendingSoftwareSetId; + bool m_pendingSoftwareSetIdHasBeenSet = false; + + Aws::Utils::DateTime m_createdAt; + bool m_createdAtHasBeenSet = false; + + Aws::Utils::DateTime m_updatedAt; + bool m_updatedAtHasBeenSet = false; + + Aws::String m_arn; + bool m_arnHasBeenSet = false; + + EmbeddedTag m_tags; + bool m_tagsHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/GetDeviceRequest.h b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/GetDeviceRequest.h new file mode 100644 index 00000000000..65eaaeb3afc --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/GetDeviceRequest.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 +#include + +namespace Aws +{ +namespace WorkSpacesThinClient +{ +namespace Model +{ + + /** + */ + class GetDeviceRequest : public WorkSpacesThinClientRequest + { + public: + AWS_WORKSPACESTHINCLIENT_API GetDeviceRequest(); + + // 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 "GetDevice"; } + + AWS_WORKSPACESTHINCLIENT_API Aws::String SerializePayload() const override; + + + /** + *

      The ID of the device for which to return information.

      + */ + inline const Aws::String& GetId() const{ return m_id; } + + /** + *

      The ID of the device for which to return information.

      + */ + inline bool IdHasBeenSet() const { return m_idHasBeenSet; } + + /** + *

      The ID of the device for which to return information.

      + */ + inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } + + /** + *

      The ID of the device for which to return information.

      + */ + inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } + + /** + *

      The ID of the device for which to return information.

      + */ + inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } + + /** + *

      The ID of the device for which to return information.

      + */ + inline GetDeviceRequest& WithId(const Aws::String& value) { SetId(value); return *this;} + + /** + *

      The ID of the device for which to return information.

      + */ + inline GetDeviceRequest& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + + /** + *

      The ID of the device for which to return information.

      + */ + inline GetDeviceRequest& WithId(const char* value) { SetId(value); return *this;} + + private: + + Aws::String m_id; + bool m_idHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/GetDeviceResult.h b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/GetDeviceResult.h new file mode 100644 index 00000000000..b8fbe00a64b --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/GetDeviceResult.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 + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace WorkSpacesThinClient +{ +namespace Model +{ + class GetDeviceResult + { + public: + AWS_WORKSPACESTHINCLIENT_API GetDeviceResult(); + AWS_WORKSPACESTHINCLIENT_API GetDeviceResult(const Aws::AmazonWebServiceResult& result); + AWS_WORKSPACESTHINCLIENT_API GetDeviceResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

      Describes an device.

      + */ + inline const Device& GetDevice() const{ return m_device; } + + /** + *

      Describes an device.

      + */ + inline void SetDevice(const Device& value) { m_device = value; } + + /** + *

      Describes an device.

      + */ + inline void SetDevice(Device&& value) { m_device = std::move(value); } + + /** + *

      Describes an device.

      + */ + inline GetDeviceResult& WithDevice(const Device& value) { SetDevice(value); return *this;} + + /** + *

      Describes an device.

      + */ + inline GetDeviceResult& WithDevice(Device&& value) { SetDevice(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 GetDeviceResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline GetDeviceResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline GetDeviceResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Device m_device; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/GetEnvironmentRequest.h b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/GetEnvironmentRequest.h new file mode 100644 index 00000000000..918c63657ef --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/GetEnvironmentRequest.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 +#include + +namespace Aws +{ +namespace WorkSpacesThinClient +{ +namespace Model +{ + + /** + */ + class GetEnvironmentRequest : public WorkSpacesThinClientRequest + { + public: + AWS_WORKSPACESTHINCLIENT_API GetEnvironmentRequest(); + + // 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 "GetEnvironment"; } + + AWS_WORKSPACESTHINCLIENT_API Aws::String SerializePayload() const override; + + + /** + *

      The ID of the environment for which to return information.

      + */ + inline const Aws::String& GetId() const{ return m_id; } + + /** + *

      The ID of the environment for which to return information.

      + */ + inline bool IdHasBeenSet() const { return m_idHasBeenSet; } + + /** + *

      The ID of the environment for which to return information.

      + */ + inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } + + /** + *

      The ID of the environment for which to return information.

      + */ + inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } + + /** + *

      The ID of the environment for which to return information.

      + */ + inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } + + /** + *

      The ID of the environment for which to return information.

      + */ + inline GetEnvironmentRequest& WithId(const Aws::String& value) { SetId(value); return *this;} + + /** + *

      The ID of the environment for which to return information.

      + */ + inline GetEnvironmentRequest& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + + /** + *

      The ID of the environment for which to return information.

      + */ + inline GetEnvironmentRequest& WithId(const char* value) { SetId(value); return *this;} + + private: + + Aws::String m_id; + bool m_idHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/GetEnvironmentResult.h b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/GetEnvironmentResult.h new file mode 100644 index 00000000000..227cd1e6598 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/GetEnvironmentResult.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 + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace WorkSpacesThinClient +{ +namespace Model +{ + class GetEnvironmentResult + { + public: + AWS_WORKSPACESTHINCLIENT_API GetEnvironmentResult(); + AWS_WORKSPACESTHINCLIENT_API GetEnvironmentResult(const Aws::AmazonWebServiceResult& result); + AWS_WORKSPACESTHINCLIENT_API GetEnvironmentResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

      Describes an environment.

      + */ + inline const Environment& GetEnvironment() const{ return m_environment; } + + /** + *

      Describes an environment.

      + */ + inline void SetEnvironment(const Environment& value) { m_environment = value; } + + /** + *

      Describes an environment.

      + */ + inline void SetEnvironment(Environment&& value) { m_environment = std::move(value); } + + /** + *

      Describes an environment.

      + */ + inline GetEnvironmentResult& WithEnvironment(const Environment& value) { SetEnvironment(value); return *this;} + + /** + *

      Describes an environment.

      + */ + inline GetEnvironmentResult& WithEnvironment(Environment&& value) { SetEnvironment(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 GetEnvironmentResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline GetEnvironmentResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline GetEnvironmentResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Environment m_environment; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/GetSoftwareSetRequest.h b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/GetSoftwareSetRequest.h new file mode 100644 index 00000000000..34d78cf9303 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/GetSoftwareSetRequest.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 +#include + +namespace Aws +{ +namespace WorkSpacesThinClient +{ +namespace Model +{ + + /** + */ + class GetSoftwareSetRequest : public WorkSpacesThinClientRequest + { + public: + AWS_WORKSPACESTHINCLIENT_API GetSoftwareSetRequest(); + + // 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 "GetSoftwareSet"; } + + AWS_WORKSPACESTHINCLIENT_API Aws::String SerializePayload() const override; + + + /** + *

      The ID of the software set for which to return information.

      + */ + inline const Aws::String& GetId() const{ return m_id; } + + /** + *

      The ID of the software set for which to return information.

      + */ + inline bool IdHasBeenSet() const { return m_idHasBeenSet; } + + /** + *

      The ID of the software set for which to return information.

      + */ + inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } + + /** + *

      The ID of the software set for which to return information.

      + */ + inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } + + /** + *

      The ID of the software set for which to return information.

      + */ + inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } + + /** + *

      The ID of the software set for which to return information.

      + */ + inline GetSoftwareSetRequest& WithId(const Aws::String& value) { SetId(value); return *this;} + + /** + *

      The ID of the software set for which to return information.

      + */ + inline GetSoftwareSetRequest& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + + /** + *

      The ID of the software set for which to return information.

      + */ + inline GetSoftwareSetRequest& WithId(const char* value) { SetId(value); return *this;} + + private: + + Aws::String m_id; + bool m_idHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/GetSoftwareSetResult.h b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/GetSoftwareSetResult.h new file mode 100644 index 00000000000..1c5cb718f4a --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/GetSoftwareSetResult.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 + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace WorkSpacesThinClient +{ +namespace Model +{ + class GetSoftwareSetResult + { + public: + AWS_WORKSPACESTHINCLIENT_API GetSoftwareSetResult(); + AWS_WORKSPACESTHINCLIENT_API GetSoftwareSetResult(const Aws::AmazonWebServiceResult& result); + AWS_WORKSPACESTHINCLIENT_API GetSoftwareSetResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

      Describes a software set.

      + */ + inline const SoftwareSet& GetSoftwareSet() const{ return m_softwareSet; } + + /** + *

      Describes a software set.

      + */ + inline void SetSoftwareSet(const SoftwareSet& value) { m_softwareSet = value; } + + /** + *

      Describes a software set.

      + */ + inline void SetSoftwareSet(SoftwareSet&& value) { m_softwareSet = std::move(value); } + + /** + *

      Describes a software set.

      + */ + inline GetSoftwareSetResult& WithSoftwareSet(const SoftwareSet& value) { SetSoftwareSet(value); return *this;} + + /** + *

      Describes a software set.

      + */ + inline GetSoftwareSetResult& WithSoftwareSet(SoftwareSet&& value) { SetSoftwareSet(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 GetSoftwareSetResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline GetSoftwareSetResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline GetSoftwareSetResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + SoftwareSet m_softwareSet; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/InternalServerException.h b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/InternalServerException.h new file mode 100644 index 00000000000..b11ec652b27 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/InternalServerException.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 WorkSpacesThinClient +{ +namespace Model +{ + + /** + *

      The server encountered an internal error and is unable to complete the + * request.

      See Also:

      AWS + * API Reference

      + */ + class InternalServerException + { + public: + AWS_WORKSPACESTHINCLIENT_API InternalServerException(); + AWS_WORKSPACESTHINCLIENT_API InternalServerException(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESTHINCLIENT_API InternalServerException& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESTHINCLIENT_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 number of seconds to wait before retrying the next request.

      + */ + inline int GetRetryAfterSeconds() const{ return m_retryAfterSeconds; } + + /** + *

      The number of seconds to wait before retrying the next request.

      + */ + inline bool RetryAfterSecondsHasBeenSet() const { return m_retryAfterSecondsHasBeenSet; } + + /** + *

      The number of seconds to wait before retrying the next request.

      + */ + inline void SetRetryAfterSeconds(int value) { m_retryAfterSecondsHasBeenSet = true; m_retryAfterSeconds = value; } + + /** + *

      The number of seconds to wait before retrying the next request.

      + */ + inline InternalServerException& WithRetryAfterSeconds(int value) { SetRetryAfterSeconds(value); return *this;} + + private: + + Aws::String m_message; + bool m_messageHasBeenSet = false; + + int m_retryAfterSeconds; + bool m_retryAfterSecondsHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/InternalServiceException.h b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/InternalServiceException.h new file mode 100644 index 00000000000..875b9cbb411 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/InternalServiceException.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 WorkSpacesThinClient +{ +namespace Model +{ + + /** + *

      Request processing failed due to some unknown error, exception, or + * failure.

      See Also:

      AWS + * API Reference

      + */ + class InternalServiceException + { + public: + AWS_WORKSPACESTHINCLIENT_API InternalServiceException(); + AWS_WORKSPACESTHINCLIENT_API InternalServiceException(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESTHINCLIENT_API InternalServiceException& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESTHINCLIENT_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 InternalServiceException& WithMessage(const Aws::String& value) { SetMessage(value); return *this;} + + + inline InternalServiceException& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;} + + + inline InternalServiceException& WithMessage(const char* value) { SetMessage(value); return *this;} + + + /** + *

      The number of seconds to wait before retrying the next request.

      + */ + inline int GetRetryAfterSeconds() const{ return m_retryAfterSeconds; } + + /** + *

      The number of seconds to wait before retrying the next request.

      + */ + inline bool RetryAfterSecondsHasBeenSet() const { return m_retryAfterSecondsHasBeenSet; } + + /** + *

      The number of seconds to wait before retrying the next request.

      + */ + inline void SetRetryAfterSeconds(int value) { m_retryAfterSecondsHasBeenSet = true; m_retryAfterSeconds = value; } + + /** + *

      The number of seconds to wait before retrying the next request.

      + */ + inline InternalServiceException& WithRetryAfterSeconds(int value) { SetRetryAfterSeconds(value); return *this;} + + private: + + Aws::String m_message; + bool m_messageHasBeenSet = false; + + int m_retryAfterSeconds; + bool m_retryAfterSecondsHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/ListDevicesRequest.h b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/ListDevicesRequest.h new file mode 100644 index 00000000000..0878d1ee0e1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/ListDevicesRequest.h @@ -0,0 +1,165 @@ +/** + * 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 WorkSpacesThinClient +{ +namespace Model +{ + + /** + */ + class ListDevicesRequest : public WorkSpacesThinClientRequest + { + public: + AWS_WORKSPACESTHINCLIENT_API ListDevicesRequest(); + + // 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 "ListDevices"; } + + AWS_WORKSPACESTHINCLIENT_API Aws::String SerializePayload() const override; + + AWS_WORKSPACESTHINCLIENT_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + /** + *

      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. Keep all + * other arguments unchanged. Each pagination token expires after 24 hours. Using + * an expired pagination token will return an HTTP 400 InvalidToken + * error.

      + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + + /** + *

      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. Keep all + * other arguments unchanged. Each pagination token expires after 24 hours. Using + * an expired pagination token will return an HTTP 400 InvalidToken + * error.

      + */ + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + + /** + *

      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. Keep all + * other arguments unchanged. Each pagination token expires after 24 hours. Using + * an expired pagination token will return an HTTP 400 InvalidToken + * error.

      + */ + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + + /** + *

      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. Keep all + * other arguments unchanged. Each pagination token expires after 24 hours. Using + * an expired pagination token will return an HTTP 400 InvalidToken + * error.

      + */ + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + + /** + *

      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. Keep all + * other arguments unchanged. Each pagination token expires after 24 hours. Using + * an expired pagination token will return an HTTP 400 InvalidToken + * error.

      + */ + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + + /** + *

      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. Keep all + * other arguments unchanged. Each pagination token expires after 24 hours. Using + * an expired pagination token will return an HTTP 400 InvalidToken + * error.

      + */ + inline ListDevicesRequest& WithNextToken(const Aws::String& value) { SetNextToken(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. Keep all + * other arguments unchanged. Each pagination token expires after 24 hours. Using + * an expired pagination token will return an HTTP 400 InvalidToken + * error.

      + */ + inline ListDevicesRequest& WithNextToken(Aws::String&& value) { SetNextToken(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. Keep all + * other arguments unchanged. Each pagination token expires after 24 hours. Using + * an expired pagination token will return an HTTP 400 InvalidToken + * error.

      + */ + inline ListDevicesRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + + + /** + *

      The maximum number of results that are returned per call. You can use + * nextToken to obtain further pages of results.

      This is only + * an upper limit. The actual number of results returned per call might be fewer + * than the specified maximum.

      + */ + inline int GetMaxResults() const{ return m_maxResults; } + + /** + *

      The maximum number of results that are returned per call. You can use + * nextToken to obtain further pages of results.

      This is only + * an upper limit. The actual number of results returned per call might be fewer + * than the specified maximum.

      + */ + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + + /** + *

      The maximum number of results that are returned per call. You can use + * nextToken to obtain further pages of results.

      This is only + * an upper limit. The actual number of results returned per call might be fewer + * than the specified maximum.

      + */ + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + + /** + *

      The maximum number of results that are returned per call. You can use + * nextToken to obtain further pages of results.

      This is only + * an upper limit. The actual number of results returned per call might be fewer + * than the specified maximum.

      + */ + inline ListDevicesRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + + private: + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/ListDevicesResult.h b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/ListDevicesResult.h new file mode 100644 index 00000000000..2dd4636142d --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/ListDevicesResult.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 + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace WorkSpacesThinClient +{ +namespace Model +{ + class ListDevicesResult + { + public: + AWS_WORKSPACESTHINCLIENT_API ListDevicesResult(); + AWS_WORKSPACESTHINCLIENT_API ListDevicesResult(const Aws::AmazonWebServiceResult& result); + AWS_WORKSPACESTHINCLIENT_API ListDevicesResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

      Describes devices.

      + */ + inline const Aws::Vector& GetDevices() const{ return m_devices; } + + /** + *

      Describes devices.

      + */ + inline void SetDevices(const Aws::Vector& value) { m_devices = value; } + + /** + *

      Describes devices.

      + */ + inline void SetDevices(Aws::Vector&& value) { m_devices = std::move(value); } + + /** + *

      Describes devices.

      + */ + inline ListDevicesResult& WithDevices(const Aws::Vector& value) { SetDevices(value); return *this;} + + /** + *

      Describes devices.

      + */ + inline ListDevicesResult& WithDevices(Aws::Vector&& value) { SetDevices(std::move(value)); return *this;} + + /** + *

      Describes devices.

      + */ + inline ListDevicesResult& AddDevices(const DeviceSummary& value) { m_devices.push_back(value); return *this; } + + /** + *

      Describes devices.

      + */ + inline ListDevicesResult& AddDevices(DeviceSummary&& value) { m_devices.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. Keep all + * other arguments unchanged. Each pagination token expires after 24 hours. Using + * an expired pagination token will return an HTTP 400 InvalidToken + * error.

      + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + + /** + *

      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. Keep all + * other arguments unchanged. Each pagination token expires after 24 hours. Using + * an expired pagination token will return an HTTP 400 InvalidToken + * error.

      + */ + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + + /** + *

      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. Keep all + * other arguments unchanged. Each pagination token expires after 24 hours. Using + * an expired pagination token will return an HTTP 400 InvalidToken + * error.

      + */ + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + + /** + *

      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. Keep all + * other arguments unchanged. Each pagination token expires after 24 hours. Using + * an expired pagination token will return an HTTP 400 InvalidToken + * error.

      + */ + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + + /** + *

      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. Keep all + * other arguments unchanged. Each pagination token expires after 24 hours. Using + * an expired pagination token will return an HTTP 400 InvalidToken + * error.

      + */ + inline ListDevicesResult& WithNextToken(const Aws::String& value) { SetNextToken(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. Keep all + * other arguments unchanged. Each pagination token expires after 24 hours. Using + * an expired pagination token will return an HTTP 400 InvalidToken + * error.

      + */ + inline ListDevicesResult& WithNextToken(Aws::String&& value) { SetNextToken(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. Keep all + * other arguments unchanged. Each pagination token expires after 24 hours. Using + * an expired pagination token will return an HTTP 400 InvalidToken + * error.

      + */ + inline ListDevicesResult& 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 ListDevicesResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline ListDevicesResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline ListDevicesResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::Vector m_devices; + + Aws::String m_nextToken; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/ListEnvironmentsRequest.h b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/ListEnvironmentsRequest.h new file mode 100644 index 00000000000..cafd8ce6405 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/ListEnvironmentsRequest.h @@ -0,0 +1,165 @@ +/** + * 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 WorkSpacesThinClient +{ +namespace Model +{ + + /** + */ + class ListEnvironmentsRequest : public WorkSpacesThinClientRequest + { + public: + AWS_WORKSPACESTHINCLIENT_API ListEnvironmentsRequest(); + + // 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 "ListEnvironments"; } + + AWS_WORKSPACESTHINCLIENT_API Aws::String SerializePayload() const override; + + AWS_WORKSPACESTHINCLIENT_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + /** + *

      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. Keep all + * other arguments unchanged. Each pagination token expires after 24 hours. Using + * an expired pagination token will return an HTTP 400 InvalidToken + * error.

      + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + + /** + *

      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. Keep all + * other arguments unchanged. Each pagination token expires after 24 hours. Using + * an expired pagination token will return an HTTP 400 InvalidToken + * error.

      + */ + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + + /** + *

      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. Keep all + * other arguments unchanged. Each pagination token expires after 24 hours. Using + * an expired pagination token will return an HTTP 400 InvalidToken + * error.

      + */ + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + + /** + *

      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. Keep all + * other arguments unchanged. Each pagination token expires after 24 hours. Using + * an expired pagination token will return an HTTP 400 InvalidToken + * error.

      + */ + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + + /** + *

      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. Keep all + * other arguments unchanged. Each pagination token expires after 24 hours. Using + * an expired pagination token will return an HTTP 400 InvalidToken + * error.

      + */ + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + + /** + *

      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. Keep all + * other arguments unchanged. Each pagination token expires after 24 hours. Using + * an expired pagination token will return an HTTP 400 InvalidToken + * error.

      + */ + inline ListEnvironmentsRequest& WithNextToken(const Aws::String& value) { SetNextToken(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. Keep all + * other arguments unchanged. Each pagination token expires after 24 hours. Using + * an expired pagination token will return an HTTP 400 InvalidToken + * error.

      + */ + inline ListEnvironmentsRequest& WithNextToken(Aws::String&& value) { SetNextToken(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. Keep all + * other arguments unchanged. Each pagination token expires after 24 hours. Using + * an expired pagination token will return an HTTP 400 InvalidToken + * error.

      + */ + inline ListEnvironmentsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + + + /** + *

      The maximum number of results that are returned per call. You can use + * nextToken to obtain further pages of results.

      This is only + * an upper limit. The actual number of results returned per call might be fewer + * than the specified maximum.

      + */ + inline int GetMaxResults() const{ return m_maxResults; } + + /** + *

      The maximum number of results that are returned per call. You can use + * nextToken to obtain further pages of results.

      This is only + * an upper limit. The actual number of results returned per call might be fewer + * than the specified maximum.

      + */ + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + + /** + *

      The maximum number of results that are returned per call. You can use + * nextToken to obtain further pages of results.

      This is only + * an upper limit. The actual number of results returned per call might be fewer + * than the specified maximum.

      + */ + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + + /** + *

      The maximum number of results that are returned per call. You can use + * nextToken to obtain further pages of results.

      This is only + * an upper limit. The actual number of results returned per call might be fewer + * than the specified maximum.

      + */ + inline ListEnvironmentsRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + + private: + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/ListEnvironmentsResult.h b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/ListEnvironmentsResult.h new file mode 100644 index 00000000000..6ead2a5b6ad --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/ListEnvironmentsResult.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 + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace WorkSpacesThinClient +{ +namespace Model +{ + class ListEnvironmentsResult + { + public: + AWS_WORKSPACESTHINCLIENT_API ListEnvironmentsResult(); + AWS_WORKSPACESTHINCLIENT_API ListEnvironmentsResult(const Aws::AmazonWebServiceResult& result); + AWS_WORKSPACESTHINCLIENT_API ListEnvironmentsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

      Describes environments.

      + */ + inline const Aws::Vector& GetEnvironments() const{ return m_environments; } + + /** + *

      Describes environments.

      + */ + inline void SetEnvironments(const Aws::Vector& value) { m_environments = value; } + + /** + *

      Describes environments.

      + */ + inline void SetEnvironments(Aws::Vector&& value) { m_environments = std::move(value); } + + /** + *

      Describes environments.

      + */ + inline ListEnvironmentsResult& WithEnvironments(const Aws::Vector& value) { SetEnvironments(value); return *this;} + + /** + *

      Describes environments.

      + */ + inline ListEnvironmentsResult& WithEnvironments(Aws::Vector&& value) { SetEnvironments(std::move(value)); return *this;} + + /** + *

      Describes environments.

      + */ + inline ListEnvironmentsResult& AddEnvironments(const EnvironmentSummary& value) { m_environments.push_back(value); return *this; } + + /** + *

      Describes environments.

      + */ + inline ListEnvironmentsResult& AddEnvironments(EnvironmentSummary&& value) { m_environments.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. Keep all + * other arguments unchanged. Each pagination token expires after 24 hours. Using + * an expired pagination token will return an HTTP 400 InvalidToken + * error.

      + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + + /** + *

      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. Keep all + * other arguments unchanged. Each pagination token expires after 24 hours. Using + * an expired pagination token will return an HTTP 400 InvalidToken + * error.

      + */ + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + + /** + *

      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. Keep all + * other arguments unchanged. Each pagination token expires after 24 hours. Using + * an expired pagination token will return an HTTP 400 InvalidToken + * error.

      + */ + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + + /** + *

      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. Keep all + * other arguments unchanged. Each pagination token expires after 24 hours. Using + * an expired pagination token will return an HTTP 400 InvalidToken + * error.

      + */ + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + + /** + *

      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. Keep all + * other arguments unchanged. Each pagination token expires after 24 hours. Using + * an expired pagination token will return an HTTP 400 InvalidToken + * error.

      + */ + inline ListEnvironmentsResult& WithNextToken(const Aws::String& value) { SetNextToken(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. Keep all + * other arguments unchanged. Each pagination token expires after 24 hours. Using + * an expired pagination token will return an HTTP 400 InvalidToken + * error.

      + */ + inline ListEnvironmentsResult& WithNextToken(Aws::String&& value) { SetNextToken(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. Keep all + * other arguments unchanged. Each pagination token expires after 24 hours. Using + * an expired pagination token will return an HTTP 400 InvalidToken + * error.

      + */ + inline ListEnvironmentsResult& 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 ListEnvironmentsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline ListEnvironmentsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline ListEnvironmentsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::Vector m_environments; + + Aws::String m_nextToken; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/ListSoftwareSetsRequest.h b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/ListSoftwareSetsRequest.h new file mode 100644 index 00000000000..dcd6ab9a269 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/ListSoftwareSetsRequest.h @@ -0,0 +1,165 @@ +/** + * 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 WorkSpacesThinClient +{ +namespace Model +{ + + /** + */ + class ListSoftwareSetsRequest : public WorkSpacesThinClientRequest + { + public: + AWS_WORKSPACESTHINCLIENT_API ListSoftwareSetsRequest(); + + // 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 "ListSoftwareSets"; } + + AWS_WORKSPACESTHINCLIENT_API Aws::String SerializePayload() const override; + + AWS_WORKSPACESTHINCLIENT_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + /** + *

      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. Keep all + * other arguments unchanged. Each pagination token expires after 24 hours. Using + * an expired pagination token will return an HTTP 400 InvalidToken + * error.

      + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + + /** + *

      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. Keep all + * other arguments unchanged. Each pagination token expires after 24 hours. Using + * an expired pagination token will return an HTTP 400 InvalidToken + * error.

      + */ + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + + /** + *

      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. Keep all + * other arguments unchanged. Each pagination token expires after 24 hours. Using + * an expired pagination token will return an HTTP 400 InvalidToken + * error.

      + */ + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + + /** + *

      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. Keep all + * other arguments unchanged. Each pagination token expires after 24 hours. Using + * an expired pagination token will return an HTTP 400 InvalidToken + * error.

      + */ + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + + /** + *

      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. Keep all + * other arguments unchanged. Each pagination token expires after 24 hours. Using + * an expired pagination token will return an HTTP 400 InvalidToken + * error.

      + */ + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + + /** + *

      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. Keep all + * other arguments unchanged. Each pagination token expires after 24 hours. Using + * an expired pagination token will return an HTTP 400 InvalidToken + * error.

      + */ + inline ListSoftwareSetsRequest& WithNextToken(const Aws::String& value) { SetNextToken(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. Keep all + * other arguments unchanged. Each pagination token expires after 24 hours. Using + * an expired pagination token will return an HTTP 400 InvalidToken + * error.

      + */ + inline ListSoftwareSetsRequest& WithNextToken(Aws::String&& value) { SetNextToken(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. Keep all + * other arguments unchanged. Each pagination token expires after 24 hours. Using + * an expired pagination token will return an HTTP 400 InvalidToken + * error.

      + */ + inline ListSoftwareSetsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + + + /** + *

      The maximum number of results that are returned per call. You can use + * nextToken to obtain further pages of results.

      This is only + * an upper limit. The actual number of results returned per call might be fewer + * than the specified maximum.

      + */ + inline int GetMaxResults() const{ return m_maxResults; } + + /** + *

      The maximum number of results that are returned per call. You can use + * nextToken to obtain further pages of results.

      This is only + * an upper limit. The actual number of results returned per call might be fewer + * than the specified maximum.

      + */ + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + + /** + *

      The maximum number of results that are returned per call. You can use + * nextToken to obtain further pages of results.

      This is only + * an upper limit. The actual number of results returned per call might be fewer + * than the specified maximum.

      + */ + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + + /** + *

      The maximum number of results that are returned per call. You can use + * nextToken to obtain further pages of results.

      This is only + * an upper limit. The actual number of results returned per call might be fewer + * than the specified maximum.

      + */ + inline ListSoftwareSetsRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + + private: + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/ListSoftwareSetsResult.h b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/ListSoftwareSetsResult.h new file mode 100644 index 00000000000..78df861abd5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/ListSoftwareSetsResult.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 + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace WorkSpacesThinClient +{ +namespace Model +{ + class ListSoftwareSetsResult + { + public: + AWS_WORKSPACESTHINCLIENT_API ListSoftwareSetsResult(); + AWS_WORKSPACESTHINCLIENT_API ListSoftwareSetsResult(const Aws::AmazonWebServiceResult& result); + AWS_WORKSPACESTHINCLIENT_API ListSoftwareSetsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

      Describes software sets.

      + */ + inline const Aws::Vector& GetSoftwareSets() const{ return m_softwareSets; } + + /** + *

      Describes software sets.

      + */ + inline void SetSoftwareSets(const Aws::Vector& value) { m_softwareSets = value; } + + /** + *

      Describes software sets.

      + */ + inline void SetSoftwareSets(Aws::Vector&& value) { m_softwareSets = std::move(value); } + + /** + *

      Describes software sets.

      + */ + inline ListSoftwareSetsResult& WithSoftwareSets(const Aws::Vector& value) { SetSoftwareSets(value); return *this;} + + /** + *

      Describes software sets.

      + */ + inline ListSoftwareSetsResult& WithSoftwareSets(Aws::Vector&& value) { SetSoftwareSets(std::move(value)); return *this;} + + /** + *

      Describes software sets.

      + */ + inline ListSoftwareSetsResult& AddSoftwareSets(const SoftwareSetSummary& value) { m_softwareSets.push_back(value); return *this; } + + /** + *

      Describes software sets.

      + */ + inline ListSoftwareSetsResult& AddSoftwareSets(SoftwareSetSummary&& value) { m_softwareSets.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. Keep all + * other arguments unchanged. Each pagination token expires after 24 hours. Using + * an expired pagination token will return an HTTP 400 InvalidToken + * error.

      + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + + /** + *

      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. Keep all + * other arguments unchanged. Each pagination token expires after 24 hours. Using + * an expired pagination token will return an HTTP 400 InvalidToken + * error.

      + */ + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + + /** + *

      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. Keep all + * other arguments unchanged. Each pagination token expires after 24 hours. Using + * an expired pagination token will return an HTTP 400 InvalidToken + * error.

      + */ + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + + /** + *

      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. Keep all + * other arguments unchanged. Each pagination token expires after 24 hours. Using + * an expired pagination token will return an HTTP 400 InvalidToken + * error.

      + */ + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + + /** + *

      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. Keep all + * other arguments unchanged. Each pagination token expires after 24 hours. Using + * an expired pagination token will return an HTTP 400 InvalidToken + * error.

      + */ + inline ListSoftwareSetsResult& WithNextToken(const Aws::String& value) { SetNextToken(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. Keep all + * other arguments unchanged. Each pagination token expires after 24 hours. Using + * an expired pagination token will return an HTTP 400 InvalidToken + * error.

      + */ + inline ListSoftwareSetsResult& WithNextToken(Aws::String&& value) { SetNextToken(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. Keep all + * other arguments unchanged. Each pagination token expires after 24 hours. Using + * an expired pagination token will return an HTTP 400 InvalidToken + * error.

      + */ + inline ListSoftwareSetsResult& 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 ListSoftwareSetsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline ListSoftwareSetsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline ListSoftwareSetsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::Vector m_softwareSets; + + Aws::String m_nextToken; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/ListTagsForResourceRequest.h b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/ListTagsForResourceRequest.h new file mode 100644 index 00000000000..4671eeb08f7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/ListTagsForResourceRequest.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 WorkSpacesThinClient +{ +namespace Model +{ + + /** + */ + class ListTagsForResourceRequest : public WorkSpacesThinClientRequest + { + public: + AWS_WORKSPACESTHINCLIENT_API ListTagsForResourceRequest(); + + // 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 "ListTagsForResource"; } + + AWS_WORKSPACESTHINCLIENT_API Aws::String SerializePayload() const override; + + + /** + *

      The Amazon Resource Name (ARN) of the resource for which you want to retrieve + * tags.

      + */ + inline const Aws::String& GetResourceArn() const{ return m_resourceArn; } + + /** + *

      The Amazon Resource Name (ARN) of the resource for which you want to retrieve + * tags.

      + */ + inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; } + + /** + *

      The Amazon Resource Name (ARN) of the resource for which you want to retrieve + * tags.

      + */ + inline void SetResourceArn(const Aws::String& value) { m_resourceArnHasBeenSet = true; m_resourceArn = value; } + + /** + *

      The Amazon Resource Name (ARN) of the resource for which you want to retrieve + * tags.

      + */ + inline void SetResourceArn(Aws::String&& value) { m_resourceArnHasBeenSet = true; m_resourceArn = std::move(value); } + + /** + *

      The Amazon Resource Name (ARN) of the resource for which you want to retrieve + * tags.

      + */ + inline void SetResourceArn(const char* value) { m_resourceArnHasBeenSet = true; m_resourceArn.assign(value); } + + /** + *

      The Amazon Resource Name (ARN) of the resource for which you want to retrieve + * tags.

      + */ + inline ListTagsForResourceRequest& WithResourceArn(const Aws::String& value) { SetResourceArn(value); return *this;} + + /** + *

      The Amazon Resource Name (ARN) of the resource for which you want to retrieve + * tags.

      + */ + inline ListTagsForResourceRequest& WithResourceArn(Aws::String&& value) { SetResourceArn(std::move(value)); return *this;} + + /** + *

      The Amazon Resource Name (ARN) of the resource for which you want to retrieve + * tags.

      + */ + inline ListTagsForResourceRequest& WithResourceArn(const char* value) { SetResourceArn(value); return *this;} + + private: + + Aws::String m_resourceArn; + bool m_resourceArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/ListTagsForResourceResult.h b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/ListTagsForResourceResult.h new file mode 100644 index 00000000000..cdb5e7bf020 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/ListTagsForResourceResult.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 + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace WorkSpacesThinClient +{ +namespace Model +{ + class ListTagsForResourceResult + { + public: + AWS_WORKSPACESTHINCLIENT_API ListTagsForResourceResult(); + AWS_WORKSPACESTHINCLIENT_API ListTagsForResourceResult(const Aws::AmazonWebServiceResult& result); + AWS_WORKSPACESTHINCLIENT_API ListTagsForResourceResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

      A map of the key-value pairs for the tag or tags assigned to the specified + * resource.

      + */ + inline const Aws::Map& GetTags() const{ return m_tags; } + + /** + *

      A map of the key-value pairs for the tag or tags assigned to the specified + * resource.

      + */ + inline void SetTags(const Aws::Map& value) { m_tags = value; } + + /** + *

      A map of the key-value pairs for the tag or tags assigned to the specified + * resource.

      + */ + inline void SetTags(Aws::Map&& value) { m_tags = std::move(value); } + + /** + *

      A map of the key-value pairs for the tag or tags assigned to the specified + * resource.

      + */ + inline ListTagsForResourceResult& WithTags(const Aws::Map& value) { SetTags(value); return *this;} + + /** + *

      A map of the key-value pairs for the tag or tags assigned to the specified + * resource.

      + */ + inline ListTagsForResourceResult& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} + + /** + *

      A map of the key-value pairs for the tag or tags assigned to the specified + * resource.

      + */ + inline ListTagsForResourceResult& AddTags(const Aws::String& key, const Aws::String& value) { m_tags.emplace(key, value); return *this; } + + /** + *

      A map of the key-value pairs for the tag or tags assigned to the specified + * resource.

      + */ + inline ListTagsForResourceResult& AddTags(Aws::String&& key, const Aws::String& value) { m_tags.emplace(std::move(key), value); return *this; } + + /** + *

      A map of the key-value pairs for the tag or tags assigned to the specified + * resource.

      + */ + inline ListTagsForResourceResult& AddTags(const Aws::String& key, Aws::String&& value) { m_tags.emplace(key, std::move(value)); return *this; } + + /** + *

      A map of the key-value pairs for the tag or tags assigned to the specified + * resource.

      + */ + inline ListTagsForResourceResult& AddTags(Aws::String&& key, Aws::String&& value) { m_tags.emplace(std::move(key), std::move(value)); return *this; } + + /** + *

      A map of the key-value pairs for the tag or tags assigned to the specified + * resource.

      + */ + inline ListTagsForResourceResult& AddTags(const char* key, Aws::String&& value) { m_tags.emplace(key, std::move(value)); return *this; } + + /** + *

      A map of the key-value pairs for the tag or tags assigned to the specified + * resource.

      + */ + inline ListTagsForResourceResult& AddTags(Aws::String&& key, const char* value) { m_tags.emplace(std::move(key), value); return *this; } + + /** + *

      A map of the key-value pairs for the tag or tags assigned to the specified + * resource.

      + */ + inline ListTagsForResourceResult& AddTags(const char* key, const char* value) { m_tags.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 ListTagsForResourceResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline ListTagsForResourceResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline ListTagsForResourceResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::Map m_tags; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/MaintenanceWindow.h b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/MaintenanceWindow.h new file mode 100644 index 00000000000..871bcb61852 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/MaintenanceWindow.h @@ -0,0 +1,278 @@ +/** + * 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 WorkSpacesThinClient +{ +namespace Model +{ + + /** + *

      Describes the maintenance window for a thin client device.

      See + * Also:

      AWS + * API Reference

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

      An option to select the default or custom maintenance window.

      + */ + inline const MaintenanceWindowType& GetType() const{ return m_type; } + + /** + *

      An option to select the default or custom maintenance window.

      + */ + inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } + + /** + *

      An option to select the default or custom maintenance window.

      + */ + inline void SetType(const MaintenanceWindowType& value) { m_typeHasBeenSet = true; m_type = value; } + + /** + *

      An option to select the default or custom maintenance window.

      + */ + inline void SetType(MaintenanceWindowType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } + + /** + *

      An option to select the default or custom maintenance window.

      + */ + inline MaintenanceWindow& WithType(const MaintenanceWindowType& value) { SetType(value); return *this;} + + /** + *

      An option to select the default or custom maintenance window.

      + */ + inline MaintenanceWindow& WithType(MaintenanceWindowType&& value) { SetType(std::move(value)); return *this;} + + + /** + *

      The hour for the maintenance window start + * (00-23).

      + */ + inline int GetStartTimeHour() const{ return m_startTimeHour; } + + /** + *

      The hour for the maintenance window start + * (00-23).

      + */ + inline bool StartTimeHourHasBeenSet() const { return m_startTimeHourHasBeenSet; } + + /** + *

      The hour for the maintenance window start + * (00-23).

      + */ + inline void SetStartTimeHour(int value) { m_startTimeHourHasBeenSet = true; m_startTimeHour = value; } + + /** + *

      The hour for the maintenance window start + * (00-23).

      + */ + inline MaintenanceWindow& WithStartTimeHour(int value) { SetStartTimeHour(value); return *this;} + + + /** + *

      The minutes past the hour for the maintenance window start + * (00-59).

      + */ + inline int GetStartTimeMinute() const{ return m_startTimeMinute; } + + /** + *

      The minutes past the hour for the maintenance window start + * (00-59).

      + */ + inline bool StartTimeMinuteHasBeenSet() const { return m_startTimeMinuteHasBeenSet; } + + /** + *

      The minutes past the hour for the maintenance window start + * (00-59).

      + */ + inline void SetStartTimeMinute(int value) { m_startTimeMinuteHasBeenSet = true; m_startTimeMinute = value; } + + /** + *

      The minutes past the hour for the maintenance window start + * (00-59).

      + */ + inline MaintenanceWindow& WithStartTimeMinute(int value) { SetStartTimeMinute(value); return *this;} + + + /** + *

      The hour for the maintenance window end + * (00-23).

      + */ + inline int GetEndTimeHour() const{ return m_endTimeHour; } + + /** + *

      The hour for the maintenance window end + * (00-23).

      + */ + inline bool EndTimeHourHasBeenSet() const { return m_endTimeHourHasBeenSet; } + + /** + *

      The hour for the maintenance window end + * (00-23).

      + */ + inline void SetEndTimeHour(int value) { m_endTimeHourHasBeenSet = true; m_endTimeHour = value; } + + /** + *

      The hour for the maintenance window end + * (00-23).

      + */ + inline MaintenanceWindow& WithEndTimeHour(int value) { SetEndTimeHour(value); return *this;} + + + /** + *

      The minutes for the maintenance window end + * (00-59).

      + */ + inline int GetEndTimeMinute() const{ return m_endTimeMinute; } + + /** + *

      The minutes for the maintenance window end + * (00-59).

      + */ + inline bool EndTimeMinuteHasBeenSet() const { return m_endTimeMinuteHasBeenSet; } + + /** + *

      The minutes for the maintenance window end + * (00-59).

      + */ + inline void SetEndTimeMinute(int value) { m_endTimeMinuteHasBeenSet = true; m_endTimeMinute = value; } + + /** + *

      The minutes for the maintenance window end + * (00-59).

      + */ + inline MaintenanceWindow& WithEndTimeMinute(int value) { SetEndTimeMinute(value); return *this;} + + + /** + *

      The days of the week during which the maintenance window is open.

      + */ + inline const Aws::Vector& GetDaysOfTheWeek() const{ return m_daysOfTheWeek; } + + /** + *

      The days of the week during which the maintenance window is open.

      + */ + inline bool DaysOfTheWeekHasBeenSet() const { return m_daysOfTheWeekHasBeenSet; } + + /** + *

      The days of the week during which the maintenance window is open.

      + */ + inline void SetDaysOfTheWeek(const Aws::Vector& value) { m_daysOfTheWeekHasBeenSet = true; m_daysOfTheWeek = value; } + + /** + *

      The days of the week during which the maintenance window is open.

      + */ + inline void SetDaysOfTheWeek(Aws::Vector&& value) { m_daysOfTheWeekHasBeenSet = true; m_daysOfTheWeek = std::move(value); } + + /** + *

      The days of the week during which the maintenance window is open.

      + */ + inline MaintenanceWindow& WithDaysOfTheWeek(const Aws::Vector& value) { SetDaysOfTheWeek(value); return *this;} + + /** + *

      The days of the week during which the maintenance window is open.

      + */ + inline MaintenanceWindow& WithDaysOfTheWeek(Aws::Vector&& value) { SetDaysOfTheWeek(std::move(value)); return *this;} + + /** + *

      The days of the week during which the maintenance window is open.

      + */ + inline MaintenanceWindow& AddDaysOfTheWeek(const DayOfWeek& value) { m_daysOfTheWeekHasBeenSet = true; m_daysOfTheWeek.push_back(value); return *this; } + + /** + *

      The days of the week during which the maintenance window is open.

      + */ + inline MaintenanceWindow& AddDaysOfTheWeek(DayOfWeek&& value) { m_daysOfTheWeekHasBeenSet = true; m_daysOfTheWeek.push_back(std::move(value)); return *this; } + + + /** + *

      The option to set the maintenance window during the device local time or + * Universal Coordinated Time (UTC).

      + */ + inline const ApplyTimeOf& GetApplyTimeOf() const{ return m_applyTimeOf; } + + /** + *

      The option to set the maintenance window during the device local time or + * Universal Coordinated Time (UTC).

      + */ + inline bool ApplyTimeOfHasBeenSet() const { return m_applyTimeOfHasBeenSet; } + + /** + *

      The option to set the maintenance window during the device local time or + * Universal Coordinated Time (UTC).

      + */ + inline void SetApplyTimeOf(const ApplyTimeOf& value) { m_applyTimeOfHasBeenSet = true; m_applyTimeOf = value; } + + /** + *

      The option to set the maintenance window during the device local time or + * Universal Coordinated Time (UTC).

      + */ + inline void SetApplyTimeOf(ApplyTimeOf&& value) { m_applyTimeOfHasBeenSet = true; m_applyTimeOf = std::move(value); } + + /** + *

      The option to set the maintenance window during the device local time or + * Universal Coordinated Time (UTC).

      + */ + inline MaintenanceWindow& WithApplyTimeOf(const ApplyTimeOf& value) { SetApplyTimeOf(value); return *this;} + + /** + *

      The option to set the maintenance window during the device local time or + * Universal Coordinated Time (UTC).

      + */ + inline MaintenanceWindow& WithApplyTimeOf(ApplyTimeOf&& value) { SetApplyTimeOf(std::move(value)); return *this;} + + private: + + MaintenanceWindowType m_type; + bool m_typeHasBeenSet = false; + + int m_startTimeHour; + bool m_startTimeHourHasBeenSet = false; + + int m_startTimeMinute; + bool m_startTimeMinuteHasBeenSet = false; + + int m_endTimeHour; + bool m_endTimeHourHasBeenSet = false; + + int m_endTimeMinute; + bool m_endTimeMinuteHasBeenSet = false; + + Aws::Vector m_daysOfTheWeek; + bool m_daysOfTheWeekHasBeenSet = false; + + ApplyTimeOf m_applyTimeOf; + bool m_applyTimeOfHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/MaintenanceWindowType.h b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/MaintenanceWindowType.h new file mode 100644 index 00000000000..17eb64a8714 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/MaintenanceWindowType.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 WorkSpacesThinClient +{ +namespace Model +{ + enum class MaintenanceWindowType + { + NOT_SET, + SYSTEM, + CUSTOM + }; + +namespace MaintenanceWindowTypeMapper +{ +AWS_WORKSPACESTHINCLIENT_API MaintenanceWindowType GetMaintenanceWindowTypeForName(const Aws::String& name); + +AWS_WORKSPACESTHINCLIENT_API Aws::String GetNameForMaintenanceWindowType(MaintenanceWindowType value); +} // namespace MaintenanceWindowTypeMapper +} // namespace Model +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/ResourceNotFoundException.h b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/ResourceNotFoundException.h new file mode 100644 index 00000000000..1cdd522d496 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/ResourceNotFoundException.h @@ -0,0 +1,161 @@ +/** + * 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 WorkSpacesThinClient +{ +namespace Model +{ + + /** + *

      The resource specified in the request was not found.

      See Also:

      + * AWS + * API Reference

      + */ + class ResourceNotFoundException + { + public: + AWS_WORKSPACESTHINCLIENT_API ResourceNotFoundException(); + AWS_WORKSPACESTHINCLIENT_API ResourceNotFoundException(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESTHINCLIENT_API ResourceNotFoundException& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESTHINCLIENT_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 ResourceNotFoundException& WithMessage(const Aws::String& value) { SetMessage(value); return *this;} + + + inline ResourceNotFoundException& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;} + + + inline ResourceNotFoundException& WithMessage(const char* value) { SetMessage(value); return *this;} + + + /** + *

      The ID of the resource associated with the request.

      + */ + inline const Aws::String& GetResourceId() const{ return m_resourceId; } + + /** + *

      The ID of the resource associated with the request.

      + */ + inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; } + + /** + *

      The ID of the resource associated with the request.

      + */ + inline void SetResourceId(const Aws::String& value) { m_resourceIdHasBeenSet = true; m_resourceId = value; } + + /** + *

      The ID of the resource associated with the request.

      + */ + inline void SetResourceId(Aws::String&& value) { m_resourceIdHasBeenSet = true; m_resourceId = std::move(value); } + + /** + *

      The ID of the resource associated with the request.

      + */ + inline void SetResourceId(const char* value) { m_resourceIdHasBeenSet = true; m_resourceId.assign(value); } + + /** + *

      The ID of the resource associated with the request.

      + */ + inline ResourceNotFoundException& WithResourceId(const Aws::String& value) { SetResourceId(value); return *this;} + + /** + *

      The ID of the resource associated with the request.

      + */ + inline ResourceNotFoundException& WithResourceId(Aws::String&& value) { SetResourceId(std::move(value)); return *this;} + + /** + *

      The ID of the resource associated with the request.

      + */ + inline ResourceNotFoundException& WithResourceId(const char* value) { SetResourceId(value); return *this;} + + + /** + *

      The type of the resource associated with the request.

      + */ + inline const Aws::String& GetResourceType() const{ return m_resourceType; } + + /** + *

      The type of the resource associated with the request.

      + */ + inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; } + + /** + *

      The type of the resource associated with the request.

      + */ + inline void SetResourceType(const Aws::String& value) { m_resourceTypeHasBeenSet = true; m_resourceType = value; } + + /** + *

      The type of the resource associated with the request.

      + */ + inline void SetResourceType(Aws::String&& value) { m_resourceTypeHasBeenSet = true; m_resourceType = std::move(value); } + + /** + *

      The type of the resource associated with the request.

      + */ + inline void SetResourceType(const char* value) { m_resourceTypeHasBeenSet = true; m_resourceType.assign(value); } + + /** + *

      The type of the resource associated with the request.

      + */ + inline ResourceNotFoundException& WithResourceType(const Aws::String& value) { SetResourceType(value); return *this;} + + /** + *

      The type of the resource associated with the request.

      + */ + inline ResourceNotFoundException& WithResourceType(Aws::String&& value) { SetResourceType(std::move(value)); return *this;} + + /** + *

      The type of the resource associated with the request.

      + */ + inline ResourceNotFoundException& WithResourceType(const char* value) { SetResourceType(value); return *this;} + + private: + + Aws::String m_message; + bool m_messageHasBeenSet = false; + + Aws::String m_resourceId; + bool m_resourceIdHasBeenSet = false; + + Aws::String m_resourceType; + bool m_resourceTypeHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/ServiceQuotaExceededException.h b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/ServiceQuotaExceededException.h new file mode 100644 index 00000000000..77f8547d394 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/ServiceQuotaExceededException.h @@ -0,0 +1,280 @@ +/** + * 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 WorkSpacesThinClient +{ +namespace Model +{ + + /** + *

      Your request exceeds a service quota.

      See Also:

      AWS + * API Reference

      + */ + class ServiceQuotaExceededException + { + public: + AWS_WORKSPACESTHINCLIENT_API ServiceQuotaExceededException(); + AWS_WORKSPACESTHINCLIENT_API ServiceQuotaExceededException(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESTHINCLIENT_API ServiceQuotaExceededException& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESTHINCLIENT_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 ServiceQuotaExceededException& WithMessage(const Aws::String& value) { SetMessage(value); return *this;} + + + inline ServiceQuotaExceededException& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;} + + + inline ServiceQuotaExceededException& WithMessage(const char* value) { SetMessage(value); return *this;} + + + /** + *

      The ID of the resource that exceeds the service quota.

      + */ + inline const Aws::String& GetResourceId() const{ return m_resourceId; } + + /** + *

      The ID of the resource that exceeds the service quota.

      + */ + inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; } + + /** + *

      The ID of the resource that exceeds the service quota.

      + */ + inline void SetResourceId(const Aws::String& value) { m_resourceIdHasBeenSet = true; m_resourceId = value; } + + /** + *

      The ID of the resource that exceeds the service quota.

      + */ + inline void SetResourceId(Aws::String&& value) { m_resourceIdHasBeenSet = true; m_resourceId = std::move(value); } + + /** + *

      The ID of the resource that exceeds the service quota.

      + */ + inline void SetResourceId(const char* value) { m_resourceIdHasBeenSet = true; m_resourceId.assign(value); } + + /** + *

      The ID of the resource that exceeds the service quota.

      + */ + inline ServiceQuotaExceededException& WithResourceId(const Aws::String& value) { SetResourceId(value); return *this;} + + /** + *

      The ID of the resource that exceeds the service quota.

      + */ + inline ServiceQuotaExceededException& WithResourceId(Aws::String&& value) { SetResourceId(std::move(value)); return *this;} + + /** + *

      The ID of the resource that exceeds the service quota.

      + */ + inline ServiceQuotaExceededException& WithResourceId(const char* value) { SetResourceId(value); return *this;} + + + /** + *

      The type of the resource that exceeds the service quota.

      + */ + inline const Aws::String& GetResourceType() const{ return m_resourceType; } + + /** + *

      The type of the resource that exceeds the service quota.

      + */ + inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; } + + /** + *

      The type of the resource that exceeds the service quota.

      + */ + inline void SetResourceType(const Aws::String& value) { m_resourceTypeHasBeenSet = true; m_resourceType = value; } + + /** + *

      The type of the resource that exceeds the service quota.

      + */ + inline void SetResourceType(Aws::String&& value) { m_resourceTypeHasBeenSet = true; m_resourceType = std::move(value); } + + /** + *

      The type of the resource that exceeds the service quota.

      + */ + inline void SetResourceType(const char* value) { m_resourceTypeHasBeenSet = true; m_resourceType.assign(value); } + + /** + *

      The type of the resource that exceeds the service quota.

      + */ + inline ServiceQuotaExceededException& WithResourceType(const Aws::String& value) { SetResourceType(value); return *this;} + + /** + *

      The type of the resource that exceeds the service quota.

      + */ + inline ServiceQuotaExceededException& WithResourceType(Aws::String&& value) { SetResourceType(std::move(value)); return *this;} + + /** + *

      The type of the resource that exceeds the service quota.

      + */ + inline ServiceQuotaExceededException& WithResourceType(const char* value) { SetResourceType(value); return *this;} + + + /** + *

      The code for the service in Service + * Quotas.

      + */ + inline const Aws::String& GetServiceCode() const{ return m_serviceCode; } + + /** + *

      The code for the service in Service + * Quotas.

      + */ + inline bool ServiceCodeHasBeenSet() const { return m_serviceCodeHasBeenSet; } + + /** + *

      The code for the service in Service + * Quotas.

      + */ + inline void SetServiceCode(const Aws::String& value) { m_serviceCodeHasBeenSet = true; m_serviceCode = value; } + + /** + *

      The code for the service in Service + * Quotas.

      + */ + inline void SetServiceCode(Aws::String&& value) { m_serviceCodeHasBeenSet = true; m_serviceCode = std::move(value); } + + /** + *

      The code for the service in Service + * Quotas.

      + */ + inline void SetServiceCode(const char* value) { m_serviceCodeHasBeenSet = true; m_serviceCode.assign(value); } + + /** + *

      The code for the service in Service + * Quotas.

      + */ + inline ServiceQuotaExceededException& WithServiceCode(const Aws::String& value) { SetServiceCode(value); return *this;} + + /** + *

      The code for the service in Service + * Quotas.

      + */ + inline ServiceQuotaExceededException& WithServiceCode(Aws::String&& value) { SetServiceCode(std::move(value)); return *this;} + + /** + *

      The code for the service in Service + * Quotas.

      + */ + inline ServiceQuotaExceededException& WithServiceCode(const char* value) { SetServiceCode(value); return *this;} + + + /** + *

      The code for the quota in Service + * Quotas.

      + */ + inline const Aws::String& GetQuotaCode() const{ return m_quotaCode; } + + /** + *

      The code for the quota in Service + * Quotas.

      + */ + inline bool QuotaCodeHasBeenSet() const { return m_quotaCodeHasBeenSet; } + + /** + *

      The code for the quota in Service + * Quotas.

      + */ + inline void SetQuotaCode(const Aws::String& value) { m_quotaCodeHasBeenSet = true; m_quotaCode = value; } + + /** + *

      The code for the quota in Service + * Quotas.

      + */ + inline void SetQuotaCode(Aws::String&& value) { m_quotaCodeHasBeenSet = true; m_quotaCode = std::move(value); } + + /** + *

      The code for the quota in Service + * Quotas.

      + */ + inline void SetQuotaCode(const char* value) { m_quotaCodeHasBeenSet = true; m_quotaCode.assign(value); } + + /** + *

      The code for the quota in Service + * Quotas.

      + */ + inline ServiceQuotaExceededException& WithQuotaCode(const Aws::String& value) { SetQuotaCode(value); return *this;} + + /** + *

      The code for the quota in Service + * Quotas.

      + */ + inline ServiceQuotaExceededException& WithQuotaCode(Aws::String&& value) { SetQuotaCode(std::move(value)); return *this;} + + /** + *

      The code for the quota in Service + * Quotas.

      + */ + inline ServiceQuotaExceededException& WithQuotaCode(const char* value) { SetQuotaCode(value); return *this;} + + private: + + Aws::String m_message; + bool m_messageHasBeenSet = false; + + Aws::String m_resourceId; + bool m_resourceIdHasBeenSet = false; + + Aws::String m_resourceType; + bool m_resourceTypeHasBeenSet = false; + + Aws::String m_serviceCode; + bool m_serviceCodeHasBeenSet = false; + + Aws::String m_quotaCode; + bool m_quotaCodeHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/Software.h b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/Software.h new file mode 100644 index 00000000000..3dc445c595d --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/Software.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 + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkSpacesThinClient +{ +namespace Model +{ + + /** + *

      Describes software.

      See Also:

      AWS + * API Reference

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

      The name of the software component.

      + */ + inline const Aws::String& GetName() const{ return m_name; } + + /** + *

      The name of the software component.

      + */ + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + + /** + *

      The name of the software component.

      + */ + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + + /** + *

      The name of the software component.

      + */ + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + + /** + *

      The name of the software component.

      + */ + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + + /** + *

      The name of the software component.

      + */ + inline Software& WithName(const Aws::String& value) { SetName(value); return *this;} + + /** + *

      The name of the software component.

      + */ + inline Software& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + + /** + *

      The name of the software component.

      + */ + inline Software& WithName(const char* value) { SetName(value); return *this;} + + + /** + *

      The version of the software component.

      + */ + inline const Aws::String& GetVersion() const{ return m_version; } + + /** + *

      The version of the software component.

      + */ + inline bool VersionHasBeenSet() const { return m_versionHasBeenSet; } + + /** + *

      The version of the software component.

      + */ + inline void SetVersion(const Aws::String& value) { m_versionHasBeenSet = true; m_version = value; } + + /** + *

      The version of the software component.

      + */ + inline void SetVersion(Aws::String&& value) { m_versionHasBeenSet = true; m_version = std::move(value); } + + /** + *

      The version of the software component.

      + */ + inline void SetVersion(const char* value) { m_versionHasBeenSet = true; m_version.assign(value); } + + /** + *

      The version of the software component.

      + */ + inline Software& WithVersion(const Aws::String& value) { SetVersion(value); return *this;} + + /** + *

      The version of the software component.

      + */ + inline Software& WithVersion(Aws::String&& value) { SetVersion(std::move(value)); return *this;} + + /** + *

      The version of the software component.

      + */ + inline Software& WithVersion(const char* value) { SetVersion(value); return *this;} + + private: + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::String m_version; + bool m_versionHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/SoftwareSet.h b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/SoftwareSet.h new file mode 100644 index 00000000000..327d111f565 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/SoftwareSet.h @@ -0,0 +1,326 @@ +/** + * 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 Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkSpacesThinClient +{ +namespace Model +{ + + /** + *

      Describes a software set.

      See Also:

      AWS + * API Reference

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

      The ID of the software set.

      + */ + inline const Aws::String& GetId() const{ return m_id; } + + /** + *

      The ID of the software set.

      + */ + inline bool IdHasBeenSet() const { return m_idHasBeenSet; } + + /** + *

      The ID of the software set.

      + */ + inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } + + /** + *

      The ID of the software set.

      + */ + inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } + + /** + *

      The ID of the software set.

      + */ + inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } + + /** + *

      The ID of the software set.

      + */ + inline SoftwareSet& WithId(const Aws::String& value) { SetId(value); return *this;} + + /** + *

      The ID of the software set.

      + */ + inline SoftwareSet& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + + /** + *

      The ID of the software set.

      + */ + inline SoftwareSet& WithId(const char* value) { SetId(value); return *this;} + + + /** + *

      The version of the software set.

      + */ + inline const Aws::String& GetVersion() const{ return m_version; } + + /** + *

      The version of the software set.

      + */ + inline bool VersionHasBeenSet() const { return m_versionHasBeenSet; } + + /** + *

      The version of the software set.

      + */ + inline void SetVersion(const Aws::String& value) { m_versionHasBeenSet = true; m_version = value; } + + /** + *

      The version of the software set.

      + */ + inline void SetVersion(Aws::String&& value) { m_versionHasBeenSet = true; m_version = std::move(value); } + + /** + *

      The version of the software set.

      + */ + inline void SetVersion(const char* value) { m_versionHasBeenSet = true; m_version.assign(value); } + + /** + *

      The version of the software set.

      + */ + inline SoftwareSet& WithVersion(const Aws::String& value) { SetVersion(value); return *this;} + + /** + *

      The version of the software set.

      + */ + inline SoftwareSet& WithVersion(Aws::String&& value) { SetVersion(std::move(value)); return *this;} + + /** + *

      The version of the software set.

      + */ + inline SoftwareSet& WithVersion(const char* value) { SetVersion(value); return *this;} + + + /** + *

      The timestamp of when the software set was released.

      + */ + inline const Aws::Utils::DateTime& GetReleasedAt() const{ return m_releasedAt; } + + /** + *

      The timestamp of when the software set was released.

      + */ + inline bool ReleasedAtHasBeenSet() const { return m_releasedAtHasBeenSet; } + + /** + *

      The timestamp of when the software set was released.

      + */ + inline void SetReleasedAt(const Aws::Utils::DateTime& value) { m_releasedAtHasBeenSet = true; m_releasedAt = value; } + + /** + *

      The timestamp of when the software set was released.

      + */ + inline void SetReleasedAt(Aws::Utils::DateTime&& value) { m_releasedAtHasBeenSet = true; m_releasedAt = std::move(value); } + + /** + *

      The timestamp of when the software set was released.

      + */ + inline SoftwareSet& WithReleasedAt(const Aws::Utils::DateTime& value) { SetReleasedAt(value); return *this;} + + /** + *

      The timestamp of when the software set was released.

      + */ + inline SoftwareSet& WithReleasedAt(Aws::Utils::DateTime&& value) { SetReleasedAt(std::move(value)); return *this;} + + + /** + *

      The timestamp of the end of support for the software set.

      + */ + inline const Aws::Utils::DateTime& GetSupportedUntil() const{ return m_supportedUntil; } + + /** + *

      The timestamp of the end of support for the software set.

      + */ + inline bool SupportedUntilHasBeenSet() const { return m_supportedUntilHasBeenSet; } + + /** + *

      The timestamp of the end of support for the software set.

      + */ + inline void SetSupportedUntil(const Aws::Utils::DateTime& value) { m_supportedUntilHasBeenSet = true; m_supportedUntil = value; } + + /** + *

      The timestamp of the end of support for the software set.

      + */ + inline void SetSupportedUntil(Aws::Utils::DateTime&& value) { m_supportedUntilHasBeenSet = true; m_supportedUntil = std::move(value); } + + /** + *

      The timestamp of the end of support for the software set.

      + */ + inline SoftwareSet& WithSupportedUntil(const Aws::Utils::DateTime& value) { SetSupportedUntil(value); return *this;} + + /** + *

      The timestamp of the end of support for the software set.

      + */ + inline SoftwareSet& WithSupportedUntil(Aws::Utils::DateTime&& value) { SetSupportedUntil(std::move(value)); return *this;} + + + /** + *

      An option to define if the software set has been validated.

      + */ + inline const SoftwareSetValidationStatus& GetValidationStatus() const{ return m_validationStatus; } + + /** + *

      An option to define if the software set has been validated.

      + */ + inline bool ValidationStatusHasBeenSet() const { return m_validationStatusHasBeenSet; } + + /** + *

      An option to define if the software set has been validated.

      + */ + inline void SetValidationStatus(const SoftwareSetValidationStatus& value) { m_validationStatusHasBeenSet = true; m_validationStatus = value; } + + /** + *

      An option to define if the software set has been validated.

      + */ + inline void SetValidationStatus(SoftwareSetValidationStatus&& value) { m_validationStatusHasBeenSet = true; m_validationStatus = std::move(value); } + + /** + *

      An option to define if the software set has been validated.

      + */ + inline SoftwareSet& WithValidationStatus(const SoftwareSetValidationStatus& value) { SetValidationStatus(value); return *this;} + + /** + *

      An option to define if the software set has been validated.

      + */ + inline SoftwareSet& WithValidationStatus(SoftwareSetValidationStatus&& value) { SetValidationStatus(std::move(value)); return *this;} + + + /** + *

      A list of the software components in the software set.

      + */ + inline const Aws::Vector& GetSoftware() const{ return m_software; } + + /** + *

      A list of the software components in the software set.

      + */ + inline bool SoftwareHasBeenSet() const { return m_softwareHasBeenSet; } + + /** + *

      A list of the software components in the software set.

      + */ + inline void SetSoftware(const Aws::Vector& value) { m_softwareHasBeenSet = true; m_software = value; } + + /** + *

      A list of the software components in the software set.

      + */ + inline void SetSoftware(Aws::Vector&& value) { m_softwareHasBeenSet = true; m_software = std::move(value); } + + /** + *

      A list of the software components in the software set.

      + */ + inline SoftwareSet& WithSoftware(const Aws::Vector& value) { SetSoftware(value); return *this;} + + /** + *

      A list of the software components in the software set.

      + */ + inline SoftwareSet& WithSoftware(Aws::Vector&& value) { SetSoftware(std::move(value)); return *this;} + + /** + *

      A list of the software components in the software set.

      + */ + inline SoftwareSet& AddSoftware(const Software& value) { m_softwareHasBeenSet = true; m_software.push_back(value); return *this; } + + /** + *

      A list of the software components in the software set.

      + */ + inline SoftwareSet& AddSoftware(Software&& value) { m_softwareHasBeenSet = true; m_software.push_back(std::move(value)); return *this; } + + + /** + *

      The Amazon Resource Name (ARN) of the software set.

      + */ + inline const Aws::String& GetArn() const{ return m_arn; } + + /** + *

      The Amazon Resource Name (ARN) of the software set.

      + */ + inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } + + /** + *

      The Amazon Resource Name (ARN) of the software set.

      + */ + inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } + + /** + *

      The Amazon Resource Name (ARN) of the software set.

      + */ + inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } + + /** + *

      The Amazon Resource Name (ARN) of the software set.

      + */ + inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } + + /** + *

      The Amazon Resource Name (ARN) of the software set.

      + */ + inline SoftwareSet& WithArn(const Aws::String& value) { SetArn(value); return *this;} + + /** + *

      The Amazon Resource Name (ARN) of the software set.

      + */ + inline SoftwareSet& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} + + /** + *

      The Amazon Resource Name (ARN) of the software set.

      + */ + inline SoftwareSet& WithArn(const char* value) { SetArn(value); return *this;} + + private: + + Aws::String m_id; + bool m_idHasBeenSet = false; + + Aws::String m_version; + bool m_versionHasBeenSet = false; + + Aws::Utils::DateTime m_releasedAt; + bool m_releasedAtHasBeenSet = false; + + Aws::Utils::DateTime m_supportedUntil; + bool m_supportedUntilHasBeenSet = false; + + SoftwareSetValidationStatus m_validationStatus; + bool m_validationStatusHasBeenSet = false; + + Aws::Vector m_software; + bool m_softwareHasBeenSet = false; + + Aws::String m_arn; + bool m_arnHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/SoftwareSetSummary.h b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/SoftwareSetSummary.h new file mode 100644 index 00000000000..065eed2cb69 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/SoftwareSetSummary.h @@ -0,0 +1,280 @@ +/** + * 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 WorkSpacesThinClient +{ +namespace Model +{ + + /** + *

      Describes a software set.

      See Also:

      AWS + * API Reference

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

      The ID of the software set.

      + */ + inline const Aws::String& GetId() const{ return m_id; } + + /** + *

      The ID of the software set.

      + */ + inline bool IdHasBeenSet() const { return m_idHasBeenSet; } + + /** + *

      The ID of the software set.

      + */ + inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } + + /** + *

      The ID of the software set.

      + */ + inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } + + /** + *

      The ID of the software set.

      + */ + inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } + + /** + *

      The ID of the software set.

      + */ + inline SoftwareSetSummary& WithId(const Aws::String& value) { SetId(value); return *this;} + + /** + *

      The ID of the software set.

      + */ + inline SoftwareSetSummary& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + + /** + *

      The ID of the software set.

      + */ + inline SoftwareSetSummary& WithId(const char* value) { SetId(value); return *this;} + + + /** + *

      The version of the software set.

      + */ + inline const Aws::String& GetVersion() const{ return m_version; } + + /** + *

      The version of the software set.

      + */ + inline bool VersionHasBeenSet() const { return m_versionHasBeenSet; } + + /** + *

      The version of the software set.

      + */ + inline void SetVersion(const Aws::String& value) { m_versionHasBeenSet = true; m_version = value; } + + /** + *

      The version of the software set.

      + */ + inline void SetVersion(Aws::String&& value) { m_versionHasBeenSet = true; m_version = std::move(value); } + + /** + *

      The version of the software set.

      + */ + inline void SetVersion(const char* value) { m_versionHasBeenSet = true; m_version.assign(value); } + + /** + *

      The version of the software set.

      + */ + inline SoftwareSetSummary& WithVersion(const Aws::String& value) { SetVersion(value); return *this;} + + /** + *

      The version of the software set.

      + */ + inline SoftwareSetSummary& WithVersion(Aws::String&& value) { SetVersion(std::move(value)); return *this;} + + /** + *

      The version of the software set.

      + */ + inline SoftwareSetSummary& WithVersion(const char* value) { SetVersion(value); return *this;} + + + /** + *

      The timestamp of when the software set was released.

      + */ + inline const Aws::Utils::DateTime& GetReleasedAt() const{ return m_releasedAt; } + + /** + *

      The timestamp of when the software set was released.

      + */ + inline bool ReleasedAtHasBeenSet() const { return m_releasedAtHasBeenSet; } + + /** + *

      The timestamp of when the software set was released.

      + */ + inline void SetReleasedAt(const Aws::Utils::DateTime& value) { m_releasedAtHasBeenSet = true; m_releasedAt = value; } + + /** + *

      The timestamp of when the software set was released.

      + */ + inline void SetReleasedAt(Aws::Utils::DateTime&& value) { m_releasedAtHasBeenSet = true; m_releasedAt = std::move(value); } + + /** + *

      The timestamp of when the software set was released.

      + */ + inline SoftwareSetSummary& WithReleasedAt(const Aws::Utils::DateTime& value) { SetReleasedAt(value); return *this;} + + /** + *

      The timestamp of when the software set was released.

      + */ + inline SoftwareSetSummary& WithReleasedAt(Aws::Utils::DateTime&& value) { SetReleasedAt(std::move(value)); return *this;} + + + /** + *

      The timestamp of the end of support for the software set.

      + */ + inline const Aws::Utils::DateTime& GetSupportedUntil() const{ return m_supportedUntil; } + + /** + *

      The timestamp of the end of support for the software set.

      + */ + inline bool SupportedUntilHasBeenSet() const { return m_supportedUntilHasBeenSet; } + + /** + *

      The timestamp of the end of support for the software set.

      + */ + inline void SetSupportedUntil(const Aws::Utils::DateTime& value) { m_supportedUntilHasBeenSet = true; m_supportedUntil = value; } + + /** + *

      The timestamp of the end of support for the software set.

      + */ + inline void SetSupportedUntil(Aws::Utils::DateTime&& value) { m_supportedUntilHasBeenSet = true; m_supportedUntil = std::move(value); } + + /** + *

      The timestamp of the end of support for the software set.

      + */ + inline SoftwareSetSummary& WithSupportedUntil(const Aws::Utils::DateTime& value) { SetSupportedUntil(value); return *this;} + + /** + *

      The timestamp of the end of support for the software set.

      + */ + inline SoftwareSetSummary& WithSupportedUntil(Aws::Utils::DateTime&& value) { SetSupportedUntil(std::move(value)); return *this;} + + + /** + *

      An option to define if the software set has been validated.

      + */ + inline const SoftwareSetValidationStatus& GetValidationStatus() const{ return m_validationStatus; } + + /** + *

      An option to define if the software set has been validated.

      + */ + inline bool ValidationStatusHasBeenSet() const { return m_validationStatusHasBeenSet; } + + /** + *

      An option to define if the software set has been validated.

      + */ + inline void SetValidationStatus(const SoftwareSetValidationStatus& value) { m_validationStatusHasBeenSet = true; m_validationStatus = value; } + + /** + *

      An option to define if the software set has been validated.

      + */ + inline void SetValidationStatus(SoftwareSetValidationStatus&& value) { m_validationStatusHasBeenSet = true; m_validationStatus = std::move(value); } + + /** + *

      An option to define if the software set has been validated.

      + */ + inline SoftwareSetSummary& WithValidationStatus(const SoftwareSetValidationStatus& value) { SetValidationStatus(value); return *this;} + + /** + *

      An option to define if the software set has been validated.

      + */ + inline SoftwareSetSummary& WithValidationStatus(SoftwareSetValidationStatus&& value) { SetValidationStatus(std::move(value)); return *this;} + + + /** + *

      The Amazon Resource Name (ARN) of the software set.

      + */ + inline const Aws::String& GetArn() const{ return m_arn; } + + /** + *

      The Amazon Resource Name (ARN) of the software set.

      + */ + inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } + + /** + *

      The Amazon Resource Name (ARN) of the software set.

      + */ + inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } + + /** + *

      The Amazon Resource Name (ARN) of the software set.

      + */ + inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } + + /** + *

      The Amazon Resource Name (ARN) of the software set.

      + */ + inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } + + /** + *

      The Amazon Resource Name (ARN) of the software set.

      + */ + inline SoftwareSetSummary& WithArn(const Aws::String& value) { SetArn(value); return *this;} + + /** + *

      The Amazon Resource Name (ARN) of the software set.

      + */ + inline SoftwareSetSummary& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} + + /** + *

      The Amazon Resource Name (ARN) of the software set.

      + */ + inline SoftwareSetSummary& WithArn(const char* value) { SetArn(value); return *this;} + + private: + + Aws::String m_id; + bool m_idHasBeenSet = false; + + Aws::String m_version; + bool m_versionHasBeenSet = false; + + Aws::Utils::DateTime m_releasedAt; + bool m_releasedAtHasBeenSet = false; + + Aws::Utils::DateTime m_supportedUntil; + bool m_supportedUntilHasBeenSet = false; + + SoftwareSetValidationStatus m_validationStatus; + bool m_validationStatusHasBeenSet = false; + + Aws::String m_arn; + bool m_arnHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/SoftwareSetUpdateMode.h b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/SoftwareSetUpdateMode.h new file mode 100644 index 00000000000..8ebf851334b --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/SoftwareSetUpdateMode.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 WorkSpacesThinClient +{ +namespace Model +{ + enum class SoftwareSetUpdateMode + { + NOT_SET, + USE_LATEST, + USE_DESIRED + }; + +namespace SoftwareSetUpdateModeMapper +{ +AWS_WORKSPACESTHINCLIENT_API SoftwareSetUpdateMode GetSoftwareSetUpdateModeForName(const Aws::String& name); + +AWS_WORKSPACESTHINCLIENT_API Aws::String GetNameForSoftwareSetUpdateMode(SoftwareSetUpdateMode value); +} // namespace SoftwareSetUpdateModeMapper +} // namespace Model +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/SoftwareSetUpdateSchedule.h b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/SoftwareSetUpdateSchedule.h new file mode 100644 index 00000000000..3d6b2c675ff --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/SoftwareSetUpdateSchedule.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 WorkSpacesThinClient +{ +namespace Model +{ + enum class SoftwareSetUpdateSchedule + { + NOT_SET, + USE_MAINTENANCE_WINDOW, + APPLY_IMMEDIATELY + }; + +namespace SoftwareSetUpdateScheduleMapper +{ +AWS_WORKSPACESTHINCLIENT_API SoftwareSetUpdateSchedule GetSoftwareSetUpdateScheduleForName(const Aws::String& name); + +AWS_WORKSPACESTHINCLIENT_API Aws::String GetNameForSoftwareSetUpdateSchedule(SoftwareSetUpdateSchedule value); +} // namespace SoftwareSetUpdateScheduleMapper +} // namespace Model +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/SoftwareSetUpdateStatus.h b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/SoftwareSetUpdateStatus.h new file mode 100644 index 00000000000..d556748cbae --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/SoftwareSetUpdateStatus.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 WorkSpacesThinClient +{ +namespace Model +{ + enum class SoftwareSetUpdateStatus + { + NOT_SET, + AVAILABLE, + IN_PROGRESS, + UP_TO_DATE + }; + +namespace SoftwareSetUpdateStatusMapper +{ +AWS_WORKSPACESTHINCLIENT_API SoftwareSetUpdateStatus GetSoftwareSetUpdateStatusForName(const Aws::String& name); + +AWS_WORKSPACESTHINCLIENT_API Aws::String GetNameForSoftwareSetUpdateStatus(SoftwareSetUpdateStatus value); +} // namespace SoftwareSetUpdateStatusMapper +} // namespace Model +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/SoftwareSetValidationStatus.h b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/SoftwareSetValidationStatus.h new file mode 100644 index 00000000000..021a6ce7f3e --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/SoftwareSetValidationStatus.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 WorkSpacesThinClient +{ +namespace Model +{ + enum class SoftwareSetValidationStatus + { + NOT_SET, + VALIDATED, + NOT_VALIDATED + }; + +namespace SoftwareSetValidationStatusMapper +{ +AWS_WORKSPACESTHINCLIENT_API SoftwareSetValidationStatus GetSoftwareSetValidationStatusForName(const Aws::String& name); + +AWS_WORKSPACESTHINCLIENT_API Aws::String GetNameForSoftwareSetValidationStatus(SoftwareSetValidationStatus value); +} // namespace SoftwareSetValidationStatusMapper +} // namespace Model +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/TagResourceRequest.h b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/TagResourceRequest.h new file mode 100644 index 00000000000..3e88da33e0c --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/TagResourceRequest.h @@ -0,0 +1,166 @@ +/** + * 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 WorkSpacesThinClient +{ +namespace Model +{ + + /** + */ + class TagResourceRequest : public WorkSpacesThinClientRequest + { + public: + AWS_WORKSPACESTHINCLIENT_API TagResourceRequest(); + + // 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 "TagResource"; } + + AWS_WORKSPACESTHINCLIENT_API Aws::String SerializePayload() const override; + + + /** + *

      The Amazon Resource Name (ARN) of the resource that you want to tag.

      + */ + inline const Aws::String& GetResourceArn() const{ return m_resourceArn; } + + /** + *

      The Amazon Resource Name (ARN) of the resource that you want to tag.

      + */ + inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; } + + /** + *

      The Amazon Resource Name (ARN) of the resource that you want to tag.

      + */ + inline void SetResourceArn(const Aws::String& value) { m_resourceArnHasBeenSet = true; m_resourceArn = value; } + + /** + *

      The Amazon Resource Name (ARN) of the resource that you want to tag.

      + */ + inline void SetResourceArn(Aws::String&& value) { m_resourceArnHasBeenSet = true; m_resourceArn = std::move(value); } + + /** + *

      The Amazon Resource Name (ARN) of the resource that you want to tag.

      + */ + inline void SetResourceArn(const char* value) { m_resourceArnHasBeenSet = true; m_resourceArn.assign(value); } + + /** + *

      The Amazon Resource Name (ARN) of the resource that you want to tag.

      + */ + inline TagResourceRequest& WithResourceArn(const Aws::String& value) { SetResourceArn(value); return *this;} + + /** + *

      The Amazon Resource Name (ARN) of the resource that you want to tag.

      + */ + inline TagResourceRequest& WithResourceArn(Aws::String&& value) { SetResourceArn(std::move(value)); return *this;} + + /** + *

      The Amazon Resource Name (ARN) of the resource that you want to tag.

      + */ + inline TagResourceRequest& WithResourceArn(const char* value) { SetResourceArn(value); return *this;} + + + /** + *

      A map of the key-value pairs of the tag or tags to assign to the + * resource.

      + */ + inline const Aws::Map& GetTags() const{ return m_tags; } + + /** + *

      A map of the key-value pairs of the tag or tags to assign to the + * resource.

      + */ + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + + /** + *

      A map of the key-value pairs of the tag or tags to assign to the + * resource.

      + */ + inline void SetTags(const Aws::Map& value) { m_tagsHasBeenSet = true; m_tags = value; } + + /** + *

      A map of the key-value pairs of the tag or tags to assign to the + * resource.

      + */ + inline void SetTags(Aws::Map&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } + + /** + *

      A map of the key-value pairs of the tag or tags to assign to the + * resource.

      + */ + inline TagResourceRequest& WithTags(const Aws::Map& value) { SetTags(value); return *this;} + + /** + *

      A map of the key-value pairs of the tag or tags to assign to the + * resource.

      + */ + inline TagResourceRequest& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} + + /** + *

      A map of the key-value pairs of the tag or tags to assign to the + * resource.

      + */ + inline TagResourceRequest& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } + + /** + *

      A map of the key-value pairs of the tag or tags to assign to the + * resource.

      + */ + inline TagResourceRequest& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } + + /** + *

      A map of the key-value pairs of the tag or tags to assign to the + * resource.

      + */ + inline TagResourceRequest& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } + + /** + *

      A map of the key-value pairs of the tag or tags to assign to the + * resource.

      + */ + inline TagResourceRequest& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } + + /** + *

      A map of the key-value pairs of the tag or tags to assign to the + * resource.

      + */ + inline TagResourceRequest& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } + + /** + *

      A map of the key-value pairs of the tag or tags to assign to the + * resource.

      + */ + inline TagResourceRequest& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } + + /** + *

      A map of the key-value pairs of the tag or tags to assign to the + * resource.

      + */ + inline TagResourceRequest& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } + + private: + + Aws::String m_resourceArn; + bool m_resourceArnHasBeenSet = false; + + Aws::Map m_tags; + bool m_tagsHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/TagResourceResult.h b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/TagResourceResult.h new file mode 100644 index 00000000000..c0013eda03b --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/TagResourceResult.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 + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace WorkSpacesThinClient +{ +namespace Model +{ + class TagResourceResult + { + public: + AWS_WORKSPACESTHINCLIENT_API TagResourceResult(); + AWS_WORKSPACESTHINCLIENT_API TagResourceResult(const Aws::AmazonWebServiceResult& result); + AWS_WORKSPACESTHINCLIENT_API TagResourceResult& 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 TagResourceResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline TagResourceResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline TagResourceResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/TargetDeviceStatus.h b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/TargetDeviceStatus.h new file mode 100644 index 00000000000..a2e7bcfcc18 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/TargetDeviceStatus.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 WorkSpacesThinClient +{ +namespace Model +{ + enum class TargetDeviceStatus + { + NOT_SET, + DEREGISTERED, + ARCHIVED + }; + +namespace TargetDeviceStatusMapper +{ +AWS_WORKSPACESTHINCLIENT_API TargetDeviceStatus GetTargetDeviceStatusForName(const Aws::String& name); + +AWS_WORKSPACESTHINCLIENT_API Aws::String GetNameForTargetDeviceStatus(TargetDeviceStatus value); +} // namespace TargetDeviceStatusMapper +} // namespace Model +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/ThrottlingException.h b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/ThrottlingException.h new file mode 100644 index 00000000000..e97c53c0c3f --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/ThrottlingException.h @@ -0,0 +1,217 @@ +/** + * 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 WorkSpacesThinClient +{ +namespace Model +{ + + /** + *

      The request was denied due to request throttling.

      See Also:

      + * AWS + * API Reference

      + */ + class ThrottlingException + { + public: + AWS_WORKSPACESTHINCLIENT_API ThrottlingException(); + AWS_WORKSPACESTHINCLIENT_API ThrottlingException(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESTHINCLIENT_API ThrottlingException& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESTHINCLIENT_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 ThrottlingException& WithMessage(const Aws::String& value) { SetMessage(value); return *this;} + + + inline ThrottlingException& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;} + + + inline ThrottlingException& WithMessage(const char* value) { SetMessage(value); return *this;} + + + /** + *

      The code for the service in Service + * Quotas.

      + */ + inline const Aws::String& GetServiceCode() const{ return m_serviceCode; } + + /** + *

      The code for the service in Service + * Quotas.

      + */ + inline bool ServiceCodeHasBeenSet() const { return m_serviceCodeHasBeenSet; } + + /** + *

      The code for the service in Service + * Quotas.

      + */ + inline void SetServiceCode(const Aws::String& value) { m_serviceCodeHasBeenSet = true; m_serviceCode = value; } + + /** + *

      The code for the service in Service + * Quotas.

      + */ + inline void SetServiceCode(Aws::String&& value) { m_serviceCodeHasBeenSet = true; m_serviceCode = std::move(value); } + + /** + *

      The code for the service in Service + * Quotas.

      + */ + inline void SetServiceCode(const char* value) { m_serviceCodeHasBeenSet = true; m_serviceCode.assign(value); } + + /** + *

      The code for the service in Service + * Quotas.

      + */ + inline ThrottlingException& WithServiceCode(const Aws::String& value) { SetServiceCode(value); return *this;} + + /** + *

      The code for the service in Service + * Quotas.

      + */ + inline ThrottlingException& WithServiceCode(Aws::String&& value) { SetServiceCode(std::move(value)); return *this;} + + /** + *

      The code for the service in Service + * Quotas.

      + */ + inline ThrottlingException& WithServiceCode(const char* value) { SetServiceCode(value); return *this;} + + + /** + *

      The code for the quota in Service + * Quotas.

      + */ + inline const Aws::String& GetQuotaCode() const{ return m_quotaCode; } + + /** + *

      The code for the quota in Service + * Quotas.

      + */ + inline bool QuotaCodeHasBeenSet() const { return m_quotaCodeHasBeenSet; } + + /** + *

      The code for the quota in Service + * Quotas.

      + */ + inline void SetQuotaCode(const Aws::String& value) { m_quotaCodeHasBeenSet = true; m_quotaCode = value; } + + /** + *

      The code for the quota in Service + * Quotas.

      + */ + inline void SetQuotaCode(Aws::String&& value) { m_quotaCodeHasBeenSet = true; m_quotaCode = std::move(value); } + + /** + *

      The code for the quota in Service + * Quotas.

      + */ + inline void SetQuotaCode(const char* value) { m_quotaCodeHasBeenSet = true; m_quotaCode.assign(value); } + + /** + *

      The code for the quota in Service + * Quotas.

      + */ + inline ThrottlingException& WithQuotaCode(const Aws::String& value) { SetQuotaCode(value); return *this;} + + /** + *

      The code for the quota in Service + * Quotas.

      + */ + inline ThrottlingException& WithQuotaCode(Aws::String&& value) { SetQuotaCode(std::move(value)); return *this;} + + /** + *

      The code for the quota in Service + * Quotas.

      + */ + inline ThrottlingException& WithQuotaCode(const char* value) { SetQuotaCode(value); return *this;} + + + /** + *

      The number of seconds to wait before retrying the next request.

      + */ + inline int GetRetryAfterSeconds() const{ return m_retryAfterSeconds; } + + /** + *

      The number of seconds to wait before retrying the next request.

      + */ + inline bool RetryAfterSecondsHasBeenSet() const { return m_retryAfterSecondsHasBeenSet; } + + /** + *

      The number of seconds to wait before retrying the next request.

      + */ + inline void SetRetryAfterSeconds(int value) { m_retryAfterSecondsHasBeenSet = true; m_retryAfterSeconds = value; } + + /** + *

      The number of seconds to wait before retrying the next request.

      + */ + inline ThrottlingException& WithRetryAfterSeconds(int value) { SetRetryAfterSeconds(value); return *this;} + + private: + + Aws::String m_message; + bool m_messageHasBeenSet = false; + + Aws::String m_serviceCode; + bool m_serviceCodeHasBeenSet = false; + + Aws::String m_quotaCode; + bool m_quotaCodeHasBeenSet = false; + + int m_retryAfterSeconds; + bool m_retryAfterSecondsHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/UntagResourceRequest.h b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/UntagResourceRequest.h new file mode 100644 index 00000000000..ab0b0ee8c41 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/UntagResourceRequest.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 Http +{ + class URI; +} //namespace Http +namespace WorkSpacesThinClient +{ +namespace Model +{ + + /** + */ + class UntagResourceRequest : public WorkSpacesThinClientRequest + { + public: + AWS_WORKSPACESTHINCLIENT_API UntagResourceRequest(); + + // 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 "UntagResource"; } + + AWS_WORKSPACESTHINCLIENT_API Aws::String SerializePayload() const override; + + AWS_WORKSPACESTHINCLIENT_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + /** + *

      The Amazon Resource Name (ARN) of the resource that you want to untag.

      + */ + inline const Aws::String& GetResourceArn() const{ return m_resourceArn; } + + /** + *

      The Amazon Resource Name (ARN) of the resource that you want to untag.

      + */ + inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; } + + /** + *

      The Amazon Resource Name (ARN) of the resource that you want to untag.

      + */ + inline void SetResourceArn(const Aws::String& value) { m_resourceArnHasBeenSet = true; m_resourceArn = value; } + + /** + *

      The Amazon Resource Name (ARN) of the resource that you want to untag.

      + */ + inline void SetResourceArn(Aws::String&& value) { m_resourceArnHasBeenSet = true; m_resourceArn = std::move(value); } + + /** + *

      The Amazon Resource Name (ARN) of the resource that you want to untag.

      + */ + inline void SetResourceArn(const char* value) { m_resourceArnHasBeenSet = true; m_resourceArn.assign(value); } + + /** + *

      The Amazon Resource Name (ARN) of the resource that you want to untag.

      + */ + inline UntagResourceRequest& WithResourceArn(const Aws::String& value) { SetResourceArn(value); return *this;} + + /** + *

      The Amazon Resource Name (ARN) of the resource that you want to untag.

      + */ + inline UntagResourceRequest& WithResourceArn(Aws::String&& value) { SetResourceArn(std::move(value)); return *this;} + + /** + *

      The Amazon Resource Name (ARN) of the resource that you want to untag.

      + */ + inline UntagResourceRequest& WithResourceArn(const char* value) { SetResourceArn(value); return *this;} + + + /** + *

      The keys of the key-value pairs for the tag or tags you want to remove from + * the specified resource.

      + */ + inline const Aws::Vector& GetTagKeys() const{ return m_tagKeys; } + + /** + *

      The keys of the key-value pairs for the tag or tags you want to remove from + * the specified resource.

      + */ + inline bool TagKeysHasBeenSet() const { return m_tagKeysHasBeenSet; } + + /** + *

      The keys of the key-value pairs for the tag or tags you want to remove from + * the specified resource.

      + */ + inline void SetTagKeys(const Aws::Vector& value) { m_tagKeysHasBeenSet = true; m_tagKeys = value; } + + /** + *

      The keys of the key-value pairs for the tag or tags you want to remove from + * the specified resource.

      + */ + inline void SetTagKeys(Aws::Vector&& value) { m_tagKeysHasBeenSet = true; m_tagKeys = std::move(value); } + + /** + *

      The keys of the key-value pairs for the tag or tags you want to remove from + * the specified resource.

      + */ + inline UntagResourceRequest& WithTagKeys(const Aws::Vector& value) { SetTagKeys(value); return *this;} + + /** + *

      The keys of the key-value pairs for the tag or tags you want to remove from + * the specified resource.

      + */ + inline UntagResourceRequest& WithTagKeys(Aws::Vector&& value) { SetTagKeys(std::move(value)); return *this;} + + /** + *

      The keys of the key-value pairs for the tag or tags you want to remove from + * the specified resource.

      + */ + inline UntagResourceRequest& AddTagKeys(const Aws::String& value) { m_tagKeysHasBeenSet = true; m_tagKeys.push_back(value); return *this; } + + /** + *

      The keys of the key-value pairs for the tag or tags you want to remove from + * the specified resource.

      + */ + inline UntagResourceRequest& AddTagKeys(Aws::String&& value) { m_tagKeysHasBeenSet = true; m_tagKeys.push_back(std::move(value)); return *this; } + + /** + *

      The keys of the key-value pairs for the tag or tags you want to remove from + * the specified resource.

      + */ + inline UntagResourceRequest& AddTagKeys(const char* value) { m_tagKeysHasBeenSet = true; m_tagKeys.push_back(value); return *this; } + + private: + + Aws::String m_resourceArn; + bool m_resourceArnHasBeenSet = false; + + Aws::Vector m_tagKeys; + bool m_tagKeysHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/UntagResourceResult.h b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/UntagResourceResult.h new file mode 100644 index 00000000000..2ba97a26da5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/UntagResourceResult.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 + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace WorkSpacesThinClient +{ +namespace Model +{ + class UntagResourceResult + { + public: + AWS_WORKSPACESTHINCLIENT_API UntagResourceResult(); + AWS_WORKSPACESTHINCLIENT_API UntagResourceResult(const Aws::AmazonWebServiceResult& result); + AWS_WORKSPACESTHINCLIENT_API UntagResourceResult& 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 UntagResourceResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline UntagResourceResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline UntagResourceResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/UpdateDeviceRequest.h b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/UpdateDeviceRequest.h new file mode 100644 index 00000000000..019afdd93cb --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/UpdateDeviceRequest.h @@ -0,0 +1,264 @@ +/** + * 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 WorkSpacesThinClient +{ +namespace Model +{ + + /** + */ + class UpdateDeviceRequest : public WorkSpacesThinClientRequest + { + public: + AWS_WORKSPACESTHINCLIENT_API UpdateDeviceRequest(); + + // 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 "UpdateDevice"; } + + AWS_WORKSPACESTHINCLIENT_API Aws::String SerializePayload() const override; + + + /** + *

      The ID of the device to update.

      + */ + inline const Aws::String& GetId() const{ return m_id; } + + /** + *

      The ID of the device to update.

      + */ + inline bool IdHasBeenSet() const { return m_idHasBeenSet; } + + /** + *

      The ID of the device to update.

      + */ + inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } + + /** + *

      The ID of the device to update.

      + */ + inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } + + /** + *

      The ID of the device to update.

      + */ + inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } + + /** + *

      The ID of the device to update.

      + */ + inline UpdateDeviceRequest& WithId(const Aws::String& value) { SetId(value); return *this;} + + /** + *

      The ID of the device to update.

      + */ + inline UpdateDeviceRequest& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + + /** + *

      The ID of the device to update.

      + */ + inline UpdateDeviceRequest& WithId(const char* value) { SetId(value); return *this;} + + + /** + *

      The name of the device to update.

      + */ + inline const Aws::String& GetName() const{ return m_name; } + + /** + *

      The name of the device to update.

      + */ + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + + /** + *

      The name of the device to update.

      + */ + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + + /** + *

      The name of the device to update.

      + */ + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + + /** + *

      The name of the device to update.

      + */ + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + + /** + *

      The name of the device to update.

      + */ + inline UpdateDeviceRequest& WithName(const Aws::String& value) { SetName(value); return *this;} + + /** + *

      The name of the device to update.

      + */ + inline UpdateDeviceRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + + /** + *

      The name of the device to update.

      + */ + inline UpdateDeviceRequest& WithName(const char* value) { SetName(value); return *this;} + + + /** + *

      The ID of the software set to apply.

      + */ + inline const Aws::String& GetDesiredSoftwareSetId() const{ return m_desiredSoftwareSetId; } + + /** + *

      The ID of the software set to apply.

      + */ + inline bool DesiredSoftwareSetIdHasBeenSet() const { return m_desiredSoftwareSetIdHasBeenSet; } + + /** + *

      The ID of the software set to apply.

      + */ + inline void SetDesiredSoftwareSetId(const Aws::String& value) { m_desiredSoftwareSetIdHasBeenSet = true; m_desiredSoftwareSetId = value; } + + /** + *

      The ID of the software set to apply.

      + */ + inline void SetDesiredSoftwareSetId(Aws::String&& value) { m_desiredSoftwareSetIdHasBeenSet = true; m_desiredSoftwareSetId = std::move(value); } + + /** + *

      The ID of the software set to apply.

      + */ + inline void SetDesiredSoftwareSetId(const char* value) { m_desiredSoftwareSetIdHasBeenSet = true; m_desiredSoftwareSetId.assign(value); } + + /** + *

      The ID of the software set to apply.

      + */ + inline UpdateDeviceRequest& WithDesiredSoftwareSetId(const Aws::String& value) { SetDesiredSoftwareSetId(value); return *this;} + + /** + *

      The ID of the software set to apply.

      + */ + inline UpdateDeviceRequest& WithDesiredSoftwareSetId(Aws::String&& value) { SetDesiredSoftwareSetId(std::move(value)); return *this;} + + /** + *

      The ID of the software set to apply.

      + */ + inline UpdateDeviceRequest& WithDesiredSoftwareSetId(const char* value) { SetDesiredSoftwareSetId(value); return *this;} + + + /** + *

      An option to define if software updates should be applied within a + * maintenance window.

      + */ + inline const SoftwareSetUpdateSchedule& GetSoftwareSetUpdateSchedule() const{ return m_softwareSetUpdateSchedule; } + + /** + *

      An option to define if software updates should be applied within a + * maintenance window.

      + */ + inline bool SoftwareSetUpdateScheduleHasBeenSet() const { return m_softwareSetUpdateScheduleHasBeenSet; } + + /** + *

      An option to define if software updates should be applied within a + * maintenance window.

      + */ + inline void SetSoftwareSetUpdateSchedule(const SoftwareSetUpdateSchedule& value) { m_softwareSetUpdateScheduleHasBeenSet = true; m_softwareSetUpdateSchedule = value; } + + /** + *

      An option to define if software updates should be applied within a + * maintenance window.

      + */ + inline void SetSoftwareSetUpdateSchedule(SoftwareSetUpdateSchedule&& value) { m_softwareSetUpdateScheduleHasBeenSet = true; m_softwareSetUpdateSchedule = std::move(value); } + + /** + *

      An option to define if software updates should be applied within a + * maintenance window.

      + */ + inline UpdateDeviceRequest& WithSoftwareSetUpdateSchedule(const SoftwareSetUpdateSchedule& value) { SetSoftwareSetUpdateSchedule(value); return *this;} + + /** + *

      An option to define if software updates should be applied within a + * maintenance window.

      + */ + inline UpdateDeviceRequest& WithSoftwareSetUpdateSchedule(SoftwareSetUpdateSchedule&& value) { SetSoftwareSetUpdateSchedule(std::move(value)); return *this;} + + + /** + *

      The Amazon Resource Name (ARN) of the Key Management Service key to use for + * the update.

      + */ + inline const Aws::String& GetKmsKeyArn() const{ return m_kmsKeyArn; } + + /** + *

      The Amazon Resource Name (ARN) of the Key Management Service key to use for + * the update.

      + */ + inline bool KmsKeyArnHasBeenSet() const { return m_kmsKeyArnHasBeenSet; } + + /** + *

      The Amazon Resource Name (ARN) of the Key Management Service key to use for + * the update.

      + */ + inline void SetKmsKeyArn(const Aws::String& value) { m_kmsKeyArnHasBeenSet = true; m_kmsKeyArn = value; } + + /** + *

      The Amazon Resource Name (ARN) of the Key Management Service key to use for + * the update.

      + */ + inline void SetKmsKeyArn(Aws::String&& value) { m_kmsKeyArnHasBeenSet = true; m_kmsKeyArn = std::move(value); } + + /** + *

      The Amazon Resource Name (ARN) of the Key Management Service key to use for + * the update.

      + */ + inline void SetKmsKeyArn(const char* value) { m_kmsKeyArnHasBeenSet = true; m_kmsKeyArn.assign(value); } + + /** + *

      The Amazon Resource Name (ARN) of the Key Management Service key to use for + * the update.

      + */ + inline UpdateDeviceRequest& WithKmsKeyArn(const Aws::String& value) { SetKmsKeyArn(value); return *this;} + + /** + *

      The Amazon Resource Name (ARN) of the Key Management Service key to use for + * the update.

      + */ + inline UpdateDeviceRequest& WithKmsKeyArn(Aws::String&& value) { SetKmsKeyArn(std::move(value)); return *this;} + + /** + *

      The Amazon Resource Name (ARN) of the Key Management Service key to use for + * the update.

      + */ + inline UpdateDeviceRequest& WithKmsKeyArn(const char* value) { SetKmsKeyArn(value); return *this;} + + private: + + Aws::String m_id; + bool m_idHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::String m_desiredSoftwareSetId; + bool m_desiredSoftwareSetIdHasBeenSet = false; + + SoftwareSetUpdateSchedule m_softwareSetUpdateSchedule; + bool m_softwareSetUpdateScheduleHasBeenSet = false; + + Aws::String m_kmsKeyArn; + bool m_kmsKeyArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/UpdateDeviceResult.h b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/UpdateDeviceResult.h new file mode 100644 index 00000000000..cf4e2ed4724 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/UpdateDeviceResult.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 + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace WorkSpacesThinClient +{ +namespace Model +{ + class UpdateDeviceResult + { + public: + AWS_WORKSPACESTHINCLIENT_API UpdateDeviceResult(); + AWS_WORKSPACESTHINCLIENT_API UpdateDeviceResult(const Aws::AmazonWebServiceResult& result); + AWS_WORKSPACESTHINCLIENT_API UpdateDeviceResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

      Describes a device.

      + */ + inline const DeviceSummary& GetDevice() const{ return m_device; } + + /** + *

      Describes a device.

      + */ + inline void SetDevice(const DeviceSummary& value) { m_device = value; } + + /** + *

      Describes a device.

      + */ + inline void SetDevice(DeviceSummary&& value) { m_device = std::move(value); } + + /** + *

      Describes a device.

      + */ + inline UpdateDeviceResult& WithDevice(const DeviceSummary& value) { SetDevice(value); return *this;} + + /** + *

      Describes a device.

      + */ + inline UpdateDeviceResult& WithDevice(DeviceSummary&& value) { SetDevice(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 UpdateDeviceResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline UpdateDeviceResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline UpdateDeviceResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + DeviceSummary m_device; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/UpdateEnvironmentRequest.h b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/UpdateEnvironmentRequest.h new file mode 100644 index 00000000000..574eeda27ff --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/UpdateEnvironmentRequest.h @@ -0,0 +1,386 @@ +/** + * 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 WorkSpacesThinClient +{ +namespace Model +{ + + /** + */ + class UpdateEnvironmentRequest : public WorkSpacesThinClientRequest + { + public: + AWS_WORKSPACESTHINCLIENT_API UpdateEnvironmentRequest(); + + // 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 "UpdateEnvironment"; } + + AWS_WORKSPACESTHINCLIENT_API Aws::String SerializePayload() const override; + + + /** + *

      The ID of the environment to update.

      + */ + inline const Aws::String& GetId() const{ return m_id; } + + /** + *

      The ID of the environment to update.

      + */ + inline bool IdHasBeenSet() const { return m_idHasBeenSet; } + + /** + *

      The ID of the environment to update.

      + */ + inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } + + /** + *

      The ID of the environment to update.

      + */ + inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } + + /** + *

      The ID of the environment to update.

      + */ + inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } + + /** + *

      The ID of the environment to update.

      + */ + inline UpdateEnvironmentRequest& WithId(const Aws::String& value) { SetId(value); return *this;} + + /** + *

      The ID of the environment to update.

      + */ + inline UpdateEnvironmentRequest& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + + /** + *

      The ID of the environment to update.

      + */ + inline UpdateEnvironmentRequest& WithId(const char* value) { SetId(value); return *this;} + + + /** + *

      The name of the environment to update.

      + */ + inline const Aws::String& GetName() const{ return m_name; } + + /** + *

      The name of the environment to update.

      + */ + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + + /** + *

      The name of the environment to update.

      + */ + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + + /** + *

      The name of the environment to update.

      + */ + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + + /** + *

      The name of the environment to update.

      + */ + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + + /** + *

      The name of the environment to update.

      + */ + inline UpdateEnvironmentRequest& WithName(const Aws::String& value) { SetName(value); return *this;} + + /** + *

      The name of the environment to update.

      + */ + inline UpdateEnvironmentRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + + /** + *

      The name of the environment to update.

      + */ + inline UpdateEnvironmentRequest& WithName(const char* value) { SetName(value); return *this;} + + + /** + *

      The Amazon Resource Name (ARN) of the desktop to stream from Amazon + * WorkSpaces, WorkSpaces Web, or AppStream 2.0.

      + */ + inline const Aws::String& GetDesktopArn() const{ return m_desktopArn; } + + /** + *

      The Amazon Resource Name (ARN) of the desktop to stream from Amazon + * WorkSpaces, WorkSpaces Web, or AppStream 2.0.

      + */ + inline bool DesktopArnHasBeenSet() const { return m_desktopArnHasBeenSet; } + + /** + *

      The Amazon Resource Name (ARN) of the desktop to stream from Amazon + * WorkSpaces, WorkSpaces Web, or AppStream 2.0.

      + */ + inline void SetDesktopArn(const Aws::String& value) { m_desktopArnHasBeenSet = true; m_desktopArn = value; } + + /** + *

      The Amazon Resource Name (ARN) of the desktop to stream from Amazon + * WorkSpaces, WorkSpaces Web, or AppStream 2.0.

      + */ + inline void SetDesktopArn(Aws::String&& value) { m_desktopArnHasBeenSet = true; m_desktopArn = std::move(value); } + + /** + *

      The Amazon Resource Name (ARN) of the desktop to stream from Amazon + * WorkSpaces, WorkSpaces Web, or AppStream 2.0.

      + */ + inline void SetDesktopArn(const char* value) { m_desktopArnHasBeenSet = true; m_desktopArn.assign(value); } + + /** + *

      The Amazon Resource Name (ARN) of the desktop to stream from Amazon + * WorkSpaces, WorkSpaces Web, or AppStream 2.0.

      + */ + inline UpdateEnvironmentRequest& WithDesktopArn(const Aws::String& value) { SetDesktopArn(value); return *this;} + + /** + *

      The Amazon Resource Name (ARN) of the desktop to stream from Amazon + * WorkSpaces, WorkSpaces Web, or AppStream 2.0.

      + */ + inline UpdateEnvironmentRequest& WithDesktopArn(Aws::String&& value) { SetDesktopArn(std::move(value)); return *this;} + + /** + *

      The Amazon Resource Name (ARN) of the desktop to stream from Amazon + * WorkSpaces, WorkSpaces Web, or AppStream 2.0.

      + */ + inline UpdateEnvironmentRequest& WithDesktopArn(const char* value) { SetDesktopArn(value); return *this;} + + + /** + *

      The URL for the identity provider login (only for environments that use + * AppStream 2.0).

      + */ + inline const Aws::String& GetDesktopEndpoint() const{ return m_desktopEndpoint; } + + /** + *

      The URL for the identity provider login (only for environments that use + * AppStream 2.0).

      + */ + inline bool DesktopEndpointHasBeenSet() const { return m_desktopEndpointHasBeenSet; } + + /** + *

      The URL for the identity provider login (only for environments that use + * AppStream 2.0).

      + */ + inline void SetDesktopEndpoint(const Aws::String& value) { m_desktopEndpointHasBeenSet = true; m_desktopEndpoint = value; } + + /** + *

      The URL for the identity provider login (only for environments that use + * AppStream 2.0).

      + */ + inline void SetDesktopEndpoint(Aws::String&& value) { m_desktopEndpointHasBeenSet = true; m_desktopEndpoint = std::move(value); } + + /** + *

      The URL for the identity provider login (only for environments that use + * AppStream 2.0).

      + */ + inline void SetDesktopEndpoint(const char* value) { m_desktopEndpointHasBeenSet = true; m_desktopEndpoint.assign(value); } + + /** + *

      The URL for the identity provider login (only for environments that use + * AppStream 2.0).

      + */ + inline UpdateEnvironmentRequest& WithDesktopEndpoint(const Aws::String& value) { SetDesktopEndpoint(value); return *this;} + + /** + *

      The URL for the identity provider login (only for environments that use + * AppStream 2.0).

      + */ + inline UpdateEnvironmentRequest& WithDesktopEndpoint(Aws::String&& value) { SetDesktopEndpoint(std::move(value)); return *this;} + + /** + *

      The URL for the identity provider login (only for environments that use + * AppStream 2.0).

      + */ + inline UpdateEnvironmentRequest& WithDesktopEndpoint(const char* value) { SetDesktopEndpoint(value); return *this;} + + + /** + *

      An option to define if software updates should be applied within a + * maintenance window.

      + */ + inline const SoftwareSetUpdateSchedule& GetSoftwareSetUpdateSchedule() const{ return m_softwareSetUpdateSchedule; } + + /** + *

      An option to define if software updates should be applied within a + * maintenance window.

      + */ + inline bool SoftwareSetUpdateScheduleHasBeenSet() const { return m_softwareSetUpdateScheduleHasBeenSet; } + + /** + *

      An option to define if software updates should be applied within a + * maintenance window.

      + */ + inline void SetSoftwareSetUpdateSchedule(const SoftwareSetUpdateSchedule& value) { m_softwareSetUpdateScheduleHasBeenSet = true; m_softwareSetUpdateSchedule = value; } + + /** + *

      An option to define if software updates should be applied within a + * maintenance window.

      + */ + inline void SetSoftwareSetUpdateSchedule(SoftwareSetUpdateSchedule&& value) { m_softwareSetUpdateScheduleHasBeenSet = true; m_softwareSetUpdateSchedule = std::move(value); } + + /** + *

      An option to define if software updates should be applied within a + * maintenance window.

      + */ + inline UpdateEnvironmentRequest& WithSoftwareSetUpdateSchedule(const SoftwareSetUpdateSchedule& value) { SetSoftwareSetUpdateSchedule(value); return *this;} + + /** + *

      An option to define if software updates should be applied within a + * maintenance window.

      + */ + inline UpdateEnvironmentRequest& WithSoftwareSetUpdateSchedule(SoftwareSetUpdateSchedule&& value) { SetSoftwareSetUpdateSchedule(std::move(value)); return *this;} + + + /** + *

      A specification for a time window to apply software updates.

      + */ + inline const MaintenanceWindow& GetMaintenanceWindow() const{ return m_maintenanceWindow; } + + /** + *

      A specification for a time window to apply software updates.

      + */ + inline bool MaintenanceWindowHasBeenSet() const { return m_maintenanceWindowHasBeenSet; } + + /** + *

      A specification for a time window to apply software updates.

      + */ + inline void SetMaintenanceWindow(const MaintenanceWindow& value) { m_maintenanceWindowHasBeenSet = true; m_maintenanceWindow = value; } + + /** + *

      A specification for a time window to apply software updates.

      + */ + inline void SetMaintenanceWindow(MaintenanceWindow&& value) { m_maintenanceWindowHasBeenSet = true; m_maintenanceWindow = std::move(value); } + + /** + *

      A specification for a time window to apply software updates.

      + */ + inline UpdateEnvironmentRequest& WithMaintenanceWindow(const MaintenanceWindow& value) { SetMaintenanceWindow(value); return *this;} + + /** + *

      A specification for a time window to apply software updates.

      + */ + inline UpdateEnvironmentRequest& WithMaintenanceWindow(MaintenanceWindow&& value) { SetMaintenanceWindow(std::move(value)); return *this;} + + + /** + *

      An option to define which software updates to apply.

      + */ + inline const SoftwareSetUpdateMode& GetSoftwareSetUpdateMode() const{ return m_softwareSetUpdateMode; } + + /** + *

      An option to define which software updates to apply.

      + */ + inline bool SoftwareSetUpdateModeHasBeenSet() const { return m_softwareSetUpdateModeHasBeenSet; } + + /** + *

      An option to define which software updates to apply.

      + */ + inline void SetSoftwareSetUpdateMode(const SoftwareSetUpdateMode& value) { m_softwareSetUpdateModeHasBeenSet = true; m_softwareSetUpdateMode = value; } + + /** + *

      An option to define which software updates to apply.

      + */ + inline void SetSoftwareSetUpdateMode(SoftwareSetUpdateMode&& value) { m_softwareSetUpdateModeHasBeenSet = true; m_softwareSetUpdateMode = std::move(value); } + + /** + *

      An option to define which software updates to apply.

      + */ + inline UpdateEnvironmentRequest& WithSoftwareSetUpdateMode(const SoftwareSetUpdateMode& value) { SetSoftwareSetUpdateMode(value); return *this;} + + /** + *

      An option to define which software updates to apply.

      + */ + inline UpdateEnvironmentRequest& WithSoftwareSetUpdateMode(SoftwareSetUpdateMode&& value) { SetSoftwareSetUpdateMode(std::move(value)); return *this;} + + + /** + *

      The ID of the software set to apply.

      + */ + inline const Aws::String& GetDesiredSoftwareSetId() const{ return m_desiredSoftwareSetId; } + + /** + *

      The ID of the software set to apply.

      + */ + inline bool DesiredSoftwareSetIdHasBeenSet() const { return m_desiredSoftwareSetIdHasBeenSet; } + + /** + *

      The ID of the software set to apply.

      + */ + inline void SetDesiredSoftwareSetId(const Aws::String& value) { m_desiredSoftwareSetIdHasBeenSet = true; m_desiredSoftwareSetId = value; } + + /** + *

      The ID of the software set to apply.

      + */ + inline void SetDesiredSoftwareSetId(Aws::String&& value) { m_desiredSoftwareSetIdHasBeenSet = true; m_desiredSoftwareSetId = std::move(value); } + + /** + *

      The ID of the software set to apply.

      + */ + inline void SetDesiredSoftwareSetId(const char* value) { m_desiredSoftwareSetIdHasBeenSet = true; m_desiredSoftwareSetId.assign(value); } + + /** + *

      The ID of the software set to apply.

      + */ + inline UpdateEnvironmentRequest& WithDesiredSoftwareSetId(const Aws::String& value) { SetDesiredSoftwareSetId(value); return *this;} + + /** + *

      The ID of the software set to apply.

      + */ + inline UpdateEnvironmentRequest& WithDesiredSoftwareSetId(Aws::String&& value) { SetDesiredSoftwareSetId(std::move(value)); return *this;} + + /** + *

      The ID of the software set to apply.

      + */ + inline UpdateEnvironmentRequest& WithDesiredSoftwareSetId(const char* value) { SetDesiredSoftwareSetId(value); return *this;} + + private: + + Aws::String m_id; + bool m_idHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::String m_desktopArn; + bool m_desktopArnHasBeenSet = false; + + Aws::String m_desktopEndpoint; + bool m_desktopEndpointHasBeenSet = false; + + SoftwareSetUpdateSchedule m_softwareSetUpdateSchedule; + bool m_softwareSetUpdateScheduleHasBeenSet = false; + + MaintenanceWindow m_maintenanceWindow; + bool m_maintenanceWindowHasBeenSet = false; + + SoftwareSetUpdateMode m_softwareSetUpdateMode; + bool m_softwareSetUpdateModeHasBeenSet = false; + + Aws::String m_desiredSoftwareSetId; + bool m_desiredSoftwareSetIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/UpdateEnvironmentResult.h b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/UpdateEnvironmentResult.h new file mode 100644 index 00000000000..145baf73514 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/UpdateEnvironmentResult.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 + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace WorkSpacesThinClient +{ +namespace Model +{ + class UpdateEnvironmentResult + { + public: + AWS_WORKSPACESTHINCLIENT_API UpdateEnvironmentResult(); + AWS_WORKSPACESTHINCLIENT_API UpdateEnvironmentResult(const Aws::AmazonWebServiceResult& result); + AWS_WORKSPACESTHINCLIENT_API UpdateEnvironmentResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

      Describes an environment.

      + */ + inline const EnvironmentSummary& GetEnvironment() const{ return m_environment; } + + /** + *

      Describes an environment.

      + */ + inline void SetEnvironment(const EnvironmentSummary& value) { m_environment = value; } + + /** + *

      Describes an environment.

      + */ + inline void SetEnvironment(EnvironmentSummary&& value) { m_environment = std::move(value); } + + /** + *

      Describes an environment.

      + */ + inline UpdateEnvironmentResult& WithEnvironment(const EnvironmentSummary& value) { SetEnvironment(value); return *this;} + + /** + *

      Describes an environment.

      + */ + inline UpdateEnvironmentResult& WithEnvironment(EnvironmentSummary&& value) { SetEnvironment(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 UpdateEnvironmentResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline UpdateEnvironmentResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline UpdateEnvironmentResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + EnvironmentSummary m_environment; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/UpdateSoftwareSetRequest.h b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/UpdateSoftwareSetRequest.h new file mode 100644 index 00000000000..1191aa0b17d --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/UpdateSoftwareSetRequest.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 + +namespace Aws +{ +namespace WorkSpacesThinClient +{ +namespace Model +{ + + /** + */ + class UpdateSoftwareSetRequest : public WorkSpacesThinClientRequest + { + public: + AWS_WORKSPACESTHINCLIENT_API UpdateSoftwareSetRequest(); + + // 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 "UpdateSoftwareSet"; } + + AWS_WORKSPACESTHINCLIENT_API Aws::String SerializePayload() const override; + + + /** + *

      The ID of the software set to update.

      + */ + inline const Aws::String& GetId() const{ return m_id; } + + /** + *

      The ID of the software set to update.

      + */ + inline bool IdHasBeenSet() const { return m_idHasBeenSet; } + + /** + *

      The ID of the software set to update.

      + */ + inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } + + /** + *

      The ID of the software set to update.

      + */ + inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } + + /** + *

      The ID of the software set to update.

      + */ + inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } + + /** + *

      The ID of the software set to update.

      + */ + inline UpdateSoftwareSetRequest& WithId(const Aws::String& value) { SetId(value); return *this;} + + /** + *

      The ID of the software set to update.

      + */ + inline UpdateSoftwareSetRequest& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + + /** + *

      The ID of the software set to update.

      + */ + inline UpdateSoftwareSetRequest& WithId(const char* value) { SetId(value); return *this;} + + + /** + *

      An option to define if the software set has been validated.

      + */ + inline const SoftwareSetValidationStatus& GetValidationStatus() const{ return m_validationStatus; } + + /** + *

      An option to define if the software set has been validated.

      + */ + inline bool ValidationStatusHasBeenSet() const { return m_validationStatusHasBeenSet; } + + /** + *

      An option to define if the software set has been validated.

      + */ + inline void SetValidationStatus(const SoftwareSetValidationStatus& value) { m_validationStatusHasBeenSet = true; m_validationStatus = value; } + + /** + *

      An option to define if the software set has been validated.

      + */ + inline void SetValidationStatus(SoftwareSetValidationStatus&& value) { m_validationStatusHasBeenSet = true; m_validationStatus = std::move(value); } + + /** + *

      An option to define if the software set has been validated.

      + */ + inline UpdateSoftwareSetRequest& WithValidationStatus(const SoftwareSetValidationStatus& value) { SetValidationStatus(value); return *this;} + + /** + *

      An option to define if the software set has been validated.

      + */ + inline UpdateSoftwareSetRequest& WithValidationStatus(SoftwareSetValidationStatus&& value) { SetValidationStatus(std::move(value)); return *this;} + + private: + + Aws::String m_id; + bool m_idHasBeenSet = false; + + SoftwareSetValidationStatus m_validationStatus; + bool m_validationStatusHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/UpdateSoftwareSetResult.h b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/UpdateSoftwareSetResult.h new file mode 100644 index 00000000000..5bedb245cb6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/UpdateSoftwareSetResult.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 + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace WorkSpacesThinClient +{ +namespace Model +{ + class UpdateSoftwareSetResult + { + public: + AWS_WORKSPACESTHINCLIENT_API UpdateSoftwareSetResult(); + AWS_WORKSPACESTHINCLIENT_API UpdateSoftwareSetResult(const Aws::AmazonWebServiceResult& result); + AWS_WORKSPACESTHINCLIENT_API UpdateSoftwareSetResult& 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 UpdateSoftwareSetResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline UpdateSoftwareSetResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline UpdateSoftwareSetResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/ValidationException.h b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/ValidationException.h new file mode 100644 index 00000000000..a1274eb7a83 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/ValidationException.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 +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkSpacesThinClient +{ +namespace Model +{ + + /** + *

      The input fails to satisfy the specified constraints.

      See + * Also:

      AWS + * API Reference

      + */ + class ValidationException + { + public: + AWS_WORKSPACESTHINCLIENT_API ValidationException(); + AWS_WORKSPACESTHINCLIENT_API ValidationException(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESTHINCLIENT_API ValidationException& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKSPACESTHINCLIENT_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 ValidationException& WithMessage(const Aws::String& value) { SetMessage(value); return *this;} + + + inline ValidationException& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;} + + + inline ValidationException& WithMessage(const char* value) { SetMessage(value); return *this;} + + + /** + *

      The reason for the exception.

      + */ + inline const ValidationExceptionReason& GetReason() const{ return m_reason; } + + /** + *

      The reason for the exception.

      + */ + inline bool ReasonHasBeenSet() const { return m_reasonHasBeenSet; } + + /** + *

      The reason for the exception.

      + */ + inline void SetReason(const ValidationExceptionReason& value) { m_reasonHasBeenSet = true; m_reason = value; } + + /** + *

      The reason for the exception.

      + */ + inline void SetReason(ValidationExceptionReason&& value) { m_reasonHasBeenSet = true; m_reason = std::move(value); } + + /** + *

      The reason for the exception.

      + */ + inline ValidationException& WithReason(const ValidationExceptionReason& value) { SetReason(value); return *this;} + + /** + *

      The reason for the exception.

      + */ + inline ValidationException& WithReason(ValidationExceptionReason&& value) { SetReason(std::move(value)); return *this;} + + + /** + *

      A list of fields that didn't validate.

      + */ + inline const Aws::Vector& GetFieldList() const{ return m_fieldList; } + + /** + *

      A list of fields that didn't validate.

      + */ + inline bool FieldListHasBeenSet() const { return m_fieldListHasBeenSet; } + + /** + *

      A list of fields that didn't validate.

      + */ + inline void SetFieldList(const Aws::Vector& value) { m_fieldListHasBeenSet = true; m_fieldList = value; } + + /** + *

      A list of fields that didn't validate.

      + */ + inline void SetFieldList(Aws::Vector&& value) { m_fieldListHasBeenSet = true; m_fieldList = std::move(value); } + + /** + *

      A list of fields that didn't validate.

      + */ + inline ValidationException& WithFieldList(const Aws::Vector& value) { SetFieldList(value); return *this;} + + /** + *

      A list of fields that didn't validate.

      + */ + inline ValidationException& WithFieldList(Aws::Vector&& value) { SetFieldList(std::move(value)); return *this;} + + /** + *

      A list of fields that didn't validate.

      + */ + inline ValidationException& AddFieldList(const ValidationExceptionField& value) { m_fieldListHasBeenSet = true; m_fieldList.push_back(value); return *this; } + + /** + *

      A list of fields that didn't validate.

      + */ + inline ValidationException& AddFieldList(ValidationExceptionField&& value) { m_fieldListHasBeenSet = true; m_fieldList.push_back(std::move(value)); return *this; } + + private: + + Aws::String m_message; + bool m_messageHasBeenSet = false; + + ValidationExceptionReason m_reason; + bool m_reasonHasBeenSet = false; + + Aws::Vector m_fieldList; + bool m_fieldListHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/ValidationExceptionField.h b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/ValidationExceptionField.h new file mode 100644 index 00000000000..16c67154b9d --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/ValidationExceptionField.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 + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkSpacesThinClient +{ +namespace Model +{ + + /** + *

      Describes a validation exception.

      See Also:

      AWS + * API Reference

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

      The name of the exception.

      + */ + inline const Aws::String& GetName() const{ return m_name; } + + /** + *

      The name of the exception.

      + */ + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + + /** + *

      The name of the exception.

      + */ + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + + /** + *

      The name of the exception.

      + */ + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + + /** + *

      The name of the exception.

      + */ + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + + /** + *

      The name of the exception.

      + */ + inline ValidationExceptionField& WithName(const Aws::String& value) { SetName(value); return *this;} + + /** + *

      The name of the exception.

      + */ + inline ValidationExceptionField& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + + /** + *

      The name of the exception.

      + */ + inline ValidationExceptionField& WithName(const char* value) { SetName(value); return *this;} + + + /** + *

      A message that describes the reason for the exception.

      + */ + inline const Aws::String& GetMessage() const{ return m_message; } + + /** + *

      A message that describes the reason for the exception.

      + */ + inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } + + /** + *

      A message that describes the reason for the exception.

      + */ + inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; } + + /** + *

      A message that describes the reason for the exception.

      + */ + inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); } + + /** + *

      A message that describes the reason for the exception.

      + */ + inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); } + + /** + *

      A message that describes the reason for the exception.

      + */ + inline ValidationExceptionField& WithMessage(const Aws::String& value) { SetMessage(value); return *this;} + + /** + *

      A message that describes the reason for the exception.

      + */ + inline ValidationExceptionField& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;} + + /** + *

      A message that describes the reason for the exception.

      + */ + inline ValidationExceptionField& WithMessage(const char* value) { SetMessage(value); return *this;} + + private: + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::String m_message; + bool m_messageHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/ValidationExceptionReason.h b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/ValidationExceptionReason.h new file mode 100644 index 00000000000..211fb466b8a --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/model/ValidationExceptionReason.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 WorkSpacesThinClient +{ +namespace Model +{ + enum class ValidationExceptionReason + { + NOT_SET, + unknownOperation, + cannotParse, + fieldValidationFailed, + other + }; + +namespace ValidationExceptionReasonMapper +{ +AWS_WORKSPACESTHINCLIENT_API ValidationExceptionReason GetValidationExceptionReasonForName(const Aws::String& name); + +AWS_WORKSPACESTHINCLIENT_API Aws::String GetNameForValidationExceptionReason(ValidationExceptionReason value); +} // namespace ValidationExceptionReasonMapper +} // namespace Model +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/source/WorkSpacesThinClientClient.cpp b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/WorkSpacesThinClientClient.cpp new file mode 100644 index 00000000000..1ce3d22b4a2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/WorkSpacesThinClientClient.cpp @@ -0,0 +1,713 @@ +/** + * 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 + + +using namespace Aws; +using namespace Aws::Auth; +using namespace Aws::Client; +using namespace Aws::WorkSpacesThinClient; +using namespace Aws::WorkSpacesThinClient::Model; +using namespace Aws::Http; +using namespace Aws::Utils::Json; +using namespace smithy::components::tracing; +using ResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; + +const char* WorkSpacesThinClientClient::SERVICE_NAME = "thinclient"; +const char* WorkSpacesThinClientClient::ALLOCATION_TAG = "WorkSpacesThinClientClient"; + +WorkSpacesThinClientClient::WorkSpacesThinClientClient(const WorkSpacesThinClient::WorkSpacesThinClientClientConfiguration& 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_executor(clientConfiguration.executor), + m_endpointProvider(std::move(endpointProvider)) +{ + init(m_clientConfiguration); +} + +WorkSpacesThinClientClient::WorkSpacesThinClientClient(const AWSCredentials& credentials, + std::shared_ptr endpointProvider, + const WorkSpacesThinClient::WorkSpacesThinClientClientConfiguration& 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_executor(clientConfiguration.executor), + m_endpointProvider(std::move(endpointProvider)) +{ + init(m_clientConfiguration); +} + +WorkSpacesThinClientClient::WorkSpacesThinClientClient(const std::shared_ptr& credentialsProvider, + std::shared_ptr endpointProvider, + const WorkSpacesThinClient::WorkSpacesThinClientClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + credentialsProvider, + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_executor(clientConfiguration.executor), + m_endpointProvider(std::move(endpointProvider)) +{ + init(m_clientConfiguration); +} + + /* Legacy constructors due deprecation */ + WorkSpacesThinClientClient::WorkSpacesThinClientClient(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_executor(clientConfiguration.executor), + m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +WorkSpacesThinClientClient::WorkSpacesThinClientClient(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_executor(clientConfiguration.executor), + m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +WorkSpacesThinClientClient::WorkSpacesThinClientClient(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_executor(clientConfiguration.executor), + m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + + /* End of legacy constructors due deprecation */ +WorkSpacesThinClientClient::~WorkSpacesThinClientClient() +{ + ShutdownSdkClient(this, -1); +} + +std::shared_ptr& WorkSpacesThinClientClient::accessEndpointProvider() +{ + return m_endpointProvider; +} + +void WorkSpacesThinClientClient::init(const WorkSpacesThinClient::WorkSpacesThinClientClientConfiguration& config) +{ + AWSClient::SetServiceClientName("WorkSpaces Thin Client"); + AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); + m_endpointProvider->InitBuiltInParameters(config); +} + +void WorkSpacesThinClientClient::OverrideEndpoint(const Aws::String& endpoint) +{ + AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); + m_endpointProvider->OverrideEndpoint(endpoint); +} + +CreateEnvironmentOutcome WorkSpacesThinClientClient::CreateEnvironment(const CreateEnvironmentRequest& request) const +{ + AWS_OPERATION_GUARD(CreateEnvironment); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CreateEnvironment, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, CreateEnvironment, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CreateEnvironment, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".CreateEnvironment", + {{ 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( + [&]()-> CreateEnvironmentOutcome { + 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, CreateEnvironment, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + auto addPrefixErr = endpointResolutionOutcome.GetResult().AddPrefixIfMissing("api."); + AWS_CHECK(SERVICE_NAME, !addPrefixErr, addPrefixErr->GetMessage(), CreateEnvironmentOutcome(addPrefixErr.value())); + endpointResolutionOutcome.GetResult().AddPathSegments("/environments"); + return CreateEnvironmentOutcome(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()}}); +} + +DeleteDeviceOutcome WorkSpacesThinClientClient::DeleteDevice(const DeleteDeviceRequest& request) const +{ + AWS_OPERATION_GUARD(DeleteDevice); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteDevice, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.IdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteDevice", "Required field: Id, is not set"); + return DeleteDeviceOutcome(Aws::Client::AWSError(WorkSpacesThinClientErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Id]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DeleteDevice, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DeleteDevice, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DeleteDevice", + {{ 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( + [&]()-> DeleteDeviceOutcome { + 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, DeleteDevice, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + auto addPrefixErr = endpointResolutionOutcome.GetResult().AddPrefixIfMissing("api."); + AWS_CHECK(SERVICE_NAME, !addPrefixErr, addPrefixErr->GetMessage(), DeleteDeviceOutcome(addPrefixErr.value())); + endpointResolutionOutcome.GetResult().AddPathSegments("/devices/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetId()); + return DeleteDeviceOutcome(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()}}); +} + +DeleteEnvironmentOutcome WorkSpacesThinClientClient::DeleteEnvironment(const DeleteEnvironmentRequest& request) const +{ + AWS_OPERATION_GUARD(DeleteEnvironment); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteEnvironment, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.IdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteEnvironment", "Required field: Id, is not set"); + return DeleteEnvironmentOutcome(Aws::Client::AWSError(WorkSpacesThinClientErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Id]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DeleteEnvironment, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DeleteEnvironment, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DeleteEnvironment", + {{ 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( + [&]()-> DeleteEnvironmentOutcome { + 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, DeleteEnvironment, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + auto addPrefixErr = endpointResolutionOutcome.GetResult().AddPrefixIfMissing("api."); + AWS_CHECK(SERVICE_NAME, !addPrefixErr, addPrefixErr->GetMessage(), DeleteEnvironmentOutcome(addPrefixErr.value())); + endpointResolutionOutcome.GetResult().AddPathSegments("/environments/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetId()); + return DeleteEnvironmentOutcome(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()}}); +} + +DeregisterDeviceOutcome WorkSpacesThinClientClient::DeregisterDevice(const DeregisterDeviceRequest& request) const +{ + AWS_OPERATION_GUARD(DeregisterDevice); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeregisterDevice, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.IdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeregisterDevice", "Required field: Id, is not set"); + return DeregisterDeviceOutcome(Aws::Client::AWSError(WorkSpacesThinClientErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Id]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DeregisterDevice, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DeregisterDevice, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DeregisterDevice", + {{ 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( + [&]()-> DeregisterDeviceOutcome { + 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, DeregisterDevice, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + auto addPrefixErr = endpointResolutionOutcome.GetResult().AddPrefixIfMissing("api."); + AWS_CHECK(SERVICE_NAME, !addPrefixErr, addPrefixErr->GetMessage(), DeregisterDeviceOutcome(addPrefixErr.value())); + endpointResolutionOutcome.GetResult().AddPathSegments("/deregister-device/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetId()); + return DeregisterDeviceOutcome(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()}}); +} + +GetDeviceOutcome WorkSpacesThinClientClient::GetDevice(const GetDeviceRequest& request) const +{ + AWS_OPERATION_GUARD(GetDevice); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetDevice, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.IdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetDevice", "Required field: Id, is not set"); + return GetDeviceOutcome(Aws::Client::AWSError(WorkSpacesThinClientErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Id]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetDevice, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetDevice, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetDevice", + {{ 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( + [&]()-> GetDeviceOutcome { + 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, GetDevice, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + auto addPrefixErr = endpointResolutionOutcome.GetResult().AddPrefixIfMissing("api."); + AWS_CHECK(SERVICE_NAME, !addPrefixErr, addPrefixErr->GetMessage(), GetDeviceOutcome(addPrefixErr.value())); + endpointResolutionOutcome.GetResult().AddPathSegments("/devices/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetId()); + return GetDeviceOutcome(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()}}); +} + +GetEnvironmentOutcome WorkSpacesThinClientClient::GetEnvironment(const GetEnvironmentRequest& request) const +{ + AWS_OPERATION_GUARD(GetEnvironment); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetEnvironment, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.IdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetEnvironment", "Required field: Id, is not set"); + return GetEnvironmentOutcome(Aws::Client::AWSError(WorkSpacesThinClientErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Id]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetEnvironment, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetEnvironment, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetEnvironment", + {{ 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( + [&]()-> GetEnvironmentOutcome { + 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, GetEnvironment, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + auto addPrefixErr = endpointResolutionOutcome.GetResult().AddPrefixIfMissing("api."); + AWS_CHECK(SERVICE_NAME, !addPrefixErr, addPrefixErr->GetMessage(), GetEnvironmentOutcome(addPrefixErr.value())); + endpointResolutionOutcome.GetResult().AddPathSegments("/environments/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetId()); + return GetEnvironmentOutcome(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()}}); +} + +GetSoftwareSetOutcome WorkSpacesThinClientClient::GetSoftwareSet(const GetSoftwareSetRequest& request) const +{ + AWS_OPERATION_GUARD(GetSoftwareSet); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetSoftwareSet, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.IdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetSoftwareSet", "Required field: Id, is not set"); + return GetSoftwareSetOutcome(Aws::Client::AWSError(WorkSpacesThinClientErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Id]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetSoftwareSet, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetSoftwareSet, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetSoftwareSet", + {{ 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( + [&]()-> GetSoftwareSetOutcome { + 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, GetSoftwareSet, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + auto addPrefixErr = endpointResolutionOutcome.GetResult().AddPrefixIfMissing("api."); + AWS_CHECK(SERVICE_NAME, !addPrefixErr, addPrefixErr->GetMessage(), GetSoftwareSetOutcome(addPrefixErr.value())); + endpointResolutionOutcome.GetResult().AddPathSegments("/softwaresets/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetId()); + return GetSoftwareSetOutcome(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()}}); +} + +ListDevicesOutcome WorkSpacesThinClientClient::ListDevices(const ListDevicesRequest& request) const +{ + AWS_OPERATION_GUARD(ListDevices); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListDevices, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListDevices, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListDevices, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListDevices", + {{ 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( + [&]()-> ListDevicesOutcome { + 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, ListDevices, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + auto addPrefixErr = endpointResolutionOutcome.GetResult().AddPrefixIfMissing("api."); + AWS_CHECK(SERVICE_NAME, !addPrefixErr, addPrefixErr->GetMessage(), ListDevicesOutcome(addPrefixErr.value())); + endpointResolutionOutcome.GetResult().AddPathSegments("/devices"); + return ListDevicesOutcome(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()}}); +} + +ListEnvironmentsOutcome WorkSpacesThinClientClient::ListEnvironments(const ListEnvironmentsRequest& request) const +{ + AWS_OPERATION_GUARD(ListEnvironments); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListEnvironments, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListEnvironments, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListEnvironments, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListEnvironments", + {{ 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( + [&]()-> ListEnvironmentsOutcome { + 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, ListEnvironments, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + auto addPrefixErr = endpointResolutionOutcome.GetResult().AddPrefixIfMissing("api."); + AWS_CHECK(SERVICE_NAME, !addPrefixErr, addPrefixErr->GetMessage(), ListEnvironmentsOutcome(addPrefixErr.value())); + endpointResolutionOutcome.GetResult().AddPathSegments("/environments"); + return ListEnvironmentsOutcome(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()}}); +} + +ListSoftwareSetsOutcome WorkSpacesThinClientClient::ListSoftwareSets(const ListSoftwareSetsRequest& request) const +{ + AWS_OPERATION_GUARD(ListSoftwareSets); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListSoftwareSets, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListSoftwareSets, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListSoftwareSets, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListSoftwareSets", + {{ 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( + [&]()-> ListSoftwareSetsOutcome { + 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, ListSoftwareSets, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + auto addPrefixErr = endpointResolutionOutcome.GetResult().AddPrefixIfMissing("api."); + AWS_CHECK(SERVICE_NAME, !addPrefixErr, addPrefixErr->GetMessage(), ListSoftwareSetsOutcome(addPrefixErr.value())); + endpointResolutionOutcome.GetResult().AddPathSegments("/softwaresets"); + return ListSoftwareSetsOutcome(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 WorkSpacesThinClientClient::ListTagsForResource(const ListTagsForResourceRequest& request) const +{ + AWS_OPERATION_GUARD(ListTagsForResource); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListTagsForResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ResourceArnHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("ListTagsForResource", "Required field: ResourceArn, is not set"); + return ListTagsForResourceOutcome(Aws::Client::AWSError(WorkSpacesThinClientErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ResourceArn]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListTagsForResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListTagsForResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListTagsForResource", + {{ 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( + [&]()-> ListTagsForResourceOutcome { + 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, ListTagsForResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + auto addPrefixErr = endpointResolutionOutcome.GetResult().AddPrefixIfMissing("api."); + AWS_CHECK(SERVICE_NAME, !addPrefixErr, addPrefixErr->GetMessage(), ListTagsForResourceOutcome(addPrefixErr.value())); + endpointResolutionOutcome.GetResult().AddPathSegments("/tags/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetResourceArn()); + return ListTagsForResourceOutcome(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()}}); +} + +TagResourceOutcome WorkSpacesThinClientClient::TagResource(const TagResourceRequest& request) const +{ + AWS_OPERATION_GUARD(TagResource); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, TagResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ResourceArnHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("TagResource", "Required field: ResourceArn, is not set"); + return TagResourceOutcome(Aws::Client::AWSError(WorkSpacesThinClientErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ResourceArn]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, TagResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, TagResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".TagResource", + {{ 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( + [&]()-> TagResourceOutcome { + 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, TagResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + auto addPrefixErr = endpointResolutionOutcome.GetResult().AddPrefixIfMissing("api."); + AWS_CHECK(SERVICE_NAME, !addPrefixErr, addPrefixErr->GetMessage(), TagResourceOutcome(addPrefixErr.value())); + endpointResolutionOutcome.GetResult().AddPathSegments("/tags/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetResourceArn()); + return TagResourceOutcome(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()}}); +} + +UntagResourceOutcome WorkSpacesThinClientClient::UntagResource(const UntagResourceRequest& request) const +{ + AWS_OPERATION_GUARD(UntagResource); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UntagResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ResourceArnHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("UntagResource", "Required field: ResourceArn, is not set"); + return UntagResourceOutcome(Aws::Client::AWSError(WorkSpacesThinClientErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ResourceArn]", false)); + } + if (!request.TagKeysHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("UntagResource", "Required field: TagKeys, is not set"); + return UntagResourceOutcome(Aws::Client::AWSError(WorkSpacesThinClientErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [TagKeys]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, UntagResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, UntagResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".UntagResource", + {{ 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( + [&]()-> UntagResourceOutcome { + 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, UntagResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + auto addPrefixErr = endpointResolutionOutcome.GetResult().AddPrefixIfMissing("api."); + AWS_CHECK(SERVICE_NAME, !addPrefixErr, addPrefixErr->GetMessage(), UntagResourceOutcome(addPrefixErr.value())); + endpointResolutionOutcome.GetResult().AddPathSegments("/tags/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetResourceArn()); + return UntagResourceOutcome(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()}}); +} + +UpdateDeviceOutcome WorkSpacesThinClientClient::UpdateDevice(const UpdateDeviceRequest& request) const +{ + AWS_OPERATION_GUARD(UpdateDevice); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UpdateDevice, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.IdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("UpdateDevice", "Required field: Id, is not set"); + return UpdateDeviceOutcome(Aws::Client::AWSError(WorkSpacesThinClientErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Id]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, UpdateDevice, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, UpdateDevice, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".UpdateDevice", + {{ 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( + [&]()-> UpdateDeviceOutcome { + 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, UpdateDevice, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + auto addPrefixErr = endpointResolutionOutcome.GetResult().AddPrefixIfMissing("api."); + AWS_CHECK(SERVICE_NAME, !addPrefixErr, addPrefixErr->GetMessage(), UpdateDeviceOutcome(addPrefixErr.value())); + endpointResolutionOutcome.GetResult().AddPathSegments("/devices/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetId()); + return UpdateDeviceOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PATCH, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +UpdateEnvironmentOutcome WorkSpacesThinClientClient::UpdateEnvironment(const UpdateEnvironmentRequest& request) const +{ + AWS_OPERATION_GUARD(UpdateEnvironment); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UpdateEnvironment, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.IdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("UpdateEnvironment", "Required field: Id, is not set"); + return UpdateEnvironmentOutcome(Aws::Client::AWSError(WorkSpacesThinClientErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Id]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, UpdateEnvironment, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, UpdateEnvironment, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".UpdateEnvironment", + {{ 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( + [&]()-> UpdateEnvironmentOutcome { + 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, UpdateEnvironment, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + auto addPrefixErr = endpointResolutionOutcome.GetResult().AddPrefixIfMissing("api."); + AWS_CHECK(SERVICE_NAME, !addPrefixErr, addPrefixErr->GetMessage(), UpdateEnvironmentOutcome(addPrefixErr.value())); + endpointResolutionOutcome.GetResult().AddPathSegments("/environments/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetId()); + return UpdateEnvironmentOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PATCH, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +UpdateSoftwareSetOutcome WorkSpacesThinClientClient::UpdateSoftwareSet(const UpdateSoftwareSetRequest& request) const +{ + AWS_OPERATION_GUARD(UpdateSoftwareSet); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UpdateSoftwareSet, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.IdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("UpdateSoftwareSet", "Required field: Id, is not set"); + return UpdateSoftwareSetOutcome(Aws::Client::AWSError(WorkSpacesThinClientErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Id]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, UpdateSoftwareSet, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, UpdateSoftwareSet, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".UpdateSoftwareSet", + {{ 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( + [&]()-> UpdateSoftwareSetOutcome { + 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, UpdateSoftwareSet, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + auto addPrefixErr = endpointResolutionOutcome.GetResult().AddPrefixIfMissing("api."); + AWS_CHECK(SERVICE_NAME, !addPrefixErr, addPrefixErr->GetMessage(), UpdateSoftwareSetOutcome(addPrefixErr.value())); + endpointResolutionOutcome.GetResult().AddPathSegments("/softwaresets/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetId()); + return UpdateSoftwareSetOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PATCH, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/source/WorkSpacesThinClientEndpointProvider.cpp b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/WorkSpacesThinClientEndpointProvider.cpp new file mode 100644 index 00000000000..9f497d28633 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/WorkSpacesThinClientEndpointProvider.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 WorkSpacesThinClient +{ +namespace Endpoint +{ +} // namespace Endpoint +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/source/WorkSpacesThinClientEndpointRules.cpp b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/WorkSpacesThinClientEndpointRules.cpp new file mode 100644 index 00000000000..7309e93bd94 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/WorkSpacesThinClientEndpointRules.cpp @@ -0,0 +1,176 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +namespace Aws +{ +namespace WorkSpacesThinClient +{ +const size_t WorkSpacesThinClientEndpointRules::RulesBlobStrLen = 3740; +const size_t WorkSpacesThinClientEndpointRules::RulesBlobSize = 3741; + +using RulesBlobT = Aws::Array; +static constexpr RulesBlobT RulesBlob = {{ +'{','"','v','e','r','s','i','o','n','"',':','"','1','.','0','"',',','"','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','"', +':','f','a','l','s','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','"',':','[','{','"','f','n','"',':','"', +'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', +'d','p','o','i','n','t','"','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', +'s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':', +'"','I','n','v','a','l','i','d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','F', +'I','P','S',' ','a','n','d',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','a', +'r','e',' ','n','o','t',' ','s','u','p','p','o','r','t','e','d','"',',','"','t','y','p','e','"',':', +'"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']', +',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k', +'"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l', +'i','d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','D','u','a','l','s','t','a', +'c','k',' ','a','n','d',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','a','r', +'e',' ','n','o','t',' ','s','u','p','p','o','r','t','e','d','"',',','"','t','y','p','e','"',':','"', +'e','r','r','o','r','"','}',',','{','"','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','"',':', +'{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"', +'e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', +'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']','}',']', +',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a', +'s','s','i','g','n','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}', +']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t', +'r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a', +'l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':', +'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','t','r','u','e', +',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}', +',','"','s','u','p','p','o','r','t','s','F','I','P','S','"',']','}',']','}',',','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u', +'l','t','"','}',',','"','s','u','p','p','o','r','t','s','D','u','a','l','S','t','a','c','k','"',']', +'}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[',']',',','"','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','"',':', +'"','h','t','t','p','s',':','/','/','t','h','i','n','c','l','i','e','n','t','-','f','i','p','s','.', +'{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t', +'#','d','u','a','l','S','t','a','c','k','D','n','s','S','u','f','f','i','x','}','"',',','"','p','r', +'o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}', +'}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y', +'p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', +'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o', +'r','"',':','"','F','I','P','S',' ','a','n','d',' ','D','u','a','l','S','t','a','c','k',' ','a','r', +'e',' ','e','n','a','b','l','e','d',',',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i', +'t','i','o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','o','n','e', +' ','o','r',' ','b','o','t','h','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}', +']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I', +'P','S','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a', +'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g', +'e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P', +'a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t', +'s','F','I','P','S','"',']','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':', +'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','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','"',':','"','h','t','t','p','s',':','/','/','t','h','i','n', +'c','l','i','e','n','t','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','P','a','r', +'t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',', +'"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"', +':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',', +'"','t','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t', +'r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e', +'r','r','o','r','"',':','"','F','I','P','S',' ','i','s',' ','e','n','a','b','l','e','d',' ','b','u', +'t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ','n','o','t', +' ','s','u','p','p','o','r','t',' ','F','I','P','S','"',',','"','t','y','p','e','"',':','"','e','r', +'r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a', +'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"','r', +'u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', +'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e', +'s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','D','u','a','l','S','t','a','c','k', +'"',']','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[',']',',','"','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', +'"',':','"','h','t','t','p','s',':','/','/','t','h','i','n','c','l','i','e','n','t','.','{','R','e', +'g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','u', +'a','l','S','t','a','c','k','D','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e', +'r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"', +'t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"', +':','"','t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',', +'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':', +'"','D','u','a','l','S','t','a','c','k',' ','i','s',' ','e','n','a','b','l','e','d',' ','b','u','t', +' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ','n','o','t',' ', +'s','u','p','p','o','r','t',' ','D','u','a','l','S','t','a','c','k','"',',','"','t','y','p','e','"', +':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','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','"',':','"','h','t','t','p','s',':','/','/','t','h','i','n', +'c','l','i','e','n','t','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o', +'n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p', +'e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',', +'"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e', +'"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}', +']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d', +' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','M','i','s','s','i','n','g',' ','R', +'e','g','i','o','n','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"', +'t','y','p','e','"',':','"','t','r','e','e','"','}',']','}','\0' +}}; + +const char* WorkSpacesThinClientEndpointRules::GetRulesBlob() +{ + return RulesBlob.data(); +} + +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/source/WorkSpacesThinClientErrorMarshaller.cpp b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/WorkSpacesThinClientErrorMarshaller.cpp new file mode 100644 index 00000000000..150e7543266 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/WorkSpacesThinClientErrorMarshaller.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::WorkSpacesThinClient; + +AWSError WorkSpacesThinClientErrorMarshaller::FindErrorByName(const char* errorName) const +{ + AWSError error = WorkSpacesThinClientErrorMapper::GetErrorForName(errorName); + if(error.GetErrorType() != CoreErrors::UNKNOWN) + { + return error; + } + + return AWSErrorMarshaller::FindErrorByName(errorName); +} \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/source/WorkSpacesThinClientErrors.cpp b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/WorkSpacesThinClientErrors.cpp new file mode 100644 index 00000000000..13d7d75c136 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/WorkSpacesThinClientErrors.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 +#include +#include +#include +#include +#include +#include + +using namespace Aws::Client; +using namespace Aws::Utils; +using namespace Aws::WorkSpacesThinClient; +using namespace Aws::WorkSpacesThinClient::Model; + +namespace Aws +{ +namespace WorkSpacesThinClient +{ +template<> AWS_WORKSPACESTHINCLIENT_API ConflictException WorkSpacesThinClientError::GetModeledError() +{ + assert(this->GetErrorType() == WorkSpacesThinClientErrors::CONFLICT); + return ConflictException(this->GetJsonPayload().View()); +} + +template<> AWS_WORKSPACESTHINCLIENT_API ServiceQuotaExceededException WorkSpacesThinClientError::GetModeledError() +{ + assert(this->GetErrorType() == WorkSpacesThinClientErrors::SERVICE_QUOTA_EXCEEDED); + return ServiceQuotaExceededException(this->GetJsonPayload().View()); +} + +template<> AWS_WORKSPACESTHINCLIENT_API ThrottlingException WorkSpacesThinClientError::GetModeledError() +{ + assert(this->GetErrorType() == WorkSpacesThinClientErrors::THROTTLING); + return ThrottlingException(this->GetJsonPayload().View()); +} + +template<> AWS_WORKSPACESTHINCLIENT_API ResourceNotFoundException WorkSpacesThinClientError::GetModeledError() +{ + assert(this->GetErrorType() == WorkSpacesThinClientErrors::RESOURCE_NOT_FOUND); + return ResourceNotFoundException(this->GetJsonPayload().View()); +} + +template<> AWS_WORKSPACESTHINCLIENT_API InternalServerException WorkSpacesThinClientError::GetModeledError() +{ + assert(this->GetErrorType() == WorkSpacesThinClientErrors::INTERNAL_SERVER); + return InternalServerException(this->GetJsonPayload().View()); +} + +template<> AWS_WORKSPACESTHINCLIENT_API ValidationException WorkSpacesThinClientError::GetModeledError() +{ + assert(this->GetErrorType() == WorkSpacesThinClientErrors::VALIDATION); + return ValidationException(this->GetJsonPayload().View()); +} + +template<> AWS_WORKSPACESTHINCLIENT_API InternalServiceException WorkSpacesThinClientError::GetModeledError() +{ + assert(this->GetErrorType() == WorkSpacesThinClientErrors::INTERNAL_SERVICE); + return InternalServiceException(this->GetJsonPayload().View()); +} + +namespace WorkSpacesThinClientErrorMapper +{ + +static const int CONFLICT_HASH = HashingUtils::HashString("ConflictException"); +static const int SERVICE_QUOTA_EXCEEDED_HASH = HashingUtils::HashString("ServiceQuotaExceededException"); +static const int INTERNAL_SERVER_HASH = HashingUtils::HashString("InternalServerException"); +static const int INTERNAL_SERVICE_HASH = HashingUtils::HashString("InternalServiceException"); + + +AWSError GetErrorForName(const char* errorName) +{ + int hashCode = HashingUtils::HashString(errorName); + + if (hashCode == CONFLICT_HASH) + { + return AWSError(static_cast(WorkSpacesThinClientErrors::CONFLICT), false); + } + else if (hashCode == SERVICE_QUOTA_EXCEEDED_HASH) + { + return AWSError(static_cast(WorkSpacesThinClientErrors::SERVICE_QUOTA_EXCEEDED), false); + } + else if (hashCode == INTERNAL_SERVER_HASH) + { + return AWSError(static_cast(WorkSpacesThinClientErrors::INTERNAL_SERVER), false); + } + else if (hashCode == INTERNAL_SERVICE_HASH) + { + return AWSError(static_cast(WorkSpacesThinClientErrors::INTERNAL_SERVICE), false); + } + return AWSError(CoreErrors::UNKNOWN, false); +} + +} // namespace WorkSpacesThinClientErrorMapper +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/source/WorkSpacesThinClientRequest.cpp b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/WorkSpacesThinClientRequest.cpp new file mode 100644 index 00000000000..4b8fd2c9955 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/WorkSpacesThinClientRequest.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 WorkSpacesThinClient +{ +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/ApplyTimeOf.cpp b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/ApplyTimeOf.cpp new file mode 100644 index 00000000000..5d7a646782a --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/ApplyTimeOf.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 WorkSpacesThinClient + { + namespace Model + { + namespace ApplyTimeOfMapper + { + + static const int UTC_HASH = HashingUtils::HashString("UTC"); + static const int DEVICE_HASH = HashingUtils::HashString("DEVICE"); + + + ApplyTimeOf GetApplyTimeOfForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == UTC_HASH) + { + return ApplyTimeOf::UTC; + } + else if (hashCode == DEVICE_HASH) + { + return ApplyTimeOf::DEVICE; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ApplyTimeOf::NOT_SET; + } + + Aws::String GetNameForApplyTimeOf(ApplyTimeOf enumValue) + { + switch(enumValue) + { + case ApplyTimeOf::NOT_SET: + return {}; + case ApplyTimeOf::UTC: + return "UTC"; + case ApplyTimeOf::DEVICE: + return "DEVICE"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ApplyTimeOfMapper + } // namespace Model + } // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/ConflictException.cpp b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/ConflictException.cpp new file mode 100644 index 00000000000..0e4942213ea --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/ConflictException.cpp @@ -0,0 +1,89 @@ +/** + * 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 WorkSpacesThinClient +{ +namespace Model +{ + +ConflictException::ConflictException() : + m_messageHasBeenSet(false), + m_resourceIdHasBeenSet(false), + m_resourceTypeHasBeenSet(false) +{ +} + +ConflictException::ConflictException(JsonView jsonValue) : + m_messageHasBeenSet(false), + m_resourceIdHasBeenSet(false), + m_resourceTypeHasBeenSet(false) +{ + *this = jsonValue; +} + +ConflictException& ConflictException::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("message")) + { + m_message = jsonValue.GetString("message"); + + m_messageHasBeenSet = true; + } + + if(jsonValue.ValueExists("resourceId")) + { + m_resourceId = jsonValue.GetString("resourceId"); + + m_resourceIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("resourceType")) + { + m_resourceType = jsonValue.GetString("resourceType"); + + m_resourceTypeHasBeenSet = true; + } + + return *this; +} + +JsonValue ConflictException::Jsonize() const +{ + JsonValue payload; + + if(m_messageHasBeenSet) + { + payload.WithString("message", m_message); + + } + + if(m_resourceIdHasBeenSet) + { + payload.WithString("resourceId", m_resourceId); + + } + + if(m_resourceTypeHasBeenSet) + { + payload.WithString("resourceType", m_resourceType); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/CreateEnvironmentRequest.cpp b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/CreateEnvironmentRequest.cpp new file mode 100644 index 00000000000..6e82feebb95 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/CreateEnvironmentRequest.cpp @@ -0,0 +1,104 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::WorkSpacesThinClient::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +CreateEnvironmentRequest::CreateEnvironmentRequest() : + m_nameHasBeenSet(false), + m_desktopArnHasBeenSet(false), + m_desktopEndpointHasBeenSet(false), + m_softwareSetUpdateSchedule(SoftwareSetUpdateSchedule::NOT_SET), + m_softwareSetUpdateScheduleHasBeenSet(false), + m_maintenanceWindowHasBeenSet(false), + m_softwareSetUpdateMode(SoftwareSetUpdateMode::NOT_SET), + m_softwareSetUpdateModeHasBeenSet(false), + m_desiredSoftwareSetIdHasBeenSet(false), + m_kmsKeyArnHasBeenSet(false), + m_clientToken(Aws::Utils::UUID::PseudoRandomUUID()), + m_clientTokenHasBeenSet(true), + m_tagsHasBeenSet(false) +{ +} + +Aws::String CreateEnvironmentRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_nameHasBeenSet) + { + payload.WithString("name", m_name); + + } + + if(m_desktopArnHasBeenSet) + { + payload.WithString("desktopArn", m_desktopArn); + + } + + if(m_desktopEndpointHasBeenSet) + { + payload.WithString("desktopEndpoint", m_desktopEndpoint); + + } + + if(m_softwareSetUpdateScheduleHasBeenSet) + { + payload.WithString("softwareSetUpdateSchedule", SoftwareSetUpdateScheduleMapper::GetNameForSoftwareSetUpdateSchedule(m_softwareSetUpdateSchedule)); + } + + if(m_maintenanceWindowHasBeenSet) + { + payload.WithObject("maintenanceWindow", m_maintenanceWindow.Jsonize()); + + } + + if(m_softwareSetUpdateModeHasBeenSet) + { + payload.WithString("softwareSetUpdateMode", SoftwareSetUpdateModeMapper::GetNameForSoftwareSetUpdateMode(m_softwareSetUpdateMode)); + } + + if(m_desiredSoftwareSetIdHasBeenSet) + { + payload.WithString("desiredSoftwareSetId", m_desiredSoftwareSetId); + + } + + if(m_kmsKeyArnHasBeenSet) + { + payload.WithString("kmsKeyArn", m_kmsKeyArn); + + } + + if(m_clientTokenHasBeenSet) + { + payload.WithString("clientToken", m_clientToken); + + } + + if(m_tagsHasBeenSet) + { + JsonValue tagsJsonMap; + for(auto& tagsItem : m_tags) + { + tagsJsonMap.WithString(tagsItem.first, tagsItem.second); + } + payload.WithObject("tags", std::move(tagsJsonMap)); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/CreateEnvironmentResult.cpp b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/CreateEnvironmentResult.cpp new file mode 100644 index 00000000000..21ea97e400d --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/CreateEnvironmentResult.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::WorkSpacesThinClient::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +CreateEnvironmentResult::CreateEnvironmentResult() +{ +} + +CreateEnvironmentResult::CreateEnvironmentResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +CreateEnvironmentResult& CreateEnvironmentResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("environment")) + { + m_environment = jsonValue.GetObject("environment"); + + } + + + 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-workspaces-thin-client/source/model/DayOfWeek.cpp b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/DayOfWeek.cpp new file mode 100644 index 00000000000..5ab4b932df8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/DayOfWeek.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 + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace WorkSpacesThinClient + { + namespace Model + { + namespace DayOfWeekMapper + { + + static const int MONDAY_HASH = HashingUtils::HashString("MONDAY"); + static const int TUESDAY_HASH = HashingUtils::HashString("TUESDAY"); + static const int WEDNESDAY_HASH = HashingUtils::HashString("WEDNESDAY"); + static const int THURSDAY_HASH = HashingUtils::HashString("THURSDAY"); + static const int FRIDAY_HASH = HashingUtils::HashString("FRIDAY"); + static const int SATURDAY_HASH = HashingUtils::HashString("SATURDAY"); + static const int SUNDAY_HASH = HashingUtils::HashString("SUNDAY"); + + + DayOfWeek GetDayOfWeekForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == MONDAY_HASH) + { + return DayOfWeek::MONDAY; + } + else if (hashCode == TUESDAY_HASH) + { + return DayOfWeek::TUESDAY; + } + else if (hashCode == WEDNESDAY_HASH) + { + return DayOfWeek::WEDNESDAY; + } + else if (hashCode == THURSDAY_HASH) + { + return DayOfWeek::THURSDAY; + } + else if (hashCode == FRIDAY_HASH) + { + return DayOfWeek::FRIDAY; + } + else if (hashCode == SATURDAY_HASH) + { + return DayOfWeek::SATURDAY; + } + else if (hashCode == SUNDAY_HASH) + { + return DayOfWeek::SUNDAY; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return DayOfWeek::NOT_SET; + } + + Aws::String GetNameForDayOfWeek(DayOfWeek enumValue) + { + switch(enumValue) + { + case DayOfWeek::NOT_SET: + return {}; + case DayOfWeek::MONDAY: + return "MONDAY"; + case DayOfWeek::TUESDAY: + return "TUESDAY"; + case DayOfWeek::WEDNESDAY: + return "WEDNESDAY"; + case DayOfWeek::THURSDAY: + return "THURSDAY"; + case DayOfWeek::FRIDAY: + return "FRIDAY"; + case DayOfWeek::SATURDAY: + return "SATURDAY"; + case DayOfWeek::SUNDAY: + return "SUNDAY"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace DayOfWeekMapper + } // namespace Model + } // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/DeleteDeviceRequest.cpp b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/DeleteDeviceRequest.cpp new file mode 100644 index 00000000000..6f546bb7b53 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/DeleteDeviceRequest.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 + +using namespace Aws::WorkSpacesThinClient::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +DeleteDeviceRequest::DeleteDeviceRequest() : + m_idHasBeenSet(false), + m_clientToken(Aws::Utils::UUID::PseudoRandomUUID()), + m_clientTokenHasBeenSet(true) +{ +} + +Aws::String DeleteDeviceRequest::SerializePayload() const +{ + return {}; +} + +void DeleteDeviceRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_clientTokenHasBeenSet) + { + ss << m_clientToken; + uri.AddQueryStringParameter("clientToken", ss.str()); + ss.str(""); + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/DeleteDeviceResult.cpp b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/DeleteDeviceResult.cpp new file mode 100644 index 00000000000..fca25189b7a --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/DeleteDeviceResult.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::WorkSpacesThinClient::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DeleteDeviceResult::DeleteDeviceResult() +{ +} + +DeleteDeviceResult::DeleteDeviceResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DeleteDeviceResult& DeleteDeviceResult::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-workspaces-thin-client/source/model/DeleteEnvironmentRequest.cpp b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/DeleteEnvironmentRequest.cpp new file mode 100644 index 00000000000..431a6a0e7bb --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/DeleteEnvironmentRequest.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 + +using namespace Aws::WorkSpacesThinClient::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +DeleteEnvironmentRequest::DeleteEnvironmentRequest() : + m_idHasBeenSet(false), + m_clientToken(Aws::Utils::UUID::PseudoRandomUUID()), + m_clientTokenHasBeenSet(true) +{ +} + +Aws::String DeleteEnvironmentRequest::SerializePayload() const +{ + return {}; +} + +void DeleteEnvironmentRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_clientTokenHasBeenSet) + { + ss << m_clientToken; + uri.AddQueryStringParameter("clientToken", ss.str()); + ss.str(""); + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/DeleteEnvironmentResult.cpp b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/DeleteEnvironmentResult.cpp new file mode 100644 index 00000000000..1a6cbf1e04b --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/DeleteEnvironmentResult.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::WorkSpacesThinClient::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DeleteEnvironmentResult::DeleteEnvironmentResult() +{ +} + +DeleteEnvironmentResult::DeleteEnvironmentResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DeleteEnvironmentResult& DeleteEnvironmentResult::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-workspaces-thin-client/source/model/DeregisterDeviceRequest.cpp b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/DeregisterDeviceRequest.cpp new file mode 100644 index 00000000000..0be9f164947 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/DeregisterDeviceRequest.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::WorkSpacesThinClient::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +DeregisterDeviceRequest::DeregisterDeviceRequest() : + m_idHasBeenSet(false), + m_targetDeviceStatus(TargetDeviceStatus::NOT_SET), + m_targetDeviceStatusHasBeenSet(false), + m_clientToken(Aws::Utils::UUID::PseudoRandomUUID()), + m_clientTokenHasBeenSet(true) +{ +} + +Aws::String DeregisterDeviceRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_targetDeviceStatusHasBeenSet) + { + payload.WithString("targetDeviceStatus", TargetDeviceStatusMapper::GetNameForTargetDeviceStatus(m_targetDeviceStatus)); + } + + if(m_clientTokenHasBeenSet) + { + payload.WithString("clientToken", m_clientToken); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/DeregisterDeviceResult.cpp b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/DeregisterDeviceResult.cpp new file mode 100644 index 00000000000..bd57c2592ea --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/DeregisterDeviceResult.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::WorkSpacesThinClient::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DeregisterDeviceResult::DeregisterDeviceResult() +{ +} + +DeregisterDeviceResult::DeregisterDeviceResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DeregisterDeviceResult& DeregisterDeviceResult::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-workspaces-thin-client/source/model/DesktopType.cpp b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/DesktopType.cpp new file mode 100644 index 00000000000..7471ca5d114 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/DesktopType.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 WorkSpacesThinClient + { + namespace Model + { + namespace DesktopTypeMapper + { + + static const int workspaces_HASH = HashingUtils::HashString("workspaces"); + static const int appstream_HASH = HashingUtils::HashString("appstream"); + static const int workspaces_web_HASH = HashingUtils::HashString("workspaces-web"); + + + DesktopType GetDesktopTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == workspaces_HASH) + { + return DesktopType::workspaces; + } + else if (hashCode == appstream_HASH) + { + return DesktopType::appstream; + } + else if (hashCode == workspaces_web_HASH) + { + return DesktopType::workspaces_web; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return DesktopType::NOT_SET; + } + + Aws::String GetNameForDesktopType(DesktopType enumValue) + { + switch(enumValue) + { + case DesktopType::NOT_SET: + return {}; + case DesktopType::workspaces: + return "workspaces"; + case DesktopType::appstream: + return "appstream"; + case DesktopType::workspaces_web: + return "workspaces-web"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace DesktopTypeMapper + } // namespace Model + } // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/Device.cpp b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/Device.cpp new file mode 100644 index 00000000000..c44171273e2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/Device.cpp @@ -0,0 +1,359 @@ +/** + * 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 WorkSpacesThinClient +{ +namespace Model +{ + +Device::Device() : + m_idHasBeenSet(false), + m_serialNumberHasBeenSet(false), + m_nameHasBeenSet(false), + m_modelHasBeenSet(false), + m_environmentIdHasBeenSet(false), + m_status(DeviceStatus::NOT_SET), + m_statusHasBeenSet(false), + m_currentSoftwareSetIdHasBeenSet(false), + m_currentSoftwareSetVersionHasBeenSet(false), + m_desiredSoftwareSetIdHasBeenSet(false), + m_pendingSoftwareSetIdHasBeenSet(false), + m_pendingSoftwareSetVersionHasBeenSet(false), + m_softwareSetUpdateSchedule(SoftwareSetUpdateSchedule::NOT_SET), + m_softwareSetUpdateScheduleHasBeenSet(false), + m_softwareSetComplianceStatus(DeviceSoftwareSetComplianceStatus::NOT_SET), + m_softwareSetComplianceStatusHasBeenSet(false), + m_softwareSetUpdateStatus(SoftwareSetUpdateStatus::NOT_SET), + m_softwareSetUpdateStatusHasBeenSet(false), + m_lastConnectedAtHasBeenSet(false), + m_lastPostureAtHasBeenSet(false), + m_createdAtHasBeenSet(false), + m_updatedAtHasBeenSet(false), + m_arnHasBeenSet(false), + m_kmsKeyArnHasBeenSet(false), + m_tagsHasBeenSet(false) +{ +} + +Device::Device(JsonView jsonValue) : + m_idHasBeenSet(false), + m_serialNumberHasBeenSet(false), + m_nameHasBeenSet(false), + m_modelHasBeenSet(false), + m_environmentIdHasBeenSet(false), + m_status(DeviceStatus::NOT_SET), + m_statusHasBeenSet(false), + m_currentSoftwareSetIdHasBeenSet(false), + m_currentSoftwareSetVersionHasBeenSet(false), + m_desiredSoftwareSetIdHasBeenSet(false), + m_pendingSoftwareSetIdHasBeenSet(false), + m_pendingSoftwareSetVersionHasBeenSet(false), + m_softwareSetUpdateSchedule(SoftwareSetUpdateSchedule::NOT_SET), + m_softwareSetUpdateScheduleHasBeenSet(false), + m_softwareSetComplianceStatus(DeviceSoftwareSetComplianceStatus::NOT_SET), + m_softwareSetComplianceStatusHasBeenSet(false), + m_softwareSetUpdateStatus(SoftwareSetUpdateStatus::NOT_SET), + m_softwareSetUpdateStatusHasBeenSet(false), + m_lastConnectedAtHasBeenSet(false), + m_lastPostureAtHasBeenSet(false), + m_createdAtHasBeenSet(false), + m_updatedAtHasBeenSet(false), + m_arnHasBeenSet(false), + m_kmsKeyArnHasBeenSet(false), + m_tagsHasBeenSet(false) +{ + *this = jsonValue; +} + +Device& Device::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("id")) + { + m_id = jsonValue.GetString("id"); + + m_idHasBeenSet = true; + } + + if(jsonValue.ValueExists("serialNumber")) + { + m_serialNumber = jsonValue.GetString("serialNumber"); + + m_serialNumberHasBeenSet = true; + } + + if(jsonValue.ValueExists("name")) + { + m_name = jsonValue.GetString("name"); + + m_nameHasBeenSet = true; + } + + if(jsonValue.ValueExists("model")) + { + m_model = jsonValue.GetString("model"); + + m_modelHasBeenSet = true; + } + + if(jsonValue.ValueExists("environmentId")) + { + m_environmentId = jsonValue.GetString("environmentId"); + + m_environmentIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("status")) + { + m_status = DeviceStatusMapper::GetDeviceStatusForName(jsonValue.GetString("status")); + + m_statusHasBeenSet = true; + } + + if(jsonValue.ValueExists("currentSoftwareSetId")) + { + m_currentSoftwareSetId = jsonValue.GetString("currentSoftwareSetId"); + + m_currentSoftwareSetIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("currentSoftwareSetVersion")) + { + m_currentSoftwareSetVersion = jsonValue.GetString("currentSoftwareSetVersion"); + + m_currentSoftwareSetVersionHasBeenSet = true; + } + + if(jsonValue.ValueExists("desiredSoftwareSetId")) + { + m_desiredSoftwareSetId = jsonValue.GetString("desiredSoftwareSetId"); + + m_desiredSoftwareSetIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("pendingSoftwareSetId")) + { + m_pendingSoftwareSetId = jsonValue.GetString("pendingSoftwareSetId"); + + m_pendingSoftwareSetIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("pendingSoftwareSetVersion")) + { + m_pendingSoftwareSetVersion = jsonValue.GetString("pendingSoftwareSetVersion"); + + m_pendingSoftwareSetVersionHasBeenSet = true; + } + + if(jsonValue.ValueExists("softwareSetUpdateSchedule")) + { + m_softwareSetUpdateSchedule = SoftwareSetUpdateScheduleMapper::GetSoftwareSetUpdateScheduleForName(jsonValue.GetString("softwareSetUpdateSchedule")); + + m_softwareSetUpdateScheduleHasBeenSet = true; + } + + if(jsonValue.ValueExists("softwareSetComplianceStatus")) + { + m_softwareSetComplianceStatus = DeviceSoftwareSetComplianceStatusMapper::GetDeviceSoftwareSetComplianceStatusForName(jsonValue.GetString("softwareSetComplianceStatus")); + + m_softwareSetComplianceStatusHasBeenSet = true; + } + + if(jsonValue.ValueExists("softwareSetUpdateStatus")) + { + m_softwareSetUpdateStatus = SoftwareSetUpdateStatusMapper::GetSoftwareSetUpdateStatusForName(jsonValue.GetString("softwareSetUpdateStatus")); + + m_softwareSetUpdateStatusHasBeenSet = true; + } + + if(jsonValue.ValueExists("lastConnectedAt")) + { + m_lastConnectedAt = jsonValue.GetDouble("lastConnectedAt"); + + m_lastConnectedAtHasBeenSet = true; + } + + if(jsonValue.ValueExists("lastPostureAt")) + { + m_lastPostureAt = jsonValue.GetDouble("lastPostureAt"); + + m_lastPostureAtHasBeenSet = true; + } + + if(jsonValue.ValueExists("createdAt")) + { + m_createdAt = jsonValue.GetDouble("createdAt"); + + m_createdAtHasBeenSet = true; + } + + if(jsonValue.ValueExists("updatedAt")) + { + m_updatedAt = jsonValue.GetDouble("updatedAt"); + + m_updatedAtHasBeenSet = true; + } + + if(jsonValue.ValueExists("arn")) + { + m_arn = jsonValue.GetString("arn"); + + m_arnHasBeenSet = true; + } + + if(jsonValue.ValueExists("kmsKeyArn")) + { + m_kmsKeyArn = jsonValue.GetString("kmsKeyArn"); + + m_kmsKeyArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("tags")) + { + m_tags = jsonValue.GetObject("tags"); + + m_tagsHasBeenSet = true; + } + + return *this; +} + +JsonValue Device::Jsonize() const +{ + JsonValue payload; + + if(m_idHasBeenSet) + { + payload.WithString("id", m_id); + + } + + if(m_serialNumberHasBeenSet) + { + payload.WithString("serialNumber", m_serialNumber); + + } + + if(m_nameHasBeenSet) + { + payload.WithString("name", m_name); + + } + + if(m_modelHasBeenSet) + { + payload.WithString("model", m_model); + + } + + if(m_environmentIdHasBeenSet) + { + payload.WithString("environmentId", m_environmentId); + + } + + if(m_statusHasBeenSet) + { + payload.WithString("status", DeviceStatusMapper::GetNameForDeviceStatus(m_status)); + } + + if(m_currentSoftwareSetIdHasBeenSet) + { + payload.WithString("currentSoftwareSetId", m_currentSoftwareSetId); + + } + + if(m_currentSoftwareSetVersionHasBeenSet) + { + payload.WithString("currentSoftwareSetVersion", m_currentSoftwareSetVersion); + + } + + if(m_desiredSoftwareSetIdHasBeenSet) + { + payload.WithString("desiredSoftwareSetId", m_desiredSoftwareSetId); + + } + + if(m_pendingSoftwareSetIdHasBeenSet) + { + payload.WithString("pendingSoftwareSetId", m_pendingSoftwareSetId); + + } + + if(m_pendingSoftwareSetVersionHasBeenSet) + { + payload.WithString("pendingSoftwareSetVersion", m_pendingSoftwareSetVersion); + + } + + if(m_softwareSetUpdateScheduleHasBeenSet) + { + payload.WithString("softwareSetUpdateSchedule", SoftwareSetUpdateScheduleMapper::GetNameForSoftwareSetUpdateSchedule(m_softwareSetUpdateSchedule)); + } + + if(m_softwareSetComplianceStatusHasBeenSet) + { + payload.WithString("softwareSetComplianceStatus", DeviceSoftwareSetComplianceStatusMapper::GetNameForDeviceSoftwareSetComplianceStatus(m_softwareSetComplianceStatus)); + } + + if(m_softwareSetUpdateStatusHasBeenSet) + { + payload.WithString("softwareSetUpdateStatus", SoftwareSetUpdateStatusMapper::GetNameForSoftwareSetUpdateStatus(m_softwareSetUpdateStatus)); + } + + if(m_lastConnectedAtHasBeenSet) + { + payload.WithDouble("lastConnectedAt", m_lastConnectedAt.SecondsWithMSPrecision()); + } + + if(m_lastPostureAtHasBeenSet) + { + payload.WithDouble("lastPostureAt", m_lastPostureAt.SecondsWithMSPrecision()); + } + + if(m_createdAtHasBeenSet) + { + payload.WithDouble("createdAt", m_createdAt.SecondsWithMSPrecision()); + } + + if(m_updatedAtHasBeenSet) + { + payload.WithDouble("updatedAt", m_updatedAt.SecondsWithMSPrecision()); + } + + if(m_arnHasBeenSet) + { + payload.WithString("arn", m_arn); + + } + + if(m_kmsKeyArnHasBeenSet) + { + payload.WithString("kmsKeyArn", m_kmsKeyArn); + + } + + if(m_tagsHasBeenSet) + { + payload.WithObject("tags", m_tags.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/DeviceSoftwareSetComplianceStatus.cpp b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/DeviceSoftwareSetComplianceStatus.cpp new file mode 100644 index 00000000000..b1fa8c5eb08 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/DeviceSoftwareSetComplianceStatus.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 WorkSpacesThinClient + { + namespace Model + { + namespace DeviceSoftwareSetComplianceStatusMapper + { + + static const int NONE_HASH = HashingUtils::HashString("NONE"); + static const int COMPLIANT_HASH = HashingUtils::HashString("COMPLIANT"); + static const int NOT_COMPLIANT_HASH = HashingUtils::HashString("NOT_COMPLIANT"); + + + DeviceSoftwareSetComplianceStatus GetDeviceSoftwareSetComplianceStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == NONE_HASH) + { + return DeviceSoftwareSetComplianceStatus::NONE; + } + else if (hashCode == COMPLIANT_HASH) + { + return DeviceSoftwareSetComplianceStatus::COMPLIANT; + } + else if (hashCode == NOT_COMPLIANT_HASH) + { + return DeviceSoftwareSetComplianceStatus::NOT_COMPLIANT; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return DeviceSoftwareSetComplianceStatus::NOT_SET; + } + + Aws::String GetNameForDeviceSoftwareSetComplianceStatus(DeviceSoftwareSetComplianceStatus enumValue) + { + switch(enumValue) + { + case DeviceSoftwareSetComplianceStatus::NOT_SET: + return {}; + case DeviceSoftwareSetComplianceStatus::NONE: + return "NONE"; + case DeviceSoftwareSetComplianceStatus::COMPLIANT: + return "COMPLIANT"; + case DeviceSoftwareSetComplianceStatus::NOT_COMPLIANT: + return "NOT_COMPLIANT"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace DeviceSoftwareSetComplianceStatusMapper + } // namespace Model + } // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/DeviceStatus.cpp b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/DeviceStatus.cpp new file mode 100644 index 00000000000..f5df08a9d2a --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/DeviceStatus.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 WorkSpacesThinClient + { + namespace Model + { + namespace DeviceStatusMapper + { + + static const int REGISTERED_HASH = HashingUtils::HashString("REGISTERED"); + static const int DEREGISTERING_HASH = HashingUtils::HashString("DEREGISTERING"); + static const int DEREGISTERED_HASH = HashingUtils::HashString("DEREGISTERED"); + static const int ARCHIVED_HASH = HashingUtils::HashString("ARCHIVED"); + + + DeviceStatus GetDeviceStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == REGISTERED_HASH) + { + return DeviceStatus::REGISTERED; + } + else if (hashCode == DEREGISTERING_HASH) + { + return DeviceStatus::DEREGISTERING; + } + else if (hashCode == DEREGISTERED_HASH) + { + return DeviceStatus::DEREGISTERED; + } + else if (hashCode == ARCHIVED_HASH) + { + return DeviceStatus::ARCHIVED; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return DeviceStatus::NOT_SET; + } + + Aws::String GetNameForDeviceStatus(DeviceStatus enumValue) + { + switch(enumValue) + { + case DeviceStatus::NOT_SET: + return {}; + case DeviceStatus::REGISTERED: + return "REGISTERED"; + case DeviceStatus::DEREGISTERING: + return "DEREGISTERING"; + case DeviceStatus::DEREGISTERED: + return "DEREGISTERED"; + case DeviceStatus::ARCHIVED: + return "ARCHIVED"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace DeviceStatusMapper + } // namespace Model + } // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/DeviceSummary.cpp b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/DeviceSummary.cpp new file mode 100644 index 00000000000..ef3fb34e9b1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/DeviceSummary.cpp @@ -0,0 +1,282 @@ +/** + * 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 WorkSpacesThinClient +{ +namespace Model +{ + +DeviceSummary::DeviceSummary() : + m_idHasBeenSet(false), + m_serialNumberHasBeenSet(false), + m_nameHasBeenSet(false), + m_modelHasBeenSet(false), + m_environmentIdHasBeenSet(false), + m_status(DeviceStatus::NOT_SET), + m_statusHasBeenSet(false), + m_currentSoftwareSetIdHasBeenSet(false), + m_desiredSoftwareSetIdHasBeenSet(false), + m_pendingSoftwareSetIdHasBeenSet(false), + m_softwareSetUpdateSchedule(SoftwareSetUpdateSchedule::NOT_SET), + m_softwareSetUpdateScheduleHasBeenSet(false), + m_lastConnectedAtHasBeenSet(false), + m_lastPostureAtHasBeenSet(false), + m_createdAtHasBeenSet(false), + m_updatedAtHasBeenSet(false), + m_arnHasBeenSet(false), + m_tagsHasBeenSet(false) +{ +} + +DeviceSummary::DeviceSummary(JsonView jsonValue) : + m_idHasBeenSet(false), + m_serialNumberHasBeenSet(false), + m_nameHasBeenSet(false), + m_modelHasBeenSet(false), + m_environmentIdHasBeenSet(false), + m_status(DeviceStatus::NOT_SET), + m_statusHasBeenSet(false), + m_currentSoftwareSetIdHasBeenSet(false), + m_desiredSoftwareSetIdHasBeenSet(false), + m_pendingSoftwareSetIdHasBeenSet(false), + m_softwareSetUpdateSchedule(SoftwareSetUpdateSchedule::NOT_SET), + m_softwareSetUpdateScheduleHasBeenSet(false), + m_lastConnectedAtHasBeenSet(false), + m_lastPostureAtHasBeenSet(false), + m_createdAtHasBeenSet(false), + m_updatedAtHasBeenSet(false), + m_arnHasBeenSet(false), + m_tagsHasBeenSet(false) +{ + *this = jsonValue; +} + +DeviceSummary& DeviceSummary::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("id")) + { + m_id = jsonValue.GetString("id"); + + m_idHasBeenSet = true; + } + + if(jsonValue.ValueExists("serialNumber")) + { + m_serialNumber = jsonValue.GetString("serialNumber"); + + m_serialNumberHasBeenSet = true; + } + + if(jsonValue.ValueExists("name")) + { + m_name = jsonValue.GetString("name"); + + m_nameHasBeenSet = true; + } + + if(jsonValue.ValueExists("model")) + { + m_model = jsonValue.GetString("model"); + + m_modelHasBeenSet = true; + } + + if(jsonValue.ValueExists("environmentId")) + { + m_environmentId = jsonValue.GetString("environmentId"); + + m_environmentIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("status")) + { + m_status = DeviceStatusMapper::GetDeviceStatusForName(jsonValue.GetString("status")); + + m_statusHasBeenSet = true; + } + + if(jsonValue.ValueExists("currentSoftwareSetId")) + { + m_currentSoftwareSetId = jsonValue.GetString("currentSoftwareSetId"); + + m_currentSoftwareSetIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("desiredSoftwareSetId")) + { + m_desiredSoftwareSetId = jsonValue.GetString("desiredSoftwareSetId"); + + m_desiredSoftwareSetIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("pendingSoftwareSetId")) + { + m_pendingSoftwareSetId = jsonValue.GetString("pendingSoftwareSetId"); + + m_pendingSoftwareSetIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("softwareSetUpdateSchedule")) + { + m_softwareSetUpdateSchedule = SoftwareSetUpdateScheduleMapper::GetSoftwareSetUpdateScheduleForName(jsonValue.GetString("softwareSetUpdateSchedule")); + + m_softwareSetUpdateScheduleHasBeenSet = true; + } + + if(jsonValue.ValueExists("lastConnectedAt")) + { + m_lastConnectedAt = jsonValue.GetDouble("lastConnectedAt"); + + m_lastConnectedAtHasBeenSet = true; + } + + if(jsonValue.ValueExists("lastPostureAt")) + { + m_lastPostureAt = jsonValue.GetDouble("lastPostureAt"); + + m_lastPostureAtHasBeenSet = true; + } + + if(jsonValue.ValueExists("createdAt")) + { + m_createdAt = jsonValue.GetDouble("createdAt"); + + m_createdAtHasBeenSet = true; + } + + if(jsonValue.ValueExists("updatedAt")) + { + m_updatedAt = jsonValue.GetDouble("updatedAt"); + + m_updatedAtHasBeenSet = true; + } + + if(jsonValue.ValueExists("arn")) + { + m_arn = jsonValue.GetString("arn"); + + m_arnHasBeenSet = true; + } + + if(jsonValue.ValueExists("tags")) + { + m_tags = jsonValue.GetObject("tags"); + + m_tagsHasBeenSet = true; + } + + return *this; +} + +JsonValue DeviceSummary::Jsonize() const +{ + JsonValue payload; + + if(m_idHasBeenSet) + { + payload.WithString("id", m_id); + + } + + if(m_serialNumberHasBeenSet) + { + payload.WithString("serialNumber", m_serialNumber); + + } + + if(m_nameHasBeenSet) + { + payload.WithString("name", m_name); + + } + + if(m_modelHasBeenSet) + { + payload.WithString("model", m_model); + + } + + if(m_environmentIdHasBeenSet) + { + payload.WithString("environmentId", m_environmentId); + + } + + if(m_statusHasBeenSet) + { + payload.WithString("status", DeviceStatusMapper::GetNameForDeviceStatus(m_status)); + } + + if(m_currentSoftwareSetIdHasBeenSet) + { + payload.WithString("currentSoftwareSetId", m_currentSoftwareSetId); + + } + + if(m_desiredSoftwareSetIdHasBeenSet) + { + payload.WithString("desiredSoftwareSetId", m_desiredSoftwareSetId); + + } + + if(m_pendingSoftwareSetIdHasBeenSet) + { + payload.WithString("pendingSoftwareSetId", m_pendingSoftwareSetId); + + } + + if(m_softwareSetUpdateScheduleHasBeenSet) + { + payload.WithString("softwareSetUpdateSchedule", SoftwareSetUpdateScheduleMapper::GetNameForSoftwareSetUpdateSchedule(m_softwareSetUpdateSchedule)); + } + + if(m_lastConnectedAtHasBeenSet) + { + payload.WithDouble("lastConnectedAt", m_lastConnectedAt.SecondsWithMSPrecision()); + } + + if(m_lastPostureAtHasBeenSet) + { + payload.WithDouble("lastPostureAt", m_lastPostureAt.SecondsWithMSPrecision()); + } + + if(m_createdAtHasBeenSet) + { + payload.WithDouble("createdAt", m_createdAt.SecondsWithMSPrecision()); + } + + if(m_updatedAtHasBeenSet) + { + payload.WithDouble("updatedAt", m_updatedAt.SecondsWithMSPrecision()); + } + + if(m_arnHasBeenSet) + { + payload.WithString("arn", m_arn); + + } + + if(m_tagsHasBeenSet) + { + payload.WithObject("tags", m_tags.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/EmbeddedTag.cpp b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/EmbeddedTag.cpp new file mode 100644 index 00000000000..19839abebf5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/EmbeddedTag.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 WorkSpacesThinClient +{ +namespace Model +{ + +EmbeddedTag::EmbeddedTag() : + m_resourceArnHasBeenSet(false), + m_internalIdHasBeenSet(false) +{ +} + +EmbeddedTag::EmbeddedTag(JsonView jsonValue) : + m_resourceArnHasBeenSet(false), + m_internalIdHasBeenSet(false) +{ + *this = jsonValue; +} + +EmbeddedTag& EmbeddedTag::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("resourceArn")) + { + m_resourceArn = jsonValue.GetString("resourceArn"); + + m_resourceArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("internalId")) + { + m_internalId = jsonValue.GetString("internalId"); + + m_internalIdHasBeenSet = true; + } + + return *this; +} + +JsonValue EmbeddedTag::Jsonize() const +{ + JsonValue payload; + + if(m_resourceArnHasBeenSet) + { + payload.WithString("resourceArn", m_resourceArn); + + } + + if(m_internalIdHasBeenSet) + { + payload.WithString("internalId", m_internalId); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/Environment.cpp b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/Environment.cpp new file mode 100644 index 00000000000..cb36d1b2507 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/Environment.cpp @@ -0,0 +1,333 @@ +/** + * 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 WorkSpacesThinClient +{ +namespace Model +{ + +Environment::Environment() : + m_idHasBeenSet(false), + m_nameHasBeenSet(false), + m_desktopArnHasBeenSet(false), + m_desktopEndpointHasBeenSet(false), + m_desktopType(DesktopType::NOT_SET), + m_desktopTypeHasBeenSet(false), + m_activationCodeHasBeenSet(false), + m_registeredDevicesCount(0), + m_registeredDevicesCountHasBeenSet(false), + m_softwareSetUpdateSchedule(SoftwareSetUpdateSchedule::NOT_SET), + m_softwareSetUpdateScheduleHasBeenSet(false), + m_maintenanceWindowHasBeenSet(false), + m_softwareSetUpdateMode(SoftwareSetUpdateMode::NOT_SET), + m_softwareSetUpdateModeHasBeenSet(false), + m_desiredSoftwareSetIdHasBeenSet(false), + m_pendingSoftwareSetIdHasBeenSet(false), + m_pendingSoftwareSetVersionHasBeenSet(false), + m_softwareSetComplianceStatus(EnvironmentSoftwareSetComplianceStatus::NOT_SET), + m_softwareSetComplianceStatusHasBeenSet(false), + m_createdAtHasBeenSet(false), + m_updatedAtHasBeenSet(false), + m_arnHasBeenSet(false), + m_kmsKeyArnHasBeenSet(false), + m_tagsHasBeenSet(false) +{ +} + +Environment::Environment(JsonView jsonValue) : + m_idHasBeenSet(false), + m_nameHasBeenSet(false), + m_desktopArnHasBeenSet(false), + m_desktopEndpointHasBeenSet(false), + m_desktopType(DesktopType::NOT_SET), + m_desktopTypeHasBeenSet(false), + m_activationCodeHasBeenSet(false), + m_registeredDevicesCount(0), + m_registeredDevicesCountHasBeenSet(false), + m_softwareSetUpdateSchedule(SoftwareSetUpdateSchedule::NOT_SET), + m_softwareSetUpdateScheduleHasBeenSet(false), + m_maintenanceWindowHasBeenSet(false), + m_softwareSetUpdateMode(SoftwareSetUpdateMode::NOT_SET), + m_softwareSetUpdateModeHasBeenSet(false), + m_desiredSoftwareSetIdHasBeenSet(false), + m_pendingSoftwareSetIdHasBeenSet(false), + m_pendingSoftwareSetVersionHasBeenSet(false), + m_softwareSetComplianceStatus(EnvironmentSoftwareSetComplianceStatus::NOT_SET), + m_softwareSetComplianceStatusHasBeenSet(false), + m_createdAtHasBeenSet(false), + m_updatedAtHasBeenSet(false), + m_arnHasBeenSet(false), + m_kmsKeyArnHasBeenSet(false), + m_tagsHasBeenSet(false) +{ + *this = jsonValue; +} + +Environment& Environment::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("id")) + { + m_id = jsonValue.GetString("id"); + + m_idHasBeenSet = true; + } + + if(jsonValue.ValueExists("name")) + { + m_name = jsonValue.GetString("name"); + + m_nameHasBeenSet = true; + } + + if(jsonValue.ValueExists("desktopArn")) + { + m_desktopArn = jsonValue.GetString("desktopArn"); + + m_desktopArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("desktopEndpoint")) + { + m_desktopEndpoint = jsonValue.GetString("desktopEndpoint"); + + m_desktopEndpointHasBeenSet = true; + } + + if(jsonValue.ValueExists("desktopType")) + { + m_desktopType = DesktopTypeMapper::GetDesktopTypeForName(jsonValue.GetString("desktopType")); + + m_desktopTypeHasBeenSet = true; + } + + if(jsonValue.ValueExists("activationCode")) + { + m_activationCode = jsonValue.GetString("activationCode"); + + m_activationCodeHasBeenSet = true; + } + + if(jsonValue.ValueExists("registeredDevicesCount")) + { + m_registeredDevicesCount = jsonValue.GetInteger("registeredDevicesCount"); + + m_registeredDevicesCountHasBeenSet = true; + } + + if(jsonValue.ValueExists("softwareSetUpdateSchedule")) + { + m_softwareSetUpdateSchedule = SoftwareSetUpdateScheduleMapper::GetSoftwareSetUpdateScheduleForName(jsonValue.GetString("softwareSetUpdateSchedule")); + + m_softwareSetUpdateScheduleHasBeenSet = true; + } + + if(jsonValue.ValueExists("maintenanceWindow")) + { + m_maintenanceWindow = jsonValue.GetObject("maintenanceWindow"); + + m_maintenanceWindowHasBeenSet = true; + } + + if(jsonValue.ValueExists("softwareSetUpdateMode")) + { + m_softwareSetUpdateMode = SoftwareSetUpdateModeMapper::GetSoftwareSetUpdateModeForName(jsonValue.GetString("softwareSetUpdateMode")); + + m_softwareSetUpdateModeHasBeenSet = true; + } + + if(jsonValue.ValueExists("desiredSoftwareSetId")) + { + m_desiredSoftwareSetId = jsonValue.GetString("desiredSoftwareSetId"); + + m_desiredSoftwareSetIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("pendingSoftwareSetId")) + { + m_pendingSoftwareSetId = jsonValue.GetString("pendingSoftwareSetId"); + + m_pendingSoftwareSetIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("pendingSoftwareSetVersion")) + { + m_pendingSoftwareSetVersion = jsonValue.GetString("pendingSoftwareSetVersion"); + + m_pendingSoftwareSetVersionHasBeenSet = true; + } + + if(jsonValue.ValueExists("softwareSetComplianceStatus")) + { + m_softwareSetComplianceStatus = EnvironmentSoftwareSetComplianceStatusMapper::GetEnvironmentSoftwareSetComplianceStatusForName(jsonValue.GetString("softwareSetComplianceStatus")); + + m_softwareSetComplianceStatusHasBeenSet = true; + } + + if(jsonValue.ValueExists("createdAt")) + { + m_createdAt = jsonValue.GetDouble("createdAt"); + + m_createdAtHasBeenSet = true; + } + + if(jsonValue.ValueExists("updatedAt")) + { + m_updatedAt = jsonValue.GetDouble("updatedAt"); + + m_updatedAtHasBeenSet = true; + } + + if(jsonValue.ValueExists("arn")) + { + m_arn = jsonValue.GetString("arn"); + + m_arnHasBeenSet = true; + } + + if(jsonValue.ValueExists("kmsKeyArn")) + { + m_kmsKeyArn = jsonValue.GetString("kmsKeyArn"); + + m_kmsKeyArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("tags")) + { + m_tags = jsonValue.GetObject("tags"); + + m_tagsHasBeenSet = true; + } + + return *this; +} + +JsonValue Environment::Jsonize() const +{ + JsonValue payload; + + if(m_idHasBeenSet) + { + payload.WithString("id", m_id); + + } + + if(m_nameHasBeenSet) + { + payload.WithString("name", m_name); + + } + + if(m_desktopArnHasBeenSet) + { + payload.WithString("desktopArn", m_desktopArn); + + } + + if(m_desktopEndpointHasBeenSet) + { + payload.WithString("desktopEndpoint", m_desktopEndpoint); + + } + + if(m_desktopTypeHasBeenSet) + { + payload.WithString("desktopType", DesktopTypeMapper::GetNameForDesktopType(m_desktopType)); + } + + if(m_activationCodeHasBeenSet) + { + payload.WithString("activationCode", m_activationCode); + + } + + if(m_registeredDevicesCountHasBeenSet) + { + payload.WithInteger("registeredDevicesCount", m_registeredDevicesCount); + + } + + if(m_softwareSetUpdateScheduleHasBeenSet) + { + payload.WithString("softwareSetUpdateSchedule", SoftwareSetUpdateScheduleMapper::GetNameForSoftwareSetUpdateSchedule(m_softwareSetUpdateSchedule)); + } + + if(m_maintenanceWindowHasBeenSet) + { + payload.WithObject("maintenanceWindow", m_maintenanceWindow.Jsonize()); + + } + + if(m_softwareSetUpdateModeHasBeenSet) + { + payload.WithString("softwareSetUpdateMode", SoftwareSetUpdateModeMapper::GetNameForSoftwareSetUpdateMode(m_softwareSetUpdateMode)); + } + + if(m_desiredSoftwareSetIdHasBeenSet) + { + payload.WithString("desiredSoftwareSetId", m_desiredSoftwareSetId); + + } + + if(m_pendingSoftwareSetIdHasBeenSet) + { + payload.WithString("pendingSoftwareSetId", m_pendingSoftwareSetId); + + } + + if(m_pendingSoftwareSetVersionHasBeenSet) + { + payload.WithString("pendingSoftwareSetVersion", m_pendingSoftwareSetVersion); + + } + + if(m_softwareSetComplianceStatusHasBeenSet) + { + payload.WithString("softwareSetComplianceStatus", EnvironmentSoftwareSetComplianceStatusMapper::GetNameForEnvironmentSoftwareSetComplianceStatus(m_softwareSetComplianceStatus)); + } + + if(m_createdAtHasBeenSet) + { + payload.WithDouble("createdAt", m_createdAt.SecondsWithMSPrecision()); + } + + if(m_updatedAtHasBeenSet) + { + payload.WithDouble("updatedAt", m_updatedAt.SecondsWithMSPrecision()); + } + + if(m_arnHasBeenSet) + { + payload.WithString("arn", m_arn); + + } + + if(m_kmsKeyArnHasBeenSet) + { + payload.WithString("kmsKeyArn", m_kmsKeyArn); + + } + + if(m_tagsHasBeenSet) + { + payload.WithObject("tags", m_tags.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/EnvironmentSoftwareSetComplianceStatus.cpp b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/EnvironmentSoftwareSetComplianceStatus.cpp new file mode 100644 index 00000000000..2ca479783c0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/EnvironmentSoftwareSetComplianceStatus.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 WorkSpacesThinClient + { + namespace Model + { + namespace EnvironmentSoftwareSetComplianceStatusMapper + { + + static const int NO_REGISTERED_DEVICES_HASH = HashingUtils::HashString("NO_REGISTERED_DEVICES"); + static const int COMPLIANT_HASH = HashingUtils::HashString("COMPLIANT"); + static const int NOT_COMPLIANT_HASH = HashingUtils::HashString("NOT_COMPLIANT"); + + + EnvironmentSoftwareSetComplianceStatus GetEnvironmentSoftwareSetComplianceStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == NO_REGISTERED_DEVICES_HASH) + { + return EnvironmentSoftwareSetComplianceStatus::NO_REGISTERED_DEVICES; + } + else if (hashCode == COMPLIANT_HASH) + { + return EnvironmentSoftwareSetComplianceStatus::COMPLIANT; + } + else if (hashCode == NOT_COMPLIANT_HASH) + { + return EnvironmentSoftwareSetComplianceStatus::NOT_COMPLIANT; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return EnvironmentSoftwareSetComplianceStatus::NOT_SET; + } + + Aws::String GetNameForEnvironmentSoftwareSetComplianceStatus(EnvironmentSoftwareSetComplianceStatus enumValue) + { + switch(enumValue) + { + case EnvironmentSoftwareSetComplianceStatus::NOT_SET: + return {}; + case EnvironmentSoftwareSetComplianceStatus::NO_REGISTERED_DEVICES: + return "NO_REGISTERED_DEVICES"; + case EnvironmentSoftwareSetComplianceStatus::COMPLIANT: + return "COMPLIANT"; + case EnvironmentSoftwareSetComplianceStatus::NOT_COMPLIANT: + return "NOT_COMPLIANT"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace EnvironmentSoftwareSetComplianceStatusMapper + } // namespace Model + } // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/EnvironmentSummary.cpp b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/EnvironmentSummary.cpp new file mode 100644 index 00000000000..23904027b7b --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/EnvironmentSummary.cpp @@ -0,0 +1,270 @@ +/** + * 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 WorkSpacesThinClient +{ +namespace Model +{ + +EnvironmentSummary::EnvironmentSummary() : + m_idHasBeenSet(false), + m_nameHasBeenSet(false), + m_desktopArnHasBeenSet(false), + m_desktopEndpointHasBeenSet(false), + m_desktopType(DesktopType::NOT_SET), + m_desktopTypeHasBeenSet(false), + m_activationCodeHasBeenSet(false), + m_softwareSetUpdateSchedule(SoftwareSetUpdateSchedule::NOT_SET), + m_softwareSetUpdateScheduleHasBeenSet(false), + m_maintenanceWindowHasBeenSet(false), + m_softwareSetUpdateMode(SoftwareSetUpdateMode::NOT_SET), + m_softwareSetUpdateModeHasBeenSet(false), + m_desiredSoftwareSetIdHasBeenSet(false), + m_pendingSoftwareSetIdHasBeenSet(false), + m_createdAtHasBeenSet(false), + m_updatedAtHasBeenSet(false), + m_arnHasBeenSet(false), + m_tagsHasBeenSet(false) +{ +} + +EnvironmentSummary::EnvironmentSummary(JsonView jsonValue) : + m_idHasBeenSet(false), + m_nameHasBeenSet(false), + m_desktopArnHasBeenSet(false), + m_desktopEndpointHasBeenSet(false), + m_desktopType(DesktopType::NOT_SET), + m_desktopTypeHasBeenSet(false), + m_activationCodeHasBeenSet(false), + m_softwareSetUpdateSchedule(SoftwareSetUpdateSchedule::NOT_SET), + m_softwareSetUpdateScheduleHasBeenSet(false), + m_maintenanceWindowHasBeenSet(false), + m_softwareSetUpdateMode(SoftwareSetUpdateMode::NOT_SET), + m_softwareSetUpdateModeHasBeenSet(false), + m_desiredSoftwareSetIdHasBeenSet(false), + m_pendingSoftwareSetIdHasBeenSet(false), + m_createdAtHasBeenSet(false), + m_updatedAtHasBeenSet(false), + m_arnHasBeenSet(false), + m_tagsHasBeenSet(false) +{ + *this = jsonValue; +} + +EnvironmentSummary& EnvironmentSummary::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("id")) + { + m_id = jsonValue.GetString("id"); + + m_idHasBeenSet = true; + } + + if(jsonValue.ValueExists("name")) + { + m_name = jsonValue.GetString("name"); + + m_nameHasBeenSet = true; + } + + if(jsonValue.ValueExists("desktopArn")) + { + m_desktopArn = jsonValue.GetString("desktopArn"); + + m_desktopArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("desktopEndpoint")) + { + m_desktopEndpoint = jsonValue.GetString("desktopEndpoint"); + + m_desktopEndpointHasBeenSet = true; + } + + if(jsonValue.ValueExists("desktopType")) + { + m_desktopType = DesktopTypeMapper::GetDesktopTypeForName(jsonValue.GetString("desktopType")); + + m_desktopTypeHasBeenSet = true; + } + + if(jsonValue.ValueExists("activationCode")) + { + m_activationCode = jsonValue.GetString("activationCode"); + + m_activationCodeHasBeenSet = true; + } + + if(jsonValue.ValueExists("softwareSetUpdateSchedule")) + { + m_softwareSetUpdateSchedule = SoftwareSetUpdateScheduleMapper::GetSoftwareSetUpdateScheduleForName(jsonValue.GetString("softwareSetUpdateSchedule")); + + m_softwareSetUpdateScheduleHasBeenSet = true; + } + + if(jsonValue.ValueExists("maintenanceWindow")) + { + m_maintenanceWindow = jsonValue.GetObject("maintenanceWindow"); + + m_maintenanceWindowHasBeenSet = true; + } + + if(jsonValue.ValueExists("softwareSetUpdateMode")) + { + m_softwareSetUpdateMode = SoftwareSetUpdateModeMapper::GetSoftwareSetUpdateModeForName(jsonValue.GetString("softwareSetUpdateMode")); + + m_softwareSetUpdateModeHasBeenSet = true; + } + + if(jsonValue.ValueExists("desiredSoftwareSetId")) + { + m_desiredSoftwareSetId = jsonValue.GetString("desiredSoftwareSetId"); + + m_desiredSoftwareSetIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("pendingSoftwareSetId")) + { + m_pendingSoftwareSetId = jsonValue.GetString("pendingSoftwareSetId"); + + m_pendingSoftwareSetIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("createdAt")) + { + m_createdAt = jsonValue.GetDouble("createdAt"); + + m_createdAtHasBeenSet = true; + } + + if(jsonValue.ValueExists("updatedAt")) + { + m_updatedAt = jsonValue.GetDouble("updatedAt"); + + m_updatedAtHasBeenSet = true; + } + + if(jsonValue.ValueExists("arn")) + { + m_arn = jsonValue.GetString("arn"); + + m_arnHasBeenSet = true; + } + + if(jsonValue.ValueExists("tags")) + { + m_tags = jsonValue.GetObject("tags"); + + m_tagsHasBeenSet = true; + } + + return *this; +} + +JsonValue EnvironmentSummary::Jsonize() const +{ + JsonValue payload; + + if(m_idHasBeenSet) + { + payload.WithString("id", m_id); + + } + + if(m_nameHasBeenSet) + { + payload.WithString("name", m_name); + + } + + if(m_desktopArnHasBeenSet) + { + payload.WithString("desktopArn", m_desktopArn); + + } + + if(m_desktopEndpointHasBeenSet) + { + payload.WithString("desktopEndpoint", m_desktopEndpoint); + + } + + if(m_desktopTypeHasBeenSet) + { + payload.WithString("desktopType", DesktopTypeMapper::GetNameForDesktopType(m_desktopType)); + } + + if(m_activationCodeHasBeenSet) + { + payload.WithString("activationCode", m_activationCode); + + } + + if(m_softwareSetUpdateScheduleHasBeenSet) + { + payload.WithString("softwareSetUpdateSchedule", SoftwareSetUpdateScheduleMapper::GetNameForSoftwareSetUpdateSchedule(m_softwareSetUpdateSchedule)); + } + + if(m_maintenanceWindowHasBeenSet) + { + payload.WithObject("maintenanceWindow", m_maintenanceWindow.Jsonize()); + + } + + if(m_softwareSetUpdateModeHasBeenSet) + { + payload.WithString("softwareSetUpdateMode", SoftwareSetUpdateModeMapper::GetNameForSoftwareSetUpdateMode(m_softwareSetUpdateMode)); + } + + if(m_desiredSoftwareSetIdHasBeenSet) + { + payload.WithString("desiredSoftwareSetId", m_desiredSoftwareSetId); + + } + + if(m_pendingSoftwareSetIdHasBeenSet) + { + payload.WithString("pendingSoftwareSetId", m_pendingSoftwareSetId); + + } + + if(m_createdAtHasBeenSet) + { + payload.WithDouble("createdAt", m_createdAt.SecondsWithMSPrecision()); + } + + if(m_updatedAtHasBeenSet) + { + payload.WithDouble("updatedAt", m_updatedAt.SecondsWithMSPrecision()); + } + + if(m_arnHasBeenSet) + { + payload.WithString("arn", m_arn); + + } + + if(m_tagsHasBeenSet) + { + payload.WithObject("tags", m_tags.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/GetDeviceRequest.cpp b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/GetDeviceRequest.cpp new file mode 100644 index 00000000000..11a66d0cbb6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/GetDeviceRequest.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::WorkSpacesThinClient::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +GetDeviceRequest::GetDeviceRequest() : + m_idHasBeenSet(false) +{ +} + +Aws::String GetDeviceRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/GetDeviceResult.cpp b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/GetDeviceResult.cpp new file mode 100644 index 00000000000..4607867ea8c --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/GetDeviceResult.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::WorkSpacesThinClient::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetDeviceResult::GetDeviceResult() +{ +} + +GetDeviceResult::GetDeviceResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetDeviceResult& GetDeviceResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("device")) + { + m_device = jsonValue.GetObject("device"); + + } + + + 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-workspaces-thin-client/source/model/GetEnvironmentRequest.cpp b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/GetEnvironmentRequest.cpp new file mode 100644 index 00000000000..e508be68cfb --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/GetEnvironmentRequest.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::WorkSpacesThinClient::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +GetEnvironmentRequest::GetEnvironmentRequest() : + m_idHasBeenSet(false) +{ +} + +Aws::String GetEnvironmentRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/GetEnvironmentResult.cpp b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/GetEnvironmentResult.cpp new file mode 100644 index 00000000000..4ec1e71d324 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/GetEnvironmentResult.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::WorkSpacesThinClient::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetEnvironmentResult::GetEnvironmentResult() +{ +} + +GetEnvironmentResult::GetEnvironmentResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetEnvironmentResult& GetEnvironmentResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("environment")) + { + m_environment = jsonValue.GetObject("environment"); + + } + + + 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-workspaces-thin-client/source/model/GetSoftwareSetRequest.cpp b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/GetSoftwareSetRequest.cpp new file mode 100644 index 00000000000..4fc8a4dd02e --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/GetSoftwareSetRequest.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::WorkSpacesThinClient::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +GetSoftwareSetRequest::GetSoftwareSetRequest() : + m_idHasBeenSet(false) +{ +} + +Aws::String GetSoftwareSetRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/GetSoftwareSetResult.cpp b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/GetSoftwareSetResult.cpp new file mode 100644 index 00000000000..ac084a9dd06 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/GetSoftwareSetResult.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::WorkSpacesThinClient::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetSoftwareSetResult::GetSoftwareSetResult() +{ +} + +GetSoftwareSetResult::GetSoftwareSetResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetSoftwareSetResult& GetSoftwareSetResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("softwareSet")) + { + m_softwareSet = jsonValue.GetObject("softwareSet"); + + } + + + 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-workspaces-thin-client/source/model/InternalServerException.cpp b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/InternalServerException.cpp new file mode 100644 index 00000000000..45c03db19aa --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/InternalServerException.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 + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkSpacesThinClient +{ +namespace Model +{ + +InternalServerException::InternalServerException() : + m_messageHasBeenSet(false), + m_retryAfterSeconds(0), + m_retryAfterSecondsHasBeenSet(false) +{ +} + +InternalServerException::InternalServerException(JsonView jsonValue) : + m_messageHasBeenSet(false), + m_retryAfterSeconds(0), + m_retryAfterSecondsHasBeenSet(false) +{ + *this = jsonValue; +} + +InternalServerException& InternalServerException::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("message")) + { + m_message = jsonValue.GetString("message"); + + m_messageHasBeenSet = true; + } + + return *this; +} + +JsonValue InternalServerException::Jsonize() const +{ + JsonValue payload; + + if(m_messageHasBeenSet) + { + payload.WithString("message", m_message); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/InternalServiceException.cpp b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/InternalServiceException.cpp new file mode 100644 index 00000000000..ca627ad1627 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/InternalServiceException.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 + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkSpacesThinClient +{ +namespace Model +{ + +InternalServiceException::InternalServiceException() : + m_messageHasBeenSet(false), + m_retryAfterSeconds(0), + m_retryAfterSecondsHasBeenSet(false) +{ +} + +InternalServiceException::InternalServiceException(JsonView jsonValue) : + m_messageHasBeenSet(false), + m_retryAfterSeconds(0), + m_retryAfterSecondsHasBeenSet(false) +{ + *this = jsonValue; +} + +InternalServiceException& InternalServiceException::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("message")) + { + m_message = jsonValue.GetString("message"); + + m_messageHasBeenSet = true; + } + + return *this; +} + +JsonValue InternalServiceException::Jsonize() const +{ + JsonValue payload; + + if(m_messageHasBeenSet) + { + payload.WithString("message", m_message); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/ListDevicesRequest.cpp b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/ListDevicesRequest.cpp new file mode 100644 index 00000000000..05bfef63f9d --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/ListDevicesRequest.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 + +using namespace Aws::WorkSpacesThinClient::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +ListDevicesRequest::ListDevicesRequest() : + m_nextTokenHasBeenSet(false), + m_maxResults(0), + m_maxResultsHasBeenSet(false) +{ +} + +Aws::String ListDevicesRequest::SerializePayload() const +{ + return {}; +} + +void ListDevicesRequest::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-workspaces-thin-client/source/model/ListDevicesResult.cpp b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/ListDevicesResult.cpp new file mode 100644 index 00000000000..736531c2980 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/ListDevicesResult.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::WorkSpacesThinClient::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListDevicesResult::ListDevicesResult() +{ +} + +ListDevicesResult::ListDevicesResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListDevicesResult& ListDevicesResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("devices")) + { + Aws::Utils::Array devicesJsonList = jsonValue.GetArray("devices"); + for(unsigned devicesIndex = 0; devicesIndex < devicesJsonList.GetLength(); ++devicesIndex) + { + m_devices.push_back(devicesJsonList[devicesIndex].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-workspaces-thin-client/source/model/ListEnvironmentsRequest.cpp b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/ListEnvironmentsRequest.cpp new file mode 100644 index 00000000000..9e0e5461ac7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/ListEnvironmentsRequest.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 + +using namespace Aws::WorkSpacesThinClient::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +ListEnvironmentsRequest::ListEnvironmentsRequest() : + m_nextTokenHasBeenSet(false), + m_maxResults(0), + m_maxResultsHasBeenSet(false) +{ +} + +Aws::String ListEnvironmentsRequest::SerializePayload() const +{ + return {}; +} + +void ListEnvironmentsRequest::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-workspaces-thin-client/source/model/ListEnvironmentsResult.cpp b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/ListEnvironmentsResult.cpp new file mode 100644 index 00000000000..a058ea50819 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/ListEnvironmentsResult.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::WorkSpacesThinClient::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListEnvironmentsResult::ListEnvironmentsResult() +{ +} + +ListEnvironmentsResult::ListEnvironmentsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListEnvironmentsResult& ListEnvironmentsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("environments")) + { + Aws::Utils::Array environmentsJsonList = jsonValue.GetArray("environments"); + for(unsigned environmentsIndex = 0; environmentsIndex < environmentsJsonList.GetLength(); ++environmentsIndex) + { + m_environments.push_back(environmentsJsonList[environmentsIndex].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-workspaces-thin-client/source/model/ListSoftwareSetsRequest.cpp b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/ListSoftwareSetsRequest.cpp new file mode 100644 index 00000000000..41fcbb80c0f --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/ListSoftwareSetsRequest.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 + +using namespace Aws::WorkSpacesThinClient::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +ListSoftwareSetsRequest::ListSoftwareSetsRequest() : + m_nextTokenHasBeenSet(false), + m_maxResults(0), + m_maxResultsHasBeenSet(false) +{ +} + +Aws::String ListSoftwareSetsRequest::SerializePayload() const +{ + return {}; +} + +void ListSoftwareSetsRequest::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-workspaces-thin-client/source/model/ListSoftwareSetsResult.cpp b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/ListSoftwareSetsResult.cpp new file mode 100644 index 00000000000..700be7038f0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/ListSoftwareSetsResult.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::WorkSpacesThinClient::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListSoftwareSetsResult::ListSoftwareSetsResult() +{ +} + +ListSoftwareSetsResult::ListSoftwareSetsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListSoftwareSetsResult& ListSoftwareSetsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("softwareSets")) + { + Aws::Utils::Array softwareSetsJsonList = jsonValue.GetArray("softwareSets"); + for(unsigned softwareSetsIndex = 0; softwareSetsIndex < softwareSetsJsonList.GetLength(); ++softwareSetsIndex) + { + m_softwareSets.push_back(softwareSetsJsonList[softwareSetsIndex].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-workspaces-thin-client/source/model/ListTagsForResourceRequest.cpp b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/ListTagsForResourceRequest.cpp new file mode 100644 index 00000000000..670ac0c43aa --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/ListTagsForResourceRequest.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::WorkSpacesThinClient::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +ListTagsForResourceRequest::ListTagsForResourceRequest() : + m_resourceArnHasBeenSet(false) +{ +} + +Aws::String ListTagsForResourceRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/ListTagsForResourceResult.cpp b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/ListTagsForResourceResult.cpp new file mode 100644 index 00000000000..2df8986509b --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/ListTagsForResourceResult.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::WorkSpacesThinClient::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListTagsForResourceResult::ListTagsForResourceResult() +{ +} + +ListTagsForResourceResult::ListTagsForResourceResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListTagsForResourceResult& ListTagsForResourceResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("tags")) + { + Aws::Map tagsJsonMap = jsonValue.GetObject("tags").GetAllObjects(); + for(auto& tagsItem : tagsJsonMap) + { + m_tags[tagsItem.first] = tagsItem.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/src/aws-cpp-sdk-workspaces-thin-client/source/model/MaintenanceWindow.cpp b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/MaintenanceWindow.cpp new file mode 100644 index 00000000000..d6036ce936d --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/MaintenanceWindow.cpp @@ -0,0 +1,167 @@ +/** + * 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 WorkSpacesThinClient +{ +namespace Model +{ + +MaintenanceWindow::MaintenanceWindow() : + m_type(MaintenanceWindowType::NOT_SET), + m_typeHasBeenSet(false), + m_startTimeHour(0), + m_startTimeHourHasBeenSet(false), + m_startTimeMinute(0), + m_startTimeMinuteHasBeenSet(false), + m_endTimeHour(0), + m_endTimeHourHasBeenSet(false), + m_endTimeMinute(0), + m_endTimeMinuteHasBeenSet(false), + m_daysOfTheWeekHasBeenSet(false), + m_applyTimeOf(ApplyTimeOf::NOT_SET), + m_applyTimeOfHasBeenSet(false) +{ +} + +MaintenanceWindow::MaintenanceWindow(JsonView jsonValue) : + m_type(MaintenanceWindowType::NOT_SET), + m_typeHasBeenSet(false), + m_startTimeHour(0), + m_startTimeHourHasBeenSet(false), + m_startTimeMinute(0), + m_startTimeMinuteHasBeenSet(false), + m_endTimeHour(0), + m_endTimeHourHasBeenSet(false), + m_endTimeMinute(0), + m_endTimeMinuteHasBeenSet(false), + m_daysOfTheWeekHasBeenSet(false), + m_applyTimeOf(ApplyTimeOf::NOT_SET), + m_applyTimeOfHasBeenSet(false) +{ + *this = jsonValue; +} + +MaintenanceWindow& MaintenanceWindow::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("type")) + { + m_type = MaintenanceWindowTypeMapper::GetMaintenanceWindowTypeForName(jsonValue.GetString("type")); + + m_typeHasBeenSet = true; + } + + if(jsonValue.ValueExists("startTimeHour")) + { + m_startTimeHour = jsonValue.GetInteger("startTimeHour"); + + m_startTimeHourHasBeenSet = true; + } + + if(jsonValue.ValueExists("startTimeMinute")) + { + m_startTimeMinute = jsonValue.GetInteger("startTimeMinute"); + + m_startTimeMinuteHasBeenSet = true; + } + + if(jsonValue.ValueExists("endTimeHour")) + { + m_endTimeHour = jsonValue.GetInteger("endTimeHour"); + + m_endTimeHourHasBeenSet = true; + } + + if(jsonValue.ValueExists("endTimeMinute")) + { + m_endTimeMinute = jsonValue.GetInteger("endTimeMinute"); + + m_endTimeMinuteHasBeenSet = true; + } + + if(jsonValue.ValueExists("daysOfTheWeek")) + { + Aws::Utils::Array daysOfTheWeekJsonList = jsonValue.GetArray("daysOfTheWeek"); + for(unsigned daysOfTheWeekIndex = 0; daysOfTheWeekIndex < daysOfTheWeekJsonList.GetLength(); ++daysOfTheWeekIndex) + { + m_daysOfTheWeek.push_back(DayOfWeekMapper::GetDayOfWeekForName(daysOfTheWeekJsonList[daysOfTheWeekIndex].AsString())); + } + m_daysOfTheWeekHasBeenSet = true; + } + + if(jsonValue.ValueExists("applyTimeOf")) + { + m_applyTimeOf = ApplyTimeOfMapper::GetApplyTimeOfForName(jsonValue.GetString("applyTimeOf")); + + m_applyTimeOfHasBeenSet = true; + } + + return *this; +} + +JsonValue MaintenanceWindow::Jsonize() const +{ + JsonValue payload; + + if(m_typeHasBeenSet) + { + payload.WithString("type", MaintenanceWindowTypeMapper::GetNameForMaintenanceWindowType(m_type)); + } + + if(m_startTimeHourHasBeenSet) + { + payload.WithInteger("startTimeHour", m_startTimeHour); + + } + + if(m_startTimeMinuteHasBeenSet) + { + payload.WithInteger("startTimeMinute", m_startTimeMinute); + + } + + if(m_endTimeHourHasBeenSet) + { + payload.WithInteger("endTimeHour", m_endTimeHour); + + } + + if(m_endTimeMinuteHasBeenSet) + { + payload.WithInteger("endTimeMinute", m_endTimeMinute); + + } + + if(m_daysOfTheWeekHasBeenSet) + { + Aws::Utils::Array daysOfTheWeekJsonList(m_daysOfTheWeek.size()); + for(unsigned daysOfTheWeekIndex = 0; daysOfTheWeekIndex < daysOfTheWeekJsonList.GetLength(); ++daysOfTheWeekIndex) + { + daysOfTheWeekJsonList[daysOfTheWeekIndex].AsString(DayOfWeekMapper::GetNameForDayOfWeek(m_daysOfTheWeek[daysOfTheWeekIndex])); + } + payload.WithArray("daysOfTheWeek", std::move(daysOfTheWeekJsonList)); + + } + + if(m_applyTimeOfHasBeenSet) + { + payload.WithString("applyTimeOf", ApplyTimeOfMapper::GetNameForApplyTimeOf(m_applyTimeOf)); + } + + return payload; +} + +} // namespace Model +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/MaintenanceWindowType.cpp b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/MaintenanceWindowType.cpp new file mode 100644 index 00000000000..8dd29b1fbbe --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/MaintenanceWindowType.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 WorkSpacesThinClient + { + namespace Model + { + namespace MaintenanceWindowTypeMapper + { + + static const int SYSTEM_HASH = HashingUtils::HashString("SYSTEM"); + static const int CUSTOM_HASH = HashingUtils::HashString("CUSTOM"); + + + MaintenanceWindowType GetMaintenanceWindowTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == SYSTEM_HASH) + { + return MaintenanceWindowType::SYSTEM; + } + else if (hashCode == CUSTOM_HASH) + { + return MaintenanceWindowType::CUSTOM; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return MaintenanceWindowType::NOT_SET; + } + + Aws::String GetNameForMaintenanceWindowType(MaintenanceWindowType enumValue) + { + switch(enumValue) + { + case MaintenanceWindowType::NOT_SET: + return {}; + case MaintenanceWindowType::SYSTEM: + return "SYSTEM"; + case MaintenanceWindowType::CUSTOM: + return "CUSTOM"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace MaintenanceWindowTypeMapper + } // namespace Model + } // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/ResourceNotFoundException.cpp b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/ResourceNotFoundException.cpp new file mode 100644 index 00000000000..5f97cf0371e --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/ResourceNotFoundException.cpp @@ -0,0 +1,89 @@ +/** + * 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 WorkSpacesThinClient +{ +namespace Model +{ + +ResourceNotFoundException::ResourceNotFoundException() : + m_messageHasBeenSet(false), + m_resourceIdHasBeenSet(false), + m_resourceTypeHasBeenSet(false) +{ +} + +ResourceNotFoundException::ResourceNotFoundException(JsonView jsonValue) : + m_messageHasBeenSet(false), + m_resourceIdHasBeenSet(false), + m_resourceTypeHasBeenSet(false) +{ + *this = jsonValue; +} + +ResourceNotFoundException& ResourceNotFoundException::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("message")) + { + m_message = jsonValue.GetString("message"); + + m_messageHasBeenSet = true; + } + + if(jsonValue.ValueExists("resourceId")) + { + m_resourceId = jsonValue.GetString("resourceId"); + + m_resourceIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("resourceType")) + { + m_resourceType = jsonValue.GetString("resourceType"); + + m_resourceTypeHasBeenSet = true; + } + + return *this; +} + +JsonValue ResourceNotFoundException::Jsonize() const +{ + JsonValue payload; + + if(m_messageHasBeenSet) + { + payload.WithString("message", m_message); + + } + + if(m_resourceIdHasBeenSet) + { + payload.WithString("resourceId", m_resourceId); + + } + + if(m_resourceTypeHasBeenSet) + { + payload.WithString("resourceType", m_resourceType); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/ServiceQuotaExceededException.cpp b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/ServiceQuotaExceededException.cpp new file mode 100644 index 00000000000..b38f7ac2446 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/ServiceQuotaExceededException.cpp @@ -0,0 +1,119 @@ +/** + * 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 WorkSpacesThinClient +{ +namespace Model +{ + +ServiceQuotaExceededException::ServiceQuotaExceededException() : + m_messageHasBeenSet(false), + m_resourceIdHasBeenSet(false), + m_resourceTypeHasBeenSet(false), + m_serviceCodeHasBeenSet(false), + m_quotaCodeHasBeenSet(false) +{ +} + +ServiceQuotaExceededException::ServiceQuotaExceededException(JsonView jsonValue) : + m_messageHasBeenSet(false), + m_resourceIdHasBeenSet(false), + m_resourceTypeHasBeenSet(false), + m_serviceCodeHasBeenSet(false), + m_quotaCodeHasBeenSet(false) +{ + *this = jsonValue; +} + +ServiceQuotaExceededException& ServiceQuotaExceededException::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("message")) + { + m_message = jsonValue.GetString("message"); + + m_messageHasBeenSet = true; + } + + if(jsonValue.ValueExists("resourceId")) + { + m_resourceId = jsonValue.GetString("resourceId"); + + m_resourceIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("resourceType")) + { + m_resourceType = jsonValue.GetString("resourceType"); + + m_resourceTypeHasBeenSet = true; + } + + if(jsonValue.ValueExists("serviceCode")) + { + m_serviceCode = jsonValue.GetString("serviceCode"); + + m_serviceCodeHasBeenSet = true; + } + + if(jsonValue.ValueExists("quotaCode")) + { + m_quotaCode = jsonValue.GetString("quotaCode"); + + m_quotaCodeHasBeenSet = true; + } + + return *this; +} + +JsonValue ServiceQuotaExceededException::Jsonize() const +{ + JsonValue payload; + + if(m_messageHasBeenSet) + { + payload.WithString("message", m_message); + + } + + if(m_resourceIdHasBeenSet) + { + payload.WithString("resourceId", m_resourceId); + + } + + if(m_resourceTypeHasBeenSet) + { + payload.WithString("resourceType", m_resourceType); + + } + + if(m_serviceCodeHasBeenSet) + { + payload.WithString("serviceCode", m_serviceCode); + + } + + if(m_quotaCodeHasBeenSet) + { + payload.WithString("quotaCode", m_quotaCode); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/Software.cpp b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/Software.cpp new file mode 100644 index 00000000000..f58a646edf9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/Software.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 WorkSpacesThinClient +{ +namespace Model +{ + +Software::Software() : + m_nameHasBeenSet(false), + m_versionHasBeenSet(false) +{ +} + +Software::Software(JsonView jsonValue) : + m_nameHasBeenSet(false), + m_versionHasBeenSet(false) +{ + *this = jsonValue; +} + +Software& Software::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("name")) + { + m_name = jsonValue.GetString("name"); + + m_nameHasBeenSet = true; + } + + if(jsonValue.ValueExists("version")) + { + m_version = jsonValue.GetString("version"); + + m_versionHasBeenSet = true; + } + + return *this; +} + +JsonValue Software::Jsonize() const +{ + JsonValue payload; + + if(m_nameHasBeenSet) + { + payload.WithString("name", m_name); + + } + + if(m_versionHasBeenSet) + { + payload.WithString("version", m_version); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/SoftwareSet.cpp b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/SoftwareSet.cpp new file mode 100644 index 00000000000..4329eafdf9f --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/SoftwareSet.cpp @@ -0,0 +1,156 @@ +/** + * 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 WorkSpacesThinClient +{ +namespace Model +{ + +SoftwareSet::SoftwareSet() : + m_idHasBeenSet(false), + m_versionHasBeenSet(false), + m_releasedAtHasBeenSet(false), + m_supportedUntilHasBeenSet(false), + m_validationStatus(SoftwareSetValidationStatus::NOT_SET), + m_validationStatusHasBeenSet(false), + m_softwareHasBeenSet(false), + m_arnHasBeenSet(false) +{ +} + +SoftwareSet::SoftwareSet(JsonView jsonValue) : + m_idHasBeenSet(false), + m_versionHasBeenSet(false), + m_releasedAtHasBeenSet(false), + m_supportedUntilHasBeenSet(false), + m_validationStatus(SoftwareSetValidationStatus::NOT_SET), + m_validationStatusHasBeenSet(false), + m_softwareHasBeenSet(false), + m_arnHasBeenSet(false) +{ + *this = jsonValue; +} + +SoftwareSet& SoftwareSet::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("id")) + { + m_id = jsonValue.GetString("id"); + + m_idHasBeenSet = true; + } + + if(jsonValue.ValueExists("version")) + { + m_version = jsonValue.GetString("version"); + + m_versionHasBeenSet = true; + } + + if(jsonValue.ValueExists("releasedAt")) + { + m_releasedAt = jsonValue.GetDouble("releasedAt"); + + m_releasedAtHasBeenSet = true; + } + + if(jsonValue.ValueExists("supportedUntil")) + { + m_supportedUntil = jsonValue.GetDouble("supportedUntil"); + + m_supportedUntilHasBeenSet = true; + } + + if(jsonValue.ValueExists("validationStatus")) + { + m_validationStatus = SoftwareSetValidationStatusMapper::GetSoftwareSetValidationStatusForName(jsonValue.GetString("validationStatus")); + + m_validationStatusHasBeenSet = true; + } + + if(jsonValue.ValueExists("software")) + { + Aws::Utils::Array softwareJsonList = jsonValue.GetArray("software"); + for(unsigned softwareIndex = 0; softwareIndex < softwareJsonList.GetLength(); ++softwareIndex) + { + m_software.push_back(softwareJsonList[softwareIndex].AsObject()); + } + m_softwareHasBeenSet = true; + } + + if(jsonValue.ValueExists("arn")) + { + m_arn = jsonValue.GetString("arn"); + + m_arnHasBeenSet = true; + } + + return *this; +} + +JsonValue SoftwareSet::Jsonize() const +{ + JsonValue payload; + + if(m_idHasBeenSet) + { + payload.WithString("id", m_id); + + } + + if(m_versionHasBeenSet) + { + payload.WithString("version", m_version); + + } + + if(m_releasedAtHasBeenSet) + { + payload.WithDouble("releasedAt", m_releasedAt.SecondsWithMSPrecision()); + } + + if(m_supportedUntilHasBeenSet) + { + payload.WithDouble("supportedUntil", m_supportedUntil.SecondsWithMSPrecision()); + } + + if(m_validationStatusHasBeenSet) + { + payload.WithString("validationStatus", SoftwareSetValidationStatusMapper::GetNameForSoftwareSetValidationStatus(m_validationStatus)); + } + + if(m_softwareHasBeenSet) + { + Aws::Utils::Array softwareJsonList(m_software.size()); + for(unsigned softwareIndex = 0; softwareIndex < softwareJsonList.GetLength(); ++softwareIndex) + { + softwareJsonList[softwareIndex].AsObject(m_software[softwareIndex].Jsonize()); + } + payload.WithArray("software", std::move(softwareJsonList)); + + } + + if(m_arnHasBeenSet) + { + payload.WithString("arn", m_arn); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/SoftwareSetSummary.cpp b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/SoftwareSetSummary.cpp new file mode 100644 index 00000000000..abb853a79ad --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/SoftwareSetSummary.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 WorkSpacesThinClient +{ +namespace Model +{ + +SoftwareSetSummary::SoftwareSetSummary() : + m_idHasBeenSet(false), + m_versionHasBeenSet(false), + m_releasedAtHasBeenSet(false), + m_supportedUntilHasBeenSet(false), + m_validationStatus(SoftwareSetValidationStatus::NOT_SET), + m_validationStatusHasBeenSet(false), + m_arnHasBeenSet(false) +{ +} + +SoftwareSetSummary::SoftwareSetSummary(JsonView jsonValue) : + m_idHasBeenSet(false), + m_versionHasBeenSet(false), + m_releasedAtHasBeenSet(false), + m_supportedUntilHasBeenSet(false), + m_validationStatus(SoftwareSetValidationStatus::NOT_SET), + m_validationStatusHasBeenSet(false), + m_arnHasBeenSet(false) +{ + *this = jsonValue; +} + +SoftwareSetSummary& SoftwareSetSummary::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("id")) + { + m_id = jsonValue.GetString("id"); + + m_idHasBeenSet = true; + } + + if(jsonValue.ValueExists("version")) + { + m_version = jsonValue.GetString("version"); + + m_versionHasBeenSet = true; + } + + if(jsonValue.ValueExists("releasedAt")) + { + m_releasedAt = jsonValue.GetDouble("releasedAt"); + + m_releasedAtHasBeenSet = true; + } + + if(jsonValue.ValueExists("supportedUntil")) + { + m_supportedUntil = jsonValue.GetDouble("supportedUntil"); + + m_supportedUntilHasBeenSet = true; + } + + if(jsonValue.ValueExists("validationStatus")) + { + m_validationStatus = SoftwareSetValidationStatusMapper::GetSoftwareSetValidationStatusForName(jsonValue.GetString("validationStatus")); + + m_validationStatusHasBeenSet = true; + } + + if(jsonValue.ValueExists("arn")) + { + m_arn = jsonValue.GetString("arn"); + + m_arnHasBeenSet = true; + } + + return *this; +} + +JsonValue SoftwareSetSummary::Jsonize() const +{ + JsonValue payload; + + if(m_idHasBeenSet) + { + payload.WithString("id", m_id); + + } + + if(m_versionHasBeenSet) + { + payload.WithString("version", m_version); + + } + + if(m_releasedAtHasBeenSet) + { + payload.WithDouble("releasedAt", m_releasedAt.SecondsWithMSPrecision()); + } + + if(m_supportedUntilHasBeenSet) + { + payload.WithDouble("supportedUntil", m_supportedUntil.SecondsWithMSPrecision()); + } + + if(m_validationStatusHasBeenSet) + { + payload.WithString("validationStatus", SoftwareSetValidationStatusMapper::GetNameForSoftwareSetValidationStatus(m_validationStatus)); + } + + if(m_arnHasBeenSet) + { + payload.WithString("arn", m_arn); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/SoftwareSetUpdateMode.cpp b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/SoftwareSetUpdateMode.cpp new file mode 100644 index 00000000000..0da6d2ecee0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/SoftwareSetUpdateMode.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 WorkSpacesThinClient + { + namespace Model + { + namespace SoftwareSetUpdateModeMapper + { + + static const int USE_LATEST_HASH = HashingUtils::HashString("USE_LATEST"); + static const int USE_DESIRED_HASH = HashingUtils::HashString("USE_DESIRED"); + + + SoftwareSetUpdateMode GetSoftwareSetUpdateModeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == USE_LATEST_HASH) + { + return SoftwareSetUpdateMode::USE_LATEST; + } + else if (hashCode == USE_DESIRED_HASH) + { + return SoftwareSetUpdateMode::USE_DESIRED; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return SoftwareSetUpdateMode::NOT_SET; + } + + Aws::String GetNameForSoftwareSetUpdateMode(SoftwareSetUpdateMode enumValue) + { + switch(enumValue) + { + case SoftwareSetUpdateMode::NOT_SET: + return {}; + case SoftwareSetUpdateMode::USE_LATEST: + return "USE_LATEST"; + case SoftwareSetUpdateMode::USE_DESIRED: + return "USE_DESIRED"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace SoftwareSetUpdateModeMapper + } // namespace Model + } // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/SoftwareSetUpdateSchedule.cpp b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/SoftwareSetUpdateSchedule.cpp new file mode 100644 index 00000000000..8f1b2cbcf98 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/SoftwareSetUpdateSchedule.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 WorkSpacesThinClient + { + namespace Model + { + namespace SoftwareSetUpdateScheduleMapper + { + + static const int USE_MAINTENANCE_WINDOW_HASH = HashingUtils::HashString("USE_MAINTENANCE_WINDOW"); + static const int APPLY_IMMEDIATELY_HASH = HashingUtils::HashString("APPLY_IMMEDIATELY"); + + + SoftwareSetUpdateSchedule GetSoftwareSetUpdateScheduleForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == USE_MAINTENANCE_WINDOW_HASH) + { + return SoftwareSetUpdateSchedule::USE_MAINTENANCE_WINDOW; + } + else if (hashCode == APPLY_IMMEDIATELY_HASH) + { + return SoftwareSetUpdateSchedule::APPLY_IMMEDIATELY; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return SoftwareSetUpdateSchedule::NOT_SET; + } + + Aws::String GetNameForSoftwareSetUpdateSchedule(SoftwareSetUpdateSchedule enumValue) + { + switch(enumValue) + { + case SoftwareSetUpdateSchedule::NOT_SET: + return {}; + case SoftwareSetUpdateSchedule::USE_MAINTENANCE_WINDOW: + return "USE_MAINTENANCE_WINDOW"; + case SoftwareSetUpdateSchedule::APPLY_IMMEDIATELY: + return "APPLY_IMMEDIATELY"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace SoftwareSetUpdateScheduleMapper + } // namespace Model + } // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/SoftwareSetUpdateStatus.cpp b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/SoftwareSetUpdateStatus.cpp new file mode 100644 index 00000000000..de1d28c0e8b --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/SoftwareSetUpdateStatus.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 WorkSpacesThinClient + { + namespace Model + { + namespace SoftwareSetUpdateStatusMapper + { + + static const int AVAILABLE_HASH = HashingUtils::HashString("AVAILABLE"); + static const int IN_PROGRESS_HASH = HashingUtils::HashString("IN_PROGRESS"); + static const int UP_TO_DATE_HASH = HashingUtils::HashString("UP_TO_DATE"); + + + SoftwareSetUpdateStatus GetSoftwareSetUpdateStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == AVAILABLE_HASH) + { + return SoftwareSetUpdateStatus::AVAILABLE; + } + else if (hashCode == IN_PROGRESS_HASH) + { + return SoftwareSetUpdateStatus::IN_PROGRESS; + } + else if (hashCode == UP_TO_DATE_HASH) + { + return SoftwareSetUpdateStatus::UP_TO_DATE; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return SoftwareSetUpdateStatus::NOT_SET; + } + + Aws::String GetNameForSoftwareSetUpdateStatus(SoftwareSetUpdateStatus enumValue) + { + switch(enumValue) + { + case SoftwareSetUpdateStatus::NOT_SET: + return {}; + case SoftwareSetUpdateStatus::AVAILABLE: + return "AVAILABLE"; + case SoftwareSetUpdateStatus::IN_PROGRESS: + return "IN_PROGRESS"; + case SoftwareSetUpdateStatus::UP_TO_DATE: + return "UP_TO_DATE"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace SoftwareSetUpdateStatusMapper + } // namespace Model + } // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/SoftwareSetValidationStatus.cpp b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/SoftwareSetValidationStatus.cpp new file mode 100644 index 00000000000..8a29355012f --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/SoftwareSetValidationStatus.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 WorkSpacesThinClient + { + namespace Model + { + namespace SoftwareSetValidationStatusMapper + { + + static const int VALIDATED_HASH = HashingUtils::HashString("VALIDATED"); + static const int NOT_VALIDATED_HASH = HashingUtils::HashString("NOT_VALIDATED"); + + + SoftwareSetValidationStatus GetSoftwareSetValidationStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == VALIDATED_HASH) + { + return SoftwareSetValidationStatus::VALIDATED; + } + else if (hashCode == NOT_VALIDATED_HASH) + { + return SoftwareSetValidationStatus::NOT_VALIDATED; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return SoftwareSetValidationStatus::NOT_SET; + } + + Aws::String GetNameForSoftwareSetValidationStatus(SoftwareSetValidationStatus enumValue) + { + switch(enumValue) + { + case SoftwareSetValidationStatus::NOT_SET: + return {}; + case SoftwareSetValidationStatus::VALIDATED: + return "VALIDATED"; + case SoftwareSetValidationStatus::NOT_VALIDATED: + return "NOT_VALIDATED"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace SoftwareSetValidationStatusMapper + } // namespace Model + } // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/TagResourceRequest.cpp b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/TagResourceRequest.cpp new file mode 100644 index 00000000000..7f9ad65744e --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/TagResourceRequest.cpp @@ -0,0 +1,41 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::WorkSpacesThinClient::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +TagResourceRequest::TagResourceRequest() : + m_resourceArnHasBeenSet(false), + m_tagsHasBeenSet(false) +{ +} + +Aws::String TagResourceRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_tagsHasBeenSet) + { + JsonValue tagsJsonMap; + for(auto& tagsItem : m_tags) + { + tagsJsonMap.WithString(tagsItem.first, tagsItem.second); + } + payload.WithObject("tags", std::move(tagsJsonMap)); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/TagResourceResult.cpp b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/TagResourceResult.cpp new file mode 100644 index 00000000000..65d802160cc --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/TagResourceResult.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::WorkSpacesThinClient::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +TagResourceResult::TagResourceResult() +{ +} + +TagResourceResult::TagResourceResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +TagResourceResult& TagResourceResult::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-workspaces-thin-client/source/model/TargetDeviceStatus.cpp b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/TargetDeviceStatus.cpp new file mode 100644 index 00000000000..27f1abda78a --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/TargetDeviceStatus.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 WorkSpacesThinClient + { + namespace Model + { + namespace TargetDeviceStatusMapper + { + + static const int DEREGISTERED_HASH = HashingUtils::HashString("DEREGISTERED"); + static const int ARCHIVED_HASH = HashingUtils::HashString("ARCHIVED"); + + + TargetDeviceStatus GetTargetDeviceStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == DEREGISTERED_HASH) + { + return TargetDeviceStatus::DEREGISTERED; + } + else if (hashCode == ARCHIVED_HASH) + { + return TargetDeviceStatus::ARCHIVED; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return TargetDeviceStatus::NOT_SET; + } + + Aws::String GetNameForTargetDeviceStatus(TargetDeviceStatus enumValue) + { + switch(enumValue) + { + case TargetDeviceStatus::NOT_SET: + return {}; + case TargetDeviceStatus::DEREGISTERED: + return "DEREGISTERED"; + case TargetDeviceStatus::ARCHIVED: + return "ARCHIVED"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace TargetDeviceStatusMapper + } // namespace Model + } // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/ThrottlingException.cpp b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/ThrottlingException.cpp new file mode 100644 index 00000000000..d8c7bd6e489 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/ThrottlingException.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 + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkSpacesThinClient +{ +namespace Model +{ + +ThrottlingException::ThrottlingException() : + m_messageHasBeenSet(false), + m_serviceCodeHasBeenSet(false), + m_quotaCodeHasBeenSet(false), + m_retryAfterSeconds(0), + m_retryAfterSecondsHasBeenSet(false) +{ +} + +ThrottlingException::ThrottlingException(JsonView jsonValue) : + m_messageHasBeenSet(false), + m_serviceCodeHasBeenSet(false), + m_quotaCodeHasBeenSet(false), + m_retryAfterSeconds(0), + m_retryAfterSecondsHasBeenSet(false) +{ + *this = jsonValue; +} + +ThrottlingException& ThrottlingException::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("message")) + { + m_message = jsonValue.GetString("message"); + + m_messageHasBeenSet = true; + } + + if(jsonValue.ValueExists("serviceCode")) + { + m_serviceCode = jsonValue.GetString("serviceCode"); + + m_serviceCodeHasBeenSet = true; + } + + if(jsonValue.ValueExists("quotaCode")) + { + m_quotaCode = jsonValue.GetString("quotaCode"); + + m_quotaCodeHasBeenSet = true; + } + + return *this; +} + +JsonValue ThrottlingException::Jsonize() const +{ + JsonValue payload; + + if(m_messageHasBeenSet) + { + payload.WithString("message", m_message); + + } + + if(m_serviceCodeHasBeenSet) + { + payload.WithString("serviceCode", m_serviceCode); + + } + + if(m_quotaCodeHasBeenSet) + { + payload.WithString("quotaCode", m_quotaCode); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/UntagResourceRequest.cpp b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/UntagResourceRequest.cpp new file mode 100644 index 00000000000..754dea23c90 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/UntagResourceRequest.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::WorkSpacesThinClient::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +UntagResourceRequest::UntagResourceRequest() : + m_resourceArnHasBeenSet(false), + m_tagKeysHasBeenSet(false) +{ +} + +Aws::String UntagResourceRequest::SerializePayload() const +{ + return {}; +} + +void UntagResourceRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_tagKeysHasBeenSet) + { + for(const auto& item : m_tagKeys) + { + ss << item; + uri.AddQueryStringParameter("tagKeys", ss.str()); + ss.str(""); + } + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/UntagResourceResult.cpp b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/UntagResourceResult.cpp new file mode 100644 index 00000000000..f0e0adc7058 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/UntagResourceResult.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::WorkSpacesThinClient::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +UntagResourceResult::UntagResourceResult() +{ +} + +UntagResourceResult::UntagResourceResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +UntagResourceResult& UntagResourceResult::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-workspaces-thin-client/source/model/UpdateDeviceRequest.cpp b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/UpdateDeviceRequest.cpp new file mode 100644 index 00000000000..3996426ac4a --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/UpdateDeviceRequest.cpp @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::WorkSpacesThinClient::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +UpdateDeviceRequest::UpdateDeviceRequest() : + m_idHasBeenSet(false), + m_nameHasBeenSet(false), + m_desiredSoftwareSetIdHasBeenSet(false), + m_softwareSetUpdateSchedule(SoftwareSetUpdateSchedule::NOT_SET), + m_softwareSetUpdateScheduleHasBeenSet(false), + m_kmsKeyArnHasBeenSet(false) +{ +} + +Aws::String UpdateDeviceRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_nameHasBeenSet) + { + payload.WithString("name", m_name); + + } + + if(m_desiredSoftwareSetIdHasBeenSet) + { + payload.WithString("desiredSoftwareSetId", m_desiredSoftwareSetId); + + } + + if(m_softwareSetUpdateScheduleHasBeenSet) + { + payload.WithString("softwareSetUpdateSchedule", SoftwareSetUpdateScheduleMapper::GetNameForSoftwareSetUpdateSchedule(m_softwareSetUpdateSchedule)); + } + + if(m_kmsKeyArnHasBeenSet) + { + payload.WithString("kmsKeyArn", m_kmsKeyArn); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/UpdateDeviceResult.cpp b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/UpdateDeviceResult.cpp new file mode 100644 index 00000000000..732e6480819 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/UpdateDeviceResult.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::WorkSpacesThinClient::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +UpdateDeviceResult::UpdateDeviceResult() +{ +} + +UpdateDeviceResult::UpdateDeviceResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +UpdateDeviceResult& UpdateDeviceResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("device")) + { + m_device = jsonValue.GetObject("device"); + + } + + + 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-workspaces-thin-client/source/model/UpdateEnvironmentRequest.cpp b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/UpdateEnvironmentRequest.cpp new file mode 100644 index 00000000000..e8e06455b71 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/UpdateEnvironmentRequest.cpp @@ -0,0 +1,78 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::WorkSpacesThinClient::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +UpdateEnvironmentRequest::UpdateEnvironmentRequest() : + m_idHasBeenSet(false), + m_nameHasBeenSet(false), + m_desktopArnHasBeenSet(false), + m_desktopEndpointHasBeenSet(false), + m_softwareSetUpdateSchedule(SoftwareSetUpdateSchedule::NOT_SET), + m_softwareSetUpdateScheduleHasBeenSet(false), + m_maintenanceWindowHasBeenSet(false), + m_softwareSetUpdateMode(SoftwareSetUpdateMode::NOT_SET), + m_softwareSetUpdateModeHasBeenSet(false), + m_desiredSoftwareSetIdHasBeenSet(false) +{ +} + +Aws::String UpdateEnvironmentRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_nameHasBeenSet) + { + payload.WithString("name", m_name); + + } + + if(m_desktopArnHasBeenSet) + { + payload.WithString("desktopArn", m_desktopArn); + + } + + if(m_desktopEndpointHasBeenSet) + { + payload.WithString("desktopEndpoint", m_desktopEndpoint); + + } + + if(m_softwareSetUpdateScheduleHasBeenSet) + { + payload.WithString("softwareSetUpdateSchedule", SoftwareSetUpdateScheduleMapper::GetNameForSoftwareSetUpdateSchedule(m_softwareSetUpdateSchedule)); + } + + if(m_maintenanceWindowHasBeenSet) + { + payload.WithObject("maintenanceWindow", m_maintenanceWindow.Jsonize()); + + } + + if(m_softwareSetUpdateModeHasBeenSet) + { + payload.WithString("softwareSetUpdateMode", SoftwareSetUpdateModeMapper::GetNameForSoftwareSetUpdateMode(m_softwareSetUpdateMode)); + } + + if(m_desiredSoftwareSetIdHasBeenSet) + { + payload.WithString("desiredSoftwareSetId", m_desiredSoftwareSetId); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/UpdateEnvironmentResult.cpp b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/UpdateEnvironmentResult.cpp new file mode 100644 index 00000000000..ef3459aa276 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/UpdateEnvironmentResult.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::WorkSpacesThinClient::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +UpdateEnvironmentResult::UpdateEnvironmentResult() +{ +} + +UpdateEnvironmentResult::UpdateEnvironmentResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +UpdateEnvironmentResult& UpdateEnvironmentResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("environment")) + { + m_environment = jsonValue.GetObject("environment"); + + } + + + 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-workspaces-thin-client/source/model/UpdateSoftwareSetRequest.cpp b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/UpdateSoftwareSetRequest.cpp new file mode 100644 index 00000000000..259f7b6f930 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/UpdateSoftwareSetRequest.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::WorkSpacesThinClient::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +UpdateSoftwareSetRequest::UpdateSoftwareSetRequest() : + m_idHasBeenSet(false), + m_validationStatus(SoftwareSetValidationStatus::NOT_SET), + m_validationStatusHasBeenSet(false) +{ +} + +Aws::String UpdateSoftwareSetRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_validationStatusHasBeenSet) + { + payload.WithString("validationStatus", SoftwareSetValidationStatusMapper::GetNameForSoftwareSetValidationStatus(m_validationStatus)); + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/UpdateSoftwareSetResult.cpp b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/UpdateSoftwareSetResult.cpp new file mode 100644 index 00000000000..5ee5585457a --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/UpdateSoftwareSetResult.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::WorkSpacesThinClient::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +UpdateSoftwareSetResult::UpdateSoftwareSetResult() +{ +} + +UpdateSoftwareSetResult::UpdateSoftwareSetResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +UpdateSoftwareSetResult& UpdateSoftwareSetResult::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-workspaces-thin-client/source/model/ValidationException.cpp b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/ValidationException.cpp new file mode 100644 index 00000000000..ca6488f282e --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/ValidationException.cpp @@ -0,0 +1,98 @@ +/** + * 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 WorkSpacesThinClient +{ +namespace Model +{ + +ValidationException::ValidationException() : + m_messageHasBeenSet(false), + m_reason(ValidationExceptionReason::NOT_SET), + m_reasonHasBeenSet(false), + m_fieldListHasBeenSet(false) +{ +} + +ValidationException::ValidationException(JsonView jsonValue) : + m_messageHasBeenSet(false), + m_reason(ValidationExceptionReason::NOT_SET), + m_reasonHasBeenSet(false), + m_fieldListHasBeenSet(false) +{ + *this = jsonValue; +} + +ValidationException& ValidationException::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("message")) + { + m_message = jsonValue.GetString("message"); + + m_messageHasBeenSet = true; + } + + if(jsonValue.ValueExists("reason")) + { + m_reason = ValidationExceptionReasonMapper::GetValidationExceptionReasonForName(jsonValue.GetString("reason")); + + m_reasonHasBeenSet = true; + } + + if(jsonValue.ValueExists("fieldList")) + { + Aws::Utils::Array fieldListJsonList = jsonValue.GetArray("fieldList"); + for(unsigned fieldListIndex = 0; fieldListIndex < fieldListJsonList.GetLength(); ++fieldListIndex) + { + m_fieldList.push_back(fieldListJsonList[fieldListIndex].AsObject()); + } + m_fieldListHasBeenSet = true; + } + + return *this; +} + +JsonValue ValidationException::Jsonize() const +{ + JsonValue payload; + + if(m_messageHasBeenSet) + { + payload.WithString("message", m_message); + + } + + if(m_reasonHasBeenSet) + { + payload.WithString("reason", ValidationExceptionReasonMapper::GetNameForValidationExceptionReason(m_reason)); + } + + if(m_fieldListHasBeenSet) + { + Aws::Utils::Array fieldListJsonList(m_fieldList.size()); + for(unsigned fieldListIndex = 0; fieldListIndex < fieldListJsonList.GetLength(); ++fieldListIndex) + { + fieldListJsonList[fieldListIndex].AsObject(m_fieldList[fieldListIndex].Jsonize()); + } + payload.WithArray("fieldList", std::move(fieldListJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/ValidationExceptionField.cpp b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/ValidationExceptionField.cpp new file mode 100644 index 00000000000..49fffb30f19 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/ValidationExceptionField.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 WorkSpacesThinClient +{ +namespace Model +{ + +ValidationExceptionField::ValidationExceptionField() : + m_nameHasBeenSet(false), + m_messageHasBeenSet(false) +{ +} + +ValidationExceptionField::ValidationExceptionField(JsonView jsonValue) : + m_nameHasBeenSet(false), + m_messageHasBeenSet(false) +{ + *this = jsonValue; +} + +ValidationExceptionField& ValidationExceptionField::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("name")) + { + m_name = jsonValue.GetString("name"); + + m_nameHasBeenSet = true; + } + + if(jsonValue.ValueExists("message")) + { + m_message = jsonValue.GetString("message"); + + m_messageHasBeenSet = true; + } + + return *this; +} + +JsonValue ValidationExceptionField::Jsonize() const +{ + JsonValue payload; + + if(m_nameHasBeenSet) + { + payload.WithString("name", m_name); + + } + + if(m_messageHasBeenSet) + { + payload.WithString("message", m_message); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/ValidationExceptionReason.cpp b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/ValidationExceptionReason.cpp new file mode 100644 index 00000000000..d0ceb75b7ec --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/model/ValidationExceptionReason.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 WorkSpacesThinClient + { + namespace Model + { + namespace ValidationExceptionReasonMapper + { + + static const int unknownOperation_HASH = HashingUtils::HashString("unknownOperation"); + static const int cannotParse_HASH = HashingUtils::HashString("cannotParse"); + static const int fieldValidationFailed_HASH = HashingUtils::HashString("fieldValidationFailed"); + static const int other_HASH = HashingUtils::HashString("other"); + + + ValidationExceptionReason GetValidationExceptionReasonForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == unknownOperation_HASH) + { + return ValidationExceptionReason::unknownOperation; + } + else if (hashCode == cannotParse_HASH) + { + return ValidationExceptionReason::cannotParse; + } + else if (hashCode == fieldValidationFailed_HASH) + { + return ValidationExceptionReason::fieldValidationFailed; + } + else if (hashCode == other_HASH) + { + return ValidationExceptionReason::other; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ValidationExceptionReason::NOT_SET; + } + + Aws::String GetNameForValidationExceptionReason(ValidationExceptionReason enumValue) + { + switch(enumValue) + { + case ValidationExceptionReason::NOT_SET: + return {}; + case ValidationExceptionReason::unknownOperation: + return "unknownOperation"; + case ValidationExceptionReason::cannotParse: + return "cannotParse"; + case ValidationExceptionReason::fieldValidationFailed: + return "fieldValidationFailed"; + case ValidationExceptionReason::other: + return "other"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ValidationExceptionReasonMapper + } // namespace Model + } // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces/include/aws/workspaces/model/DataReplication.h b/generated/src/aws-cpp-sdk-workspaces/include/aws/workspaces/model/DataReplication.h new file mode 100644 index 00000000000..5279c6f2b53 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces/include/aws/workspaces/model/DataReplication.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 WorkSpaces +{ +namespace Model +{ + enum class DataReplication + { + NOT_SET, + NO_REPLICATION, + PRIMARY_AS_SOURCE + }; + +namespace DataReplicationMapper +{ +AWS_WORKSPACES_API DataReplication GetDataReplicationForName(const Aws::String& name); + +AWS_WORKSPACES_API Aws::String GetNameForDataReplication(DataReplication value); +} // namespace DataReplicationMapper +} // namespace Model +} // namespace WorkSpaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces/include/aws/workspaces/model/DataReplicationSettings.h b/generated/src/aws-cpp-sdk-workspaces/include/aws/workspaces/model/DataReplicationSettings.h new file mode 100644 index 00000000000..2f5c819920b --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces/include/aws/workspaces/model/DataReplicationSettings.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 + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkSpaces +{ +namespace Model +{ + + /** + *

      Describes the data replication settings.

      See Also:

      AWS + * API Reference

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

      Indicates whether data replication is enabled, and if enabled, the type of + * data replication.

      + */ + inline const DataReplication& GetDataReplication() const{ return m_dataReplication; } + + /** + *

      Indicates whether data replication is enabled, and if enabled, the type of + * data replication.

      + */ + inline bool DataReplicationHasBeenSet() const { return m_dataReplicationHasBeenSet; } + + /** + *

      Indicates whether data replication is enabled, and if enabled, the type of + * data replication.

      + */ + inline void SetDataReplication(const DataReplication& value) { m_dataReplicationHasBeenSet = true; m_dataReplication = value; } + + /** + *

      Indicates whether data replication is enabled, and if enabled, the type of + * data replication.

      + */ + inline void SetDataReplication(DataReplication&& value) { m_dataReplicationHasBeenSet = true; m_dataReplication = std::move(value); } + + /** + *

      Indicates whether data replication is enabled, and if enabled, the type of + * data replication.

      + */ + inline DataReplicationSettings& WithDataReplication(const DataReplication& value) { SetDataReplication(value); return *this;} + + /** + *

      Indicates whether data replication is enabled, and if enabled, the type of + * data replication.

      + */ + inline DataReplicationSettings& WithDataReplication(DataReplication&& value) { SetDataReplication(std::move(value)); return *this;} + + + /** + *

      The date and time at which the last successful snapshot was taken of the + * primary WorkSpace used for replicating data.

      + */ + inline const Aws::Utils::DateTime& GetRecoverySnapshotTime() const{ return m_recoverySnapshotTime; } + + /** + *

      The date and time at which the last successful snapshot was taken of the + * primary WorkSpace used for replicating data.

      + */ + inline bool RecoverySnapshotTimeHasBeenSet() const { return m_recoverySnapshotTimeHasBeenSet; } + + /** + *

      The date and time at which the last successful snapshot was taken of the + * primary WorkSpace used for replicating data.

      + */ + inline void SetRecoverySnapshotTime(const Aws::Utils::DateTime& value) { m_recoverySnapshotTimeHasBeenSet = true; m_recoverySnapshotTime = value; } + + /** + *

      The date and time at which the last successful snapshot was taken of the + * primary WorkSpace used for replicating data.

      + */ + inline void SetRecoverySnapshotTime(Aws::Utils::DateTime&& value) { m_recoverySnapshotTimeHasBeenSet = true; m_recoverySnapshotTime = std::move(value); } + + /** + *

      The date and time at which the last successful snapshot was taken of the + * primary WorkSpace used for replicating data.

      + */ + inline DataReplicationSettings& WithRecoverySnapshotTime(const Aws::Utils::DateTime& value) { SetRecoverySnapshotTime(value); return *this;} + + /** + *

      The date and time at which the last successful snapshot was taken of the + * primary WorkSpace used for replicating data.

      + */ + inline DataReplicationSettings& WithRecoverySnapshotTime(Aws::Utils::DateTime&& value) { SetRecoverySnapshotTime(std::move(value)); return *this;} + + private: + + DataReplication m_dataReplication; + bool m_dataReplicationHasBeenSet = false; + + Aws::Utils::DateTime m_recoverySnapshotTime; + bool m_recoverySnapshotTimeHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkSpaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces/include/aws/workspaces/model/ModifyWorkspacePropertiesRequest.h b/generated/src/aws-cpp-sdk-workspaces/include/aws/workspaces/model/ModifyWorkspacePropertiesRequest.h index ca545043075..ffcbdb5e394 100644 --- a/generated/src/aws-cpp-sdk-workspaces/include/aws/workspaces/model/ModifyWorkspacePropertiesRequest.h +++ b/generated/src/aws-cpp-sdk-workspaces/include/aws/workspaces/model/ModifyWorkspacePropertiesRequest.h @@ -8,6 +8,7 @@ #include #include #include +#include #include namespace Aws @@ -106,6 +107,37 @@ namespace Model */ inline ModifyWorkspacePropertiesRequest& WithWorkspaceProperties(WorkspaceProperties&& value) { SetWorkspaceProperties(std::move(value)); return *this;} + + /** + *

      Indicates the data replication status.

      + */ + inline const DataReplication& GetDataReplication() const{ return m_dataReplication; } + + /** + *

      Indicates the data replication status.

      + */ + inline bool DataReplicationHasBeenSet() const { return m_dataReplicationHasBeenSet; } + + /** + *

      Indicates the data replication status.

      + */ + inline void SetDataReplication(const DataReplication& value) { m_dataReplicationHasBeenSet = true; m_dataReplication = value; } + + /** + *

      Indicates the data replication status.

      + */ + inline void SetDataReplication(DataReplication&& value) { m_dataReplicationHasBeenSet = true; m_dataReplication = std::move(value); } + + /** + *

      Indicates the data replication status.

      + */ + inline ModifyWorkspacePropertiesRequest& WithDataReplication(const DataReplication& value) { SetDataReplication(value); return *this;} + + /** + *

      Indicates the data replication status.

      + */ + inline ModifyWorkspacePropertiesRequest& WithDataReplication(DataReplication&& value) { SetDataReplication(std::move(value)); return *this;} + private: Aws::String m_workspaceId; @@ -113,6 +145,9 @@ namespace Model WorkspaceProperties m_workspaceProperties; bool m_workspacePropertiesHasBeenSet = false; + + DataReplication m_dataReplication; + bool m_dataReplicationHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-workspaces/include/aws/workspaces/model/StandbyWorkspace.h b/generated/src/aws-cpp-sdk-workspaces/include/aws/workspaces/model/StandbyWorkspace.h index 19a678e2db4..1bfd6178e96 100644 --- a/generated/src/aws-cpp-sdk-workspaces/include/aws/workspaces/model/StandbyWorkspace.h +++ b/generated/src/aws-cpp-sdk-workspaces/include/aws/workspaces/model/StandbyWorkspace.h @@ -7,6 +7,7 @@ #include #include #include +#include #include #include @@ -202,6 +203,43 @@ namespace Model */ inline StandbyWorkspace& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } + + /** + *

      Indicates whether data replication is enabled, and if enabled, the type of + * data replication.

      + */ + inline const DataReplication& GetDataReplication() const{ return m_dataReplication; } + + /** + *

      Indicates whether data replication is enabled, and if enabled, the type of + * data replication.

      + */ + inline bool DataReplicationHasBeenSet() const { return m_dataReplicationHasBeenSet; } + + /** + *

      Indicates whether data replication is enabled, and if enabled, the type of + * data replication.

      + */ + inline void SetDataReplication(const DataReplication& value) { m_dataReplicationHasBeenSet = true; m_dataReplication = value; } + + /** + *

      Indicates whether data replication is enabled, and if enabled, the type of + * data replication.

      + */ + inline void SetDataReplication(DataReplication&& value) { m_dataReplicationHasBeenSet = true; m_dataReplication = std::move(value); } + + /** + *

      Indicates whether data replication is enabled, and if enabled, the type of + * data replication.

      + */ + inline StandbyWorkspace& WithDataReplication(const DataReplication& value) { SetDataReplication(value); return *this;} + + /** + *

      Indicates whether data replication is enabled, and if enabled, the type of + * data replication.

      + */ + inline StandbyWorkspace& WithDataReplication(DataReplication&& value) { SetDataReplication(std::move(value)); return *this;} + private: Aws::String m_primaryWorkspaceId; @@ -215,6 +253,9 @@ namespace Model Aws::Vector m_tags; bool m_tagsHasBeenSet = false; + + DataReplication m_dataReplication; + bool m_dataReplicationHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-workspaces/include/aws/workspaces/model/StandbyWorkspacesProperties.h b/generated/src/aws-cpp-sdk-workspaces/include/aws/workspaces/model/StandbyWorkspacesProperties.h new file mode 100644 index 00000000000..39f24edc094 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces/include/aws/workspaces/model/StandbyWorkspacesProperties.h @@ -0,0 +1,171 @@ +/** + * 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 WorkSpaces +{ +namespace Model +{ + + /** + *

      Describes the properties of the related standby WorkSpaces.

      See + * Also:

      AWS + * API Reference

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

      The identifier of the standby WorkSpace

      + */ + inline const Aws::String& GetStandbyWorkspaceId() const{ return m_standbyWorkspaceId; } + + /** + *

      The identifier of the standby WorkSpace

      + */ + inline bool StandbyWorkspaceIdHasBeenSet() const { return m_standbyWorkspaceIdHasBeenSet; } + + /** + *

      The identifier of the standby WorkSpace

      + */ + inline void SetStandbyWorkspaceId(const Aws::String& value) { m_standbyWorkspaceIdHasBeenSet = true; m_standbyWorkspaceId = value; } + + /** + *

      The identifier of the standby WorkSpace

      + */ + inline void SetStandbyWorkspaceId(Aws::String&& value) { m_standbyWorkspaceIdHasBeenSet = true; m_standbyWorkspaceId = std::move(value); } + + /** + *

      The identifier of the standby WorkSpace

      + */ + inline void SetStandbyWorkspaceId(const char* value) { m_standbyWorkspaceIdHasBeenSet = true; m_standbyWorkspaceId.assign(value); } + + /** + *

      The identifier of the standby WorkSpace

      + */ + inline StandbyWorkspacesProperties& WithStandbyWorkspaceId(const Aws::String& value) { SetStandbyWorkspaceId(value); return *this;} + + /** + *

      The identifier of the standby WorkSpace

      + */ + inline StandbyWorkspacesProperties& WithStandbyWorkspaceId(Aws::String&& value) { SetStandbyWorkspaceId(std::move(value)); return *this;} + + /** + *

      The identifier of the standby WorkSpace

      + */ + inline StandbyWorkspacesProperties& WithStandbyWorkspaceId(const char* value) { SetStandbyWorkspaceId(value); return *this;} + + + /** + *

      Indicates whether data replication is enabled, and if enabled, the type of + * data replication.

      + */ + inline const DataReplication& GetDataReplication() const{ return m_dataReplication; } + + /** + *

      Indicates whether data replication is enabled, and if enabled, the type of + * data replication.

      + */ + inline bool DataReplicationHasBeenSet() const { return m_dataReplicationHasBeenSet; } + + /** + *

      Indicates whether data replication is enabled, and if enabled, the type of + * data replication.

      + */ + inline void SetDataReplication(const DataReplication& value) { m_dataReplicationHasBeenSet = true; m_dataReplication = value; } + + /** + *

      Indicates whether data replication is enabled, and if enabled, the type of + * data replication.

      + */ + inline void SetDataReplication(DataReplication&& value) { m_dataReplicationHasBeenSet = true; m_dataReplication = std::move(value); } + + /** + *

      Indicates whether data replication is enabled, and if enabled, the type of + * data replication.

      + */ + inline StandbyWorkspacesProperties& WithDataReplication(const DataReplication& value) { SetDataReplication(value); return *this;} + + /** + *

      Indicates whether data replication is enabled, and if enabled, the type of + * data replication.

      + */ + inline StandbyWorkspacesProperties& WithDataReplication(DataReplication&& value) { SetDataReplication(std::move(value)); return *this;} + + + /** + *

      The date and time at which the last successful snapshot was taken of the + * primary WorkSpace used for replicating data.

      + */ + inline const Aws::Utils::DateTime& GetRecoverySnapshotTime() const{ return m_recoverySnapshotTime; } + + /** + *

      The date and time at which the last successful snapshot was taken of the + * primary WorkSpace used for replicating data.

      + */ + inline bool RecoverySnapshotTimeHasBeenSet() const { return m_recoverySnapshotTimeHasBeenSet; } + + /** + *

      The date and time at which the last successful snapshot was taken of the + * primary WorkSpace used for replicating data.

      + */ + inline void SetRecoverySnapshotTime(const Aws::Utils::DateTime& value) { m_recoverySnapshotTimeHasBeenSet = true; m_recoverySnapshotTime = value; } + + /** + *

      The date and time at which the last successful snapshot was taken of the + * primary WorkSpace used for replicating data.

      + */ + inline void SetRecoverySnapshotTime(Aws::Utils::DateTime&& value) { m_recoverySnapshotTimeHasBeenSet = true; m_recoverySnapshotTime = std::move(value); } + + /** + *

      The date and time at which the last successful snapshot was taken of the + * primary WorkSpace used for replicating data.

      + */ + inline StandbyWorkspacesProperties& WithRecoverySnapshotTime(const Aws::Utils::DateTime& value) { SetRecoverySnapshotTime(value); return *this;} + + /** + *

      The date and time at which the last successful snapshot was taken of the + * primary WorkSpace used for replicating data.

      + */ + inline StandbyWorkspacesProperties& WithRecoverySnapshotTime(Aws::Utils::DateTime&& value) { SetRecoverySnapshotTime(std::move(value)); return *this;} + + private: + + Aws::String m_standbyWorkspaceId; + bool m_standbyWorkspaceIdHasBeenSet = false; + + DataReplication m_dataReplication; + bool m_dataReplicationHasBeenSet = false; + + Aws::Utils::DateTime m_recoverySnapshotTime; + bool m_recoverySnapshotTimeHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkSpaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces/include/aws/workspaces/model/Workspace.h b/generated/src/aws-cpp-sdk-workspaces/include/aws/workspaces/model/Workspace.h index 790999bbbed..e3ad3003574 100644 --- a/generated/src/aws-cpp-sdk-workspaces/include/aws/workspaces/model/Workspace.h +++ b/generated/src/aws-cpp-sdk-workspaces/include/aws/workspaces/model/Workspace.h @@ -9,8 +9,10 @@ #include #include #include +#include #include #include +#include #include namespace Aws @@ -727,6 +729,78 @@ namespace Model */ inline Workspace& AddRelatedWorkspaces(RelatedWorkspaceProperties&& value) { m_relatedWorkspacesHasBeenSet = true; m_relatedWorkspaces.push_back(std::move(value)); return *this; } + + /** + *

      Indicates the settings of the data replication.

      + */ + inline const DataReplicationSettings& GetDataReplicationSettings() const{ return m_dataReplicationSettings; } + + /** + *

      Indicates the settings of the data replication.

      + */ + inline bool DataReplicationSettingsHasBeenSet() const { return m_dataReplicationSettingsHasBeenSet; } + + /** + *

      Indicates the settings of the data replication.

      + */ + inline void SetDataReplicationSettings(const DataReplicationSettings& value) { m_dataReplicationSettingsHasBeenSet = true; m_dataReplicationSettings = value; } + + /** + *

      Indicates the settings of the data replication.

      + */ + inline void SetDataReplicationSettings(DataReplicationSettings&& value) { m_dataReplicationSettingsHasBeenSet = true; m_dataReplicationSettings = std::move(value); } + + /** + *

      Indicates the settings of the data replication.

      + */ + inline Workspace& WithDataReplicationSettings(const DataReplicationSettings& value) { SetDataReplicationSettings(value); return *this;} + + /** + *

      Indicates the settings of the data replication.

      + */ + inline Workspace& WithDataReplicationSettings(DataReplicationSettings&& value) { SetDataReplicationSettings(std::move(value)); return *this;} + + + /** + *

      The properties of the standby WorkSpace

      + */ + inline const Aws::Vector& GetStandbyWorkspacesProperties() const{ return m_standbyWorkspacesProperties; } + + /** + *

      The properties of the standby WorkSpace

      + */ + inline bool StandbyWorkspacesPropertiesHasBeenSet() const { return m_standbyWorkspacesPropertiesHasBeenSet; } + + /** + *

      The properties of the standby WorkSpace

      + */ + inline void SetStandbyWorkspacesProperties(const Aws::Vector& value) { m_standbyWorkspacesPropertiesHasBeenSet = true; m_standbyWorkspacesProperties = value; } + + /** + *

      The properties of the standby WorkSpace

      + */ + inline void SetStandbyWorkspacesProperties(Aws::Vector&& value) { m_standbyWorkspacesPropertiesHasBeenSet = true; m_standbyWorkspacesProperties = std::move(value); } + + /** + *

      The properties of the standby WorkSpace

      + */ + inline Workspace& WithStandbyWorkspacesProperties(const Aws::Vector& value) { SetStandbyWorkspacesProperties(value); return *this;} + + /** + *

      The properties of the standby WorkSpace

      + */ + inline Workspace& WithStandbyWorkspacesProperties(Aws::Vector&& value) { SetStandbyWorkspacesProperties(std::move(value)); return *this;} + + /** + *

      The properties of the standby WorkSpace

      + */ + inline Workspace& AddStandbyWorkspacesProperties(const StandbyWorkspacesProperties& value) { m_standbyWorkspacesPropertiesHasBeenSet = true; m_standbyWorkspacesProperties.push_back(value); return *this; } + + /** + *

      The properties of the standby WorkSpace

      + */ + inline Workspace& AddStandbyWorkspacesProperties(StandbyWorkspacesProperties&& value) { m_standbyWorkspacesPropertiesHasBeenSet = true; m_standbyWorkspacesProperties.push_back(std::move(value)); return *this; } + private: Aws::String m_workspaceId; @@ -776,6 +850,12 @@ namespace Model Aws::Vector m_relatedWorkspaces; bool m_relatedWorkspacesHasBeenSet = false; + + DataReplicationSettings m_dataReplicationSettings; + bool m_dataReplicationSettingsHasBeenSet = false; + + Aws::Vector m_standbyWorkspacesProperties; + bool m_standbyWorkspacesPropertiesHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-workspaces/source/model/DataReplication.cpp b/generated/src/aws-cpp-sdk-workspaces/source/model/DataReplication.cpp new file mode 100644 index 00000000000..16de9d2f806 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces/source/model/DataReplication.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 WorkSpaces + { + namespace Model + { + namespace DataReplicationMapper + { + + static const int NO_REPLICATION_HASH = HashingUtils::HashString("NO_REPLICATION"); + static const int PRIMARY_AS_SOURCE_HASH = HashingUtils::HashString("PRIMARY_AS_SOURCE"); + + + DataReplication GetDataReplicationForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == NO_REPLICATION_HASH) + { + return DataReplication::NO_REPLICATION; + } + else if (hashCode == PRIMARY_AS_SOURCE_HASH) + { + return DataReplication::PRIMARY_AS_SOURCE; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return DataReplication::NOT_SET; + } + + Aws::String GetNameForDataReplication(DataReplication enumValue) + { + switch(enumValue) + { + case DataReplication::NOT_SET: + return {}; + case DataReplication::NO_REPLICATION: + return "NO_REPLICATION"; + case DataReplication::PRIMARY_AS_SOURCE: + return "PRIMARY_AS_SOURCE"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace DataReplicationMapper + } // namespace Model + } // namespace WorkSpaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces/source/model/DataReplicationSettings.cpp b/generated/src/aws-cpp-sdk-workspaces/source/model/DataReplicationSettings.cpp new file mode 100644 index 00000000000..27cebada63e --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces/source/model/DataReplicationSettings.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 WorkSpaces +{ +namespace Model +{ + +DataReplicationSettings::DataReplicationSettings() : + m_dataReplication(DataReplication::NOT_SET), + m_dataReplicationHasBeenSet(false), + m_recoverySnapshotTimeHasBeenSet(false) +{ +} + +DataReplicationSettings::DataReplicationSettings(JsonView jsonValue) : + m_dataReplication(DataReplication::NOT_SET), + m_dataReplicationHasBeenSet(false), + m_recoverySnapshotTimeHasBeenSet(false) +{ + *this = jsonValue; +} + +DataReplicationSettings& DataReplicationSettings::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("DataReplication")) + { + m_dataReplication = DataReplicationMapper::GetDataReplicationForName(jsonValue.GetString("DataReplication")); + + m_dataReplicationHasBeenSet = true; + } + + if(jsonValue.ValueExists("RecoverySnapshotTime")) + { + m_recoverySnapshotTime = jsonValue.GetDouble("RecoverySnapshotTime"); + + m_recoverySnapshotTimeHasBeenSet = true; + } + + return *this; +} + +JsonValue DataReplicationSettings::Jsonize() const +{ + JsonValue payload; + + if(m_dataReplicationHasBeenSet) + { + payload.WithString("DataReplication", DataReplicationMapper::GetNameForDataReplication(m_dataReplication)); + } + + if(m_recoverySnapshotTimeHasBeenSet) + { + payload.WithDouble("RecoverySnapshotTime", m_recoverySnapshotTime.SecondsWithMSPrecision()); + } + + return payload; +} + +} // namespace Model +} // namespace WorkSpaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces/source/model/ModifyWorkspacePropertiesRequest.cpp b/generated/src/aws-cpp-sdk-workspaces/source/model/ModifyWorkspacePropertiesRequest.cpp index 5fc7bf4b52c..cd27f812f1d 100644 --- a/generated/src/aws-cpp-sdk-workspaces/source/model/ModifyWorkspacePropertiesRequest.cpp +++ b/generated/src/aws-cpp-sdk-workspaces/source/model/ModifyWorkspacePropertiesRequest.cpp @@ -14,7 +14,9 @@ using namespace Aws::Utils; ModifyWorkspacePropertiesRequest::ModifyWorkspacePropertiesRequest() : m_workspaceIdHasBeenSet(false), - m_workspacePropertiesHasBeenSet(false) + m_workspacePropertiesHasBeenSet(false), + m_dataReplication(DataReplication::NOT_SET), + m_dataReplicationHasBeenSet(false) { } @@ -34,6 +36,11 @@ Aws::String ModifyWorkspacePropertiesRequest::SerializePayload() const } + if(m_dataReplicationHasBeenSet) + { + payload.WithString("DataReplication", DataReplicationMapper::GetNameForDataReplication(m_dataReplication)); + } + return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-workspaces/source/model/StandbyWorkspace.cpp b/generated/src/aws-cpp-sdk-workspaces/source/model/StandbyWorkspace.cpp index 3747a8abc52..146fe6ff53d 100644 --- a/generated/src/aws-cpp-sdk-workspaces/source/model/StandbyWorkspace.cpp +++ b/generated/src/aws-cpp-sdk-workspaces/source/model/StandbyWorkspace.cpp @@ -22,7 +22,9 @@ StandbyWorkspace::StandbyWorkspace() : m_primaryWorkspaceIdHasBeenSet(false), m_volumeEncryptionKeyHasBeenSet(false), m_directoryIdHasBeenSet(false), - m_tagsHasBeenSet(false) + m_tagsHasBeenSet(false), + m_dataReplication(DataReplication::NOT_SET), + m_dataReplicationHasBeenSet(false) { } @@ -30,7 +32,9 @@ StandbyWorkspace::StandbyWorkspace(JsonView jsonValue) : m_primaryWorkspaceIdHasBeenSet(false), m_volumeEncryptionKeyHasBeenSet(false), m_directoryIdHasBeenSet(false), - m_tagsHasBeenSet(false) + m_tagsHasBeenSet(false), + m_dataReplication(DataReplication::NOT_SET), + m_dataReplicationHasBeenSet(false) { *this = jsonValue; } @@ -68,6 +72,13 @@ StandbyWorkspace& StandbyWorkspace::operator =(JsonView jsonValue) m_tagsHasBeenSet = true; } + if(jsonValue.ValueExists("DataReplication")) + { + m_dataReplication = DataReplicationMapper::GetDataReplicationForName(jsonValue.GetString("DataReplication")); + + m_dataReplicationHasBeenSet = true; + } + return *this; } @@ -104,6 +115,11 @@ JsonValue StandbyWorkspace::Jsonize() const } + if(m_dataReplicationHasBeenSet) + { + payload.WithString("DataReplication", DataReplicationMapper::GetNameForDataReplication(m_dataReplication)); + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-workspaces/source/model/StandbyWorkspacesProperties.cpp b/generated/src/aws-cpp-sdk-workspaces/source/model/StandbyWorkspacesProperties.cpp new file mode 100644 index 00000000000..bb4efdc08c9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces/source/model/StandbyWorkspacesProperties.cpp @@ -0,0 +1,89 @@ +/** + * 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 WorkSpaces +{ +namespace Model +{ + +StandbyWorkspacesProperties::StandbyWorkspacesProperties() : + m_standbyWorkspaceIdHasBeenSet(false), + m_dataReplication(DataReplication::NOT_SET), + m_dataReplicationHasBeenSet(false), + m_recoverySnapshotTimeHasBeenSet(false) +{ +} + +StandbyWorkspacesProperties::StandbyWorkspacesProperties(JsonView jsonValue) : + m_standbyWorkspaceIdHasBeenSet(false), + m_dataReplication(DataReplication::NOT_SET), + m_dataReplicationHasBeenSet(false), + m_recoverySnapshotTimeHasBeenSet(false) +{ + *this = jsonValue; +} + +StandbyWorkspacesProperties& StandbyWorkspacesProperties::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("StandbyWorkspaceId")) + { + m_standbyWorkspaceId = jsonValue.GetString("StandbyWorkspaceId"); + + m_standbyWorkspaceIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("DataReplication")) + { + m_dataReplication = DataReplicationMapper::GetDataReplicationForName(jsonValue.GetString("DataReplication")); + + m_dataReplicationHasBeenSet = true; + } + + if(jsonValue.ValueExists("RecoverySnapshotTime")) + { + m_recoverySnapshotTime = jsonValue.GetDouble("RecoverySnapshotTime"); + + m_recoverySnapshotTimeHasBeenSet = true; + } + + return *this; +} + +JsonValue StandbyWorkspacesProperties::Jsonize() const +{ + JsonValue payload; + + if(m_standbyWorkspaceIdHasBeenSet) + { + payload.WithString("StandbyWorkspaceId", m_standbyWorkspaceId); + + } + + if(m_dataReplicationHasBeenSet) + { + payload.WithString("DataReplication", DataReplicationMapper::GetNameForDataReplication(m_dataReplication)); + } + + if(m_recoverySnapshotTimeHasBeenSet) + { + payload.WithDouble("RecoverySnapshotTime", m_recoverySnapshotTime.SecondsWithMSPrecision()); + } + + return payload; +} + +} // namespace Model +} // namespace WorkSpaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces/source/model/Workspace.cpp b/generated/src/aws-cpp-sdk-workspaces/source/model/Workspace.cpp index 739531793ea..04b9ad15354 100644 --- a/generated/src/aws-cpp-sdk-workspaces/source/model/Workspace.cpp +++ b/generated/src/aws-cpp-sdk-workspaces/source/model/Workspace.cpp @@ -37,7 +37,9 @@ Workspace::Workspace() : m_rootVolumeEncryptionEnabledHasBeenSet(false), m_workspacePropertiesHasBeenSet(false), m_modificationStatesHasBeenSet(false), - m_relatedWorkspacesHasBeenSet(false) + m_relatedWorkspacesHasBeenSet(false), + m_dataReplicationSettingsHasBeenSet(false), + m_standbyWorkspacesPropertiesHasBeenSet(false) { } @@ -60,7 +62,9 @@ Workspace::Workspace(JsonView jsonValue) : m_rootVolumeEncryptionEnabledHasBeenSet(false), m_workspacePropertiesHasBeenSet(false), m_modificationStatesHasBeenSet(false), - m_relatedWorkspacesHasBeenSet(false) + m_relatedWorkspacesHasBeenSet(false), + m_dataReplicationSettingsHasBeenSet(false), + m_standbyWorkspacesPropertiesHasBeenSet(false) { *this = jsonValue; } @@ -185,6 +189,23 @@ Workspace& Workspace::operator =(JsonView jsonValue) m_relatedWorkspacesHasBeenSet = true; } + if(jsonValue.ValueExists("DataReplicationSettings")) + { + m_dataReplicationSettings = jsonValue.GetObject("DataReplicationSettings"); + + m_dataReplicationSettingsHasBeenSet = true; + } + + if(jsonValue.ValueExists("StandbyWorkspacesProperties")) + { + Aws::Utils::Array standbyWorkspacesPropertiesJsonList = jsonValue.GetArray("StandbyWorkspacesProperties"); + for(unsigned standbyWorkspacesPropertiesIndex = 0; standbyWorkspacesPropertiesIndex < standbyWorkspacesPropertiesJsonList.GetLength(); ++standbyWorkspacesPropertiesIndex) + { + m_standbyWorkspacesProperties.push_back(standbyWorkspacesPropertiesJsonList[standbyWorkspacesPropertiesIndex].AsObject()); + } + m_standbyWorkspacesPropertiesHasBeenSet = true; + } + return *this; } @@ -297,6 +318,23 @@ JsonValue Workspace::Jsonize() const } + if(m_dataReplicationSettingsHasBeenSet) + { + payload.WithObject("DataReplicationSettings", m_dataReplicationSettings.Jsonize()); + + } + + if(m_standbyWorkspacesPropertiesHasBeenSet) + { + Aws::Utils::Array standbyWorkspacesPropertiesJsonList(m_standbyWorkspacesProperties.size()); + for(unsigned standbyWorkspacesPropertiesIndex = 0; standbyWorkspacesPropertiesIndex < standbyWorkspacesPropertiesJsonList.GetLength(); ++standbyWorkspacesPropertiesIndex) + { + standbyWorkspacesPropertiesJsonList[standbyWorkspacesPropertiesIndex].AsObject(m_standbyWorkspacesProperties[standbyWorkspacesPropertiesIndex].Jsonize()); + } + payload.WithArray("StandbyWorkspacesProperties", std::move(standbyWorkspacesPropertiesJsonList)); + + } + return payload; } diff --git a/generated/tests/bcm-data-exports-gen-tests/BCMDataExportsEndpointProviderTests.cpp b/generated/tests/bcm-data-exports-gen-tests/BCMDataExportsEndpointProviderTests.cpp new file mode 100644 index 00000000000..c21874d4c68 --- /dev/null +++ b/generated/tests/bcm-data-exports-gen-tests/BCMDataExportsEndpointProviderTests.cpp @@ -0,0 +1,278 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + + +static const char* ALLOCATION_TAG = "AWSBCMDataExportsEndpointProviderTests"; +using BCMDataExportsEndpointProvider = Aws::BCMDataExports::Endpoint::BCMDataExportsEndpointProvider; +using EndpointParameters = Aws::Vector; +using ResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; + +using EpParam = Aws::Endpoint::EndpointParameter; +using EpProp = Aws::Endpoint::EndpointParameter; // just a container to store test expectations +using ExpEpProps = Aws::UnorderedMap>>; +using ExpEpHeaders = Aws::UnorderedMap>; + +class BCMDataExportsEndpointProviderTests : public ::testing::TestWithParam {}; + +struct BCMDataExportsEndpointProviderEndpointTestCase +{ + using OperationParamsFromTest = EndpointParameters; + + struct Expect + { + struct Endpoint + { + Aws::String url; + ExpEpProps properties; + ExpEpHeaders headers; + } endpoint; + Aws::String error; + }; + struct OperationInput + { + Aws::String operationName; + OperationParamsFromTest operationParams; + OperationParamsFromTest builtinParams; + OperationParamsFromTest clientParams; + }; + + Aws::String documentation; + // Specification tells us it is Client Initialization parameters + // At the same time, specification tells us to test EndpointProvider not the client itself + // Hence params here will be set as a client params (just like a dedicated field above). + Aws::Vector params; + Aws::Vector tags; + Expect expect; + // Aws::Vector operationInput; +}; + +static const Aws::Vector TEST_CASES = { + /*TEST CASE 0*/ + {"For region aws-global with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "aws-global")}, // params + {}, // tags + {{/*epUrl*/"https://bcm-data-exports.us-east-1.api.aws", + {/*properties*/{"authSchemes", {{EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "bcm-data-exports")}}}}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 1*/ + {"For region us-east-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-east-1")}, // params + {}, // tags + {{/*epUrl*/"https://bcm-data-exports-fips.us-east-1.api.aws", + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 2*/ + {"For region us-east-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-east-1")}, // params + {}, // tags + {{/*epUrl*/"https://bcm-data-exports.us-east-1.api.aws", + {/*properties*/{"authSchemes", {{EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "bcm-data-exports")}}}}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 3*/ + {"For region cn-north-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "cn-north-1")}, // params + {}, // tags + {{/*epUrl*/"https://bcm-data-exports-fips.cn-north-1.api.amazonwebservices.com.cn", + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 4*/ + {"For region cn-north-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "cn-north-1")}, // params + {}, // tags + {{/*epUrl*/"https://bcm-data-exports.cn-north-1.api.amazonwebservices.com.cn", + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 5*/ + {"For region us-gov-east-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-gov-east-1")}, // params + {}, // tags + {{/*epUrl*/"https://bcm-data-exports-fips.us-gov-east-1.api.aws", + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 6*/ + {"For region us-gov-east-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-gov-east-1")}, // params + {}, // tags + {{/*epUrl*/"https://bcm-data-exports.us-gov-east-1.api.aws", + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 7*/ + {"For custom endpoint with region set and fips disabled and dualstack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Endpoint", "https://example.com"), EpParam("Region", "us-east-1")}, // params + {}, // tags + {{/*epUrl*/"https://example.com", + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 8*/ + {"For custom endpoint with region not set and fips disabled and dualstack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Endpoint", "https://example.com")}, // params + {}, // tags + {{/*epUrl*/"https://example.com", + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 9*/ + {"For custom endpoint with fips enabled and dualstack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("Endpoint", "https://example.com"), EpParam("Region", "us-east-1")}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"Invalid Configuration: FIPS and custom endpoint are not supported"} // expect + }, + /*TEST CASE 10*/ + {"Missing region", // documentation + {}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"Invalid Configuration: Missing Region"} // expect + } +}; + +Aws::String RulesToSdkSignerName(const Aws::String& rulesSignerName) +{ + Aws::String sdkSigner = "NullSigner"; + if (rulesSignerName == "sigv4") { + sdkSigner = "SignatureV4"; + } else if (rulesSignerName == "sigv4a") { + sdkSigner = "AsymmetricSignatureV4"; + } else if (rulesSignerName == "none") { + sdkSigner = "NullSigner"; + } else if (rulesSignerName == "bearer") { + sdkSigner = "Bearer"; + } else { + sdkSigner = rulesSignerName; + } + + return sdkSigner; +} + +void ValidateOutcome(const ResolveEndpointOutcome& outcome, const BCMDataExportsEndpointProviderEndpointTestCase::Expect& expect) +{ + if(!expect.error.empty()) + { + ASSERT_FALSE(outcome.IsSuccess()) << "Expected failure with message:\n" << expect.error; + ASSERT_EQ(outcome.GetError().GetMessage(), expect.error); + } + else + { + AWS_ASSERT_SUCCESS(outcome); + ASSERT_EQ(outcome.GetResult().GetURL(), expect.endpoint.url); + const auto expAuthSchemesIt = expect.endpoint.properties.find("authSchemes"); + if (expAuthSchemesIt != expect.endpoint.properties.end()) + { + // in the list of AuthSchemes, select the one with a highest priority + const Aws::Vector priotityList = {"sigv4a", "sigv4", "bearer", "none", ""}; + const auto expectedAuthSchemePropsIt = std::find_first_of(expAuthSchemesIt->second.begin(), expAuthSchemesIt->second.end(), + priotityList.begin(), priotityList.end(), [](const Aws::Vector& props, const Aws::String& expName) + { + const auto& propNameIt = std::find_if(props.begin(), props.end(), [](const EpProp& prop) + { + return prop.GetName() == "name"; + }); + assert(propNameIt != props.end()); + return propNameIt->GetStrValueNoCheck() == expName; + }); + assert(expectedAuthSchemePropsIt != expAuthSchemesIt->second.end()); + + const auto& endpointResultAttrs = outcome.GetResult().GetAttributes(); + ASSERT_TRUE(endpointResultAttrs) << "Expected non-empty EndpointAttributes (authSchemes)"; + for (const auto& expProperty : *expectedAuthSchemePropsIt) + { + if (expProperty.GetName() == "name") { + ASSERT_TRUE(!endpointResultAttrs->authScheme.GetName().empty()); + ASSERT_EQ(RulesToSdkSignerName(expProperty.GetStrValueNoCheck()), endpointResultAttrs->authScheme.GetName()); + } else if (expProperty.GetName() == "signingName") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetSigningName()); + ASSERT_EQ(expProperty.GetStrValueNoCheck(), endpointResultAttrs->authScheme.GetSigningName().value()); + } else if (expProperty.GetName() == "signingRegion") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetSigningRegion()); + ASSERT_EQ(expProperty.GetStrValueNoCheck(), endpointResultAttrs->authScheme.GetSigningRegion().value()); + } else if (expProperty.GetName() == "signingRegionSet") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetSigningRegionSet()); + ASSERT_EQ(expProperty.GetStrValueNoCheck(), endpointResultAttrs->authScheme.GetSigningRegionSet().value()); + } else if (expProperty.GetName() == "disableDoubleEncoding") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetDisableDoubleEncoding()); + ASSERT_EQ(expProperty.GetBoolValueNoCheck(), endpointResultAttrs->authScheme.GetDisableDoubleEncoding().value()); + } else { + FAIL() << "Unsupported Auth type property " << expProperty.GetName() << ". Need to update test."; + } + } + } + + EXPECT_EQ(expect.endpoint.headers.empty(), outcome.GetResult().GetHeaders().empty()); + for(const auto& expHeaderVec : expect.endpoint.headers) + { + const auto& retHeaderIt = outcome.GetResult().GetHeaders().find(expHeaderVec.first); + ASSERT_TRUE(retHeaderIt != outcome.GetResult().GetHeaders().end()); + + auto retHeaderVec = Aws::Utils::StringUtils::Split(retHeaderIt->second, ';'); + std::sort(retHeaderVec.begin(), retHeaderVec.end()); + + auto expHeaderVecSorted = expHeaderVec.second; + std::sort(expHeaderVecSorted.begin(), expHeaderVecSorted.end()); + + ASSERT_EQ(expHeaderVecSorted, retHeaderVec); + } + } +} + +TEST_P(BCMDataExportsEndpointProviderTests, EndpointProviderTest) +{ + const size_t TEST_CASE_IDX = GetParam(); + ASSERT_LT(TEST_CASE_IDX, TEST_CASES.size()) << "Something is wrong with the test fixture itself."; + const BCMDataExportsEndpointProviderEndpointTestCase& TEST_CASE = TEST_CASES.at(TEST_CASE_IDX); + SCOPED_TRACE(Aws::String("\nTEST CASE # ") + Aws::Utils::StringUtils::to_string(TEST_CASE_IDX) + ": " + TEST_CASE.documentation); + + std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG); + ASSERT_TRUE(endpointProvider) << "Failed to allocate/initialize BCMDataExportsEndpointProvider"; + + EndpointParameters endpointParameters; + for(const auto& param : TEST_CASE.params) + { + endpointParameters.emplace(endpointParameters.end(), Aws::Endpoint::EndpointParameter(param)); + } + auto resolvedEndpointOutcome = endpointProvider->ResolveEndpoint(endpointParameters); + ValidateOutcome(resolvedEndpointOutcome, TEST_CASE.expect); + +#if 0 // temporarily disabled + for(const auto& operation : TEST_CASE.operationInput) + { + /* + * Most specific to least specific value locations: + staticContextParams + contextParam + clientContextParams + Built-In Bindings + Built-in binding default values + */ + const Aws::Vector> + operationInputParams = {std::cref(operation.builtinParams), std::cref(operation.clientParams), std::cref(operation.operationParams)}; + + for(const auto& paramSource : operationInputParams) + { + for(const auto& param : paramSource.get()) + { + endpointParameters.emplace(endpointParameters.end(), Aws::Endpoint::EndpointParameter(param)); + } + } + auto resolvedEndpointOutcomePerOperation = endpointProvider->ResolveEndpoint(endpointParameters); + ValidateOutcome(resolvedEndpointOutcomePerOperation, TEST_CASE.expect); + } +#endif +} + +INSTANTIATE_TEST_SUITE_P(EndpointTestsFromModel, + BCMDataExportsEndpointProviderTests, + ::testing::Range((size_t) 0u, TEST_CASES.size())); diff --git a/generated/tests/bcm-data-exports-gen-tests/CMakeLists.txt b/generated/tests/bcm-data-exports-gen-tests/CMakeLists.txt new file mode 100644 index 00000000000..993fd6d465e --- /dev/null +++ b/generated/tests/bcm-data-exports-gen-tests/CMakeLists.txt @@ -0,0 +1,42 @@ +add_project(bcm-data-exports-gen-tests + "Tests for the AWS BCM-DATA-EXPORTS C++ SDK" + testing-resources + aws-cpp-sdk-bcm-data-exports + aws-cpp-sdk-core) + +file(GLOB AWS_BCM-DATA-EXPORTS_GENERATED_TEST_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_BCM-DATA-EXPORTS_GENERATED_TEST_SRC}") +else() + add_executable(${PROJECT_NAME} "${AWS_BCM-DATA-EXPORTS_GENERATED_TEST_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/tests/bcm-data-exports-gen-tests/RunTests.cpp b/generated/tests/bcm-data-exports-gen-tests/RunTests.cpp new file mode 100644 index 00000000000..f2f10a7c789 --- /dev/null +++ b/generated/tests/bcm-data-exports-gen-tests/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/tests/controltower-gen-tests/ControlTowerEndpointProviderTests.cpp b/generated/tests/controltower-gen-tests/ControlTowerEndpointProviderTests.cpp index 580cad8ea38..667b2ab0ac9 100644 --- a/generated/tests/controltower-gen-tests/ControlTowerEndpointProviderTests.cpp +++ b/generated/tests/controltower-gen-tests/ControlTowerEndpointProviderTests.cpp @@ -375,12 +375,6 @@ static const Aws::Vector TEST_CASE {}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Invalid Configuration: Missing Region"} // expect - }, - /*TEST CASE 42*/ - {"Partition doesn't support DualStack", // documentation - {EpParam("UseFIPS", false), EpParam("Region", "us-isob-east-1"), EpParam("UseDualStack", true)}, // params - {}, // tags - {{/*No endpoint expected*/}, /*error*/"DualStack is enabled but this partition does not support DualStack"} // expect } }; diff --git a/generated/tests/cost-optimization-hub-gen-tests/CMakeLists.txt b/generated/tests/cost-optimization-hub-gen-tests/CMakeLists.txt new file mode 100644 index 00000000000..a07c0b2b81b --- /dev/null +++ b/generated/tests/cost-optimization-hub-gen-tests/CMakeLists.txt @@ -0,0 +1,42 @@ +add_project(cost-optimization-hub-gen-tests + "Tests for the AWS COST-OPTIMIZATION-HUB C++ SDK" + testing-resources + aws-cpp-sdk-cost-optimization-hub + aws-cpp-sdk-core) + +file(GLOB AWS_COST-OPTIMIZATION-HUB_GENERATED_TEST_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_COST-OPTIMIZATION-HUB_GENERATED_TEST_SRC}") +else() + add_executable(${PROJECT_NAME} "${AWS_COST-OPTIMIZATION-HUB_GENERATED_TEST_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/tests/cost-optimization-hub-gen-tests/CostOptimizationHubEndpointProviderTests.cpp b/generated/tests/cost-optimization-hub-gen-tests/CostOptimizationHubEndpointProviderTests.cpp new file mode 100644 index 00000000000..418c82dc435 --- /dev/null +++ b/generated/tests/cost-optimization-hub-gen-tests/CostOptimizationHubEndpointProviderTests.cpp @@ -0,0 +1,380 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + + +static const char* ALLOCATION_TAG = "AWSCostOptimizationHubEndpointProviderTests"; +using CostOptimizationHubEndpointProvider = Aws::CostOptimizationHub::Endpoint::CostOptimizationHubEndpointProvider; +using EndpointParameters = Aws::Vector; +using ResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; + +using EpParam = Aws::Endpoint::EndpointParameter; +using EpProp = Aws::Endpoint::EndpointParameter; // just a container to store test expectations +using ExpEpProps = Aws::UnorderedMap>>; +using ExpEpHeaders = Aws::UnorderedMap>; + +class CostOptimizationHubEndpointProviderTests : public ::testing::TestWithParam {}; + +struct CostOptimizationHubEndpointProviderEndpointTestCase +{ + using OperationParamsFromTest = EndpointParameters; + + struct Expect + { + struct Endpoint + { + Aws::String url; + ExpEpProps properties; + ExpEpHeaders headers; + } endpoint; + Aws::String error; + }; + struct OperationInput + { + Aws::String operationName; + OperationParamsFromTest operationParams; + OperationParamsFromTest builtinParams; + OperationParamsFromTest clientParams; + }; + + Aws::String documentation; + // Specification tells us it is Client Initialization parameters + // At the same time, specification tells us to test EndpointProvider not the client itself + // Hence params here will be set as a client params (just like a dedicated field above). + Aws::Vector params; + Aws::Vector tags; + Expect expect; + // Aws::Vector operationInput; +}; + +static const Aws::Vector TEST_CASES = { + /*TEST CASE 0*/ + {"For region us-east-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*epUrl*/"https://cost-optimization-hub-fips.us-east-1.api.aws", + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 1*/ + {"For region us-east-1 with FIPS enabled and DualStack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://cost-optimization-hub-fips.us-east-1.amazonaws.com", + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 2*/ + {"For region us-east-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*epUrl*/"https://cost-optimization-hub.us-east-1.api.aws", + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 3*/ + {"For region us-east-1 with FIPS disabled and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://cost-optimization-hub.us-east-1.amazonaws.com", + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 4*/ + {"For region cn-north-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "cn-north-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*epUrl*/"https://cost-optimization-hub-fips.cn-north-1.api.amazonwebservices.com.cn", + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 5*/ + {"For region cn-north-1 with FIPS enabled and DualStack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "cn-north-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://cost-optimization-hub-fips.cn-north-1.amazonaws.com.cn", + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 6*/ + {"For region cn-north-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "cn-north-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*epUrl*/"https://cost-optimization-hub.cn-north-1.api.amazonwebservices.com.cn", + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 7*/ + {"For region cn-north-1 with FIPS disabled and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "cn-north-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://cost-optimization-hub.cn-north-1.amazonaws.com.cn", + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 8*/ + {"For region us-gov-east-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-gov-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*epUrl*/"https://cost-optimization-hub-fips.us-gov-east-1.api.aws", + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 9*/ + {"For region us-gov-east-1 with FIPS enabled and DualStack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-gov-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://cost-optimization-hub-fips.us-gov-east-1.amazonaws.com", + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 10*/ + {"For region us-gov-east-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-gov-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*epUrl*/"https://cost-optimization-hub.us-gov-east-1.api.aws", + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 11*/ + {"For region us-gov-east-1 with FIPS disabled and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-gov-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://cost-optimization-hub.us-gov-east-1.amazonaws.com", + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 12*/ + {"For region us-iso-east-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-iso-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"FIPS and DualStack are enabled, but this partition does not support one or both"} // expect + }, + /*TEST CASE 13*/ + {"For region us-iso-east-1 with FIPS enabled and DualStack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-iso-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://cost-optimization-hub-fips.us-iso-east-1.c2s.ic.gov", + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 14*/ + {"For region us-iso-east-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-iso-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"DualStack is enabled but this partition does not support DualStack"} // expect + }, + /*TEST CASE 15*/ + {"For region us-iso-east-1 with FIPS disabled and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-iso-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://cost-optimization-hub.us-iso-east-1.c2s.ic.gov", + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 16*/ + {"For region us-isob-east-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-isob-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"FIPS and DualStack are enabled, but this partition does not support one or both"} // expect + }, + /*TEST CASE 17*/ + {"For region us-isob-east-1 with FIPS enabled and DualStack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-isob-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://cost-optimization-hub-fips.us-isob-east-1.sc2s.sgov.gov", + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 18*/ + {"For region us-isob-east-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-isob-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"DualStack is enabled but this partition does not support DualStack"} // expect + }, + /*TEST CASE 19*/ + {"For region us-isob-east-1 with FIPS disabled and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-isob-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://cost-optimization-hub.us-isob-east-1.sc2s.sgov.gov", + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 20*/ + {"For custom endpoint with region set and fips disabled and dualstack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Endpoint", "https://example.com"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://example.com", + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 21*/ + {"For custom endpoint with region not set and fips disabled and dualstack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Endpoint", "https://example.com"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://example.com", + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 22*/ + {"For custom endpoint with fips enabled and dualstack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("Endpoint", "https://example.com"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"Invalid Configuration: FIPS and custom endpoint are not supported"} // expect + }, + /*TEST CASE 23*/ + {"For custom endpoint with fips disabled and dualstack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Endpoint", "https://example.com"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"Invalid Configuration: Dualstack and custom endpoint are not supported"} // expect + }, + /*TEST CASE 24*/ + {"Missing region", // documentation + {}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"Invalid Configuration: Missing Region"} // expect + } +}; + +Aws::String RulesToSdkSignerName(const Aws::String& rulesSignerName) +{ + Aws::String sdkSigner = "NullSigner"; + if (rulesSignerName == "sigv4") { + sdkSigner = "SignatureV4"; + } else if (rulesSignerName == "sigv4a") { + sdkSigner = "AsymmetricSignatureV4"; + } else if (rulesSignerName == "none") { + sdkSigner = "NullSigner"; + } else if (rulesSignerName == "bearer") { + sdkSigner = "Bearer"; + } else { + sdkSigner = rulesSignerName; + } + + return sdkSigner; +} + +void ValidateOutcome(const ResolveEndpointOutcome& outcome, const CostOptimizationHubEndpointProviderEndpointTestCase::Expect& expect) +{ + if(!expect.error.empty()) + { + ASSERT_FALSE(outcome.IsSuccess()) << "Expected failure with message:\n" << expect.error; + ASSERT_EQ(outcome.GetError().GetMessage(), expect.error); + } + else + { + AWS_ASSERT_SUCCESS(outcome); + ASSERT_EQ(outcome.GetResult().GetURL(), expect.endpoint.url); + const auto expAuthSchemesIt = expect.endpoint.properties.find("authSchemes"); + if (expAuthSchemesIt != expect.endpoint.properties.end()) + { + // in the list of AuthSchemes, select the one with a highest priority + const Aws::Vector priotityList = {"sigv4a", "sigv4", "bearer", "none", ""}; + const auto expectedAuthSchemePropsIt = std::find_first_of(expAuthSchemesIt->second.begin(), expAuthSchemesIt->second.end(), + priotityList.begin(), priotityList.end(), [](const Aws::Vector& props, const Aws::String& expName) + { + const auto& propNameIt = std::find_if(props.begin(), props.end(), [](const EpProp& prop) + { + return prop.GetName() == "name"; + }); + assert(propNameIt != props.end()); + return propNameIt->GetStrValueNoCheck() == expName; + }); + assert(expectedAuthSchemePropsIt != expAuthSchemesIt->second.end()); + + const auto& endpointResultAttrs = outcome.GetResult().GetAttributes(); + ASSERT_TRUE(endpointResultAttrs) << "Expected non-empty EndpointAttributes (authSchemes)"; + for (const auto& expProperty : *expectedAuthSchemePropsIt) + { + if (expProperty.GetName() == "name") { + ASSERT_TRUE(!endpointResultAttrs->authScheme.GetName().empty()); + ASSERT_EQ(RulesToSdkSignerName(expProperty.GetStrValueNoCheck()), endpointResultAttrs->authScheme.GetName()); + } else if (expProperty.GetName() == "signingName") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetSigningName()); + ASSERT_EQ(expProperty.GetStrValueNoCheck(), endpointResultAttrs->authScheme.GetSigningName().value()); + } else if (expProperty.GetName() == "signingRegion") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetSigningRegion()); + ASSERT_EQ(expProperty.GetStrValueNoCheck(), endpointResultAttrs->authScheme.GetSigningRegion().value()); + } else if (expProperty.GetName() == "signingRegionSet") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetSigningRegionSet()); + ASSERT_EQ(expProperty.GetStrValueNoCheck(), endpointResultAttrs->authScheme.GetSigningRegionSet().value()); + } else if (expProperty.GetName() == "disableDoubleEncoding") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetDisableDoubleEncoding()); + ASSERT_EQ(expProperty.GetBoolValueNoCheck(), endpointResultAttrs->authScheme.GetDisableDoubleEncoding().value()); + } else { + FAIL() << "Unsupported Auth type property " << expProperty.GetName() << ". Need to update test."; + } + } + } + + EXPECT_EQ(expect.endpoint.headers.empty(), outcome.GetResult().GetHeaders().empty()); + for(const auto& expHeaderVec : expect.endpoint.headers) + { + const auto& retHeaderIt = outcome.GetResult().GetHeaders().find(expHeaderVec.first); + ASSERT_TRUE(retHeaderIt != outcome.GetResult().GetHeaders().end()); + + auto retHeaderVec = Aws::Utils::StringUtils::Split(retHeaderIt->second, ';'); + std::sort(retHeaderVec.begin(), retHeaderVec.end()); + + auto expHeaderVecSorted = expHeaderVec.second; + std::sort(expHeaderVecSorted.begin(), expHeaderVecSorted.end()); + + ASSERT_EQ(expHeaderVecSorted, retHeaderVec); + } + } +} + +TEST_P(CostOptimizationHubEndpointProviderTests, EndpointProviderTest) +{ + const size_t TEST_CASE_IDX = GetParam(); + ASSERT_LT(TEST_CASE_IDX, TEST_CASES.size()) << "Something is wrong with the test fixture itself."; + const CostOptimizationHubEndpointProviderEndpointTestCase& TEST_CASE = TEST_CASES.at(TEST_CASE_IDX); + SCOPED_TRACE(Aws::String("\nTEST CASE # ") + Aws::Utils::StringUtils::to_string(TEST_CASE_IDX) + ": " + TEST_CASE.documentation); + + std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG); + ASSERT_TRUE(endpointProvider) << "Failed to allocate/initialize CostOptimizationHubEndpointProvider"; + + EndpointParameters endpointParameters; + for(const auto& param : TEST_CASE.params) + { + endpointParameters.emplace(endpointParameters.end(), Aws::Endpoint::EndpointParameter(param)); + } + auto resolvedEndpointOutcome = endpointProvider->ResolveEndpoint(endpointParameters); + ValidateOutcome(resolvedEndpointOutcome, TEST_CASE.expect); + +#if 0 // temporarily disabled + for(const auto& operation : TEST_CASE.operationInput) + { + /* + * Most specific to least specific value locations: + staticContextParams + contextParam + clientContextParams + Built-In Bindings + Built-in binding default values + */ + const Aws::Vector> + operationInputParams = {std::cref(operation.builtinParams), std::cref(operation.clientParams), std::cref(operation.operationParams)}; + + for(const auto& paramSource : operationInputParams) + { + for(const auto& param : paramSource.get()) + { + endpointParameters.emplace(endpointParameters.end(), Aws::Endpoint::EndpointParameter(param)); + } + } + auto resolvedEndpointOutcomePerOperation = endpointProvider->ResolveEndpoint(endpointParameters); + ValidateOutcome(resolvedEndpointOutcomePerOperation, TEST_CASE.expect); + } +#endif +} + +INSTANTIATE_TEST_SUITE_P(EndpointTestsFromModel, + CostOptimizationHubEndpointProviderTests, + ::testing::Range((size_t) 0u, TEST_CASES.size())); diff --git a/generated/tests/cost-optimization-hub-gen-tests/RunTests.cpp b/generated/tests/cost-optimization-hub-gen-tests/RunTests.cpp new file mode 100644 index 00000000000..f2f10a7c789 --- /dev/null +++ b/generated/tests/cost-optimization-hub-gen-tests/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/tests/eks-auth-gen-tests/CMakeLists.txt b/generated/tests/eks-auth-gen-tests/CMakeLists.txt new file mode 100644 index 00000000000..d3c02c87a3a --- /dev/null +++ b/generated/tests/eks-auth-gen-tests/CMakeLists.txt @@ -0,0 +1,42 @@ +add_project(eks-auth-gen-tests + "Tests for the AWS EKS-AUTH C++ SDK" + testing-resources + aws-cpp-sdk-eks-auth + aws-cpp-sdk-core) + +file(GLOB AWS_EKS-AUTH_GENERATED_TEST_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_EKS-AUTH_GENERATED_TEST_SRC}") +else() + add_executable(${PROJECT_NAME} "${AWS_EKS-AUTH_GENERATED_TEST_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/tests/eks-auth-gen-tests/EKSAuthEndpointProviderTests.cpp b/generated/tests/eks-auth-gen-tests/EKSAuthEndpointProviderTests.cpp new file mode 100644 index 00000000000..3e03250faf3 --- /dev/null +++ b/generated/tests/eks-auth-gen-tests/EKSAuthEndpointProviderTests.cpp @@ -0,0 +1,270 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + + +static const char* ALLOCATION_TAG = "AWSEKSAuthEndpointProviderTests"; +using EKSAuthEndpointProvider = Aws::EKSAuth::Endpoint::EKSAuthEndpointProvider; +using EndpointParameters = Aws::Vector; +using ResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; + +using EpParam = Aws::Endpoint::EndpointParameter; +using EpProp = Aws::Endpoint::EndpointParameter; // just a container to store test expectations +using ExpEpProps = Aws::UnorderedMap>>; +using ExpEpHeaders = Aws::UnorderedMap>; + +class EKSAuthEndpointProviderTests : public ::testing::TestWithParam {}; + +struct EKSAuthEndpointProviderEndpointTestCase +{ + using OperationParamsFromTest = EndpointParameters; + + struct Expect + { + struct Endpoint + { + Aws::String url; + ExpEpProps properties; + ExpEpHeaders headers; + } endpoint; + Aws::String error; + }; + struct OperationInput + { + Aws::String operationName; + OperationParamsFromTest operationParams; + OperationParamsFromTest builtinParams; + OperationParamsFromTest clientParams; + }; + + Aws::String documentation; + // Specification tells us it is Client Initialization parameters + // At the same time, specification tells us to test EndpointProvider not the client itself + // Hence params here will be set as a client params (just like a dedicated field above). + Aws::Vector params; + Aws::Vector tags; + Expect expect; + // Aws::Vector operationInput; +}; + +static const Aws::Vector TEST_CASES = { + /*TEST CASE 0*/ + {"For region us-east-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-east-1")}, // params + {}, // tags + {{/*epUrl*/"https://eks-auth-fips.us-east-1.api.aws", + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 1*/ + {"For region us-east-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-east-1")}, // params + {}, // tags + {{/*epUrl*/"https://eks-auth.us-east-1.api.aws", + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 2*/ + {"For region cn-north-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "cn-north-1")}, // params + {}, // tags + {{/*epUrl*/"https://eks-auth-fips.cn-north-1.api.amazonwebservices.com.cn", + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 3*/ + {"For region cn-north-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "cn-north-1")}, // params + {}, // tags + {{/*epUrl*/"https://eks-auth.cn-north-1.api.amazonwebservices.com.cn", + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 4*/ + {"For region us-gov-east-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-gov-east-1")}, // params + {}, // tags + {{/*epUrl*/"https://eks-auth-fips.us-gov-east-1.api.aws", + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 5*/ + {"For region us-gov-east-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-gov-east-1")}, // params + {}, // tags + {{/*epUrl*/"https://eks-auth.us-gov-east-1.api.aws", + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 6*/ + {"For custom endpoint with region set and fips disabled and dualstack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Endpoint", "https://example.com"), EpParam("Region", "us-east-1")}, // params + {}, // tags + {{/*epUrl*/"https://example.com", + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 7*/ + {"For custom endpoint with region not set and fips disabled and dualstack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Endpoint", "https://example.com")}, // params + {}, // tags + {{/*epUrl*/"https://example.com", + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 8*/ + {"For custom endpoint with fips enabled and dualstack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("Endpoint", "https://example.com"), EpParam("Region", "us-east-1")}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"Invalid Configuration: FIPS and custom endpoint are not supported"} // expect + }, + /*TEST CASE 9*/ + {"Missing region", // documentation + {}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"Invalid Configuration: Missing Region"} // expect + } +}; + +Aws::String RulesToSdkSignerName(const Aws::String& rulesSignerName) +{ + Aws::String sdkSigner = "NullSigner"; + if (rulesSignerName == "sigv4") { + sdkSigner = "SignatureV4"; + } else if (rulesSignerName == "sigv4a") { + sdkSigner = "AsymmetricSignatureV4"; + } else if (rulesSignerName == "none") { + sdkSigner = "NullSigner"; + } else if (rulesSignerName == "bearer") { + sdkSigner = "Bearer"; + } else { + sdkSigner = rulesSignerName; + } + + return sdkSigner; +} + +void ValidateOutcome(const ResolveEndpointOutcome& outcome, const EKSAuthEndpointProviderEndpointTestCase::Expect& expect) +{ + if(!expect.error.empty()) + { + ASSERT_FALSE(outcome.IsSuccess()) << "Expected failure with message:\n" << expect.error; + ASSERT_EQ(outcome.GetError().GetMessage(), expect.error); + } + else + { + AWS_ASSERT_SUCCESS(outcome); + ASSERT_EQ(outcome.GetResult().GetURL(), expect.endpoint.url); + const auto expAuthSchemesIt = expect.endpoint.properties.find("authSchemes"); + if (expAuthSchemesIt != expect.endpoint.properties.end()) + { + // in the list of AuthSchemes, select the one with a highest priority + const Aws::Vector priotityList = {"sigv4a", "sigv4", "bearer", "none", ""}; + const auto expectedAuthSchemePropsIt = std::find_first_of(expAuthSchemesIt->second.begin(), expAuthSchemesIt->second.end(), + priotityList.begin(), priotityList.end(), [](const Aws::Vector& props, const Aws::String& expName) + { + const auto& propNameIt = std::find_if(props.begin(), props.end(), [](const EpProp& prop) + { + return prop.GetName() == "name"; + }); + assert(propNameIt != props.end()); + return propNameIt->GetStrValueNoCheck() == expName; + }); + assert(expectedAuthSchemePropsIt != expAuthSchemesIt->second.end()); + + const auto& endpointResultAttrs = outcome.GetResult().GetAttributes(); + ASSERT_TRUE(endpointResultAttrs) << "Expected non-empty EndpointAttributes (authSchemes)"; + for (const auto& expProperty : *expectedAuthSchemePropsIt) + { + if (expProperty.GetName() == "name") { + ASSERT_TRUE(!endpointResultAttrs->authScheme.GetName().empty()); + ASSERT_EQ(RulesToSdkSignerName(expProperty.GetStrValueNoCheck()), endpointResultAttrs->authScheme.GetName()); + } else if (expProperty.GetName() == "signingName") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetSigningName()); + ASSERT_EQ(expProperty.GetStrValueNoCheck(), endpointResultAttrs->authScheme.GetSigningName().value()); + } else if (expProperty.GetName() == "signingRegion") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetSigningRegion()); + ASSERT_EQ(expProperty.GetStrValueNoCheck(), endpointResultAttrs->authScheme.GetSigningRegion().value()); + } else if (expProperty.GetName() == "signingRegionSet") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetSigningRegionSet()); + ASSERT_EQ(expProperty.GetStrValueNoCheck(), endpointResultAttrs->authScheme.GetSigningRegionSet().value()); + } else if (expProperty.GetName() == "disableDoubleEncoding") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetDisableDoubleEncoding()); + ASSERT_EQ(expProperty.GetBoolValueNoCheck(), endpointResultAttrs->authScheme.GetDisableDoubleEncoding().value()); + } else { + FAIL() << "Unsupported Auth type property " << expProperty.GetName() << ". Need to update test."; + } + } + } + + EXPECT_EQ(expect.endpoint.headers.empty(), outcome.GetResult().GetHeaders().empty()); + for(const auto& expHeaderVec : expect.endpoint.headers) + { + const auto& retHeaderIt = outcome.GetResult().GetHeaders().find(expHeaderVec.first); + ASSERT_TRUE(retHeaderIt != outcome.GetResult().GetHeaders().end()); + + auto retHeaderVec = Aws::Utils::StringUtils::Split(retHeaderIt->second, ';'); + std::sort(retHeaderVec.begin(), retHeaderVec.end()); + + auto expHeaderVecSorted = expHeaderVec.second; + std::sort(expHeaderVecSorted.begin(), expHeaderVecSorted.end()); + + ASSERT_EQ(expHeaderVecSorted, retHeaderVec); + } + } +} + +TEST_P(EKSAuthEndpointProviderTests, EndpointProviderTest) +{ + const size_t TEST_CASE_IDX = GetParam(); + ASSERT_LT(TEST_CASE_IDX, TEST_CASES.size()) << "Something is wrong with the test fixture itself."; + const EKSAuthEndpointProviderEndpointTestCase& TEST_CASE = TEST_CASES.at(TEST_CASE_IDX); + SCOPED_TRACE(Aws::String("\nTEST CASE # ") + Aws::Utils::StringUtils::to_string(TEST_CASE_IDX) + ": " + TEST_CASE.documentation); + + std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG); + ASSERT_TRUE(endpointProvider) << "Failed to allocate/initialize EKSAuthEndpointProvider"; + + EndpointParameters endpointParameters; + for(const auto& param : TEST_CASE.params) + { + endpointParameters.emplace(endpointParameters.end(), Aws::Endpoint::EndpointParameter(param)); + } + auto resolvedEndpointOutcome = endpointProvider->ResolveEndpoint(endpointParameters); + ValidateOutcome(resolvedEndpointOutcome, TEST_CASE.expect); + +#if 0 // temporarily disabled + for(const auto& operation : TEST_CASE.operationInput) + { + /* + * Most specific to least specific value locations: + staticContextParams + contextParam + clientContextParams + Built-In Bindings + Built-in binding default values + */ + const Aws::Vector> + operationInputParams = {std::cref(operation.builtinParams), std::cref(operation.clientParams), std::cref(operation.operationParams)}; + + for(const auto& paramSource : operationInputParams) + { + for(const auto& param : paramSource.get()) + { + endpointParameters.emplace(endpointParameters.end(), Aws::Endpoint::EndpointParameter(param)); + } + } + auto resolvedEndpointOutcomePerOperation = endpointProvider->ResolveEndpoint(endpointParameters); + ValidateOutcome(resolvedEndpointOutcomePerOperation, TEST_CASE.expect); + } +#endif +} + +INSTANTIATE_TEST_SUITE_P(EndpointTestsFromModel, + EKSAuthEndpointProviderTests, + ::testing::Range((size_t) 0u, TEST_CASES.size())); diff --git a/generated/tests/eks-auth-gen-tests/RunTests.cpp b/generated/tests/eks-auth-gen-tests/RunTests.cpp new file mode 100644 index 00000000000..f2f10a7c789 --- /dev/null +++ b/generated/tests/eks-auth-gen-tests/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/tests/freetier-gen-tests/CMakeLists.txt b/generated/tests/freetier-gen-tests/CMakeLists.txt new file mode 100644 index 00000000000..bd2ed962268 --- /dev/null +++ b/generated/tests/freetier-gen-tests/CMakeLists.txt @@ -0,0 +1,42 @@ +add_project(freetier-gen-tests + "Tests for the AWS FREETIER C++ SDK" + testing-resources + aws-cpp-sdk-freetier + aws-cpp-sdk-core) + +file(GLOB AWS_FREETIER_GENERATED_TEST_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_FREETIER_GENERATED_TEST_SRC}") +else() + add_executable(${PROJECT_NAME} "${AWS_FREETIER_GENERATED_TEST_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/tests/freetier-gen-tests/FreeTierEndpointProviderTests.cpp b/generated/tests/freetier-gen-tests/FreeTierEndpointProviderTests.cpp new file mode 100644 index 00000000000..b05f36c1ae0 --- /dev/null +++ b/generated/tests/freetier-gen-tests/FreeTierEndpointProviderTests.cpp @@ -0,0 +1,286 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + + +static const char* ALLOCATION_TAG = "AWSFreeTierEndpointProviderTests"; +using FreeTierEndpointProvider = Aws::FreeTier::Endpoint::FreeTierEndpointProvider; +using EndpointParameters = Aws::Vector; +using ResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; + +using EpParam = Aws::Endpoint::EndpointParameter; +using EpProp = Aws::Endpoint::EndpointParameter; // just a container to store test expectations +using ExpEpProps = Aws::UnorderedMap>>; +using ExpEpHeaders = Aws::UnorderedMap>; + +class FreeTierEndpointProviderTests : public ::testing::TestWithParam {}; + +struct FreeTierEndpointProviderEndpointTestCase +{ + using OperationParamsFromTest = EndpointParameters; + + struct Expect + { + struct Endpoint + { + Aws::String url; + ExpEpProps properties; + ExpEpHeaders headers; + } endpoint; + Aws::String error; + }; + struct OperationInput + { + Aws::String operationName; + OperationParamsFromTest operationParams; + OperationParamsFromTest builtinParams; + OperationParamsFromTest clientParams; + }; + + Aws::String documentation; + // Specification tells us it is Client Initialization parameters + // At the same time, specification tells us to test EndpointProvider not the client itself + // Hence params here will be set as a client params (just like a dedicated field above). + Aws::Vector params; + Aws::Vector tags; + Expect expect; + // Aws::Vector operationInput; +}; + +static const Aws::Vector TEST_CASES = { + /*TEST CASE 0*/ + {"For region aws-global with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "aws-global")}, // params + {}, // tags + {{/*epUrl*/"https://freetier.us-east-1.api.aws", + {/*properties*/{"authSchemes", {{EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "freetier")}}}}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 1*/ + {"For region us-east-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-east-1")}, // params + {}, // tags + {{/*epUrl*/"https://freetier-fips.us-east-1.api.aws", + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 2*/ + {"For region us-east-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-east-1")}, // params + {}, // tags + {{/*epUrl*/"https://freetier.us-east-1.api.aws", + {/*properties*/{"authSchemes", {{EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "freetier")}}}}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 3*/ + {"For region aws-cn-global with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "aws-cn-global")}, // params + {}, // tags + {{/*epUrl*/"https://freetier.cn-northwest-1.api.amazonwebservices.com.cn", + {/*properties*/{"authSchemes", {{EpProp("signingRegion", "cn-northwest-1"), EpProp("name", "sigv4"), EpProp("signingName", "freetier")}}}}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 4*/ + {"For region cn-north-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "cn-north-1")}, // params + {}, // tags + {{/*epUrl*/"https://freetier-fips.cn-north-1.api.amazonwebservices.com.cn", + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 5*/ + {"For region cn-north-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "cn-north-1")}, // params + {}, // tags + {{/*epUrl*/"https://freetier.cn-north-1.api.amazonwebservices.com.cn", + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 6*/ + {"For region us-gov-east-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-gov-east-1")}, // params + {}, // tags + {{/*epUrl*/"https://freetier-fips.us-gov-east-1.api.aws", + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 7*/ + {"For region us-gov-east-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-gov-east-1")}, // params + {}, // tags + {{/*epUrl*/"https://freetier.us-gov-east-1.api.aws", + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 8*/ + {"For custom endpoint with region set and fips disabled and dualstack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Endpoint", "https://example.com"), EpParam("Region", "us-east-1")}, // params + {}, // tags + {{/*epUrl*/"https://example.com", + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 9*/ + {"For custom endpoint with region not set and fips disabled and dualstack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Endpoint", "https://example.com")}, // params + {}, // tags + {{/*epUrl*/"https://example.com", + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 10*/ + {"For custom endpoint with fips enabled and dualstack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("Endpoint", "https://example.com"), EpParam("Region", "us-east-1")}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"Invalid Configuration: FIPS and custom endpoint are not supported"} // expect + }, + /*TEST CASE 11*/ + {"Missing region", // documentation + {}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"Invalid Configuration: Missing Region"} // expect + } +}; + +Aws::String RulesToSdkSignerName(const Aws::String& rulesSignerName) +{ + Aws::String sdkSigner = "NullSigner"; + if (rulesSignerName == "sigv4") { + sdkSigner = "SignatureV4"; + } else if (rulesSignerName == "sigv4a") { + sdkSigner = "AsymmetricSignatureV4"; + } else if (rulesSignerName == "none") { + sdkSigner = "NullSigner"; + } else if (rulesSignerName == "bearer") { + sdkSigner = "Bearer"; + } else { + sdkSigner = rulesSignerName; + } + + return sdkSigner; +} + +void ValidateOutcome(const ResolveEndpointOutcome& outcome, const FreeTierEndpointProviderEndpointTestCase::Expect& expect) +{ + if(!expect.error.empty()) + { + ASSERT_FALSE(outcome.IsSuccess()) << "Expected failure with message:\n" << expect.error; + ASSERT_EQ(outcome.GetError().GetMessage(), expect.error); + } + else + { + AWS_ASSERT_SUCCESS(outcome); + ASSERT_EQ(outcome.GetResult().GetURL(), expect.endpoint.url); + const auto expAuthSchemesIt = expect.endpoint.properties.find("authSchemes"); + if (expAuthSchemesIt != expect.endpoint.properties.end()) + { + // in the list of AuthSchemes, select the one with a highest priority + const Aws::Vector priotityList = {"sigv4a", "sigv4", "bearer", "none", ""}; + const auto expectedAuthSchemePropsIt = std::find_first_of(expAuthSchemesIt->second.begin(), expAuthSchemesIt->second.end(), + priotityList.begin(), priotityList.end(), [](const Aws::Vector& props, const Aws::String& expName) + { + const auto& propNameIt = std::find_if(props.begin(), props.end(), [](const EpProp& prop) + { + return prop.GetName() == "name"; + }); + assert(propNameIt != props.end()); + return propNameIt->GetStrValueNoCheck() == expName; + }); + assert(expectedAuthSchemePropsIt != expAuthSchemesIt->second.end()); + + const auto& endpointResultAttrs = outcome.GetResult().GetAttributes(); + ASSERT_TRUE(endpointResultAttrs) << "Expected non-empty EndpointAttributes (authSchemes)"; + for (const auto& expProperty : *expectedAuthSchemePropsIt) + { + if (expProperty.GetName() == "name") { + ASSERT_TRUE(!endpointResultAttrs->authScheme.GetName().empty()); + ASSERT_EQ(RulesToSdkSignerName(expProperty.GetStrValueNoCheck()), endpointResultAttrs->authScheme.GetName()); + } else if (expProperty.GetName() == "signingName") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetSigningName()); + ASSERT_EQ(expProperty.GetStrValueNoCheck(), endpointResultAttrs->authScheme.GetSigningName().value()); + } else if (expProperty.GetName() == "signingRegion") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetSigningRegion()); + ASSERT_EQ(expProperty.GetStrValueNoCheck(), endpointResultAttrs->authScheme.GetSigningRegion().value()); + } else if (expProperty.GetName() == "signingRegionSet") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetSigningRegionSet()); + ASSERT_EQ(expProperty.GetStrValueNoCheck(), endpointResultAttrs->authScheme.GetSigningRegionSet().value()); + } else if (expProperty.GetName() == "disableDoubleEncoding") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetDisableDoubleEncoding()); + ASSERT_EQ(expProperty.GetBoolValueNoCheck(), endpointResultAttrs->authScheme.GetDisableDoubleEncoding().value()); + } else { + FAIL() << "Unsupported Auth type property " << expProperty.GetName() << ". Need to update test."; + } + } + } + + EXPECT_EQ(expect.endpoint.headers.empty(), outcome.GetResult().GetHeaders().empty()); + for(const auto& expHeaderVec : expect.endpoint.headers) + { + const auto& retHeaderIt = outcome.GetResult().GetHeaders().find(expHeaderVec.first); + ASSERT_TRUE(retHeaderIt != outcome.GetResult().GetHeaders().end()); + + auto retHeaderVec = Aws::Utils::StringUtils::Split(retHeaderIt->second, ';'); + std::sort(retHeaderVec.begin(), retHeaderVec.end()); + + auto expHeaderVecSorted = expHeaderVec.second; + std::sort(expHeaderVecSorted.begin(), expHeaderVecSorted.end()); + + ASSERT_EQ(expHeaderVecSorted, retHeaderVec); + } + } +} + +TEST_P(FreeTierEndpointProviderTests, EndpointProviderTest) +{ + const size_t TEST_CASE_IDX = GetParam(); + ASSERT_LT(TEST_CASE_IDX, TEST_CASES.size()) << "Something is wrong with the test fixture itself."; + const FreeTierEndpointProviderEndpointTestCase& TEST_CASE = TEST_CASES.at(TEST_CASE_IDX); + SCOPED_TRACE(Aws::String("\nTEST CASE # ") + Aws::Utils::StringUtils::to_string(TEST_CASE_IDX) + ": " + TEST_CASE.documentation); + + std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG); + ASSERT_TRUE(endpointProvider) << "Failed to allocate/initialize FreeTierEndpointProvider"; + + EndpointParameters endpointParameters; + for(const auto& param : TEST_CASE.params) + { + endpointParameters.emplace(endpointParameters.end(), Aws::Endpoint::EndpointParameter(param)); + } + auto resolvedEndpointOutcome = endpointProvider->ResolveEndpoint(endpointParameters); + ValidateOutcome(resolvedEndpointOutcome, TEST_CASE.expect); + +#if 0 // temporarily disabled + for(const auto& operation : TEST_CASE.operationInput) + { + /* + * Most specific to least specific value locations: + staticContextParams + contextParam + clientContextParams + Built-In Bindings + Built-in binding default values + */ + const Aws::Vector> + operationInputParams = {std::cref(operation.builtinParams), std::cref(operation.clientParams), std::cref(operation.operationParams)}; + + for(const auto& paramSource : operationInputParams) + { + for(const auto& param : paramSource.get()) + { + endpointParameters.emplace(endpointParameters.end(), Aws::Endpoint::EndpointParameter(param)); + } + } + auto resolvedEndpointOutcomePerOperation = endpointProvider->ResolveEndpoint(endpointParameters); + ValidateOutcome(resolvedEndpointOutcomePerOperation, TEST_CASE.expect); + } +#endif +} + +INSTANTIATE_TEST_SUITE_P(EndpointTestsFromModel, + FreeTierEndpointProviderTests, + ::testing::Range((size_t) 0u, TEST_CASES.size())); diff --git a/generated/tests/freetier-gen-tests/RunTests.cpp b/generated/tests/freetier-gen-tests/RunTests.cpp new file mode 100644 index 00000000000..f2f10a7c789 --- /dev/null +++ b/generated/tests/freetier-gen-tests/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/tests/repostspace-gen-tests/CMakeLists.txt b/generated/tests/repostspace-gen-tests/CMakeLists.txt new file mode 100644 index 00000000000..3aa6bc1a22e --- /dev/null +++ b/generated/tests/repostspace-gen-tests/CMakeLists.txt @@ -0,0 +1,42 @@ +add_project(repostspace-gen-tests + "Tests for the AWS REPOSTSPACE C++ SDK" + testing-resources + aws-cpp-sdk-repostspace + aws-cpp-sdk-core) + +file(GLOB AWS_REPOSTSPACE_GENERATED_TEST_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_REPOSTSPACE_GENERATED_TEST_SRC}") +else() + add_executable(${PROJECT_NAME} "${AWS_REPOSTSPACE_GENERATED_TEST_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/tests/repostspace-gen-tests/RepostspaceEndpointProviderTests.cpp b/generated/tests/repostspace-gen-tests/RepostspaceEndpointProviderTests.cpp new file mode 100644 index 00000000000..74cef9c4dfe --- /dev/null +++ b/generated/tests/repostspace-gen-tests/RepostspaceEndpointProviderTests.cpp @@ -0,0 +1,380 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + + +static const char* ALLOCATION_TAG = "AWSRepostspaceEndpointProviderTests"; +using RepostspaceEndpointProvider = Aws::repostspace::Endpoint::RepostspaceEndpointProvider; +using EndpointParameters = Aws::Vector; +using ResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; + +using EpParam = Aws::Endpoint::EndpointParameter; +using EpProp = Aws::Endpoint::EndpointParameter; // just a container to store test expectations +using ExpEpProps = Aws::UnorderedMap>>; +using ExpEpHeaders = Aws::UnorderedMap>; + +class RepostspaceEndpointProviderTests : public ::testing::TestWithParam {}; + +struct RepostspaceEndpointProviderEndpointTestCase +{ + using OperationParamsFromTest = EndpointParameters; + + struct Expect + { + struct Endpoint + { + Aws::String url; + ExpEpProps properties; + ExpEpHeaders headers; + } endpoint; + Aws::String error; + }; + struct OperationInput + { + Aws::String operationName; + OperationParamsFromTest operationParams; + OperationParamsFromTest builtinParams; + OperationParamsFromTest clientParams; + }; + + Aws::String documentation; + // Specification tells us it is Client Initialization parameters + // At the same time, specification tells us to test EndpointProvider not the client itself + // Hence params here will be set as a client params (just like a dedicated field above). + Aws::Vector params; + Aws::Vector tags; + Expect expect; + // Aws::Vector operationInput; +}; + +static const Aws::Vector TEST_CASES = { + /*TEST CASE 0*/ + {"For region us-east-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*epUrl*/"https://repostspace-fips.us-east-1.api.aws", + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 1*/ + {"For region us-east-1 with FIPS enabled and DualStack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://repostspace-fips.us-east-1.amazonaws.com", + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 2*/ + {"For region us-east-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*epUrl*/"https://repostspace.us-east-1.api.aws", + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 3*/ + {"For region us-east-1 with FIPS disabled and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://repostspace.us-east-1.amazonaws.com", + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 4*/ + {"For region cn-north-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "cn-north-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*epUrl*/"https://repostspace-fips.cn-north-1.api.amazonwebservices.com.cn", + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 5*/ + {"For region cn-north-1 with FIPS enabled and DualStack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "cn-north-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://repostspace-fips.cn-north-1.amazonaws.com.cn", + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 6*/ + {"For region cn-north-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "cn-north-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*epUrl*/"https://repostspace.cn-north-1.api.amazonwebservices.com.cn", + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 7*/ + {"For region cn-north-1 with FIPS disabled and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "cn-north-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://repostspace.cn-north-1.amazonaws.com.cn", + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 8*/ + {"For region us-gov-east-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-gov-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*epUrl*/"https://repostspace-fips.us-gov-east-1.api.aws", + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 9*/ + {"For region us-gov-east-1 with FIPS enabled and DualStack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-gov-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://repostspace-fips.us-gov-east-1.amazonaws.com", + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 10*/ + {"For region us-gov-east-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-gov-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*epUrl*/"https://repostspace.us-gov-east-1.api.aws", + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 11*/ + {"For region us-gov-east-1 with FIPS disabled and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-gov-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://repostspace.us-gov-east-1.amazonaws.com", + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 12*/ + {"For region us-iso-east-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-iso-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"FIPS and DualStack are enabled, but this partition does not support one or both"} // expect + }, + /*TEST CASE 13*/ + {"For region us-iso-east-1 with FIPS enabled and DualStack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-iso-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://repostspace-fips.us-iso-east-1.c2s.ic.gov", + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 14*/ + {"For region us-iso-east-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-iso-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"DualStack is enabled but this partition does not support DualStack"} // expect + }, + /*TEST CASE 15*/ + {"For region us-iso-east-1 with FIPS disabled and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-iso-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://repostspace.us-iso-east-1.c2s.ic.gov", + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 16*/ + {"For region us-isob-east-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-isob-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"FIPS and DualStack are enabled, but this partition does not support one or both"} // expect + }, + /*TEST CASE 17*/ + {"For region us-isob-east-1 with FIPS enabled and DualStack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-isob-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://repostspace-fips.us-isob-east-1.sc2s.sgov.gov", + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 18*/ + {"For region us-isob-east-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-isob-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"DualStack is enabled but this partition does not support DualStack"} // expect + }, + /*TEST CASE 19*/ + {"For region us-isob-east-1 with FIPS disabled and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-isob-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://repostspace.us-isob-east-1.sc2s.sgov.gov", + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 20*/ + {"For custom endpoint with region set and fips disabled and dualstack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Endpoint", "https://example.com"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://example.com", + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 21*/ + {"For custom endpoint with region not set and fips disabled and dualstack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Endpoint", "https://example.com"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://example.com", + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 22*/ + {"For custom endpoint with fips enabled and dualstack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("Endpoint", "https://example.com"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"Invalid Configuration: FIPS and custom endpoint are not supported"} // expect + }, + /*TEST CASE 23*/ + {"For custom endpoint with fips disabled and dualstack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Endpoint", "https://example.com"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"Invalid Configuration: Dualstack and custom endpoint are not supported"} // expect + }, + /*TEST CASE 24*/ + {"Missing region", // documentation + {}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"Invalid Configuration: Missing Region"} // expect + } +}; + +Aws::String RulesToSdkSignerName(const Aws::String& rulesSignerName) +{ + Aws::String sdkSigner = "NullSigner"; + if (rulesSignerName == "sigv4") { + sdkSigner = "SignatureV4"; + } else if (rulesSignerName == "sigv4a") { + sdkSigner = "AsymmetricSignatureV4"; + } else if (rulesSignerName == "none") { + sdkSigner = "NullSigner"; + } else if (rulesSignerName == "bearer") { + sdkSigner = "Bearer"; + } else { + sdkSigner = rulesSignerName; + } + + return sdkSigner; +} + +void ValidateOutcome(const ResolveEndpointOutcome& outcome, const RepostspaceEndpointProviderEndpointTestCase::Expect& expect) +{ + if(!expect.error.empty()) + { + ASSERT_FALSE(outcome.IsSuccess()) << "Expected failure with message:\n" << expect.error; + ASSERT_EQ(outcome.GetError().GetMessage(), expect.error); + } + else + { + AWS_ASSERT_SUCCESS(outcome); + ASSERT_EQ(outcome.GetResult().GetURL(), expect.endpoint.url); + const auto expAuthSchemesIt = expect.endpoint.properties.find("authSchemes"); + if (expAuthSchemesIt != expect.endpoint.properties.end()) + { + // in the list of AuthSchemes, select the one with a highest priority + const Aws::Vector priotityList = {"sigv4a", "sigv4", "bearer", "none", ""}; + const auto expectedAuthSchemePropsIt = std::find_first_of(expAuthSchemesIt->second.begin(), expAuthSchemesIt->second.end(), + priotityList.begin(), priotityList.end(), [](const Aws::Vector& props, const Aws::String& expName) + { + const auto& propNameIt = std::find_if(props.begin(), props.end(), [](const EpProp& prop) + { + return prop.GetName() == "name"; + }); + assert(propNameIt != props.end()); + return propNameIt->GetStrValueNoCheck() == expName; + }); + assert(expectedAuthSchemePropsIt != expAuthSchemesIt->second.end()); + + const auto& endpointResultAttrs = outcome.GetResult().GetAttributes(); + ASSERT_TRUE(endpointResultAttrs) << "Expected non-empty EndpointAttributes (authSchemes)"; + for (const auto& expProperty : *expectedAuthSchemePropsIt) + { + if (expProperty.GetName() == "name") { + ASSERT_TRUE(!endpointResultAttrs->authScheme.GetName().empty()); + ASSERT_EQ(RulesToSdkSignerName(expProperty.GetStrValueNoCheck()), endpointResultAttrs->authScheme.GetName()); + } else if (expProperty.GetName() == "signingName") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetSigningName()); + ASSERT_EQ(expProperty.GetStrValueNoCheck(), endpointResultAttrs->authScheme.GetSigningName().value()); + } else if (expProperty.GetName() == "signingRegion") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetSigningRegion()); + ASSERT_EQ(expProperty.GetStrValueNoCheck(), endpointResultAttrs->authScheme.GetSigningRegion().value()); + } else if (expProperty.GetName() == "signingRegionSet") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetSigningRegionSet()); + ASSERT_EQ(expProperty.GetStrValueNoCheck(), endpointResultAttrs->authScheme.GetSigningRegionSet().value()); + } else if (expProperty.GetName() == "disableDoubleEncoding") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetDisableDoubleEncoding()); + ASSERT_EQ(expProperty.GetBoolValueNoCheck(), endpointResultAttrs->authScheme.GetDisableDoubleEncoding().value()); + } else { + FAIL() << "Unsupported Auth type property " << expProperty.GetName() << ". Need to update test."; + } + } + } + + EXPECT_EQ(expect.endpoint.headers.empty(), outcome.GetResult().GetHeaders().empty()); + for(const auto& expHeaderVec : expect.endpoint.headers) + { + const auto& retHeaderIt = outcome.GetResult().GetHeaders().find(expHeaderVec.first); + ASSERT_TRUE(retHeaderIt != outcome.GetResult().GetHeaders().end()); + + auto retHeaderVec = Aws::Utils::StringUtils::Split(retHeaderIt->second, ';'); + std::sort(retHeaderVec.begin(), retHeaderVec.end()); + + auto expHeaderVecSorted = expHeaderVec.second; + std::sort(expHeaderVecSorted.begin(), expHeaderVecSorted.end()); + + ASSERT_EQ(expHeaderVecSorted, retHeaderVec); + } + } +} + +TEST_P(RepostspaceEndpointProviderTests, EndpointProviderTest) +{ + const size_t TEST_CASE_IDX = GetParam(); + ASSERT_LT(TEST_CASE_IDX, TEST_CASES.size()) << "Something is wrong with the test fixture itself."; + const RepostspaceEndpointProviderEndpointTestCase& TEST_CASE = TEST_CASES.at(TEST_CASE_IDX); + SCOPED_TRACE(Aws::String("\nTEST CASE # ") + Aws::Utils::StringUtils::to_string(TEST_CASE_IDX) + ": " + TEST_CASE.documentation); + + std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG); + ASSERT_TRUE(endpointProvider) << "Failed to allocate/initialize RepostspaceEndpointProvider"; + + EndpointParameters endpointParameters; + for(const auto& param : TEST_CASE.params) + { + endpointParameters.emplace(endpointParameters.end(), Aws::Endpoint::EndpointParameter(param)); + } + auto resolvedEndpointOutcome = endpointProvider->ResolveEndpoint(endpointParameters); + ValidateOutcome(resolvedEndpointOutcome, TEST_CASE.expect); + +#if 0 // temporarily disabled + for(const auto& operation : TEST_CASE.operationInput) + { + /* + * Most specific to least specific value locations: + staticContextParams + contextParam + clientContextParams + Built-In Bindings + Built-in binding default values + */ + const Aws::Vector> + operationInputParams = {std::cref(operation.builtinParams), std::cref(operation.clientParams), std::cref(operation.operationParams)}; + + for(const auto& paramSource : operationInputParams) + { + for(const auto& param : paramSource.get()) + { + endpointParameters.emplace(endpointParameters.end(), Aws::Endpoint::EndpointParameter(param)); + } + } + auto resolvedEndpointOutcomePerOperation = endpointProvider->ResolveEndpoint(endpointParameters); + ValidateOutcome(resolvedEndpointOutcomePerOperation, TEST_CASE.expect); + } +#endif +} + +INSTANTIATE_TEST_SUITE_P(EndpointTestsFromModel, + RepostspaceEndpointProviderTests, + ::testing::Range((size_t) 0u, TEST_CASES.size())); diff --git a/generated/tests/repostspace-gen-tests/RunTests.cpp b/generated/tests/repostspace-gen-tests/RunTests.cpp new file mode 100644 index 00000000000..f2f10a7c789 --- /dev/null +++ b/generated/tests/repostspace-gen-tests/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/tests/s3-crt-gen-tests/S3CrtEndpointProviderTests.cpp b/generated/tests/s3-crt-gen-tests/S3CrtEndpointProviderTests.cpp index b2875b97441..10c2b996a3b 100644 --- a/generated/tests/s3-crt-gen-tests/S3CrtEndpointProviderTests.cpp +++ b/generated/tests/s3-crt-gen-tests/S3CrtEndpointProviderTests.cpp @@ -494,6 +494,15 @@ static const Aws::Vector TEST_CASES = { {/*headers*/}}, {/*No error*/}} // expect }, /*TEST CASE 56*/ + {"virtual addressing, aws-global region with Prefix, and Key uses the global endpoint. Prefix and Key parameters should not be used in endpoint evaluation.", // documentation + {EpParam("UseFIPS", false), EpParam("Bucket", "bucket-name"), EpParam("Region", "aws-global"), EpParam("Accelerate", false), EpParam("Prefix", "prefix"), + EpParam("UseDualStack", false), EpParam("Key", "key")}, // params + {}, // tags + {{/*epUrl*/"https://bucket-name.s3.amazonaws.com", + {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 57*/ {"virtual addressing, aws-global region with fips uses the regional fips endpoint", // documentation {EpParam("UseFIPS", true), EpParam("Bucket", "bucket-name"), EpParam("Region", "aws-global"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags @@ -501,7 +510,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 57*/ + /*TEST CASE 58*/ {"virtual addressing, aws-global region with dualstack uses the regional dualstack endpoint", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "bucket-name"), EpParam("Region", "aws-global"), EpParam("Accelerate", false), EpParam("UseDualStack", true)}, // params {}, // tags @@ -509,7 +518,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 58*/ + /*TEST CASE 59*/ {"virtual addressing, aws-global region with fips/dualstack uses the regional fips/dualstack endpoint", // documentation {EpParam("UseFIPS", true), EpParam("Bucket", "bucket-name"), EpParam("Region", "aws-global"), EpParam("Accelerate", false), EpParam("UseDualStack", true)}, // params {}, // tags @@ -517,7 +526,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 59*/ + /*TEST CASE 60*/ {"virtual addressing, aws-global region with accelerate uses the global accelerate endpoint", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "bucket-name"), EpParam("Region", "aws-global"), EpParam("Accelerate", true), EpParam("UseDualStack", false)}, // params {}, // tags @@ -525,7 +534,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 60*/ + /*TEST CASE 61*/ {"virtual addressing, aws-global region with custom endpoint", // documentation {EpParam("UseFIPS", false), EpParam("Endpoint", "https://example.com"), EpParam("Bucket", "bucket-name"), EpParam("Region", "aws-global"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -534,7 +543,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 61*/ + /*TEST CASE 62*/ {"virtual addressing, UseGlobalEndpoint and us-east-1 region uses the global endpoint", // documentation {EpParam("UseGlobalEndpoint", true), EpParam("UseFIPS", false), EpParam("Bucket", "bucket-name"), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -543,7 +552,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 62*/ + /*TEST CASE 63*/ {"virtual addressing, UseGlobalEndpoint and us-west-2 region uses the regional endpoint", // documentation {EpParam("UseGlobalEndpoint", true), EpParam("UseFIPS", false), EpParam("Bucket", "bucket-name"), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -552,7 +561,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-west-2"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 63*/ + /*TEST CASE 64*/ {"virtual addressing, UseGlobalEndpoint and us-east-1 region and fips uses the regional fips endpoint", // documentation {EpParam("UseGlobalEndpoint", true), EpParam("UseFIPS", true), EpParam("Bucket", "bucket-name"), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -561,7 +570,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 64*/ + /*TEST CASE 65*/ {"virtual addressing, UseGlobalEndpoint and us-east-1 region and dualstack uses the regional dualstack endpoint", // documentation {EpParam("UseGlobalEndpoint", true), EpParam("UseFIPS", false), EpParam("Bucket", "bucket-name"), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", true)}, // params @@ -570,7 +579,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 65*/ + /*TEST CASE 66*/ {"virtual addressing, UseGlobalEndpoint and us-east-1 region and accelerate uses the global accelerate endpoint", // documentation {EpParam("UseGlobalEndpoint", true), EpParam("UseFIPS", false), EpParam("Bucket", "bucket-name"), EpParam("Region", "us-east-1"), EpParam("Accelerate", true), EpParam("UseDualStack", false)}, // params @@ -579,7 +588,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 66*/ + /*TEST CASE 67*/ {"virtual addressing, UseGlobalEndpoint and us-east-1 region with custom endpoint", // documentation {EpParam("UseGlobalEndpoint", true), EpParam("UseFIPS", false), EpParam("Endpoint", "https://example.com"), EpParam("Bucket", "bucket-name"), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -588,7 +597,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 67*/ + /*TEST CASE 68*/ {"ForcePathStyle, aws-global region uses the global endpoint", // documentation {EpParam("ForcePathStyle", true), EpParam("UseFIPS", false), EpParam("Bucket", "bucket-name"), EpParam("Region", "aws-global"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -597,7 +606,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 68*/ + /*TEST CASE 69*/ {"ForcePathStyle, aws-global region with fips is invalid", // documentation {EpParam("ForcePathStyle", true), EpParam("UseFIPS", true), EpParam("Bucket", "bucket-name"), EpParam("Region", "aws-global"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -606,7 +615,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 69*/ + /*TEST CASE 70*/ {"ForcePathStyle, aws-global region with dualstack uses regional dualstack endpoint", // documentation {EpParam("ForcePathStyle", true), EpParam("UseFIPS", false), EpParam("Bucket", "bucket-name"), EpParam("Region", "aws-global"), EpParam("Accelerate", false), EpParam("UseDualStack", true)}, // params @@ -615,7 +624,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 70*/ + /*TEST CASE 71*/ {"ForcePathStyle, aws-global region custom endpoint uses the custom endpoint", // documentation {EpParam("ForcePathStyle", true), EpParam("UseFIPS", false), EpParam("Endpoint", "https://example.com"), EpParam("Bucket", "bucket-name"), EpParam("Region", "aws-global"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -624,7 +633,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 71*/ + /*TEST CASE 72*/ {"ForcePathStyle, UseGlobalEndpoint us-east-1 region uses the global endpoint", // documentation {EpParam("UseGlobalEndpoint", true), EpParam("ForcePathStyle", true), EpParam("UseFIPS", false), EpParam("Bucket", "bucket-name"), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -633,7 +642,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 72*/ + /*TEST CASE 73*/ {"ForcePathStyle, UseGlobalEndpoint us-west-2 region uses the regional endpoint", // documentation {EpParam("UseGlobalEndpoint", true), EpParam("ForcePathStyle", true), EpParam("UseFIPS", false), EpParam("Bucket", "bucket-name"), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -642,7 +651,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-west-2"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 73*/ + /*TEST CASE 74*/ {"ForcePathStyle, UseGlobalEndpoint us-east-1 region, dualstack uses the regional dualstack endpoint", // documentation {EpParam("UseGlobalEndpoint", true), EpParam("ForcePathStyle", true), EpParam("UseFIPS", false), EpParam("Bucket", "bucket-name"), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", true)}, // params @@ -651,7 +660,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 74*/ + /*TEST CASE 75*/ {"ForcePathStyle, UseGlobalEndpoint us-east-1 region custom endpoint uses the custom endpoint", // documentation {EpParam("UseGlobalEndpoint", true), EpParam("ForcePathStyle", true), EpParam("UseFIPS", false), EpParam("Endpoint", "https://example.com"), EpParam("Bucket", "bucket-name"), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -660,7 +669,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 75*/ + /*TEST CASE 76*/ {"ARN with aws-global region and UseArnRegion uses the regional endpoint", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws:s3-outposts:us-east-1:123456789012:outpost/op-01234567890123456/accesspoint/reports"), EpParam("UseArnRegion", true), EpParam("Region", "aws-global"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -669,13 +678,13 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3-outposts")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 76*/ + /*TEST CASE 77*/ {"cross partition MRAP ARN is an error", // documentation {EpParam("Bucket", "arn:aws-cn:s3::123456789012:accesspoint:mfzwi23gnjvgw.mrap"), EpParam("Region", "us-west-1")}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Client was configured for partition `aws` but bucket referred to partition `aws-cn`"} // expect }, - /*TEST CASE 77*/ + /*TEST CASE 78*/ {"Endpoint override, accesspoint with HTTP, port", // documentation {EpParam("Endpoint", "http://beta.example.com:1234"), EpParam("Bucket", "arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint"), EpParam("Region", "us-west-2")}, // params {}, // tags @@ -683,7 +692,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-west-2"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 78*/ + /*TEST CASE 79*/ {"Endpoint override, accesspoint with http, path, query, and port", // documentation {EpParam("UseFIPS", false), EpParam("Endpoint", "http://beta.example.com:1234/path"), EpParam("Bucket", "arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint"), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -692,25 +701,25 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-west-2"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 79*/ + /*TEST CASE 80*/ {"non-bucket endpoint override with FIPS = error", // documentation {EpParam("UseFIPS", true), EpParam("Endpoint", "http://beta.example.com:1234/path"), EpParam("Region", "us-west-2"), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"A custom endpoint cannot be combined with FIPS"} // expect }, - /*TEST CASE 80*/ + /*TEST CASE 81*/ {"FIPS + dualstack + custom endpoint", // documentation {EpParam("UseFIPS", true), EpParam("Endpoint", "http://beta.example.com:1234/path"), EpParam("Region", "us-west-2"), EpParam("UseDualStack", true)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Cannot set dual-stack in combination with a custom endpoint."} // expect }, - /*TEST CASE 81*/ + /*TEST CASE 82*/ {"dualstack + custom endpoint", // documentation {EpParam("UseFIPS", false), EpParam("Endpoint", "http://beta.example.com:1234/path"), EpParam("Region", "us-west-2"), EpParam("UseDualStack", true)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Cannot set dual-stack in combination with a custom endpoint."} // expect }, - /*TEST CASE 82*/ + /*TEST CASE 83*/ {"custom endpoint without FIPS/dualstack", // documentation {EpParam("UseFIPS", false), EpParam("Endpoint", "http://beta.example.com:1234/path"), EpParam("Region", "us-west-2"), EpParam("UseDualStack", false)}, // params {}, // tags @@ -718,13 +727,13 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-west-2"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 83*/ + /*TEST CASE 84*/ {"s3 object lambda with access points disabled", // documentation {EpParam("Bucket", "arn:aws:s3-object-lambda:us-west-2:123456789012:accesspoint:myendpoint"), EpParam("Region", "us-west-2"), EpParam("DisableAccessPoints", true)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Access points are not supported for this operation"} // expect }, - /*TEST CASE 84*/ + /*TEST CASE 85*/ {"non bucket + FIPS", // documentation {EpParam("UseFIPS", true), EpParam("Region", "us-west-2"), EpParam("UseDualStack", false)}, // params {}, // tags @@ -732,7 +741,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-west-2"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 85*/ + /*TEST CASE 86*/ {"standard non bucket endpoint", // documentation {EpParam("UseFIPS", false), EpParam("Region", "us-west-2"), EpParam("UseDualStack", false)}, // params {}, // tags @@ -740,7 +749,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-west-2"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 86*/ + /*TEST CASE 87*/ {"non bucket endpoint with FIPS + Dualstack", // documentation {EpParam("UseFIPS", true), EpParam("Region", "us-west-2"), EpParam("UseDualStack", true)}, // params {}, // tags @@ -748,7 +757,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-west-2"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 87*/ + /*TEST CASE 88*/ {"non bucket endpoint with dualstack", // documentation {EpParam("UseFIPS", false), EpParam("Region", "us-west-2"), EpParam("UseDualStack", true)}, // params {}, // tags @@ -756,7 +765,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-west-2"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 88*/ + /*TEST CASE 89*/ {"use global endpoint + IP address endpoint override", // documentation {EpParam("UseGlobalEndpoint", true), EpParam("UseFIPS", false), EpParam("Endpoint", "http://127.0.0.1"), EpParam("Bucket", "bucket"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false)}, // params @@ -765,7 +774,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 89*/ + /*TEST CASE 90*/ {"non-dns endpoint + global endpoint", // documentation {EpParam("UseGlobalEndpoint", true), EpParam("UseFIPS", false), EpParam("Bucket", "bucket!"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false)}, // params {}, // tags @@ -773,7 +782,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 90*/ + /*TEST CASE 91*/ {"endpoint override + use global endpoint", // documentation {EpParam("UseGlobalEndpoint", true), EpParam("UseFIPS", false), EpParam("Endpoint", "http://foo.com"), EpParam("Bucket", "bucket!"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false)}, // params @@ -782,7 +791,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 91*/ + /*TEST CASE 92*/ {"FIPS + dualstack + non-bucket endpoint", // documentation {EpParam("UseFIPS", true), EpParam("Bucket", "bucket!"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", true)}, // params {}, // tags @@ -790,7 +799,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 92*/ + /*TEST CASE 93*/ {"FIPS + dualstack + non-DNS endpoint", // documentation {EpParam("ForcePathStyle", true), EpParam("UseFIPS", true), EpParam("Bucket", "bucket!"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", true)}, // params {}, // tags @@ -798,20 +807,20 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 93*/ + /*TEST CASE 94*/ {"endpoint override + FIPS + dualstack (BUG)", // documentation {EpParam("ForcePathStyle", true), EpParam("UseFIPS", true), EpParam("Endpoint", "http://foo.com"), EpParam("Bucket", "bucket!"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"A custom endpoint cannot be combined with FIPS"} // expect }, - /*TEST CASE 94*/ + /*TEST CASE 95*/ {"endpoint override + non-dns bucket + FIPS (BUG)", // documentation {EpParam("UseFIPS", true), EpParam("Endpoint", "http://foo.com"), EpParam("Bucket", "bucket!"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"A custom endpoint cannot be combined with FIPS"} // expect }, - /*TEST CASE 95*/ + /*TEST CASE 96*/ {"FIPS + bucket endpoint + force path style", // documentation {EpParam("UseGlobalEndpoint", true), EpParam("ForcePathStyle", true), EpParam("UseFIPS", true), EpParam("Bucket", "bucket!"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false)}, // params @@ -820,7 +829,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 96*/ + /*TEST CASE 97*/ {"bucket + FIPS + force path style", // documentation {EpParam("UseGlobalEndpoint", true), EpParam("ForcePathStyle", true), EpParam("UseFIPS", true), EpParam("Bucket", "bucket"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", true)}, // params @@ -829,7 +838,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 97*/ + /*TEST CASE 98*/ {"FIPS + dualstack + use global endpoint", // documentation {EpParam("UseGlobalEndpoint", true), EpParam("UseFIPS", true), EpParam("Bucket", "bucket"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", true)}, // params {}, // tags @@ -837,14 +846,14 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 98*/ + /*TEST CASE 99*/ {"URI encoded bucket + use global endpoint", // documentation {EpParam("UseGlobalEndpoint", true), EpParam("UseFIPS", true), EpParam("Endpoint", "https://foo.com"), EpParam("Bucket", "bucket!"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"A custom endpoint cannot be combined with FIPS"} // expect }, - /*TEST CASE 99*/ + /*TEST CASE 100*/ {"FIPS + path based endpoint", // documentation {EpParam("UseGlobalEndpoint", true), EpParam("UseFIPS", true), EpParam("Bucket", "bucket!"), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -853,7 +862,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 100*/ + /*TEST CASE 101*/ {"accelerate + dualstack + global endpoint", // documentation {EpParam("UseGlobalEndpoint", true), EpParam("UseFIPS", false), EpParam("Bucket", "bucket"), EpParam("Region", "us-east-1"), EpParam("Accelerate", true), EpParam("UseDualStack", true)}, // params @@ -862,7 +871,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 101*/ + /*TEST CASE 102*/ {"dualstack + global endpoint + non URI safe bucket", // documentation {EpParam("UseGlobalEndpoint", true), EpParam("UseFIPS", false), EpParam("Bucket", "bucket!"), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", true)}, // params @@ -871,7 +880,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 102*/ + /*TEST CASE 103*/ {"FIPS + uri encoded bucket", // documentation {EpParam("UseGlobalEndpoint", true), EpParam("ForcePathStyle", true), EpParam("UseFIPS", true), EpParam("Bucket", "bucket!"), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -880,14 +889,14 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 103*/ + /*TEST CASE 104*/ {"endpoint override + non-uri safe endpoint + force path style", // documentation {EpParam("UseGlobalEndpoint", true), EpParam("ForcePathStyle", true), EpParam("UseFIPS", true), EpParam("Endpoint", "http://foo.com"), EpParam("Bucket", "bucket!"), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"A custom endpoint cannot be combined with FIPS"} // expect }, - /*TEST CASE 104*/ + /*TEST CASE 105*/ {"FIPS + Dualstack + global endpoint + non-dns bucket", // documentation {EpParam("UseGlobalEndpoint", true), EpParam("UseFIPS", true), EpParam("Bucket", "bucket!"), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", true)}, // params @@ -896,31 +905,31 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 105*/ + /*TEST CASE 106*/ {"endpoint override + FIPS + dualstack", // documentation {EpParam("UseGlobalEndpoint", true), EpParam("UseFIPS", true), EpParam("Endpoint", "http://foo.com"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", true)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Cannot set dual-stack in combination with a custom endpoint."} // expect }, - /*TEST CASE 106*/ + /*TEST CASE 107*/ {"non-bucket endpoint override + dualstack + global endpoint", // documentation {EpParam("UseGlobalEndpoint", true), EpParam("UseFIPS", false), EpParam("Endpoint", "http://foo.com"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", true)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Cannot set dual-stack in combination with a custom endpoint."} // expect }, - /*TEST CASE 107*/ + /*TEST CASE 108*/ {"Endpoint override + UseGlobalEndpoint + us-east-1", // documentation {EpParam("UseGlobalEndpoint", true), EpParam("UseFIPS", true), EpParam("Endpoint", "http://foo.com"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"A custom endpoint cannot be combined with FIPS"} // expect }, - /*TEST CASE 108*/ + /*TEST CASE 109*/ {"non-FIPS partition with FIPS set + custom endpoint", // documentation {EpParam("UseGlobalEndpoint", true), EpParam("UseFIPS", true), EpParam("Region", "cn-north-1"), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Partition does not support FIPS"} // expect }, - /*TEST CASE 109*/ + /*TEST CASE 110*/ {"aws-global signs as us-east-1", // documentation {EpParam("UseFIPS", true), EpParam("Bucket", "bucket!"), EpParam("Region", "aws-global"), EpParam("Accelerate", false), EpParam("UseDualStack", true)}, // params {}, // tags @@ -928,7 +937,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 110*/ + /*TEST CASE 111*/ {"aws-global signs as us-east-1", // documentation {EpParam("UseFIPS", false), EpParam("Endpoint", "https://foo.com"), EpParam("Bucket", "bucket"), EpParam("Region", "aws-global"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -937,7 +946,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 111*/ + /*TEST CASE 112*/ {"aws-global + dualstack + path-only bucket", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "bucket!"), EpParam("Region", "aws-global"), EpParam("Accelerate", false), EpParam("UseDualStack", true)}, // params {}, // tags @@ -945,7 +954,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 112*/ + /*TEST CASE 113*/ {"aws-global + path-only bucket", // documentation {EpParam("Bucket", "bucket!"), EpParam("Region", "aws-global")}, // params {}, // tags @@ -953,14 +962,14 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 113*/ + /*TEST CASE 114*/ {"aws-global + fips + custom endpoint", // documentation {EpParam("UseFIPS", true), EpParam("Endpoint", "http://foo.com"), EpParam("Bucket", "bucket!"), EpParam("Region", "aws-global"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"A custom endpoint cannot be combined with FIPS"} // expect }, - /*TEST CASE 114*/ + /*TEST CASE 115*/ {"aws-global, endpoint override & path only-bucket", // documentation {EpParam("UseFIPS", false), EpParam("Endpoint", "http://foo.com"), EpParam("Bucket", "bucket!"), EpParam("Region", "aws-global"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -969,13 +978,13 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 115*/ + /*TEST CASE 116*/ {"aws-global + dualstack + custom endpoint", // documentation {EpParam("UseFIPS", false), EpParam("Endpoint", "http://foo.com"), EpParam("Region", "aws-global"), EpParam("Accelerate", false), EpParam("UseDualStack", true)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Cannot set dual-stack in combination with a custom endpoint."} // expect }, - /*TEST CASE 116*/ + /*TEST CASE 117*/ {"accelerate, dualstack + aws-global", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "bucket"), EpParam("Region", "aws-global"), EpParam("Accelerate", true), EpParam("UseDualStack", true)}, // params {}, // tags @@ -983,7 +992,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 117*/ + /*TEST CASE 118*/ {"FIPS + aws-global + path only bucket. This is not supported by S3 but we allow garbage in garbage out", // documentation {EpParam("ForcePathStyle", true), EpParam("UseFIPS", true), EpParam("Bucket", "bucket!"), EpParam("Region", "aws-global"), EpParam("Accelerate", false), EpParam("UseDualStack", true)}, // params @@ -992,19 +1001,19 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 118*/ + /*TEST CASE 119*/ {"aws-global + FIPS + endpoint override.", // documentation {EpParam("UseFIPS", true), EpParam("Endpoint", "http://foo.com"), EpParam("Region", "aws-global")}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"A custom endpoint cannot be combined with FIPS"} // expect }, - /*TEST CASE 119*/ + /*TEST CASE 120*/ {"force path style, FIPS, aws-global & endpoint override", // documentation {EpParam("ForcePathStyle", true), EpParam("UseFIPS", true), EpParam("Endpoint", "http://foo.com"), EpParam("Bucket", "bucket!"), EpParam("Region", "aws-global")}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"A custom endpoint cannot be combined with FIPS"} // expect }, - /*TEST CASE 120*/ + /*TEST CASE 121*/ {"ip address causes path style to be forced", // documentation {EpParam("Endpoint", "http://192.168.1.1"), EpParam("Bucket", "bucket"), EpParam("Region", "aws-global")}, // params {}, // tags @@ -1012,13 +1021,13 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 121*/ + /*TEST CASE 122*/ {"endpoint override with aws-global region", // documentation {EpParam("UseFIPS", true), EpParam("Endpoint", "http://foo.com"), EpParam("Region", "aws-global"), EpParam("UseDualStack", true)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Cannot set dual-stack in combination with a custom endpoint."} // expect }, - /*TEST CASE 122*/ + /*TEST CASE 123*/ {"FIPS + path-only (TODO: consider making this an error)", // documentation {EpParam("UseFIPS", true), EpParam("Bucket", "bucket!"), EpParam("Region", "aws-global")}, // params {}, // tags @@ -1026,91 +1035,91 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 123*/ + /*TEST CASE 124*/ {"empty arn type", // documentation {EpParam("Bucket", "arn:aws:not-s3:us-west-2:123456789012::myendpoint"), EpParam("Region", "us-east-2")}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Invalid ARN: No ARN type specified"} // expect }, - /*TEST CASE 124*/ + /*TEST CASE 125*/ {"path style can't be used with accelerate", // documentation {EpParam("Bucket", "bucket!"), EpParam("Region", "us-east-2"), EpParam("Accelerate", true)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Path-style addressing cannot be used with S3 Accelerate"} // expect }, - /*TEST CASE 125*/ + /*TEST CASE 126*/ {"invalid region", // documentation {EpParam("Endpoint", "http://foo.com"), EpParam("Bucket", "bucket.subdomain"), EpParam("Region", "us-east-2!")}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Invalid region: region was not a valid DNS name."} // expect }, - /*TEST CASE 126*/ + /*TEST CASE 127*/ {"invalid region", // documentation {EpParam("Endpoint", "http://foo.com"), EpParam("Bucket", "bucket"), EpParam("Region", "us-east-2!")}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Invalid region: region was not a valid DNS name."} // expect }, - /*TEST CASE 127*/ + /*TEST CASE 128*/ {"empty arn type", // documentation {EpParam("Bucket", "arn:aws:s3::123456789012:accesspoint:my_endpoint"), EpParam("Region", "us-east-2")}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Invalid Access Point Name"} // expect }, - /*TEST CASE 128*/ + /*TEST CASE 129*/ {"empty arn type", // documentation {EpParam("Bucket", "arn:aws:s3:cn-north-1:123456789012:accesspoint:my-endpoint"), EpParam("UseArnRegion", true), EpParam("Region", "us-east-2")}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Client was configured for partition `aws` but ARN (`arn:aws:s3:cn-north-1:123456789012:accesspoint:my-endpoint`) has `aws-cn`"} // expect }, - /*TEST CASE 129*/ + /*TEST CASE 130*/ {"invalid arn region", // documentation {EpParam("Bucket", "arn:aws:s3-object-lambda:us-east_2:123456789012:accesspoint:my-endpoint"), EpParam("UseArnRegion", true), EpParam("Region", "us-east-2")}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Invalid region in ARN: `us-east_2` (invalid DNS name)"} // expect }, - /*TEST CASE 130*/ + /*TEST CASE 131*/ {"invalid ARN outpost", // documentation {EpParam("Bucket", "arn:aws:s3-outposts:us-east-1:123456789012:outpost/op_01234567890123456/accesspoint/reports"), EpParam("UseArnRegion", true), EpParam("Region", "us-east-2")}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Invalid ARN: The outpost Id may only contain a-z, A-Z, 0-9 and `-`. Found: `op_01234567890123456`"} // expect }, - /*TEST CASE 131*/ + /*TEST CASE 132*/ {"invalid ARN", // documentation {EpParam("Bucket", "arn:aws:s3-outposts:us-east-1:123456789012:outpost/op-01234567890123456/reports"), EpParam("Region", "us-east-2")}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Invalid ARN: expected an access point name"} // expect }, - /*TEST CASE 132*/ + /*TEST CASE 133*/ {"invalid ARN", // documentation {EpParam("Bucket", "arn:aws:s3-outposts:us-east-1:123456789012:outpost/op-01234567890123456"), EpParam("Region", "us-east-2")}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Invalid ARN: Expected a 4-component resource"} // expect }, - /*TEST CASE 133*/ + /*TEST CASE 134*/ {"invalid outpost type", // documentation {EpParam("Bucket", "arn:aws:s3-outposts:us-east-1:123456789012:outpost/op-01234567890123456/not-accesspoint/reports"), EpParam("Region", "us-east-2")}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Expected an outpost type `accesspoint`, found not-accesspoint"} // expect }, - /*TEST CASE 134*/ + /*TEST CASE 135*/ {"invalid outpost type", // documentation {EpParam("Bucket", "arn:aws:s3-outposts:us-east_1:123456789012:outpost/op-01234567890123456/not-accesspoint/reports"), EpParam("Region", "us-east-2")}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Invalid region in ARN: `us-east_1` (invalid DNS name)"} // expect }, - /*TEST CASE 135*/ + /*TEST CASE 136*/ {"invalid outpost type", // documentation {EpParam("Bucket", "arn:aws:s3-outposts:us-east-1:12345_789012:outpost/op-01234567890123456/not-accesspoint/reports"), EpParam("Region", "us-east-2")}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Invalid ARN: The account id may only contain a-z, A-Z, 0-9 and `-`. Found: `12345_789012`"} // expect }, - /*TEST CASE 136*/ + /*TEST CASE 137*/ {"invalid outpost type", // documentation {EpParam("Bucket", "arn:aws:s3-outposts:us-east-1:12345789012:outpost"), EpParam("Region", "us-east-2")}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Invalid ARN: The Outpost Id was not set"} // expect }, - /*TEST CASE 137*/ + /*TEST CASE 138*/ {"use global endpoint virtual addressing", // documentation {EpParam("UseGlobalEndpoint", true), EpParam("Endpoint", "http://example.com"), EpParam("Bucket", "bucket"), EpParam("Region", "us-east-2")}, // params {}, // tags @@ -1118,7 +1127,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-2"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 138*/ + /*TEST CASE 139*/ {"global endpoint + ip address", // documentation {EpParam("UseGlobalEndpoint", true), EpParam("Endpoint", "http://192.168.0.1"), EpParam("Bucket", "bucket"), EpParam("Region", "us-east-2")}, // params {}, // tags @@ -1126,7 +1135,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-2"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 139*/ + /*TEST CASE 140*/ {"invalid outpost type", // documentation {EpParam("UseGlobalEndpoint", true), EpParam("Bucket", "bucket!"), EpParam("Region", "us-east-2")}, // params {}, // tags @@ -1134,7 +1143,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-2"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 140*/ + /*TEST CASE 141*/ {"invalid outpost type", // documentation {EpParam("UseGlobalEndpoint", true), EpParam("Bucket", "bucket"), EpParam("Region", "us-east-2"), EpParam("Accelerate", true)}, // params {}, // tags @@ -1142,7 +1151,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-2"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 141*/ + /*TEST CASE 142*/ {"use global endpoint + custom endpoint", // documentation {EpParam("UseGlobalEndpoint", true), EpParam("Endpoint", "http://foo.com"), EpParam("Bucket", "bucket!"), EpParam("Region", "us-east-2")}, // params {}, // tags @@ -1150,7 +1159,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-2"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 142*/ + /*TEST CASE 143*/ {"use global endpoint, not us-east-1, force path style", // documentation {EpParam("UseGlobalEndpoint", true), EpParam("ForcePathStyle", true), EpParam("Endpoint", "http://foo.com"), EpParam("Bucket", "bucket!"), EpParam("Region", "us-east-2")}, // params {}, // tags @@ -1158,7 +1167,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-2"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 143*/ + /*TEST CASE 144*/ {"vanilla virtual addressing@us-west-2", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", false), EpParam("Bucket", "bucket-name"), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -1167,7 +1176,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-west-2"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 144*/ + /*TEST CASE 145*/ {"virtual addressing + dualstack@us-west-2", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", false), EpParam("Bucket", "bucket-name"), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", true)}, // params @@ -1176,7 +1185,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-west-2"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 145*/ + /*TEST CASE 146*/ {"accelerate + dualstack@us-west-2", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", false), EpParam("Bucket", "bucket-name"), EpParam("Region", "us-west-2"), EpParam("Accelerate", true), EpParam("UseDualStack", true)}, // params @@ -1185,7 +1194,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-west-2"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 146*/ + /*TEST CASE 147*/ {"accelerate (dualstack=false)@us-west-2", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", false), EpParam("Bucket", "bucket-name"), EpParam("Region", "us-west-2"), EpParam("Accelerate", true), EpParam("UseDualStack", false)}, // params @@ -1194,7 +1203,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-west-2"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 147*/ + /*TEST CASE 148*/ {"virtual addressing + fips@us-west-2", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", true), EpParam("Bucket", "bucket-name"), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -1203,7 +1212,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-west-2"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 148*/ + /*TEST CASE 149*/ {"virtual addressing + dualstack + fips@us-west-2", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", true), EpParam("Bucket", "bucket-name"), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", true)}, // params @@ -1212,14 +1221,14 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-west-2"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 149*/ + /*TEST CASE 150*/ {"accelerate + fips = error@us-west-2", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", true), EpParam("Bucket", "bucket-name"), EpParam("Region", "us-west-2"), EpParam("Accelerate", true), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Accelerate cannot be used with FIPS"} // expect }, - /*TEST CASE 150*/ + /*TEST CASE 151*/ {"vanilla virtual addressing@cn-north-1", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", false), EpParam("Bucket", "bucket-name"), EpParam("Region", "cn-north-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -1228,7 +1237,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "cn-north-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 151*/ + /*TEST CASE 152*/ {"virtual addressing + dualstack@cn-north-1", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", false), EpParam("Bucket", "bucket-name"), EpParam("Region", "cn-north-1"), EpParam("Accelerate", false), EpParam("UseDualStack", true)}, // params @@ -1237,21 +1246,21 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "cn-north-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 152*/ + /*TEST CASE 153*/ {"accelerate (dualstack=false)@cn-north-1", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", false), EpParam("Bucket", "bucket-name"), EpParam("Region", "cn-north-1"), EpParam("Accelerate", true), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"S3 Accelerate cannot be used in this region"} // expect }, - /*TEST CASE 153*/ + /*TEST CASE 154*/ {"virtual addressing + fips@cn-north-1", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", true), EpParam("Bucket", "bucket-name"), EpParam("Region", "cn-north-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Partition does not support FIPS"} // expect }, - /*TEST CASE 154*/ + /*TEST CASE 155*/ {"vanilla virtual addressing@af-south-1", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", false), EpParam("Bucket", "bucket-name"), EpParam("Region", "af-south-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -1260,7 +1269,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "af-south-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 155*/ + /*TEST CASE 156*/ {"virtual addressing + dualstack@af-south-1", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", false), EpParam("Bucket", "bucket-name"), EpParam("Region", "af-south-1"), EpParam("Accelerate", false), EpParam("UseDualStack", true)}, // params @@ -1269,7 +1278,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "af-south-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 156*/ + /*TEST CASE 157*/ {"accelerate + dualstack@af-south-1", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", false), EpParam("Bucket", "bucket-name"), EpParam("Region", "af-south-1"), EpParam("Accelerate", true), EpParam("UseDualStack", true)}, // params @@ -1278,7 +1287,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "af-south-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 157*/ + /*TEST CASE 158*/ {"accelerate (dualstack=false)@af-south-1", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", false), EpParam("Bucket", "bucket-name"), EpParam("Region", "af-south-1"), EpParam("Accelerate", true), EpParam("UseDualStack", false)}, // params @@ -1287,7 +1296,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "af-south-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 158*/ + /*TEST CASE 159*/ {"virtual addressing + fips@af-south-1", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", true), EpParam("Bucket", "bucket-name"), EpParam("Region", "af-south-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -1296,7 +1305,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "af-south-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 159*/ + /*TEST CASE 160*/ {"virtual addressing + dualstack + fips@af-south-1", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", true), EpParam("Bucket", "bucket-name"), EpParam("Region", "af-south-1"), EpParam("Accelerate", false), EpParam("UseDualStack", true)}, // params @@ -1305,14 +1314,14 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "af-south-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 160*/ + /*TEST CASE 161*/ {"accelerate + fips = error@af-south-1", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", true), EpParam("Bucket", "bucket-name"), EpParam("Region", "af-south-1"), EpParam("Accelerate", true), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Accelerate cannot be used with FIPS"} // expect }, - /*TEST CASE 161*/ + /*TEST CASE 162*/ {"vanilla path style@us-west-2", // documentation {EpParam("ForcePathStyle", true), EpParam("UseFIPS", false), EpParam("Bucket", "bucket-name"), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -1321,7 +1330,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-west-2"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 162*/ + /*TEST CASE 163*/ {"fips@us-gov-west-2, bucket is not S3-dns-compatible (subdomains)", // documentation {EpParam("UseFIPS", true), EpParam("Bucket", "bucket.with.dots"), EpParam("Region", "us-gov-west-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags @@ -1329,14 +1338,14 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-gov-west-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 163*/ + /*TEST CASE 164*/ {"path style + accelerate = error@us-west-2", // documentation {EpParam("ForcePathStyle", true), EpParam("UseFIPS", false), EpParam("Bucket", "bucket-name"), EpParam("Region", "us-west-2"), EpParam("Accelerate", true), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Path-style addressing cannot be used with S3 Accelerate"} // expect }, - /*TEST CASE 164*/ + /*TEST CASE 165*/ {"path style + dualstack@us-west-2", // documentation {EpParam("ForcePathStyle", true), EpParam("UseFIPS", false), EpParam("Bucket", "bucket-name"), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", true)}, // params @@ -1345,14 +1354,14 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-west-2"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 165*/ + /*TEST CASE 166*/ {"path style + arn is error@us-west-2", // documentation {EpParam("ForcePathStyle", true), EpParam("UseFIPS", false), EpParam("Bucket", "arn:PARTITION:s3-outposts:REGION:123456789012:outpost:op-01234567890123456:bucket:mybucket"), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Path-style addressing cannot be used with ARN buckets"} // expect }, - /*TEST CASE 166*/ + /*TEST CASE 167*/ {"path style + invalid DNS name@us-west-2", // documentation {EpParam("ForcePathStyle", true), EpParam("UseFIPS", false), EpParam("Bucket", "99a_b"), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags @@ -1360,7 +1369,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-west-2"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 167*/ + /*TEST CASE 168*/ {"no path style + invalid DNS name@us-west-2", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "99a_b"), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags @@ -1368,7 +1377,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-west-2"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 168*/ + /*TEST CASE 169*/ {"vanilla path style@cn-north-1", // documentation {EpParam("ForcePathStyle", true), EpParam("UseFIPS", false), EpParam("Bucket", "bucket-name"), EpParam("Region", "cn-north-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -1377,21 +1386,21 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "cn-north-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 169*/ + /*TEST CASE 170*/ {"path style + fips@cn-north-1", // documentation {EpParam("ForcePathStyle", true), EpParam("UseFIPS", true), EpParam("Bucket", "bucket-name"), EpParam("Region", "cn-north-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Partition does not support FIPS"} // expect }, - /*TEST CASE 170*/ + /*TEST CASE 171*/ {"path style + accelerate = error@cn-north-1", // documentation {EpParam("ForcePathStyle", true), EpParam("UseFIPS", false), EpParam("Bucket", "bucket-name"), EpParam("Region", "cn-north-1"), EpParam("Accelerate", true), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Path-style addressing cannot be used with S3 Accelerate"} // expect }, - /*TEST CASE 171*/ + /*TEST CASE 172*/ {"path style + dualstack@cn-north-1", // documentation {EpParam("ForcePathStyle", true), EpParam("UseFIPS", false), EpParam("Bucket", "bucket-name"), EpParam("Region", "cn-north-1"), EpParam("Accelerate", false), EpParam("UseDualStack", true)}, // params @@ -1400,14 +1409,14 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "cn-north-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 172*/ + /*TEST CASE 173*/ {"path style + arn is error@cn-north-1", // documentation {EpParam("ForcePathStyle", true), EpParam("UseFIPS", false), EpParam("Bucket", "arn:PARTITION:s3-outposts:REGION:123456789012:outpost:op-01234567890123456:bucket:mybucket"), EpParam("Region", "cn-north-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Path-style addressing cannot be used with ARN buckets"} // expect }, - /*TEST CASE 173*/ + /*TEST CASE 174*/ {"path style + invalid DNS name@cn-north-1", // documentation {EpParam("ForcePathStyle", true), EpParam("UseFIPS", false), EpParam("Bucket", "99a_b"), EpParam("Region", "cn-north-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags @@ -1415,7 +1424,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "cn-north-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 174*/ + /*TEST CASE 175*/ {"no path style + invalid DNS name@cn-north-1", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "99a_b"), EpParam("Region", "cn-north-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags @@ -1423,7 +1432,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "cn-north-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 175*/ + /*TEST CASE 176*/ {"vanilla path style@af-south-1", // documentation {EpParam("ForcePathStyle", true), EpParam("UseFIPS", false), EpParam("Bucket", "bucket-name"), EpParam("Region", "af-south-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -1432,7 +1441,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "af-south-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 176*/ + /*TEST CASE 177*/ {"path style + fips@af-south-1", // documentation {EpParam("ForcePathStyle", true), EpParam("UseFIPS", true), EpParam("Bucket", "bucket-name"), EpParam("Region", "af-south-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -1441,14 +1450,14 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "af-south-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 177*/ + /*TEST CASE 178*/ {"path style + accelerate = error@af-south-1", // documentation {EpParam("ForcePathStyle", true), EpParam("UseFIPS", false), EpParam("Bucket", "bucket-name"), EpParam("Region", "af-south-1"), EpParam("Accelerate", true), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Path-style addressing cannot be used with S3 Accelerate"} // expect }, - /*TEST CASE 178*/ + /*TEST CASE 179*/ {"path style + dualstack@af-south-1", // documentation {EpParam("ForcePathStyle", true), EpParam("UseFIPS", false), EpParam("Bucket", "bucket-name"), EpParam("Region", "af-south-1"), EpParam("Accelerate", false), EpParam("UseDualStack", true)}, // params @@ -1457,14 +1466,14 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "af-south-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 179*/ + /*TEST CASE 180*/ {"path style + arn is error@af-south-1", // documentation {EpParam("ForcePathStyle", true), EpParam("UseFIPS", false), EpParam("Bucket", "arn:PARTITION:s3-outposts:REGION:123456789012:outpost:op-01234567890123456:bucket:mybucket"), EpParam("Region", "af-south-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Path-style addressing cannot be used with ARN buckets"} // expect }, - /*TEST CASE 180*/ + /*TEST CASE 181*/ {"path style + invalid DNS name@af-south-1", // documentation {EpParam("ForcePathStyle", true), EpParam("UseFIPS", false), EpParam("Bucket", "99a_b"), EpParam("Region", "af-south-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags @@ -1472,7 +1481,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "af-south-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 181*/ + /*TEST CASE 182*/ {"no path style + invalid DNS name@af-south-1", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "99a_b"), EpParam("Region", "af-south-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags @@ -1480,7 +1489,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "af-south-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 182*/ + /*TEST CASE 183*/ {"virtual addressing + private link@us-west-2", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", false), EpParam("Endpoint", "http://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com"), EpParam("Bucket", "bucket-name"), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -1489,7 +1498,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-west-2"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 183*/ + /*TEST CASE 184*/ {"path style + private link@us-west-2", // documentation {EpParam("ForcePathStyle", true), EpParam("UseFIPS", false), EpParam("Endpoint", "https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com"), EpParam("Bucket", "bucket-name"), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -1498,28 +1507,28 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-west-2"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 184*/ + /*TEST CASE 185*/ {"SDK::Host + FIPS@us-west-2", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", true), EpParam("Endpoint", "https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com"), EpParam("Bucket", "bucket-name"), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"A custom endpoint cannot be combined with FIPS"} // expect }, - /*TEST CASE 185*/ + /*TEST CASE 186*/ {"SDK::Host + DualStack@us-west-2", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", false), EpParam("Endpoint", "https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com"), EpParam("Bucket", "bucket-name"), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", true)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Cannot set dual-stack in combination with a custom endpoint."} // expect }, - /*TEST CASE 186*/ + /*TEST CASE 187*/ {"SDK::HOST + accelerate@us-west-2", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", false), EpParam("Endpoint", "http://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com"), EpParam("Bucket", "bucket-name"), EpParam("Region", "us-west-2"), EpParam("Accelerate", true), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"A custom endpoint cannot be combined with S3 Accelerate"} // expect }, - /*TEST CASE 187*/ + /*TEST CASE 188*/ {"SDK::Host + access point ARN@us-west-2", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", false), EpParam("Endpoint", "https://beta.example.com"), EpParam("Bucket", "arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint"), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -1528,7 +1537,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-west-2"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 188*/ + /*TEST CASE 189*/ {"virtual addressing + private link@cn-north-1", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", false), EpParam("Endpoint", "https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com"), EpParam("Bucket", "bucket-name"), EpParam("Region", "cn-north-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -1537,7 +1546,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "cn-north-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 189*/ + /*TEST CASE 190*/ {"path style + private link@cn-north-1", // documentation {EpParam("ForcePathStyle", true), EpParam("UseFIPS", false), EpParam("Endpoint", "https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com"), EpParam("Bucket", "bucket-name"), EpParam("Region", "cn-north-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -1546,28 +1555,28 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "cn-north-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 190*/ + /*TEST CASE 191*/ {"FIPS@cn-north-1", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", true), EpParam("Bucket", "bucket-name"), EpParam("Region", "cn-north-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Partition does not support FIPS"} // expect }, - /*TEST CASE 191*/ + /*TEST CASE 192*/ {"SDK::Host + DualStack@cn-north-1", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", false), EpParam("Endpoint", "https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com"), EpParam("Bucket", "bucket-name"), EpParam("Region", "cn-north-1"), EpParam("Accelerate", false), EpParam("UseDualStack", true)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Cannot set dual-stack in combination with a custom endpoint."} // expect }, - /*TEST CASE 192*/ + /*TEST CASE 193*/ {"SDK::HOST + accelerate@cn-north-1", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", false), EpParam("Endpoint", "https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com"), EpParam("Bucket", "bucket-name"), EpParam("Region", "cn-north-1"), EpParam("Accelerate", true), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"A custom endpoint cannot be combined with S3 Accelerate"} // expect }, - /*TEST CASE 193*/ + /*TEST CASE 194*/ {"SDK::Host + access point ARN@cn-north-1", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", false), EpParam("Endpoint", "https://beta.example.com"), EpParam("Bucket", "arn:aws-cn:s3:cn-north-1:123456789012:accesspoint:myendpoint"), EpParam("Region", "cn-north-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -1576,7 +1585,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "cn-north-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 194*/ + /*TEST CASE 195*/ {"virtual addressing + private link@af-south-1", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", false), EpParam("Endpoint", "https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com"), EpParam("Bucket", "bucket-name"), EpParam("Region", "af-south-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -1585,7 +1594,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "af-south-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 195*/ + /*TEST CASE 196*/ {"path style + private link@af-south-1", // documentation {EpParam("ForcePathStyle", true), EpParam("UseFIPS", false), EpParam("Endpoint", "https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com"), EpParam("Bucket", "bucket-name"), EpParam("Region", "af-south-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -1594,28 +1603,28 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "af-south-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 196*/ + /*TEST CASE 197*/ {"SDK::Host + FIPS@af-south-1", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", true), EpParam("Endpoint", "https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com"), EpParam("Bucket", "bucket-name"), EpParam("Region", "af-south-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"A custom endpoint cannot be combined with FIPS"} // expect }, - /*TEST CASE 197*/ + /*TEST CASE 198*/ {"SDK::Host + DualStack@af-south-1", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", false), EpParam("Endpoint", "https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com"), EpParam("Bucket", "bucket-name"), EpParam("Region", "af-south-1"), EpParam("Accelerate", false), EpParam("UseDualStack", true)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Cannot set dual-stack in combination with a custom endpoint."} // expect }, - /*TEST CASE 198*/ + /*TEST CASE 199*/ {"SDK::HOST + accelerate@af-south-1", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", false), EpParam("Endpoint", "https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com"), EpParam("Bucket", "bucket-name"), EpParam("Region", "af-south-1"), EpParam("Accelerate", true), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"A custom endpoint cannot be combined with S3 Accelerate"} // expect }, - /*TEST CASE 199*/ + /*TEST CASE 200*/ {"SDK::Host + access point ARN@af-south-1", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", false), EpParam("Endpoint", "https://beta.example.com"), EpParam("Bucket", "arn:aws:s3:af-south-1:123456789012:accesspoint:myendpoint"), EpParam("Region", "af-south-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -1624,7 +1633,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "af-south-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 200*/ + /*TEST CASE 201*/ {"vanilla access point arn@us-west-2", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint"), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -1633,7 +1642,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-west-2"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 201*/ + /*TEST CASE 202*/ {"access point arn + FIPS@us-west-2", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", true), EpParam("Bucket", "arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint"), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -1642,14 +1651,14 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-west-2"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 202*/ + /*TEST CASE 203*/ {"access point arn + accelerate = error@us-west-2", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint"), EpParam("Region", "us-west-2"), EpParam("Accelerate", true), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Access Points do not support S3 Accelerate"} // expect }, - /*TEST CASE 203*/ + /*TEST CASE 204*/ {"access point arn + FIPS + DualStack@us-west-2", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", true), EpParam("Bucket", "arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint"), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", true)}, // params @@ -1658,7 +1667,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-west-2"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 204*/ + /*TEST CASE 205*/ {"vanilla access point arn@cn-north-1", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws-cn:s3:cn-north-1:123456789012:accesspoint:myendpoint"), EpParam("Region", "cn-north-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -1667,28 +1676,28 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "cn-north-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 205*/ + /*TEST CASE 206*/ {"access point arn + FIPS@cn-north-1", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", true), EpParam("Bucket", "arn:aws-cn:s3:cn-north-1:123456789012:accesspoint:myendpoint"), EpParam("Region", "cn-north-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Partition does not support FIPS"} // expect }, - /*TEST CASE 206*/ + /*TEST CASE 207*/ {"access point arn + accelerate = error@cn-north-1", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws-cn:s3:cn-north-1:123456789012:accesspoint:myendpoint"), EpParam("Region", "cn-north-1"), EpParam("Accelerate", true), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Access Points do not support S3 Accelerate"} // expect }, - /*TEST CASE 207*/ + /*TEST CASE 208*/ {"access point arn + FIPS + DualStack@cn-north-1", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", true), EpParam("Bucket", "arn:aws-cn:s3:cn-north-1:123456789012:accesspoint:myendpoint"), EpParam("Region", "cn-north-1"), EpParam("Accelerate", false), EpParam("UseDualStack", true)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Partition does not support FIPS"} // expect }, - /*TEST CASE 208*/ + /*TEST CASE 209*/ {"vanilla access point arn@af-south-1", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws:s3:af-south-1:123456789012:accesspoint:myendpoint"), EpParam("Region", "af-south-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -1697,7 +1706,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "af-south-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 209*/ + /*TEST CASE 210*/ {"access point arn + FIPS@af-south-1", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", true), EpParam("Bucket", "arn:aws:s3:af-south-1:123456789012:accesspoint:myendpoint"), EpParam("Region", "af-south-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -1706,14 +1715,14 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "af-south-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 210*/ + /*TEST CASE 211*/ {"access point arn + accelerate = error@af-south-1", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws:s3:af-south-1:123456789012:accesspoint:myendpoint"), EpParam("Region", "af-south-1"), EpParam("Accelerate", true), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Access Points do not support S3 Accelerate"} // expect }, - /*TEST CASE 211*/ + /*TEST CASE 212*/ {"access point arn + FIPS + DualStack@af-south-1", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", true), EpParam("Bucket", "arn:aws:s3:af-south-1:123456789012:accesspoint:myendpoint"), EpParam("Region", "af-south-1"), EpParam("Accelerate", false), EpParam("UseDualStack", true)}, // params @@ -1722,7 +1731,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "af-south-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 212*/ + /*TEST CASE 213*/ {"S3 outposts vanilla test", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws:s3-outposts:us-west-2:123456789012:outpost/op-01234567890123456/accesspoint/reports"), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -1731,7 +1740,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-west-2"), EpProp("name", "sigv4"), EpProp("signingName", "s3-outposts")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 213*/ + /*TEST CASE 214*/ {"S3 outposts custom endpoint", // documentation {EpParam("UseFIPS", false), EpParam("Endpoint", "https://example.amazonaws.com"), EpParam("Bucket", "arn:aws:s3-outposts:us-west-2:123456789012:outpost/op-01234567890123456/accesspoint/reports"), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -1740,21 +1749,21 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-west-2"), EpProp("name", "sigv4"), EpProp("signingName", "s3-outposts")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 214*/ + /*TEST CASE 215*/ {"outposts arn with region mismatch and UseArnRegion=false", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws:s3-outposts:us-east-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint"), EpParam("UseArnRegion", false), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Invalid configuration: region from ARN `us-east-1` does not match client region `us-west-2` and UseArnRegion is `false`"} // expect }, - /*TEST CASE 215*/ + /*TEST CASE 216*/ {"outposts arn with region mismatch, custom region and UseArnRegion=false", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", false), EpParam("Endpoint", "https://example.com"), EpParam("Bucket", "arn:aws:s3-outposts:us-east-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint"), EpParam("UseArnRegion", false), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Invalid configuration: region from ARN `us-east-1` does not match client region `us-west-2` and UseArnRegion is `false`"} // expect }, - /*TEST CASE 216*/ + /*TEST CASE 217*/ {"outposts arn with region mismatch and UseArnRegion=true", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws:s3-outposts:us-east-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint"), EpParam("UseArnRegion", true), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -1763,7 +1772,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3-outposts")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 217*/ + /*TEST CASE 218*/ {"outposts arn with region mismatch and UseArnRegion unset", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws:s3-outposts:us-east-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint"), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -1772,14 +1781,14 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3-outposts")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 218*/ + /*TEST CASE 219*/ {"outposts arn with partition mismatch and UseArnRegion=true", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws:s3-outposts:cn-north-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint"), EpParam("UseArnRegion", true), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Client was configured for partition `aws` but ARN (`arn:aws:s3-outposts:cn-north-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint`) has `aws-cn`"} // expect }, - /*TEST CASE 219*/ + /*TEST CASE 220*/ {"ARN with UseGlobalEndpoint and use-east-1 region uses the regional endpoint", // documentation {EpParam("UseGlobalEndpoint", true), EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws:s3-outposts:us-east-1:123456789012:outpost/op-01234567890123456/accesspoint/reports"), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -1788,35 +1797,35 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3-outposts")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 220*/ + /*TEST CASE 221*/ {"S3 outposts does not support dualstack", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws:s3-outposts:us-west-2:123456789012:outpost/op-01234567890123456/accesspoint/reports"), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", true)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"S3 Outposts does not support Dual-stack"} // expect }, - /*TEST CASE 221*/ + /*TEST CASE 222*/ {"S3 outposts does not support fips", // documentation {EpParam("UseFIPS", true), EpParam("Bucket", "arn:aws:s3-outposts:us-west-2:123456789012:outpost/op-01234567890123456/accesspoint/reports"), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"S3 Outposts does not support FIPS"} // expect }, - /*TEST CASE 222*/ + /*TEST CASE 223*/ {"S3 outposts does not support accelerate", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws:s3-outposts:us-west-2:123456789012:outpost/op-01234567890123456/accesspoint/reports"), EpParam("Region", "us-east-1"), EpParam("Accelerate", true), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"S3 Outposts does not support S3 Accelerate"} // expect }, - /*TEST CASE 223*/ + /*TEST CASE 224*/ {"validates against subresource", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:accesspoint:mybucket:object:foo"), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Invalid Arn: Outpost Access Point ARN contains sub resources"} // expect }, - /*TEST CASE 224*/ + /*TEST CASE 225*/ {"object lambda @us-east-1", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws:s3-object-lambda:us-east-1:123456789012:accesspoint/mybanner"), EpParam("UseArnRegion", false), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -1825,7 +1834,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3-object-lambda")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 225*/ + /*TEST CASE 226*/ {"object lambda @us-west-2", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws:s3-object-lambda:us-west-2:123456789012:accesspoint/mybanner"), EpParam("UseArnRegion", false), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -1834,7 +1843,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-west-2"), EpProp("name", "sigv4"), EpProp("signingName", "s3-object-lambda")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 226*/ + /*TEST CASE 227*/ {"object lambda, colon resource deliminator @us-west-2", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws:s3-object-lambda:us-west-2:123456789012:accesspoint:mybanner"), EpParam("UseArnRegion", false), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -1843,7 +1852,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-west-2"), EpProp("name", "sigv4"), EpProp("signingName", "s3-object-lambda")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 227*/ + /*TEST CASE 228*/ {"object lambda @us-east-1, client region us-west-2, useArnRegion=true", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws:s3-object-lambda:us-east-1:123456789012:accesspoint/mybanner"), EpParam("UseArnRegion", true), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -1852,7 +1861,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3-object-lambda")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 228*/ + /*TEST CASE 229*/ {"object lambda @us-east-1, client region s3-external-1, useArnRegion=true", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws:s3-object-lambda:us-east-1:123456789012:accesspoint/mybanner"), EpParam("UseArnRegion", true), EpParam("Region", "s3-external-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -1861,14 +1870,14 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3-object-lambda")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 229*/ + /*TEST CASE 230*/ {"object lambda @us-east-1, client region s3-external-1, useArnRegion=false", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws:s3-object-lambda:us-east-1:123456789012:accesspoint/mybanner"), EpParam("UseArnRegion", false), EpParam("Region", "s3-external-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Invalid configuration: region from ARN `us-east-1` does not match client region `s3-external-1` and UseArnRegion is `false`"} // expect }, - /*TEST CASE 230*/ + /*TEST CASE 231*/ {"object lambda @us-east-1, client region aws-global, useArnRegion=true", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws:s3-object-lambda:us-east-1:123456789012:accesspoint/mybanner"), EpParam("UseArnRegion", true), EpParam("Region", "aws-global"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -1877,28 +1886,28 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3-object-lambda")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 231*/ + /*TEST CASE 232*/ {"object lambda @us-east-1, client region aws-global, useArnRegion=false", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws:s3-object-lambda:us-east-1:123456789012:accesspoint/mybanner"), EpParam("UseArnRegion", false), EpParam("Region", "aws-global"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Invalid configuration: region from ARN `us-east-1` does not match client region `aws-global` and UseArnRegion is `false`"} // expect }, - /*TEST CASE 232*/ + /*TEST CASE 233*/ {"object lambda @cn-north-1, client region us-west-2 (cross partition), useArnRegion=true", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws-cn:s3-object-lambda:cn-north-1:123456789012:accesspoint/mybanner"), EpParam("UseArnRegion", true), EpParam("Region", "aws-global"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Client was configured for partition `aws` but ARN (`arn:aws-cn:s3-object-lambda:cn-north-1:123456789012:accesspoint/mybanner`) has `aws-cn`"} // expect }, - /*TEST CASE 233*/ + /*TEST CASE 234*/ {"object lambda with dualstack", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws:s3-object-lambda:us-west-2:123456789012:accesspoint/mybanner"), EpParam("UseArnRegion", false), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", true)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"S3 Object Lambda does not support Dual-stack"} // expect }, - /*TEST CASE 234*/ + /*TEST CASE 235*/ {"object lambda @us-gov-east-1", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws-us-gov:s3-object-lambda:us-gov-east-1:123456789012:accesspoint/mybanner"), EpParam("UseArnRegion", false), EpParam("Region", "us-gov-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -1907,7 +1916,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-gov-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3-object-lambda")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 235*/ + /*TEST CASE 236*/ {"object lambda @us-gov-east-1, with fips", // documentation {EpParam("UseFIPS", true), EpParam("Bucket", "arn:aws-us-gov:s3-object-lambda:us-gov-east-1:123456789012:accesspoint/mybanner"), EpParam("UseArnRegion", false), EpParam("Region", "us-gov-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -1916,84 +1925,84 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-gov-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3-object-lambda")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 236*/ + /*TEST CASE 237*/ {"object lambda @cn-north-1, with fips", // documentation {EpParam("UseFIPS", true), EpParam("Bucket", "arn:aws-cn:s3-object-lambda:cn-north-1:123456789012:accesspoint/mybanner"), EpParam("UseArnRegion", false), EpParam("Region", "cn-north-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Partition does not support FIPS"} // expect }, - /*TEST CASE 237*/ + /*TEST CASE 238*/ {"object lambda with accelerate", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws:s3-object-lambda:us-west-2:123456789012:accesspoint/mybanner"), EpParam("UseArnRegion", false), EpParam("Region", "us-west-2"), EpParam("Accelerate", true), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"S3 Object Lambda does not support S3 Accelerate"} // expect }, - /*TEST CASE 238*/ + /*TEST CASE 239*/ {"object lambda with invalid arn - bad service and someresource", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws:sqs:us-west-2:123456789012:someresource"), EpParam("UseArnRegion", false), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Invalid ARN: Unrecognized format: arn:aws:sqs:us-west-2:123456789012:someresource (type: someresource)"} // expect }, - /*TEST CASE 239*/ + /*TEST CASE 240*/ {"object lambda with invalid arn - invalid resource", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws:s3-object-lambda:us-west-2:123456789012:bucket_name:mybucket"), EpParam("UseArnRegion", false), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Invalid ARN: Object Lambda ARNs only support `accesspoint` arn types, but found: `bucket_name`"} // expect }, - /*TEST CASE 240*/ + /*TEST CASE 241*/ {"object lambda with invalid arn - missing region", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws:s3-object-lambda::123456789012:accesspoint/mybanner"), EpParam("UseArnRegion", false), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Invalid ARN: bucket ARN is missing a region"} // expect }, - /*TEST CASE 241*/ + /*TEST CASE 242*/ {"object lambda with invalid arn - missing account-id", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws:s3-object-lambda:us-west-2::accesspoint/mybanner"), EpParam("UseArnRegion", true), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Invalid ARN: Missing account id"} // expect }, - /*TEST CASE 242*/ + /*TEST CASE 243*/ {"object lambda with invalid arn - account id contains invalid characters", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws:s3-object-lambda:us-west-2:123.45678.9012:accesspoint:mybucket"), EpParam("UseArnRegion", true), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Invalid ARN: The account id may only contain a-z, A-Z, 0-9 and `-`. Found: `123.45678.9012`"} // expect }, - /*TEST CASE 243*/ + /*TEST CASE 244*/ {"object lambda with invalid arn - missing access point name", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws:s3-object-lambda:us-west-2:123456789012:accesspoint"), EpParam("UseArnRegion", true), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Invalid ARN: Expected a resource of the format `accesspoint:` but no name was provided"} // expect }, - /*TEST CASE 244*/ + /*TEST CASE 245*/ {"object lambda with invalid arn - access point name contains invalid character: *", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws:s3-object-lambda:us-west-2:123456789012:accesspoint:*"), EpParam("UseArnRegion", true), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Invalid ARN: The access point name may only contain a-z, A-Z, 0-9 and `-`. Found: `*`"} // expect }, - /*TEST CASE 245*/ + /*TEST CASE 246*/ {"object lambda with invalid arn - access point name contains invalid character: .", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws:s3-object-lambda:us-west-2:123456789012:accesspoint:my.bucket"), EpParam("UseArnRegion", true), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Invalid ARN: The access point name may only contain a-z, A-Z, 0-9 and `-`. Found: `my.bucket`"} // expect }, - /*TEST CASE 246*/ + /*TEST CASE 247*/ {"object lambda with invalid arn - access point name contains sub resources", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws:s3-object-lambda:us-west-2:123456789012:accesspoint:mybucket:object:foo"), EpParam("UseArnRegion", true), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Invalid ARN: The ARN may only contain a single resource component after `accesspoint`."} // expect }, - /*TEST CASE 247*/ + /*TEST CASE 248*/ {"object lambda with custom endpoint", // documentation {EpParam("UseFIPS", false), EpParam("Endpoint", "https://my-endpoint.com"), EpParam("Bucket", "arn:aws:s3-object-lambda:us-west-2:123456789012:accesspoint/mybanner"), EpParam("UseArnRegion", false), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -2002,14 +2011,14 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-west-2"), EpProp("name", "sigv4"), EpProp("signingName", "s3-object-lambda")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 248*/ + /*TEST CASE 249*/ {"object lambda arn with region mismatch and UseArnRegion=false", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws:s3-object-lambda:us-east-1:123456789012:accesspoint/mybanner"), EpParam("UseArnRegion", false), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Invalid configuration: region from ARN `us-east-1` does not match client region `us-west-2` and UseArnRegion is `false`"} // expect }, - /*TEST CASE 249*/ + /*TEST CASE 250*/ {"WriteGetObjectResponse @ us-west-2", // documentation {EpParam("UseFIPS", false), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false), EpParam("UseObjectLambdaEndpoint", true)}, // params {}, // tags @@ -2017,7 +2026,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-west-2"), EpProp("name", "sigv4"), EpProp("signingName", "s3-object-lambda")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 250*/ + /*TEST CASE 251*/ {"WriteGetObjectResponse with custom endpoint", // documentation {EpParam("UseFIPS", false), EpParam("Endpoint", "https://my-endpoint.com"), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false), EpParam("UseObjectLambdaEndpoint", true)}, // params @@ -2026,7 +2035,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-west-2"), EpProp("name", "sigv4"), EpProp("signingName", "s3-object-lambda")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 251*/ + /*TEST CASE 252*/ {"WriteGetObjectResponse @ us-east-1", // documentation {EpParam("UseFIPS", false), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false), EpParam("UseObjectLambdaEndpoint", true)}, // params {}, // tags @@ -2034,7 +2043,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3-object-lambda")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 252*/ + /*TEST CASE 253*/ {"WriteGetObjectResponse with fips", // documentation {EpParam("UseFIPS", true), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false), EpParam("UseObjectLambdaEndpoint", true)}, // params {}, // tags @@ -2042,31 +2051,31 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3-object-lambda")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 253*/ + /*TEST CASE 254*/ {"WriteGetObjectResponse with dualstack", // documentation {EpParam("UseFIPS", false), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", true), EpParam("UseObjectLambdaEndpoint", true)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"S3 Object Lambda does not support Dual-stack"} // expect }, - /*TEST CASE 254*/ + /*TEST CASE 255*/ {"WriteGetObjectResponse with accelerate", // documentation {EpParam("UseFIPS", false), EpParam("Region", "us-east-1"), EpParam("Accelerate", true), EpParam("UseDualStack", false), EpParam("UseObjectLambdaEndpoint", true)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"S3 Object Lambda does not support S3 Accelerate"} // expect }, - /*TEST CASE 255*/ + /*TEST CASE 256*/ {"WriteGetObjectResponse with fips in CN", // documentation {EpParam("UseFIPS", true), EpParam("Region", "cn-north-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false), EpParam("UseObjectLambdaEndpoint", true)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Partition does not support FIPS"} // expect }, - /*TEST CASE 256*/ + /*TEST CASE 257*/ {"WriteGetObjectResponse with invalid partition", // documentation {EpParam("UseFIPS", false), EpParam("Region", "not a valid DNS name"), EpParam("Accelerate", false), EpParam("UseDualStack", false), EpParam("UseObjectLambdaEndpoint", true)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Invalid region: region was not a valid DNS name."} // expect }, - /*TEST CASE 257*/ + /*TEST CASE 258*/ {"WriteGetObjectResponse with an unknown partition", // documentation {EpParam("UseFIPS", false), EpParam("Region", "us-east.special"), EpParam("Accelerate", false), EpParam("UseDualStack", false), EpParam("UseObjectLambdaEndpoint", true)}, // params {}, // tags @@ -2074,7 +2083,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east.special"), EpProp("name", "sigv4"), EpProp("signingName", "s3-object-lambda")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 258*/ + /*TEST CASE 259*/ {"S3 Outposts bucketAlias Real Outpost Prod us-west-1", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "test-accessp-o0b1d075431d83bebde8xz5w8ijx1qzlbp3i3kuse10--op-s3"), EpParam("Region", "us-west-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -2083,7 +2092,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-west-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3-outposts")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 259*/ + /*TEST CASE 260*/ {"S3 Outposts bucketAlias Real Outpost Prod ap-east-1", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "test-accessp-o0b1d075431d83bebde8xz5w8ijx1qzlbp3i3kuse10--op-s3"), EpParam("Region", "ap-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -2092,7 +2101,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "ap-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3-outposts")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 260*/ + /*TEST CASE 261*/ {"S3 Outposts bucketAlias Ec2 Outpost Prod us-east-1", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "test-accessp-e0000075431d83bebde8xz5w8ijx1qzlbp3i3kuse10--op-s3"), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -2101,7 +2110,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3-outposts")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 261*/ + /*TEST CASE 262*/ {"S3 Outposts bucketAlias Ec2 Outpost Prod me-south-1", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "test-accessp-e0000075431d83bebde8xz5w8ijx1qzlbp3i3kuse10--op-s3"), EpParam("Region", "me-south-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -2110,7 +2119,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "me-south-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3-outposts")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 262*/ + /*TEST CASE 263*/ {"S3 Outposts bucketAlias Real Outpost Beta", // documentation {EpParam("UseFIPS", false), EpParam("Endpoint", "https://example.amazonaws.com"), EpParam("Bucket", "test-accessp-o0b1d075431d83bebde8xz5w8ijx1qzlbp3i3kbeta0--op-s3"), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -2119,7 +2128,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3-outposts")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 263*/ + /*TEST CASE 264*/ {"S3 Outposts bucketAlias Ec2 Outpost Beta", // documentation {EpParam("UseFIPS", false), EpParam("Endpoint", "https://example.amazonaws.com"), EpParam("Bucket", "161743052723-e00000136899934034jeahy1t8gpzpbwjj8kb7beta0--op-s3"), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -2128,35 +2137,35 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3-outposts")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 264*/ + /*TEST CASE 265*/ {"S3 Outposts bucketAlias - No endpoint set for beta", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "test-accessp-o0b1d075431d83bebde8xz5w8ijx1qzlbp3i3kbeta0--op-s3"), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Expected a endpoint to be specified but no endpoint was found"} // expect }, - /*TEST CASE 265*/ + /*TEST CASE 266*/ {"S3 Outposts bucketAlias Invalid hardware type", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "test-accessp-h0000075431d83bebde8xz5w8ijx1qzlbp3i3kuse10--op-s3"), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/R"(Unrecognized hardware type: "Expected hardware type o or e but got h")"} // expect }, - /*TEST CASE 266*/ + /*TEST CASE 267*/ {"S3 Outposts bucketAlias Special character in Outpost Arn", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "test-accessp-o00000754%1d83bebde8xz5w8ijx1qzlbp3i3kuse10--op-s3"), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Invalid ARN: The outpost Id must only contain a-z, A-Z, 0-9 and `-`."} // expect }, - /*TEST CASE 267*/ + /*TEST CASE 268*/ {"S3 Outposts bucketAlias - No endpoint set for beta", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "test-accessp-e0b1d075431d83bebde8xz5w8ijx1qzlbp3i3ebeta0--op-s3"), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Expected a endpoint to be specified but no endpoint was found"} // expect }, - /*TEST CASE 268*/ + /*TEST CASE 269*/ {"S3 Snow with bucket", // documentation {EpParam("UseFIPS", false), EpParam("Endpoint", "http://10.0.1.12:433"), EpParam("Bucket", "bucketName"), EpParam("Region", "snow"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -2165,7 +2174,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "snow"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 269*/ + /*TEST CASE 270*/ {"S3 Snow without bucket", // documentation {EpParam("UseFIPS", false), EpParam("Endpoint", "https://10.0.1.12:433"), EpParam("Region", "snow"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags @@ -2173,7 +2182,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "snow"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 270*/ + /*TEST CASE 271*/ {"S3 Snow no port", // documentation {EpParam("UseFIPS", false), EpParam("Endpoint", "http://10.0.1.12"), EpParam("Bucket", "bucketName"), EpParam("Region", "snow"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -2182,7 +2191,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "snow"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 271*/ + /*TEST CASE 272*/ {"S3 Snow dns endpoint", // documentation {EpParam("UseFIPS", false), EpParam("Endpoint", "https://amazonaws.com"), EpParam("Bucket", "bucketName"), EpParam("Region", "snow"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params diff --git a/generated/tests/s3-gen-tests/S3EndpointProviderTests.cpp b/generated/tests/s3-gen-tests/S3EndpointProviderTests.cpp index 7cee0ecfe6f..397f5f3b21f 100644 --- a/generated/tests/s3-gen-tests/S3EndpointProviderTests.cpp +++ b/generated/tests/s3-gen-tests/S3EndpointProviderTests.cpp @@ -494,6 +494,15 @@ static const Aws::Vector TEST_CASES = { {/*headers*/}}, {/*No error*/}} // expect }, /*TEST CASE 56*/ + {"virtual addressing, aws-global region with Prefix, and Key uses the global endpoint. Prefix and Key parameters should not be used in endpoint evaluation.", // documentation + {EpParam("UseFIPS", false), EpParam("Bucket", "bucket-name"), EpParam("Region", "aws-global"), EpParam("Accelerate", false), EpParam("Prefix", "prefix"), + EpParam("UseDualStack", false), EpParam("Key", "key")}, // params + {}, // tags + {{/*epUrl*/"https://bucket-name.s3.amazonaws.com", + {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 57*/ {"virtual addressing, aws-global region with fips uses the regional fips endpoint", // documentation {EpParam("UseFIPS", true), EpParam("Bucket", "bucket-name"), EpParam("Region", "aws-global"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags @@ -501,7 +510,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 57*/ + /*TEST CASE 58*/ {"virtual addressing, aws-global region with dualstack uses the regional dualstack endpoint", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "bucket-name"), EpParam("Region", "aws-global"), EpParam("Accelerate", false), EpParam("UseDualStack", true)}, // params {}, // tags @@ -509,7 +518,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 58*/ + /*TEST CASE 59*/ {"virtual addressing, aws-global region with fips/dualstack uses the regional fips/dualstack endpoint", // documentation {EpParam("UseFIPS", true), EpParam("Bucket", "bucket-name"), EpParam("Region", "aws-global"), EpParam("Accelerate", false), EpParam("UseDualStack", true)}, // params {}, // tags @@ -517,7 +526,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 59*/ + /*TEST CASE 60*/ {"virtual addressing, aws-global region with accelerate uses the global accelerate endpoint", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "bucket-name"), EpParam("Region", "aws-global"), EpParam("Accelerate", true), EpParam("UseDualStack", false)}, // params {}, // tags @@ -525,7 +534,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 60*/ + /*TEST CASE 61*/ {"virtual addressing, aws-global region with custom endpoint", // documentation {EpParam("UseFIPS", false), EpParam("Endpoint", "https://example.com"), EpParam("Bucket", "bucket-name"), EpParam("Region", "aws-global"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -534,7 +543,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 61*/ + /*TEST CASE 62*/ {"virtual addressing, UseGlobalEndpoint and us-east-1 region uses the global endpoint", // documentation {EpParam("UseGlobalEndpoint", true), EpParam("UseFIPS", false), EpParam("Bucket", "bucket-name"), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -543,7 +552,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 62*/ + /*TEST CASE 63*/ {"virtual addressing, UseGlobalEndpoint and us-west-2 region uses the regional endpoint", // documentation {EpParam("UseGlobalEndpoint", true), EpParam("UseFIPS", false), EpParam("Bucket", "bucket-name"), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -552,7 +561,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-west-2"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 63*/ + /*TEST CASE 64*/ {"virtual addressing, UseGlobalEndpoint and us-east-1 region and fips uses the regional fips endpoint", // documentation {EpParam("UseGlobalEndpoint", true), EpParam("UseFIPS", true), EpParam("Bucket", "bucket-name"), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -561,7 +570,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 64*/ + /*TEST CASE 65*/ {"virtual addressing, UseGlobalEndpoint and us-east-1 region and dualstack uses the regional dualstack endpoint", // documentation {EpParam("UseGlobalEndpoint", true), EpParam("UseFIPS", false), EpParam("Bucket", "bucket-name"), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", true)}, // params @@ -570,7 +579,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 65*/ + /*TEST CASE 66*/ {"virtual addressing, UseGlobalEndpoint and us-east-1 region and accelerate uses the global accelerate endpoint", // documentation {EpParam("UseGlobalEndpoint", true), EpParam("UseFIPS", false), EpParam("Bucket", "bucket-name"), EpParam("Region", "us-east-1"), EpParam("Accelerate", true), EpParam("UseDualStack", false)}, // params @@ -579,7 +588,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 66*/ + /*TEST CASE 67*/ {"virtual addressing, UseGlobalEndpoint and us-east-1 region with custom endpoint", // documentation {EpParam("UseGlobalEndpoint", true), EpParam("UseFIPS", false), EpParam("Endpoint", "https://example.com"), EpParam("Bucket", "bucket-name"), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -588,7 +597,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 67*/ + /*TEST CASE 68*/ {"ForcePathStyle, aws-global region uses the global endpoint", // documentation {EpParam("ForcePathStyle", true), EpParam("UseFIPS", false), EpParam("Bucket", "bucket-name"), EpParam("Region", "aws-global"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -597,7 +606,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 68*/ + /*TEST CASE 69*/ {"ForcePathStyle, aws-global region with fips is invalid", // documentation {EpParam("ForcePathStyle", true), EpParam("UseFIPS", true), EpParam("Bucket", "bucket-name"), EpParam("Region", "aws-global"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -606,7 +615,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 69*/ + /*TEST CASE 70*/ {"ForcePathStyle, aws-global region with dualstack uses regional dualstack endpoint", // documentation {EpParam("ForcePathStyle", true), EpParam("UseFIPS", false), EpParam("Bucket", "bucket-name"), EpParam("Region", "aws-global"), EpParam("Accelerate", false), EpParam("UseDualStack", true)}, // params @@ -615,7 +624,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 70*/ + /*TEST CASE 71*/ {"ForcePathStyle, aws-global region custom endpoint uses the custom endpoint", // documentation {EpParam("ForcePathStyle", true), EpParam("UseFIPS", false), EpParam("Endpoint", "https://example.com"), EpParam("Bucket", "bucket-name"), EpParam("Region", "aws-global"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -624,7 +633,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 71*/ + /*TEST CASE 72*/ {"ForcePathStyle, UseGlobalEndpoint us-east-1 region uses the global endpoint", // documentation {EpParam("UseGlobalEndpoint", true), EpParam("ForcePathStyle", true), EpParam("UseFIPS", false), EpParam("Bucket", "bucket-name"), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -633,7 +642,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 72*/ + /*TEST CASE 73*/ {"ForcePathStyle, UseGlobalEndpoint us-west-2 region uses the regional endpoint", // documentation {EpParam("UseGlobalEndpoint", true), EpParam("ForcePathStyle", true), EpParam("UseFIPS", false), EpParam("Bucket", "bucket-name"), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -642,7 +651,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-west-2"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 73*/ + /*TEST CASE 74*/ {"ForcePathStyle, UseGlobalEndpoint us-east-1 region, dualstack uses the regional dualstack endpoint", // documentation {EpParam("UseGlobalEndpoint", true), EpParam("ForcePathStyle", true), EpParam("UseFIPS", false), EpParam("Bucket", "bucket-name"), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", true)}, // params @@ -651,7 +660,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 74*/ + /*TEST CASE 75*/ {"ForcePathStyle, UseGlobalEndpoint us-east-1 region custom endpoint uses the custom endpoint", // documentation {EpParam("UseGlobalEndpoint", true), EpParam("ForcePathStyle", true), EpParam("UseFIPS", false), EpParam("Endpoint", "https://example.com"), EpParam("Bucket", "bucket-name"), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -660,7 +669,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 75*/ + /*TEST CASE 76*/ {"ARN with aws-global region and UseArnRegion uses the regional endpoint", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws:s3-outposts:us-east-1:123456789012:outpost/op-01234567890123456/accesspoint/reports"), EpParam("UseArnRegion", true), EpParam("Region", "aws-global"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -669,13 +678,13 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3-outposts")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 76*/ + /*TEST CASE 77*/ {"cross partition MRAP ARN is an error", // documentation {EpParam("Bucket", "arn:aws-cn:s3::123456789012:accesspoint:mfzwi23gnjvgw.mrap"), EpParam("Region", "us-west-1")}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Client was configured for partition `aws` but bucket referred to partition `aws-cn`"} // expect }, - /*TEST CASE 77*/ + /*TEST CASE 78*/ {"Endpoint override, accesspoint with HTTP, port", // documentation {EpParam("Endpoint", "http://beta.example.com:1234"), EpParam("Bucket", "arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint"), EpParam("Region", "us-west-2")}, // params {}, // tags @@ -683,7 +692,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-west-2"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 78*/ + /*TEST CASE 79*/ {"Endpoint override, accesspoint with http, path, query, and port", // documentation {EpParam("UseFIPS", false), EpParam("Endpoint", "http://beta.example.com:1234/path"), EpParam("Bucket", "arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint"), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -692,25 +701,25 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-west-2"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 79*/ + /*TEST CASE 80*/ {"non-bucket endpoint override with FIPS = error", // documentation {EpParam("UseFIPS", true), EpParam("Endpoint", "http://beta.example.com:1234/path"), EpParam("Region", "us-west-2"), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"A custom endpoint cannot be combined with FIPS"} // expect }, - /*TEST CASE 80*/ + /*TEST CASE 81*/ {"FIPS + dualstack + custom endpoint", // documentation {EpParam("UseFIPS", true), EpParam("Endpoint", "http://beta.example.com:1234/path"), EpParam("Region", "us-west-2"), EpParam("UseDualStack", true)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Cannot set dual-stack in combination with a custom endpoint."} // expect }, - /*TEST CASE 81*/ + /*TEST CASE 82*/ {"dualstack + custom endpoint", // documentation {EpParam("UseFIPS", false), EpParam("Endpoint", "http://beta.example.com:1234/path"), EpParam("Region", "us-west-2"), EpParam("UseDualStack", true)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Cannot set dual-stack in combination with a custom endpoint."} // expect }, - /*TEST CASE 82*/ + /*TEST CASE 83*/ {"custom endpoint without FIPS/dualstack", // documentation {EpParam("UseFIPS", false), EpParam("Endpoint", "http://beta.example.com:1234/path"), EpParam("Region", "us-west-2"), EpParam("UseDualStack", false)}, // params {}, // tags @@ -718,13 +727,13 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-west-2"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 83*/ + /*TEST CASE 84*/ {"s3 object lambda with access points disabled", // documentation {EpParam("Bucket", "arn:aws:s3-object-lambda:us-west-2:123456789012:accesspoint:myendpoint"), EpParam("Region", "us-west-2"), EpParam("DisableAccessPoints", true)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Access points are not supported for this operation"} // expect }, - /*TEST CASE 84*/ + /*TEST CASE 85*/ {"non bucket + FIPS", // documentation {EpParam("UseFIPS", true), EpParam("Region", "us-west-2"), EpParam("UseDualStack", false)}, // params {}, // tags @@ -732,7 +741,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-west-2"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 85*/ + /*TEST CASE 86*/ {"standard non bucket endpoint", // documentation {EpParam("UseFIPS", false), EpParam("Region", "us-west-2"), EpParam("UseDualStack", false)}, // params {}, // tags @@ -740,7 +749,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-west-2"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 86*/ + /*TEST CASE 87*/ {"non bucket endpoint with FIPS + Dualstack", // documentation {EpParam("UseFIPS", true), EpParam("Region", "us-west-2"), EpParam("UseDualStack", true)}, // params {}, // tags @@ -748,7 +757,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-west-2"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 87*/ + /*TEST CASE 88*/ {"non bucket endpoint with dualstack", // documentation {EpParam("UseFIPS", false), EpParam("Region", "us-west-2"), EpParam("UseDualStack", true)}, // params {}, // tags @@ -756,7 +765,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-west-2"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 88*/ + /*TEST CASE 89*/ {"use global endpoint + IP address endpoint override", // documentation {EpParam("UseGlobalEndpoint", true), EpParam("UseFIPS", false), EpParam("Endpoint", "http://127.0.0.1"), EpParam("Bucket", "bucket"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false)}, // params @@ -765,7 +774,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 89*/ + /*TEST CASE 90*/ {"non-dns endpoint + global endpoint", // documentation {EpParam("UseGlobalEndpoint", true), EpParam("UseFIPS", false), EpParam("Bucket", "bucket!"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false)}, // params {}, // tags @@ -773,7 +782,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 90*/ + /*TEST CASE 91*/ {"endpoint override + use global endpoint", // documentation {EpParam("UseGlobalEndpoint", true), EpParam("UseFIPS", false), EpParam("Endpoint", "http://foo.com"), EpParam("Bucket", "bucket!"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false)}, // params @@ -782,7 +791,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 91*/ + /*TEST CASE 92*/ {"FIPS + dualstack + non-bucket endpoint", // documentation {EpParam("UseFIPS", true), EpParam("Bucket", "bucket!"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", true)}, // params {}, // tags @@ -790,7 +799,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 92*/ + /*TEST CASE 93*/ {"FIPS + dualstack + non-DNS endpoint", // documentation {EpParam("ForcePathStyle", true), EpParam("UseFIPS", true), EpParam("Bucket", "bucket!"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", true)}, // params {}, // tags @@ -798,20 +807,20 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 93*/ + /*TEST CASE 94*/ {"endpoint override + FIPS + dualstack (BUG)", // documentation {EpParam("ForcePathStyle", true), EpParam("UseFIPS", true), EpParam("Endpoint", "http://foo.com"), EpParam("Bucket", "bucket!"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"A custom endpoint cannot be combined with FIPS"} // expect }, - /*TEST CASE 94*/ + /*TEST CASE 95*/ {"endpoint override + non-dns bucket + FIPS (BUG)", // documentation {EpParam("UseFIPS", true), EpParam("Endpoint", "http://foo.com"), EpParam("Bucket", "bucket!"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"A custom endpoint cannot be combined with FIPS"} // expect }, - /*TEST CASE 95*/ + /*TEST CASE 96*/ {"FIPS + bucket endpoint + force path style", // documentation {EpParam("UseGlobalEndpoint", true), EpParam("ForcePathStyle", true), EpParam("UseFIPS", true), EpParam("Bucket", "bucket!"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false)}, // params @@ -820,7 +829,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 96*/ + /*TEST CASE 97*/ {"bucket + FIPS + force path style", // documentation {EpParam("UseGlobalEndpoint", true), EpParam("ForcePathStyle", true), EpParam("UseFIPS", true), EpParam("Bucket", "bucket"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", true)}, // params @@ -829,7 +838,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 97*/ + /*TEST CASE 98*/ {"FIPS + dualstack + use global endpoint", // documentation {EpParam("UseGlobalEndpoint", true), EpParam("UseFIPS", true), EpParam("Bucket", "bucket"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", true)}, // params {}, // tags @@ -837,14 +846,14 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 98*/ + /*TEST CASE 99*/ {"URI encoded bucket + use global endpoint", // documentation {EpParam("UseGlobalEndpoint", true), EpParam("UseFIPS", true), EpParam("Endpoint", "https://foo.com"), EpParam("Bucket", "bucket!"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"A custom endpoint cannot be combined with FIPS"} // expect }, - /*TEST CASE 99*/ + /*TEST CASE 100*/ {"FIPS + path based endpoint", // documentation {EpParam("UseGlobalEndpoint", true), EpParam("UseFIPS", true), EpParam("Bucket", "bucket!"), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -853,7 +862,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 100*/ + /*TEST CASE 101*/ {"accelerate + dualstack + global endpoint", // documentation {EpParam("UseGlobalEndpoint", true), EpParam("UseFIPS", false), EpParam("Bucket", "bucket"), EpParam("Region", "us-east-1"), EpParam("Accelerate", true), EpParam("UseDualStack", true)}, // params @@ -862,7 +871,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 101*/ + /*TEST CASE 102*/ {"dualstack + global endpoint + non URI safe bucket", // documentation {EpParam("UseGlobalEndpoint", true), EpParam("UseFIPS", false), EpParam("Bucket", "bucket!"), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", true)}, // params @@ -871,7 +880,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 102*/ + /*TEST CASE 103*/ {"FIPS + uri encoded bucket", // documentation {EpParam("UseGlobalEndpoint", true), EpParam("ForcePathStyle", true), EpParam("UseFIPS", true), EpParam("Bucket", "bucket!"), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -880,14 +889,14 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 103*/ + /*TEST CASE 104*/ {"endpoint override + non-uri safe endpoint + force path style", // documentation {EpParam("UseGlobalEndpoint", true), EpParam("ForcePathStyle", true), EpParam("UseFIPS", true), EpParam("Endpoint", "http://foo.com"), EpParam("Bucket", "bucket!"), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"A custom endpoint cannot be combined with FIPS"} // expect }, - /*TEST CASE 104*/ + /*TEST CASE 105*/ {"FIPS + Dualstack + global endpoint + non-dns bucket", // documentation {EpParam("UseGlobalEndpoint", true), EpParam("UseFIPS", true), EpParam("Bucket", "bucket!"), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", true)}, // params @@ -896,31 +905,31 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 105*/ + /*TEST CASE 106*/ {"endpoint override + FIPS + dualstack", // documentation {EpParam("UseGlobalEndpoint", true), EpParam("UseFIPS", true), EpParam("Endpoint", "http://foo.com"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", true)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Cannot set dual-stack in combination with a custom endpoint."} // expect }, - /*TEST CASE 106*/ + /*TEST CASE 107*/ {"non-bucket endpoint override + dualstack + global endpoint", // documentation {EpParam("UseGlobalEndpoint", true), EpParam("UseFIPS", false), EpParam("Endpoint", "http://foo.com"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", true)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Cannot set dual-stack in combination with a custom endpoint."} // expect }, - /*TEST CASE 107*/ + /*TEST CASE 108*/ {"Endpoint override + UseGlobalEndpoint + us-east-1", // documentation {EpParam("UseGlobalEndpoint", true), EpParam("UseFIPS", true), EpParam("Endpoint", "http://foo.com"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"A custom endpoint cannot be combined with FIPS"} // expect }, - /*TEST CASE 108*/ + /*TEST CASE 109*/ {"non-FIPS partition with FIPS set + custom endpoint", // documentation {EpParam("UseGlobalEndpoint", true), EpParam("UseFIPS", true), EpParam("Region", "cn-north-1"), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Partition does not support FIPS"} // expect }, - /*TEST CASE 109*/ + /*TEST CASE 110*/ {"aws-global signs as us-east-1", // documentation {EpParam("UseFIPS", true), EpParam("Bucket", "bucket!"), EpParam("Region", "aws-global"), EpParam("Accelerate", false), EpParam("UseDualStack", true)}, // params {}, // tags @@ -928,7 +937,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 110*/ + /*TEST CASE 111*/ {"aws-global signs as us-east-1", // documentation {EpParam("UseFIPS", false), EpParam("Endpoint", "https://foo.com"), EpParam("Bucket", "bucket"), EpParam("Region", "aws-global"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -937,7 +946,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 111*/ + /*TEST CASE 112*/ {"aws-global + dualstack + path-only bucket", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "bucket!"), EpParam("Region", "aws-global"), EpParam("Accelerate", false), EpParam("UseDualStack", true)}, // params {}, // tags @@ -945,7 +954,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 112*/ + /*TEST CASE 113*/ {"aws-global + path-only bucket", // documentation {EpParam("Bucket", "bucket!"), EpParam("Region", "aws-global")}, // params {}, // tags @@ -953,14 +962,14 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 113*/ + /*TEST CASE 114*/ {"aws-global + fips + custom endpoint", // documentation {EpParam("UseFIPS", true), EpParam("Endpoint", "http://foo.com"), EpParam("Bucket", "bucket!"), EpParam("Region", "aws-global"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"A custom endpoint cannot be combined with FIPS"} // expect }, - /*TEST CASE 114*/ + /*TEST CASE 115*/ {"aws-global, endpoint override & path only-bucket", // documentation {EpParam("UseFIPS", false), EpParam("Endpoint", "http://foo.com"), EpParam("Bucket", "bucket!"), EpParam("Region", "aws-global"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -969,13 +978,13 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 115*/ + /*TEST CASE 116*/ {"aws-global + dualstack + custom endpoint", // documentation {EpParam("UseFIPS", false), EpParam("Endpoint", "http://foo.com"), EpParam("Region", "aws-global"), EpParam("Accelerate", false), EpParam("UseDualStack", true)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Cannot set dual-stack in combination with a custom endpoint."} // expect }, - /*TEST CASE 116*/ + /*TEST CASE 117*/ {"accelerate, dualstack + aws-global", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "bucket"), EpParam("Region", "aws-global"), EpParam("Accelerate", true), EpParam("UseDualStack", true)}, // params {}, // tags @@ -983,7 +992,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 117*/ + /*TEST CASE 118*/ {"FIPS + aws-global + path only bucket. This is not supported by S3 but we allow garbage in garbage out", // documentation {EpParam("ForcePathStyle", true), EpParam("UseFIPS", true), EpParam("Bucket", "bucket!"), EpParam("Region", "aws-global"), EpParam("Accelerate", false), EpParam("UseDualStack", true)}, // params @@ -992,19 +1001,19 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 118*/ + /*TEST CASE 119*/ {"aws-global + FIPS + endpoint override.", // documentation {EpParam("UseFIPS", true), EpParam("Endpoint", "http://foo.com"), EpParam("Region", "aws-global")}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"A custom endpoint cannot be combined with FIPS"} // expect }, - /*TEST CASE 119*/ + /*TEST CASE 120*/ {"force path style, FIPS, aws-global & endpoint override", // documentation {EpParam("ForcePathStyle", true), EpParam("UseFIPS", true), EpParam("Endpoint", "http://foo.com"), EpParam("Bucket", "bucket!"), EpParam("Region", "aws-global")}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"A custom endpoint cannot be combined with FIPS"} // expect }, - /*TEST CASE 120*/ + /*TEST CASE 121*/ {"ip address causes path style to be forced", // documentation {EpParam("Endpoint", "http://192.168.1.1"), EpParam("Bucket", "bucket"), EpParam("Region", "aws-global")}, // params {}, // tags @@ -1012,13 +1021,13 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 121*/ + /*TEST CASE 122*/ {"endpoint override with aws-global region", // documentation {EpParam("UseFIPS", true), EpParam("Endpoint", "http://foo.com"), EpParam("Region", "aws-global"), EpParam("UseDualStack", true)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Cannot set dual-stack in combination with a custom endpoint."} // expect }, - /*TEST CASE 122*/ + /*TEST CASE 123*/ {"FIPS + path-only (TODO: consider making this an error)", // documentation {EpParam("UseFIPS", true), EpParam("Bucket", "bucket!"), EpParam("Region", "aws-global")}, // params {}, // tags @@ -1026,91 +1035,91 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 123*/ + /*TEST CASE 124*/ {"empty arn type", // documentation {EpParam("Bucket", "arn:aws:not-s3:us-west-2:123456789012::myendpoint"), EpParam("Region", "us-east-2")}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Invalid ARN: No ARN type specified"} // expect }, - /*TEST CASE 124*/ + /*TEST CASE 125*/ {"path style can't be used with accelerate", // documentation {EpParam("Bucket", "bucket!"), EpParam("Region", "us-east-2"), EpParam("Accelerate", true)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Path-style addressing cannot be used with S3 Accelerate"} // expect }, - /*TEST CASE 125*/ + /*TEST CASE 126*/ {"invalid region", // documentation {EpParam("Endpoint", "http://foo.com"), EpParam("Bucket", "bucket.subdomain"), EpParam("Region", "us-east-2!")}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Invalid region: region was not a valid DNS name."} // expect }, - /*TEST CASE 126*/ + /*TEST CASE 127*/ {"invalid region", // documentation {EpParam("Endpoint", "http://foo.com"), EpParam("Bucket", "bucket"), EpParam("Region", "us-east-2!")}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Invalid region: region was not a valid DNS name."} // expect }, - /*TEST CASE 127*/ + /*TEST CASE 128*/ {"empty arn type", // documentation {EpParam("Bucket", "arn:aws:s3::123456789012:accesspoint:my_endpoint"), EpParam("Region", "us-east-2")}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Invalid Access Point Name"} // expect }, - /*TEST CASE 128*/ + /*TEST CASE 129*/ {"empty arn type", // documentation {EpParam("Bucket", "arn:aws:s3:cn-north-1:123456789012:accesspoint:my-endpoint"), EpParam("UseArnRegion", true), EpParam("Region", "us-east-2")}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Client was configured for partition `aws` but ARN (`arn:aws:s3:cn-north-1:123456789012:accesspoint:my-endpoint`) has `aws-cn`"} // expect }, - /*TEST CASE 129*/ + /*TEST CASE 130*/ {"invalid arn region", // documentation {EpParam("Bucket", "arn:aws:s3-object-lambda:us-east_2:123456789012:accesspoint:my-endpoint"), EpParam("UseArnRegion", true), EpParam("Region", "us-east-2")}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Invalid region in ARN: `us-east_2` (invalid DNS name)"} // expect }, - /*TEST CASE 130*/ + /*TEST CASE 131*/ {"invalid ARN outpost", // documentation {EpParam("Bucket", "arn:aws:s3-outposts:us-east-1:123456789012:outpost/op_01234567890123456/accesspoint/reports"), EpParam("UseArnRegion", true), EpParam("Region", "us-east-2")}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Invalid ARN: The outpost Id may only contain a-z, A-Z, 0-9 and `-`. Found: `op_01234567890123456`"} // expect }, - /*TEST CASE 131*/ + /*TEST CASE 132*/ {"invalid ARN", // documentation {EpParam("Bucket", "arn:aws:s3-outposts:us-east-1:123456789012:outpost/op-01234567890123456/reports"), EpParam("Region", "us-east-2")}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Invalid ARN: expected an access point name"} // expect }, - /*TEST CASE 132*/ + /*TEST CASE 133*/ {"invalid ARN", // documentation {EpParam("Bucket", "arn:aws:s3-outposts:us-east-1:123456789012:outpost/op-01234567890123456"), EpParam("Region", "us-east-2")}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Invalid ARN: Expected a 4-component resource"} // expect }, - /*TEST CASE 133*/ + /*TEST CASE 134*/ {"invalid outpost type", // documentation {EpParam("Bucket", "arn:aws:s3-outposts:us-east-1:123456789012:outpost/op-01234567890123456/not-accesspoint/reports"), EpParam("Region", "us-east-2")}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Expected an outpost type `accesspoint`, found not-accesspoint"} // expect }, - /*TEST CASE 134*/ + /*TEST CASE 135*/ {"invalid outpost type", // documentation {EpParam("Bucket", "arn:aws:s3-outposts:us-east_1:123456789012:outpost/op-01234567890123456/not-accesspoint/reports"), EpParam("Region", "us-east-2")}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Invalid region in ARN: `us-east_1` (invalid DNS name)"} // expect }, - /*TEST CASE 135*/ + /*TEST CASE 136*/ {"invalid outpost type", // documentation {EpParam("Bucket", "arn:aws:s3-outposts:us-east-1:12345_789012:outpost/op-01234567890123456/not-accesspoint/reports"), EpParam("Region", "us-east-2")}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Invalid ARN: The account id may only contain a-z, A-Z, 0-9 and `-`. Found: `12345_789012`"} // expect }, - /*TEST CASE 136*/ + /*TEST CASE 137*/ {"invalid outpost type", // documentation {EpParam("Bucket", "arn:aws:s3-outposts:us-east-1:12345789012:outpost"), EpParam("Region", "us-east-2")}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Invalid ARN: The Outpost Id was not set"} // expect }, - /*TEST CASE 137*/ + /*TEST CASE 138*/ {"use global endpoint virtual addressing", // documentation {EpParam("UseGlobalEndpoint", true), EpParam("Endpoint", "http://example.com"), EpParam("Bucket", "bucket"), EpParam("Region", "us-east-2")}, // params {}, // tags @@ -1118,7 +1127,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-2"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 138*/ + /*TEST CASE 139*/ {"global endpoint + ip address", // documentation {EpParam("UseGlobalEndpoint", true), EpParam("Endpoint", "http://192.168.0.1"), EpParam("Bucket", "bucket"), EpParam("Region", "us-east-2")}, // params {}, // tags @@ -1126,7 +1135,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-2"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 139*/ + /*TEST CASE 140*/ {"invalid outpost type", // documentation {EpParam("UseGlobalEndpoint", true), EpParam("Bucket", "bucket!"), EpParam("Region", "us-east-2")}, // params {}, // tags @@ -1134,7 +1143,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-2"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 140*/ + /*TEST CASE 141*/ {"invalid outpost type", // documentation {EpParam("UseGlobalEndpoint", true), EpParam("Bucket", "bucket"), EpParam("Region", "us-east-2"), EpParam("Accelerate", true)}, // params {}, // tags @@ -1142,7 +1151,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-2"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 141*/ + /*TEST CASE 142*/ {"use global endpoint + custom endpoint", // documentation {EpParam("UseGlobalEndpoint", true), EpParam("Endpoint", "http://foo.com"), EpParam("Bucket", "bucket!"), EpParam("Region", "us-east-2")}, // params {}, // tags @@ -1150,7 +1159,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-2"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 142*/ + /*TEST CASE 143*/ {"use global endpoint, not us-east-1, force path style", // documentation {EpParam("UseGlobalEndpoint", true), EpParam("ForcePathStyle", true), EpParam("Endpoint", "http://foo.com"), EpParam("Bucket", "bucket!"), EpParam("Region", "us-east-2")}, // params {}, // tags @@ -1158,7 +1167,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-2"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 143*/ + /*TEST CASE 144*/ {"vanilla virtual addressing@us-west-2", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", false), EpParam("Bucket", "bucket-name"), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -1167,7 +1176,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-west-2"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 144*/ + /*TEST CASE 145*/ {"virtual addressing + dualstack@us-west-2", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", false), EpParam("Bucket", "bucket-name"), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", true)}, // params @@ -1176,7 +1185,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-west-2"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 145*/ + /*TEST CASE 146*/ {"accelerate + dualstack@us-west-2", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", false), EpParam("Bucket", "bucket-name"), EpParam("Region", "us-west-2"), EpParam("Accelerate", true), EpParam("UseDualStack", true)}, // params @@ -1185,7 +1194,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-west-2"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 146*/ + /*TEST CASE 147*/ {"accelerate (dualstack=false)@us-west-2", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", false), EpParam("Bucket", "bucket-name"), EpParam("Region", "us-west-2"), EpParam("Accelerate", true), EpParam("UseDualStack", false)}, // params @@ -1194,7 +1203,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-west-2"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 147*/ + /*TEST CASE 148*/ {"virtual addressing + fips@us-west-2", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", true), EpParam("Bucket", "bucket-name"), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -1203,7 +1212,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-west-2"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 148*/ + /*TEST CASE 149*/ {"virtual addressing + dualstack + fips@us-west-2", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", true), EpParam("Bucket", "bucket-name"), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", true)}, // params @@ -1212,14 +1221,14 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-west-2"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 149*/ + /*TEST CASE 150*/ {"accelerate + fips = error@us-west-2", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", true), EpParam("Bucket", "bucket-name"), EpParam("Region", "us-west-2"), EpParam("Accelerate", true), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Accelerate cannot be used with FIPS"} // expect }, - /*TEST CASE 150*/ + /*TEST CASE 151*/ {"vanilla virtual addressing@cn-north-1", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", false), EpParam("Bucket", "bucket-name"), EpParam("Region", "cn-north-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -1228,7 +1237,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "cn-north-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 151*/ + /*TEST CASE 152*/ {"virtual addressing + dualstack@cn-north-1", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", false), EpParam("Bucket", "bucket-name"), EpParam("Region", "cn-north-1"), EpParam("Accelerate", false), EpParam("UseDualStack", true)}, // params @@ -1237,21 +1246,21 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "cn-north-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 152*/ + /*TEST CASE 153*/ {"accelerate (dualstack=false)@cn-north-1", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", false), EpParam("Bucket", "bucket-name"), EpParam("Region", "cn-north-1"), EpParam("Accelerate", true), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"S3 Accelerate cannot be used in this region"} // expect }, - /*TEST CASE 153*/ + /*TEST CASE 154*/ {"virtual addressing + fips@cn-north-1", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", true), EpParam("Bucket", "bucket-name"), EpParam("Region", "cn-north-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Partition does not support FIPS"} // expect }, - /*TEST CASE 154*/ + /*TEST CASE 155*/ {"vanilla virtual addressing@af-south-1", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", false), EpParam("Bucket", "bucket-name"), EpParam("Region", "af-south-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -1260,7 +1269,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "af-south-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 155*/ + /*TEST CASE 156*/ {"virtual addressing + dualstack@af-south-1", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", false), EpParam("Bucket", "bucket-name"), EpParam("Region", "af-south-1"), EpParam("Accelerate", false), EpParam("UseDualStack", true)}, // params @@ -1269,7 +1278,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "af-south-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 156*/ + /*TEST CASE 157*/ {"accelerate + dualstack@af-south-1", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", false), EpParam("Bucket", "bucket-name"), EpParam("Region", "af-south-1"), EpParam("Accelerate", true), EpParam("UseDualStack", true)}, // params @@ -1278,7 +1287,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "af-south-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 157*/ + /*TEST CASE 158*/ {"accelerate (dualstack=false)@af-south-1", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", false), EpParam("Bucket", "bucket-name"), EpParam("Region", "af-south-1"), EpParam("Accelerate", true), EpParam("UseDualStack", false)}, // params @@ -1287,7 +1296,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "af-south-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 158*/ + /*TEST CASE 159*/ {"virtual addressing + fips@af-south-1", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", true), EpParam("Bucket", "bucket-name"), EpParam("Region", "af-south-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -1296,7 +1305,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "af-south-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 159*/ + /*TEST CASE 160*/ {"virtual addressing + dualstack + fips@af-south-1", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", true), EpParam("Bucket", "bucket-name"), EpParam("Region", "af-south-1"), EpParam("Accelerate", false), EpParam("UseDualStack", true)}, // params @@ -1305,14 +1314,14 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "af-south-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 160*/ + /*TEST CASE 161*/ {"accelerate + fips = error@af-south-1", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", true), EpParam("Bucket", "bucket-name"), EpParam("Region", "af-south-1"), EpParam("Accelerate", true), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Accelerate cannot be used with FIPS"} // expect }, - /*TEST CASE 161*/ + /*TEST CASE 162*/ {"vanilla path style@us-west-2", // documentation {EpParam("ForcePathStyle", true), EpParam("UseFIPS", false), EpParam("Bucket", "bucket-name"), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -1321,7 +1330,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-west-2"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 162*/ + /*TEST CASE 163*/ {"fips@us-gov-west-2, bucket is not S3-dns-compatible (subdomains)", // documentation {EpParam("UseFIPS", true), EpParam("Bucket", "bucket.with.dots"), EpParam("Region", "us-gov-west-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags @@ -1329,14 +1338,14 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-gov-west-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 163*/ + /*TEST CASE 164*/ {"path style + accelerate = error@us-west-2", // documentation {EpParam("ForcePathStyle", true), EpParam("UseFIPS", false), EpParam("Bucket", "bucket-name"), EpParam("Region", "us-west-2"), EpParam("Accelerate", true), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Path-style addressing cannot be used with S3 Accelerate"} // expect }, - /*TEST CASE 164*/ + /*TEST CASE 165*/ {"path style + dualstack@us-west-2", // documentation {EpParam("ForcePathStyle", true), EpParam("UseFIPS", false), EpParam("Bucket", "bucket-name"), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", true)}, // params @@ -1345,14 +1354,14 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-west-2"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 165*/ + /*TEST CASE 166*/ {"path style + arn is error@us-west-2", // documentation {EpParam("ForcePathStyle", true), EpParam("UseFIPS", false), EpParam("Bucket", "arn:PARTITION:s3-outposts:REGION:123456789012:outpost:op-01234567890123456:bucket:mybucket"), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Path-style addressing cannot be used with ARN buckets"} // expect }, - /*TEST CASE 166*/ + /*TEST CASE 167*/ {"path style + invalid DNS name@us-west-2", // documentation {EpParam("ForcePathStyle", true), EpParam("UseFIPS", false), EpParam("Bucket", "99a_b"), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags @@ -1360,7 +1369,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-west-2"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 167*/ + /*TEST CASE 168*/ {"no path style + invalid DNS name@us-west-2", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "99a_b"), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags @@ -1368,7 +1377,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-west-2"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 168*/ + /*TEST CASE 169*/ {"vanilla path style@cn-north-1", // documentation {EpParam("ForcePathStyle", true), EpParam("UseFIPS", false), EpParam("Bucket", "bucket-name"), EpParam("Region", "cn-north-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -1377,21 +1386,21 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "cn-north-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 169*/ + /*TEST CASE 170*/ {"path style + fips@cn-north-1", // documentation {EpParam("ForcePathStyle", true), EpParam("UseFIPS", true), EpParam("Bucket", "bucket-name"), EpParam("Region", "cn-north-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Partition does not support FIPS"} // expect }, - /*TEST CASE 170*/ + /*TEST CASE 171*/ {"path style + accelerate = error@cn-north-1", // documentation {EpParam("ForcePathStyle", true), EpParam("UseFIPS", false), EpParam("Bucket", "bucket-name"), EpParam("Region", "cn-north-1"), EpParam("Accelerate", true), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Path-style addressing cannot be used with S3 Accelerate"} // expect }, - /*TEST CASE 171*/ + /*TEST CASE 172*/ {"path style + dualstack@cn-north-1", // documentation {EpParam("ForcePathStyle", true), EpParam("UseFIPS", false), EpParam("Bucket", "bucket-name"), EpParam("Region", "cn-north-1"), EpParam("Accelerate", false), EpParam("UseDualStack", true)}, // params @@ -1400,14 +1409,14 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "cn-north-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 172*/ + /*TEST CASE 173*/ {"path style + arn is error@cn-north-1", // documentation {EpParam("ForcePathStyle", true), EpParam("UseFIPS", false), EpParam("Bucket", "arn:PARTITION:s3-outposts:REGION:123456789012:outpost:op-01234567890123456:bucket:mybucket"), EpParam("Region", "cn-north-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Path-style addressing cannot be used with ARN buckets"} // expect }, - /*TEST CASE 173*/ + /*TEST CASE 174*/ {"path style + invalid DNS name@cn-north-1", // documentation {EpParam("ForcePathStyle", true), EpParam("UseFIPS", false), EpParam("Bucket", "99a_b"), EpParam("Region", "cn-north-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags @@ -1415,7 +1424,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "cn-north-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 174*/ + /*TEST CASE 175*/ {"no path style + invalid DNS name@cn-north-1", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "99a_b"), EpParam("Region", "cn-north-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags @@ -1423,7 +1432,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "cn-north-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 175*/ + /*TEST CASE 176*/ {"vanilla path style@af-south-1", // documentation {EpParam("ForcePathStyle", true), EpParam("UseFIPS", false), EpParam("Bucket", "bucket-name"), EpParam("Region", "af-south-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -1432,7 +1441,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "af-south-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 176*/ + /*TEST CASE 177*/ {"path style + fips@af-south-1", // documentation {EpParam("ForcePathStyle", true), EpParam("UseFIPS", true), EpParam("Bucket", "bucket-name"), EpParam("Region", "af-south-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -1441,14 +1450,14 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "af-south-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 177*/ + /*TEST CASE 178*/ {"path style + accelerate = error@af-south-1", // documentation {EpParam("ForcePathStyle", true), EpParam("UseFIPS", false), EpParam("Bucket", "bucket-name"), EpParam("Region", "af-south-1"), EpParam("Accelerate", true), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Path-style addressing cannot be used with S3 Accelerate"} // expect }, - /*TEST CASE 178*/ + /*TEST CASE 179*/ {"path style + dualstack@af-south-1", // documentation {EpParam("ForcePathStyle", true), EpParam("UseFIPS", false), EpParam("Bucket", "bucket-name"), EpParam("Region", "af-south-1"), EpParam("Accelerate", false), EpParam("UseDualStack", true)}, // params @@ -1457,14 +1466,14 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "af-south-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 179*/ + /*TEST CASE 180*/ {"path style + arn is error@af-south-1", // documentation {EpParam("ForcePathStyle", true), EpParam("UseFIPS", false), EpParam("Bucket", "arn:PARTITION:s3-outposts:REGION:123456789012:outpost:op-01234567890123456:bucket:mybucket"), EpParam("Region", "af-south-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Path-style addressing cannot be used with ARN buckets"} // expect }, - /*TEST CASE 180*/ + /*TEST CASE 181*/ {"path style + invalid DNS name@af-south-1", // documentation {EpParam("ForcePathStyle", true), EpParam("UseFIPS", false), EpParam("Bucket", "99a_b"), EpParam("Region", "af-south-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags @@ -1472,7 +1481,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "af-south-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 181*/ + /*TEST CASE 182*/ {"no path style + invalid DNS name@af-south-1", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "99a_b"), EpParam("Region", "af-south-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags @@ -1480,7 +1489,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "af-south-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 182*/ + /*TEST CASE 183*/ {"virtual addressing + private link@us-west-2", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", false), EpParam("Endpoint", "http://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com"), EpParam("Bucket", "bucket-name"), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -1489,7 +1498,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-west-2"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 183*/ + /*TEST CASE 184*/ {"path style + private link@us-west-2", // documentation {EpParam("ForcePathStyle", true), EpParam("UseFIPS", false), EpParam("Endpoint", "https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com"), EpParam("Bucket", "bucket-name"), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -1498,28 +1507,28 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-west-2"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 184*/ + /*TEST CASE 185*/ {"SDK::Host + FIPS@us-west-2", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", true), EpParam("Endpoint", "https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com"), EpParam("Bucket", "bucket-name"), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"A custom endpoint cannot be combined with FIPS"} // expect }, - /*TEST CASE 185*/ + /*TEST CASE 186*/ {"SDK::Host + DualStack@us-west-2", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", false), EpParam("Endpoint", "https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com"), EpParam("Bucket", "bucket-name"), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", true)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Cannot set dual-stack in combination with a custom endpoint."} // expect }, - /*TEST CASE 186*/ + /*TEST CASE 187*/ {"SDK::HOST + accelerate@us-west-2", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", false), EpParam("Endpoint", "http://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com"), EpParam("Bucket", "bucket-name"), EpParam("Region", "us-west-2"), EpParam("Accelerate", true), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"A custom endpoint cannot be combined with S3 Accelerate"} // expect }, - /*TEST CASE 187*/ + /*TEST CASE 188*/ {"SDK::Host + access point ARN@us-west-2", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", false), EpParam("Endpoint", "https://beta.example.com"), EpParam("Bucket", "arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint"), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -1528,7 +1537,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-west-2"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 188*/ + /*TEST CASE 189*/ {"virtual addressing + private link@cn-north-1", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", false), EpParam("Endpoint", "https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com"), EpParam("Bucket", "bucket-name"), EpParam("Region", "cn-north-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -1537,7 +1546,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "cn-north-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 189*/ + /*TEST CASE 190*/ {"path style + private link@cn-north-1", // documentation {EpParam("ForcePathStyle", true), EpParam("UseFIPS", false), EpParam("Endpoint", "https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com"), EpParam("Bucket", "bucket-name"), EpParam("Region", "cn-north-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -1546,28 +1555,28 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "cn-north-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 190*/ + /*TEST CASE 191*/ {"FIPS@cn-north-1", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", true), EpParam("Bucket", "bucket-name"), EpParam("Region", "cn-north-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Partition does not support FIPS"} // expect }, - /*TEST CASE 191*/ + /*TEST CASE 192*/ {"SDK::Host + DualStack@cn-north-1", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", false), EpParam("Endpoint", "https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com"), EpParam("Bucket", "bucket-name"), EpParam("Region", "cn-north-1"), EpParam("Accelerate", false), EpParam("UseDualStack", true)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Cannot set dual-stack in combination with a custom endpoint."} // expect }, - /*TEST CASE 192*/ + /*TEST CASE 193*/ {"SDK::HOST + accelerate@cn-north-1", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", false), EpParam("Endpoint", "https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com"), EpParam("Bucket", "bucket-name"), EpParam("Region", "cn-north-1"), EpParam("Accelerate", true), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"A custom endpoint cannot be combined with S3 Accelerate"} // expect }, - /*TEST CASE 193*/ + /*TEST CASE 194*/ {"SDK::Host + access point ARN@cn-north-1", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", false), EpParam("Endpoint", "https://beta.example.com"), EpParam("Bucket", "arn:aws-cn:s3:cn-north-1:123456789012:accesspoint:myendpoint"), EpParam("Region", "cn-north-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -1576,7 +1585,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "cn-north-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 194*/ + /*TEST CASE 195*/ {"virtual addressing + private link@af-south-1", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", false), EpParam("Endpoint", "https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com"), EpParam("Bucket", "bucket-name"), EpParam("Region", "af-south-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -1585,7 +1594,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "af-south-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 195*/ + /*TEST CASE 196*/ {"path style + private link@af-south-1", // documentation {EpParam("ForcePathStyle", true), EpParam("UseFIPS", false), EpParam("Endpoint", "https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com"), EpParam("Bucket", "bucket-name"), EpParam("Region", "af-south-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -1594,28 +1603,28 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "af-south-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 196*/ + /*TEST CASE 197*/ {"SDK::Host + FIPS@af-south-1", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", true), EpParam("Endpoint", "https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com"), EpParam("Bucket", "bucket-name"), EpParam("Region", "af-south-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"A custom endpoint cannot be combined with FIPS"} // expect }, - /*TEST CASE 197*/ + /*TEST CASE 198*/ {"SDK::Host + DualStack@af-south-1", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", false), EpParam("Endpoint", "https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com"), EpParam("Bucket", "bucket-name"), EpParam("Region", "af-south-1"), EpParam("Accelerate", false), EpParam("UseDualStack", true)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Cannot set dual-stack in combination with a custom endpoint."} // expect }, - /*TEST CASE 198*/ + /*TEST CASE 199*/ {"SDK::HOST + accelerate@af-south-1", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", false), EpParam("Endpoint", "https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com"), EpParam("Bucket", "bucket-name"), EpParam("Region", "af-south-1"), EpParam("Accelerate", true), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"A custom endpoint cannot be combined with S3 Accelerate"} // expect }, - /*TEST CASE 199*/ + /*TEST CASE 200*/ {"SDK::Host + access point ARN@af-south-1", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", false), EpParam("Endpoint", "https://beta.example.com"), EpParam("Bucket", "arn:aws:s3:af-south-1:123456789012:accesspoint:myendpoint"), EpParam("Region", "af-south-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -1624,7 +1633,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "af-south-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 200*/ + /*TEST CASE 201*/ {"vanilla access point arn@us-west-2", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint"), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -1633,7 +1642,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-west-2"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 201*/ + /*TEST CASE 202*/ {"access point arn + FIPS@us-west-2", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", true), EpParam("Bucket", "arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint"), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -1642,14 +1651,14 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-west-2"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 202*/ + /*TEST CASE 203*/ {"access point arn + accelerate = error@us-west-2", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint"), EpParam("Region", "us-west-2"), EpParam("Accelerate", true), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Access Points do not support S3 Accelerate"} // expect }, - /*TEST CASE 203*/ + /*TEST CASE 204*/ {"access point arn + FIPS + DualStack@us-west-2", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", true), EpParam("Bucket", "arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint"), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", true)}, // params @@ -1658,7 +1667,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-west-2"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 204*/ + /*TEST CASE 205*/ {"vanilla access point arn@cn-north-1", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws-cn:s3:cn-north-1:123456789012:accesspoint:myendpoint"), EpParam("Region", "cn-north-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -1667,28 +1676,28 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "cn-north-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 205*/ + /*TEST CASE 206*/ {"access point arn + FIPS@cn-north-1", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", true), EpParam("Bucket", "arn:aws-cn:s3:cn-north-1:123456789012:accesspoint:myendpoint"), EpParam("Region", "cn-north-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Partition does not support FIPS"} // expect }, - /*TEST CASE 206*/ + /*TEST CASE 207*/ {"access point arn + accelerate = error@cn-north-1", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws-cn:s3:cn-north-1:123456789012:accesspoint:myendpoint"), EpParam("Region", "cn-north-1"), EpParam("Accelerate", true), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Access Points do not support S3 Accelerate"} // expect }, - /*TEST CASE 207*/ + /*TEST CASE 208*/ {"access point arn + FIPS + DualStack@cn-north-1", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", true), EpParam("Bucket", "arn:aws-cn:s3:cn-north-1:123456789012:accesspoint:myendpoint"), EpParam("Region", "cn-north-1"), EpParam("Accelerate", false), EpParam("UseDualStack", true)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Partition does not support FIPS"} // expect }, - /*TEST CASE 208*/ + /*TEST CASE 209*/ {"vanilla access point arn@af-south-1", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws:s3:af-south-1:123456789012:accesspoint:myendpoint"), EpParam("Region", "af-south-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -1697,7 +1706,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "af-south-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 209*/ + /*TEST CASE 210*/ {"access point arn + FIPS@af-south-1", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", true), EpParam("Bucket", "arn:aws:s3:af-south-1:123456789012:accesspoint:myendpoint"), EpParam("Region", "af-south-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -1706,14 +1715,14 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "af-south-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 210*/ + /*TEST CASE 211*/ {"access point arn + accelerate = error@af-south-1", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws:s3:af-south-1:123456789012:accesspoint:myendpoint"), EpParam("Region", "af-south-1"), EpParam("Accelerate", true), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Access Points do not support S3 Accelerate"} // expect }, - /*TEST CASE 211*/ + /*TEST CASE 212*/ {"access point arn + FIPS + DualStack@af-south-1", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", true), EpParam("Bucket", "arn:aws:s3:af-south-1:123456789012:accesspoint:myendpoint"), EpParam("Region", "af-south-1"), EpParam("Accelerate", false), EpParam("UseDualStack", true)}, // params @@ -1722,7 +1731,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "af-south-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 212*/ + /*TEST CASE 213*/ {"S3 outposts vanilla test", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws:s3-outposts:us-west-2:123456789012:outpost/op-01234567890123456/accesspoint/reports"), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -1731,7 +1740,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-west-2"), EpProp("name", "sigv4"), EpProp("signingName", "s3-outposts")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 213*/ + /*TEST CASE 214*/ {"S3 outposts custom endpoint", // documentation {EpParam("UseFIPS", false), EpParam("Endpoint", "https://example.amazonaws.com"), EpParam("Bucket", "arn:aws:s3-outposts:us-west-2:123456789012:outpost/op-01234567890123456/accesspoint/reports"), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -1740,21 +1749,21 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-west-2"), EpProp("name", "sigv4"), EpProp("signingName", "s3-outposts")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 214*/ + /*TEST CASE 215*/ {"outposts arn with region mismatch and UseArnRegion=false", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws:s3-outposts:us-east-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint"), EpParam("UseArnRegion", false), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Invalid configuration: region from ARN `us-east-1` does not match client region `us-west-2` and UseArnRegion is `false`"} // expect }, - /*TEST CASE 215*/ + /*TEST CASE 216*/ {"outposts arn with region mismatch, custom region and UseArnRegion=false", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", false), EpParam("Endpoint", "https://example.com"), EpParam("Bucket", "arn:aws:s3-outposts:us-east-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint"), EpParam("UseArnRegion", false), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Invalid configuration: region from ARN `us-east-1` does not match client region `us-west-2` and UseArnRegion is `false`"} // expect }, - /*TEST CASE 216*/ + /*TEST CASE 217*/ {"outposts arn with region mismatch and UseArnRegion=true", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws:s3-outposts:us-east-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint"), EpParam("UseArnRegion", true), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -1763,7 +1772,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3-outposts")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 217*/ + /*TEST CASE 218*/ {"outposts arn with region mismatch and UseArnRegion unset", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws:s3-outposts:us-east-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint"), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -1772,14 +1781,14 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3-outposts")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 218*/ + /*TEST CASE 219*/ {"outposts arn with partition mismatch and UseArnRegion=true", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws:s3-outposts:cn-north-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint"), EpParam("UseArnRegion", true), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Client was configured for partition `aws` but ARN (`arn:aws:s3-outposts:cn-north-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint`) has `aws-cn`"} // expect }, - /*TEST CASE 219*/ + /*TEST CASE 220*/ {"ARN with UseGlobalEndpoint and use-east-1 region uses the regional endpoint", // documentation {EpParam("UseGlobalEndpoint", true), EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws:s3-outposts:us-east-1:123456789012:outpost/op-01234567890123456/accesspoint/reports"), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -1788,35 +1797,35 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3-outposts")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 220*/ + /*TEST CASE 221*/ {"S3 outposts does not support dualstack", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws:s3-outposts:us-west-2:123456789012:outpost/op-01234567890123456/accesspoint/reports"), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", true)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"S3 Outposts does not support Dual-stack"} // expect }, - /*TEST CASE 221*/ + /*TEST CASE 222*/ {"S3 outposts does not support fips", // documentation {EpParam("UseFIPS", true), EpParam("Bucket", "arn:aws:s3-outposts:us-west-2:123456789012:outpost/op-01234567890123456/accesspoint/reports"), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"S3 Outposts does not support FIPS"} // expect }, - /*TEST CASE 222*/ + /*TEST CASE 223*/ {"S3 outposts does not support accelerate", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws:s3-outposts:us-west-2:123456789012:outpost/op-01234567890123456/accesspoint/reports"), EpParam("Region", "us-east-1"), EpParam("Accelerate", true), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"S3 Outposts does not support S3 Accelerate"} // expect }, - /*TEST CASE 223*/ + /*TEST CASE 224*/ {"validates against subresource", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:accesspoint:mybucket:object:foo"), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Invalid Arn: Outpost Access Point ARN contains sub resources"} // expect }, - /*TEST CASE 224*/ + /*TEST CASE 225*/ {"object lambda @us-east-1", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws:s3-object-lambda:us-east-1:123456789012:accesspoint/mybanner"), EpParam("UseArnRegion", false), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -1825,7 +1834,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3-object-lambda")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 225*/ + /*TEST CASE 226*/ {"object lambda @us-west-2", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws:s3-object-lambda:us-west-2:123456789012:accesspoint/mybanner"), EpParam("UseArnRegion", false), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -1834,7 +1843,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-west-2"), EpProp("name", "sigv4"), EpProp("signingName", "s3-object-lambda")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 226*/ + /*TEST CASE 227*/ {"object lambda, colon resource deliminator @us-west-2", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws:s3-object-lambda:us-west-2:123456789012:accesspoint:mybanner"), EpParam("UseArnRegion", false), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -1843,7 +1852,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-west-2"), EpProp("name", "sigv4"), EpProp("signingName", "s3-object-lambda")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 227*/ + /*TEST CASE 228*/ {"object lambda @us-east-1, client region us-west-2, useArnRegion=true", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws:s3-object-lambda:us-east-1:123456789012:accesspoint/mybanner"), EpParam("UseArnRegion", true), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -1852,7 +1861,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3-object-lambda")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 228*/ + /*TEST CASE 229*/ {"object lambda @us-east-1, client region s3-external-1, useArnRegion=true", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws:s3-object-lambda:us-east-1:123456789012:accesspoint/mybanner"), EpParam("UseArnRegion", true), EpParam("Region", "s3-external-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -1861,14 +1870,14 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3-object-lambda")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 229*/ + /*TEST CASE 230*/ {"object lambda @us-east-1, client region s3-external-1, useArnRegion=false", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws:s3-object-lambda:us-east-1:123456789012:accesspoint/mybanner"), EpParam("UseArnRegion", false), EpParam("Region", "s3-external-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Invalid configuration: region from ARN `us-east-1` does not match client region `s3-external-1` and UseArnRegion is `false`"} // expect }, - /*TEST CASE 230*/ + /*TEST CASE 231*/ {"object lambda @us-east-1, client region aws-global, useArnRegion=true", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws:s3-object-lambda:us-east-1:123456789012:accesspoint/mybanner"), EpParam("UseArnRegion", true), EpParam("Region", "aws-global"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -1877,28 +1886,28 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3-object-lambda")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 231*/ + /*TEST CASE 232*/ {"object lambda @us-east-1, client region aws-global, useArnRegion=false", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws:s3-object-lambda:us-east-1:123456789012:accesspoint/mybanner"), EpParam("UseArnRegion", false), EpParam("Region", "aws-global"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Invalid configuration: region from ARN `us-east-1` does not match client region `aws-global` and UseArnRegion is `false`"} // expect }, - /*TEST CASE 232*/ + /*TEST CASE 233*/ {"object lambda @cn-north-1, client region us-west-2 (cross partition), useArnRegion=true", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws-cn:s3-object-lambda:cn-north-1:123456789012:accesspoint/mybanner"), EpParam("UseArnRegion", true), EpParam("Region", "aws-global"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Client was configured for partition `aws` but ARN (`arn:aws-cn:s3-object-lambda:cn-north-1:123456789012:accesspoint/mybanner`) has `aws-cn`"} // expect }, - /*TEST CASE 233*/ + /*TEST CASE 234*/ {"object lambda with dualstack", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws:s3-object-lambda:us-west-2:123456789012:accesspoint/mybanner"), EpParam("UseArnRegion", false), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", true)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"S3 Object Lambda does not support Dual-stack"} // expect }, - /*TEST CASE 234*/ + /*TEST CASE 235*/ {"object lambda @us-gov-east-1", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws-us-gov:s3-object-lambda:us-gov-east-1:123456789012:accesspoint/mybanner"), EpParam("UseArnRegion", false), EpParam("Region", "us-gov-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -1907,7 +1916,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-gov-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3-object-lambda")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 235*/ + /*TEST CASE 236*/ {"object lambda @us-gov-east-1, with fips", // documentation {EpParam("UseFIPS", true), EpParam("Bucket", "arn:aws-us-gov:s3-object-lambda:us-gov-east-1:123456789012:accesspoint/mybanner"), EpParam("UseArnRegion", false), EpParam("Region", "us-gov-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -1916,84 +1925,84 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-gov-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3-object-lambda")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 236*/ + /*TEST CASE 237*/ {"object lambda @cn-north-1, with fips", // documentation {EpParam("UseFIPS", true), EpParam("Bucket", "arn:aws-cn:s3-object-lambda:cn-north-1:123456789012:accesspoint/mybanner"), EpParam("UseArnRegion", false), EpParam("Region", "cn-north-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Partition does not support FIPS"} // expect }, - /*TEST CASE 237*/ + /*TEST CASE 238*/ {"object lambda with accelerate", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws:s3-object-lambda:us-west-2:123456789012:accesspoint/mybanner"), EpParam("UseArnRegion", false), EpParam("Region", "us-west-2"), EpParam("Accelerate", true), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"S3 Object Lambda does not support S3 Accelerate"} // expect }, - /*TEST CASE 238*/ + /*TEST CASE 239*/ {"object lambda with invalid arn - bad service and someresource", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws:sqs:us-west-2:123456789012:someresource"), EpParam("UseArnRegion", false), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Invalid ARN: Unrecognized format: arn:aws:sqs:us-west-2:123456789012:someresource (type: someresource)"} // expect }, - /*TEST CASE 239*/ + /*TEST CASE 240*/ {"object lambda with invalid arn - invalid resource", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws:s3-object-lambda:us-west-2:123456789012:bucket_name:mybucket"), EpParam("UseArnRegion", false), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Invalid ARN: Object Lambda ARNs only support `accesspoint` arn types, but found: `bucket_name`"} // expect }, - /*TEST CASE 240*/ + /*TEST CASE 241*/ {"object lambda with invalid arn - missing region", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws:s3-object-lambda::123456789012:accesspoint/mybanner"), EpParam("UseArnRegion", false), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Invalid ARN: bucket ARN is missing a region"} // expect }, - /*TEST CASE 241*/ + /*TEST CASE 242*/ {"object lambda with invalid arn - missing account-id", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws:s3-object-lambda:us-west-2::accesspoint/mybanner"), EpParam("UseArnRegion", true), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Invalid ARN: Missing account id"} // expect }, - /*TEST CASE 242*/ + /*TEST CASE 243*/ {"object lambda with invalid arn - account id contains invalid characters", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws:s3-object-lambda:us-west-2:123.45678.9012:accesspoint:mybucket"), EpParam("UseArnRegion", true), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Invalid ARN: The account id may only contain a-z, A-Z, 0-9 and `-`. Found: `123.45678.9012`"} // expect }, - /*TEST CASE 243*/ + /*TEST CASE 244*/ {"object lambda with invalid arn - missing access point name", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws:s3-object-lambda:us-west-2:123456789012:accesspoint"), EpParam("UseArnRegion", true), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Invalid ARN: Expected a resource of the format `accesspoint:` but no name was provided"} // expect }, - /*TEST CASE 244*/ + /*TEST CASE 245*/ {"object lambda with invalid arn - access point name contains invalid character: *", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws:s3-object-lambda:us-west-2:123456789012:accesspoint:*"), EpParam("UseArnRegion", true), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Invalid ARN: The access point name may only contain a-z, A-Z, 0-9 and `-`. Found: `*`"} // expect }, - /*TEST CASE 245*/ + /*TEST CASE 246*/ {"object lambda with invalid arn - access point name contains invalid character: .", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws:s3-object-lambda:us-west-2:123456789012:accesspoint:my.bucket"), EpParam("UseArnRegion", true), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Invalid ARN: The access point name may only contain a-z, A-Z, 0-9 and `-`. Found: `my.bucket`"} // expect }, - /*TEST CASE 246*/ + /*TEST CASE 247*/ {"object lambda with invalid arn - access point name contains sub resources", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws:s3-object-lambda:us-west-2:123456789012:accesspoint:mybucket:object:foo"), EpParam("UseArnRegion", true), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Invalid ARN: The ARN may only contain a single resource component after `accesspoint`."} // expect }, - /*TEST CASE 247*/ + /*TEST CASE 248*/ {"object lambda with custom endpoint", // documentation {EpParam("UseFIPS", false), EpParam("Endpoint", "https://my-endpoint.com"), EpParam("Bucket", "arn:aws:s3-object-lambda:us-west-2:123456789012:accesspoint/mybanner"), EpParam("UseArnRegion", false), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -2002,14 +2011,14 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-west-2"), EpProp("name", "sigv4"), EpProp("signingName", "s3-object-lambda")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 248*/ + /*TEST CASE 249*/ {"object lambda arn with region mismatch and UseArnRegion=false", // documentation {EpParam("ForcePathStyle", false), EpParam("UseFIPS", false), EpParam("Bucket", "arn:aws:s3-object-lambda:us-east-1:123456789012:accesspoint/mybanner"), EpParam("UseArnRegion", false), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Invalid configuration: region from ARN `us-east-1` does not match client region `us-west-2` and UseArnRegion is `false`"} // expect }, - /*TEST CASE 249*/ + /*TEST CASE 250*/ {"WriteGetObjectResponse @ us-west-2", // documentation {EpParam("UseFIPS", false), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false), EpParam("UseObjectLambdaEndpoint", true)}, // params {}, // tags @@ -2017,7 +2026,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-west-2"), EpProp("name", "sigv4"), EpProp("signingName", "s3-object-lambda")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 250*/ + /*TEST CASE 251*/ {"WriteGetObjectResponse with custom endpoint", // documentation {EpParam("UseFIPS", false), EpParam("Endpoint", "https://my-endpoint.com"), EpParam("Region", "us-west-2"), EpParam("Accelerate", false), EpParam("UseDualStack", false), EpParam("UseObjectLambdaEndpoint", true)}, // params @@ -2026,7 +2035,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-west-2"), EpProp("name", "sigv4"), EpProp("signingName", "s3-object-lambda")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 251*/ + /*TEST CASE 252*/ {"WriteGetObjectResponse @ us-east-1", // documentation {EpParam("UseFIPS", false), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false), EpParam("UseObjectLambdaEndpoint", true)}, // params {}, // tags @@ -2034,7 +2043,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3-object-lambda")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 252*/ + /*TEST CASE 253*/ {"WriteGetObjectResponse with fips", // documentation {EpParam("UseFIPS", true), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false), EpParam("UseObjectLambdaEndpoint", true)}, // params {}, // tags @@ -2042,31 +2051,31 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3-object-lambda")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 253*/ + /*TEST CASE 254*/ {"WriteGetObjectResponse with dualstack", // documentation {EpParam("UseFIPS", false), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", true), EpParam("UseObjectLambdaEndpoint", true)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"S3 Object Lambda does not support Dual-stack"} // expect }, - /*TEST CASE 254*/ + /*TEST CASE 255*/ {"WriteGetObjectResponse with accelerate", // documentation {EpParam("UseFIPS", false), EpParam("Region", "us-east-1"), EpParam("Accelerate", true), EpParam("UseDualStack", false), EpParam("UseObjectLambdaEndpoint", true)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"S3 Object Lambda does not support S3 Accelerate"} // expect }, - /*TEST CASE 255*/ + /*TEST CASE 256*/ {"WriteGetObjectResponse with fips in CN", // documentation {EpParam("UseFIPS", true), EpParam("Region", "cn-north-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false), EpParam("UseObjectLambdaEndpoint", true)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Partition does not support FIPS"} // expect }, - /*TEST CASE 256*/ + /*TEST CASE 257*/ {"WriteGetObjectResponse with invalid partition", // documentation {EpParam("UseFIPS", false), EpParam("Region", "not a valid DNS name"), EpParam("Accelerate", false), EpParam("UseDualStack", false), EpParam("UseObjectLambdaEndpoint", true)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Invalid region: region was not a valid DNS name."} // expect }, - /*TEST CASE 257*/ + /*TEST CASE 258*/ {"WriteGetObjectResponse with an unknown partition", // documentation {EpParam("UseFIPS", false), EpParam("Region", "us-east.special"), EpParam("Accelerate", false), EpParam("UseDualStack", false), EpParam("UseObjectLambdaEndpoint", true)}, // params {}, // tags @@ -2074,7 +2083,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east.special"), EpProp("name", "sigv4"), EpProp("signingName", "s3-object-lambda")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 258*/ + /*TEST CASE 259*/ {"S3 Outposts bucketAlias Real Outpost Prod us-west-1", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "test-accessp-o0b1d075431d83bebde8xz5w8ijx1qzlbp3i3kuse10--op-s3"), EpParam("Region", "us-west-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -2083,7 +2092,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-west-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3-outposts")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 259*/ + /*TEST CASE 260*/ {"S3 Outposts bucketAlias Real Outpost Prod ap-east-1", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "test-accessp-o0b1d075431d83bebde8xz5w8ijx1qzlbp3i3kuse10--op-s3"), EpParam("Region", "ap-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -2092,7 +2101,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "ap-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3-outposts")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 260*/ + /*TEST CASE 261*/ {"S3 Outposts bucketAlias Ec2 Outpost Prod us-east-1", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "test-accessp-e0000075431d83bebde8xz5w8ijx1qzlbp3i3kuse10--op-s3"), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -2101,7 +2110,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3-outposts")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 261*/ + /*TEST CASE 262*/ {"S3 Outposts bucketAlias Ec2 Outpost Prod me-south-1", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "test-accessp-e0000075431d83bebde8xz5w8ijx1qzlbp3i3kuse10--op-s3"), EpParam("Region", "me-south-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -2110,7 +2119,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "me-south-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3-outposts")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 262*/ + /*TEST CASE 263*/ {"S3 Outposts bucketAlias Real Outpost Beta", // documentation {EpParam("UseFIPS", false), EpParam("Endpoint", "https://example.amazonaws.com"), EpParam("Bucket", "test-accessp-o0b1d075431d83bebde8xz5w8ijx1qzlbp3i3kbeta0--op-s3"), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -2119,7 +2128,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3-outposts")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 263*/ + /*TEST CASE 264*/ {"S3 Outposts bucketAlias Ec2 Outpost Beta", // documentation {EpParam("UseFIPS", false), EpParam("Endpoint", "https://example.amazonaws.com"), EpParam("Bucket", "161743052723-e00000136899934034jeahy1t8gpzpbwjj8kb7beta0--op-s3"), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -2128,35 +2137,35 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "us-east-1"), EpProp("name", "sigv4"), EpProp("signingName", "s3-outposts")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 264*/ + /*TEST CASE 265*/ {"S3 Outposts bucketAlias - No endpoint set for beta", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "test-accessp-o0b1d075431d83bebde8xz5w8ijx1qzlbp3i3kbeta0--op-s3"), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Expected a endpoint to be specified but no endpoint was found"} // expect }, - /*TEST CASE 265*/ + /*TEST CASE 266*/ {"S3 Outposts bucketAlias Invalid hardware type", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "test-accessp-h0000075431d83bebde8xz5w8ijx1qzlbp3i3kuse10--op-s3"), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/R"(Unrecognized hardware type: "Expected hardware type o or e but got h")"} // expect }, - /*TEST CASE 266*/ + /*TEST CASE 267*/ {"S3 Outposts bucketAlias Special character in Outpost Arn", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "test-accessp-o00000754%1d83bebde8xz5w8ijx1qzlbp3i3kuse10--op-s3"), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Invalid ARN: The outpost Id must only contain a-z, A-Z, 0-9 and `-`."} // expect }, - /*TEST CASE 267*/ + /*TEST CASE 268*/ {"S3 Outposts bucketAlias - No endpoint set for beta", // documentation {EpParam("UseFIPS", false), EpParam("Bucket", "test-accessp-e0b1d075431d83bebde8xz5w8ijx1qzlbp3i3ebeta0--op-s3"), EpParam("Region", "us-east-1"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"Expected a endpoint to be specified but no endpoint was found"} // expect }, - /*TEST CASE 268*/ + /*TEST CASE 269*/ {"S3 Snow with bucket", // documentation {EpParam("UseFIPS", false), EpParam("Endpoint", "http://10.0.1.12:433"), EpParam("Bucket", "bucketName"), EpParam("Region", "snow"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -2165,7 +2174,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "snow"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 269*/ + /*TEST CASE 270*/ {"S3 Snow without bucket", // documentation {EpParam("UseFIPS", false), EpParam("Endpoint", "https://10.0.1.12:433"), EpParam("Region", "snow"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params {}, // tags @@ -2173,7 +2182,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "snow"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 270*/ + /*TEST CASE 271*/ {"S3 Snow no port", // documentation {EpParam("UseFIPS", false), EpParam("Endpoint", "http://10.0.1.12"), EpParam("Bucket", "bucketName"), EpParam("Region", "snow"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params @@ -2182,7 +2191,7 @@ static const Aws::Vector TEST_CASES = { {/*properties*/{"authSchemes", {{EpProp("disableDoubleEncoding", true), EpProp("signingRegion", "snow"), EpProp("name", "sigv4"), EpProp("signingName", "s3")}}}}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 271*/ + /*TEST CASE 272*/ {"S3 Snow dns endpoint", // documentation {EpParam("UseFIPS", false), EpParam("Endpoint", "https://amazonaws.com"), EpParam("Bucket", "bucketName"), EpParam("Region", "snow"), EpParam("Accelerate", false), EpParam("UseDualStack", false)}, // params diff --git a/generated/tests/workspaces-thin-client-gen-tests/CMakeLists.txt b/generated/tests/workspaces-thin-client-gen-tests/CMakeLists.txt new file mode 100644 index 00000000000..2c90c42cf87 --- /dev/null +++ b/generated/tests/workspaces-thin-client-gen-tests/CMakeLists.txt @@ -0,0 +1,42 @@ +add_project(workspaces-thin-client-gen-tests + "Tests for the AWS WORKSPACES-THIN-CLIENT C++ SDK" + testing-resources + aws-cpp-sdk-workspaces-thin-client + aws-cpp-sdk-core) + +file(GLOB AWS_WORKSPACES-THIN-CLIENT_GENERATED_TEST_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_WORKSPACES-THIN-CLIENT_GENERATED_TEST_SRC}") +else() + add_executable(${PROJECT_NAME} "${AWS_WORKSPACES-THIN-CLIENT_GENERATED_TEST_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/tests/workspaces-thin-client-gen-tests/RunTests.cpp b/generated/tests/workspaces-thin-client-gen-tests/RunTests.cpp new file mode 100644 index 00000000000..f2f10a7c789 --- /dev/null +++ b/generated/tests/workspaces-thin-client-gen-tests/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/tests/workspaces-thin-client-gen-tests/WorkSpacesThinClientEndpointProviderTests.cpp b/generated/tests/workspaces-thin-client-gen-tests/WorkSpacesThinClientEndpointProviderTests.cpp new file mode 100644 index 00000000000..6e6a3635b87 --- /dev/null +++ b/generated/tests/workspaces-thin-client-gen-tests/WorkSpacesThinClientEndpointProviderTests.cpp @@ -0,0 +1,380 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + + +static const char* ALLOCATION_TAG = "AWSWorkSpacesThinClientEndpointProviderTests"; +using WorkSpacesThinClientEndpointProvider = Aws::WorkSpacesThinClient::Endpoint::WorkSpacesThinClientEndpointProvider; +using EndpointParameters = Aws::Vector; +using ResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; + +using EpParam = Aws::Endpoint::EndpointParameter; +using EpProp = Aws::Endpoint::EndpointParameter; // just a container to store test expectations +using ExpEpProps = Aws::UnorderedMap>>; +using ExpEpHeaders = Aws::UnorderedMap>; + +class WorkSpacesThinClientEndpointProviderTests : public ::testing::TestWithParam {}; + +struct WorkSpacesThinClientEndpointProviderEndpointTestCase +{ + using OperationParamsFromTest = EndpointParameters; + + struct Expect + { + struct Endpoint + { + Aws::String url; + ExpEpProps properties; + ExpEpHeaders headers; + } endpoint; + Aws::String error; + }; + struct OperationInput + { + Aws::String operationName; + OperationParamsFromTest operationParams; + OperationParamsFromTest builtinParams; + OperationParamsFromTest clientParams; + }; + + Aws::String documentation; + // Specification tells us it is Client Initialization parameters + // At the same time, specification tells us to test EndpointProvider not the client itself + // Hence params here will be set as a client params (just like a dedicated field above). + Aws::Vector params; + Aws::Vector tags; + Expect expect; + // Aws::Vector operationInput; +}; + +static const Aws::Vector TEST_CASES = { + /*TEST CASE 0*/ + {"For region us-east-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*epUrl*/"https://thinclient-fips.us-east-1.api.aws", + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 1*/ + {"For region us-east-1 with FIPS enabled and DualStack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://thinclient-fips.us-east-1.amazonaws.com", + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 2*/ + {"For region us-east-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*epUrl*/"https://thinclient.us-east-1.api.aws", + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 3*/ + {"For region us-east-1 with FIPS disabled and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://thinclient.us-east-1.amazonaws.com", + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 4*/ + {"For region cn-north-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "cn-north-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*epUrl*/"https://thinclient-fips.cn-north-1.api.amazonwebservices.com.cn", + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 5*/ + {"For region cn-north-1 with FIPS enabled and DualStack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "cn-north-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://thinclient-fips.cn-north-1.amazonaws.com.cn", + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 6*/ + {"For region cn-north-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "cn-north-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*epUrl*/"https://thinclient.cn-north-1.api.amazonwebservices.com.cn", + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 7*/ + {"For region cn-north-1 with FIPS disabled and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "cn-north-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://thinclient.cn-north-1.amazonaws.com.cn", + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 8*/ + {"For region us-gov-east-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-gov-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*epUrl*/"https://thinclient-fips.us-gov-east-1.api.aws", + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 9*/ + {"For region us-gov-east-1 with FIPS enabled and DualStack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-gov-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://thinclient-fips.us-gov-east-1.amazonaws.com", + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 10*/ + {"For region us-gov-east-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-gov-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*epUrl*/"https://thinclient.us-gov-east-1.api.aws", + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 11*/ + {"For region us-gov-east-1 with FIPS disabled and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-gov-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://thinclient.us-gov-east-1.amazonaws.com", + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 12*/ + {"For region us-iso-east-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-iso-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"FIPS and DualStack are enabled, but this partition does not support one or both"} // expect + }, + /*TEST CASE 13*/ + {"For region us-iso-east-1 with FIPS enabled and DualStack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-iso-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://thinclient-fips.us-iso-east-1.c2s.ic.gov", + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 14*/ + {"For region us-iso-east-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-iso-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"DualStack is enabled but this partition does not support DualStack"} // expect + }, + /*TEST CASE 15*/ + {"For region us-iso-east-1 with FIPS disabled and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-iso-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://thinclient.us-iso-east-1.c2s.ic.gov", + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 16*/ + {"For region us-isob-east-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-isob-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"FIPS and DualStack are enabled, but this partition does not support one or both"} // expect + }, + /*TEST CASE 17*/ + {"For region us-isob-east-1 with FIPS enabled and DualStack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-isob-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://thinclient-fips.us-isob-east-1.sc2s.sgov.gov", + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 18*/ + {"For region us-isob-east-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-isob-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"DualStack is enabled but this partition does not support DualStack"} // expect + }, + /*TEST CASE 19*/ + {"For region us-isob-east-1 with FIPS disabled and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-isob-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://thinclient.us-isob-east-1.sc2s.sgov.gov", + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 20*/ + {"For custom endpoint with region set and fips disabled and dualstack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Endpoint", "https://example.com"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://example.com", + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 21*/ + {"For custom endpoint with region not set and fips disabled and dualstack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Endpoint", "https://example.com"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://example.com", + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 22*/ + {"For custom endpoint with fips enabled and dualstack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("Endpoint", "https://example.com"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"Invalid Configuration: FIPS and custom endpoint are not supported"} // expect + }, + /*TEST CASE 23*/ + {"For custom endpoint with fips disabled and dualstack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Endpoint", "https://example.com"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"Invalid Configuration: Dualstack and custom endpoint are not supported"} // expect + }, + /*TEST CASE 24*/ + {"Missing region", // documentation + {}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"Invalid Configuration: Missing Region"} // expect + } +}; + +Aws::String RulesToSdkSignerName(const Aws::String& rulesSignerName) +{ + Aws::String sdkSigner = "NullSigner"; + if (rulesSignerName == "sigv4") { + sdkSigner = "SignatureV4"; + } else if (rulesSignerName == "sigv4a") { + sdkSigner = "AsymmetricSignatureV4"; + } else if (rulesSignerName == "none") { + sdkSigner = "NullSigner"; + } else if (rulesSignerName == "bearer") { + sdkSigner = "Bearer"; + } else { + sdkSigner = rulesSignerName; + } + + return sdkSigner; +} + +void ValidateOutcome(const ResolveEndpointOutcome& outcome, const WorkSpacesThinClientEndpointProviderEndpointTestCase::Expect& expect) +{ + if(!expect.error.empty()) + { + ASSERT_FALSE(outcome.IsSuccess()) << "Expected failure with message:\n" << expect.error; + ASSERT_EQ(outcome.GetError().GetMessage(), expect.error); + } + else + { + AWS_ASSERT_SUCCESS(outcome); + ASSERT_EQ(outcome.GetResult().GetURL(), expect.endpoint.url); + const auto expAuthSchemesIt = expect.endpoint.properties.find("authSchemes"); + if (expAuthSchemesIt != expect.endpoint.properties.end()) + { + // in the list of AuthSchemes, select the one with a highest priority + const Aws::Vector priotityList = {"sigv4a", "sigv4", "bearer", "none", ""}; + const auto expectedAuthSchemePropsIt = std::find_first_of(expAuthSchemesIt->second.begin(), expAuthSchemesIt->second.end(), + priotityList.begin(), priotityList.end(), [](const Aws::Vector& props, const Aws::String& expName) + { + const auto& propNameIt = std::find_if(props.begin(), props.end(), [](const EpProp& prop) + { + return prop.GetName() == "name"; + }); + assert(propNameIt != props.end()); + return propNameIt->GetStrValueNoCheck() == expName; + }); + assert(expectedAuthSchemePropsIt != expAuthSchemesIt->second.end()); + + const auto& endpointResultAttrs = outcome.GetResult().GetAttributes(); + ASSERT_TRUE(endpointResultAttrs) << "Expected non-empty EndpointAttributes (authSchemes)"; + for (const auto& expProperty : *expectedAuthSchemePropsIt) + { + if (expProperty.GetName() == "name") { + ASSERT_TRUE(!endpointResultAttrs->authScheme.GetName().empty()); + ASSERT_EQ(RulesToSdkSignerName(expProperty.GetStrValueNoCheck()), endpointResultAttrs->authScheme.GetName()); + } else if (expProperty.GetName() == "signingName") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetSigningName()); + ASSERT_EQ(expProperty.GetStrValueNoCheck(), endpointResultAttrs->authScheme.GetSigningName().value()); + } else if (expProperty.GetName() == "signingRegion") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetSigningRegion()); + ASSERT_EQ(expProperty.GetStrValueNoCheck(), endpointResultAttrs->authScheme.GetSigningRegion().value()); + } else if (expProperty.GetName() == "signingRegionSet") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetSigningRegionSet()); + ASSERT_EQ(expProperty.GetStrValueNoCheck(), endpointResultAttrs->authScheme.GetSigningRegionSet().value()); + } else if (expProperty.GetName() == "disableDoubleEncoding") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetDisableDoubleEncoding()); + ASSERT_EQ(expProperty.GetBoolValueNoCheck(), endpointResultAttrs->authScheme.GetDisableDoubleEncoding().value()); + } else { + FAIL() << "Unsupported Auth type property " << expProperty.GetName() << ". Need to update test."; + } + } + } + + EXPECT_EQ(expect.endpoint.headers.empty(), outcome.GetResult().GetHeaders().empty()); + for(const auto& expHeaderVec : expect.endpoint.headers) + { + const auto& retHeaderIt = outcome.GetResult().GetHeaders().find(expHeaderVec.first); + ASSERT_TRUE(retHeaderIt != outcome.GetResult().GetHeaders().end()); + + auto retHeaderVec = Aws::Utils::StringUtils::Split(retHeaderIt->second, ';'); + std::sort(retHeaderVec.begin(), retHeaderVec.end()); + + auto expHeaderVecSorted = expHeaderVec.second; + std::sort(expHeaderVecSorted.begin(), expHeaderVecSorted.end()); + + ASSERT_EQ(expHeaderVecSorted, retHeaderVec); + } + } +} + +TEST_P(WorkSpacesThinClientEndpointProviderTests, EndpointProviderTest) +{ + const size_t TEST_CASE_IDX = GetParam(); + ASSERT_LT(TEST_CASE_IDX, TEST_CASES.size()) << "Something is wrong with the test fixture itself."; + const WorkSpacesThinClientEndpointProviderEndpointTestCase& TEST_CASE = TEST_CASES.at(TEST_CASE_IDX); + SCOPED_TRACE(Aws::String("\nTEST CASE # ") + Aws::Utils::StringUtils::to_string(TEST_CASE_IDX) + ": " + TEST_CASE.documentation); + + std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG); + ASSERT_TRUE(endpointProvider) << "Failed to allocate/initialize WorkSpacesThinClientEndpointProvider"; + + EndpointParameters endpointParameters; + for(const auto& param : TEST_CASE.params) + { + endpointParameters.emplace(endpointParameters.end(), Aws::Endpoint::EndpointParameter(param)); + } + auto resolvedEndpointOutcome = endpointProvider->ResolveEndpoint(endpointParameters); + ValidateOutcome(resolvedEndpointOutcome, TEST_CASE.expect); + +#if 0 // temporarily disabled + for(const auto& operation : TEST_CASE.operationInput) + { + /* + * Most specific to least specific value locations: + staticContextParams + contextParam + clientContextParams + Built-In Bindings + Built-in binding default values + */ + const Aws::Vector> + operationInputParams = {std::cref(operation.builtinParams), std::cref(operation.clientParams), std::cref(operation.operationParams)}; + + for(const auto& paramSource : operationInputParams) + { + for(const auto& param : paramSource.get()) + { + endpointParameters.emplace(endpointParameters.end(), Aws::Endpoint::EndpointParameter(param)); + } + } + auto resolvedEndpointOutcomePerOperation = endpointProvider->ResolveEndpoint(endpointParameters); + ValidateOutcome(resolvedEndpointOutcomePerOperation, TEST_CASE.expect); + } +#endif +} + +INSTANTIATE_TEST_SUITE_P(EndpointTestsFromModel, + WorkSpacesThinClientEndpointProviderTests, + ::testing::Range((size_t) 0u, TEST_CASES.size())); 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 5a85acbe2a2..4a7aea6ddf6 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.208" +#define AWS_SDK_VERSION_STRING "1.11.209" #define AWS_SDK_VERSION_MAJOR 1 #define AWS_SDK_VERSION_MINOR 11 -#define AWS_SDK_VERSION_PATCH 208 +#define AWS_SDK_VERSION_PATCH 209 diff --git a/tools/code-generation/api-descriptions/accessanalyzer-2019-11-01.normal.json b/tools/code-generation/api-descriptions/accessanalyzer-2019-11-01.normal.json index 43b610ea9d8..92cd8f738e9 100644 --- a/tools/code-generation/api-descriptions/accessanalyzer-2019-11-01.normal.json +++ b/tools/code-generation/api-descriptions/accessanalyzer-2019-11-01.normal.json @@ -48,6 +48,44 @@ "documentation":"

      Cancels the requested policy generation.

      ", "idempotent":true }, + "CheckAccessNotGranted":{ + "name":"CheckAccessNotGranted", + "http":{ + "method":"POST", + "requestUri":"/policy/check-access-not-granted", + "responseCode":200 + }, + "input":{"shape":"CheckAccessNotGrantedRequest"}, + "output":{"shape":"CheckAccessNotGrantedResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"InvalidParameterException"}, + {"shape":"UnprocessableEntityException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

      Checks whether the specified access isn't allowed by a policy.

      " + }, + "CheckNoNewAccess":{ + "name":"CheckNoNewAccess", + "http":{ + "method":"POST", + "requestUri":"/policy/check-no-new-access", + "responseCode":200 + }, + "input":{"shape":"CheckNoNewAccessRequest"}, + "output":{"shape":"CheckNoNewAccessResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"InvalidParameterException"}, + {"shape":"UnprocessableEntityException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

      Checks whether new access is allowed for an updated policy when compared to the existing policy.

      You can find examples for reference policies and learn how to set up and run a custom policy check for new access in the IAM Access Analyzer custom policy checks samples repository on GitHub. The reference policies in this repository are meant to be passed to the existingPolicyDocument request parameter.

      " + }, "CreateAccessPreview":{ "name":"CreateAccessPreview", "http":{ @@ -235,6 +273,24 @@ ], "documentation":"

      Retrieves information about the specified finding.

      " }, + "GetFindingV2":{ + "name":"GetFindingV2", + "http":{ + "method":"GET", + "requestUri":"/findingv2/{id}", + "responseCode":200 + }, + "input":{"shape":"GetFindingV2Request"}, + "output":{"shape":"GetFindingV2Response"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

      Retrieves information about the specified finding.

      " + }, "GetGeneratedPolicy":{ "name":"GetGeneratedPolicy", "http":{ @@ -359,6 +415,24 @@ ], "documentation":"

      Retrieves a list of findings generated by the specified analyzer.

      To learn about filter keys that you can use to retrieve a list of findings, see IAM Access Analyzer filter keys in the IAM User Guide.

      " }, + "ListFindingsV2":{ + "name":"ListFindingsV2", + "http":{ + "method":"POST", + "requestUri":"/findingv2", + "responseCode":200 + }, + "input":{"shape":"ListFindingsV2Request"}, + "output":{"shape":"ListFindingsV2Response"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

      Retrieves a list of findings generated by the specified analyzer.

      To learn about filter keys that you can use to retrieve a list of findings, see IAM Access Analyzer filter keys in the IAM User Guide.

      " + }, "ListPolicyGenerations":{ "name":"ListPolicyGenerations", "http":{ @@ -524,6 +598,34 @@ } }, "shapes":{ + "Access":{ + "type":"structure", + "required":["actions"], + "members":{ + "actions":{ + "shape":"AccessActionsList", + "documentation":"

      A list of actions for the access permissions.

      " + } + }, + "documentation":"

      Contains information about actions that define permissions to check against a policy.

      " + }, + "AccessActionsList":{ + "type":"list", + "member":{"shape":"Action"}, + "max":100, + "min":0 + }, + "AccessCheckPolicyDocument":{ + "type":"string", + "sensitive":true + }, + "AccessCheckPolicyType":{ + "type":"string", + "enum":[ + "IDENTITY_POLICY", + "RESOURCE_POLICY" + ] + }, "AccessDeniedException":{ "type":"structure", "required":["message"], @@ -748,6 +850,7 @@ ] }, "AclUri":{"type":"string"}, + "Action":{"type":"string"}, "ActionList":{ "type":"list", "member":{"shape":"String"} @@ -842,6 +945,17 @@ "type":"string", "pattern":"[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:analyzer/.{1,255}" }, + "AnalyzerConfiguration":{ + "type":"structure", + "members":{ + "unusedAccess":{ + "shape":"UnusedAccessConfiguration", + "documentation":"

      Specifies the configuration of an unused access analyzer for an Amazon Web Services organization or account. External access analyzers do not support any configuration.

      " + } + }, + "documentation":"

      Contains information about the configuration of an unused access analyzer for an Amazon Web Services organization or account.

      ", + "union":true + }, "AnalyzerStatus":{ "type":"string", "enum":[ @@ -896,6 +1010,10 @@ "statusReason":{ "shape":"StatusReason", "documentation":"

      The statusReason provides more details about the current status of the analyzer. For example, if the creation for the analyzer fails, a Failed status is returned. For an analyzer with organization as the type, this failure can be due to an issue with creating the service-linked roles required in the member accounts of the Amazon Web Services organization.

      " + }, + "configuration":{ + "shape":"AnalyzerConfiguration", + "documentation":"

      Specifies whether the analyzer is an external access or unused access analyzer.

      " } }, "documentation":"

      Contains information about the analyzer.

      " @@ -980,6 +1098,104 @@ "members":{ } }, + "CheckAccessNotGrantedRequest":{ + "type":"structure", + "required":[ + "policyDocument", + "access", + "policyType" + ], + "members":{ + "policyDocument":{ + "shape":"AccessCheckPolicyDocument", + "documentation":"

      The JSON policy document to use as the content for the policy.

      " + }, + "access":{ + "shape":"CheckAccessNotGrantedRequestAccessList", + "documentation":"

      An access object containing the permissions that shouldn't be granted by the specified policy.

      " + }, + "policyType":{ + "shape":"AccessCheckPolicyType", + "documentation":"

      The type of policy. Identity policies grant permissions to IAM principals. Identity policies include managed and inline policies for IAM roles, users, and groups.

      Resource policies grant permissions on Amazon Web Services resources. Resource policies include trust policies for IAM roles and bucket policies for Amazon S3 buckets. You can provide a generic input such as identity policy or resource policy or a specific input such as managed policy or Amazon S3 bucket policy.

      " + } + } + }, + "CheckAccessNotGrantedRequestAccessList":{ + "type":"list", + "member":{"shape":"Access"}, + "max":1, + "min":0 + }, + "CheckAccessNotGrantedResponse":{ + "type":"structure", + "members":{ + "result":{ + "shape":"CheckAccessNotGrantedResult", + "documentation":"

      The result of the check for whether the access is allowed. If the result is PASS, the specified policy doesn't allow any of the specified permissions in the access object. If the result is FAIL, the specified policy might allow some or all of the permissions in the access object.

      " + }, + "message":{ + "shape":"String", + "documentation":"

      The message indicating whether the specified access is allowed.

      " + }, + "reasons":{ + "shape":"ReasonSummaryList", + "documentation":"

      A description of the reasoning of the result.

      " + } + } + }, + "CheckAccessNotGrantedResult":{ + "type":"string", + "enum":[ + "PASS", + "FAIL" + ] + }, + "CheckNoNewAccessRequest":{ + "type":"structure", + "required":[ + "newPolicyDocument", + "existingPolicyDocument", + "policyType" + ], + "members":{ + "newPolicyDocument":{ + "shape":"AccessCheckPolicyDocument", + "documentation":"

      The JSON policy document to use as the content for the updated policy.

      " + }, + "existingPolicyDocument":{ + "shape":"AccessCheckPolicyDocument", + "documentation":"

      The JSON policy document to use as the content for the existing policy.

      " + }, + "policyType":{ + "shape":"AccessCheckPolicyType", + "documentation":"

      The type of policy to compare. Identity policies grant permissions to IAM principals. Identity policies include managed and inline policies for IAM roles, users, and groups.

      Resource policies grant permissions on Amazon Web Services resources. Resource policies include trust policies for IAM roles and bucket policies for Amazon S3 buckets. You can provide a generic input such as identity policy or resource policy or a specific input such as managed policy or Amazon S3 bucket policy.

      " + } + } + }, + "CheckNoNewAccessResponse":{ + "type":"structure", + "members":{ + "result":{ + "shape":"CheckNoNewAccessResult", + "documentation":"

      The result of the check for new access. If the result is PASS, no new access is allowed by the updated policy. If the result is FAIL, the updated policy might allow new access.

      " + }, + "message":{ + "shape":"String", + "documentation":"

      The message indicating whether the updated policy allows new access.

      " + }, + "reasons":{ + "shape":"ReasonSummaryList", + "documentation":"

      A description of the reasoning of the result.

      " + } + } + }, + "CheckNoNewAccessResult":{ + "type":"string", + "enum":[ + "PASS", + "FAIL" + ] + }, "CloudTrailArn":{ "type":"string", "pattern":"arn:[^:]*:cloudtrail:[^:]*:[^:]*:trail/.{1,576}" @@ -1166,7 +1382,7 @@ }, "type":{ "shape":"Type", - "documentation":"

      The type of analyzer to create. Only ACCOUNT and ORGANIZATION analyzers are supported. You can create only one analyzer per account per Region. You can create up to 5 analyzers per organization per Region.

      " + "documentation":"

      The type of analyzer to create. Only ACCOUNT, ORGANIZATION, ACCOUNT_UNUSED_ACCESS, and ORGANIZTAION_UNUSED_ACCESS analyzers are supported. You can create only one analyzer per account per Region. You can create up to 5 analyzers per organization per Region.

      " }, "archiveRules":{ "shape":"InlineArchiveRulesList", @@ -1174,12 +1390,16 @@ }, "tags":{ "shape":"TagsMap", - "documentation":"

      The tags to apply to the analyzer.

      " + "documentation":"

      An array of key-value pairs to apply to the analyzer.

      " }, "clientToken":{ "shape":"String", "documentation":"

      A client token.

      ", "idempotencyToken":true + }, + "configuration":{ + "shape":"AnalyzerConfiguration", + "documentation":"

      Specifies the configuration of the analyzer. If the analyzer is an unused access analyzer, the specified scope of unused access is used for the configuration. If the analyzer is an external access analyzer, this field is not used.

      " } }, "documentation":"

      Creates an analyzer.

      " @@ -1346,6 +1566,33 @@ "documentation":"

      The proposed access control configuration for an Amazon EFS file system. You can propose a configuration for a new Amazon EFS file system or an existing Amazon EFS file system that you own by specifying the Amazon EFS policy. For more information, see Using file systems in Amazon EFS.

      • If the configuration is for an existing Amazon EFS file system and you do not specify the Amazon EFS policy, then the access preview uses the existing Amazon EFS policy for the file system.

      • If the access preview is for a new resource and you do not specify the policy, then the access preview assumes an Amazon EFS file system without a policy.

      • To propose deletion of an existing Amazon EFS file system policy, you can specify an empty string for the Amazon EFS policy.

      " }, "EfsFileSystemPolicy":{"type":"string"}, + "ExternalAccessDetails":{ + "type":"structure", + "required":["condition"], + "members":{ + "action":{ + "shape":"ActionList", + "documentation":"

      The action in the analyzed policy statement that an external principal has permission to use.

      " + }, + "condition":{ + "shape":"ConditionKeyMap", + "documentation":"

      The condition in the analyzed policy statement that resulted in an external access finding.

      " + }, + "isPublic":{ + "shape":"Boolean", + "documentation":"

      Specifies whether the external access finding is public.

      " + }, + "principal":{ + "shape":"PrincipalMap", + "documentation":"

      The external principal that has access to a resource within the zone of trust.

      " + }, + "sources":{ + "shape":"FindingSourceList", + "documentation":"

      The sources of the external access finding. This indicates how the access that generated the finding is granted. It is populated for Amazon S3 bucket findings.

      " + } + }, + "documentation":"

      Contains information about an external access finding.

      " + }, "FilterCriteriaMap":{ "type":"map", "key":{"shape":"String"}, @@ -1370,7 +1617,7 @@ }, "principal":{ "shape":"PrincipalMap", - "documentation":"

      The external principal that access to a resource within the zone of trust.

      " + "documentation":"

      The external principal that has access to a resource within the zone of trust.

      " }, "action":{ "shape":"ActionList", @@ -1431,6 +1678,37 @@ "UNCHANGED" ] }, + "FindingDetails":{ + "type":"structure", + "members":{ + "externalAccessDetails":{ + "shape":"ExternalAccessDetails", + "documentation":"

      The details for an external access analyzer finding.

      " + }, + "unusedPermissionDetails":{ + "shape":"UnusedPermissionDetails", + "documentation":"

      The details for an unused access analyzer finding with an unused permission finding type.

      " + }, + "unusedIamUserAccessKeyDetails":{ + "shape":"UnusedIamUserAccessKeyDetails", + "documentation":"

      The details for an unused access analyzer finding with an unused IAM user access key finding type.

      " + }, + "unusedIamRoleDetails":{ + "shape":"UnusedIamRoleDetails", + "documentation":"

      The details for an unused access analyzer finding with an unused IAM role finding type.

      " + }, + "unusedIamUserPasswordDetails":{ + "shape":"UnusedIamUserPasswordDetails", + "documentation":"

      The details for an unused access analyzer finding with an unused IAM user password finding type.

      " + } + }, + "documentation":"

      Contains information about an external access or unused access finding. Only one parameter can be used in a FindingDetails object.

      ", + "union":true + }, + "FindingDetailsList":{ + "type":"list", + "member":{"shape":"FindingDetails"} + }, "FindingId":{"type":"string"}, "FindingIdList":{ "type":"list", @@ -1565,10 +1843,79 @@ }, "documentation":"

      Contains information about a finding.

      " }, + "FindingSummaryV2":{ + "type":"structure", + "required":[ + "analyzedAt", + "createdAt", + "id", + "resourceType", + "resourceOwnerAccount", + "status", + "updatedAt" + ], + "members":{ + "analyzedAt":{ + "shape":"Timestamp", + "documentation":"

      The time at which the resource-based policy or IAM entity that generated the finding was analyzed.

      " + }, + "createdAt":{ + "shape":"Timestamp", + "documentation":"

      The time at which the finding was created.

      " + }, + "error":{ + "shape":"String", + "documentation":"

      The error that resulted in an Error finding.

      " + }, + "id":{ + "shape":"FindingId", + "documentation":"

      The ID of the finding.

      " + }, + "resource":{ + "shape":"String", + "documentation":"

      The resource that the external principal has access to.

      " + }, + "resourceType":{ + "shape":"ResourceType", + "documentation":"

      The type of the resource that the external principal has access to.

      " + }, + "resourceOwnerAccount":{ + "shape":"String", + "documentation":"

      The Amazon Web Services account ID that owns the resource.

      " + }, + "status":{ + "shape":"FindingStatus", + "documentation":"

      The status of the finding.

      " + }, + "updatedAt":{ + "shape":"Timestamp", + "documentation":"

      The time at which the finding was most recently updated.

      " + }, + "findingType":{ + "shape":"FindingType", + "documentation":"

      The type of the external access or unused access finding.

      " + } + }, + "documentation":"

      Contains information about a finding.

      " + }, + "FindingType":{ + "type":"string", + "enum":[ + "ExternalAccess", + "UnusedIAMRole", + "UnusedIAMUserAccessKey", + "UnusedIAMUserPassword", + "UnusedPermission" + ] + }, "FindingsList":{ "type":"list", "member":{"shape":"FindingSummary"} }, + "FindingsListV2":{ + "type":"list", + "member":{"shape":"FindingSummaryV2"} + }, "GeneratedPolicy":{ "type":"structure", "required":["policy"], @@ -1767,6 +2114,102 @@ }, "documentation":"

      The response to the request.

      " }, + "GetFindingV2Request":{ + "type":"structure", + "required":[ + "analyzerArn", + "id" + ], + "members":{ + "analyzerArn":{ + "shape":"AnalyzerArn", + "documentation":"

      The ARN of the analyzer that generated the finding.

      ", + "location":"querystring", + "locationName":"analyzerArn" + }, + "id":{ + "shape":"FindingId", + "documentation":"

      The ID of the finding to retrieve.

      ", + "location":"uri", + "locationName":"id" + }, + "maxResults":{ + "shape":"Integer", + "documentation":"

      The maximum number of results to return in the response.

      ", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"Token", + "documentation":"

      A token used for pagination of results returned.

      ", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "GetFindingV2Response":{ + "type":"structure", + "required":[ + "analyzedAt", + "createdAt", + "id", + "resourceType", + "resourceOwnerAccount", + "status", + "updatedAt", + "findingDetails" + ], + "members":{ + "analyzedAt":{ + "shape":"Timestamp", + "documentation":"

      The time at which the resource-based policy or IAM entity that generated the finding was analyzed.

      " + }, + "createdAt":{ + "shape":"Timestamp", + "documentation":"

      The time at which the finding was created.

      " + }, + "error":{ + "shape":"String", + "documentation":"

      An error.

      " + }, + "id":{ + "shape":"FindingId", + "documentation":"

      The ID of the finding to retrieve.

      " + }, + "nextToken":{ + "shape":"Token", + "documentation":"

      A token used for pagination of results returned.

      " + }, + "resource":{ + "shape":"String", + "documentation":"

      The resource that generated the finding.

      " + }, + "resourceType":{ + "shape":"ResourceType", + "documentation":"

      The type of the resource identified in the finding.

      " + }, + "resourceOwnerAccount":{ + "shape":"String", + "documentation":"

      Tye Amazon Web Services account ID that owns the resource.

      " + }, + "status":{ + "shape":"FindingStatus", + "documentation":"

      The status of the finding.

      " + }, + "updatedAt":{ + "shape":"Timestamp", + "documentation":"

      The time at which the finding was updated.

      " + }, + "findingDetails":{ + "shape":"FindingDetailsList", + "documentation":"

      A localized message that explains the finding and provides guidance on how to address it.

      " + }, + "findingType":{ + "shape":"FindingType", + "documentation":"

      The type of the finding. For external access analyzers, the type is ExternalAccess. For unused access analyzers, the type can be UnusedIAMRole, UnusedIAMUserAccessKey, UnusedIAMUserPassword, or UnusedPermission.

      " + } + } + }, "GetGeneratedPolicyRequest":{ "type":"structure", "required":["jobId"], @@ -1870,6 +2313,19 @@ }, "documentation":"

      This configuration sets the network origin for the Amazon S3 access point or multi-region access point to Internet.

      " }, + "InvalidParameterException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

      The specified parameter is invalid.

      ", + "error":{ + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "IssueCode":{"type":"string"}, "IssuingAccount":{"type":"string"}, "JobDetails":{ @@ -2282,6 +2738,43 @@ }, "documentation":"

      The response to the request.

      " }, + "ListFindingsV2Request":{ + "type":"structure", + "required":["analyzerArn"], + "members":{ + "analyzerArn":{ + "shape":"AnalyzerArn", + "documentation":"

      The ARN of the analyzer to retrieve findings from.

      " + }, + "filter":{ + "shape":"FilterCriteriaMap", + "documentation":"

      A filter to match for the findings to return.

      " + }, + "maxResults":{ + "shape":"Integer", + "documentation":"

      The maximum number of results to return in the response.

      " + }, + "nextToken":{ + "shape":"Token", + "documentation":"

      A token used for pagination of results returned.

      " + }, + "sort":{"shape":"SortCriteria"} + } + }, + "ListFindingsV2Response":{ + "type":"structure", + "required":["findings"], + "members":{ + "findings":{ + "shape":"FindingsListV2", + "documentation":"

      A list of findings retrieved from the analyzer that match the filter criteria specified, if any.

      " + }, + "nextToken":{ + "shape":"Token", + "documentation":"

      A token used for pagination of results returned.

      " + } + } + }, "ListPolicyGenerationsRequest":{ "type":"structure", "members":{ @@ -2608,6 +3101,28 @@ "SERVICE_LINKED_ROLE_CREATION_FAILED" ] }, + "ReasonSummary":{ + "type":"structure", + "members":{ + "description":{ + "shape":"String", + "documentation":"

      A description of the reasoning of a result of checking for access.

      " + }, + "statementIndex":{ + "shape":"Integer", + "documentation":"

      The index number of the reason statement.

      " + }, + "statementId":{ + "shape":"String", + "documentation":"

      The identifier for the reason statement.

      " + } + }, + "documentation":"

      Contains information about the reasoning why a check for access passed or failed.

      " + }, + "ReasonSummaryList":{ + "type":"list", + "member":{"shape":"ReasonSummary"} + }, "RegionList":{ "type":"list", "member":{"shape":"String"} @@ -3044,9 +3559,25 @@ "type":"string", "enum":[ "ACCOUNT", - "ORGANIZATION" + "ORGANIZATION", + "ACCOUNT_UNUSED_ACCESS", + "ORGANIZATION_UNUSED_ACCESS" ] }, + "UnprocessableEntityException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

      The specified entity could not be processed.

      ", + "error":{ + "httpStatusCode":422, + "senderFault":true + }, + "exception":true, + "retryable":{"throttling":false} + }, "UntagResourceRequest":{ "type":"structure", "required":[ @@ -3075,6 +3606,89 @@ }, "documentation":"

      The response to the request.

      " }, + "UnusedAccessConfiguration":{ + "type":"structure", + "members":{ + "unusedAccessAge":{ + "shape":"Integer", + "documentation":"

      The specified access age in days for which to generate findings for unused access. For example, if you specify 90 days, the analyzer will generate findings for IAM entities within the accounts of the selected organization for any access that hasn't been used in 90 or more days since the analyzer's last scan. You can choose a value between 1 and 180 days.

      " + } + }, + "documentation":"

      Contains information about an unused access analyzer.

      " + }, + "UnusedAction":{ + "type":"structure", + "required":["action"], + "members":{ + "action":{ + "shape":"String", + "documentation":"

      The action for which the unused access finding was generated.

      " + }, + "lastAccessed":{ + "shape":"Timestamp", + "documentation":"

      The time at which the action was last accessed.

      " + } + }, + "documentation":"

      Contains information about an unused access finding for an action. IAM Access Analyzer charges for unused access analysis based on the number of IAM roles and users analyzed per month. For more details on pricing, see IAM Access Analyzer pricing.

      " + }, + "UnusedActionList":{ + "type":"list", + "member":{"shape":"UnusedAction"} + }, + "UnusedIamRoleDetails":{ + "type":"structure", + "members":{ + "lastAccessed":{ + "shape":"Timestamp", + "documentation":"

      The time at which the role was last accessed.

      " + } + }, + "documentation":"

      Contains information about an unused access finding for an IAM role. IAM Access Analyzer charges for unused access analysis based on the number of IAM roles and users analyzed per month. For more details on pricing, see IAM Access Analyzer pricing.

      " + }, + "UnusedIamUserAccessKeyDetails":{ + "type":"structure", + "required":["accessKeyId"], + "members":{ + "accessKeyId":{ + "shape":"String", + "documentation":"

      The ID of the access key for which the unused access finding was generated.

      " + }, + "lastAccessed":{ + "shape":"Timestamp", + "documentation":"

      The time at which the access key was last accessed.

      " + } + }, + "documentation":"

      Contains information about an unused access finding for an IAM user access key. IAM Access Analyzer charges for unused access analysis based on the number of IAM roles and users analyzed per month. For more details on pricing, see IAM Access Analyzer pricing.

      " + }, + "UnusedIamUserPasswordDetails":{ + "type":"structure", + "members":{ + "lastAccessed":{ + "shape":"Timestamp", + "documentation":"

      The time at which the password was last accessed.

      " + } + }, + "documentation":"

      Contains information about an unused access finding for an IAM user password. IAM Access Analyzer charges for unused access analysis based on the number of IAM roles and users analyzed per month. For more details on pricing, see IAM Access Analyzer pricing.

      " + }, + "UnusedPermissionDetails":{ + "type":"structure", + "required":["serviceNamespace"], + "members":{ + "actions":{ + "shape":"UnusedActionList", + "documentation":"

      A list of unused actions for which the unused access finding was generated.

      " + }, + "serviceNamespace":{ + "shape":"String", + "documentation":"

      The namespace of the Amazon Web Services service that contains the unused actions.

      " + }, + "lastAccessed":{ + "shape":"Timestamp", + "documentation":"

      The time at which the permission last accessed.

      " + } + }, + "documentation":"

      Contains information about an unused access finding for a permission. IAM Access Analyzer charges for unused access analysis based on the number of IAM roles and users analyzed per month. For more details on pricing, see IAM Access Analyzer pricing.

      " + }, "UpdateArchiveRuleRequest":{ "type":"structure", "required":[ @@ -3213,7 +3827,7 @@ }, "policyType":{ "shape":"PolicyType", - "documentation":"

      The type of policy to validate. Identity policies grant permissions to IAM principals. Identity policies include managed and inline policies for IAM roles, users, and groups. They also include service-control policies (SCPs) that are attached to an Amazon Web Services organization, organizational unit (OU), or an account.

      Resource policies grant permissions on Amazon Web Services resources. Resource policies include trust policies for IAM roles and bucket policies for Amazon S3 buckets. You can provide a generic input such as identity policy or resource policy or a specific input such as managed policy or Amazon S3 bucket policy.

      " + "documentation":"

      The type of policy to validate. Identity policies grant permissions to IAM principals. Identity policies include managed and inline policies for IAM roles, users, and groups.

      Resource policies grant permissions on Amazon Web Services resources. Resource policies include trust policies for IAM roles and bucket policies for Amazon S3 buckets. You can provide a generic input such as identity policy or resource policy or a specific input such as managed policy or Amazon S3 bucket policy.

      Service control policies (SCPs) are a type of organization policy attached to an Amazon Web Services organization, organizational unit (OU), or an account.

      " }, "validatePolicyResourceType":{ "shape":"ValidatePolicyResourceType", @@ -3322,5 +3936,5 @@ "pattern":"vpc-([0-9a-f]){8}(([0-9a-f]){9})?" } }, - "documentation":"

      Identity and Access Management Access Analyzer helps identify potential resource-access risks by enabling you to identify any policies that grant access to an external principal. It does this by using logic-based reasoning to analyze resource-based policies in your Amazon Web Services environment. An external principal can be another Amazon Web Services account, a root user, an IAM user or role, a federated user, an Amazon Web Services service, or an anonymous user. You can also use IAM Access Analyzer to preview and validate public and cross-account access to your resources before deploying permissions changes. This guide describes the Identity and Access Management Access Analyzer operations that you can call programmatically. For general information about IAM Access Analyzer, see Identity and Access Management Access Analyzer in the IAM User Guide.

      To start using IAM Access Analyzer, you first need to create an analyzer.

      " + "documentation":"

      Identity and Access Management Access Analyzer helps you to set, verify, and refine your IAM policies by providing a suite of capabilities. Its features include findings for external and unused access, basic and custom policy checks for validating policies, and policy generation to generate fine-grained policies. To start using IAM Access Analyzer to identify external or unused access, you first need to create an analyzer.

      External access analyzers help identify potential risks of accessing resources by enabling you to identify any resource policies that grant access to an external principal. It does this by using logic-based reasoning to analyze resource-based policies in your Amazon Web Services environment. An external principal can be another Amazon Web Services account, a root user, an IAM user or role, a federated user, an Amazon Web Services service, or an anonymous user. You can also use IAM Access Analyzer to preview public and cross-account access to your resources before deploying permissions changes.

      Unused access analyzers help identify potential identity access risks by enabling you to identify unused IAM roles, unused access keys, unused console passwords, and IAM principals with unused service and action-level permissions.

      Beyond findings, IAM Access Analyzer provides basic and custom policy checks to validate IAM policies before deploying permissions changes. You can use policy generation to refine permissions by attaching a policy generated using access activity logged in CloudTrail logs.

      This guide describes the IAM Access Analyzer operations that you can call programmatically. For general information about IAM Access Analyzer, see Identity and Access Management Access Analyzer in the IAM User Guide.

      " } diff --git a/tools/code-generation/api-descriptions/amp-2020-08-01.normal.json b/tools/code-generation/api-descriptions/amp-2020-08-01.normal.json index c53356e8770..a6bff6e69a6 100644 --- a/tools/code-generation/api-descriptions/amp-2020-08-01.normal.json +++ b/tools/code-generation/api-descriptions/amp-2020-08-01.normal.json @@ -72,6 +72,27 @@ "documentation":"

      Create a rule group namespace.

      ", "idempotent":true }, + "CreateScraper":{ + "name":"CreateScraper", + "http":{ + "method":"POST", + "requestUri":"/scrapers", + "responseCode":202 + }, + "input":{"shape":"CreateScraperRequest"}, + "output":{"shape":"CreateScraperResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ServiceQuotaExceededException"} + ], + "documentation":"

      Create a scraper.

      ", + "idempotent":true + }, "CreateWorkspace":{ "name":"CreateWorkspace", "http":{ @@ -148,6 +169,26 @@ "documentation":"

      Delete a rule groups namespace.

      ", "idempotent":true }, + "DeleteScraper":{ + "name":"DeleteScraper", + "http":{ + "method":"DELETE", + "requestUri":"/scrapers/{scraperId}", + "responseCode":202 + }, + "input":{"shape":"DeleteScraperRequest"}, + "output":{"shape":"DeleteScraperResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

      Deletes a scraper.

      ", + "idempotent":true + }, "DeleteWorkspace":{ "name":"DeleteWorkspace", "http":{ @@ -220,6 +261,24 @@ ], "documentation":"

      Describe a rule groups namespace.

      " }, + "DescribeScraper":{ + "name":"DescribeScraper", + "http":{ + "method":"GET", + "requestUri":"/scrapers/{scraperId}", + "responseCode":200 + }, + "input":{"shape":"DescribeScraperRequest"}, + "output":{"shape":"DescribeScraperResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

      Describe an existing scraper.

      " + }, "DescribeWorkspace":{ "name":"DescribeWorkspace", "http":{ @@ -238,6 +297,22 @@ ], "documentation":"

      Describes an existing AMP workspace.

      " }, + "GetDefaultScraperConfiguration":{ + "name":"GetDefaultScraperConfiguration", + "http":{ + "method":"GET", + "requestUri":"/scraperconfiguration", + "responseCode":200 + }, + "input":{"shape":"GetDefaultScraperConfigurationRequest"}, + "output":{"shape":"GetDefaultScraperConfigurationResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

      Gets a default configuration.

      " + }, "ListRuleGroupsNamespaces":{ "name":"ListRuleGroupsNamespaces", "http":{ @@ -256,6 +331,23 @@ ], "documentation":"

      Lists rule groups namespaces.

      " }, + "ListScrapers":{ + "name":"ListScrapers", + "http":{ + "method":"GET", + "requestUri":"/scrapers", + "responseCode":200 + }, + "input":{"shape":"ListScrapersRequest"}, + "output":{"shape":"ListScrapersResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

      Lists all scrapers in a customer account, including scrapers being created or deleted. You may provide filters to return a more specific list of results.

      " + }, "ListTagsForResource":{ "name":"ListTagsForResource", "http":{ @@ -486,6 +578,23 @@ "UPDATE_FAILED" ] }, + "AmpConfiguration":{ + "type":"structure", + "required":["workspaceArn"], + "members":{ + "workspaceArn":{ + "shape":"WorkspaceArn", + "documentation":"

      The ARN of an AMP workspace.

      " + } + }, + "documentation":"

      A representation of an AMP destination.

      " + }, + "Blob":{"type":"blob"}, + "ClusterArn":{ + "type":"string", + "documentation":"

      The ARN of an EKS cluster.

      ", + "pattern":"arn:aws[-a-z]*:eks:[-a-z0-9]+:[0-9]{12}:cluster/.+" + }, "ConflictException":{ "type":"structure", "required":[ @@ -647,6 +756,69 @@ }, "documentation":"

      Represents the output of a CreateRuleGroupsNamespace operation.

      " }, + "CreateScraperRequest":{ + "type":"structure", + "required":[ + "scrapeConfiguration", + "source", + "destination" + ], + "members":{ + "alias":{ + "shape":"ScraperAlias", + "documentation":"

      An optional user-assigned alias for this scraper. This alias is for user reference and does not need to be unique.

      " + }, + "scrapeConfiguration":{ + "shape":"ScrapeConfiguration", + "documentation":"

      The configuration used to create the scraper.

      " + }, + "source":{ + "shape":"Source", + "documentation":"

      The source that the scraper will be discovering and collecting metrics from.

      " + }, + "destination":{ + "shape":"Destination", + "documentation":"

      The destination that the scraper will be producing metrics to.

      " + }, + "clientToken":{ + "shape":"IdempotencyToken", + "documentation":"

      Optional, unique, case-sensitive, user-provided identifier to ensure the idempotency of the request.

      ", + "idempotencyToken":true + }, + "tags":{ + "shape":"TagMap", + "documentation":"

      Optional, user-provided tags for this scraper.

      " + } + }, + "documentation":"

      Represents the input of a CreateScraper operation.

      " + }, + "CreateScraperResponse":{ + "type":"structure", + "required":[ + "scraperId", + "arn", + "status" + ], + "members":{ + "scraperId":{ + "shape":"ScraperId", + "documentation":"

      The generated ID of the scraper that was just created.

      " + }, + "arn":{ + "shape":"ScraperArn", + "documentation":"

      The ARN of the scraper that was just created.

      " + }, + "status":{ + "shape":"ScraperStatus", + "documentation":"

      The status of the scraper that was just created (usually CREATING).

      " + }, + "tags":{ + "shape":"TagMap", + "documentation":"

      The tags of this scraper.

      " + } + }, + "documentation":"

      Represents the output of a CreateScraper operation.

      " + }, "CreateWorkspaceRequest":{ "type":"structure", "members":{ @@ -762,6 +934,44 @@ }, "documentation":"

      Represents the input of a DeleteRuleGroupsNamespace operation.

      " }, + "DeleteScraperRequest":{ + "type":"structure", + "required":["scraperId"], + "members":{ + "scraperId":{ + "shape":"ScraperId", + "documentation":"

      The ID of the scraper to delete.

      ", + "location":"uri", + "locationName":"scraperId" + }, + "clientToken":{ + "shape":"IdempotencyToken", + "documentation":"

      Optional, unique, case-sensitive, user-provided identifier to ensure the idempotency of the request.

      ", + "idempotencyToken":true, + "location":"querystring", + "locationName":"clientToken" + } + }, + "documentation":"

      Represents the input of a DeleteScraper operation.

      " + }, + "DeleteScraperResponse":{ + "type":"structure", + "required":[ + "scraperId", + "status" + ], + "members":{ + "scraperId":{ + "shape":"ScraperId", + "documentation":"

      The ID of the scraper that was deleted.

      " + }, + "status":{ + "shape":"ScraperStatus", + "documentation":"

      The status of the scraper that is being deleted.

      " + } + }, + "documentation":"

      Represents the output of a DeleteScraper operation.

      " + }, "DeleteWorkspaceRequest":{ "type":"structure", "required":["workspaceId"], @@ -863,6 +1073,30 @@ }, "documentation":"

      Represents the output of a DescribeRuleGroupsNamespace operation.

      " }, + "DescribeScraperRequest":{ + "type":"structure", + "required":["scraperId"], + "members":{ + "scraperId":{ + "shape":"ScraperId", + "documentation":"

      The IDs of the scraper to describe.

      ", + "location":"uri", + "locationName":"scraperId" + } + }, + "documentation":"

      Represents the input of a DescribeScraper operation.

      " + }, + "DescribeScraperResponse":{ + "type":"structure", + "required":["scraper"], + "members":{ + "scraper":{ + "shape":"ScraperDescription", + "documentation":"

      The properties of the selected scrapers.

      " + } + }, + "documentation":"

      Represents the output of a DescribeScraper operation.

      " + }, "DescribeWorkspaceRequest":{ "type":"structure", "required":["workspaceId"], @@ -887,6 +1121,79 @@ }, "documentation":"

      Represents the output of a DescribeWorkspace operation.

      " }, + "Destination":{ + "type":"structure", + "members":{ + "ampConfiguration":{ + "shape":"AmpConfiguration", + "documentation":"

      A representation of an AMP destination.

      " + } + }, + "documentation":"

      A representation of a destination that a scraper can produce metrics to.

      ", + "union":true + }, + "EksConfiguration":{ + "type":"structure", + "required":[ + "clusterArn", + "subnetIds" + ], + "members":{ + "clusterArn":{ + "shape":"ClusterArn", + "documentation":"

      The ARN of an EKS cluster.

      " + }, + "securityGroupIds":{ + "shape":"SecurityGroupIds", + "documentation":"

      A list of security group IDs specified for VPC configuration.

      " + }, + "subnetIds":{ + "shape":"SubnetIds", + "documentation":"

      A list of subnet IDs specified for VPC configuration.

      " + } + }, + "documentation":"

      A representation of an EKS source.

      " + }, + "FilterKey":{ + "type":"string", + "documentation":"

      The name of the key to filter by.

      ", + "max":256, + "min":1 + }, + "FilterValue":{ + "type":"string", + "documentation":"

      The value of a given key to filter by.

      ", + "max":256, + "min":1 + }, + "FilterValues":{ + "type":"list", + "member":{"shape":"FilterValue"}, + "documentation":"

      A list of scraper filter values.

      ", + "max":20, + "min":1 + }, + "GetDefaultScraperConfigurationRequest":{ + "type":"structure", + "members":{ + }, + "documentation":"

      Represents the input of a GetDefaultScraperConfiguration operation.

      " + }, + "GetDefaultScraperConfigurationResponse":{ + "type":"structure", + "required":["configuration"], + "members":{ + "configuration":{ + "shape":"Blob", + "documentation":"

      The default configuration.

      " + } + }, + "documentation":"

      Represents the output of a GetDefaultScraperConfiguration operation.

      " + }, + "IamRoleArn":{ + "type":"string", + "documentation":"

      An ARN identifying an IAM role used by the scraper.

      " + }, "IdempotencyToken":{ "type":"string", "documentation":"

      An identifier used to ensure the idempotency of a write request.

      ", @@ -971,6 +1278,50 @@ }, "documentation":"

      Represents the output of a ListRuleGroupsNamespaces operation.

      " }, + "ListScrapersRequest":{ + "type":"structure", + "members":{ + "filters":{ + "shape":"ScraperFilters", + "documentation":"

      A list of scraper filters.

      ", + "location":"querystring" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

      Pagination token to request the next page in a paginated list. This token is obtained from the output of the previous ListScrapers request.

      ", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"ListScrapersRequestMaxResultsInteger", + "documentation":"

      Maximum results to return in response (default=100, maximum=1000).

      ", + "location":"querystring", + "locationName":"maxResults" + } + }, + "documentation":"

      Represents the input of a ListScrapers operation.

      " + }, + "ListScrapersRequestMaxResultsInteger":{ + "type":"integer", + "box":true, + "max":1000, + "min":1 + }, + "ListScrapersResponse":{ + "type":"structure", + "required":["scrapers"], + "members":{ + "scrapers":{ + "shape":"ScraperSummaryList", + "documentation":"

      The list of scrapers, filtered down if a set of filters was provided in the request.

      " + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

      Pagination token to use when requesting the next page in this list.

      " + } + }, + "documentation":"

      Represents the output of a ListScrapers operation.

      " + }, "ListTagsForResourceRequest":{ "type":"structure", "required":["resourceArn"], @@ -1100,7 +1451,9 @@ }, "PaginationToken":{ "type":"string", - "documentation":"

      A token used to access the next page in a paginated result set.

      " + "documentation":"

      A token used to access the next page in a paginated result set.

      ", + "max":1000, + "min":0 }, "PutAlertManagerDefinitionRequest":{ "type":"structure", @@ -1351,6 +1704,215 @@ "member":{"shape":"RuleGroupsNamespaceSummary"}, "documentation":"

      A list of rule groups namespace summary.

      " }, + "ScrapeConfiguration":{ + "type":"structure", + "members":{ + "configurationBlob":{ + "shape":"Blob", + "documentation":"

      Binary data representing a Prometheus configuration file.

      " + } + }, + "documentation":"

      A representation of a Prometheus configuration file.

      ", + "union":true + }, + "ScraperAlias":{ + "type":"string", + "documentation":"

      A user-assigned scraper alias.

      ", + "max":100, + "min":1, + "pattern":"[0-9A-Za-z][-.0-9A-Z_a-z]*" + }, + "ScraperArn":{ + "type":"string", + "documentation":"

      An ARN identifying a scrape configuration.

      " + }, + "ScraperDescription":{ + "type":"structure", + "required":[ + "scraperId", + "arn", + "roleArn", + "status", + "createdAt", + "lastModifiedAt", + "scrapeConfiguration", + "source", + "destination" + ], + "members":{ + "alias":{ + "shape":"ScraperAlias", + "documentation":"

      Alias of this scraper.

      " + }, + "scraperId":{ + "shape":"ScraperId", + "documentation":"

      Unique string identifying this scraper.

      " + }, + "arn":{ + "shape":"ScraperArn", + "documentation":"

      The Amazon Resource Name (ARN) of this scraper.

      " + }, + "roleArn":{ + "shape":"IamRoleArn", + "documentation":"

      The Amazon Resource Name (ARN) of the IAM role that provides permissions for the scraper to dsicover, collect, and produce metrics on your behalf.

      " + }, + "status":{ + "shape":"ScraperStatus", + "documentation":"

      The status of this scraper.

      " + }, + "createdAt":{ + "shape":"Timestamp", + "documentation":"

      The time when the scraper was created.

      " + }, + "lastModifiedAt":{ + "shape":"Timestamp", + "documentation":"

      The time when the scraper was last modified.

      " + }, + "tags":{ + "shape":"TagMap", + "documentation":"

      The tags of this scraper.

      " + }, + "statusReason":{ + "shape":"StatusReason", + "documentation":"

      The reason for failure if any.

      " + }, + "scrapeConfiguration":{ + "shape":"ScrapeConfiguration", + "documentation":"

      The configuration used to create the scraper.

      " + }, + "source":{ + "shape":"Source", + "documentation":"

      The source that the scraper is discovering and collecting metrics from.

      " + }, + "destination":{ + "shape":"Destination", + "documentation":"

      The destination that the scraper is producing metrics to.

      " + } + }, + "documentation":"

      Represents the properties of a scraper.

      " + }, + "ScraperFilters":{ + "type":"map", + "key":{ + "shape":"FilterKey", + "documentation":"

      The name of the key to filter by. Currently supported filter keys are 'status', 'sourceArn', 'destinationArn', and 'alias'.

      " + }, + "value":{ + "shape":"FilterValues", + "documentation":"

      The values of the given key to filter by.

      " + }, + "documentation":"

      A list of scraper filters.

      ", + "max":4, + "min":1 + }, + "ScraperId":{ + "type":"string", + "documentation":"

      A scraper ID.

      ", + "max":64, + "min":1, + "pattern":"[0-9A-Za-z][-.0-9A-Z_a-z]*" + }, + "ScraperStatus":{ + "type":"structure", + "required":["statusCode"], + "members":{ + "statusCode":{ + "shape":"ScraperStatusCode", + "documentation":"

      Status code of this scraper.

      " + } + }, + "documentation":"

      Represents the status of a scraper.

      " + }, + "ScraperStatusCode":{ + "type":"string", + "documentation":"

      State of a scraper.

      ", + "enum":[ + "CREATING", + "ACTIVE", + "DELETING", + "CREATION_FAILED", + "DELETION_FAILED" + ] + }, + "ScraperSummary":{ + "type":"structure", + "required":[ + "scraperId", + "arn", + "roleArn", + "status", + "createdAt", + "lastModifiedAt", + "source", + "destination" + ], + "members":{ + "alias":{ + "shape":"ScraperAlias", + "documentation":"

      Alias of this scraper.

      " + }, + "scraperId":{ + "shape":"ScraperId", + "documentation":"

      Unique string identifying this scraper.

      " + }, + "arn":{ + "shape":"ScraperArn", + "documentation":"

      The Amazon Resource Name (ARN) of this scraper.

      " + }, + "roleArn":{ + "shape":"IamRoleArn", + "documentation":"

      The Amazon Resource Name (ARN) of the IAM role that provides permissions for the scraper to dsicover, collect, and produce metrics on your behalf.

      " + }, + "status":{ + "shape":"ScraperStatus", + "documentation":"

      The status of this scraper.

      " + }, + "createdAt":{ + "shape":"Timestamp", + "documentation":"

      The time when the scraper was created.

      " + }, + "lastModifiedAt":{ + "shape":"Timestamp", + "documentation":"

      The time when the scraper was last modified.

      " + }, + "tags":{ + "shape":"TagMap", + "documentation":"

      The tags of this scraper.

      " + }, + "statusReason":{ + "shape":"StatusReason", + "documentation":"

      The reason for failure if any.

      " + }, + "source":{ + "shape":"Source", + "documentation":"

      The source that the scraper is discovering and collecting metrics from.

      " + }, + "destination":{ + "shape":"Destination", + "documentation":"

      The destination that the scraper is producing metrics to.

      " + } + }, + "documentation":"

      Represents a summary of the properties of a scraper.

      " + }, + "ScraperSummaryList":{ + "type":"list", + "member":{"shape":"ScraperSummary"}, + "documentation":"

      A list of scraper summaries.

      " + }, + "SecurityGroupId":{ + "type":"string", + "documentation":"

      ID of a VPC security group.

      ", + "max":255, + "min":0, + "pattern":"sg-[0-9a-z]+" + }, + "SecurityGroupIds":{ + "type":"list", + "member":{"shape":"SecurityGroupId"}, + "documentation":"

      A list of security group IDs specified for VPC configuration.

      ", + "max":5, + "min":1 + }, "ServiceQuotaExceededException":{ "type":"structure", "required":[ @@ -1389,7 +1951,38 @@ }, "exception":true }, + "Source":{ + "type":"structure", + "members":{ + "eksConfiguration":{ + "shape":"EksConfiguration", + "documentation":"

      A representation of an EKS source.

      " + } + }, + "documentation":"

      A representation of a source that a scraper can discover and collect metrics from.

      ", + "union":true + }, + "StatusReason":{ + "type":"string", + "documentation":"

      The reason for failure if any.

      ", + "max":256, + "min":1 + }, "String":{"type":"string"}, + "SubnetId":{ + "type":"string", + "documentation":"

      ID of a VPC subnet.

      ", + "max":255, + "min":0, + "pattern":"subnet-[0-9a-z]+" + }, + "SubnetIds":{ + "type":"list", + "member":{"shape":"SubnetId"}, + "documentation":"

      A list of subnet IDs specified for VPC configuration.

      ", + "max":5, + "min":1 + }, "TagKey":{ "type":"string", "max":128, @@ -1630,7 +2223,8 @@ }, "WorkspaceArn":{ "type":"string", - "documentation":"

      An ARN identifying a Workspace.

      " + "documentation":"

      An ARN identifying a Workspace.

      ", + "pattern":"arn:aws[-a-z]*:aps:[-a-z0-9]+:[0-9]{12}:workspace/.+" }, "WorkspaceDescription":{ "type":"structure", diff --git a/tools/code-generation/api-descriptions/bcm-data-exports-2023-11-26.normal.json b/tools/code-generation/api-descriptions/bcm-data-exports-2023-11-26.normal.json new file mode 100644 index 00000000000..246f6e54fab --- /dev/null +++ b/tools/code-generation/api-descriptions/bcm-data-exports-2023-11-26.normal.json @@ -0,0 +1,1114 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2023-11-26", + "endpointPrefix":"bcm-data-exports", + "jsonVersion":"1.1", + "protocol":"json", + "serviceFullName":"AWS Billing and Cost Management Data Exports", + "serviceId":"BCM Data Exports", + "signatureVersion":"v4", + "signingName":"bcm-data-exports", + "targetPrefix":"AWSBillingAndCostManagementDataExports", + "uid":"bcm-data-exports-2023-11-26" + }, + "operations":{ + "CreateExport":{ + "name":"CreateExport", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateExportRequest"}, + "output":{"shape":"CreateExportResponse"}, + "errors":[ + {"shape":"ServiceQuotaExceededException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ], + "documentation":"

      Creates a data export and specifies the data query, the delivery preference, and any optional resource tags.

      A DataQuery consists of both a QueryStatement and TableConfigurations.

      The QueryStatement is an SQL statement. Data Exports only supports a limited subset of the SQL syntax. For more information on the SQL syntax that is supported, see Data query. To view the available tables and columns, see the Data Exports table dictionary.

      The TableConfigurations is a collection of specified TableProperties for the table being queried in the QueryStatement. TableProperties are additional configurations you can provide to change the data and schema of a table. Each table can have different TableProperties. However, tables are not required to have any TableProperties. Each table property has a default value that it assumes if not specified. For more information on table configurations, see Data query. To view the table properties available for each table, see the Data Exports table dictionary or use the ListTables API to get a response of all tables and their available properties.

      " + }, + "DeleteExport":{ + "name":"DeleteExport", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteExportRequest"}, + "output":{"shape":"DeleteExportResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ], + "documentation":"

      Deletes an existing data export.

      ", + "idempotent":true + }, + "GetExecution":{ + "name":"GetExecution", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetExecutionRequest"}, + "output":{"shape":"GetExecutionResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ], + "documentation":"

      Exports data based on the source data update.

      " + }, + "GetExport":{ + "name":"GetExport", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetExportRequest"}, + "output":{"shape":"GetExportResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ], + "documentation":"

      Views the definition of an existing data export.

      " + }, + "GetTable":{ + "name":"GetTable", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetTableRequest"}, + "output":{"shape":"GetTableResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ], + "documentation":"

      Returns the metadata for the specified table and table properties. This includes the list of columns in the table schema, their data types, and column descriptions.

      " + }, + "ListExecutions":{ + "name":"ListExecutions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListExecutionsRequest"}, + "output":{"shape":"ListExecutionsResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ], + "documentation":"

      Lists the historical executions for the export.

      " + }, + "ListExports":{ + "name":"ListExports", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListExportsRequest"}, + "output":{"shape":"ListExportsResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ], + "documentation":"

      Lists all data export definitions.

      " + }, + "ListTables":{ + "name":"ListTables", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTablesRequest"}, + "output":{"shape":"ListTablesResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ], + "documentation":"

      Lists all available tables in data exports.

      " + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ], + "documentation":"

      List tags associated with an existing data export.

      " + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ], + "documentation":"

      Adds tags for an existing data export definition.

      " + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ], + "documentation":"

      Deletes tags associated with an existing data export definition.

      " + }, + "UpdateExport":{ + "name":"UpdateExport", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateExportRequest"}, + "output":{"shape":"UpdateExportResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ], + "documentation":"

      Updates an existing data export by overwriting all export parameters. All export parameters must be provided in the UpdateExport request.

      " + } + }, + "shapes":{ + "Arn":{ + "type":"string", + "max":2048, + "min":20, + "pattern":"^arn:aws[-a-z0-9]*:[-a-z0-9]+:[-a-z0-9]*:[0-9]{12}:[-a-zA-Z0-9/:_]+$" + }, + "Column":{ + "type":"structure", + "members":{ + "Description":{ + "shape":"GenericString", + "documentation":"

      The description for a column.

      " + }, + "Name":{ + "shape":"GenericString", + "documentation":"

      The column name.

      " + }, + "Type":{ + "shape":"GenericString", + "documentation":"

      The kind of data a column stores.

      " + } + }, + "documentation":"

      Includes basic information for a data column such as its description, name, and type.

      " + }, + "ColumnList":{ + "type":"list", + "member":{"shape":"Column"} + }, + "CompressionOption":{ + "type":"string", + "enum":[ + "GZIP", + "PARQUET" + ] + }, + "CreateExportRequest":{ + "type":"structure", + "required":["Export"], + "members":{ + "Export":{ + "shape":"Export", + "documentation":"

      The details of the export, including data query, name, description, and destination configuration.

      " + }, + "ResourceTags":{ + "shape":"ResourceTagList", + "documentation":"

      An optional list of tags to associate with the specified export. Each tag consists of a key and a value, and each key must be unique for the resource.

      " + } + } + }, + "CreateExportResponse":{ + "type":"structure", + "members":{ + "ExportArn":{ + "shape":"Arn", + "documentation":"

      The Amazon Resource Name (ARN) for this export.

      " + } + } + }, + "DataQuery":{ + "type":"structure", + "required":["QueryStatement"], + "members":{ + "QueryStatement":{ + "shape":"QueryStatement", + "documentation":"

      The query statement.

      " + }, + "TableConfigurations":{ + "shape":"TableConfigurations", + "documentation":"

      The table configuration.

      " + } + }, + "documentation":"

      The SQL query of column selections and row filters from the data table you want.

      " + }, + "DeleteExportRequest":{ + "type":"structure", + "required":["ExportArn"], + "members":{ + "ExportArn":{ + "shape":"Arn", + "documentation":"

      The Amazon Resource Name (ARN) for this export.

      " + } + } + }, + "DeleteExportResponse":{ + "type":"structure", + "members":{ + "ExportArn":{ + "shape":"Arn", + "documentation":"

      The Amazon Resource Name (ARN) for this export.

      " + } + } + }, + "DestinationConfigurations":{ + "type":"structure", + "required":["S3Destination"], + "members":{ + "S3Destination":{ + "shape":"S3Destination", + "documentation":"

      An object that describes the destination of the data exports file.

      " + } + }, + "documentation":"

      The destinations used for data exports.

      " + }, + "ExecutionReference":{ + "type":"structure", + "required":[ + "ExecutionId", + "ExecutionStatus" + ], + "members":{ + "ExecutionId":{ + "shape":"GenericString", + "documentation":"

      The ID for this specific execution.

      " + }, + "ExecutionStatus":{ + "shape":"ExecutionStatus", + "documentation":"

      The status of this specific execution.

      " + } + }, + "documentation":"

      The reference for the data export update.

      " + }, + "ExecutionReferenceList":{ + "type":"list", + "member":{"shape":"ExecutionReference"} + }, + "ExecutionStatus":{ + "type":"structure", + "members":{ + "CompletedAt":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

      The time when the execution was completed.

      " + }, + "CreatedAt":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

      The time when the execution was created.

      " + }, + "LastUpdatedAt":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

      The time when the execution was last updated.

      " + }, + "StatusCode":{ + "shape":"ExecutionStatusCode", + "documentation":"

      The code for the status of the execution.

      " + }, + "StatusReason":{ + "shape":"ExecutionStatusReason", + "documentation":"

      The reason for the failed status.

      " + } + }, + "documentation":"

      The status of the execution.

      " + }, + "ExecutionStatusCode":{ + "type":"string", + "enum":[ + "INITIATION_IN_PROCESS", + "QUERY_QUEUED", + "QUERY_IN_PROCESS", + "QUERY_FAILURE", + "DELIVERY_IN_PROCESS", + "DELIVERY_SUCCESS", + "DELIVERY_FAILURE" + ] + }, + "ExecutionStatusReason":{ + "type":"string", + "enum":[ + "INSUFFICIENT_PERMISSION", + "BILL_OWNER_CHANGED", + "INTERNAL_FAILURE" + ] + }, + "Export":{ + "type":"structure", + "required":[ + "DataQuery", + "DestinationConfigurations", + "Name", + "RefreshCadence" + ], + "members":{ + "DataQuery":{ + "shape":"DataQuery", + "documentation":"

      The data query for this specific data export.

      " + }, + "Description":{ + "shape":"GenericString", + "documentation":"

      The description for this specific data export.

      " + }, + "DestinationConfigurations":{ + "shape":"DestinationConfigurations", + "documentation":"

      The destination configuration for this specific data export.

      " + }, + "ExportArn":{ + "shape":"Arn", + "documentation":"

      The Amazon Resource Name (ARN) for this export.

      " + }, + "Name":{ + "shape":"ExportName", + "documentation":"

      The name of this specific data export.

      " + }, + "RefreshCadence":{ + "shape":"RefreshCadence", + "documentation":"

      The cadence for Amazon Web Services to update the export in your S3 bucket.

      " + } + }, + "documentation":"

      The details that are available for an export.

      " + }, + "ExportName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^[0-9A-Za-z!\\-_.*\\'()]+$" + }, + "ExportReference":{ + "type":"structure", + "required":[ + "ExportArn", + "ExportName", + "ExportStatus" + ], + "members":{ + "ExportArn":{ + "shape":"Arn", + "documentation":"

      The Amazon Resource Name (ARN) for this export.

      " + }, + "ExportName":{ + "shape":"ExportName", + "documentation":"

      The name of this specific data export.

      " + }, + "ExportStatus":{ + "shape":"ExportStatus", + "documentation":"

      The status of this specific data export.

      " + } + }, + "documentation":"

      The reference details for a given export.

      " + }, + "ExportReferenceList":{ + "type":"list", + "member":{"shape":"ExportReference"} + }, + "ExportStatus":{ + "type":"structure", + "members":{ + "CreatedAt":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

      The timestamp of when the export was created.

      " + }, + "LastRefreshedAt":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

      The timestamp of when the export was last generated.

      " + }, + "LastUpdatedAt":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

      The timestamp of when the export was updated.

      " + }, + "StatusCode":{ + "shape":"ExportStatusCode", + "documentation":"

      The status code for the request.

      " + }, + "StatusReason":{ + "shape":"ExecutionStatusReason", + "documentation":"

      The description for the status code.

      " + } + }, + "documentation":"

      The status of the data export.

      " + }, + "ExportStatusCode":{ + "type":"string", + "enum":[ + "HEALTHY", + "UNHEALTHY" + ] + }, + "FormatOption":{ + "type":"string", + "enum":[ + "TEXT_OR_CSV", + "PARQUET" + ] + }, + "FrequencyOption":{ + "type":"string", + "enum":["SYNCHRONOUS"] + }, + "GenericString":{ + "type":"string", + "max":1024, + "min":0, + "pattern":"^[\\S\\s]*$" + }, + "GenericStringList":{ + "type":"list", + "member":{"shape":"GenericString"} + }, + "GetExecutionRequest":{ + "type":"structure", + "required":[ + "ExecutionId", + "ExportArn" + ], + "members":{ + "ExecutionId":{ + "shape":"GenericString", + "documentation":"

      The ID for this specific execution.

      " + }, + "ExportArn":{ + "shape":"Arn", + "documentation":"

      The Amazon Resource Name (ARN) of the Export object that generated this specific execution.

      " + } + } + }, + "GetExecutionResponse":{ + "type":"structure", + "members":{ + "ExecutionId":{ + "shape":"GenericString", + "documentation":"

      The ID for this specific execution.

      " + }, + "ExecutionStatus":{ + "shape":"ExecutionStatus", + "documentation":"

      The status of this specific execution.

      " + }, + "Export":{ + "shape":"Export", + "documentation":"

      The export data for this specific execution. This export data is a snapshot from when the execution was generated. The data could be different from the current export data if the export was updated since the execution was generated.

      " + } + } + }, + "GetExportRequest":{ + "type":"structure", + "required":["ExportArn"], + "members":{ + "ExportArn":{ + "shape":"Arn", + "documentation":"

      The Amazon Resource Name (ARN) for this export.

      " + } + } + }, + "GetExportResponse":{ + "type":"structure", + "members":{ + "Export":{ + "shape":"Export", + "documentation":"

      The data for this specific export.

      " + }, + "ExportStatus":{ + "shape":"ExportStatus", + "documentation":"

      The status of this specific export.

      " + } + } + }, + "GetTableRequest":{ + "type":"structure", + "required":["TableName"], + "members":{ + "TableName":{ + "shape":"TableName", + "documentation":"

      The name of the table.

      " + }, + "TableProperties":{ + "shape":"TableProperties", + "documentation":"

      TableProperties are additional configurations you can provide to change the data and schema of a table. Each table can have different TableProperties. Tables are not required to have any TableProperties. Each table property has a default value that it assumes if not specified.

      " + } + } + }, + "GetTableResponse":{ + "type":"structure", + "members":{ + "Description":{ + "shape":"GenericString", + "documentation":"

      The table description.

      " + }, + "Schema":{ + "shape":"ColumnList", + "documentation":"

      The schema of the table.

      " + }, + "TableName":{ + "shape":"TableName", + "documentation":"

      The name of the table.

      " + }, + "TableProperties":{ + "shape":"TableProperties", + "documentation":"

      TableProperties are additional configurations you can provide to change the data and schema of a table. Each table can have different TableProperties. Tables are not required to have any TableProperties. Each table property has a default value that it assumes if not specified.

      " + } + } + }, + "InternalServerException":{ + "type":"structure", + "required":["Message"], + "members":{ + "Message":{"shape":"GenericString"} + }, + "documentation":"

      An error on the server occurred during the processing of your request. Try again later.

      ", + "exception":true, + "fault":true + }, + "ListExecutionsRequest":{ + "type":"structure", + "required":["ExportArn"], + "members":{ + "ExportArn":{ + "shape":"Arn", + "documentation":"

      The Amazon Resource Name (ARN) for this export.

      " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

      The maximum number of objects that are returned for the request.

      " + }, + "NextToken":{ + "shape":"NextPageToken", + "documentation":"

      The token to retrieve the next set of results.

      " + } + } + }, + "ListExecutionsResponse":{ + "type":"structure", + "members":{ + "Executions":{ + "shape":"ExecutionReferenceList", + "documentation":"

      The list of executions.

      " + }, + "NextToken":{ + "shape":"NextPageToken", + "documentation":"

      The token to retrieve the next set of results.

      " + } + } + }, + "ListExportsRequest":{ + "type":"structure", + "members":{ + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

      The maximum number of objects that are returned for the request.

      " + }, + "NextToken":{ + "shape":"NextPageToken", + "documentation":"

      The token to retrieve the next set of results.

      " + } + } + }, + "ListExportsResponse":{ + "type":"structure", + "members":{ + "Exports":{ + "shape":"ExportReferenceList", + "documentation":"

      The details of the exports, including name and export status.

      " + }, + "NextToken":{ + "shape":"NextPageToken", + "documentation":"

      The token to retrieve the next set of results.

      " + } + } + }, + "ListTablesRequest":{ + "type":"structure", + "members":{ + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

      The maximum number of objects that are returned for the request.

      " + }, + "NextToken":{ + "shape":"NextPageToken", + "documentation":"

      The token to retrieve the next set of results.

      " + } + } + }, + "ListTablesResponse":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextPageToken", + "documentation":"

      The token to retrieve the next set of results.

      " + }, + "Tables":{ + "shape":"TableList", + "documentation":"

      The list of tables.

      " + } + } + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

      The maximum number of objects that are returned for the request.

      " + }, + "NextToken":{ + "shape":"NextPageToken", + "documentation":"

      The token to retrieve the next set of results.

      " + }, + "ResourceArn":{ + "shape":"Arn", + "documentation":"

      The unique identifier for the resource.

      " + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextPageToken", + "documentation":"

      The token to retrieve the next set of results.

      " + }, + "ResourceTags":{ + "shape":"ResourceTagList", + "documentation":"

      An optional list of tags to associate with the specified export. Each tag consists of a key and a value, and each key must be unique for the resource.

      " + } + } + }, + "MaxResults":{ + "type":"integer", + "box":true, + "min":1 + }, + "NextPageToken":{ + "type":"string", + "max":8192, + "min":0, + "pattern":"^[\\S\\s]*$" + }, + "OverwriteOption":{ + "type":"string", + "enum":[ + "CREATE_NEW_REPORT", + "OVERWRITE_REPORT" + ] + }, + "QueryStatement":{ + "type":"string", + "max":36000, + "min":1, + "pattern":"^[\\S\\s]*$" + }, + "RefreshCadence":{ + "type":"structure", + "required":["Frequency"], + "members":{ + "Frequency":{ + "shape":"FrequencyOption", + "documentation":"

      The frequency that data exports are updated. The export refreshes each time the source data updates, up to three times daily.

      " + } + }, + "documentation":"

      The cadence for Amazon Web Services to update the data export in your S3 bucket.

      " + }, + "ResourceNotFoundException":{ + "type":"structure", + "required":[ + "Message", + "ResourceId", + "ResourceType" + ], + "members":{ + "Message":{"shape":"GenericString"}, + "ResourceId":{ + "shape":"GenericString", + "documentation":"

      The identifier of the resource that was not found.

      " + }, + "ResourceType":{ + "shape":"GenericString", + "documentation":"

      The type of the resource that was not found.

      " + } + }, + "documentation":"

      The specified Amazon Resource Name (ARN) in the request doesn't exist.

      ", + "exception":true + }, + "ResourceTag":{ + "type":"structure", + "required":[ + "Key", + "Value" + ], + "members":{ + "Key":{ + "shape":"ResourceTagKey", + "documentation":"

      The key that's associated with the tag.

      " + }, + "Value":{ + "shape":"ResourceTagValue", + "documentation":"

      The value that's associated with the tag.

      " + } + }, + "documentation":"

      The tag structure that contains a tag key and value.

      " + }, + "ResourceTagKey":{ + "type":"string", + "max":128, + "min":1 + }, + "ResourceTagKeyList":{ + "type":"list", + "member":{"shape":"ResourceTagKey"}, + "max":200, + "min":0 + }, + "ResourceTagList":{ + "type":"list", + "member":{"shape":"ResourceTag"}, + "max":200, + "min":0 + }, + "ResourceTagValue":{ + "type":"string", + "max":256, + "min":0 + }, + "S3Destination":{ + "type":"structure", + "required":[ + "S3Bucket", + "S3OutputConfigurations", + "S3Prefix", + "S3Region" + ], + "members":{ + "S3Bucket":{ + "shape":"GenericString", + "documentation":"

      The name of the Amazon S3 bucket used as the destination of a data export file.

      " + }, + "S3OutputConfigurations":{ + "shape":"S3OutputConfigurations", + "documentation":"

      The output configuration for the data export.

      " + }, + "S3Prefix":{ + "shape":"GenericString", + "documentation":"

      The S3 path prefix you want prepended to the name of your data export.

      " + }, + "S3Region":{ + "shape":"GenericString", + "documentation":"

      The S3 bucket Region.

      " + } + }, + "documentation":"

      Describes the destination Amazon Simple Storage Service (Amazon S3) bucket name and object keys of a data exports file.

      " + }, + "S3OutputConfigurations":{ + "type":"structure", + "required":[ + "Compression", + "Format", + "OutputType", + "Overwrite" + ], + "members":{ + "Compression":{ + "shape":"CompressionOption", + "documentation":"

      The compression type for the data export.

      " + }, + "Format":{ + "shape":"FormatOption", + "documentation":"

      The file format for the data export.

      " + }, + "OutputType":{ + "shape":"S3OutputType", + "documentation":"

      The output type for the data export.

      " + }, + "Overwrite":{ + "shape":"OverwriteOption", + "documentation":"

      The rule to follow when generating a version of the data export file. You have the choice to overwrite the previous version or to be delivered in addition to the previous versions. Overwriting exports can save on Amazon S3 storage costs. Creating new export versions allows you to track the changes in cost and usage data over time.

      " + } + }, + "documentation":"

      The compression type, file format, and overwrite preference for the data export.

      " + }, + "S3OutputType":{ + "type":"string", + "enum":["CUSTOM"] + }, + "ServiceQuotaExceededException":{ + "type":"structure", + "required":[ + "Message", + "QuotaCode", + "ServiceCode" + ], + "members":{ + "Message":{"shape":"GenericString"}, + "QuotaCode":{ + "shape":"GenericString", + "documentation":"

      The quota code that was exceeded.

      " + }, + "ResourceId":{ + "shape":"GenericString", + "documentation":"

      The identifier of the resource that exceeded quota.

      " + }, + "ResourceType":{ + "shape":"GenericString", + "documentation":"

      The type of the resource that exceeded quota.

      " + }, + "ServiceCode":{ + "shape":"GenericString", + "documentation":"

      The service code that exceeded quota. It will always be “AWSBillingAndCostManagementDataExports”.

      " + } + }, + "documentation":"

      You've reached the limit on the number of resources you can create, or exceeded the size of an individual resource.

      ", + "exception":true + }, + "SyntheticTimestamp_date_time":{ + "type":"timestamp", + "timestampFormat":"iso8601" + }, + "Table":{ + "type":"structure", + "members":{ + "Description":{ + "shape":"GenericString", + "documentation":"

      The description for the table.

      " + }, + "TableName":{ + "shape":"TableName", + "documentation":"

      The name of the table.

      " + }, + "TableProperties":{ + "shape":"TablePropertyDescriptionList", + "documentation":"

      The properties for the table.

      " + } + }, + "documentation":"

      The details for the data export table.

      " + }, + "TableConfigurations":{ + "type":"map", + "key":{"shape":"TableName"}, + "value":{"shape":"TableProperties"} + }, + "TableList":{ + "type":"list", + "member":{"shape":"Table"} + }, + "TableName":{ + "type":"string", + "max":1024, + "min":0, + "pattern":"^[\\S\\s]*$" + }, + "TableProperties":{ + "type":"map", + "key":{"shape":"TableProperty"}, + "value":{"shape":"GenericString"} + }, + "TableProperty":{ + "type":"string", + "max":1024, + "min":0, + "pattern":"^[\\S\\s]*$" + }, + "TablePropertyDescription":{ + "type":"structure", + "members":{ + "DefaultValue":{ + "shape":"GenericString", + "documentation":"

      The default value for the table.

      " + }, + "Description":{ + "shape":"GenericString", + "documentation":"

      The description for the table.

      " + }, + "Name":{ + "shape":"GenericString", + "documentation":"

      The name of the table.

      " + }, + "ValidValues":{ + "shape":"GenericStringList", + "documentation":"

      The valid values for the table.

      " + } + }, + "documentation":"

      The properties for the data export table.

      " + }, + "TablePropertyDescriptionList":{ + "type":"list", + "member":{"shape":"TablePropertyDescription"} + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "ResourceTags" + ], + "members":{ + "ResourceArn":{ + "shape":"Arn", + "documentation":"

      The unique identifier for the resource.

      " + }, + "ResourceTags":{ + "shape":"ResourceTagList", + "documentation":"

      The tags to associate with the resource. Each tag consists of a key and a value, and each key must be unique for the resource.

      " + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "ThrottlingException":{ + "type":"structure", + "required":["Message"], + "members":{ + "Message":{"shape":"GenericString"}, + "QuotaCode":{ + "shape":"GenericString", + "documentation":"

      The quota code that exceeded the throttling limit.

      " + }, + "ServiceCode":{ + "shape":"GenericString", + "documentation":"

      The service code that exceeded the throttling limit. It will always be “AWSBillingAndCostManagementDataExports”.

      " + } + }, + "documentation":"

      The request was denied due to request throttling.

      ", + "exception":true + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "ResourceTagKeys" + ], + "members":{ + "ResourceArn":{ + "shape":"Arn", + "documentation":"

      The unique identifier for the resource.

      " + }, + "ResourceTagKeys":{ + "shape":"ResourceTagKeyList", + "documentation":"

      The tag keys that are associated with the resource ARN.

      " + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateExportRequest":{ + "type":"structure", + "required":[ + "Export", + "ExportArn" + ], + "members":{ + "Export":{ + "shape":"Export", + "documentation":"

      The name and query details for the export.

      " + }, + "ExportArn":{ + "shape":"Arn", + "documentation":"

      The Amazon Resource Name (ARN) for this export.

      " + } + } + }, + "UpdateExportResponse":{ + "type":"structure", + "members":{ + "ExportArn":{ + "shape":"Arn", + "documentation":"

      The Amazon Resource Name (ARN) for this export.

      " + } + } + }, + "ValidationException":{ + "type":"structure", + "required":["Message"], + "members":{ + "Fields":{ + "shape":"ValidationExceptionFieldList", + "documentation":"

      The list of fields that are invalid.

      " + }, + "Message":{"shape":"GenericString"}, + "Reason":{ + "shape":"ValidationExceptionReason", + "documentation":"

      The reason for the validation exception.

      " + } + }, + "documentation":"

      The input fails to satisfy the constraints specified by an Amazon Web Services service.

      ", + "exception":true + }, + "ValidationExceptionField":{ + "type":"structure", + "required":[ + "Message", + "Name" + ], + "members":{ + "Message":{ + "shape":"GenericString", + "documentation":"

      A message with the reason for the validation exception error.

      " + }, + "Name":{ + "shape":"GenericString", + "documentation":"

      The field name where the invalid entry was detected.

      " + } + }, + "documentation":"

      The input failed to meet the constraints specified by the Amazon Web Services service in a specified field.

      " + }, + "ValidationExceptionFieldList":{ + "type":"list", + "member":{"shape":"ValidationExceptionField"} + }, + "ValidationExceptionReason":{ + "type":"string", + "enum":[ + "unknownOperation", + "cannotParse", + "fieldValidationFailed", + "other" + ] + } + }, + "documentation":"

      You can use the Data Exports API to create customized exports from multiple Amazon Web Services cost management and billing datasets, such as cost and usage data and cost optimization recommendations.

      The Data Exports API provides the following endpoint:

      • https://bcm-data-exports.us-east-1.api.aws

      " +} 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 6b81b942863..aa670f6285d 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 @@ -200,9 +200,11 @@ {"shape":"NotOrganizationMasterAccountException"}, {"shape":"NoManagementAccountSLRExistsException"}, {"shape":"ChannelExistsForEDSException"}, - {"shape":"InsufficientDependencyServiceAccessPermissionException"} + {"shape":"InsufficientDependencyServiceAccessPermissionException"}, + {"shape":"ConflictException"}, + {"shape":"EventDataStoreFederationEnabledException"} ], - "documentation":"

      Disables the event data store specified by EventDataStore, which accepts an event data store ARN. After you run DeleteEventDataStore, the event data store enters a PENDING_DELETION state, and is automatically deleted after a wait period of seven days. TerminationProtectionEnabled must be set to False on the event data store; this operation cannot work if TerminationProtectionEnabled is True.

      After you run DeleteEventDataStore on an event data store, you cannot run ListQueries, DescribeQuery, or GetQueryResults on queries that are using an event data store in a PENDING_DELETION state. An event data store in the PENDING_DELETION state does not incur costs.

      " + "documentation":"

      Disables the event data store specified by EventDataStore, which accepts an event data store ARN. After you run DeleteEventDataStore, the event data store enters a PENDING_DELETION state, and is automatically deleted after a wait period of seven days. TerminationProtectionEnabled must be set to False on the event data store and the FederationStatus must be DISABLED. You cannot delete an event data store if TerminationProtectionEnabled is True or the FederationStatus is ENABLED.

      After you run DeleteEventDataStore on an event data store, you cannot run ListQueries, DescribeQuery, or GetQueryResults on queries that are using an event data store in a PENDING_DELETION state. An event data store in the PENDING_DELETION state does not incur costs.

      " }, "DeleteResourcePolicy":{ "name":"DeleteResourcePolicy", @@ -309,6 +311,59 @@ "documentation":"

      Retrieves settings for one or more trails associated with the current Region for your account.

      ", "idempotent":true }, + "DisableFederation":{ + "name":"DisableFederation", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisableFederationRequest"}, + "output":{"shape":"DisableFederationResponse"}, + "errors":[ + {"shape":"EventDataStoreARNInvalidException"}, + {"shape":"EventDataStoreNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InactiveEventDataStoreException"}, + {"shape":"OperationNotPermittedException"}, + {"shape":"UnsupportedOperationException"}, + {"shape":"CloudTrailAccessNotEnabledException"}, + {"shape":"InsufficientDependencyServiceAccessPermissionException"}, + {"shape":"NotOrganizationMasterAccountException"}, + {"shape":"NoManagementAccountSLRExistsException"}, + {"shape":"OrganizationsNotInUseException"}, + {"shape":"OrganizationNotInAllFeaturesModeException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

      Disables Lake query federation on the specified event data store. When you disable federation, CloudTrail removes the metadata associated with the federated event data store in the Glue Data Catalog and removes registration for the federation role ARN and event data store in Lake Formation. No CloudTrail Lake data is deleted when you disable federation.

      " + }, + "EnableFederation":{ + "name":"EnableFederation", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"EnableFederationRequest"}, + "output":{"shape":"EnableFederationResponse"}, + "errors":[ + {"shape":"EventDataStoreARNInvalidException"}, + {"shape":"EventDataStoreNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InactiveEventDataStoreException"}, + {"shape":"OperationNotPermittedException"}, + {"shape":"UnsupportedOperationException"}, + {"shape":"CloudTrailAccessNotEnabledException"}, + {"shape":"InsufficientDependencyServiceAccessPermissionException"}, + {"shape":"NotOrganizationMasterAccountException"}, + {"shape":"NoManagementAccountSLRExistsException"}, + {"shape":"OrganizationsNotInUseException"}, + {"shape":"OrganizationNotInAllFeaturesModeException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"EventDataStoreFederationEnabledException"} + ], + "documentation":"

      Enables Lake query federation on the specified event data store. Federating an event data store lets you view the metadata associated with the event data store in the Glue Data Catalog and run SQL queries against your event data using Amazon Athena. The table metadata stored in the Glue Data Catalog lets the Athena query engine know how to find, read, and process the data that you want to query.

      When you enable Lake query federation, CloudTrail creates a federated database named aws:cloudtrail (if the database doesn't already exist) and a federated table in the Glue Data Catalog. The event data store ID is used for the table name. CloudTrail registers the role ARN and event data store in Lake Formation, the service responsible for revoking or granting permissions to the federated resources in the Glue Data Catalog.

      For more information about Lake query federation, see Federate an event data store.

      " + }, "GetChannel":{ "name":"GetChannel", "http":{ @@ -1066,6 +1121,13 @@ } }, "shapes":{ + "AccessDeniedException":{ + "type":"structure", + "members":{ + }, + "documentation":"

      You do not have sufficient access to perform this action.

      ", + "exception":true + }, "AccountHasOngoingImportException":{ "type":"structure", "members":{ @@ -1325,6 +1387,13 @@ "documentation":"

      Cannot set a CloudWatch Logs delivery for this Region.

      ", "exception":true }, + "ConcurrentModificationException":{ + "type":"structure", + "members":{ + }, + "documentation":"

      You are trying to update a resource when another request is in progress. Allow sufficient wait time for the previous request to complete, then retry your request.

      ", + "exception":true + }, "ConflictException":{ "type":"structure", "members":{ @@ -1823,6 +1892,63 @@ "max":200, "min":1 }, + "DisableFederationRequest":{ + "type":"structure", + "required":["EventDataStore"], + "members":{ + "EventDataStore":{ + "shape":"EventDataStoreArn", + "documentation":"

      The ARN (or ID suffix of the ARN) of the event data store for which you want to disable Lake query federation.

      " + } + } + }, + "DisableFederationResponse":{ + "type":"structure", + "members":{ + "EventDataStoreArn":{ + "shape":"EventDataStoreArn", + "documentation":"

      The ARN of the event data store for which you disabled Lake query federation.

      " + }, + "FederationStatus":{ + "shape":"FederationStatus", + "documentation":"

      The federation status.

      " + } + } + }, + "EnableFederationRequest":{ + "type":"structure", + "required":[ + "EventDataStore", + "FederationRoleArn" + ], + "members":{ + "EventDataStore":{ + "shape":"EventDataStoreArn", + "documentation":"

      The ARN (or ID suffix of the ARN) of the event data store for which you want to enable Lake query federation.

      " + }, + "FederationRoleArn":{ + "shape":"FederationRoleArn", + "documentation":"

      The ARN of the federation role to use for the event data store. Amazon Web Services services like Lake Formation use this federation role to access data for the federated event data store. The federation role must exist in your account and provide the required minimum permissions.

      " + } + } + }, + "EnableFederationResponse":{ + "type":"structure", + "members":{ + "EventDataStoreArn":{ + "shape":"EventDataStoreArn", + "documentation":"

      The ARN of the event data store for which you enabled Lake query federation.

      " + }, + "FederationStatus":{ + "shape":"FederationStatus", + "documentation":"

      The federation status.

      " + }, + "FederationRoleArn":{ + "shape":"FederationRoleArn", + "documentation":"

      The ARN of the federation role.

      " + } + } + }, "ErrorMessage":{ "type":"string", "max":1000, @@ -1957,6 +2083,13 @@ "min":3, "pattern":"^[a-zA-Z0-9._/\\-:]+$" }, + "EventDataStoreFederationEnabledException":{ + "type":"structure", + "members":{ + }, + "documentation":"

      You cannot delete the event data store because Lake query federation is enabled. To delete the event data store, run the DisableFederation operation to disable Lake query federation on the event data store.

      ", + "exception":true + }, "EventDataStoreHasOngoingImportException":{ "type":"structure", "members":{ @@ -2046,6 +2179,21 @@ "type":"list", "member":{"shape":"String"} }, + "FederationRoleArn":{ + "type":"string", + "max":125, + "min":3, + "pattern":"^[a-zA-Z0-9._/\\-:@=\\+,\\.]+$" + }, + "FederationStatus":{ + "type":"string", + "enum":[ + "ENABLING", + "ENABLED", + "DISABLING", + "DISABLED" + ] + }, "GetChannelRequest":{ "type":"structure", "required":["Channel"], @@ -2145,6 +2293,14 @@ "BillingMode":{ "shape":"BillingMode", "documentation":"

      The billing mode for the event data store.

      " + }, + "FederationStatus":{ + "shape":"FederationStatus", + "documentation":"

      Indicates the Lake query federation status. The status is ENABLED if Lake query federation is enabled, or DISABLED if Lake query federation is disabled. You cannot delete an event data store if the FederationStatus is ENABLED.

      " + }, + "FederationRoleArn":{ + "shape":"FederationRoleArn", + "documentation":"

      If Lake query federation is enabled, provides the ARN of the federation role used to access the resources for the federated event data store.

      " } } }, @@ -4348,6 +4504,14 @@ "BillingMode":{ "shape":"BillingMode", "documentation":"

      The billing mode for the event data store.

      " + }, + "FederationStatus":{ + "shape":"FederationStatus", + "documentation":"

      Indicates the Lake query federation status. The status is ENABLED if Lake query federation is enabled, or DISABLED if Lake query federation is disabled. You cannot delete an event data store if the FederationStatus is ENABLED.

      " + }, + "FederationRoleArn":{ + "shape":"FederationRoleArn", + "documentation":"

      If Lake query federation is enabled, provides the ARN of the federation role used to access the resources for the federated event data store.

      " } } }, diff --git a/tools/code-generation/api-descriptions/codestar-connections-2019-12-01.normal.json b/tools/code-generation/api-descriptions/codestar-connections-2019-12-01.normal.json index 6a5ab07ced5..43eac7af703 100644 --- a/tools/code-generation/api-descriptions/codestar-connections-2019-12-01.normal.json +++ b/tools/code-generation/api-descriptions/codestar-connections-2019-12-01.normal.json @@ -41,6 +41,44 @@ ], "documentation":"

      Creates a resource that represents the infrastructure where a third-party provider is installed. The host is used when you create connections to an installed third-party provider type, such as GitHub Enterprise Server. You create one host for all connections to that provider.

      A host created through the CLI or the SDK is in `PENDING` status by default. You can make its status `AVAILABLE` by setting up the host in the console.

      " }, + "CreateRepositoryLink":{ + "name":"CreateRepositoryLink", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateRepositoryLinkInput"}, + "output":{"shape":"CreateRepositoryLinkOutput"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"InternalServerException"}, + {"shape":"InvalidInputException"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

      Creates a link to a specified external Git repository. A repository link allows Git sync to monitor and sync changes to files in a specified Git repository.

      " + }, + "CreateSyncConfiguration":{ + "name":"CreateSyncConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateSyncConfigurationInput"}, + "output":{"shape":"CreateSyncConfigurationOutput"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"InternalServerException"}, + {"shape":"InvalidInputException"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

      Creates a sync configuration which allows Amazon Web Services to sync content from a Git repository to update a specified Amazon Web Services resource. Parameters for the sync configuration are determined by the sync type.

      " + }, "DeleteConnection":{ "name":"DeleteConnection", "http":{ @@ -68,6 +106,44 @@ ], "documentation":"

      The host to be deleted. Before you delete a host, all connections associated to the host must be deleted.

      A host cannot be deleted if it is in the VPC_CONFIG_INITIALIZING or VPC_CONFIG_DELETING state.

      " }, + "DeleteRepositoryLink":{ + "name":"DeleteRepositoryLink", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteRepositoryLinkInput"}, + "output":{"shape":"DeleteRepositoryLinkOutput"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"InternalServerException"}, + {"shape":"InvalidInputException"}, + {"shape":"SyncConfigurationStillExistsException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnsupportedProviderTypeException"} + ], + "documentation":"

      Deletes the association between your connection and a specified external Git repository.

      " + }, + "DeleteSyncConfiguration":{ + "name":"DeleteSyncConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteSyncConfigurationInput"}, + "output":{"shape":"DeleteSyncConfigurationOutput"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"InternalServerException"}, + {"shape":"InvalidInputException"}, + {"shape":"LimitExceededException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

      Deletes the sync configuration for a specified repository and connection.

      " + }, "GetConnection":{ "name":"GetConnection", "http":{ @@ -96,6 +172,92 @@ ], "documentation":"

      Returns the host ARN and details such as status, provider type, endpoint, and, if applicable, the VPC configuration.

      " }, + "GetRepositoryLink":{ + "name":"GetRepositoryLink", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetRepositoryLinkInput"}, + "output":{"shape":"GetRepositoryLinkOutput"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"InternalServerException"}, + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

      Returns details about a repository link. A repository link allows Git sync to monitor and sync changes from files in a specified Git repository.

      " + }, + "GetRepositorySyncStatus":{ + "name":"GetRepositorySyncStatus", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetRepositorySyncStatusInput"}, + "output":{"shape":"GetRepositorySyncStatusOutput"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

      Returns details about the sync status for a repository. A repository sync uses Git sync to push and pull changes from your remote repository.

      " + }, + "GetResourceSyncStatus":{ + "name":"GetResourceSyncStatus", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetResourceSyncStatusInput"}, + "output":{"shape":"GetResourceSyncStatusOutput"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

      Returns the status of the sync with the Git repository for a specific Amazon Web Services resource.

      " + }, + "GetSyncBlockerSummary":{ + "name":"GetSyncBlockerSummary", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetSyncBlockerSummaryInput"}, + "output":{"shape":"GetSyncBlockerSummaryOutput"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

      Returns a list of the most recent sync blockers.

      " + }, + "GetSyncConfiguration":{ + "name":"GetSyncConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetSyncConfigurationInput"}, + "output":{"shape":"GetSyncConfigurationOutput"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

      Returns details about a sync configuration, including the sync type and resource name. A sync configuration allows the configuration to sync (push and pull) changes from the remote repository for a specified branch in a Git repository.

      " + }, "ListConnections":{ "name":"ListConnections", "http":{ @@ -119,6 +281,58 @@ "output":{"shape":"ListHostsOutput"}, "documentation":"

      Lists the hosts associated with your account.

      " }, + "ListRepositoryLinks":{ + "name":"ListRepositoryLinks", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListRepositoryLinksInput"}, + "output":{"shape":"ListRepositoryLinksOutput"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"InternalServerException"}, + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

      Lists the repository links created for connections in your account.

      " + }, + "ListRepositorySyncDefinitions":{ + "name":"ListRepositorySyncDefinitions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListRepositorySyncDefinitionsInput"}, + "output":{"shape":"ListRepositorySyncDefinitionsOutput"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

      Lists the repository sync definitions for repository links in your account.

      " + }, + "ListSyncConfigurations":{ + "name":"ListSyncConfigurations", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListSyncConfigurationsInput"}, + "output":{"shape":"ListSyncConfigurationsOutput"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

      Returns a list of sync configurations for a specified repository.

      " + }, "ListTagsForResource":{ "name":"ListTagsForResource", "http":{ @@ -174,9 +388,74 @@ {"shape":"UnsupportedOperationException"} ], "documentation":"

      Updates a specified host with the provided configurations.

      " + }, + "UpdateRepositoryLink":{ + "name":"UpdateRepositoryLink", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateRepositoryLinkInput"}, + "output":{"shape":"UpdateRepositoryLinkOutput"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ConditionalCheckFailedException"}, + {"shape":"InternalServerException"}, + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"UpdateOutOfSyncException"} + ], + "documentation":"

      Updates the association between your connection and a specified external Git repository. A repository link allows Git sync to monitor and sync changes to files in a specified Git repository.

      " + }, + "UpdateSyncBlocker":{ + "name":"UpdateSyncBlocker", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateSyncBlockerInput"}, + "output":{"shape":"UpdateSyncBlockerOutput"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"RetryLatestCommitFailedException"}, + {"shape":"SyncBlockerDoesNotExistException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

      Allows you to update the status of a sync blocker, resolving the blocker and allowing syncing to continue.

      " + }, + "UpdateSyncConfiguration":{ + "name":"UpdateSyncConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateSyncConfigurationInput"}, + "output":{"shape":"UpdateSyncConfigurationOutput"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"InternalServerException"}, + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"UpdateOutOfSyncException"} + ], + "documentation":"

      Updates the sync configuration for your connection and a specified external Git repository.

      " } }, "shapes":{ + "AccessDeniedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

      You do not have sufficient access to perform this action.

      ", + "exception":true + }, "AccountId":{ "type":"string", "max":12, @@ -189,6 +468,39 @@ "min":1, "pattern":"arn:aws(-[\\w]+)*:.+:.+:[0-9]{12}:.+" }, + "BlockerStatus":{ + "type":"string", + "enum":[ + "ACTIVE", + "RESOLVED" + ] + }, + "BlockerType":{ + "type":"string", + "enum":["AUTOMATED"] + }, + "BranchName":{ + "type":"string", + "max":255, + "min":1, + "pattern":"^.*$" + }, + "ConcurrentModificationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

      Exception thrown as a result of concurrent modification to an application. For example, two individuals attempting to edit the same application at the same time.

      ", + "exception":true + }, + "ConditionalCheckFailedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

      The conditional check failed. Try again later.

      ", + "exception":true + }, "ConflictException":{ "type":"structure", "members":{ @@ -311,7 +623,10 @@ "shape":"VpcConfiguration", "documentation":"

      The VPC configuration to be provisioned for the host. A VPC must be configured and the infrastructure to be represented by the host must already be connected to the VPC.

      " }, - "Tags":{"shape":"TagList"} + "Tags":{ + "shape":"TagList", + "documentation":"

      Tags for the host to be created.

      " + } } }, "CreateHostOutput":{ @@ -321,9 +636,100 @@ "shape":"HostArn", "documentation":"

      The Amazon Resource Name (ARN) of the host to be created.

      " }, - "Tags":{"shape":"TagList"} + "Tags":{ + "shape":"TagList", + "documentation":"

      Tags for the created host.

      " + } + } + }, + "CreateRepositoryLinkInput":{ + "type":"structure", + "required":[ + "ConnectionArn", + "OwnerId", + "RepositoryName" + ], + "members":{ + "ConnectionArn":{ + "shape":"ConnectionArn", + "documentation":"

      The Amazon Resource Name (ARN) of the connection to be associated with the repository link.

      " + }, + "OwnerId":{ + "shape":"OwnerId", + "documentation":"

      The owner ID for the repository associated with a specific sync configuration, such as the owner ID in GitHub.

      " + }, + "RepositoryName":{ + "shape":"RepositoryName", + "documentation":"

      The name of the repository to be associated with the repository link.

      " + }, + "EncryptionKeyArn":{ + "shape":"KmsKeyArn", + "documentation":"

      The Amazon Resource Name (ARN) encryption key for the repository to be associated with the repository link.

      " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

      The tags for the repository to be associated with the repository link.

      " + } + } + }, + "CreateRepositoryLinkOutput":{ + "type":"structure", + "required":["RepositoryLinkInfo"], + "members":{ + "RepositoryLinkInfo":{ + "shape":"RepositoryLinkInfo", + "documentation":"

      The returned information about the created repository link.

      " + } + } + }, + "CreateSyncConfigurationInput":{ + "type":"structure", + "required":[ + "Branch", + "ConfigFile", + "RepositoryLinkId", + "ResourceName", + "RoleArn", + "SyncType" + ], + "members":{ + "Branch":{ + "shape":"BranchName", + "documentation":"

      The branch in the repository from which changes will be synced.

      " + }, + "ConfigFile":{ + "shape":"DeploymentFilePath", + "documentation":"

      The file name of the configuration file that manages syncing between the connection and the repository. This configuration file is stored in the repository.

      " + }, + "RepositoryLinkId":{ + "shape":"RepositoryLinkId", + "documentation":"

      The ID of the repository link created for the connection. A repository link allows Git sync to monitor and sync changes to files in a specified Git repository.

      " + }, + "ResourceName":{ + "shape":"ResourceName", + "documentation":"

      The name of the Amazon Web Services resource (for example, a CloudFormation stack in the case of CFN_STACK_SYNC) that will be synchronized from the linked repository.

      " + }, + "RoleArn":{ + "shape":"IamRoleArn", + "documentation":"

      The ARN of the IAM role that grants permission for Amazon Web Services to use Git sync to update a given Amazon Web Services resource on your behalf.

      " + }, + "SyncType":{ + "shape":"SyncConfigurationType", + "documentation":"

      The type of sync configuration.

      " + } + } + }, + "CreateSyncConfigurationOutput":{ + "type":"structure", + "required":["SyncConfiguration"], + "members":{ + "SyncConfiguration":{ + "shape":"SyncConfiguration", + "documentation":"

      The created sync configuration for the connection. A sync configuration allows Amazon Web Services to sync content from a Git repository to update a specified Amazon Web Services resource.

      " + } } }, + "CreatedReason":{"type":"string"}, "DeleteConnectionInput":{ "type":"structure", "required":["ConnectionArn"], @@ -354,10 +760,51 @@ "members":{ } }, + "DeleteRepositoryLinkInput":{ + "type":"structure", + "required":["RepositoryLinkId"], + "members":{ + "RepositoryLinkId":{ + "shape":"RepositoryLinkId", + "documentation":"

      The ID of the repository link to be deleted.

      " + } + } + }, + "DeleteRepositoryLinkOutput":{ + "type":"structure", + "members":{ + } + }, + "DeleteSyncConfigurationInput":{ + "type":"structure", + "required":[ + "SyncType", + "ResourceName" + ], + "members":{ + "SyncType":{ + "shape":"SyncConfigurationType", + "documentation":"

      The type of sync configuration to be deleted.

      " + }, + "ResourceName":{ + "shape":"ResourceName", + "documentation":"

      The name of the Amazon Web Services resource associated with the sync configuration to be deleted.

      " + } + } + }, + "DeleteSyncConfigurationOutput":{ + "type":"structure", + "members":{ + } + }, + "DeploymentFilePath":{"type":"string"}, + "Directory":{"type":"string"}, "ErrorMessage":{ "type":"string", "max":600 }, + "Event":{"type":"string"}, + "ExternalId":{"type":"string"}, "GetConnectionInput":{ "type":"structure", "required":["ConnectionArn"], @@ -412,28 +859,169 @@ } } }, - "Host":{ + "GetRepositoryLinkInput":{ "type":"structure", + "required":["RepositoryLinkId"], "members":{ - "Name":{ - "shape":"HostName", - "documentation":"

      The name of the host.

      " + "RepositoryLinkId":{ + "shape":"RepositoryLinkId", + "documentation":"

      The ID of the repository link to get.

      " + } + } + }, + "GetRepositoryLinkOutput":{ + "type":"structure", + "required":["RepositoryLinkInfo"], + "members":{ + "RepositoryLinkInfo":{ + "shape":"RepositoryLinkInfo", + "documentation":"

      The information returned for a specified repository link.

      " + } + } + }, + "GetRepositorySyncStatusInput":{ + "type":"structure", + "required":[ + "Branch", + "RepositoryLinkId", + "SyncType" + ], + "members":{ + "Branch":{ + "shape":"BranchName", + "documentation":"

      The branch of the repository link for the requested repository sync status.

      " }, - "HostArn":{ - "shape":"HostArn", - "documentation":"

      The Amazon Resource Name (ARN) of the host.

      " + "RepositoryLinkId":{ + "shape":"RepositoryLinkId", + "documentation":"

      The repository link ID for the requested repository sync status.

      " }, - "ProviderType":{ - "shape":"ProviderType", - "documentation":"

      The name of the installed provider to be associated with your connection. The host resource represents the infrastructure where your provider type is installed. The valid provider type is GitHub Enterprise Server.

      " + "SyncType":{ + "shape":"SyncConfigurationType", + "documentation":"

      The sync type of the requested sync status.

      " + } + } + }, + "GetRepositorySyncStatusOutput":{ + "type":"structure", + "required":["LatestSync"], + "members":{ + "LatestSync":{ + "shape":"RepositorySyncAttempt", + "documentation":"

      The status of the latest sync returned for a specified repository and branch.

      " + } + } + }, + "GetResourceSyncStatusInput":{ + "type":"structure", + "required":[ + "ResourceName", + "SyncType" + ], + "members":{ + "ResourceName":{ + "shape":"ResourceName", + "documentation":"

      The name of the Amazon Web Services resource for the sync status with the Git repository.

      " }, - "ProviderEndpoint":{ - "shape":"Url", - "documentation":"

      The endpoint of the infrastructure where your provider type is installed.

      " + "SyncType":{ + "shape":"SyncConfigurationType", + "documentation":"

      The sync type for the sync status with the Git repository.

      " + } + } + }, + "GetResourceSyncStatusOutput":{ + "type":"structure", + "required":["LatestSync"], + "members":{ + "DesiredState":{ + "shape":"Revision", + "documentation":"

      The desired state of the Amazon Web Services resource for the sync status with the Git repository.

      " }, - "VpcConfiguration":{ - "shape":"VpcConfiguration", - "documentation":"

      The VPC configuration provisioned for the host.

      " + "LatestSuccessfulSync":{ + "shape":"ResourceSyncAttempt", + "documentation":"

      The latest successful sync for the sync status with the Git repository.

      " + }, + "LatestSync":{ + "shape":"ResourceSyncAttempt", + "documentation":"

      The latest sync for the sync status with the Git repository, whether successful or not.

      " + } + } + }, + "GetSyncBlockerSummaryInput":{ + "type":"structure", + "required":[ + "SyncType", + "ResourceName" + ], + "members":{ + "SyncType":{ + "shape":"SyncConfigurationType", + "documentation":"

      The sync type for the sync blocker summary.

      " + }, + "ResourceName":{ + "shape":"ResourceName", + "documentation":"

      The name of the Amazon Web Services resource currently blocked from automatically being synced from a Git repository.

      " + } + } + }, + "GetSyncBlockerSummaryOutput":{ + "type":"structure", + "required":["SyncBlockerSummary"], + "members":{ + "SyncBlockerSummary":{ + "shape":"SyncBlockerSummary", + "documentation":"

      The list of sync blockers for a specified resource.

      " + } + } + }, + "GetSyncConfigurationInput":{ + "type":"structure", + "required":[ + "SyncType", + "ResourceName" + ], + "members":{ + "SyncType":{ + "shape":"SyncConfigurationType", + "documentation":"

      The sync type for the sync configuration for which you want to retrieve information.

      " + }, + "ResourceName":{ + "shape":"ResourceName", + "documentation":"

      The name of the Amazon Web Services resource for the sync configuration for which you want to retrieve information.

      " + } + } + }, + "GetSyncConfigurationOutput":{ + "type":"structure", + "required":["SyncConfiguration"], + "members":{ + "SyncConfiguration":{ + "shape":"SyncConfiguration", + "documentation":"

      The details about the sync configuration for which you want to retrieve information.

      " + } + } + }, + "Host":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"HostName", + "documentation":"

      The name of the host.

      " + }, + "HostArn":{ + "shape":"HostArn", + "documentation":"

      The Amazon Resource Name (ARN) of the host.

      " + }, + "ProviderType":{ + "shape":"ProviderType", + "documentation":"

      The name of the installed provider to be associated with your connection. The host resource represents the infrastructure where your provider type is installed. The valid provider type is GitHub Enterprise Server.

      " + }, + "ProviderEndpoint":{ + "shape":"Url", + "documentation":"

      The endpoint of the infrastructure where your provider type is installed.

      " + }, + "VpcConfiguration":{ + "shape":"VpcConfiguration", + "documentation":"

      The VPC configuration provisioned for the host.

      " }, "Status":{ "shape":"HostStatus", @@ -469,6 +1057,43 @@ "pattern":".*" }, "HostStatusMessage":{"type":"string"}, + "IamRoleArn":{ + "type":"string", + "max":1024, + "min":1, + "pattern":"arn:aws(-[\\w]+)*:iam::\\d{12}:role/[a-zA-Z_0-9+=,.@\\-_/]+" + }, + "Id":{ + "type":"string", + "max":50, + "min":1 + }, + "InternalServerException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

      Received an internal server exception. Try again later.

      ", + "exception":true + }, + "InvalidInputException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

      The input is not valid. Verify that the action is typed correctly.

      ", + "exception":true + }, + "KmsKeyArn":{ + "type":"string", + "max":1024, + "min":1, + "pattern":"arn:aws(-[\\w]+)*:kms:[a-z\\-0-9]+:\\d{12}:key/[a-zA-Z0-9\\-]+" + }, + "LatestSyncBlockerList":{ + "type":"list", + "member":{"shape":"SyncBlocker"} + }, "LimitExceededException":{ "type":"structure", "members":{ @@ -537,6 +1162,103 @@ } } }, + "ListRepositoryLinksInput":{ + "type":"structure", + "members":{ + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

      A non-zero, non-negative integer used to limit the number of returned results.

      " + }, + "NextToken":{ + "shape":"SharpNextToken", + "documentation":"

      An enumeration token that, when provided in a request, returns the next batch of the results.

      " + } + } + }, + "ListRepositoryLinksOutput":{ + "type":"structure", + "required":["RepositoryLinks"], + "members":{ + "RepositoryLinks":{ + "shape":"RepositoryLinkList", + "documentation":"

      Lists the repository links called by the list repository links operation.

      " + }, + "NextToken":{ + "shape":"SharpNextToken", + "documentation":"

      An enumeration token that allows the operation to batch the results of the operation.

      " + } + } + }, + "ListRepositorySyncDefinitionsInput":{ + "type":"structure", + "required":[ + "RepositoryLinkId", + "SyncType" + ], + "members":{ + "RepositoryLinkId":{ + "shape":"RepositoryLinkId", + "documentation":"

      The ID of the repository link for the sync definition for which you want to retrieve information.

      " + }, + "SyncType":{ + "shape":"SyncConfigurationType", + "documentation":"

      The sync type of the repository link for the the sync definition for which you want to retrieve information.

      " + } + } + }, + "ListRepositorySyncDefinitionsOutput":{ + "type":"structure", + "required":["RepositorySyncDefinitions"], + "members":{ + "RepositorySyncDefinitions":{ + "shape":"RepositorySyncDefinitionList", + "documentation":"

      The list of repository sync definitions returned by the request. A RepositorySyncDefinition is a mapping from a repository branch to all the Amazon Web Services resources that are being synced from that branch.

      " + }, + "NextToken":{ + "shape":"SharpNextToken", + "documentation":"

      An enumeration token that, when provided in a request, returns the next batch of the results.

      " + } + } + }, + "ListSyncConfigurationsInput":{ + "type":"structure", + "required":[ + "RepositoryLinkId", + "SyncType" + ], + "members":{ + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

      A non-zero, non-negative integer used to limit the number of returned results.

      " + }, + "NextToken":{ + "shape":"SharpNextToken", + "documentation":"

      An enumeration token that allows the operation to batch the results of the operation.

      " + }, + "RepositoryLinkId":{ + "shape":"RepositoryLinkId", + "documentation":"

      The ID of the repository link for the requested list of sync configurations.

      " + }, + "SyncType":{ + "shape":"SyncConfigurationType", + "documentation":"

      The sync type for the requested list of sync configurations.

      " + } + } + }, + "ListSyncConfigurationsOutput":{ + "type":"structure", + "required":["SyncConfigurations"], + "members":{ + "SyncConfigurations":{ + "shape":"SyncConfigurationList", + "documentation":"

      The list of repository sync definitions returned by the request.

      " + }, + "NextToken":{ + "shape":"SharpNextToken", + "documentation":"

      An enumeration token that allows the operation to batch the next results of the operation.

      " + } + } + }, "ListTagsForResourceInput":{ "type":"structure", "required":["ResourceArn"], @@ -565,8 +1287,15 @@ "type":"string", "max":1024, "min":1, - "pattern":".*" + "pattern":"^.*$" + }, + "OwnerId":{ + "type":"string", + "max":255, + "min":1, + "pattern":"^.*$" }, + "Parent":{"type":"string"}, "ProviderType":{ "type":"string", "enum":[ @@ -576,6 +1305,181 @@ "GitLab" ] }, + "RepositoryLinkArn":{ + "type":"string", + "pattern":"^arn:aws(?:-[a-z]+)*:codestar-connections:[a-z\\-0-9]+:\\d{12}:repository-link\\/[a-zA-Z0-9\\-:/]+" + }, + "RepositoryLinkId":{ + "type":"string", + "pattern":"^[0-9a-fA-F]{8}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{12}$" + }, + "RepositoryLinkInfo":{ + "type":"structure", + "required":[ + "ConnectionArn", + "OwnerId", + "ProviderType", + "RepositoryLinkArn", + "RepositoryLinkId", + "RepositoryName" + ], + "members":{ + "ConnectionArn":{ + "shape":"ConnectionArn", + "documentation":"

      The Amazon Resource Name (ARN) of the connection associated with the repository link.

      " + }, + "EncryptionKeyArn":{ + "shape":"KmsKeyArn", + "documentation":"

      The Amazon Resource Name (ARN) of the encryption key for the repository associated with the repository link.

      " + }, + "OwnerId":{ + "shape":"OwnerId", + "documentation":"

      The owner ID for the repository associated with the repository link, such as the owner ID in GitHub.

      " + }, + "ProviderType":{ + "shape":"ProviderType", + "documentation":"

      The provider type for the connection, such as GitHub, associated with the repository link.

      " + }, + "RepositoryLinkArn":{ + "shape":"RepositoryLinkArn", + "documentation":"

      The Amazon Resource Name (ARN) of the repository link.

      " + }, + "RepositoryLinkId":{ + "shape":"RepositoryLinkId", + "documentation":"

      The ID of the repository link.

      " + }, + "RepositoryName":{ + "shape":"RepositoryName", + "documentation":"

      The name of the repository associated with the repository link.

      " + } + }, + "documentation":"

      Information about the repository link resource, such as the repository link ARN, the associated connection ARN, encryption key ARN, and owner ID.

      " + }, + "RepositoryLinkList":{ + "type":"list", + "member":{"shape":"RepositoryLinkInfo"} + }, + "RepositoryName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^.*$" + }, + "RepositorySyncAttempt":{ + "type":"structure", + "required":[ + "StartedAt", + "Status", + "Events" + ], + "members":{ + "StartedAt":{ + "shape":"Timestamp", + "documentation":"

      The start time of a specific sync attempt.

      " + }, + "Status":{ + "shape":"RepositorySyncStatus", + "documentation":"

      The status of a specific sync attempt. The following are valid statuses:

      • INITIATED - A repository sync attempt has been created and will begin soon.

      • IN_PROGRESS - A repository sync attempt has started and work is being done to reconcile the branch.

      • SUCCEEDED - The repository sync attempt has completed successfully.

      • FAILED - The repository sync attempt has failed.

      • QUEUED - The repository sync attempt didn't execute and was queued.

      " + }, + "Events":{ + "shape":"RepositorySyncEventList", + "documentation":"

      The events associated with a specific sync attempt.

      " + } + }, + "documentation":"

      Information about a repository sync attempt for a repository with a sync configuration.

      " + }, + "RepositorySyncDefinition":{ + "type":"structure", + "required":[ + "Branch", + "Directory", + "Parent", + "Target" + ], + "members":{ + "Branch":{ + "shape":"BranchName", + "documentation":"

      The branch specified for a repository sync definition.

      " + }, + "Directory":{ + "shape":"Directory", + "documentation":"

      The configuration file for a repository sync definition. This value comes from creating or updating the config-file field of a sync-configuration.

      " + }, + "Parent":{ + "shape":"Parent", + "documentation":"

      The parent resource specified for a repository sync definition.

      " + }, + "Target":{ + "shape":"Target", + "documentation":"

      The target resource specified for a repository sync definition. In some cases, such as CFN_STACK_SYNC, the parent and target resource are the same.

      " + } + }, + "documentation":"

      The definition for a repository with a sync configuration.

      " + }, + "RepositorySyncDefinitionList":{ + "type":"list", + "member":{"shape":"RepositorySyncDefinition"} + }, + "RepositorySyncEvent":{ + "type":"structure", + "required":[ + "Event", + "Time", + "Type" + ], + "members":{ + "Event":{ + "shape":"Event", + "documentation":"

      A description of a repository sync event.

      " + }, + "ExternalId":{ + "shape":"ExternalId", + "documentation":"

      The ID for a repository sync event.

      " + }, + "Time":{ + "shape":"Timestamp", + "documentation":"

      The time that a repository sync event occurred.

      " + }, + "Type":{ + "shape":"Type", + "documentation":"

      The event type for a repository sync event.

      " + } + }, + "documentation":"

      Information about a repository sync event.

      " + }, + "RepositorySyncEventList":{ + "type":"list", + "member":{"shape":"RepositorySyncEvent"} + }, + "RepositorySyncStatus":{ + "type":"string", + "enum":[ + "FAILED", + "INITIATED", + "IN_PROGRESS", + "SUCCEEDED", + "QUEUED" + ] + }, + "ResolvedReason":{ + "type":"string", + "max":250, + "min":1 + }, + "ResourceAlreadyExistsException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

      Unable to create resource. Resource already exists.

      ", + "exception":true + }, + "ResourceName":{ + "type":"string", + "max":100, + "min":1, + "pattern":"^[0-9A-Za-z]+[0-9A-Za-z_\\\\-]*$" + }, "ResourceNotFoundException":{ "type":"structure", "members":{ @@ -584,6 +1488,84 @@ "documentation":"

      Resource not found. Verify the connection resource ARN and try again.

      ", "exception":true }, + "ResourceSyncAttempt":{ + "type":"structure", + "required":[ + "Events", + "InitialRevision", + "StartedAt", + "Status", + "TargetRevision", + "Target" + ], + "members":{ + "Events":{ + "shape":"ResourceSyncEventList", + "documentation":"

      The events related to a resource sync attempt.

      " + }, + "InitialRevision":{ + "shape":"Revision", + "documentation":"

      The current state of the resource as defined in the resource's config-file in the linked repository.

      " + }, + "StartedAt":{ + "shape":"Timestamp", + "documentation":"

      The start time for a resource sync attempt.

      " + }, + "Status":{ + "shape":"ResourceSyncStatus", + "documentation":"

      The status for a resource sync attempt. The follow are valid statuses:

      • SYNC-INITIATED - A resource sync attempt has been created and will begin soon.

      • SYNCING - Syncing has started and work is being done to reconcile state.

      • SYNCED - Syncing has completed successfully.

      • SYNC_FAILED - A resource sync attempt has failed.

      " + }, + "TargetRevision":{ + "shape":"Revision", + "documentation":"

      The desired state of the resource as defined in the resource's config-file in the linked repository. Git sync attempts to update the resource to this state.

      " + }, + "Target":{ + "shape":"Target", + "documentation":"

      The name of the Amazon Web Services resource that is attempted to be synchronized.

      " + } + }, + "documentation":"

      Information about a resource sync attempt.

      " + }, + "ResourceSyncEvent":{ + "type":"structure", + "required":[ + "Event", + "Time", + "Type" + ], + "members":{ + "Event":{ + "shape":"Event", + "documentation":"

      The event for a resource sync event.

      " + }, + "ExternalId":{ + "shape":"ExternalId", + "documentation":"

      The ID for a resource sync event.

      " + }, + "Time":{ + "shape":"Timestamp", + "documentation":"

      The time that a resource sync event occurred.

      " + }, + "Type":{ + "shape":"Type", + "documentation":"

      The type of resource sync event.

      " + } + }, + "documentation":"

      Information about a resource sync event for the resource associated with a sync configuration.

      " + }, + "ResourceSyncEventList":{ + "type":"list", + "member":{"shape":"ResourceSyncEvent"} + }, + "ResourceSyncStatus":{ + "type":"string", + "enum":[ + "FAILED", + "INITIATED", + "IN_PROGRESS", + "SUCCEEDED" + ] + }, "ResourceUnavailableException":{ "type":"structure", "members":{ @@ -592,6 +1574,57 @@ "documentation":"

      Resource not found. Verify the ARN for the host resource and try again.

      ", "exception":true }, + "RetryLatestCommitFailedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

      Retrying the latest commit failed. Try again later.

      ", + "exception":true + }, + "Revision":{ + "type":"structure", + "required":[ + "Branch", + "Directory", + "OwnerId", + "RepositoryName", + "ProviderType", + "Sha" + ], + "members":{ + "Branch":{ + "shape":"BranchName", + "documentation":"

      The branch name for a specific revision.

      " + }, + "Directory":{ + "shape":"Directory", + "documentation":"

      The directory, if any, for a specific revision.

      " + }, + "OwnerId":{ + "shape":"OwnerId", + "documentation":"

      The owner ID for a specific revision, such as the GitHub owner ID for a GitHub repository.

      " + }, + "RepositoryName":{ + "shape":"RepositoryName", + "documentation":"

      The repository name for a specific revision.

      " + }, + "ProviderType":{ + "shape":"ProviderType", + "documentation":"

      The provider type for a revision, such as GitHub.

      " + }, + "Sha":{ + "shape":"SHA", + "documentation":"

      The SHA, such as the commit ID, for a specific revision.

      " + } + }, + "documentation":"

      Information about the revision for a specific sync event, such as the branch, owner ID, and name of the repository.

      " + }, + "SHA":{ + "type":"string", + "max":255, + "min":1 + }, "SecurityGroupId":{ "type":"string", "max":20, @@ -604,6 +1637,12 @@ "max":10, "min":1 }, + "SharpNextToken":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"^.*$" + }, "SubnetId":{ "type":"string", "max":24, @@ -616,6 +1655,170 @@ "max":10, "min":1 }, + "SyncBlocker":{ + "type":"structure", + "required":[ + "Id", + "Type", + "Status", + "CreatedReason", + "CreatedAt" + ], + "members":{ + "Id":{ + "shape":"Id", + "documentation":"

      The ID for a specific sync blocker.

      " + }, + "Type":{ + "shape":"BlockerType", + "documentation":"

      The sync blocker type.

      " + }, + "Status":{ + "shape":"BlockerStatus", + "documentation":"

      The status for a specific sync blocker.

      " + }, + "CreatedReason":{ + "shape":"CreatedReason", + "documentation":"

      The provided reason for a specific sync blocker.

      " + }, + "CreatedAt":{ + "shape":"Timestamp", + "documentation":"

      The creation time for a specific sync blocker.

      " + }, + "Contexts":{ + "shape":"SyncBlockerContextList", + "documentation":"

      The contexts for a specific sync blocker.

      " + }, + "ResolvedReason":{ + "shape":"ResolvedReason", + "documentation":"

      The resolved reason for a specific sync blocker.

      " + }, + "ResolvedAt":{ + "shape":"Timestamp", + "documentation":"

      The time that a specific sync blocker was resolved.

      " + } + }, + "documentation":"

      Information about a blocker for a sync event.

      " + }, + "SyncBlockerContext":{ + "type":"structure", + "required":[ + "Key", + "Value" + ], + "members":{ + "Key":{ + "shape":"SyncBlockerContextKey", + "documentation":"

      The key provided for a context key-value pair for a specific sync blocker.

      " + }, + "Value":{ + "shape":"SyncBlockerContextValue", + "documentation":"

      The value provided for a context key-value pair for a specific sync blocker.

      " + } + }, + "documentation":"

      The context for a specific sync blocker.

      " + }, + "SyncBlockerContextKey":{"type":"string"}, + "SyncBlockerContextList":{ + "type":"list", + "member":{"shape":"SyncBlockerContext"} + }, + "SyncBlockerContextValue":{"type":"string"}, + "SyncBlockerDoesNotExistException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

      Unable to continue. The sync blocker does not exist.

      ", + "exception":true + }, + "SyncBlockerSummary":{ + "type":"structure", + "required":["ResourceName"], + "members":{ + "ResourceName":{ + "shape":"ResourceName", + "documentation":"

      The resource name for sync blocker summary.

      " + }, + "ParentResourceName":{ + "shape":"ResourceName", + "documentation":"

      The parent resource name for a sync blocker summary.

      " + }, + "LatestBlockers":{ + "shape":"LatestSyncBlockerList", + "documentation":"

      The latest events for a sync blocker summary.

      " + } + }, + "documentation":"

      A summary for sync blockers.

      " + }, + "SyncConfiguration":{ + "type":"structure", + "required":[ + "Branch", + "OwnerId", + "ProviderType", + "RepositoryLinkId", + "RepositoryName", + "ResourceName", + "RoleArn", + "SyncType" + ], + "members":{ + "Branch":{ + "shape":"BranchName", + "documentation":"

      The branch associated with a specific sync configuration.

      " + }, + "ConfigFile":{ + "shape":"DeploymentFilePath", + "documentation":"

      The file path to the configuration file associated with a specific sync configuration. The path should point to an actual file in the sync configurations linked repository.

      " + }, + "OwnerId":{ + "shape":"OwnerId", + "documentation":"

      The owner ID for the repository associated with a specific sync configuration, such as the owner ID in GitHub.

      " + }, + "ProviderType":{ + "shape":"ProviderType", + "documentation":"

      The connection provider type associated with a specific sync configuration, such as GitHub.

      " + }, + "RepositoryLinkId":{ + "shape":"RepositoryLinkId", + "documentation":"

      The ID of the repository link associated with a specific sync configuration.

      " + }, + "RepositoryName":{ + "shape":"RepositoryName", + "documentation":"

      The name of the repository associated with a specific sync configuration.

      " + }, + "ResourceName":{ + "shape":"ResourceName", + "documentation":"

      The name of the connection resource associated with a specific sync configuration.

      " + }, + "RoleArn":{ + "shape":"IamRoleArn", + "documentation":"

      The Amazon Resource Name (ARN) of the IAM role associated with a specific sync configuration.

      " + }, + "SyncType":{ + "shape":"SyncConfigurationType", + "documentation":"

      The type of sync for a specific sync configuration.

      " + } + }, + "documentation":"

      Information, such as repository, branch, provider, and resource names for a specific sync configuration.

      " + }, + "SyncConfigurationList":{ + "type":"list", + "member":{"shape":"SyncConfiguration"} + }, + "SyncConfigurationStillExistsException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

      Unable to continue. The sync blocker still exists.

      ", + "exception":true + }, + "SyncConfigurationType":{ + "type":"string", + "enum":["CFN_STACK_SYNC"] + }, "Tag":{ "type":"structure", "required":[ @@ -680,12 +1883,23 @@ "min":0, "pattern":".*" }, + "Target":{"type":"string"}, + "ThrottlingException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

      The request was denied due to request throttling.

      ", + "exception":true + }, + "Timestamp":{"type":"timestamp"}, "TlsCertificate":{ "type":"string", "max":16384, "min":1, "pattern":"[\\s\\S]*" }, + "Type":{"type":"string"}, "UnsupportedOperationException":{ "type":"structure", "members":{ @@ -694,6 +1908,14 @@ "documentation":"

      The operation is not supported. Check the connection status and try again.

      ", "exception":true }, + "UnsupportedProviderTypeException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

      The specified provider type is not supported for connections.

      ", + "exception":true + }, "UntagResourceInput":{ "type":"structure", "required":[ @@ -739,6 +1961,133 @@ "members":{ } }, + "UpdateOutOfSyncException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

      The update is out of sync. Try syncing again.

      ", + "exception":true + }, + "UpdateRepositoryLinkInput":{ + "type":"structure", + "required":["RepositoryLinkId"], + "members":{ + "ConnectionArn":{ + "shape":"ConnectionArn", + "documentation":"

      The Amazon Resource Name (ARN) of the connection for the repository link to be updated. The updated connection ARN must have the same providerType (such as GitHub) as the original connection ARN for the repo link.

      " + }, + "EncryptionKeyArn":{ + "shape":"KmsKeyArn", + "documentation":"

      The Amazon Resource Name (ARN) of the encryption key for the repository link to be updated.

      " + }, + "RepositoryLinkId":{ + "shape":"RepositoryLinkId", + "documentation":"

      The ID of the repository link to be updated.

      " + } + } + }, + "UpdateRepositoryLinkOutput":{ + "type":"structure", + "required":["RepositoryLinkInfo"], + "members":{ + "RepositoryLinkInfo":{ + "shape":"RepositoryLinkInfo", + "documentation":"

      Information about the repository link to be updated.

      " + } + } + }, + "UpdateSyncBlockerInput":{ + "type":"structure", + "required":[ + "Id", + "SyncType", + "ResourceName", + "ResolvedReason" + ], + "members":{ + "Id":{ + "shape":"Id", + "documentation":"

      The ID of the sync blocker to be updated.

      " + }, + "SyncType":{ + "shape":"SyncConfigurationType", + "documentation":"

      The sync type of the sync blocker to be updated.

      " + }, + "ResourceName":{ + "shape":"ResourceName", + "documentation":"

      The name of the resource for the sync blocker to be updated.

      " + }, + "ResolvedReason":{ + "shape":"ResolvedReason", + "documentation":"

      The reason for resolving the sync blocker.

      " + } + } + }, + "UpdateSyncBlockerOutput":{ + "type":"structure", + "required":[ + "ResourceName", + "SyncBlocker" + ], + "members":{ + "ResourceName":{ + "shape":"ResourceName", + "documentation":"

      The resource name for the sync blocker.

      " + }, + "ParentResourceName":{ + "shape":"ResourceName", + "documentation":"

      The parent resource name for the sync blocker.

      " + }, + "SyncBlocker":{ + "shape":"SyncBlocker", + "documentation":"

      Information about the sync blocker to be updated.

      " + } + } + }, + "UpdateSyncConfigurationInput":{ + "type":"structure", + "required":[ + "ResourceName", + "SyncType" + ], + "members":{ + "Branch":{ + "shape":"BranchName", + "documentation":"

      The branch for the sync configuration to be updated.

      " + }, + "ConfigFile":{ + "shape":"DeploymentFilePath", + "documentation":"

      The configuration file for the sync configuration to be updated.

      " + }, + "RepositoryLinkId":{ + "shape":"RepositoryLinkId", + "documentation":"

      The ID of the repository link for the sync configuration to be updated.

      " + }, + "ResourceName":{ + "shape":"ResourceName", + "documentation":"

      The name of the Amazon Web Services resource for the sync configuration to be updated.

      " + }, + "RoleArn":{ + "shape":"IamRoleArn", + "documentation":"

      The ARN of the IAM role for the sync configuration to be updated.

      " + }, + "SyncType":{ + "shape":"SyncConfigurationType", + "documentation":"

      The sync type for the sync configuration to be updated.

      " + } + } + }, + "UpdateSyncConfigurationOutput":{ + "type":"structure", + "required":["SyncConfiguration"], + "members":{ + "SyncConfiguration":{ + "shape":"SyncConfiguration", + "documentation":"

      The information returned for the sync configuration to be updated.

      " + } + } + }, "Url":{ "type":"string", "max":512, diff --git a/tools/code-generation/api-descriptions/compute-optimizer-2019-11-01.normal.json b/tools/code-generation/api-descriptions/compute-optimizer-2019-11-01.normal.json index 68118cd51dc..7e055c61ca0 100644 --- a/tools/code-generation/api-descriptions/compute-optimizer-2019-11-01.normal.json +++ b/tools/code-generation/api-descriptions/compute-optimizer-2019-11-01.normal.json @@ -542,6 +542,20 @@ }, "documentation":"

      Describes the configuration of an Auto Scaling group.

      " }, + "AutoScalingGroupEstimatedMonthlySavings":{ + "type":"structure", + "members":{ + "currency":{ + "shape":"Currency", + "documentation":"

      The currency of the estimated monthly savings.

      " + }, + "value":{ + "shape":"Value", + "documentation":"

      The value of the estimated monthly savings.

      " + } + }, + "documentation":"

      An object that describes the estimated monthly savings possible by adopting Compute Optimizer’s Auto Scaling group recommendations. This is based on the Savings Plans and Reserved Instances discounts.

      " + }, "AutoScalingGroupName":{"type":"string"}, "AutoScalingGroupRecommendation":{ "type":"structure", @@ -631,6 +645,10 @@ "instanceGpuInfo":{ "shape":"GpuInfo", "documentation":"

      Describes the GPU accelerator settings for the recommended instance type of the Auto Scaling group.

      " + }, + "savingsOpportunityAfterDiscounts":{ + "shape":"AutoScalingGroupSavingsOpportunityAfterDiscounts", + "documentation":"

      An object that describes the savings opportunity for the Auto Scaling group recommendation option that includes Savings Plans and Reserved Instances discounts. Savings opportunity includes the estimated monthly savings and percentage.

      " } }, "documentation":"

      Describes a recommendation option for an Auto Scaling group.

      " @@ -643,6 +661,20 @@ "type":"list", "member":{"shape":"AutoScalingGroupRecommendation"} }, + "AutoScalingGroupSavingsOpportunityAfterDiscounts":{ + "type":"structure", + "members":{ + "savingsOpportunityPercentage":{ + "shape":"SavingsOpportunityPercentage", + "documentation":"

      The estimated monthly savings possible as a percentage of monthly cost after applying the Savings Plans and Reserved Instances discounts. This saving can be achieved by adopting Compute Optimizer’s Auto Scaling group recommendations.

      " + }, + "estimatedMonthlySavings":{ + "shape":"AutoScalingGroupEstimatedMonthlySavings", + "documentation":"

      An object that describes the estimated monthly savings possible by adopting Compute Optimizer’s Auto Scaling group recommendations. This is based on the Savings Plans and Reserved Instances pricing discounts.

      " + } + }, + "documentation":"

      Describes the savings opportunity for Auto Scaling group recommendations after applying the Savings Plans and Reserved Instances discounts.

      Savings opportunity represents the estimated monthly savings you can achieve by implementing Compute Optimizer recommendations.

      " + }, "Code":{"type":"string"}, "ContainerConfiguration":{ "type":"structure", @@ -741,6 +773,40 @@ }, "documentation":"

      Describes the performance risk ratings for a given resource type.

      Resources with a high or medium rating are at risk of not meeting the performance needs of their workloads, while resources with a low rating are performing well in their workloads.

      " }, + "CustomizableMetricHeadroom":{ + "type":"string", + "enum":[ + "PERCENT_30", + "PERCENT_20", + "PERCENT_0" + ] + }, + "CustomizableMetricName":{ + "type":"string", + "enum":["CpuUtilization"] + }, + "CustomizableMetricParameters":{ + "type":"structure", + "members":{ + "threshold":{ + "shape":"CustomizableMetricThreshold", + "documentation":"

      The threshold value used for the specified metric parameter.

      " + }, + "headroom":{ + "shape":"CustomizableMetricHeadroom", + "documentation":"

      The headroom threshold value in percentage used for the specified metric parameter.

      " + } + }, + "documentation":"

      Defines the various metric parameters that can be customized, such as threshold and headroom.

      " + }, + "CustomizableMetricThreshold":{ + "type":"string", + "enum":[ + "P90", + "P95", + "P99_5" + ] + }, "DeleteRecommendationPreferencesRequest":{ "type":"structure", "required":[ @@ -805,6 +871,30 @@ "DestinationBucket":{"type":"string"}, "DestinationKey":{"type":"string"}, "DestinationKeyPrefix":{"type":"string"}, + "EBSEffectiveRecommendationPreferences":{ + "type":"structure", + "members":{ + "savingsEstimationMode":{ + "shape":"EBSSavingsEstimationMode", + "documentation":"

      Describes the savings estimation mode preference applied for calculating savings opportunity for Amazon EBS volumes.

      " + } + }, + "documentation":"

      Describes the effective recommendation preferences for Amazon EBS volumes.

      " + }, + "EBSEstimatedMonthlySavings":{ + "type":"structure", + "members":{ + "currency":{ + "shape":"Currency", + "documentation":"

      The currency of the estimated monthly savings.

      " + }, + "value":{ + "shape":"Value", + "documentation":"

      The value of the estimated monthly savings.

      " + } + }, + "documentation":"

      An object that describes the estimated monthly savings possible by adopting Compute Optimizer’s Amazon EBS volume recommendations. This includes any applicable discounts.

      " + }, "EBSFilter":{ "type":"structure", "members":{ @@ -843,6 +933,38 @@ "VolumeWriteBytesPerSecond" ] }, + "EBSSavingsEstimationMode":{ + "type":"structure", + "members":{ + "source":{ + "shape":"EBSSavingsEstimationModeSource", + "documentation":"

      Describes the source for calculating the savings opportunity for Amazon EBS volumes.

      " + } + }, + "documentation":"

      Describes the savings estimation mode used for calculating savings opportunity for Amazon EBS volumes.

      " + }, + "EBSSavingsEstimationModeSource":{ + "type":"string", + "enum":[ + "PublicPricing", + "CostExplorerRightsizing", + "CostOptimizationHub" + ] + }, + "EBSSavingsOpportunityAfterDiscounts":{ + "type":"structure", + "members":{ + "savingsOpportunityPercentage":{ + "shape":"SavingsOpportunityPercentage", + "documentation":"

      The estimated monthly savings possible as a percentage of monthly cost after applying the specific discounts. This saving can be achieved by adopting Compute Optimizer’s Amazon EBS volume recommendations.

      " + }, + "estimatedMonthlySavings":{ + "shape":"EBSEstimatedMonthlySavings", + "documentation":"

      The estimated monthly savings possible as a percentage of monthly cost by adopting Compute Optimizer’s Amazon EBS volume recommendations. This saving includes any applicable discounts.

      " + } + }, + "documentation":"

      Describes the savings opportunity for Amazon EBS volume recommendations after applying specific discounts.

      " + }, "EBSUtilizationMetric":{ "type":"structure", "members":{ @@ -865,6 +987,62 @@ "type":"list", "member":{"shape":"EBSUtilizationMetric"} }, + "ECSEffectiveRecommendationPreferences":{ + "type":"structure", + "members":{ + "savingsEstimationMode":{ + "shape":"ECSSavingsEstimationMode", + "documentation":"

      Describes the savings estimation mode preference applied for calculating savings opportunity for Amazon ECS services.

      " + } + }, + "documentation":"

      Describes the effective recommendation preferences for Amazon ECS services.

      " + }, + "ECSEstimatedMonthlySavings":{ + "type":"structure", + "members":{ + "currency":{ + "shape":"Currency", + "documentation":"

      The currency of the estimated monthly savings.

      " + }, + "value":{ + "shape":"Value", + "documentation":"

      The value of the estimated monthly savings for Amazon ECS services.

      " + } + }, + "documentation":"

      Describes the estimated monthly savings possible for Amazon ECS services by adopting Compute Optimizer recommendations. This is based on Amazon ECS service pricing after applying Savings Plans discounts.

      " + }, + "ECSSavingsEstimationMode":{ + "type":"structure", + "members":{ + "source":{ + "shape":"ECSSavingsEstimationModeSource", + "documentation":"

      Describes the source for calculating the savings opportunity for Amazon ECS services.

      " + } + }, + "documentation":"

      Describes the savings estimation mode used for calculating savings opportunity for Amazon ECS services.

      " + }, + "ECSSavingsEstimationModeSource":{ + "type":"string", + "enum":[ + "PublicPricing", + "CostExplorerRightsizing", + "CostOptimizationHub" + ] + }, + "ECSSavingsOpportunityAfterDiscounts":{ + "type":"structure", + "members":{ + "savingsOpportunityPercentage":{ + "shape":"SavingsOpportunityPercentage", + "documentation":"

      The estimated monthly savings possible as a percentage of monthly cost by adopting Compute Optimizer’s Amazon ECS service recommendations. This includes any applicable Savings Plans discounts.

      " + }, + "estimatedMonthlySavings":{ + "shape":"ECSEstimatedMonthlySavings", + "documentation":"

      The estimated monthly savings possible by adopting Compute Optimizer’s Amazon ECS service recommendations. This includes any applicable Savings Plans discounts.

      " + } + }, + "documentation":"

      Describes the savings opportunity for Amazon ECS service recommendations after applying Savings Plans discounts.

      Savings opportunity represents the estimated monthly savings after applying Savings Plans discounts. You can achieve this by implementing a given Compute Optimizer recommendation.

      " + }, "ECSServiceLaunchType":{ "type":"string", "enum":[ @@ -988,6 +1166,10 @@ "tags":{ "shape":"Tags", "documentation":"

      A list of tags assigned to your Amazon ECS service recommendations.

      " + }, + "effectiveRecommendationPreferences":{ + "shape":"ECSEffectiveRecommendationPreferences", + "documentation":"

      Describes the effective recommendation preferences for Amazon ECS services.

      " } }, "documentation":"

      Describes an Amazon ECS service recommendation.

      " @@ -1057,6 +1239,10 @@ "containerRecommendations":{ "shape":"ContainerRecommendations", "documentation":"

      The CPU and memory size recommendations for the containers within the task of your Amazon ECS service.

      " + }, + "savingsOpportunityAfterDiscounts":{ + "shape":"ECSSavingsOpportunityAfterDiscounts", + "documentation":"

      Describes the savings opportunity for Amazon ECS service recommendations or for the recommendation option.

      Savings opportunity represents the estimated monthly savings after applying Savings Plans discounts. You can achieve this by implementing a given Compute Optimizer recommendation.

      " } }, "documentation":"

      Describes the recommendation options for an Amazon ECS service.

      " @@ -1113,6 +1299,32 @@ "type":"list", "member":{"shape":"ECSServiceUtilizationMetric"} }, + "EffectivePreferredResource":{ + "type":"structure", + "members":{ + "name":{ + "shape":"PreferredResourceName", + "documentation":"

      The name of the preferred resource list.

      " + }, + "includeList":{ + "shape":"PreferredResourceValues", + "documentation":"

      The list of preferred resource values that you want considered as rightsizing recommendation candidates.

      " + }, + "effectiveIncludeList":{ + "shape":"PreferredResourceValues", + "documentation":"

      The expanded version of your preferred resource's include list.

      " + }, + "excludeList":{ + "shape":"PreferredResourceValues", + "documentation":"

      The list of preferred resources values that you want excluded from rightsizing recommendation candidates.

      " + } + }, + "documentation":"

      Describes the effective preferred resources that Compute Optimizer considers as rightsizing recommendation candidates.

      Compute Optimizer only supports Amazon EC2 instance types.

      " + }, + "EffectivePreferredResources":{ + "type":"list", + "member":{"shape":"EffectivePreferredResource"} + }, "EffectiveRecommendationPreferences":{ "type":"structure", "members":{ @@ -1131,6 +1343,22 @@ "externalMetricsPreference":{ "shape":"ExternalMetricsPreference", "documentation":"

      An object that describes the external metrics recommendation preference.

      If the preference is applied in the latest recommendation refresh, an object with a valid source value appears in the response. If the preference isn't applied to the recommendations already, then this object doesn't appear in the response.

      " + }, + "lookBackPeriod":{ + "shape":"LookBackPeriodPreference", + "documentation":"

      The number of days the utilization metrics of the Amazon Web Services resource are analyzed.

      " + }, + "utilizationPreferences":{ + "shape":"UtilizationPreferences", + "documentation":"

      The resource’s CPU utilization threshold preferences, such as threshold and headroom, that are used to generate rightsizing recommendations.

      This preference is only available for the Amazon EC2 instance resource type.

      " + }, + "preferredResources":{ + "shape":"EffectivePreferredResources", + "documentation":"

      The resource type values that are considered as candidates when generating rightsizing recommendations.

      " + }, + "savingsEstimationMode":{ + "shape":"InstanceSavingsEstimationMode", + "documentation":"

      Describes the savings estimation mode applied for calculating savings opportunity for a resource.

      " } }, "documentation":"

      Describes the effective recommendation preferences for a resource.

      " @@ -1493,7 +1721,13 @@ "UtilizationMetricsGpuPercentageMaximum", "UtilizationMetricsGpuMemoryPercentageMaximum", "RecommendationOptionsProjectedUtilizationMetricsGpuPercentageMaximum", - "RecommendationOptionsProjectedUtilizationMetricsGpuMemoryPercentageMaximum" + "RecommendationOptionsProjectedUtilizationMetricsGpuMemoryPercentageMaximum", + "EffectiveRecommendationPreferencesSavingsEstimationMode", + "RecommendationOptionsSavingsOpportunityAfterDiscountsPercentage", + "RecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts", + "RecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts", + "EffectiveRecommendationPreferencesPreferredResources", + "EffectiveRecommendationPreferencesLookBackPeriod" ] }, "ExportableAutoScalingGroupFields":{ @@ -1526,7 +1760,11 @@ "RecommendationOptionsContainerRecommendations", "RecommendationOptionsProjectedUtilizationMetricsCpuMaximum", "RecommendationOptionsProjectedUtilizationMetricsMemoryMaximum", - "Tags" + "Tags", + "EffectiveRecommendationPreferencesSavingsEstimationMode", + "RecommendationOptionsSavingsOpportunityAfterDiscountsPercentage", + "RecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts", + "RecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts" ] }, "ExportableECSServiceFields":{ @@ -1599,7 +1837,14 @@ "UtilizationMetricsGpuMemoryPercentageMaximum", "RecommendationOptionsProjectedUtilizationMetricsGpuPercentageMaximum", "RecommendationOptionsProjectedUtilizationMetricsGpuMemoryPercentageMaximum", - "Idle" + "Idle", + "EffectiveRecommendationPreferencesPreferredResources", + "EffectiveRecommendationPreferencesLookBackPeriod", + "EffectiveRecommendationPreferencesUtilizationPreferences", + "EffectiveRecommendationPreferencesSavingsEstimationMode", + "RecommendationOptionsSavingsOpportunityAfterDiscountsPercentage", + "RecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts", + "RecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts" ] }, "ExportableInstanceFields":{ @@ -1635,7 +1880,11 @@ "RecommendationOptionsSavingsOpportunityPercentage", "RecommendationOptionsEstimatedMonthlySavingsCurrency", "RecommendationOptionsEstimatedMonthlySavingsValue", - "Tags" + "Tags", + "EffectiveRecommendationPreferencesSavingsEstimationMode", + "RecommendationOptionsSavingsOpportunityAfterDiscountsPercentage", + "RecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts", + "RecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts" ] }, "ExportableLambdaFunctionFields":{ @@ -1705,7 +1954,11 @@ "RecommendationOptionsEstimatedMonthlySavingsValue", "RootVolume", "Tags", - "CurrentConfigurationRootVolume" + "CurrentConfigurationRootVolume", + "EffectiveRecommendationPreferencesSavingsEstimationMode", + "RecommendationOptionsSavingsOpportunityAfterDiscountsPercentage", + "RecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts", + "RecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts" ] }, "ExportableVolumeFields":{ @@ -2102,6 +2355,18 @@ "externalMetricsPreference":{ "shape":"ExternalMetricsPreference", "documentation":"

      The provider of the external metrics recommendation preference. Considers all applicable preferences that you might have set at the account and organization level.

      If the preference is applied in the latest recommendation refresh, an object with a valid source value appears in the response. If the preference isn't applied to the recommendations already, then this object doesn't appear in the response.

      To validate whether the preference is applied to your last generated set of recommendations, review the effectiveRecommendationPreferences value in the response of the GetEC2InstanceRecommendations actions.

      For more information, see Enhanced infrastructure metrics in the Compute Optimizer User Guide.

      " + }, + "lookBackPeriod":{ + "shape":"LookBackPeriodPreference", + "documentation":"

      The number of days the utilization metrics of the Amazon Web Services resource are analyzed.

      To validate that the preference is applied to your last generated set of recommendations, review the effectiveRecommendationPreferences value in the response of the GetAutoScalingGroupRecommendations or GetEC2InstanceRecommendations actions.

      " + }, + "utilizationPreferences":{ + "shape":"UtilizationPreferences", + "documentation":"

      The resource’s CPU utilization threshold preferences, such as threshold and headroom, that were used to generate rightsizing recommendations. It considers all applicable preferences that you set at the resource, account, and organization level.

      To validate that the preference is applied to your last generated set of recommendations, review the effectiveRecommendationPreferences value in the response of the GetAutoScalingGroupRecommendations or GetEC2InstanceRecommendations actions.

      " + }, + "preferredResources":{ + "shape":"EffectivePreferredResources", + "documentation":"

      The resource type values that are considered as candidates when generating rightsizing recommendations. This object resolves any wildcard expressions and returns the effective list of candidate resource type values. It also considers all applicable preferences that you set at the resource, account, and organization level.

      To validate that the preference is applied to your last generated set of recommendations, review the effectiveRecommendationPreferences value in the response of the GetAutoScalingGroupRecommendations or GetEC2InstanceRecommendations actions.

      " } } }, @@ -2413,6 +2678,20 @@ "type":"list", "member":{"shape":"InstanceArn"} }, + "InstanceEstimatedMonthlySavings":{ + "type":"structure", + "members":{ + "currency":{ + "shape":"Currency", + "documentation":"

      The currency of the estimated monthly savings.

      " + }, + "value":{ + "shape":"Value", + "documentation":"

      The value of the estimated monthly savings.

      " + } + }, + "documentation":"

      An object that describes the estimated monthly savings possible by adopting Compute Optimizer’s Amazon EC2 instance recommendations. This is based on the Savings Plans and Reserved Instances pricing discounts.

      " + }, "InstanceIdle":{ "type":"string", "enum":[ @@ -2566,6 +2845,10 @@ "instanceGpuInfo":{ "shape":"GpuInfo", "documentation":"

      Describes the GPU accelerator settings for the recommended instance type.

      " + }, + "savingsOpportunityAfterDiscounts":{ + "shape":"InstanceSavingsOpportunityAfterDiscounts", + "documentation":"

      An object that describes the savings opportunity for the instance recommendation option that includes Savings Plans and Reserved Instances discounts. Savings opportunity includes the estimated monthly savings and percentage.

      " } }, "documentation":"

      Describes a recommendation option for an Amazon EC2 instance.

      " @@ -2574,6 +2857,38 @@ "type":"list", "member":{"shape":"InstanceRecommendation"} }, + "InstanceSavingsEstimationMode":{ + "type":"structure", + "members":{ + "source":{ + "shape":"InstanceSavingsEstimationModeSource", + "documentation":"

      Describes the source for calculating the savings opportunity for Amazon EC2 instances.

      " + } + }, + "documentation":"

      Describes the savings estimation mode used for calculating savings opportunity for Amazon EC2 instances.

      " + }, + "InstanceSavingsEstimationModeSource":{ + "type":"string", + "enum":[ + "PublicPricing", + "CostExplorerRightsizing", + "CostOptimizationHub" + ] + }, + "InstanceSavingsOpportunityAfterDiscounts":{ + "type":"structure", + "members":{ + "savingsOpportunityPercentage":{ + "shape":"SavingsOpportunityPercentage", + "documentation":"

      The estimated monthly savings possible as a percentage of monthly cost after applying the Savings Plans and Reserved Instances discounts. This saving can be achieved by adopting Compute Optimizer’s EC2 instance recommendations.

      " + }, + "estimatedMonthlySavings":{ + "shape":"InstanceEstimatedMonthlySavings", + "documentation":"

      An object that describes the estimated monthly savings possible by adopting Compute Optimizer’s Amazon EC2 instance recommendations. This is based on pricing after applying the Savings Plans and Reserved Instances discounts.

      " + } + }, + "documentation":"

      Describes the savings opportunity for instance recommendations after applying the Savings Plans and Reserved Instances discounts.

      Savings opportunity after discounts represents the estimated monthly savings you can achieve by implementing Compute Optimizer recommendations.

      " + }, "InstanceState":{ "type":"string", "enum":[ @@ -2643,6 +2958,30 @@ "Failed" ] }, + "LambdaEffectiveRecommendationPreferences":{ + "type":"structure", + "members":{ + "savingsEstimationMode":{ + "shape":"LambdaSavingsEstimationMode", + "documentation":"

      Describes the savings estimation mode applied for calculating savings opportunity for Lambda functions.

      " + } + }, + "documentation":"

      Describes the effective recommendation preferences for Lambda functions.

      " + }, + "LambdaEstimatedMonthlySavings":{ + "type":"structure", + "members":{ + "currency":{ + "shape":"Currency", + "documentation":"

      The currency of the estimated monthly savings.

      " + }, + "value":{ + "shape":"Value", + "documentation":"

      The value of the estimated monthly savings.

      " + } + }, + "documentation":"

      Describes the estimated monthly savings possible for Lambda functions by adopting Compute Optimizer recommendations. This is based on Lambda functions pricing after applying Savings Plans discounts.

      " + }, "LambdaFunctionMemoryMetricName":{ "type":"string", "enum":["Duration"] @@ -2695,6 +3034,10 @@ "savingsOpportunity":{ "shape":"SavingsOpportunity", "documentation":"

      An object that describes the savings opportunity for the Lambda function recommendation option. Savings opportunity includes the estimated monthly savings amount and percentage.

      " + }, + "savingsOpportunityAfterDiscounts":{ + "shape":"LambdaSavingsOpportunityAfterDiscounts", + "documentation":"

      An object that describes the savings opportunity for the Lambda recommendation option which includes Saving Plans discounts. Savings opportunity includes the estimated monthly savings and percentage.

      " } }, "documentation":"

      Describes a recommendation option for an Lambda function.

      " @@ -2771,6 +3114,10 @@ "tags":{ "shape":"Tags", "documentation":"

      A list of tags assigned to your Lambda function recommendations.

      " + }, + "effectiveRecommendationPreferences":{ + "shape":"LambdaEffectiveRecommendationPreferences", + "documentation":"

      Describes the effective recommendation preferences for Lambda functions.

      " } }, "documentation":"

      Describes an Lambda function recommendation.

      " @@ -2847,6 +3194,38 @@ "type":"list", "member":{"shape":"LambdaFunctionUtilizationMetric"} }, + "LambdaSavingsEstimationMode":{ + "type":"structure", + "members":{ + "source":{ + "shape":"LambdaSavingsEstimationModeSource", + "documentation":"

      Describes the source for calculation of savings opportunity for Lambda functions.

      " + } + }, + "documentation":"

      Describes the savings estimation used for calculating savings opportunity for Lambda functions.

      " + }, + "LambdaSavingsEstimationModeSource":{ + "type":"string", + "enum":[ + "PublicPricing", + "CostExplorerRightsizing", + "CostOptimizationHub" + ] + }, + "LambdaSavingsOpportunityAfterDiscounts":{ + "type":"structure", + "members":{ + "savingsOpportunityPercentage":{ + "shape":"SavingsOpportunityPercentage", + "documentation":"

      The estimated monthly savings possible as a percentage of monthly cost by adopting Compute Optimizer’s Lambda function recommendations. This includes any applicable Savings Plans discounts.

      " + }, + "estimatedMonthlySavings":{ + "shape":"LambdaEstimatedMonthlySavings", + "documentation":"

      The estimated monthly savings possible by adopting Compute Optimizer’s Lambda function recommendations. This includes any applicable Savings Plans discounts.

      " + } + }, + "documentation":"

      Describes the savings opportunity for Lambda functions recommendations after applying Savings Plans discounts.

      Savings opportunity represents the estimated monthly savings after applying Savings Plans discounts. You can achieve this by implementing a given Compute Optimizer recommendation.

      " + }, "LastRefreshTimestamp":{"type":"timestamp"}, "LastUpdatedTimestamp":{"type":"timestamp"}, "LicenseConfiguration":{ @@ -3038,6 +3417,14 @@ "synthetic":true }, "LookBackPeriodInDays":{"type":"double"}, + "LookBackPeriodPreference":{ + "type":"string", + "enum":[ + "DAYS_14", + "DAYS_32", + "DAYS_93" + ] + }, "Low":{"type":"long"}, "LowerBoundValue":{"type":"double"}, "MaxResults":{ @@ -3179,6 +3566,37 @@ "type":"list", "member":{"shape":"PlatformDifference"} }, + "PreferredResource":{ + "type":"structure", + "members":{ + "name":{ + "shape":"PreferredResourceName", + "documentation":"

      The type of preferred resource to customize.

      Compute Optimizer only supports the customization of Ec2InstanceTypes.

      " + }, + "includeList":{ + "shape":"PreferredResourceValues", + "documentation":"

      The preferred resource type values to include in the recommendation candidates. You can specify the exact resource type value, such as m5.large, or use wild card expressions, such as m5. If this isn’t specified, all supported resources are included by default. You can specify up to 1000 values in this list.

      " + }, + "excludeList":{ + "shape":"PreferredResourceValues", + "documentation":"

      The preferred resource type values to exclude from the recommendation candidates. If this isn’t specified, all supported resources are included by default. You can specify up to 1000 values in this list.

      " + } + }, + "documentation":"

      The preference to control which resource type values are considered when generating rightsizing recommendations. You can specify this preference as a combination of include and exclude lists. You must specify either an includeList or excludeList. If the preference is an empty set of resource type values, an error occurs. For more information, see Rightsizing recommendation preferences in the Compute Optimizer User Guide.

      • This preference is only available for the Amazon EC2 instance and Auto Scaling group resource types.

      • Compute Optimizer only supports the customization of Ec2InstanceTypes.

      " + }, + "PreferredResourceName":{ + "type":"string", + "enum":["Ec2InstanceTypes"] + }, + "PreferredResourceValue":{"type":"string"}, + "PreferredResourceValues":{ + "type":"list", + "member":{"shape":"PreferredResourceValue"} + }, + "PreferredResources":{ + "type":"list", + "member":{"shape":"PreferredResource"} + }, "ProjectedMetric":{ "type":"structure", "members":{ @@ -3228,6 +3646,22 @@ "externalMetricsPreference":{ "shape":"ExternalMetricsPreference", "documentation":"

      The provider of the external metrics recommendation preference to create or update.

      Specify a valid provider in the source field to activate the preference. To delete this preference, see the DeleteRecommendationPreferences action.

      This preference can only be set for the Ec2Instance resource type.

      For more information, see External metrics ingestion in the Compute Optimizer User Guide.

      " + }, + "lookBackPeriod":{ + "shape":"LookBackPeriodPreference", + "documentation":"

      The preference to control the number of days the utilization metrics of the Amazon Web Services resource are analyzed. When this preference isn't specified, we use the default value DAYS_14.

      You can only set this preference for the Amazon EC2 instance and Auto Scaling group resource types.

      " + }, + "utilizationPreferences":{ + "shape":"UtilizationPreferences", + "documentation":"

      The preference to control the resource’s CPU utilization thresholds - threshold and headroom. When this preference isn't specified, we use the following default values:

      • P99_5 for threshold

      • PERCENT_17 for headroom

      You can only set this preference for the Amazon EC2 instance resource type.

      " + }, + "preferredResources":{ + "shape":"PreferredResources", + "documentation":"

      The preference to control which resource type values are considered when generating rightsizing recommendations. You can specify this preference as a combination of include and exclude lists. You must specify either an includeList or excludeList. If the preference is an empty set of resource type values, an error occurs.

      You can only set this preference for the Amazon EC2 instance and Auto Scaling group resource types.

      " + }, + "savingsEstimationMode":{ + "shape":"SavingsEstimationMode", + "documentation":"

      The status of the savings estimation mode preference to create or update.

      Specify the AfterDiscounts status to activate the preference, or specify BeforeDiscounts to deactivate the preference.

      Only the account manager or delegated administrator of your organization can activate this preference.

      For more information, see Savings estimation mode in the Compute Optimizer User Guide.

      " } } }, @@ -3302,7 +3736,10 @@ "enum":[ "EnhancedInfrastructureMetrics", "InferredWorkloadTypes", - "ExternalMetricsPreference" + "ExternalMetricsPreference", + "LookBackPeriodPreference", + "PreferredResources", + "UtilizationPreferences" ] }, "RecommendationPreferenceNames":{ @@ -3341,6 +3778,22 @@ "externalMetricsPreference":{ "shape":"ExternalMetricsPreference", "documentation":"

      An object that describes the external metrics recommendation preference.

      If the preference is applied in the latest recommendation refresh, an object with a valid source value appears in the response. If the preference isn't applied to the recommendations already, then this object doesn't appear in the response.

      " + }, + "lookBackPeriod":{ + "shape":"LookBackPeriodPreference", + "documentation":"

      The preference to control the number of days the utilization metrics of the Amazon Web Services resource are analyzed. If the preference isn’t set, this object is null.

      " + }, + "utilizationPreferences":{ + "shape":"UtilizationPreferences", + "documentation":"

      The preference to control the resource’s CPU utilization thresholds - threshold and headroom. If the preference isn’t set, this object is null.

      This preference is only available for the Amazon EC2 instance resource type.

      " + }, + "preferredResources":{ + "shape":"EffectivePreferredResources", + "documentation":"

      The preference to control which resource type values are considered when generating rightsizing recommendations. This object resolves any wildcard expressions and returns the effective list of candidate resource type values. If the preference isn’t set, this object is null.

      " + }, + "savingsEstimationMode":{ + "shape":"SavingsEstimationMode", + "documentation":"

      Describes the savings estimation mode used for calculating savings opportunity.

      Only the account manager or delegated administrator of your organization can activate this preference.

      " } }, "documentation":"

      Describes a recommendation preference.

      " @@ -3495,6 +3948,13 @@ }, "documentation":"

      Describes the destination Amazon Simple Storage Service (Amazon S3) bucket name and key prefix for a recommendations export job.

      You must create the destination Amazon S3 bucket for your recommendations export before you create the export job. Compute Optimizer does not create the S3 bucket for you. After you create the S3 bucket, ensure that it has the required permission policy to allow Compute Optimizer to write the export file to it. If you plan to specify an object prefix when you create the export job, you must include the object prefix in the policy that you add to the S3 bucket. For more information, see Amazon S3 Bucket Policy for Compute Optimizer in the Compute Optimizer User Guide.

      " }, + "SavingsEstimationMode":{ + "type":"string", + "enum":[ + "AfterDiscounts", + "BeforeDiscounts" + ] + }, "SavingsOpportunity":{ "type":"structure", "members":{ @@ -3692,6 +4152,24 @@ "type":"list", "member":{"shape":"UtilizationMetric"} }, + "UtilizationPreference":{ + "type":"structure", + "members":{ + "metricName":{ + "shape":"CustomizableMetricName", + "documentation":"

      The name of the resource utilization metric name to customize.

      Compute Optimizer only supports CpuUtilization.

      " + }, + "metricParameters":{ + "shape":"CustomizableMetricParameters", + "documentation":"

      The parameters to set when customizing the resource utilization thresholds.

      " + } + }, + "documentation":"

      The preference to control the resource’s CPU utilization thresholds - threshold and headroom.

      This preference is only available for the Amazon EC2 instance resource type.

      " + }, + "UtilizationPreferences":{ + "type":"list", + "member":{"shape":"UtilizationPreference"} + }, "Value":{"type":"double"}, "VeryLow":{"type":"long"}, "VolumeArn":{"type":"string"}, @@ -3779,6 +4257,10 @@ "tags":{ "shape":"Tags", "documentation":"

      A list of tags assigned to your Amazon EBS volume recommendations.

      " + }, + "effectiveRecommendationPreferences":{ + "shape":"EBSEffectiveRecommendationPreferences", + "documentation":"

      Describes the effective recommendation preferences for Amazon EBS volume.

      " } }, "documentation":"

      Describes an Amazon Elastic Block Store (Amazon EBS) volume recommendation.

      " @@ -3801,6 +4283,10 @@ "savingsOpportunity":{ "shape":"SavingsOpportunity", "documentation":"

      An object that describes the savings opportunity for the EBS volume recommendation option. Savings opportunity includes the estimated monthly savings amount and percentage.

      " + }, + "savingsOpportunityAfterDiscounts":{ + "shape":"EBSSavingsOpportunityAfterDiscounts", + "documentation":"

      An object that describes the savings opportunity for the Amazon EBS volume recommendation option with specific discounts. Savings opportunity includes the estimated monthly savings and percentage.

      " } }, "documentation":"

      Describes a recommendation option for an Amazon Elastic Block Store (Amazon EBS) instance.

      " diff --git a/tools/code-generation/api-descriptions/config-2014-11-12.normal.json b/tools/code-generation/api-descriptions/config-2014-11-12.normal.json index 97fa6d47a3d..9c60f92d78c 100644 --- a/tools/code-generation/api-descriptions/config-2014-11-12.normal.json +++ b/tools/code-generation/api-descriptions/config-2014-11-12.normal.json @@ -1054,6 +1054,7 @@ "input":{"shape":"PutConfigurationRecorderRequest"}, "errors":[ {"shape":"MaxNumberOfConfigurationRecordersExceededException"}, + {"shape":"ValidationException"}, {"shape":"InvalidConfigurationRecorderNameException"}, {"shape":"InvalidRoleException"}, {"shape":"InvalidRecordingGroupException"} @@ -1770,11 +1771,11 @@ }, "configurationItemCaptureTime":{ "shape":"ConfigurationItemCaptureTime", - "documentation":"

      The time when the configuration recording was initiated.

      " + "documentation":"

      The time when the recording of configuration changes was initiated for the resource.

      " }, "configurationItemStatus":{ "shape":"ConfigurationItemStatus", - "documentation":"

      The configuration item status. The valid values are:

      • OK – The resource configuration has been updated

      • ResourceDiscovered – The resource was newly discovered

      • ResourceNotRecorded – The resource was discovered but its configuration was not recorded since the recorder excludes the recording of resources of this type

      • ResourceDeleted – The resource was deleted

      • ResourceDeletedNotRecorded – The resource was deleted but its configuration was not recorded since the recorder excludes the recording of resources of this type

      " + "documentation":"

      The configuration item status. Valid values include:

      • OK – The resource configuration has been updated.

      • ResourceDiscovered – The resource was newly discovered.

      • ResourceNotRecorded – The resource was discovered, but its configuration was not recorded since the recorder doesn't record resources of this type.

      • ResourceDeleted – The resource was deleted

      • ResourceDeletedNotRecorded – The resource was deleted, but its configuration was not recorded since the recorder doesn't record resources of this type.

      " }, "configurationStateId":{ "shape":"ConfigurationStateId", @@ -1815,9 +1816,17 @@ "supplementaryConfiguration":{ "shape":"SupplementaryConfiguration", "documentation":"

      Configuration attributes that Config returns for certain resource types to supplement the information returned for the configuration parameter.

      " + }, + "recordingFrequency":{ + "shape":"RecordingFrequency", + "documentation":"

      The recording frequency that Config uses to record configuration changes for the resource.

      " + }, + "configurationItemDeliveryTime":{ + "shape":"ConfigurationItemDeliveryTime", + "documentation":"

      The time when configuration changes for the resource were delivered.

      " } }, - "documentation":"

      The detailed configuration of a specified resource.

      " + "documentation":"

      The detailed configurations of a specified resource.

      " }, "BaseConfigurationItems":{ "type":"list", @@ -2344,11 +2353,11 @@ }, "configurationItemCaptureTime":{ "shape":"ConfigurationItemCaptureTime", - "documentation":"

      The time when the configuration recording was initiated.

      " + "documentation":"

      The time when the recording of configuration changes was initiated for the resource.

      " }, "configurationItemStatus":{ "shape":"ConfigurationItemStatus", - "documentation":"

      The configuration item status. The valid values are:

      • OK – The resource configuration has been updated

      • ResourceDiscovered – The resource was newly discovered

      • ResourceNotRecorded – The resource was discovered but its configuration was not recorded since the recorder excludes the recording of resources of this type

      • ResourceDeleted – The resource was deleted

      • ResourceDeletedNotRecorded – The resource was deleted but its configuration was not recorded since the recorder excludes the recording of resources of this type

      " + "documentation":"

      The configuration item status. Valid values include:

      • OK – The resource configuration has been updated

      • ResourceDiscovered – The resource was newly discovered

      • ResourceNotRecorded – The resource was discovered but its configuration was not recorded since the recorder doesn't record resources of this type

      • ResourceDeleted – The resource was deleted

      • ResourceDeletedNotRecorded – The resource was deleted but its configuration was not recorded since the recorder doesn't record resources of this type

      " }, "configurationStateId":{ "shape":"ConfigurationStateId", @@ -2405,11 +2414,20 @@ "supplementaryConfiguration":{ "shape":"SupplementaryConfiguration", "documentation":"

      Configuration attributes that Config returns for certain resource types to supplement the information returned for the configuration parameter.

      " + }, + "recordingFrequency":{ + "shape":"RecordingFrequency", + "documentation":"

      The recording frequency that Config uses to record configuration changes for the resource.

      " + }, + "configurationItemDeliveryTime":{ + "shape":"ConfigurationItemDeliveryTime", + "documentation":"

      The time when configuration changes for the resource were delivered.

      " } }, "documentation":"

      A list that contains detailed configurations of a specified resource.

      " }, "ConfigurationItemCaptureTime":{"type":"timestamp"}, + "ConfigurationItemDeliveryTime":{"type":"timestamp"}, "ConfigurationItemList":{ "type":"list", "member":{"shape":"ConfigurationItem"} @@ -2430,7 +2448,7 @@ "members":{ "name":{ "shape":"RecorderName", - "documentation":"

      The name of the configuration recorder. Config automatically assigns the name of \"default\" when creating the configuration recorder.

      You cannot change the name of the configuration recorder after it has been created. To change the configuration recorder name, you must delete it and create a new configuration recorder with a new name.

      " + "documentation":"

      The name of the configuration recorder. Config automatically assigns the name of \"default\" when creating the configuration recorder.

      You cannot change the name of the configuration recorder after it has been created. To change the configuration recorder name, you must delete it and create a new configuration recorder with a new name.

      " }, "roleARN":{ "shape":"String", @@ -2439,9 +2457,13 @@ "recordingGroup":{ "shape":"RecordingGroup", "documentation":"

      Specifies which resource types Config records for configuration changes.

      High Number of Config Evaluations

      You may notice increased activity in your account during your initial month recording with Config when compared to subsequent months. During the initial bootstrapping process, Config runs evaluations on all the resources in your account that you have selected for Config to record.

      If you are running ephemeral workloads, you may see increased activity from Config as it records configuration changes associated with creating and deleting these temporary resources. An ephemeral workload is a temporary use of computing resources that are loaded and run when needed. Examples include Amazon Elastic Compute Cloud (Amazon EC2) Spot Instances, Amazon EMR jobs, and Auto Scaling. If you want to avoid the increased activity from running ephemeral workloads, you can run these types of workloads in a separate account with Config turned off to avoid increased configuration recording and rule evaluations.

      " + }, + "recordingMode":{ + "shape":"RecordingMode", + "documentation":"

      Specifies the default recording frequency that Config uses to record configuration changes. Config supports Continuous recording and Daily recording.

      • Continuous recording allows you to record configuration changes continuously whenever a change occurs.

      • Daily recording allows you record configuration data once every 24 hours, only if a change has occurred.

      Firewall Manager depends on continuous recording to monitor your resources. If you are using Firewall Manager, it is recommended that you set the recording frequency to Continuous.

      You can also override the recording frequency for specific resource types.

      " } }, - "documentation":"

      Records configuration changes to specified resource types. For more information about the configuration recorder, see Managing the Configuration Recorder in the Config Developer Guide.

      " + "documentation":"

      Records configuration changes to your specified resource types. For more information about the configuration recorder, see Managing the Configuration Recorder in the Config Developer Guide.

      " }, "ConfigurationRecorderList":{ "type":"list", @@ -3966,6 +3988,11 @@ } } }, + "Description":{ + "type":"string", + "max":256, + "min":1 + }, "DiscoveredResourceIdentifierList":{ "type":"list", "member":{"shape":"AggregateResourceIdentifier"} @@ -4163,7 +4190,7 @@ "documentation":"

      A comma-separated list of resource types to exclude from recording by the configuration recorder.

      " } }, - "documentation":"

      Specifies whether the configuration recorder excludes certain resource types from being recorded. Use the resourceTypes field to enter a comma-separated list of resource types you want to exclude from recording.

      By default, when Config adds support for a new resource type in the Region where you set up the configuration recorder, including global resource types, Config starts recording resources of that type automatically.

      How to use

      To use this option, you must set the useOnly field of RecordingStrategy to EXCLUSION_BY_RESOURCE_TYPES.

      Config will then record configuration changes for all supported resource types, except the resource types that you specify to exclude from being recorded.

      Globally recorded resources

      Unless specifically listed as exclusions, AWS::RDS::GlobalCluster will be recorded automatically in all supported Config Regions were the configuration recorder is enabled. IAM users, groups, roles, and customer managed policies will be recorded automatically in all enabled Config Regions where Config was available before February 2022. This list does not include the following Regions:

      • Asia Pacific (Hyderabad)

      • Asia Pacific (Melbourne)

      • Europe (Spain)

      • Europe (Zurich)

      • Israel (Tel Aviv)

      • Middle East (UAE)

      " + "documentation":"

      Specifies whether the configuration recorder excludes certain resource types from being recorded. Use the resourceTypes field to enter a comma-separated list of resource types you want to exclude from recording.

      By default, when Config adds support for a new resource type in the Region where you set up the configuration recorder, including global resource types, Config starts recording resources of that type automatically.

      How to use the exclusion recording strategy

      To use this option, you must set the useOnly field of RecordingStrategy to EXCLUSION_BY_RESOURCE_TYPES.

      Config will then record configuration changes for all supported resource types, except the resource types that you specify to exclude from being recorded.

      Global resource types and the exclusion recording strategy

      Unless specifically listed as exclusions, AWS::RDS::GlobalCluster will be recorded automatically in all supported Config Regions were the configuration recorder is enabled.

      IAM users, groups, roles, and customer managed policies will be recorded in the Region where you set up the configuration recorder if that is a Region where Config was available before February 2022. You cannot be record the global IAM resouce types in Regions supported by Config after February 2022. This list where you cannot record the global IAM resource types includes the following Regions:

      • Asia Pacific (Hyderabad)

      • Asia Pacific (Melbourne)

      • Europe (Spain)

      • Europe (Zurich)

      • Israel (Tel Aviv)

      • Middle East (UAE)

      " }, "ExecutionControls":{ "type":"structure", @@ -6595,38 +6622,92 @@ "Failure" ] }, + "RecordingFrequency":{ + "type":"string", + "enum":[ + "CONTINUOUS", + "DAILY" + ] + }, "RecordingGroup":{ "type":"structure", "members":{ "allSupported":{ "shape":"AllSupported", - "documentation":"

      Specifies whether Config records configuration changes for all supported regionally recorded resource types.

      If you set this field to true, when Config adds support for a new regionally recorded resource type, Config starts recording resources of that type automatically.

      If you set this field to true, you cannot enumerate specific resource types to record in the resourceTypes field of RecordingGroup, or to exclude in the resourceTypes field of ExclusionByResourceTypes.

      Region Availability

      Check Resource Coverage by Region Availability to see if a resource type is supported in the Amazon Web Services Region where you set up Config.

      " + "documentation":"

      Specifies whether Config records configuration changes for all supported resource types, excluding the global IAM resource types.

      If you set this field to true, when Config adds support for a new resource type, Config starts recording resources of that type automatically.

      If you set this field to true, you cannot enumerate specific resource types to record in the resourceTypes field of RecordingGroup, or to exclude in the resourceTypes field of ExclusionByResourceTypes.

      Region availability

      Check Resource Coverage by Region Availability to see if a resource type is supported in the Amazon Web Services Region where you set up Config.

      " }, "includeGlobalResourceTypes":{ "shape":"IncludeGlobalResourceTypes", - "documentation":"

      A legacy field which only applies to the globally recorded IAM resource types: IAM users, groups, roles, and customer managed policies. If you select this option, these resource types will be recorded in all enabled Config regions where Config was available before February 2022. This list does not include the following Regions:

      • Asia Pacific (Hyderabad)

      • Asia Pacific (Melbourne)

      • Europe (Spain)

      • Europe (Zurich)

      • Israel (Tel Aviv)

      • Middle East (UAE)

      Aurora global clusters are automatically globally recorded

      The AWS::RDS::GlobalCluster resource type will be recorded in all supported Config Regions where the configuration recorder is enabled, even if includeGlobalResourceTypes is not set to true. includeGlobalResourceTypes is a legacy field which only applies to IAM users, groups, roles, and customer managed policies.

      If you do not want to record AWS::RDS::GlobalCluster in all enabled Regions, use one of the following recording strategies:

      1. Record all current and future resource types with exclusions (EXCLUSION_BY_RESOURCE_TYPES), or

      2. Record specific resource types (INCLUSION_BY_RESOURCE_TYPES).

      For more information, see Selecting Which Resources are Recorded in the Config developer guide.

      Required and optional fields

      Before you set this field to true, set the allSupported field of RecordingGroup to true. Optionally, you can set the useOnly field of RecordingStrategy to ALL_SUPPORTED_RESOURCE_TYPES.

      Overriding fields

      If you set this field to false but list globally recorded IAM resource types in the resourceTypes field of RecordingGroup, Config will still record configuration changes for those specified resource types regardless of if you set the includeGlobalResourceTypes field to false.

      If you do not want to record configuration changes to the globally recorded IAM resource types (IAM users, groups, roles, and customer managed policies), make sure to not list them in the resourceTypes field in addition to setting the includeGlobalResourceTypes field to false.

      " + "documentation":"

      This option is a bundle which only applies to the global IAM resource types: IAM users, groups, roles, and customer managed policies. These global IAM resource types can only be recorded by Config in Regions where Config was available before February 2022. You cannot be record the global IAM resouce types in Regions supported by Config after February 2022. This list where you cannot record the global IAM resource types includes the following Regions:

      • Asia Pacific (Hyderabad)

      • Asia Pacific (Melbourne)

      • Europe (Spain)

      • Europe (Zurich)

      • Israel (Tel Aviv)

      • Middle East (UAE)

      Aurora global clusters are recorded in all enabled Regions

      The AWS::RDS::GlobalCluster resource type will be recorded in all supported Config Regions where the configuration recorder is enabled, even if includeGlobalResourceTypes is not set to true. The includeGlobalResourceTypes option is a bundle which only applies to IAM users, groups, roles, and customer managed policies.

      If you do not want to record AWS::RDS::GlobalCluster in all enabled Regions, use one of the following recording strategies:

      1. Record all current and future resource types with exclusions (EXCLUSION_BY_RESOURCE_TYPES), or

      2. Record specific resource types (INCLUSION_BY_RESOURCE_TYPES).

      For more information, see Selecting Which Resources are Recorded in the Config developer guide.

      Before you set this field to true, set the allSupported field of RecordingGroup to true. Optionally, you can set the useOnly field of RecordingStrategy to ALL_SUPPORTED_RESOURCE_TYPES.

      Overriding fields

      If you set this field to false but list global IAM resource types in the resourceTypes field of RecordingGroup, Config will still record configuration changes for those specified resource types regardless of if you set the includeGlobalResourceTypes field to false.

      If you do not want to record configuration changes to the global IAM resource types (IAM users, groups, roles, and customer managed policies), make sure to not list them in the resourceTypes field in addition to setting the includeGlobalResourceTypes field to false.

      " }, "resourceTypes":{ "shape":"ResourceTypeList", - "documentation":"

      A comma-separated list that specifies which resource types Config records.

      Optionally, you can set the useOnly field of RecordingStrategy to INCLUSION_BY_RESOURCE_TYPES.

      To record all configuration changes, set the allSupported field of RecordingGroup to true, and either omit this field or don't specify any resource types in this field. If you set the allSupported field to false and specify values for resourceTypes, when Config adds support for a new type of resource, it will not record resources of that type unless you manually add that type to your recording group.

      For a list of valid resourceTypes values, see the Resource Type Value column in Supported Amazon Web Services resource Types in the Config developer guide.

      Region Availability

      Before specifying a resource type for Config to track, check Resource Coverage by Region Availability to see if the resource type is supported in the Amazon Web Services Region where you set up Config. If a resource type is supported by Config in at least one Region, you can enable the recording of that resource type in all Regions supported by Config, even if the specified resource type is not supported in the Amazon Web Services Region where you set up Config.

      " + "documentation":"

      A comma-separated list that specifies which resource types Config records.

      For a list of valid resourceTypes values, see the Resource Type Value column in Supported Amazon Web Services resource Types in the Config developer guide.

      Required and optional fields

      Optionally, you can set the useOnly field of RecordingStrategy to INCLUSION_BY_RESOURCE_TYPES.

      To record all configuration changes, set the allSupported field of RecordingGroup to true, and either omit this field or don't specify any resource types in this field. If you set the allSupported field to false and specify values for resourceTypes, when Config adds support for a new type of resource, it will not record resources of that type unless you manually add that type to your recording group.

      Region availability

      Before specifying a resource type for Config to track, check Resource Coverage by Region Availability to see if the resource type is supported in the Amazon Web Services Region where you set up Config. If a resource type is supported by Config in at least one Region, you can enable the recording of that resource type in all Regions supported by Config, even if the specified resource type is not supported in the Amazon Web Services Region where you set up Config.

      " }, "exclusionByResourceTypes":{ "shape":"ExclusionByResourceTypes", - "documentation":"

      An object that specifies how Config excludes resource types from being recorded by the configuration recorder.

      To use this option, you must set the useOnly field of RecordingStrategy to EXCLUSION_BY_RESOURCE_TYPES.

      " + "documentation":"

      An object that specifies how Config excludes resource types from being recorded by the configuration recorder.

      Required fields

      To use this option, you must set the useOnly field of RecordingStrategy to EXCLUSION_BY_RESOURCE_TYPES.

      " }, "recordingStrategy":{ "shape":"RecordingStrategy", - "documentation":"

      An object that specifies the recording strategy for the configuration recorder.

      • If you set the useOnly field of RecordingStrategy to ALL_SUPPORTED_RESOURCE_TYPES, Config records configuration changes for all supported regionally recorded resource types. You also must set the allSupported field of RecordingGroup to true. When Config adds support for a new regionally recorded resource type, Config automatically starts recording resources of that type.

      • If you set the useOnly field of RecordingStrategy to INCLUSION_BY_RESOURCE_TYPES, Config records configuration changes for only the resource types you specify in the resourceTypes field of RecordingGroup.

      • If you set the useOnly field of RecordingStrategy to EXCLUSION_BY_RESOURCE_TYPES, Config records configuration changes for all supported resource types except the resource types that you specify to exclude from being recorded in the resourceTypes field of ExclusionByResourceTypes.

      Required and optional fields

      The recordingStrategy field is optional when you set the allSupported field of RecordingGroup to true.

      The recordingStrategy field is optional when you list resource types in the resourceTypes field of RecordingGroup.

      The recordingStrategy field is required if you list resource types to exclude from recording in the resourceTypes field of ExclusionByResourceTypes.

      Overriding fields

      If you choose EXCLUSION_BY_RESOURCE_TYPES for the recording strategy, the exclusionByResourceTypes field will override other properties in the request.

      For example, even if you set includeGlobalResourceTypes to false, globally recorded IAM resource types will still be automatically recorded in this option unless those resource types are specifically listed as exclusions in the resourceTypes field of exclusionByResourceTypes.

      Global resources types and the resource exclusion recording strategy

      By default, if you choose the EXCLUSION_BY_RESOURCE_TYPES recording strategy, when Config adds support for a new resource type in the Region where you set up the configuration recorder, including global resource types, Config starts recording resources of that type automatically.

      In addition, unless specifically listed as exclusions, AWS::RDS::GlobalCluster will be recorded automatically in all supported Config Regions were the configuration recorder is enabled. IAM users, groups, roles, and customer managed policies will be recorded automatically in all enabled Config Regions where Config was available before February 2022. This list does not include the following Regions:

      • Asia Pacific (Hyderabad)

      • Asia Pacific (Melbourne)

      • Europe (Spain)

      • Europe (Zurich)

      • Israel (Tel Aviv)

      • Middle East (UAE)

      " + "documentation":"

      An object that specifies the recording strategy for the configuration recorder.

      • If you set the useOnly field of RecordingStrategy to ALL_SUPPORTED_RESOURCE_TYPES, Config records configuration changes for all supported resource types, excluding the global IAM resource types. You also must set the allSupported field of RecordingGroup to true. When Config adds support for a new resource type, Config automatically starts recording resources of that type.

      • If you set the useOnly field of RecordingStrategy to INCLUSION_BY_RESOURCE_TYPES, Config records configuration changes for only the resource types you specify in the resourceTypes field of RecordingGroup.

      • If you set the useOnly field of RecordingStrategy to EXCLUSION_BY_RESOURCE_TYPES, Config records configuration changes for all supported resource types except the resource types that you specify to exclude from being recorded in the resourceTypes field of ExclusionByResourceTypes.

      Required and optional fields

      The recordingStrategy field is optional when you set the allSupported field of RecordingGroup to true.

      The recordingStrategy field is optional when you list resource types in the resourceTypes field of RecordingGroup.

      The recordingStrategy field is required if you list resource types to exclude from recording in the resourceTypes field of ExclusionByResourceTypes.

      Overriding fields

      If you choose EXCLUSION_BY_RESOURCE_TYPES for the recording strategy, the exclusionByResourceTypes field will override other properties in the request.

      For example, even if you set includeGlobalResourceTypes to false, global IAM resource types will still be automatically recorded in this option unless those resource types are specifically listed as exclusions in the resourceTypes field of exclusionByResourceTypes.

      Global resources types and the resource exclusion recording strategy

      By default, if you choose the EXCLUSION_BY_RESOURCE_TYPES recording strategy, when Config adds support for a new resource type in the Region where you set up the configuration recorder, including global resource types, Config starts recording resources of that type automatically.

      Unless specifically listed as exclusions, AWS::RDS::GlobalCluster will be recorded automatically in all supported Config Regions were the configuration recorder is enabled.

      IAM users, groups, roles, and customer managed policies will be recorded in the Region where you set up the configuration recorder if that is a Region where Config was available before February 2022. You cannot be record the global IAM resouce types in Regions supported by Config after February 2022. This list where you cannot record the global IAM resource types includes the following Regions:

      • Asia Pacific (Hyderabad)

      • Asia Pacific (Melbourne)

      • Europe (Spain)

      • Europe (Zurich)

      • Israel (Tel Aviv)

      • Middle East (UAE)

      " } }, - "documentation":"

      Specifies which resource types Config records for configuration changes. By default, Config records configuration changes for all current and future supported resource types in the Amazon Web Services Region where you have enabled Config (excluding the globally recorded IAM resource types: IAM users, groups, roles, and customer managed policies).

      In the recording group, you specify whether you want to record all supported current and future supported resource types or to include or exclude specific resources types. For a list of supported resource types, see Supported Resource Types in the Config developer guide.

      If you don't want Config to record all current and future supported resource types, use one of the following recording strategies:

      1. Record all current and future resource types with exclusions (EXCLUSION_BY_RESOURCE_TYPES), or

      2. Record specific resource types (INCLUSION_BY_RESOURCE_TYPES).

      Aurora global clusters are automatically globally recorded

      The AWS::RDS::GlobalCluster resource type will be recorded in all supported Config Regions where the configuration recorder is enabled.

      If you do not want to record AWS::RDS::GlobalCluster in all enabled Regions, use the EXCLUSION_BY_RESOURCE_TYPES or INCLUSION_BY_RESOURCE_TYPES recording strategy.

      " + "documentation":"

      Specifies which resource types Config records for configuration changes. By default, Config records configuration changes for all current and future supported resource types in the Amazon Web Services Region where you have enabled Config, excluding the global IAM resource types: IAM users, groups, roles, and customer managed policies.

      In the recording group, you specify whether you want to record all supported current and future supported resource types or to include or exclude specific resources types. For a list of supported resource types, see Supported Resource Types in the Config developer guide.

      If you don't want Config to record all current and future supported resource types (excluding the global IAM resource types), use one of the following recording strategies:

      1. Record all current and future resource types with exclusions (EXCLUSION_BY_RESOURCE_TYPES), or

      2. Record specific resource types (INCLUSION_BY_RESOURCE_TYPES).

      If you use the recording strategy to Record all current and future resource types (ALL_SUPPORTED_RESOURCE_TYPES), you can use the flag includeGlobalResourceTypes to include the global IAM resource types in your recording.

      Aurora global clusters are recorded in all enabled Regions

      The AWS::RDS::GlobalCluster resource type will be recorded in all supported Config Regions where the configuration recorder is enabled.

      If you do not want to record AWS::RDS::GlobalCluster in all enabled Regions, use the EXCLUSION_BY_RESOURCE_TYPES or INCLUSION_BY_RESOURCE_TYPES recording strategy.

      " + }, + "RecordingMode":{ + "type":"structure", + "required":["recordingFrequency"], + "members":{ + "recordingFrequency":{ + "shape":"RecordingFrequency", + "documentation":"

      The default recording frequency that Config uses to record configuration changes.

      Daily recording is not supported for the following resource types:

      • AWS::Config::ResourceCompliance

      • AWS::Config::ConformancePackCompliance

      • AWS::Config::ConfigurationRecorder

      For the allSupported (ALL_SUPPORTED_RESOURCE_TYPES) recording strategy, these resource types will be set to Continuous recording.

      " + }, + "recordingModeOverrides":{ + "shape":"RecordingModeOverrides", + "documentation":"

      An array of recordingModeOverride objects for you to specify your overrides for the recording mode. The recordingModeOverride object in the recordingModeOverrides array consists of three fields: a description, the new recordingFrequency, and an array of resourceTypes to override.

      " + } + }, + "documentation":"

      Specifies the default recording frequency that Config uses to record configuration changes. Config supports Continuous recording and Daily recording.

      • Continuous recording allows you to record configuration changes continuously whenever a change occurs.

      • Daily recording allows you record configuration data once every 24 hours, only if a change has occurred.

      Firewall Manager depends on continuous recording to monitor your resources. If you are using Firewall Manager, it is recommended that you set the recording frequency to Continuous.

      You can also override the recording frequency for specific resource types.

      " + }, + "RecordingModeOverride":{ + "type":"structure", + "required":[ + "resourceTypes", + "recordingFrequency" + ], + "members":{ + "description":{ + "shape":"Description", + "documentation":"

      A description that you provide for the override.

      " + }, + "resourceTypes":{ + "shape":"RecordingModeResourceTypesList", + "documentation":"

      A comma-separated list that specifies which resource types Config includes in the override.

      Daily recording is not supported for the following resource types:

      • AWS::Config::ResourceCompliance

      • AWS::Config::ConformancePackCompliance

      • AWS::Config::ConfigurationRecorder

      " + }, + "recordingFrequency":{ + "shape":"RecordingFrequency", + "documentation":"

      The recording frequency that will be applied to all the resource types specified in the override.

      • Continuous recording allows you to record configuration changes continuously whenever a change occurs.

      • Daily recording allows you record configuration data once every 24 hours, only if a change has occurred.

      Firewall Manager depends on continuous recording to monitor your resources. If you are using Firewall Manager, it is recommended that you set the recording frequency to Continuous.

      " + } + }, + "documentation":"

      An object for you to specify your overrides for the recording mode.

      " + }, + "RecordingModeOverrides":{ + "type":"list", + "member":{"shape":"RecordingModeOverride"}, + "max":1, + "min":0 + }, + "RecordingModeResourceTypesList":{ + "type":"list", + "member":{"shape":"ResourceType"} }, "RecordingStrategy":{ "type":"structure", "members":{ "useOnly":{ "shape":"RecordingStrategyType", - "documentation":"

      The recording strategy for the configuration recorder.

      • If you set this option to ALL_SUPPORTED_RESOURCE_TYPES, Config records configuration changes for all supported regionally recorded resource types. You also must set the allSupported field of RecordingGroup to true. When Config adds support for a new regionally recorded resource type, Config automatically starts recording resources of that type. For a list of supported resource types, see Supported Resource Types in the Config developer guide.

      • If you set this option to INCLUSION_BY_RESOURCE_TYPES, Config records configuration changes for only the resource types that you specify in the resourceTypes field of RecordingGroup.

      • If you set this option to EXCLUSION_BY_RESOURCE_TYPES, Config records configuration changes for all supported resource types, except the resource types that you specify to exclude from being recorded in the resourceTypes field of ExclusionByResourceTypes.

      Required and optional fields

      The recordingStrategy field is optional when you set the allSupported field of RecordingGroup to true.

      The recordingStrategy field is optional when you list resource types in the resourceTypes field of RecordingGroup.

      The recordingStrategy field is required if you list resource types to exclude from recording in the resourceTypes field of ExclusionByResourceTypes.

      Overriding fields

      If you choose EXCLUSION_BY_RESOURCE_TYPES for the recording strategy, the exclusionByResourceTypes field will override other properties in the request.

      For example, even if you set includeGlobalResourceTypes to false, globally recorded IAM resource types will still be automatically recorded in this option unless those resource types are specifically listed as exclusions in the resourceTypes field of exclusionByResourceTypes.

      Global resource types and the exclusion recording strategy

      By default, if you choose the EXCLUSION_BY_RESOURCE_TYPES recording strategy, when Config adds support for a new resource type in the Region where you set up the configuration recorder, including global resource types, Config starts recording resources of that type automatically.

      In addition, unless specifically listed as exclusions, AWS::RDS::GlobalCluster will be recorded automatically in all supported Config Regions were the configuration recorder is enabled. IAM users, groups, roles, and customer managed policies will be recorded automatically in all enabled Config Regions where Config was available before February 2022. This list does not include the following Regions:

      • Asia Pacific (Hyderabad)

      • Asia Pacific (Melbourne)

      • Europe (Spain)

      • Europe (Zurich)

      • Israel (Tel Aviv)

      • Middle East (UAE)

      " + "documentation":"

      The recording strategy for the configuration recorder.

      • If you set this option to ALL_SUPPORTED_RESOURCE_TYPES, Config records configuration changes for all supported resource types, excluding the global IAM resource types. You also must set the allSupported field of RecordingGroup to true. When Config adds support for a new resource type, Config automatically starts recording resources of that type. For a list of supported resource types, see Supported Resource Types in the Config developer guide.

      • If you set this option to INCLUSION_BY_RESOURCE_TYPES, Config records configuration changes for only the resource types that you specify in the resourceTypes field of RecordingGroup.

      • If you set this option to EXCLUSION_BY_RESOURCE_TYPES, Config records configuration changes for all supported resource types, except the resource types that you specify to exclude from being recorded in the resourceTypes field of ExclusionByResourceTypes.

      Required and optional fields

      The recordingStrategy field is optional when you set the allSupported field of RecordingGroup to true.

      The recordingStrategy field is optional when you list resource types in the resourceTypes field of RecordingGroup.

      The recordingStrategy field is required if you list resource types to exclude from recording in the resourceTypes field of ExclusionByResourceTypes.

      Overriding fields

      If you choose EXCLUSION_BY_RESOURCE_TYPES for the recording strategy, the exclusionByResourceTypes field will override other properties in the request.

      For example, even if you set includeGlobalResourceTypes to false, global IAM resource types will still be automatically recorded in this option unless those resource types are specifically listed as exclusions in the resourceTypes field of exclusionByResourceTypes.

      Global resource types and the exclusion recording strategy

      By default, if you choose the EXCLUSION_BY_RESOURCE_TYPES recording strategy, when Config adds support for a new resource type in the Region where you set up the configuration recorder, including global resource types, Config starts recording resources of that type automatically.

      Unless specifically listed as exclusions, AWS::RDS::GlobalCluster will be recorded automatically in all supported Config Regions were the configuration recorder is enabled.

      IAM users, groups, roles, and customer managed policies will be recorded in the Region where you set up the configuration recorder if that is a Region where Config was available before February 2022. You cannot be record the global IAM resouce types in Regions supported by Config after February 2022. This list where you cannot record the global IAM resource types includes the following Regions:

      • Asia Pacific (Hyderabad)

      • Asia Pacific (Melbourne)

      • Europe (Spain)

      • Europe (Zurich)

      • Israel (Tel Aviv)

      • Middle East (UAE)

      " } }, "documentation":"

      Specifies the recording strategy of the configuration recorder.

      " diff --git a/tools/code-generation/api-descriptions/controltower-2018-05-10.normal.json b/tools/code-generation/api-descriptions/controltower-2018-05-10.normal.json index 3dd532f97c3..6aa9a388b87 100644 --- a/tools/code-generation/api-descriptions/controltower-2018-05-10.normal.json +++ b/tools/code-generation/api-descriptions/controltower-2018-05-10.normal.json @@ -12,6 +12,44 @@ "uid":"controltower-2018-05-10" }, "operations":{ + "CreateLandingZone":{ + "name":"CreateLandingZone", + "http":{ + "method":"POST", + "requestUri":"/create-landingzone", + "responseCode":200 + }, + "input":{"shape":"CreateLandingZoneInput"}, + "output":{"shape":"CreateLandingZoneOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

      Creates a new landing zone. This starts an asynchronous operation that creates and configures a landing zone based on the parameters specified in the manifest JSON file.

      " + }, + "DeleteLandingZone":{ + "name":"DeleteLandingZone", + "http":{ + "method":"POST", + "requestUri":"/delete-landingzone", + "responseCode":200 + }, + "input":{"shape":"DeleteLandingZoneInput"}, + "output":{"shape":"DeleteLandingZoneOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

      This decommissions a landing zone. This starts an asynchronous operation that deletes Amazon Web Services Control Tower resources deployed in Amazon Web Services Control Tower managed accounts.

      ", + "idempotent":true + }, "DisableControl":{ "name":"DisableControl", "http":{ @@ -30,7 +68,7 @@ {"shape":"ThrottlingException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

      This API call turns off a control. It starts an asynchronous operation that deletes AWS resources on the specified organizational unit and the accounts it contains. The resources will vary according to the control that you specify. For usage examples, see the AWS Control Tower User Guide .

      " + "documentation":"

      This API call turns off a control. It starts an asynchronous operation that deletes Amazon Web Services resources on the specified organizational unit and the accounts it contains. The resources will vary according to the control that you specify. For usage examples, see the Amazon Web Services Control Tower User Guide .

      " }, "EnableControl":{ "name":"EnableControl", @@ -50,7 +88,7 @@ {"shape":"ThrottlingException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

      This API call activates a control. It starts an asynchronous operation that creates AWS resources on the specified organizational unit and the accounts it contains. The resources created will vary according to the control that you specify. For usage examples, see the AWS Control Tower User Guide .

      " + "documentation":"

      This API call activates a control. It starts an asynchronous operation that creates Amazon Web Services resources on the specified organizational unit and the accounts it contains. The resources created will vary according to the control that you specify. For usage examples, see the Amazon Web Services Control Tower User Guide .

      " }, "GetControlOperation":{ "name":"GetControlOperation", @@ -68,7 +106,7 @@ {"shape":"ThrottlingException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

      Returns the status of a particular EnableControl or DisableControl operation. Displays a message in case of error. Details for an operation are available for 90 days. For usage examples, see the AWS Control Tower User Guide .

      " + "documentation":"

      Returns the status of a particular EnableControl or DisableControl operation. Displays a message in case of error. Details for an operation are available for 90 days. For usage examples, see the Amazon Web Services Control Tower User Guide .

      " }, "GetEnabledControl":{ "name":"GetEnabledControl", @@ -86,7 +124,43 @@ {"shape":"ThrottlingException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

      Retrieves details about an enabled control. For usage examples, see the AWS Control Tower User Guide .

      " + "documentation":"

      Retrieves details about an enabled control. For usage examples, see the Amazon Web Services Control Tower User Guide .

      " + }, + "GetLandingZone":{ + "name":"GetLandingZone", + "http":{ + "method":"POST", + "requestUri":"/get-landingzone", + "responseCode":200 + }, + "input":{"shape":"GetLandingZoneInput"}, + "output":{"shape":"GetLandingZoneOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

      Returns details about the landing zone. Displays a message in case of error.

      " + }, + "GetLandingZoneOperation":{ + "name":"GetLandingZoneOperation", + "http":{ + "method":"POST", + "requestUri":"/get-landingzone-operation", + "responseCode":200 + }, + "input":{"shape":"GetLandingZoneOperationInput"}, + "output":{"shape":"GetLandingZoneOperationOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

      Returns the status of the specified landing zone operation. Details for an operation are available for X days.

      " }, "ListEnabledControls":{ "name":"ListEnabledControls", @@ -104,7 +178,24 @@ {"shape":"ThrottlingException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

      Lists the controls enabled by AWS Control Tower on the specified organizational unit and the accounts it contains. For usage examples, see the AWS Control Tower User Guide .

      " + "documentation":"

      Lists the controls enabled by Amazon Web Services Control Tower on the specified organizational unit and the accounts it contains. For usage examples, see the Amazon Web Services Control Tower User Guide .

      " + }, + "ListLandingZones":{ + "name":"ListLandingZones", + "http":{ + "method":"POST", + "requestUri":"/list-landingzones", + "responseCode":200 + }, + "input":{"shape":"ListLandingZonesInput"}, + "output":{"shape":"ListLandingZonesOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

      Returns the landing zone ARN for the landing zone deployed in your managed account. This API also creates an ARN for existing accounts that do not yet have a landing zone ARN.

      The return limit is one landing zone ARN.

      " }, "ListTagsForResource":{ "name":"ListTagsForResource", @@ -120,7 +211,26 @@ {"shape":"InternalServerException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

      Returns a list of tags associated with the resource. For usage examples, see the AWS Control Tower User Guide .

      " + "documentation":"

      Returns a list of tags associated with the resource. For usage examples, see the Amazon Web Services Control Tower User Guide .

      " + }, + "ResetLandingZone":{ + "name":"ResetLandingZone", + "http":{ + "method":"POST", + "requestUri":"/reset-landingzone", + "responseCode":200 + }, + "input":{"shape":"ResetLandingZoneInput"}, + "output":{"shape":"ResetLandingZoneOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

      This API call resets a landing zone. It starts an asynchronous operation that resets the landing zone to the parameters specified in its original configuration.

      " }, "TagResource":{ "name":"TagResource", @@ -136,7 +246,7 @@ {"shape":"InternalServerException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

      Applies tags to a resource. For usage examples, see the AWS Control Tower User Guide .

      " + "documentation":"

      Applies tags to a resource. For usage examples, see the Amazon Web Services Control Tower User Guide .

      " }, "UntagResource":{ "name":"UntagResource", @@ -152,7 +262,26 @@ {"shape":"InternalServerException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

      Removes tags from a resource. For usage examples, see the AWS Control Tower User Guide .

      " + "documentation":"

      Removes tags from a resource. For usage examples, see the Amazon Web Services Control Tower User Guide .

      " + }, + "UpdateLandingZone":{ + "name":"UpdateLandingZone", + "http":{ + "method":"POST", + "requestUri":"/update-landingzone", + "responseCode":200 + }, + "input":{"shape":"UpdateLandingZoneInput"}, + "output":{"shape":"UpdateLandingZoneOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

      This API call updates the landing zone. It starts an asynchronous operation that updates the landing zone based on the new landing zone version or the updated parameters specified in the updated manifest file.

      " } }, "shapes":{ @@ -162,7 +291,7 @@ "members":{ "message":{"shape":"String"} }, - "documentation":"

      User does not have sufficient access to perform this action.

      ", + "documentation":"

      You do not have sufficient access to perform this action.

      ", "error":{ "httpStatusCode":403, "senderFault":true @@ -235,6 +364,64 @@ "DISABLE_CONTROL" ] }, + "CreateLandingZoneInput":{ + "type":"structure", + "required":[ + "manifest", + "version" + ], + "members":{ + "manifest":{ + "shape":"Manifest", + "documentation":"

      The manifest.yaml file is a text file that describes your Amazon Web Services resources. For examples, review The manifest file.

      " + }, + "tags":{ + "shape":"TagMap", + "documentation":"

      Tags to be applied to the landing zone.

      " + }, + "version":{ + "shape":"LandingZoneVersion", + "documentation":"

      The landing zone version.

      " + } + } + }, + "CreateLandingZoneOutput":{ + "type":"structure", + "required":[ + "arn", + "operationIdentifier" + ], + "members":{ + "arn":{ + "shape":"Arn", + "documentation":"

      The ARN of the landing zone.

      " + }, + "operationIdentifier":{ + "shape":"OperationIdentifier", + "documentation":"

      A unique identifier assigned to a CreateLandingZone operation. You can use this identifier as an input of GetLandingZoneOperation to check the operation's status.

      " + } + } + }, + "DeleteLandingZoneInput":{ + "type":"structure", + "required":["landingZoneIdentifier"], + "members":{ + "landingZoneIdentifier":{ + "shape":"String", + "documentation":"

      The unique identifier of the landing zone.

      " + } + } + }, + "DeleteLandingZoneOutput":{ + "type":"structure", + "required":["operationIdentifier"], + "members":{ + "operationIdentifier":{ + "shape":"OperationIdentifier", + "documentation":"

      A unique identifier assigned to a DeleteLandingZone operation. You can use this identifier as an input of GetLandingZoneOperation to check the operation's status.

      " + } + } + }, "DisableControlInput":{ "type":"structure", "required":[ @@ -276,10 +463,10 @@ "members":{ "driftStatus":{ "shape":"DriftStatus", - "documentation":"

      The drift status of the enabled control.

      Valid values:

      • DRIFTED: The enabledControl deployed in this configuration doesn’t match the configuration that AWS Control Tower expected.

      • IN_SYNC: The enabledControl deployed in this configuration matches the configuration that AWS Control Tower expected.

      • NOT_CHECKING: AWS Control Tower does not check drift for this enabled control. Drift is not supported for the control type.

      • UNKNOWN: AWS Control Tower is not able to check the drift status for the enabled control.

      " + "documentation":"

      The drift status of the enabled control.

      Valid values:

      • DRIFTED: The enabledControl deployed in this configuration doesn’t match the configuration that Amazon Web Services Control Tower expected.

      • IN_SYNC: The enabledControl deployed in this configuration matches the configuration that Amazon Web Services Control Tower expected.

      • NOT_CHECKING: Amazon Web Services Control Tower does not check drift for this enabled control. Drift is not supported for the control type.

      • UNKNOWN: Amazon Web Services Control Tower is not able to check the drift status for the enabled control.

      " } }, - "documentation":"

      The drift summary of the enabled control.

      AWS Control Tower expects the enabled control configuration to include all supported and governed Regions. If the enabled control differs from the expected configuration, it is defined to be in a state of drift. You can repair this drift by resetting the enabled control.

      " + "documentation":"

      The drift summary of the enabled control.

      Amazon Web Services Control Tower expects the enabled control configuration to include all supported and governed Regions. If the enabled control differs from the expected configuration, it is defined to be in a state of drift. You can repair this drift by resetting the enabled control.

      " }, "EnableControlInput":{ "type":"structure", @@ -341,7 +528,7 @@ }, "targetRegions":{ "shape":"TargetRegions", - "documentation":"

      Target AWS Regions for the enabled control.

      " + "documentation":"

      Target Amazon Web Services Regions for the enabled control.

      " } }, "documentation":"

      Information about the enabled control.

      " @@ -438,6 +625,46 @@ } } }, + "GetLandingZoneInput":{ + "type":"structure", + "required":["landingZoneIdentifier"], + "members":{ + "landingZoneIdentifier":{ + "shape":"String", + "documentation":"

      The unique identifier of the landing zone.

      " + } + } + }, + "GetLandingZoneOperationInput":{ + "type":"structure", + "required":["operationIdentifier"], + "members":{ + "operationIdentifier":{ + "shape":"OperationIdentifier", + "documentation":"

      A unique identifier assigned to a landing zone operation.

      " + } + } + }, + "GetLandingZoneOperationOutput":{ + "type":"structure", + "required":["operationDetails"], + "members":{ + "operationDetails":{ + "shape":"LandingZoneOperationDetail", + "documentation":"

      The landing zone operation details.

      " + } + } + }, + "GetLandingZoneOutput":{ + "type":"structure", + "required":["landingZone"], + "members":{ + "landingZone":{ + "shape":"LandingZoneDetail", + "documentation":"

      Information about the landing zone.

      " + } + } + }, "Integer":{ "type":"integer", "box":true @@ -454,6 +681,124 @@ "fault":true, "retryable":{"throttling":false} }, + "LandingZoneDetail":{ + "type":"structure", + "required":[ + "manifest", + "version" + ], + "members":{ + "arn":{ + "shape":"Arn", + "documentation":"

      The ARN of the landing zone.

      " + }, + "driftStatus":{ + "shape":"LandingZoneDriftStatusSummary", + "documentation":"

      The drift status of the landing zone.

      " + }, + "latestAvailableVersion":{ + "shape":"LandingZoneVersion", + "documentation":"

      The latest available version of the landing zone.

      " + }, + "manifest":{ + "shape":"Manifest", + "documentation":"

      The landing zone manifest.yaml text file that specifies the landing zone configurations.

      " + }, + "status":{ + "shape":"LandingZoneStatus", + "documentation":"

      The landing zone deployment status.

      Valid values:

      • ACTIVE: The landing zone is actively deployed.

      • PROCESSING: The landing zone is processing deployment.

      • FAILED: The landing zone failed deployment.

      " + }, + "version":{ + "shape":"LandingZoneVersion", + "documentation":"

      The landing zone's current deployed version.

      " + } + }, + "documentation":"

      Information about the landing zone.

      " + }, + "LandingZoneDriftStatus":{ + "type":"string", + "enum":[ + "DRIFTED", + "IN_SYNC" + ] + }, + "LandingZoneDriftStatusSummary":{ + "type":"structure", + "members":{ + "status":{ + "shape":"LandingZoneDriftStatus", + "documentation":"

      The drift status of the landing zone.

      Valid values:

      • DRIFTED: The landing zone deployed in this configuration does not match the configuration that Amazon Web Services Control Tower expected.

      • IN_SYNC: The landing zone deployed in this configuration matches the configuration that Amazon Web Services Control Tower expected.

      " + } + }, + "documentation":"

      The drift status summary of the landing zone.

      If the landing zone differs from the expected configuration, it is defined to be in a state of drift. You can repair this drift by resetting the landing zone.

      " + }, + "LandingZoneOperationDetail":{ + "type":"structure", + "members":{ + "endTime":{ + "shape":"Timestamp", + "documentation":"

      The landing zone operation end time.

      " + }, + "operationType":{ + "shape":"LandingZoneOperationType", + "documentation":"

      The landing zone operation type.

      Valid values:

      • DELETE: The DeleteLandingZone operation.

      • CREATE: The CreateLandingZone operation.

      • UPDATE: The UpdateLandingZone operation.

      • RESET: The ResetLandingZone operation.

      " + }, + "startTime":{ + "shape":"Timestamp", + "documentation":"

      The landing zone operation start time.

      " + }, + "status":{ + "shape":"LandingZoneOperationStatus", + "documentation":"

      The landing zone operation status.

      Valid values:

      • SUCCEEDED: The landing zone operation succeeded.

      • IN_PROGRESS: The landing zone operation is in progress.

      • FAILED: The landing zone operation failed.

      " + }, + "statusMessage":{ + "shape":"String", + "documentation":"

      If the operation result is FAILED, this string contains a message explaining why the operation failed.

      " + } + }, + "documentation":"

      Information about a landing zone operation.

      " + }, + "LandingZoneOperationStatus":{ + "type":"string", + "enum":[ + "SUCCEEDED", + "FAILED", + "IN_PROGRESS" + ] + }, + "LandingZoneOperationType":{ + "type":"string", + "enum":[ + "DELETE", + "CREATE", + "UPDATE", + "RESET" + ] + }, + "LandingZoneStatus":{ + "type":"string", + "enum":[ + "ACTIVE", + "PROCESSING", + "FAILED" + ] + }, + "LandingZoneSummary":{ + "type":"structure", + "members":{ + "arn":{ + "shape":"Arn", + "documentation":"

      The ARN of the landing zone.

      " + } + }, + "documentation":"

      Returns a summary of information about a landing zone.

      " + }, + "LandingZoneVersion":{ + "type":"string", + "max":10, + "min":3, + "pattern":"^\\d+.\\d+$" + }, "ListEnabledControlsInput":{ "type":"structure", "required":["targetIdentifier"], @@ -478,7 +823,7 @@ "members":{ "enabledControls":{ "shape":"EnabledControls", - "documentation":"

      Lists the controls enabled by AWS Control Tower on the specified organizational unit and the accounts it contains.

      " + "documentation":"

      Lists the controls enabled by Amazon Web Services Control Tower on the specified organizational unit and the accounts it contains.

      " }, "nextToken":{ "shape":"String", @@ -486,6 +831,45 @@ } } }, + "ListLandingZonesInput":{ + "type":"structure", + "members":{ + "maxResults":{ + "shape":"ListLandingZonesMaxResults", + "documentation":"

      The maximum number of returned landing zone ARNs.

      " + }, + "nextToken":{ + "shape":"String", + "documentation":"

      The token to continue the list from a previous API call with the same parameters.

      " + } + } + }, + "ListLandingZonesMaxResults":{ + "type":"integer", + "box":true, + "max":1, + "min":1 + }, + "ListLandingZonesOutput":{ + "type":"structure", + "required":["landingZones"], + "members":{ + "landingZones":{ + "shape":"ListLandingZonesOutputLandingZonesList", + "documentation":"

      The ARN of the landing zone.

      " + }, + "nextToken":{ + "shape":"String", + "documentation":"

      Retrieves the next page of results. If the string is empty, the current response is the end of the results.

      " + } + } + }, + "ListLandingZonesOutputLandingZonesList":{ + "type":"list", + "member":{"shape":"LandingZoneSummary"}, + "max":1, + "min":0 + }, "ListTagsForResourceInput":{ "type":"structure", "required":["resourceArn"], @@ -508,6 +892,12 @@ } } }, + "Manifest":{ + "type":"structure", + "members":{ + }, + "document":true + }, "MaxResults":{ "type":"integer", "box":true, @@ -525,16 +915,36 @@ "members":{ "name":{ "shape":"RegionName", - "documentation":"

      The AWS Region name.

      " + "documentation":"

      The Amazon Web Services Region name.

      " } }, - "documentation":"

      An AWS Region in which AWS Control Tower expects to find the control deployed.

      The expected Regions are based on the Regions that are governed by the landing zone. In certain cases, a control is not actually enabled in the Region as expected, such as during drift, or mixed governance.

      " + "documentation":"

      An Amazon Web Services Region in which Amazon Web Services Control Tower expects to find the control deployed.

      The expected Regions are based on the Regions that are governed by the landing zone. In certain cases, a control is not actually enabled in the Region as expected, such as during drift, or mixed governance.

      " }, "RegionName":{ "type":"string", "max":50, "min":1 }, + "ResetLandingZoneInput":{ + "type":"structure", + "required":["landingZoneIdentifier"], + "members":{ + "landingZoneIdentifier":{ + "shape":"String", + "documentation":"

      The unique identifier of the landing zone.

      " + } + } + }, + "ResetLandingZoneOutput":{ + "type":"structure", + "required":["operationIdentifier"], + "members":{ + "operationIdentifier":{ + "shape":"OperationIdentifier", + "documentation":"

      A unique identifier assigned to a ResetLandingZone operation. You can use this identifier as an input of GetLandingZoneOperation to check the operation's status.

      " + } + } + }, "ResourceNotFoundException":{ "type":"structure", "required":["message"], @@ -643,7 +1053,7 @@ "documentation":"

      The ID of the service that is associated with the error.

      " } }, - "documentation":"

      Request was denied due to request throttling.

      ", + "documentation":"

      Request was denied due to request throttling.

      ", "error":{ "httpStatusCode":429, "senderFault":true @@ -651,6 +1061,10 @@ "exception":true, "retryable":{"throttling":true} }, + "Timestamp":{ + "type":"timestamp", + "timestampFormat":"iso8601" + }, "UntagResourceInput":{ "type":"structure", "required":[ @@ -677,13 +1091,45 @@ "members":{ } }, + "UpdateLandingZoneInput":{ + "type":"structure", + "required":[ + "landingZoneIdentifier", + "manifest", + "version" + ], + "members":{ + "landingZoneIdentifier":{ + "shape":"String", + "documentation":"

      The unique identifier of the landing zone.

      " + }, + "manifest":{ + "shape":"Manifest", + "documentation":"

      The manifest.yaml file is a text file that describes your Amazon Web Services resources. For examples, review The manifest file

      " + }, + "version":{ + "shape":"LandingZoneVersion", + "documentation":"

      The landing zone version.

      " + } + } + }, + "UpdateLandingZoneOutput":{ + "type":"structure", + "required":["operationIdentifier"], + "members":{ + "operationIdentifier":{ + "shape":"OperationIdentifier", + "documentation":"

      A unique identifier assigned to a UpdateLandingZone operation. You can use this identifier as an input of GetLandingZoneOperation to check the operation's status.

      " + } + } + }, "ValidationException":{ "type":"structure", "required":["message"], "members":{ "message":{"shape":"String"} }, - "documentation":"

      The input fails to satisfy the constraints specified by an AWS service.

      ", + "documentation":"

      The input fails to satisfy the constraints specified by an Amazon Web Services service.

      ", "error":{ "httpStatusCode":400, "senderFault":true @@ -691,5 +1137,5 @@ "exception":true } }, - "documentation":"

      These interfaces allow you to apply the AWS library of pre-defined controls to your organizational units, programmatically. In AWS Control Tower, the terms \"control\" and \"guardrail\" are synonyms.

      To call these APIs, you'll need to know:

      • the controlIdentifier for the control--or guardrail--you are targeting.

      • the ARN associated with the target organizational unit (OU), which we call the targetIdentifier.

      • the ARN associated with a resource that you wish to tag or untag.

      To get the controlIdentifier for your AWS Control Tower control:

      The controlIdentifier is an ARN that is specified for each control. You can view the controlIdentifier in the console on the Control details page, as well as in the documentation.

      The controlIdentifier is unique in each AWS Region for each control. You can find the controlIdentifier for each Region and control in the Tables of control metadata in the AWS Control Tower User Guide.

      A quick-reference list of control identifers for the AWS Control Tower legacy Strongly recommended and Elective controls is given in Resource identifiers for APIs and controls in the Controls reference guide section of the AWS Control Tower User Guide. Remember that Mandatory controls cannot be added or removed.

      ARN format: arn:aws:controltower:{REGION}::control/{CONTROL_NAME}

      Example:

      arn:aws:controltower:us-west-2::control/AWS-GR_AUTOSCALING_LAUNCH_CONFIG_PUBLIC_IP_DISABLED

      To get the targetIdentifier:

      The targetIdentifier is the ARN for an OU.

      In the AWS Organizations console, you can find the ARN for the OU on the Organizational unit details page associated with that OU.

      OU ARN format:

      arn:${Partition}:organizations::${MasterAccountId}:ou/o-${OrganizationId}/ou-${OrganizationalUnitId}

      Details and examples

      To view the open source resource repository on GitHub, see aws-cloudformation/aws-cloudformation-resource-providers-controltower

      Recording API Requests

      AWS Control Tower supports AWS CloudTrail, a service that records AWS API calls for your AWS account and delivers log files to an Amazon S3 bucket. By using information collected by CloudTrail, you can determine which requests the AWS Control Tower service received, who made the request and when, and so on. For more about AWS Control Tower and its support for CloudTrail, see Logging AWS Control Tower Actions with AWS CloudTrail in the AWS Control Tower User Guide. To learn more about CloudTrail, including how to turn it on and find your log files, see the AWS CloudTrail User Guide.

      " + "documentation":"

      These interfaces allow you to apply the Amazon Web Services library of pre-defined controls to your organizational units, programmatically. In Amazon Web Services Control Tower, the terms \"control\" and \"guardrail\" are synonyms.

      To call these APIs, you'll need to know:

      • the controlIdentifier for the control--or guardrail--you are targeting.

      • the ARN associated with the target organizational unit (OU), which we call the targetIdentifier.

      • the ARN associated with a resource that you wish to tag or untag.

      To get the controlIdentifier for your AWS Control Tower control:

      The controlIdentifier is an ARN that is specified for each control. You can view the controlIdentifier in the console on the Control details page, as well as in the documentation.

      The controlIdentifier is unique in each Amazon Web Services Region for each control. You can find the controlIdentifier for each Region and control in the Tables of control metadata in the Amazon Web Services Control Tower User Guide.

      A quick-reference list of control identifers for the Amazon Web Services Control Tower legacy Strongly recommended and Elective controls is given in Resource identifiers for APIs and controls in the Controls reference guide section of the Amazon Web Services Control Tower User Guide. Remember that Mandatory controls cannot be added or removed.

      ARN format: arn:aws:controltower:{REGION}::control/{CONTROL_NAME}

      Example:

      arn:aws:controltower:us-west-2::control/AWS-GR_AUTOSCALING_LAUNCH_CONFIG_PUBLIC_IP_DISABLED

      To get the targetIdentifier:

      The targetIdentifier is the ARN for an OU.

      In the Amazon Web Services Organizations console, you can find the ARN for the OU on the Organizational unit details page associated with that OU.

      OU ARN format:

      arn:${Partition}:organizations::${MasterAccountId}:ou/o-${OrganizationId}/ou-${OrganizationalUnitId}

      Details and examples

      To view the open source resource repository on GitHub, see aws-cloudformation/aws-cloudformation-resource-providers-controltower

      Recording API Requests

      Amazon Web Services Control Tower supports Amazon Web Services CloudTrail, a service that records Amazon Web Services API calls for your Amazon Web Services account and delivers log files to an Amazon S3 bucket. By using information collected by CloudTrail, you can determine which requests the Amazon Web Services Control Tower service received, who made the request and when, and so on. For more about Amazon Web Services Control Tower and its support for CloudTrail, see Logging Amazon Web Services Control Tower Actions with Amazon Web Services CloudTrail in the Amazon Web Services Control Tower User Guide. To learn more about CloudTrail, including how to turn it on and find your log files, see the Amazon Web Services CloudTrail User Guide.

      " } diff --git a/tools/code-generation/api-descriptions/cost-optimization-hub-2022-07-26.normal.json b/tools/code-generation/api-descriptions/cost-optimization-hub-2022-07-26.normal.json new file mode 100644 index 00000000000..d2006d8af59 --- /dev/null +++ b/tools/code-generation/api-descriptions/cost-optimization-hub-2022-07-26.normal.json @@ -0,0 +1,1793 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2022-07-26", + "endpointPrefix":"cost-optimization-hub", + "jsonVersion":"1.0", + "protocol":"json", + "serviceFullName":"Cost Optimization Hub", + "serviceId":"Cost Optimization Hub", + "signatureVersion":"v4", + "signingName":"cost-optimization-hub", + "targetPrefix":"CostOptimizationHubService", + "uid":"cost-optimization-hub-2022-07-26" + }, + "operations":{ + "GetPreferences":{ + "name":"GetPreferences", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetPreferencesRequest"}, + "output":{"shape":"GetPreferencesResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

      Returns a set of preferences for an account in order to add account-specific preferences into the service. These preferences impact how the savings associated with recommendations are presented—estimated savings after discounts or estimated savings before discounts, for example.

      " + }, + "GetRecommendation":{ + "name":"GetRecommendation", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetRecommendationRequest"}, + "output":{"shape":"GetRecommendationResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

      Returns both the current and recommended resource configuration and the estimated cost impact for a recommendation.

      The recommendationId is only valid for up to a maximum of 24 hours as recommendations are refreshed daily. To retrieve the recommendationId, use the ListRecommendations API.

      " + }, + "ListEnrollmentStatuses":{ + "name":"ListEnrollmentStatuses", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListEnrollmentStatusesRequest"}, + "output":{"shape":"ListEnrollmentStatusesResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

      Retrieves the enrollment status for an account. It can also return the list of accounts that are enrolled under the organization.

      " + }, + "ListRecommendationSummaries":{ + "name":"ListRecommendationSummaries", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListRecommendationSummariesRequest"}, + "output":{"shape":"ListRecommendationSummariesResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

      Returns a concise representation of savings estimates for resources. Also returns de-duped savings across different types of recommendations.

      The following filters are not supported for this API: recommendationIds, resourceArns, and resourceIds.

      " + }, + "ListRecommendations":{ + "name":"ListRecommendations", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListRecommendationsRequest"}, + "output":{"shape":"ListRecommendationsResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

      Returns a list of recommendations.

      " + }, + "UpdateEnrollmentStatus":{ + "name":"UpdateEnrollmentStatus", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateEnrollmentStatusRequest"}, + "output":{"shape":"UpdateEnrollmentStatusResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

      Updates the enrollment (opt in and opt out) status of an account to the Cost Optimization Hub service.

      If the account is a management account of an organization, this action can also be used to enroll member accounts of the organization.

      You must have the appropriate permissions to opt in to Cost Optimization Hub and to view its recommendations. When you opt in, Cost Optimization Hub automatically creates a service-linked role in your account to access its data.

      " + }, + "UpdatePreferences":{ + "name":"UpdatePreferences", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdatePreferencesRequest"}, + "output":{"shape":"UpdatePreferencesResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

      Updates a set of preferences for an account in order to add account-specific preferences into the service. These preferences impact how the savings associated with recommendations are presented.

      " + } + }, + "shapes":{ + "AccessDeniedException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

      You are not authorized to use this operation with the given parameters.

      ", + "exception":true + }, + "AccountEnrollmentStatus":{ + "type":"structure", + "members":{ + "accountId":{ + "shape":"AccountId", + "documentation":"

      The Amazon Web Services account ID.

      " + }, + "createdTimestamp":{ + "shape":"Timestamp", + "documentation":"

      The time when the account enrollment status was created.

      " + }, + "lastUpdatedTimestamp":{ + "shape":"Timestamp", + "documentation":"

      The time when the account enrollment status was last updated.

      " + }, + "status":{ + "shape":"EnrollmentStatus", + "documentation":"

      The account enrollment status.

      " + } + }, + "documentation":"

      Describes the enrollment status of an organization's member accounts in Cost Optimization Hub.

      " + }, + "AccountEnrollmentStatuses":{ + "type":"list", + "member":{"shape":"AccountEnrollmentStatus"} + }, + "AccountId":{ + "type":"string", + "pattern":"^[0-9]{12}$" + }, + "AccountIdList":{ + "type":"list", + "member":{"shape":"AccountId"}, + "max":100, + "min":1 + }, + "ActionType":{ + "type":"string", + "enum":[ + "Rightsize", + "Stop", + "Upgrade", + "PurchaseSavingsPlans", + "PurchaseReservedInstances", + "MigrateToGraviton" + ] + }, + "ActionTypeList":{ + "type":"list", + "member":{"shape":"ActionType"}, + "max":100, + "min":1 + }, + "BlockStoragePerformanceConfiguration":{ + "type":"structure", + "members":{ + "iops":{ + "shape":"Double", + "documentation":"

      The number of I/O operations per second.

      " + }, + "throughput":{ + "shape":"Double", + "documentation":"

      The throughput that the volume supports.

      " + } + }, + "documentation":"

      Describes the Amazon Elastic Block Store performance configuration of the current and recommended resource configuration for a recommendation.

      " + }, + "Boolean":{ + "type":"boolean", + "box":true + }, + "ComputeConfiguration":{ + "type":"structure", + "members":{ + "architecture":{ + "shape":"String", + "documentation":"

      The architecture of the resource.

      " + }, + "memorySizeInMB":{ + "shape":"Integer", + "documentation":"

      The memory size of the resource.

      " + }, + "platform":{ + "shape":"String", + "documentation":"

      The platform of the resource. The platform is the specific combination of operating system, license model, and software on an instance.

      " + }, + "vCpu":{ + "shape":"Double", + "documentation":"

      The number of vCPU cores in the resource.

      " + } + }, + "documentation":"

      Describes the performance configuration for compute services such as Amazon EC2, Lambda, and ECS.

      " + }, + "ComputeSavingsPlans":{ + "type":"structure", + "members":{ + "configuration":{ + "shape":"ComputeSavingsPlansConfiguration", + "documentation":"

      Configuration details of the Compute Savings Plans to purchase.

      " + }, + "costCalculation":{ + "shape":"SavingsPlansCostCalculation", + "documentation":"

      Cost impact of the Savings Plans purchase recommendation.

      " + } + }, + "documentation":"

      The Compute Savings Plans recommendation details.

      " + }, + "ComputeSavingsPlansConfiguration":{ + "type":"structure", + "members":{ + "accountScope":{ + "shape":"String", + "documentation":"

      The account scope that you want your recommendations for. Amazon Web Services calculates recommendations including the management account and member accounts if the value is set to PAYER. If the value is LINKED, recommendations are calculated for individual member accounts only.

      " + }, + "hourlyCommitment":{ + "shape":"String", + "documentation":"

      The hourly commitment for the Savings Plans type.

      " + }, + "paymentOption":{ + "shape":"String", + "documentation":"

      The payment option for the commitment.

      " + }, + "term":{ + "shape":"String", + "documentation":"

      The Savings Plans recommendation term in years.

      " + } + }, + "documentation":"

      The Compute Savings Plans configuration used for recommendations.

      " + }, + "Datetime":{"type":"timestamp"}, + "Double":{ + "type":"double", + "box":true + }, + "EbsVolume":{ + "type":"structure", + "members":{ + "configuration":{ + "shape":"EbsVolumeConfiguration", + "documentation":"

      The Amazon Elastic Block Store volume configuration used for recommendations.

      " + }, + "costCalculation":{ + "shape":"ResourceCostCalculation", + "documentation":"

      Cost impact of the recommendation.

      " + } + }, + "documentation":"

      Describes the Amazon Elastic Block Store volume configuration of the current and recommended resource configuration for a recommendation.

      " + }, + "EbsVolumeConfiguration":{ + "type":"structure", + "members":{ + "attachmentState":{ + "shape":"String", + "documentation":"

      The Amazon Elastic Block Store attachment state.

      " + }, + "performance":{ + "shape":"BlockStoragePerformanceConfiguration", + "documentation":"

      The Amazon Elastic Block Store performance configuration.

      " + }, + "storage":{ + "shape":"StorageConfiguration", + "documentation":"

      The disk storage of the Amazon Elastic Block Store volume.

      " + } + }, + "documentation":"

      The Amazon Elastic Block Store volume configuration used for recommendations.

      " + }, + "Ec2AutoScalingGroup":{ + "type":"structure", + "members":{ + "configuration":{ + "shape":"Ec2AutoScalingGroupConfiguration", + "documentation":"

      The EC2 Auto Scaling group configuration used for recommendations.

      " + }, + "costCalculation":{ + "shape":"ResourceCostCalculation", + "documentation":"

      Cost impact of the recommendation.

      " + } + }, + "documentation":"

      The EC2 Auto Scaling group recommendation details.

      " + }, + "Ec2AutoScalingGroupConfiguration":{ + "type":"structure", + "members":{ + "instance":{ + "shape":"InstanceConfiguration", + "documentation":"

      Details about the instance.

      " + } + }, + "documentation":"

      The EC2 auto scaling group configuration used for recommendations.

      " + }, + "Ec2Instance":{ + "type":"structure", + "members":{ + "configuration":{ + "shape":"Ec2InstanceConfiguration", + "documentation":"

      The EC2 instance configuration used for recommendations.

      " + }, + "costCalculation":{ + "shape":"ResourceCostCalculation", + "documentation":"

      Cost impact of the recommendation.

      " + } + }, + "documentation":"

      Describes the EC2 instance configuration of the current and recommended resource configuration for a recommendation.

      " + }, + "Ec2InstanceConfiguration":{ + "type":"structure", + "members":{ + "instance":{ + "shape":"InstanceConfiguration", + "documentation":"

      Details about the instance.

      " + } + }, + "documentation":"

      The EC2 instance configuration used for recommendations.

      " + }, + "Ec2InstanceSavingsPlans":{ + "type":"structure", + "members":{ + "configuration":{ + "shape":"Ec2InstanceSavingsPlansConfiguration", + "documentation":"

      The EC2 instance Savings Plans configuration used for recommendations.

      " + }, + "costCalculation":{ + "shape":"SavingsPlansCostCalculation", + "documentation":"

      Cost impact of the Savings Plans purchase recommendation.

      " + } + }, + "documentation":"

      The EC2 instance Savings Plans recommendation details.

      " + }, + "Ec2InstanceSavingsPlansConfiguration":{ + "type":"structure", + "members":{ + "accountScope":{ + "shape":"String", + "documentation":"

      The account scope that you want your recommendations for.

      " + }, + "hourlyCommitment":{ + "shape":"String", + "documentation":"

      The hourly commitment for the Savings Plans type.

      " + }, + "instanceFamily":{ + "shape":"String", + "documentation":"

      The instance family of the recommended Savings Plan.

      " + }, + "paymentOption":{ + "shape":"String", + "documentation":"

      The payment option for the commitment.

      " + }, + "savingsPlansRegion":{ + "shape":"String", + "documentation":"

      The Amazon Web Services Region of the commitment.

      " + }, + "term":{ + "shape":"String", + "documentation":"

      The Savings Plans recommendation term in years.

      " + } + }, + "documentation":"

      The EC2 instance Savings Plans configuration used for recommendations.

      " + }, + "Ec2ReservedInstances":{ + "type":"structure", + "members":{ + "configuration":{ + "shape":"Ec2ReservedInstancesConfiguration", + "documentation":"

      The EC2 reserved instances configuration used for recommendations.

      " + }, + "costCalculation":{ + "shape":"ReservedInstancesCostCalculation", + "documentation":"

      Cost impact of the purchase recommendation.

      " + } + }, + "documentation":"

      The EC2 reserved instances recommendation details.

      " + }, + "Ec2ReservedInstancesConfiguration":{ + "type":"structure", + "members":{ + "accountScope":{ + "shape":"String", + "documentation":"

      The account scope that you want your recommendations for.

      " + }, + "currentGeneration":{ + "shape":"String", + "documentation":"

      Determines whether the recommendation is for a current generation instance.

      " + }, + "instanceFamily":{ + "shape":"String", + "documentation":"

      The instance family of the recommended reservation.

      " + }, + "instanceType":{ + "shape":"String", + "documentation":"

      The type of instance that Amazon Web Services recommends.

      " + }, + "monthlyRecurringCost":{ + "shape":"String", + "documentation":"

      How much purchasing reserved instances costs you on a monthly basis.

      " + }, + "normalizedUnitsToPurchase":{ + "shape":"String", + "documentation":"

      The number of normalized units that Amazon Web Services recommends that you purchase.

      " + }, + "numberOfInstancesToPurchase":{ + "shape":"String", + "documentation":"

      The number of instances that Amazon Web Services recommends that you purchase.

      " + }, + "offeringClass":{ + "shape":"String", + "documentation":"

      Indicates whether the recommendation is for standard or convertible reservations.

      " + }, + "paymentOption":{ + "shape":"String", + "documentation":"

      The payment option for the commitment.

      " + }, + "platform":{ + "shape":"String", + "documentation":"

      The platform of the recommended reservation. The platform is the specific combination of operating system, license model, and software on an instance.

      " + }, + "reservedInstancesRegion":{ + "shape":"String", + "documentation":"

      The Amazon Web Services Region of the commitment.

      " + }, + "service":{ + "shape":"String", + "documentation":"

      The service that you want your recommendations for.

      " + }, + "sizeFlexEligible":{ + "shape":"Boolean", + "documentation":"

      Determines whether the recommendation is size flexible.

      " + }, + "tenancy":{ + "shape":"String", + "documentation":"

      Determines whether the recommended reservation is dedicated or shared.

      " + }, + "term":{ + "shape":"String", + "documentation":"

      The reserved instances recommendation term in years.

      " + }, + "upfrontCost":{ + "shape":"String", + "documentation":"

      How much purchasing this instance costs you upfront.

      " + } + }, + "documentation":"

      The EC2 reserved instances configuration used for recommendations.

      " + }, + "EcsService":{ + "type":"structure", + "members":{ + "configuration":{ + "shape":"EcsServiceConfiguration", + "documentation":"

      The ECS service configuration used for recommendations.

      " + }, + "costCalculation":{ + "shape":"ResourceCostCalculation", + "documentation":"

      Cost impact of the recommendation.

      " + } + }, + "documentation":"

      The ECS service recommendation details.

      " + }, + "EcsServiceConfiguration":{ + "type":"structure", + "members":{ + "compute":{ + "shape":"ComputeConfiguration", + "documentation":"

      Details about the compute configuration.

      " + } + }, + "documentation":"

      The ECS service configuration used for recommendations.

      " + }, + "ElastiCacheReservedInstances":{ + "type":"structure", + "members":{ + "configuration":{ + "shape":"ElastiCacheReservedInstancesConfiguration", + "documentation":"

      The ElastiCache reserved instances configuration used for recommendations.

      " + }, + "costCalculation":{ + "shape":"ReservedInstancesCostCalculation", + "documentation":"

      Cost impact of the purchase recommendation.

      " + } + }, + "documentation":"

      The ElastiCache reserved instances recommendation details.

      " + }, + "ElastiCacheReservedInstancesConfiguration":{ + "type":"structure", + "members":{ + "accountScope":{ + "shape":"String", + "documentation":"

      The account scope that you want your recommendations for.

      " + }, + "currentGeneration":{ + "shape":"String", + "documentation":"

      Determines whether the recommendation is for a current generation instance.

      " + }, + "instanceFamily":{ + "shape":"String", + "documentation":"

      The instance family of the recommended reservation.

      " + }, + "instanceType":{ + "shape":"String", + "documentation":"

      The type of instance that Amazon Web Services recommends.

      " + }, + "monthlyRecurringCost":{ + "shape":"String", + "documentation":"

      How much purchasing reserved instances costs you on a monthly basis.

      " + }, + "normalizedUnitsToPurchase":{ + "shape":"String", + "documentation":"

      The number of normalized units that Amazon Web Services recommends that you purchase.

      " + }, + "numberOfInstancesToPurchase":{ + "shape":"String", + "documentation":"

      The number of instances that Amazon Web Services recommends that you purchase.

      " + }, + "paymentOption":{ + "shape":"String", + "documentation":"

      The payment option for the commitment.

      " + }, + "reservedInstancesRegion":{ + "shape":"String", + "documentation":"

      The Amazon Web Services Region of the commitment.

      " + }, + "service":{ + "shape":"String", + "documentation":"

      The service that you want your recommendations for.

      " + }, + "sizeFlexEligible":{ + "shape":"Boolean", + "documentation":"

      Determines whether the recommendation is size flexible.

      " + }, + "term":{ + "shape":"String", + "documentation":"

      The reserved instances recommendation term in years.

      " + }, + "upfrontCost":{ + "shape":"String", + "documentation":"

      How much purchasing this instance costs you upfront.

      " + } + }, + "documentation":"

      The ElastiCache reserved instances configuration used for recommendations.

      " + }, + "EnrollmentStatus":{ + "type":"string", + "enum":[ + "Active", + "Inactive" + ] + }, + "EstimatedDiscounts":{ + "type":"structure", + "members":{ + "otherDiscount":{ + "shape":"Double", + "documentation":"

      Estimated other discounts include all discounts that are not itemized. Itemized discounts include reservedInstanceDiscount and savingsPlansDiscount.

      " + }, + "reservedInstancesDiscount":{ + "shape":"Double", + "documentation":"

      Estimated reserved instance discounts.

      " + }, + "savingsPlansDiscount":{ + "shape":"Double", + "documentation":"

      Estimated Savings Plans discounts.

      " + } + }, + "documentation":"

      Estimated discount details of the current and recommended resource configuration for a recommendation.

      " + }, + "Filter":{ + "type":"structure", + "members":{ + "accountIds":{ + "shape":"AccountIdList", + "documentation":"

      The account that the recommendation is for.

      " + }, + "actionTypes":{ + "shape":"ActionTypeList", + "documentation":"

      The type of action you can take by adopting the recommendation.

      " + }, + "implementationEfforts":{ + "shape":"ImplementationEffortList", + "documentation":"

      The effort required to implement the recommendation.

      " + }, + "recommendationIds":{ + "shape":"RecommendationIdList", + "documentation":"

      The IDs for the recommendations.

      " + }, + "regions":{ + "shape":"RegionList", + "documentation":"

      The Amazon Web Services Region of the resource.

      " + }, + "resourceArns":{ + "shape":"ResourceArnList", + "documentation":"

      The Amazon Resource Name (ARN) of the recommendation.

      " + }, + "resourceIds":{ + "shape":"ResourceIdList", + "documentation":"

      The resource ID of the recommendation.

      " + }, + "resourceTypes":{ + "shape":"ResourceTypeList", + "documentation":"

      The resource type of the recommendation.

      " + }, + "restartNeeded":{ + "shape":"Boolean", + "documentation":"

      Whether or not implementing the recommendation requires a restart.

      " + }, + "rollbackPossible":{ + "shape":"Boolean", + "documentation":"

      Whether or not implementing the recommendation can be rolled back.

      " + }, + "tags":{ + "shape":"TagList", + "documentation":"

      A list of tags assigned to the recommendation.

      " + } + }, + "documentation":"

      Describes a filter that returns a more specific list of recommendations. Filters recommendations by different dimensions.

      " + }, + "GetPreferencesRequest":{ + "type":"structure", + "members":{ + } + }, + "GetPreferencesResponse":{ + "type":"structure", + "members":{ + "memberAccountDiscountVisibility":{ + "shape":"MemberAccountDiscountVisibility", + "documentation":"

      Retrieves the status of the \"member account discount visibility\" preference.

      " + }, + "savingsEstimationMode":{ + "shape":"SavingsEstimationMode", + "documentation":"

      Retrieves the status of the \"savings estimation mode\" preference.

      " + } + } + }, + "GetRecommendationRequest":{ + "type":"structure", + "required":["recommendationId"], + "members":{ + "recommendationId":{ + "shape":"String", + "documentation":"

      The ID for the recommendation.

      " + } + } + }, + "GetRecommendationResponse":{ + "type":"structure", + "members":{ + "accountId":{ + "shape":"String", + "documentation":"

      The account that the recommendation is for.

      " + }, + "actionType":{ + "shape":"ActionType", + "documentation":"

      The type of action you can take by adopting the recommendation.

      " + }, + "costCalculationLookbackPeriodInDays":{ + "shape":"Integer", + "documentation":"

      The lookback period used to calculate cost impact for a recommendation.

      " + }, + "currencyCode":{ + "shape":"String", + "documentation":"

      The currency code used for the recommendation.

      " + }, + "currentResourceDetails":{ + "shape":"ResourceDetails", + "documentation":"

      The details for the resource.

      " + }, + "currentResourceType":{ + "shape":"ResourceType", + "documentation":"

      The type of resource.

      " + }, + "estimatedMonthlyCost":{ + "shape":"Double", + "documentation":"

      The estimated monthly cost of the recommendation.

      " + }, + "estimatedMonthlySavings":{ + "shape":"Double", + "documentation":"

      The estimated monthly savings amount for the recommendation.

      " + }, + "estimatedSavingsOverCostCalculationLookbackPeriod":{ + "shape":"Double", + "documentation":"

      The estimated savings amount over the lookback period used to calculate cost impact for a recommendation.

      " + }, + "estimatedSavingsPercentage":{ + "shape":"Double", + "documentation":"

      The estimated savings percentage relative to the total cost over the cost calculation lookback period.

      " + }, + "implementationEffort":{ + "shape":"ImplementationEffort", + "documentation":"

      The effort required to implement the recommendation.

      " + }, + "lastRefreshTimestamp":{ + "shape":"Datetime", + "documentation":"

      The time when the recommendation was last generated.

      " + }, + "recommendationId":{ + "shape":"String", + "documentation":"

      The ID for the recommendation.

      " + }, + "recommendationLookbackPeriodInDays":{ + "shape":"Integer", + "documentation":"

      The lookback period that's used to generate the recommendation.

      " + }, + "recommendedResourceDetails":{ + "shape":"ResourceDetails", + "documentation":"

      The details about the recommended resource.

      " + }, + "recommendedResourceType":{ + "shape":"ResourceType", + "documentation":"

      The resource type of the recommendation.

      " + }, + "region":{ + "shape":"String", + "documentation":"

      The Amazon Web Services Region of the resource.

      " + }, + "resourceArn":{ + "shape":"String", + "documentation":"

      The Amazon Resource Name (ARN) of the resource.

      " + }, + "resourceId":{ + "shape":"String", + "documentation":"

      The unique identifier for the resource. This is the same as the Amazon Resource Name (ARN), if available.

      " + }, + "restartNeeded":{ + "shape":"Boolean", + "documentation":"

      Whether or not implementing the recommendation requires a restart.

      " + }, + "rollbackPossible":{ + "shape":"Boolean", + "documentation":"

      Whether or not implementing the recommendation can be rolled back.

      " + }, + "source":{ + "shape":"Source", + "documentation":"

      The source of the recommendation.

      " + }, + "tags":{ + "shape":"TagList", + "documentation":"

      A list of tags associated with the resource for which the recommendation exists.

      " + } + } + }, + "ImplementationEffort":{ + "type":"string", + "enum":[ + "VeryLow", + "Low", + "Medium", + "High", + "VeryHigh" + ] + }, + "ImplementationEffortList":{ + "type":"list", + "member":{"shape":"ImplementationEffort"}, + "max":100, + "min":1 + }, + "InstanceConfiguration":{ + "type":"structure", + "members":{ + "type":{ + "shape":"String", + "documentation":"

      Details about the type.

      " + } + }, + "documentation":"

      The Instance configuration used for recommendations.

      " + }, + "Integer":{ + "type":"integer", + "box":true + }, + "InternalServerException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

      An error on the server occurred during the processing of your request. Try again later.

      ", + "exception":true, + "fault":true + }, + "LambdaFunction":{ + "type":"structure", + "members":{ + "configuration":{ + "shape":"LambdaFunctionConfiguration", + "documentation":"

      The Lambda function configuration used for recommendations.

      " + }, + "costCalculation":{ + "shape":"ResourceCostCalculation", + "documentation":"

      Cost impact of the recommendation.

      " + } + }, + "documentation":"

      The Lambda function recommendation details.

      " + }, + "LambdaFunctionConfiguration":{ + "type":"structure", + "members":{ + "compute":{ + "shape":"ComputeConfiguration", + "documentation":"

      Details about the compute configuration.

      " + } + }, + "documentation":"

      The Lambda function configuration used for recommendations.

      " + }, + "ListEnrollmentStatusesRequest":{ + "type":"structure", + "members":{ + "accountId":{ + "shape":"AccountId", + "documentation":"

      The enrollment status of a specific account ID in the organization.

      " + }, + "includeOrganizationInfo":{ + "shape":"PrimitiveBoolean", + "documentation":"

      Indicates whether to return the enrollment status for the organization.

      " + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

      The maximum number of objects that are returned for the request.

      " + }, + "nextToken":{ + "shape":"String", + "documentation":"

      The token to retrieve the next set of results.

      " + } + } + }, + "ListEnrollmentStatusesResponse":{ + "type":"structure", + "members":{ + "items":{ + "shape":"AccountEnrollmentStatuses", + "documentation":"

      The account enrollment statuses.

      " + }, + "nextToken":{ + "shape":"String", + "documentation":"

      The token to retrieve the next set of results.

      " + } + } + }, + "ListRecommendationSummariesRequest":{ + "type":"structure", + "required":["groupBy"], + "members":{ + "filter":{"shape":"Filter"}, + "groupBy":{ + "shape":"String", + "documentation":"

      The grouping of recommendations by a dimension.

      " + }, + "maxResults":{ + "shape":"ListRecommendationSummariesRequestMaxResultsInteger", + "documentation":"

      The maximum number of recommendations that are returned for the request.

      " + }, + "nextToken":{ + "shape":"String", + "documentation":"

      The token to retrieve the next set of results.

      " + } + } + }, + "ListRecommendationSummariesRequestMaxResultsInteger":{ + "type":"integer", + "box":true, + "max":1000, + "min":0 + }, + "ListRecommendationSummariesResponse":{ + "type":"structure", + "members":{ + "currencyCode":{ + "shape":"String", + "documentation":"

      The currency code used for the recommendation.

      " + }, + "estimatedTotalDedupedSavings":{ + "shape":"Double", + "documentation":"

      The total overall savings for the aggregated view.

      " + }, + "groupBy":{ + "shape":"String", + "documentation":"

      The dimension used to group the recommendations by.

      " + }, + "items":{ + "shape":"RecommendationSummariesList", + "documentation":"

      List of all savings recommendations.

      " + }, + "nextToken":{ + "shape":"String", + "documentation":"

      The token to retrieve the next set of results.

      " + } + } + }, + "ListRecommendationsRequest":{ + "type":"structure", + "members":{ + "filter":{ + "shape":"Filter", + "documentation":"

      The constraints that you want all returned recommendations to match.

      " + }, + "includeAllRecommendations":{ + "shape":"PrimitiveBoolean", + "documentation":"

      List of all recommendations for a resource, or a single recommendation if de-duped by resourceId.

      " + }, + "maxResults":{ + "shape":"ListRecommendationsRequestMaxResultsInteger", + "documentation":"

      The maximum number of recommendations that are returned for the request.

      " + }, + "nextToken":{ + "shape":"String", + "documentation":"

      The token to retrieve the next set of results.

      " + }, + "orderBy":{ + "shape":"OrderBy", + "documentation":"

      The ordering of recommendations by a dimension.

      " + } + } + }, + "ListRecommendationsRequestMaxResultsInteger":{ + "type":"integer", + "box":true, + "max":1000, + "min":0 + }, + "ListRecommendationsResponse":{ + "type":"structure", + "members":{ + "items":{ + "shape":"RecommendationList", + "documentation":"

      List of all savings recommendations.

      " + }, + "nextToken":{ + "shape":"String", + "documentation":"

      The token to retrieve the next set of results.

      " + } + } + }, + "MaxResults":{ + "type":"integer", + "box":true, + "max":100, + "min":0 + }, + "MemberAccountDiscountVisibility":{ + "type":"string", + "enum":[ + "All", + "None" + ] + }, + "OpenSearchReservedInstances":{ + "type":"structure", + "members":{ + "configuration":{ + "shape":"OpenSearchReservedInstancesConfiguration", + "documentation":"

      The OpenSearch reserved instances configuration used for recommendations.

      " + }, + "costCalculation":{ + "shape":"ReservedInstancesCostCalculation", + "documentation":"

      Cost impact of the purchase recommendation.

      " + } + }, + "documentation":"

      The OpenSearch reserved instances recommendation details.

      " + }, + "OpenSearchReservedInstancesConfiguration":{ + "type":"structure", + "members":{ + "accountScope":{ + "shape":"String", + "documentation":"

      The account scope that you want your recommendations for.

      " + }, + "currentGeneration":{ + "shape":"String", + "documentation":"

      Determines whether the recommendation is for a current generation instance.

      " + }, + "instanceType":{ + "shape":"String", + "documentation":"

      The type of instance that Amazon Web Services recommends.

      " + }, + "monthlyRecurringCost":{ + "shape":"String", + "documentation":"

      How much purchasing reserved instances costs you on a monthly basis.

      " + }, + "normalizedUnitsToPurchase":{ + "shape":"String", + "documentation":"

      The number of normalized units that Amazon Web Services recommends that you purchase.

      " + }, + "numberOfInstancesToPurchase":{ + "shape":"String", + "documentation":"

      The number of instances that Amazon Web Services recommends that you purchase.

      " + }, + "paymentOption":{ + "shape":"String", + "documentation":"

      The payment option for the commitment.

      " + }, + "reservedInstancesRegion":{ + "shape":"String", + "documentation":"

      The Amazon Web Services Region of the commitment.

      " + }, + "service":{ + "shape":"String", + "documentation":"

      The service that you want your recommendations for.

      " + }, + "sizeFlexEligible":{ + "shape":"Boolean", + "documentation":"

      Determines whether the recommendation is size flexible.

      " + }, + "term":{ + "shape":"String", + "documentation":"

      The reserved instances recommendation term in years.

      " + }, + "upfrontCost":{ + "shape":"String", + "documentation":"

      How much purchasing this instance costs you upfront.

      " + } + }, + "documentation":"

      The OpenSearch reserved instances configuration used for recommendations.

      " + }, + "Order":{ + "type":"string", + "enum":[ + "Asc", + "Desc" + ] + }, + "OrderBy":{ + "type":"structure", + "members":{ + "dimension":{ + "shape":"String", + "documentation":"

      Sorts by dimension values.

      " + }, + "order":{ + "shape":"Order", + "documentation":"

      The order that's used to sort the data.

      " + } + }, + "documentation":"

      Defines how rows will be sorted in the response.

      " + }, + "PrimitiveBoolean":{"type":"boolean"}, + "RdsReservedInstances":{ + "type":"structure", + "members":{ + "configuration":{ + "shape":"RdsReservedInstancesConfiguration", + "documentation":"

      The RDS reserved instances configuration used for recommendations.

      " + }, + "costCalculation":{ + "shape":"ReservedInstancesCostCalculation", + "documentation":"

      Cost impact of the purchase recommendation.

      " + } + }, + "documentation":"

      The RDS reserved instances recommendation details.

      " + }, + "RdsReservedInstancesConfiguration":{ + "type":"structure", + "members":{ + "accountScope":{ + "shape":"String", + "documentation":"

      The account scope that you want your recommendations for.

      " + }, + "currentGeneration":{ + "shape":"String", + "documentation":"

      Determines whether the recommendation is for a current generation instance.

      " + }, + "databaseEdition":{ + "shape":"String", + "documentation":"

      The database edition that the recommended reservation supports.

      " + }, + "databaseEngine":{ + "shape":"String", + "documentation":"

      The database engine that the recommended reservation supports.

      " + }, + "deploymentOption":{ + "shape":"String", + "documentation":"

      Determines whether the recommendation is for a reservation in a single Availability Zone or a reservation with a backup in a second Availability Zone.

      " + }, + "instanceFamily":{ + "shape":"String", + "documentation":"

      The instance family of the recommended reservation.

      " + }, + "instanceType":{ + "shape":"String", + "documentation":"

      The type of instance that Amazon Web Services recommends.

      " + }, + "licenseModel":{ + "shape":"String", + "documentation":"

      The license model that the recommended reservation supports.

      " + }, + "monthlyRecurringCost":{ + "shape":"String", + "documentation":"

      How much purchasing this instance costs you on a monthly basis.

      " + }, + "normalizedUnitsToPurchase":{ + "shape":"String", + "documentation":"

      The number of normalized units that Amazon Web Services recommends that you purchase.

      " + }, + "numberOfInstancesToPurchase":{ + "shape":"String", + "documentation":"

      The number of instances that Amazon Web Services recommends that you purchase.

      " + }, + "paymentOption":{ + "shape":"String", + "documentation":"

      The payment option for the commitment.

      " + }, + "reservedInstancesRegion":{ + "shape":"String", + "documentation":"

      The Amazon Web Services Region of the commitment.

      " + }, + "service":{ + "shape":"String", + "documentation":"

      The service that you want your recommendations for.

      " + }, + "sizeFlexEligible":{ + "shape":"Boolean", + "documentation":"

      Determines whether the recommendation is size flexible.

      " + }, + "term":{ + "shape":"String", + "documentation":"

      The reserved instances recommendation term in years.

      " + }, + "upfrontCost":{ + "shape":"String", + "documentation":"

      How much purchasing this instance costs you upfront.

      " + } + }, + "documentation":"

      The RDS reserved instances configuration used for recommendations.

      " + }, + "Recommendation":{ + "type":"structure", + "members":{ + "accountId":{ + "shape":"String", + "documentation":"

      The account that the recommendation is for.

      " + }, + "actionType":{ + "shape":"String", + "documentation":"

      The type of tasks that can be carried out by this action.

      " + }, + "currencyCode":{ + "shape":"String", + "documentation":"

      The currency code used for the recommendation.

      " + }, + "currentResourceSummary":{ + "shape":"String", + "documentation":"

      Describes the current resource.

      " + }, + "currentResourceType":{ + "shape":"String", + "documentation":"

      The current resource type.

      " + }, + "estimatedMonthlyCost":{ + "shape":"Double", + "documentation":"

      The estimated monthly cost for the recommendation.

      " + }, + "estimatedMonthlySavings":{ + "shape":"Double", + "documentation":"

      The estimated monthly savings amount for the recommendation.

      " + }, + "estimatedSavingsPercentage":{ + "shape":"Double", + "documentation":"

      The estimated savings percentage relative to the total cost over the cost calculation lookback period.

      " + }, + "implementationEffort":{ + "shape":"String", + "documentation":"

      The effort required to implement the recommendation.

      " + }, + "lastRefreshTimestamp":{ + "shape":"Datetime", + "documentation":"

      The time when the recommendation was last generated.

      " + }, + "recommendationId":{ + "shape":"String", + "documentation":"

      The ID for the recommendation.

      " + }, + "recommendationLookbackPeriodInDays":{ + "shape":"Integer", + "documentation":"

      The lookback period that's used to generate the recommendation.

      " + }, + "recommendedResourceSummary":{ + "shape":"String", + "documentation":"

      Describes the recommended resource.

      " + }, + "recommendedResourceType":{ + "shape":"String", + "documentation":"

      The recommended resource type.

      " + }, + "region":{ + "shape":"String", + "documentation":"

      The Amazon Web Services Region of the resource.

      " + }, + "resourceArn":{ + "shape":"String", + "documentation":"

      The Amazon Resource Name (ARN) for the recommendation.

      " + }, + "resourceId":{ + "shape":"String", + "documentation":"

      The resource ID for the recommendation.

      " + }, + "restartNeeded":{ + "shape":"Boolean", + "documentation":"

      Whether or not implementing the recommendation requires a restart.

      " + }, + "rollbackPossible":{ + "shape":"Boolean", + "documentation":"

      Whether or not implementing the recommendation can be rolled back.

      " + }, + "source":{ + "shape":"Source", + "documentation":"

      The source of the recommendation.

      " + }, + "tags":{ + "shape":"TagList", + "documentation":"

      A list of tags assigned to the recommendation.

      " + } + }, + "documentation":"

      Describes a recommendation.

      " + }, + "RecommendationIdList":{ + "type":"list", + "member":{"shape":"String"}, + "max":100, + "min":1 + }, + "RecommendationList":{ + "type":"list", + "member":{"shape":"Recommendation"} + }, + "RecommendationSummariesList":{ + "type":"list", + "member":{"shape":"RecommendationSummary"} + }, + "RecommendationSummary":{ + "type":"structure", + "members":{ + "estimatedMonthlySavings":{ + "shape":"Double", + "documentation":"

      The estimated total savings resulting from modifications, on a monthly basis.

      " + }, + "group":{ + "shape":"String", + "documentation":"

      The grouping of recommendations.

      " + }, + "recommendationCount":{ + "shape":"Integer", + "documentation":"

      The total number of instance recommendations.

      " + } + }, + "documentation":"

      The summary of rightsizing recommendations, including de-duped savings from all types of recommendations.

      " + }, + "RedshiftReservedInstances":{ + "type":"structure", + "members":{ + "configuration":{ + "shape":"RedshiftReservedInstancesConfiguration", + "documentation":"

      The Redshift reserved instances configuration used for recommendations.

      " + }, + "costCalculation":{ + "shape":"ReservedInstancesCostCalculation", + "documentation":"

      Cost impact of the purchase recommendation.

      " + } + }, + "documentation":"

      The Redshift reserved instances recommendation details.

      " + }, + "RedshiftReservedInstancesConfiguration":{ + "type":"structure", + "members":{ + "accountScope":{ + "shape":"String", + "documentation":"

      The account scope that you want your recommendations for.

      " + }, + "currentGeneration":{ + "shape":"String", + "documentation":"

      Determines whether the recommendation is for a current generation instance.

      " + }, + "instanceFamily":{ + "shape":"String", + "documentation":"

      The instance family of the recommended reservation.

      " + }, + "instanceType":{ + "shape":"String", + "documentation":"

      The type of instance that Amazon Web Services recommends.

      " + }, + "monthlyRecurringCost":{ + "shape":"String", + "documentation":"

      How much purchasing reserved instances costs you on a monthly basis.

      " + }, + "normalizedUnitsToPurchase":{ + "shape":"String", + "documentation":"

      The number of normalized units that Amazon Web Services recommends that you purchase.

      " + }, + "numberOfInstancesToPurchase":{ + "shape":"String", + "documentation":"

      The number of instances that Amazon Web Services recommends that you purchase.

      " + }, + "paymentOption":{ + "shape":"String", + "documentation":"

      The payment option for the commitment.

      " + }, + "reservedInstancesRegion":{ + "shape":"String", + "documentation":"

      The Amazon Web Services Region of the commitment.

      " + }, + "service":{ + "shape":"String", + "documentation":"

      The service that you want your recommendations for.

      " + }, + "sizeFlexEligible":{ + "shape":"Boolean", + "documentation":"

      Determines whether the recommendation is size flexible.

      " + }, + "term":{ + "shape":"String", + "documentation":"

      The reserved instances recommendation term in years.

      " + }, + "upfrontCost":{ + "shape":"String", + "documentation":"

      How much purchasing this instance costs you upfront.

      " + } + }, + "documentation":"

      The Redshift reserved instances configuration used for recommendations.

      " + }, + "RegionList":{ + "type":"list", + "member":{"shape":"String"}, + "max":100, + "min":1 + }, + "ReservedInstancesCostCalculation":{ + "type":"structure", + "members":{ + "pricing":{ + "shape":"ReservedInstancesPricing", + "documentation":"

      Pricing details of the purchase recommendation.

      " + } + }, + "documentation":"

      Cost impact of the purchase recommendation.

      " + }, + "ReservedInstancesPricing":{ + "type":"structure", + "members":{ + "estimatedMonthlyAmortizedReservationCost":{ + "shape":"Double", + "documentation":"

      The estimated cost of your recurring monthly fees for the recommended reserved instance across the month.

      " + }, + "estimatedOnDemandCost":{ + "shape":"Double", + "documentation":"

      The remaining On-Demand cost estimated to not be covered by the recommended reserved instance, over the length of the lookback period.

      " + }, + "monthlyReservationEligibleCost":{ + "shape":"Double", + "documentation":"

      The cost of paying for the recommended reserved instance monthly.

      " + }, + "savingsPercentage":{ + "shape":"Double", + "documentation":"

      The savings percentage relative to the total On-Demand costs that are associated with this instance.

      " + } + }, + "documentation":"

      Pricing details for your recommended reserved instance.

      " + }, + "ResourceArnList":{ + "type":"list", + "member":{"shape":"String"}, + "max":100, + "min":1 + }, + "ResourceCostCalculation":{ + "type":"structure", + "members":{ + "pricing":{ + "shape":"ResourcePricing", + "documentation":"

      Pricing details of the resource recommendation.

      " + }, + "usages":{ + "shape":"UsageList", + "documentation":"

      Usage details of the resource recommendation.

      " + } + }, + "documentation":"

      Cost impact of the resource recommendation.

      " + }, + "ResourceDetails":{ + "type":"structure", + "members":{ + "computeSavingsPlans":{ + "shape":"ComputeSavingsPlans", + "documentation":"

      The Compute Savings Plans recommendation details.

      " + }, + "ebsVolume":{ + "shape":"EbsVolume", + "documentation":"

      The Amazon Elastic Block Store volume recommendation details.

      " + }, + "ec2AutoScalingGroup":{ + "shape":"Ec2AutoScalingGroup", + "documentation":"

      The EC2 Auto Scaling group recommendation details.

      " + }, + "ec2Instance":{ + "shape":"Ec2Instance", + "documentation":"

      The EC2 instance recommendation details.

      " + }, + "ec2InstanceSavingsPlans":{ + "shape":"Ec2InstanceSavingsPlans", + "documentation":"

      The EC2 instance Savings Plans recommendation details.

      " + }, + "ec2ReservedInstances":{ + "shape":"Ec2ReservedInstances", + "documentation":"

      The EC2 reserved instances recommendation details.

      " + }, + "ecsService":{ + "shape":"EcsService", + "documentation":"

      The ECS service recommendation details.

      " + }, + "elastiCacheReservedInstances":{ + "shape":"ElastiCacheReservedInstances", + "documentation":"

      The ElastiCache reserved instances recommendation details.

      " + }, + "lambdaFunction":{ + "shape":"LambdaFunction", + "documentation":"

      The Lambda function recommendation details.

      " + }, + "openSearchReservedInstances":{ + "shape":"OpenSearchReservedInstances", + "documentation":"

      The OpenSearch reserved instances recommendation details.

      " + }, + "rdsReservedInstances":{ + "shape":"RdsReservedInstances", + "documentation":"

      The RDS reserved instances recommendation details.

      " + }, + "redshiftReservedInstances":{ + "shape":"RedshiftReservedInstances", + "documentation":"

      The Redshift reserved instances recommendation details.

      " + }, + "sageMakerSavingsPlans":{ + "shape":"SageMakerSavingsPlans", + "documentation":"

      The SageMaker Savings Plans recommendation details.

      " + } + }, + "documentation":"

      Contains detailed information about the specified resource.

      ", + "union":true + }, + "ResourceIdList":{ + "type":"list", + "member":{"shape":"String"}, + "max":100, + "min":1 + }, + "ResourceNotFoundException":{ + "type":"structure", + "required":[ + "message", + "resourceId" + ], + "members":{ + "message":{"shape":"String"}, + "resourceId":{ + "shape":"String", + "documentation":"

      The identifier of the resource that was not found.

      " + } + }, + "documentation":"

      The specified Amazon Resource Name (ARN) in the request doesn't exist.

      ", + "exception":true + }, + "ResourcePricing":{ + "type":"structure", + "members":{ + "estimatedCostAfterDiscounts":{ + "shape":"Double", + "documentation":"

      The savings estimate incorporating all discounts with Amazon Web Services, such as Reserved Instances and Savings Plans.

      " + }, + "estimatedCostBeforeDiscounts":{ + "shape":"Double", + "documentation":"

      The savings estimate using Amazon Web Services public pricing without incorporating any discounts.

      " + }, + "estimatedDiscounts":{ + "shape":"EstimatedDiscounts", + "documentation":"

      The estimated discounts for a recommendation.

      " + }, + "estimatedNetUnusedAmortizedCommitments":{ + "shape":"Double", + "documentation":"

      The estimated net unused amortized commitment for the recommendation.

      " + } + }, + "documentation":"

      Contains pricing information about the specified resource.

      " + }, + "ResourceType":{ + "type":"string", + "enum":[ + "Ec2Instance", + "LambdaFunction", + "EbsVolume", + "EcsService", + "Ec2AutoScalingGroup", + "Ec2InstanceSavingsPlans", + "ComputeSavingsPlans", + "SageMakerSavingsPlans", + "Ec2ReservedInstances", + "RdsReservedInstances", + "OpenSearchReservedInstances", + "RedshiftReservedInstances", + "ElastiCacheReservedInstances" + ] + }, + "ResourceTypeList":{ + "type":"list", + "member":{"shape":"ResourceType"}, + "max":100, + "min":1 + }, + "SageMakerSavingsPlans":{ + "type":"structure", + "members":{ + "configuration":{ + "shape":"SageMakerSavingsPlansConfiguration", + "documentation":"

      The SageMaker Savings Plans configuration used for recommendations.

      " + }, + "costCalculation":{ + "shape":"SavingsPlansCostCalculation", + "documentation":"

      Cost impact of the Savings Plans purchase recommendation.

      " + } + }, + "documentation":"

      The SageMaker Savings Plans recommendation details.

      " + }, + "SageMakerSavingsPlansConfiguration":{ + "type":"structure", + "members":{ + "accountScope":{ + "shape":"String", + "documentation":"

      The account scope that you want your recommendations for.

      " + }, + "hourlyCommitment":{ + "shape":"String", + "documentation":"

      The hourly commitment for the Savings Plans type.

      " + }, + "paymentOption":{ + "shape":"String", + "documentation":"

      The payment option for the commitment.

      " + }, + "term":{ + "shape":"String", + "documentation":"

      The Savings Plans recommendation term in years.

      " + } + }, + "documentation":"

      The SageMaker Savings Plans configuration used for recommendations.

      " + }, + "SavingsEstimationMode":{ + "type":"string", + "enum":[ + "BeforeDiscounts", + "AfterDiscounts" + ] + }, + "SavingsPlansCostCalculation":{ + "type":"structure", + "members":{ + "pricing":{ + "shape":"SavingsPlansPricing", + "documentation":"

      Pricing details of the purchase recommendation.

      " + } + }, + "documentation":"

      Cost impact of the purchase recommendation.

      " + }, + "SavingsPlansPricing":{ + "type":"structure", + "members":{ + "estimatedMonthlyCommitment":{ + "shape":"Double", + "documentation":"

      Estimated monthly commitment for the Savings Plan.

      " + }, + "estimatedOnDemandCost":{ + "shape":"Double", + "documentation":"

      Estimated On-Demand cost you will pay after buying the Savings Plan.

      " + }, + "monthlySavingsPlansEligibleCost":{ + "shape":"Double", + "documentation":"

      The cost of paying for the recommended Savings Plan monthly.

      " + }, + "savingsPercentage":{ + "shape":"Double", + "documentation":"

      Estimated savings as a percentage of your overall costs after buying the Savings Plan.

      " + } + }, + "documentation":"

      Pricing information about a Savings Plan.

      " + }, + "Source":{ + "type":"string", + "enum":[ + "ComputeOptimizer", + "CostExplorer" + ] + }, + "StorageConfiguration":{ + "type":"structure", + "members":{ + "sizeInGb":{ + "shape":"Double", + "documentation":"

      The storage volume.

      " + }, + "type":{ + "shape":"String", + "documentation":"

      The storage type.

      " + } + }, + "documentation":"

      The storage configuration used for recommendations.

      " + }, + "String":{"type":"string"}, + "Tag":{ + "type":"structure", + "members":{ + "key":{ + "shape":"String", + "documentation":"

      The key that's associated with the tag.

      " + }, + "value":{ + "shape":"String", + "documentation":"

      The value that's associated with the tag.

      " + } + }, + "documentation":"

      The tag structure that contains a tag key and value.

      " + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"}, + "max":100, + "min":1 + }, + "ThrottlingException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

      The request was denied due to request throttling.

      ", + "exception":true + }, + "Timestamp":{"type":"timestamp"}, + "UpdateEnrollmentStatusRequest":{ + "type":"structure", + "required":["status"], + "members":{ + "includeMemberAccounts":{ + "shape":"Boolean", + "documentation":"

      Indicates whether to enroll member accounts of the organization if the account is the management account.

      " + }, + "status":{ + "shape":"EnrollmentStatus", + "documentation":"

      Sets the account status.

      " + } + } + }, + "UpdateEnrollmentStatusResponse":{ + "type":"structure", + "members":{ + "status":{ + "shape":"String", + "documentation":"

      The enrollment status of the account.

      " + } + } + }, + "UpdatePreferencesRequest":{ + "type":"structure", + "members":{ + "memberAccountDiscountVisibility":{ + "shape":"MemberAccountDiscountVisibility", + "documentation":"

      Sets the \"member account discount visibility\" preference.

      " + }, + "savingsEstimationMode":{ + "shape":"SavingsEstimationMode", + "documentation":"

      Sets the \"savings estimation mode\" preference.

      " + } + } + }, + "UpdatePreferencesResponse":{ + "type":"structure", + "members":{ + "memberAccountDiscountVisibility":{ + "shape":"MemberAccountDiscountVisibility", + "documentation":"

      Shows the status of the \"member account discount visibility\" preference.

      " + }, + "savingsEstimationMode":{ + "shape":"SavingsEstimationMode", + "documentation":"

      Shows the status of the \"savings estimation mode\" preference.

      " + } + } + }, + "Usage":{ + "type":"structure", + "members":{ + "operation":{ + "shape":"String", + "documentation":"

      The operation value.

      " + }, + "productCode":{ + "shape":"String", + "documentation":"

      The product code.

      " + }, + "unit":{ + "shape":"String", + "documentation":"

      The usage unit.

      " + }, + "usageAmount":{ + "shape":"Double", + "documentation":"

      The usage amount.

      " + }, + "usageType":{ + "shape":"String", + "documentation":"

      The usage type.

      " + } + }, + "documentation":"

      Details about the usage.

      " + }, + "UsageList":{ + "type":"list", + "member":{"shape":"Usage"} + }, + "ValidationException":{ + "type":"structure", + "required":["message"], + "members":{ + "fields":{ + "shape":"ValidationExceptionDetails", + "documentation":"

      The list of fields that are invalid.

      " + }, + "message":{"shape":"String"}, + "reason":{ + "shape":"ValidationExceptionReason", + "documentation":"

      The reason for the validation exception.

      " + } + }, + "documentation":"

      The input fails to satisfy the constraints specified by an Amazon Web Services service.

      ", + "exception":true + }, + "ValidationExceptionDetail":{ + "type":"structure", + "required":[ + "fieldName", + "message" + ], + "members":{ + "fieldName":{ + "shape":"String", + "documentation":"

      The field name where the invalid entry was detected.

      " + }, + "message":{ + "shape":"String", + "documentation":"

      A message with the reason for the validation exception error.

      " + } + }, + "documentation":"

      The input failed to meet the constraints specified by the Amazon Web Services service in a specified field.

      " + }, + "ValidationExceptionDetails":{ + "type":"list", + "member":{"shape":"ValidationExceptionDetail"} + }, + "ValidationExceptionReason":{ + "type":"string", + "enum":[ + "FieldValidationFailed", + "Other" + ] + } + }, + "documentation":"

      You can use the Cost Optimization Hub API to programmatically identify, filter, aggregate, and quantify savings for your cost optimization recommendations across multiple Amazon Web Services Regions and Amazon Web Services accounts in your organization.

      The Cost Optimization Hub API provides the following endpoint:

      • https://cost-optimization-hub.us-east-1.amazonaws.com

      " +} diff --git a/tools/code-generation/api-descriptions/detective-2018-10-26.normal.json b/tools/code-generation/api-descriptions/detective-2018-10-26.normal.json index 0af98aa3361..d42856e1462 100644 --- a/tools/code-generation/api-descriptions/detective-2018-10-26.normal.json +++ b/tools/code-generation/api-descriptions/detective-2018-10-26.normal.json @@ -186,6 +186,23 @@ ], "documentation":"

      Designates the Detective administrator account for the organization in the current Region.

      If the account does not have Detective enabled, then enables Detective for that account and creates a new behavior graph.

      Can only be called by the organization management account.

      If the organization has a delegated administrator account in Organizations, then the Detective administrator account must be either the delegated administrator account or the organization management account.

      If the organization does not have a delegated administrator account in Organizations, then you can choose any account in the organization. If you choose an account other than the organization management account, Detective calls Organizations to make that account the delegated administrator account for Detective. The organization management account cannot be the delegated administrator account.

      " }, + "GetInvestigation":{ + "name":"GetInvestigation", + "http":{ + "method":"POST", + "requestUri":"/investigations/getInvestigation" + }, + "input":{"shape":"GetInvestigationRequest"}, + "output":{"shape":"GetInvestigationResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

      Returns the investigation results of an investigation for a behavior graph.

      " + }, "GetMembers":{ "name":"GetMembers", "http":{ @@ -233,6 +250,40 @@ ], "documentation":"

      Returns the list of behavior graphs that the calling account is an administrator account of. This operation can only be called by an administrator account.

      Because an account can currently only be the administrator of one behavior graph within a Region, the results always contain a single behavior graph.

      " }, + "ListIndicators":{ + "name":"ListIndicators", + "http":{ + "method":"POST", + "requestUri":"/investigations/listIndicators" + }, + "input":{"shape":"ListIndicatorsRequest"}, + "output":{"shape":"ListIndicatorsResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

      Get the indicators from an investigation

      " + }, + "ListInvestigations":{ + "name":"ListInvestigations", + "http":{ + "method":"POST", + "requestUri":"/investigations/listInvestigations" + }, + "input":{"shape":"ListInvestigationsRequest"}, + "output":{"shape":"ListInvestigationsResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

      List all Investigations.

      " + }, "ListInvitations":{ "name":"ListInvitations", "http":{ @@ -313,6 +364,23 @@ ], "documentation":"

      Rejects an invitation to contribute the account data to a behavior graph. This operation must be called by an invited member account that has the INVITED status.

      RejectInvitation cannot be called by an organization account in the organization behavior graph. In the organization behavior graph, organization accounts do not receive an invitation.

      " }, + "StartInvestigation":{ + "name":"StartInvestigation", + "http":{ + "method":"POST", + "requestUri":"/investigations/startInvestigation" + }, + "input":{"shape":"StartInvestigationRequest"}, + "output":{"shape":"StartInvestigationResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

      initiate an investigation on an entity in a graph

      " + }, "StartMonitoringMember":{ "name":"StartMonitoringMember", "http":{ @@ -380,6 +448,22 @@ ], "documentation":"

      Starts a data source packages for the behavior graph.

      " }, + "UpdateInvestigationState":{ + "name":"UpdateInvestigationState", + "http":{ + "method":"POST", + "requestUri":"/investigations/updateInvestigationState" + }, + "input":{"shape":"UpdateInvestigationStateRequest"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

      Update the state of an investigation.

      " + }, "UpdateOrganizationConfiguration":{ "name":"UpdateOrganizationConfiguration", "http":{ @@ -397,6 +481,9 @@ } }, "shapes":{ + "APIFailureCount":{"type":"long"}, + "APIName":{"type":"string"}, + "APISuccessCount":{"type":"long"}, "AcceptInvitationRequest":{ "type":"structure", "required":["GraphArn"], @@ -496,6 +583,12 @@ "type":"list", "member":{"shape":"Administrator"} }, + "AiPaginationToken":{ + "type":"string", + "max":2048, + "min":1 + }, + "Aso":{"type":"string"}, "BatchGetGraphMemberDatasourcesRequest":{ "type":"structure", "required":[ @@ -681,6 +774,24 @@ }, "documentation":"

      Information on the usage of a data source package in the behavior graph.

      " }, + "DateFilter":{ + "type":"structure", + "required":[ + "StartInclusive", + "EndInclusive" + ], + "members":{ + "StartInclusive":{ + "shape":"Timestamp", + "documentation":"

      A timestamp representing the start of the time period from when data is filtered, including the start date.

      " + }, + "EndInclusive":{ + "shape":"Timestamp", + "documentation":"

      A timestamp representing the end date of the time period until when data is filtered , including the end date.

      " + } + }, + "documentation":"

      Contains details on the time range used to filter data.

      " + }, "DeleteGraphRequest":{ "type":"structure", "required":["GraphArn"], @@ -773,6 +884,17 @@ } } }, + "EntityArn":{ + "type":"string", + "pattern":"^arn:.*" + }, + "EntityType":{ + "type":"string", + "enum":[ + "IAM_ROLE", + "IAM_USER" + ] + }, "ErrorCode":{ "type":"string", "enum":[ @@ -783,6 +905,116 @@ }, "ErrorCodeReason":{"type":"string"}, "ErrorMessage":{"type":"string"}, + "Field":{ + "type":"string", + "enum":[ + "SEVERITY", + "STATUS", + "CREATED_TIME" + ] + }, + "FilterCriteria":{ + "type":"structure", + "members":{ + "Severity":{ + "shape":"StringFilter", + "documentation":"

      Filter the investigation results based on the severity.

      " + }, + "Status":{ + "shape":"StringFilter", + "documentation":"

      Filter the investigation results based on the status.

      " + }, + "State":{ + "shape":"StringFilter", + "documentation":"

      Filter the investigation results based on the state.

      " + }, + "EntityArn":{ + "shape":"StringFilter", + "documentation":"

      Filter the investigation results based on the Amazon Resource Name (ARN) of the entity.

      " + }, + "CreatedTime":{ + "shape":"DateFilter", + "documentation":"

      Filter the investigation results based on when the investigation was created.

      " + } + }, + "documentation":"

      Details on the criteria used to define the filter for investigation results.

      " + }, + "FlaggedIpAddressDetail":{ + "type":"structure", + "members":{ + "IpAddress":{ + "shape":"IpAddress", + "documentation":"

      IP address of the suspicious entity.

      " + }, + "Reason":{ + "shape":"Reason", + "documentation":"

      Details the reason the IP address was flagged as suspicious.

      " + } + }, + "documentation":"

      Contains information on suspicious IP addresses identified as indicators of compromise. This indicator is derived from Amazon Web Services threat intelligence.

      " + }, + "GetInvestigationRequest":{ + "type":"structure", + "required":[ + "GraphArn", + "InvestigationId" + ], + "members":{ + "GraphArn":{ + "shape":"GraphArn", + "documentation":"

      The ARN of the behavior graph.

      " + }, + "InvestigationId":{ + "shape":"InvestigationId", + "documentation":"

      The investigation ID of the investigation report.

      " + } + } + }, + "GetInvestigationResponse":{ + "type":"structure", + "members":{ + "GraphArn":{ + "shape":"GraphArn", + "documentation":"

      The ARN of the behavior graph.

      " + }, + "InvestigationId":{ + "shape":"InvestigationId", + "documentation":"

      The investigation ID of the investigation report.

      " + }, + "EntityArn":{ + "shape":"EntityArn", + "documentation":"

      The unique Amazon Resource Name (ARN) of the IAM user and IAM role.

      " + }, + "EntityType":{ + "shape":"EntityType", + "documentation":"

      Type of entity. For example, Amazon Web Services accounts, such as IAM user and role.

      " + }, + "CreatedTime":{ + "shape":"Timestamp", + "documentation":"

      The UTC time stamp of the creation time of the investigation report.

      " + }, + "ScopeStartTime":{ + "shape":"Timestamp", + "documentation":"

      The start date and time for the scope time set to generate the investigation report.

      " + }, + "ScopeEndTime":{ + "shape":"Timestamp", + "documentation":"

      The data and time when the investigation began. The value is an UTC ISO8601 formatted string. For example, 2021-08-18T16:35:56.284Z.

      " + }, + "Status":{ + "shape":"Status", + "documentation":"

      Status based on the completion status of the investigation.

      " + }, + "Severity":{ + "shape":"Severity", + "documentation":"

      Severity based on the likelihood and impact of the indicators of compromise discovered in the investigation.

      " + }, + "State":{ + "shape":"State", + "documentation":"

      The current state of the investigation. An archived investigation indicates you have completed reviewing the investigation.

      " + } + } + }, "GetMembersRequest":{ "type":"structure", "required":[ @@ -841,6 +1073,106 @@ "type":"list", "member":{"shape":"Graph"} }, + "HourlyTimeDelta":{ + "type":"integer", + "box":true + }, + "Id":{"type":"string"}, + "ImpossibleTravelDetail":{ + "type":"structure", + "members":{ + "StartingIpAddress":{ + "shape":"IpAddress", + "documentation":"

      IP address where the resource was first used in the impossible travel

      " + }, + "EndingIpAddress":{ + "shape":"IpAddress", + "documentation":"

      IP address where the resource was last used in the impossible travel.

      " + }, + "StartingLocation":{ + "shape":"Location", + "documentation":"

      Location where the resource was first used in the impossible travel

      " + }, + "EndingLocation":{ + "shape":"Location", + "documentation":"

      Location where the resource was last used in the impossible travel.

      " + }, + "HourlyTimeDelta":{ + "shape":"HourlyTimeDelta", + "documentation":"

      Returns the time difference between the first and last timestamp the resource was used.

      " + } + }, + "documentation":"

      Contains information on unusual and impossible travel in an account.

      " + }, + "Indicator":{ + "type":"structure", + "members":{ + "IndicatorType":{ + "shape":"IndicatorType", + "documentation":"

      The type of indicator.

      " + }, + "IndicatorDetail":{ + "shape":"IndicatorDetail", + "documentation":"

      Details about the indicator of compromise.

      " + } + }, + "documentation":"

      Investigations triages indicators of compromises such as a finding and surfaces only the most critical and suspicious issues, so you can focus on high-level investigations.

      " + }, + "IndicatorDetail":{ + "type":"structure", + "members":{ + "TTPsObservedDetail":{ + "shape":"TTPsObservedDetail", + "documentation":"

      Details about the indicator of compromise.

      " + }, + "ImpossibleTravelDetail":{ + "shape":"ImpossibleTravelDetail", + "documentation":"

      Identifies unusual and impossible user activity for an account.

      " + }, + "FlaggedIpAddressDetail":{ + "shape":"FlaggedIpAddressDetail", + "documentation":"

      Suspicious IP addresses that are flagged, which indicates critical or severe threats based on threat intelligence by Detective. This indicator is derived from AWS threat intelligence.

      " + }, + "NewGeolocationDetail":{ + "shape":"NewGeolocationDetail", + "documentation":"

      Contains details about the new geographic location.

      " + }, + "NewAsoDetail":{ + "shape":"NewAsoDetail", + "documentation":"

      Contains details about the new Autonomous System Organization (ASO).

      " + }, + "NewUserAgentDetail":{ + "shape":"NewUserAgentDetail", + "documentation":"

      Contains details about the new user agent.

      " + }, + "RelatedFindingDetail":{ + "shape":"RelatedFindingDetail", + "documentation":"

      Contains details about related findings.

      " + }, + "RelatedFindingGroupDetail":{ + "shape":"RelatedFindingGroupDetail", + "documentation":"

      Contains details about related finding groups.

      " + } + }, + "documentation":"

      Details about the indicators of compromise which are used to determine if a resource is involved in a security incident.

      " + }, + "IndicatorType":{ + "type":"string", + "enum":[ + "TTP_OBSERVED", + "IMPOSSIBLE_TRAVEL", + "FLAGGED_IP_ADDRESS", + "NEW_GEOLOCATION", + "NEW_ASO", + "NEW_USER_AGENT", + "RELATED_FINDING", + "RELATED_FINDING_GROUP" + ] + }, + "Indicators":{ + "type":"list", + "member":{"shape":"Indicator"} + }, "InternalServerException":{ "type":"structure", "members":{ @@ -850,6 +1182,50 @@ "error":{"httpStatusCode":500}, "exception":true }, + "InvestigationDetail":{ + "type":"structure", + "members":{ + "InvestigationId":{ + "shape":"InvestigationId", + "documentation":"

      The investigation ID of the investigation report.

      " + }, + "Severity":{ + "shape":"Severity", + "documentation":"

      Severity based on the likelihood and impact of the indicators of compromise discovered in the investigation.

      " + }, + "Status":{ + "shape":"Status", + "documentation":"

      Status based on the completion status of the investigation.

      " + }, + "State":{ + "shape":"State", + "documentation":"

      The current state of the investigation. An archived investigation indicates you have completed reviewing the investigation.

      " + }, + "CreatedTime":{ + "shape":"Timestamp", + "documentation":"

      The UTC time stamp of the creation time of the investigation report.

      " + }, + "EntityArn":{ + "shape":"EntityArn", + "documentation":"

      The unique Amazon Resource Name (ARN) of the IAM user and IAM role.

      " + }, + "EntityType":{ + "shape":"EntityType", + "documentation":"

      Type of entity. For example, Amazon Web Services accounts, such as IAM user and role.

      " + } + }, + "documentation":"

      Details about the investigation related to a potential security event identified by Detective

      " + }, + "InvestigationDetails":{ + "type":"list", + "member":{"shape":"InvestigationDetail"} + }, + "InvestigationId":{ + "type":"string", + "max":21, + "min":21, + "pattern":"^[0-9]+$" + }, "InvitationType":{ "type":"string", "enum":[ @@ -857,6 +1233,8 @@ "ORGANIZATION" ] }, + "IpAddress":{"type":"string"}, + "IsNewForEntireAccount":{"type":"boolean"}, "LastIngestStateChangeDates":{ "type":"map", "key":{"shape":"DatasourcePackageIngestState"}, @@ -919,6 +1297,95 @@ } } }, + "ListIndicatorsRequest":{ + "type":"structure", + "required":[ + "GraphArn", + "InvestigationId" + ], + "members":{ + "GraphArn":{ + "shape":"GraphArn", + "documentation":"

      The ARN of the behavior graph.

      " + }, + "InvestigationId":{ + "shape":"InvestigationId", + "documentation":"

      The investigation ID of the investigation report.

      " + }, + "IndicatorType":{ + "shape":"IndicatorType", + "documentation":"

      See Detective investigations..

      " + }, + "NextToken":{ + "shape":"AiPaginationToken", + "documentation":"

      List if there are more results available. The value of nextToken is a unique pagination token for each page. Repeat the call using the returned token to retrieve the next page. Keep all other arguments unchanged.

      Each pagination token expires after 24 hours. Using an expired pagination token will return a Validation Exception error.

      " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

      List the maximum number of indicators in a page.

      " + } + } + }, + "ListIndicatorsResponse":{ + "type":"structure", + "members":{ + "GraphArn":{ + "shape":"GraphArn", + "documentation":"

      The ARN of the behavior graph.

      " + }, + "InvestigationId":{ + "shape":"InvestigationId", + "documentation":"

      The investigation ID of the investigation report.

      " + }, + "NextToken":{ + "shape":"AiPaginationToken", + "documentation":"

      List if there are more results available. The value of nextToken is a unique pagination token for each page. Repeat the call using the returned token to retrieve the next page. Keep all other arguments unchanged.

      Each pagination token expires after 24 hours. Using an expired pagination token will return a Validation Exception error.

      " + }, + "Indicators":{ + "shape":"Indicators", + "documentation":"

      Indicators of compromise listed based on severity.

      " + } + } + }, + "ListInvestigationsRequest":{ + "type":"structure", + "required":["GraphArn"], + "members":{ + "GraphArn":{ + "shape":"GraphArn", + "documentation":"

      The ARN of the behavior graph.

      " + }, + "NextToken":{ + "shape":"AiPaginationToken", + "documentation":"

      List if there are more results available. The value of nextToken is a unique pagination token for each page. Repeat the call using the returned token to retrieve the next page. Keep all other arguments unchanged.

      Each pagination token expires after 24 hours. Using an expired pagination token will return a Validation Exception error.

      " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

      List the maximum number of investigations in a page.

      " + }, + "FilterCriteria":{ + "shape":"FilterCriteria", + "documentation":"

      Filter the investigation results based on a criteria.

      " + }, + "SortCriteria":{ + "shape":"SortCriteria", + "documentation":"

      Sorts the investigation results based on a criteria.

      " + } + } + }, + "ListInvestigationsResponse":{ + "type":"structure", + "members":{ + "InvestigationDetails":{ + "shape":"InvestigationDetails", + "documentation":"

      Investigations details lists the summary of uncommon behavior or malicious activity which indicates a compromise.

      " + }, + "NextToken":{ + "shape":"AiPaginationToken", + "documentation":"

      List if there are more results available. The value of nextToken is a unique pagination token for each page. Repeat the call using the returned token to retrieve the next page. Keep all other arguments unchanged.

      Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

      " + } + } + }, "ListInvitationsRequest":{ "type":"structure", "members":{ @@ -1023,6 +1490,13 @@ } } }, + "Location":{"type":"string"}, + "MaxResults":{ + "type":"integer", + "box":true, + "max":100, + "min":1 + }, "MemberDetail":{ "type":"structure", "members":{ @@ -1152,12 +1626,63 @@ "type":"list", "member":{"shape":"MembershipDatasources"} }, + "NewAsoDetail":{ + "type":"structure", + "members":{ + "Aso":{ + "shape":"Aso", + "documentation":"

      Details about the new Autonomous System Organization (ASO).

      " + }, + "IsNewForEntireAccount":{ + "shape":"IsNewForEntireAccount", + "documentation":"

      Checks if the ASO is for new for the entire account.

      " + } + }, + "documentation":"

      Details new Autonomous System Organizations (ASOs) used either at the resource or account level.

      " + }, + "NewGeolocationDetail":{ + "type":"structure", + "members":{ + "Location":{ + "shape":"Location", + "documentation":"

      Location where the resource was accessed.

      " + }, + "IpAddress":{ + "shape":"IpAddress", + "documentation":"

      IP address using which the resource was accessed.

      " + }, + "IsNewForEntireAccount":{ + "shape":"IsNewForEntireAccount", + "documentation":"

      Checks if the gelocation is new for the entire account.

      " + } + }, + "documentation":"

      Details new geolocations used either at the resource or account level. For example, lists an observed geolocation that is an infrequent or unused location based on previous user activity.

      " + }, + "NewUserAgentDetail":{ + "type":"structure", + "members":{ + "UserAgent":{ + "shape":"UserAgent", + "documentation":"

      New user agent which accessed the resource.

      " + }, + "IsNewForEntireAccount":{ + "shape":"IsNewForEntireAccount", + "documentation":"

      Checks if the user agent is new for the entire account.

      " + } + }, + "documentation":"

      Details new user agents used either at the resource or account level.

      " + }, "PaginationToken":{ "type":"string", "max":1024, "min":1 }, "Percentage":{"type":"double"}, + "Procedure":{"type":"string"}, + "Reason":{ + "type":"string", + "enum":["AWS_THREAT_INTELLIGENCE"] + }, "RejectInvitationRequest":{ "type":"structure", "required":["GraphArn"], @@ -1168,6 +1693,34 @@ } } }, + "RelatedFindingDetail":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"EntityArn", + "documentation":"

      The ARN of the related finding.

      " + }, + "Type":{ + "shape":"Type", + "documentation":"

      The type of finding.

      " + }, + "IpAddress":{ + "shape":"IpAddress", + "documentation":"

      The IP address of the finding.

      " + } + }, + "documentation":"

      Details related activities associated with a potential security event. Lists all distinct categories of evidence that are connected to the resource or the finding group.

      " + }, + "RelatedFindingGroupDetail":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"Id", + "documentation":"

      The unique identifier for the finding group.

      " + } + }, + "documentation":"

      Details multiple activities as they related to a potential security event. Detective uses graph analysis technique that infers relationships between findings and entities, and groups them together as a finding group.

      " + }, "Resource":{ "type":"string", "max":64, @@ -1201,6 +1754,73 @@ "error":{"httpStatusCode":402}, "exception":true }, + "Severity":{ + "type":"string", + "enum":[ + "INFORMATIONAL", + "LOW", + "MEDIUM", + "HIGH", + "CRITICAL" + ] + }, + "SortCriteria":{ + "type":"structure", + "members":{ + "Field":{ + "shape":"Field", + "documentation":"

      Represents the Field attribute to sort investigations.

      " + }, + "SortOrder":{ + "shape":"SortOrder", + "documentation":"

      The order by which the sorted findings are displayed.

      " + } + }, + "documentation":"

      Details about the criteria used for sorting investigations.

      " + }, + "SortOrder":{ + "type":"string", + "enum":[ + "ASC", + "DESC" + ] + }, + "StartInvestigationRequest":{ + "type":"structure", + "required":[ + "GraphArn", + "EntityArn", + "ScopeStartTime", + "ScopeEndTime" + ], + "members":{ + "GraphArn":{ + "shape":"GraphArn", + "documentation":"

      The ARN of the behavior graph.

      " + }, + "EntityArn":{ + "shape":"EntityArn", + "documentation":"

      The unique Amazon Resource Name (ARN) of the IAM user and IAM role.

      " + }, + "ScopeStartTime":{ + "shape":"Timestamp", + "documentation":"

      The data and time when the investigation began. The value is an UTC ISO8601 formatted string. For example, 2021-08-18T16:35:56.284Z.

      " + }, + "ScopeEndTime":{ + "shape":"Timestamp", + "documentation":"

      The data and time when the investigation began. The value is an UTC ISO8601 formatted string. For example, 2021-08-18T16:35:56.284Z.

      " + } + } + }, + "StartInvestigationResponse":{ + "type":"structure", + "members":{ + "InvestigationId":{ + "shape":"InvestigationId", + "documentation":"

      The investigation ID of the investigation report.

      " + } + } + }, "StartMonitoringMemberRequest":{ "type":"structure", "required":[ @@ -1218,6 +1838,67 @@ } } }, + "State":{ + "type":"string", + "enum":[ + "ACTIVE", + "ARCHIVED" + ] + }, + "Status":{ + "type":"string", + "enum":[ + "RUNNING", + "FAILED", + "SUCCESSFUL" + ] + }, + "StringFilter":{ + "type":"structure", + "required":["Value"], + "members":{ + "Value":{ + "shape":"Value", + "documentation":"

      The string filter value.

      " + } + }, + "documentation":"

      A string for filtering Detective investigations.

      " + }, + "TTPsObservedDetail":{ + "type":"structure", + "members":{ + "Tactic":{ + "shape":"Tactic", + "documentation":"

      The tactic used, identified by the investigation.

      " + }, + "Technique":{ + "shape":"Technique", + "documentation":"

      The technique used, identified by the investigation.

      " + }, + "Procedure":{ + "shape":"Procedure", + "documentation":"

      The procedure used, identified by the investigation.

      " + }, + "IpAddress":{ + "shape":"IpAddress", + "documentation":"

      The IP address where the TTP was observed.

      " + }, + "APIName":{ + "shape":"APIName", + "documentation":"

      The name of the API where the TTP was observed.

      " + }, + "APISuccessCount":{ + "shape":"APISuccessCount", + "documentation":"

      The total number of successful API requests.

      " + }, + "APIFailureCount":{ + "shape":"APIFailureCount", + "documentation":"

      The total number of failed API requests.

      " + } + }, + "documentation":"

      Details tactics, techniques, and procedures (TTPs) used in a potential security event. Tactics are based on MITRE ATT&CK Matrix for Enterprise.

      " + }, + "Tactic":{"type":"string"}, "TagKey":{ "type":"string", "max":128, @@ -1265,6 +1946,7 @@ "type":"string", "max":256 }, + "Technique":{"type":"string"}, "Timestamp":{ "type":"timestamp", "timestampFormat":"iso8601" @@ -1288,6 +1970,7 @@ "error":{"httpStatusCode":429}, "exception":true }, + "Type":{"type":"string"}, "UnprocessedAccount":{ "type":"structure", "members":{ @@ -1368,6 +2051,28 @@ } } }, + "UpdateInvestigationStateRequest":{ + "type":"structure", + "required":[ + "GraphArn", + "InvestigationId", + "State" + ], + "members":{ + "GraphArn":{ + "shape":"GraphArn", + "documentation":"

      The ARN of the behavior graph.

      " + }, + "InvestigationId":{ + "shape":"InvestigationId", + "documentation":"

      The investigation ID of the investigation report.

      " + }, + "State":{ + "shape":"State", + "documentation":"

      The current state of the investigation. An archived investigation indicates you have completed reviewing the investigation.

      " + } + } + }, "UpdateOrganizationConfigurationRequest":{ "type":"structure", "required":["GraphArn"], @@ -1382,6 +2087,7 @@ } } }, + "UserAgent":{"type":"string"}, "ValidationException":{ "type":"structure", "members":{ @@ -1399,6 +2105,11 @@ "error":{"httpStatusCode":400}, "exception":true }, + "Value":{ + "type":"string", + "max":500, + "min":1 + }, "VolumeUsageByDatasourcePackage":{ "type":"map", "key":{"shape":"DatasourcePackage"}, diff --git a/tools/code-generation/api-descriptions/ecs-2014-11-13.normal.json b/tools/code-generation/api-descriptions/ecs-2014-11-13.normal.json index 173c6e8596e..566fe416f51 100644 --- a/tools/code-generation/api-descriptions/ecs-2014-11-13.normal.json +++ b/tools/code-generation/api-descriptions/ecs-2014-11-13.normal.json @@ -572,7 +572,7 @@ {"shape":"ClientException"}, {"shape":"InvalidParameterException"} ], - "documentation":"

      Modifies an account setting. Account settings are set on a per-Region basis.

      If you change the root user account setting, the default settings are reset for users and roles that do not have specified individual account settings. For more information, see Account Settings in the Amazon Elastic Container Service Developer Guide.

      When you specify serviceLongArnFormat, taskLongArnFormat, or containerInstanceLongArnFormat, the Amazon Resource Name (ARN) and resource ID format of the resource type for a specified user, role, or the root user for an account is affected. The opt-in and opt-out account setting must be set for each Amazon ECS resource separately. The ARN and resource ID format of a resource is defined by the opt-in status of the user or role that created the resource. You must turn on this setting to use Amazon ECS features such as resource tagging.

      When you specify awsvpcTrunking, the elastic network interface (ENI) limit for any new container instances that support the feature is changed. If awsvpcTrunking is turned on, any new container instances that support the feature are launched have the increased ENI limits available to them. For more information, see Elastic Network Interface Trunking in the Amazon Elastic Container Service Developer Guide.

      When you specify containerInsights, the default setting indicating whether Amazon Web Services CloudWatch Container Insights is turned on for your clusters is changed. If containerInsights is turned on, any new clusters that are created will have Container Insights turned on unless you disable it during cluster creation. For more information, see CloudWatch Container Insights in the Amazon Elastic Container Service Developer Guide.

      Amazon ECS is introducing tagging authorization for resource creation. Users must have permissions for actions that create the resource, such as ecsCreateCluster. If tags are specified when you create a resource, Amazon Web Services performs additional authorization to verify if users or roles have permissions to create tags. Therefore, you must grant explicit permissions to use the ecs:TagResource action. For more information, see Grant permission to tag resources on creation in the Amazon ECS Developer Guide.

      When Amazon Web Services determines that a security or infrastructure update is needed for an Amazon ECS task hosted on Fargate, the tasks need to be stopped and new tasks launched to replace them. Use fargateTaskRetirementWaitPeriod to configure the wait time to retire a Fargate task. For information about the Fargate tasks maintenance, see Amazon Web Services Fargate task maintenance in the Amazon ECS Developer Guide.

      " + "documentation":"

      Modifies an account setting. Account settings are set on a per-Region basis.

      If you change the root user account setting, the default settings are reset for users and roles that do not have specified individual account settings. For more information, see Account Settings in the Amazon Elastic Container Service Developer Guide.

      When you specify serviceLongArnFormat, taskLongArnFormat, or containerInstanceLongArnFormat, the Amazon Resource Name (ARN) and resource ID format of the resource type for a specified user, role, or the root user for an account is affected. The opt-in and opt-out account setting must be set for each Amazon ECS resource separately. The ARN and resource ID format of a resource is defined by the opt-in status of the user or role that created the resource. You must turn on this setting to use Amazon ECS features such as resource tagging.

      When you specify awsvpcTrunking, the elastic network interface (ENI) limit for any new container instances that support the feature is changed. If awsvpcTrunking is turned on, any new container instances that support the feature are launched have the increased ENI limits available to them. For more information, see Elastic Network Interface Trunking in the Amazon Elastic Container Service Developer Guide.

      When you specify containerInsights, the default setting indicating whether Amazon Web Services CloudWatch Container Insights is turned on for your clusters is changed. If containerInsights is turned on, any new clusters that are created will have Container Insights turned on unless you disable it during cluster creation. For more information, see CloudWatch Container Insights in the Amazon Elastic Container Service Developer Guide.

      Amazon ECS is introducing tagging authorization for resource creation. Users must have permissions for actions that create the resource, such as ecsCreateCluster. If tags are specified when you create a resource, Amazon Web Services performs additional authorization to verify if users or roles have permissions to create tags. Therefore, you must grant explicit permissions to use the ecs:TagResource action. For more information, see Grant permission to tag resources on creation in the Amazon ECS Developer Guide.

      When Amazon Web Services determines that a security or infrastructure update is needed for an Amazon ECS task hosted on Fargate, the tasks need to be stopped and new tasks launched to replace them. Use fargateTaskRetirementWaitPeriod to configure the wait time to retire a Fargate task. For information about the Fargate tasks maintenance, see Amazon Web Services Fargate task maintenance in the Amazon ECS Developer Guide.

      The guardDutyActivate parameter is read-only in Amazon ECS and indicates whether Amazon ECS Runtime Monitoring is enabled or disabled by your security administrator in your Amazon ECS account. Amazon GuardDuty controls this account setting on your behalf. For more information, see Protecting Amazon ECS workloads with Amazon ECS Runtime Monitoring.

      " }, "PutAccountSettingDefault":{ "name":"PutAccountSettingDefault", @@ -4339,7 +4339,7 @@ "members":{ "name":{ "shape":"SettingName", - "documentation":"

      The resource name for which to modify the account setting. If you specify serviceLongArnFormat, the ARN for your Amazon ECS services is affected. If you specify taskLongArnFormat, the ARN and resource ID for your Amazon ECS tasks is affected. If you specify containerInstanceLongArnFormat, the ARN and resource ID for your Amazon ECS container instances is affected. If you specify awsvpcTrunking, the ENI limit for your Amazon ECS container instances is affected. If you specify containerInsights, the default setting for Amazon Web Services CloudWatch Container Insights for your clusters is affected. If you specify tagResourceAuthorization, the opt-in option for tagging resources on creation is affected. For information about the opt-in timeline, see Tagging authorization timeline in the Amazon ECS Developer Guide. If you specify fargateTaskRetirementWaitPeriod, the default wait time to retire a Fargate task due to required maintenance is affected.

      When you specify fargateFIPSMode for the name and enabled for the value, Fargate uses FIPS-140 compliant cryptographic algorithms on your tasks. For more information about FIPS-140 compliance with Fargate, see Amazon Web Services Fargate Federal Information Processing Standard (FIPS) 140-2 compliance in the Amazon Elastic Container Service Developer Guide.

      When Amazon Web Services determines that a security or infrastructure update is needed for an Amazon ECS task hosted on Fargate, the tasks need to be stopped and new tasks launched to replace them. Use fargateTaskRetirementWaitPeriod to set the wait time to retire a Fargate task to the default. For information about the Fargate tasks maintenance, see Amazon Web Services Fargate task maintenance in the Amazon ECS Developer Guide.

      " + "documentation":"

      The resource name for which to modify the account setting. If you specify serviceLongArnFormat, the ARN for your Amazon ECS services is affected. If you specify taskLongArnFormat, the ARN and resource ID for your Amazon ECS tasks is affected. If you specify containerInstanceLongArnFormat, the ARN and resource ID for your Amazon ECS container instances is affected. If you specify awsvpcTrunking, the ENI limit for your Amazon ECS container instances is affected. If you specify containerInsights, the default setting for Amazon Web Services CloudWatch Container Insights for your clusters is affected. If you specify tagResourceAuthorization, the opt-in option for tagging resources on creation is affected. For information about the opt-in timeline, see Tagging authorization timeline in the Amazon ECS Developer Guide. If you specify fargateTaskRetirementWaitPeriod, the default wait time to retire a Fargate task due to required maintenance is affected.

      When you specify fargateFIPSMode for the name and enabled for the value, Fargate uses FIPS-140 compliant cryptographic algorithms on your tasks. For more information about FIPS-140 compliance with Fargate, see Amazon Web Services Fargate Federal Information Processing Standard (FIPS) 140-2 compliance in the Amazon Elastic Container Service Developer Guide.

      When Amazon Web Services determines that a security or infrastructure update is needed for an Amazon ECS task hosted on Fargate, the tasks need to be stopped and new tasks launched to replace them. Use fargateTaskRetirementWaitPeriod to set the wait time to retire a Fargate task to the default. For information about the Fargate tasks maintenance, see Amazon Web Services Fargate task maintenance in the Amazon ECS Developer Guide.

      The guardDutyActivate parameter is read-only in Amazon ECS and indicates whether Amazon ECS Runtime Monitoring is enabled or disabled by your security administrator in your Amazon ECS account. Amazon GuardDuty controls this account setting on your behalf. For more information, see Protecting Amazon ECS workloads with Amazon ECS Runtime Monitoring.

      " }, "value":{ "shape":"String", @@ -4365,7 +4365,7 @@ "members":{ "name":{ "shape":"SettingName", - "documentation":"

      The Amazon ECS resource name for which to modify the account setting. If you specify serviceLongArnFormat, the ARN for your Amazon ECS services is affected. If you specify taskLongArnFormat, the ARN and resource ID for your Amazon ECS tasks is affected. If you specify containerInstanceLongArnFormat, the ARN and resource ID for your Amazon ECS container instances is affected. If you specify awsvpcTrunking, the elastic network interface (ENI) limit for your Amazon ECS container instances is affected. If you specify containerInsights, the default setting for Amazon Web Services CloudWatch Container Insights for your clusters is affected. If you specify fargateFIPSMode, Fargate FIPS 140 compliance is affected. If you specify tagResourceAuthorization, the opt-in option for tagging resources on creation is affected. For information about the opt-in timeline, see Tagging authorization timeline in the Amazon ECS Developer Guide. If you specify fargateTaskRetirementWaitPeriod, the wait time to retire a Fargate task is affected.

      " + "documentation":"

      The Amazon ECS resource name for which to modify the account setting. If you specify serviceLongArnFormat, the ARN for your Amazon ECS services is affected. If you specify taskLongArnFormat, the ARN and resource ID for your Amazon ECS tasks is affected. If you specify containerInstanceLongArnFormat, the ARN and resource ID for your Amazon ECS container instances is affected. If you specify awsvpcTrunking, the elastic network interface (ENI) limit for your Amazon ECS container instances is affected. If you specify containerInsights, the default setting for Amazon Web Services CloudWatch Container Insights for your clusters is affected. If you specify fargateFIPSMode, Fargate FIPS 140 compliance is affected. If you specify tagResourceAuthorization, the opt-in option for tagging resources on creation is affected. For information about the opt-in timeline, see Tagging authorization timeline in the Amazon ECS Developer Guide. If you specify fargateTaskRetirementWaitPeriod, the wait time to retire a Fargate task is affected.

      The guardDutyActivate parameter is read-only in Amazon ECS and indicates whether Amazon ECS Runtime Monitoring is enabled or disabled by your security administrator in your Amazon ECS account. Amazon GuardDuty controls this account setting on your behalf. For more information, see Protecting Amazon ECS workloads with Amazon ECS Runtime Monitoring.

      " }, "value":{ "shape":"String", @@ -5169,6 +5169,10 @@ "principalArn":{ "shape":"String", "documentation":"

      The ARN of the principal. It can be a user, role, or the root user. If this field is omitted, the authenticated user is assumed.

      " + }, + "type":{ + "shape":"SettingType", + "documentation":"

      Indicates whether Amazon Web Services manages the account setting, or if the user manages it.

      aws_managed account settings are read-only, as Amazon Web Services manages such on the customer's behalf. Currently, the guardDutyActivate account setting is the only one Amazon Web Services manages.

      " } }, "documentation":"

      The current account setting for a resource.

      " @@ -5183,7 +5187,15 @@ "containerInsights", "fargateFIPSMode", "tagResourceAuthorization", - "fargateTaskRetirementWaitPeriod" + "fargateTaskRetirementWaitPeriod", + "guardDutyActivate" + ] + }, + "SettingType":{ + "type":"string", + "enum":[ + "user", + "aws_managed" ] }, "Settings":{ @@ -6529,5 +6541,5 @@ "member":{"shape":"Volume"} } }, - "documentation":"Amazon Elastic Container Service

      Amazon Elastic Container Service (Amazon ECS) is a highly scalable, fast, container management service. It makes it easy to run, stop, and manage Docker containers. You can host your cluster on a serverless infrastructure that's managed by Amazon ECS by launching your services or tasks on Fargate. For more control, you can host your tasks on a cluster of Amazon Elastic Compute Cloud (Amazon EC2) or External (on-premises) instances that you manage.

      Amazon ECS makes it easy to launch and stop container-based applications with simple API calls. This makes it easy to get the state of your cluster from a centralized service, and gives you access to many familiar Amazon EC2 features.

      You can use Amazon ECS to schedule the placement of containers across your cluster based on your resource needs, isolation policies, and availability requirements. With Amazon ECS, you don't need to operate your own cluster management and configuration management systems. You also don't need to worry about scaling your management infrastructure.

      " + "documentation":"Amazon Elastic Container Service

      Amazon Elastic Container Service (Amazon ECS) is a highly scalable, fast, container management service. It makes it easy to run, stop, and manage Docker containers. You can host your cluster on a serverless infrastructure that's managed by Amazon ECS by launching your services or tasks on Fargate. For more control, you can host your tasks on a cluster of Amazon Elastic Compute Cloud (Amazon EC2) or External (on-premises) instances that you manage.

      Amazon ECS makes it easy to launch and stop container-based applications with simple API calls. This makes it easy to get the state of your cluster from a centralized service, and gives you access to many familiar Amazon EC2 features.

      You can use Amazon ECS to schedule the placement of containers across your cluster based on your resource needs, isolation policies, and availability requirements. With Amazon ECS, you don't need to operate your own cluster management and configuration management systems. You also don't need to worry about scaling your management infrastructure.

      " } 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 15ba6f72c94..db196354cf7 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 @@ -84,7 +84,7 @@ {"shape":"ServiceUnavailableException"}, {"shape":"UnsupportedAvailabilityZoneException"} ], - "documentation":"

      Creates an Amazon EKS control plane.

      The Amazon EKS control plane consists of control plane instances that run the Kubernetes software, such as etcd and the API server. The control plane runs in 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 single tenant and unique. It runs on its own set of Amazon EC2 instances.

      The cluster control plane is provisioned across multiple Availability Zones and fronted by an Elastic Load Balancing Network Load Balancer. Amazon EKS also provisions elastic network interfaces in your VPC subnets to provide connectivity from the control plane instances to the nodes (for example, to support kubectl exec, logs, and proxy data flows).

      Amazon EKS nodes run in your Amazon Web Services account and connect to your cluster's control plane over the Kubernetes API server endpoint and a certificate file that is created for your cluster.

      In most cases, it takes several minutes to create a cluster. After you create an Amazon EKS cluster, you must configure your Kubernetes tooling to communicate with the API server and launch nodes into your cluster. For more information, see Managing Cluster Authentication and Launching Amazon EKS nodes in the Amazon EKS User Guide.

      " + "documentation":"

      Creates an Amazon EKS control plane.

      The Amazon EKS control plane consists of control plane instances that run the Kubernetes software, such as etcd and the API server. The control plane runs in 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 single tenant and unique. It runs on its own set of Amazon EC2 instances.

      The cluster control plane is provisioned across multiple Availability Zones and fronted by an Elastic Load Balancing Network Load Balancer. Amazon EKS also provisions elastic network interfaces in your VPC subnets to provide connectivity from the control plane instances to the nodes (for example, to support kubectl exec, logs, and proxy data flows).

      Amazon EKS nodes run in your Amazon Web Services account and connect to your cluster's control plane over the Kubernetes API server endpoint and a certificate file that is created for your cluster.

      You can use the endpointPublicAccess and endpointPrivateAccess parameters to enable or disable public and private access to your cluster's Kubernetes API server endpoint. By default, public access is enabled, and private access is disabled. For more information, see Amazon EKS Cluster Endpoint Access Control in the Amazon EKS User Guide .

      You can use the logging parameter to 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.

      In most cases, it takes several minutes to create a cluster. After you create an Amazon EKS cluster, you must configure your Kubernetes tooling to communicate with the API server and launch nodes into your cluster. For more information, see Managing Cluster Authentication and Launching Amazon EKS nodes in the Amazon EKS User Guide.

      " }, "CreateEksAnywhereSubscription":{ "name":"CreateEksAnywhereSubscription", @@ -140,6 +140,24 @@ ], "documentation":"

      Creates a managed node group for an Amazon EKS cluster. You can only create a node group for your cluster that is equal to the current Kubernetes version for the cluster.

      An Amazon EKS managed node group is an Amazon EC2 Auto Scaling group and associated Amazon EC2 instances that are managed by Amazon Web Services for an Amazon EKS cluster. For more information, see Managed node groups in the Amazon EKS User Guide.

      Windows AMI types are only supported for commercial Regions that support Windows Amazon EKS.

      " }, + "CreatePodIdentityAssociation":{ + "name":"CreatePodIdentityAssociation", + "http":{ + "method":"POST", + "requestUri":"/clusters/{name}/pod-identity-associations" + }, + "input":{"shape":"CreatePodIdentityAssociationRequest"}, + "output":{"shape":"CreatePodIdentityAssociationResponse"}, + "errors":[ + {"shape":"ServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ResourceLimitExceededException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

      Creates an EKS Pod Identity association between a service account in an Amazon EKS cluster and an IAM role with EKS Pod Identity. Use EKS Pod Identity to give temporary IAM credentials to pods and the credentials are rotated automatically.

      Amazon EKS Pod Identity associations provide the ability to manage credentials for your applications, similar to the way that 7EC2l instance profiles provide credentials to Amazon EC2 instances.

      If a pod uses a service account that has an association, Amazon EKS sets environment variables in the containers of the pod. The environment variables configure the Amazon Web Services SDKs, including the Command Line Interface, to use the EKS Pod Identity credentials.

      Pod Identity is a simpler method than IAM roles for service accounts, as this method doesn't use OIDC identity providers. Additionally, you can configure a role for Pod Identity once, and reuse it across clusters.

      " + }, "DeleteAddon":{ "name":"DeleteAddon", "http":{ @@ -188,7 +206,7 @@ {"shape":"InvalidRequestException"}, {"shape":"ServerException"} ], - "documentation":"

      Deletes an expired / inactive subscription. Deleting inactive subscriptions removes them from the Amazon Web Services Management Console view and from list/describe API responses. Subscriptions can only be cancelled within 7 days of creation, and are cancelled by creating a ticket in the Amazon Web Services Support Center.

      " + "documentation":"

      Deletes an expired or inactive subscription. Deleting inactive subscriptions removes them from the Amazon Web Services Management Console view and from list/describe API responses. Subscriptions can only be cancelled within 7 days of creation and are cancelled by creating a ticket in the Amazon Web Services Support Center.

      " }, "DeleteFargateProfile":{ "name":"DeleteFargateProfile", @@ -224,6 +242,22 @@ ], "documentation":"

      Deletes an Amazon EKS node group for a cluster.

      " }, + "DeletePodIdentityAssociation":{ + "name":"DeletePodIdentityAssociation", + "http":{ + "method":"DELETE", + "requestUri":"/clusters/{name}/pod-identity-associations/{associationId}" + }, + "input":{"shape":"DeletePodIdentityAssociationRequest"}, + "output":{"shape":"DeletePodIdentityAssociationResponse"}, + "errors":[ + {"shape":"ServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InvalidParameterException"} + ], + "documentation":"

      Deletes a EKS Pod Identity association.

      The temporary Amazon Web Services credentials from the previous IAM role session might still be valid until the session expiry. If you need to immediately revoke the temporary session credentials, then go to the role in the IAM console.

      " + }, "DeregisterCluster":{ "name":"DeregisterCluster", "http":{ @@ -371,6 +405,22 @@ ], "documentation":"

      Returns descriptive information about an Amazon EKS node group.

      " }, + "DescribePodIdentityAssociation":{ + "name":"DescribePodIdentityAssociation", + "http":{ + "method":"GET", + "requestUri":"/clusters/{name}/pod-identity-associations/{associationId}" + }, + "input":{"shape":"DescribePodIdentityAssociationRequest"}, + "output":{"shape":"DescribePodIdentityAssociationResponse"}, + "errors":[ + {"shape":"ServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InvalidParameterException"} + ], + "documentation":"

      Returns descriptive information about an EKS Pod Identity association.

      This action requires the ID of the association. You can get the ID from the response to the CreatePodIdentityAssocation for newly created associations. Or, you can list the IDs for associations with ListPodIdentityAssociations and filter the list by namespace or service account.

      " + }, "DescribeUpdate":{ "name":"DescribeUpdate", "http":{ @@ -504,6 +554,22 @@ ], "documentation":"

      Lists the Amazon EKS managed node groups associated with the specified cluster in your Amazon Web Services account in the specified Region. Self-managed node groups are not listed.

      " }, + "ListPodIdentityAssociations":{ + "name":"ListPodIdentityAssociations", + "http":{ + "method":"GET", + "requestUri":"/clusters/{name}/pod-identity-associations" + }, + "input":{"shape":"ListPodIdentityAssociationsRequest"}, + "output":{"shape":"ListPodIdentityAssociationsResponse"}, + "errors":[ + {"shape":"ServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InvalidParameterException"} + ], + "documentation":"

      List the EKS Pod Identity associations in a cluster. You can filter the list by the namespace that the association is in or the service account that the association uses.

      " + }, "ListTagsForResource":{ "name":"ListTagsForResource", "http":{ @@ -616,7 +682,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"InvalidRequestException"} ], - "documentation":"

      Updates an Amazon EKS cluster configuration. 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.

      You can use this API operation to 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.

      You can also use this API operation to enable or disable public and private access to your cluster's Kubernetes API server endpoint. By default, public access is enabled, and private access is disabled. For more information, see Amazon EKS cluster endpoint access control in the Amazon EKS User Guide .

      You can't update the subnets or security group IDs for an existing cluster.

      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.

      " + "documentation":"

      Updates an Amazon EKS cluster configuration. 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.

      You can use this API operation to 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.

      You can also use this API operation to enable or disable public and private access to your cluster's Kubernetes API server endpoint. By default, public access is enabled, and private access is disabled. For more information, see Amazon EKS cluster endpoint access control in the Amazon EKS User Guide .

      You can also use this API operation to choose different subnets and security groups for the cluster. You must specify at least two subnets that are in different Availability Zones. You can't change which VPC the subnets are from, the subnets must be in the same VPC as the subnets that the cluster was created with. For more information about the VPC requirements, see https://docs.aws.amazon.com/eks/latest/userguide/network_reqs.html in the Amazon EKS User Guide .

      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.

      " }, "UpdateClusterVersion":{ "name":"UpdateClusterVersion", @@ -688,6 +754,22 @@ {"shape":"InvalidRequestException"} ], "documentation":"

      Updates the Kubernetes version or AMI version of an Amazon EKS managed node group.

      You can update a node group using a launch template only if the node group was originally deployed with a launch template. If you need to update a custom AMI in a node group that was deployed with a launch template, then update your custom AMI, specify the new ID in a new version of the launch template, and then update the node group to the new version of the launch template.

      If you update without a launch template, then you can update to the latest available AMI version of a node group's current Kubernetes version by not specifying a Kubernetes version in the request. You can update to the latest AMI version of your cluster's current Kubernetes version by specifying your cluster's Kubernetes version in the request. For information about Linux versions, see Amazon EKS optimized Amazon Linux AMI versions in the Amazon EKS User Guide. For information about Windows versions, see Amazon EKS optimized Windows AMI versions in the Amazon EKS User Guide.

      You cannot roll back a node group to an earlier Kubernetes version or AMI version.

      When a node in a managed node group is terminated due to a scaling action or update, the pods in that node are drained first. Amazon EKS attempts to drain the nodes gracefully and will fail if it is unable to do so. You can force the update if Amazon EKS is unable to drain the nodes as a result of a pod disruption budget issue.

      " + }, + "UpdatePodIdentityAssociation":{ + "name":"UpdatePodIdentityAssociation", + "http":{ + "method":"POST", + "requestUri":"/clusters/{name}/pod-identity-associations/{associationId}" + }, + "input":{"shape":"UpdatePodIdentityAssociationRequest"}, + "output":{"shape":"UpdatePodIdentityAssociationResponse"}, + "errors":[ + {"shape":"ServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InvalidParameterException"} + ], + "documentation":"

      Updates a EKS Pod Identity association. Only the IAM role can be changed; an association can't be moved between clusters, namespaces, or service accounts. If you need to edit the namespace or service account, you need to remove the association and then create a new association with your desired settings.

      " } }, "shapes":{ @@ -711,7 +793,10 @@ "AccessDeniedException":{ "type":"structure", "members":{ - "message":{"shape":"String"} + "message":{ + "shape":"String", + "documentation":"

      You do not have sufficient access to perform this action.

      " + } }, "documentation":"

      You don't have permissions to perform the requested operation. The IAM principal making the request must have at least one IAM permissions policy attached that grants the required permissions. For more information, see Access management in the IAM User Guide.

      ", "error":{"httpStatusCode":403}, @@ -982,7 +1067,10 @@ "BadRequestException":{ "type":"structure", "members":{ - "message":{"shape":"String"} + "message":{ + "shape":"String", + "documentation":"

      This exception is thrown if the request contains a semantic error. The precise meaning will depend on the API, and will be documented in the error message.

      " + } }, "documentation":"

      This exception is thrown if the request contains a semantic error. The precise meaning will depend on the API, and will be documented in the error message.

      ", "error":{"httpStatusCode":400}, @@ -1030,12 +1118,18 @@ "shape":"String", "documentation":"

      The Amazon EKS managed node group associated with the exception.

      " }, - "addonName":{"shape":"String"}, + "addonName":{ + "shape":"String", + "documentation":"

      The Amazon EKS add-on name associated with the exception.

      " + }, "subscriptionId":{ "shape":"String", "documentation":"

      The Amazon EKS subscription ID with the exception.

      " }, - "message":{"shape":"String"} + "message":{ + "shape":"String", + "documentation":"

      These errors are usually caused by a client action. Actions can include using an action or resource on behalf of an IAM principal that doesn't have permissions to use the action or resource or specifying an identifier that is not valid.

      " + } }, "documentation":"

      These errors are usually caused by a client action. Actions can include using an action or resource on behalf of an IAM principal that doesn't have permissions to use the action or resource or specifying an identifier that is not valid.

      ", "error":{"httpStatusCode":400}, @@ -1427,7 +1521,7 @@ }, "licenseQuantity":{ "shape":"Integer", - "documentation":"

      The number of licenses to purchase with the subscription. Valid values are between 1 and 1000. This value cannot be changed after creating the subscription.

      " + "documentation":"

      The number of licenses to purchase with the subscription. Valid values are between 1 and 100. This value can't be changed after creating the subscription.

      " }, "licenseType":{ "shape":"EksAnywhereSubscriptionLicenseType", @@ -1444,7 +1538,7 @@ }, "tags":{ "shape":"TagMap", - "documentation":"

      The metadata for a subscription to assist with categorization and organization. Each tag consists of a key and an optional value. Subscription tags do not propagate to any other resources associated with the subscription.

      " + "documentation":"

      The metadata for a subscription to assist with categorization and organization. Each tag consists of a key and an optional value. Subscription tags don't propagate to any other resources associated with the subscription.

      " } } }, @@ -1602,6 +1696,53 @@ } } }, + "CreatePodIdentityAssociationRequest":{ + "type":"structure", + "required":[ + "clusterName", + "namespace", + "serviceAccount", + "roleArn" + ], + "members":{ + "clusterName":{ + "shape":"String", + "documentation":"

      The name of the cluster to create the association in.

      ", + "location":"uri", + "locationName":"name" + }, + "namespace":{ + "shape":"String", + "documentation":"

      The name of the Kubernetes namespace inside the cluster to create the association in. The service account and the pods that use the service account must be in this namespace.

      " + }, + "serviceAccount":{ + "shape":"String", + "documentation":"

      The name of the Kubernetes service account inside the cluster to associate the IAM credentials with.

      " + }, + "roleArn":{ + "shape":"String", + "documentation":"

      The Amazon Resource Name (ARN) of the IAM role to associate with the service account. The EKS Pod Identity agent manages credentials to assume this role for applications in the containers in the pods that use this service account.

      " + }, + "clientRequestToken":{ + "shape":"String", + "documentation":"

      Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

      ", + "idempotencyToken":true + }, + "tags":{ + "shape":"TagMap", + "documentation":"

      The metadata that you apply to a resource to assist with categorization and organization. Each tag consists of a key and an optional value. You define both.

      The following basic restrictions apply to tags:

      • Maximum number of tags per resource – 50

      • For each resource, each tag key must be unique, and each tag key can have only one value.

      • Maximum key length – 128 Unicode characters in UTF-8

      • Maximum value length – 256 Unicode characters in UTF-8

      • If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @.

      • Tag keys and values are case-sensitive.

      • Do not use aws:, AWS:, or any upper or lowercase combination of such as a prefix for either keys or values as it is reserved for Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with this prefix do not count against your tags per resource limit.

      " + } + } + }, + "CreatePodIdentityAssociationResponse":{ + "type":"structure", + "members":{ + "association":{ + "shape":"PodIdentityAssociation", + "documentation":"

      The full description of your new association.

      The description includes an ID for the association. Use the ID of the association in further actions to manage the association.

      " + } + } + }, "DeleteAddonRequest":{ "type":"structure", "required":[ @@ -1737,6 +1878,36 @@ } } }, + "DeletePodIdentityAssociationRequest":{ + "type":"structure", + "required":[ + "clusterName", + "associationId" + ], + "members":{ + "clusterName":{ + "shape":"String", + "documentation":"

      The cluster name that

      ", + "location":"uri", + "locationName":"name" + }, + "associationId":{ + "shape":"String", + "documentation":"

      The ID of the association to be deleted.

      ", + "location":"uri", + "locationName":"associationId" + } + } + }, + "DeletePodIdentityAssociationResponse":{ + "type":"structure", + "members":{ + "association":{ + "shape":"PodIdentityAssociation", + "documentation":"

      The full description of the EKS Pod Identity association that was deleted.

      " + } + } + }, "DeregisterClusterRequest":{ "type":"structure", "required":["name"], @@ -1882,7 +2053,7 @@ }, "nextToken":{ "shape":"String", - "documentation":"

      The nextToken value returned from a previous paginated DescribeAddonVersionsResponse where maxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value.

      This token should be treated as an opaque identifier that is used only to retrieve the next items in a list and not for other programmatic purposes.

      " + "documentation":"

      The nextToken value to include in a future DescribeAddonVersions request. When the results of a DescribeAddonVersions request exceed maxResults, you can use this value to retrieve the next page of results. This value is null when there are no more results to return.

      This token should be treated as an opaque identifier that is used only to retrieve the next items in a list and not for other programmatic purposes.

      " } } }, @@ -2016,6 +2187,36 @@ } } }, + "DescribePodIdentityAssociationRequest":{ + "type":"structure", + "required":[ + "clusterName", + "associationId" + ], + "members":{ + "clusterName":{ + "shape":"String", + "documentation":"

      The name of the cluster that the association is in.

      ", + "location":"uri", + "locationName":"name" + }, + "associationId":{ + "shape":"String", + "documentation":"

      The ID of the association that you want the description of.

      ", + "location":"uri", + "locationName":"associationId" + } + } + }, + "DescribePodIdentityAssociationResponse":{ + "type":"structure", + "members":{ + "association":{ + "shape":"PodIdentityAssociation", + "documentation":"

      The full description of the EKS Pod Identity association.

      " + } + } + }, "DescribeUpdateRequest":{ "type":"structure", "required":[ @@ -2113,7 +2314,7 @@ }, "licenseQuantity":{ "shape":"Integer", - "documentation":"

      The number of licenses included in a subscription. Valid values are between 1 and 1000.

      " + "documentation":"

      The number of licenses included in a subscription. Valid values are between 1 and 100.

      " }, "licenseType":{ "shape":"EksAnywhereSubscriptionLicenseType", @@ -2133,7 +2334,7 @@ }, "licenseArns":{ "shape":"StringList", - "documentation":"

      License Manager License ARNs associated with the subscription.

      " + "documentation":"

      Amazon Web Services License Manager ARN associated with the subscription.

      " }, "tags":{ "shape":"TagMap", @@ -2180,7 +2381,7 @@ }, "unit":{ "shape":"EksAnywhereSubscriptionTermUnit", - "documentation":"

      The term unit of the subscription. Valid value is MONTHS.

      " + "documentation":"

      The term unit of the subscription. Valid value is MONTHS.

      " } }, "documentation":"

      An object representing the term duration and term unit type of your subscription. This determines the term length of your subscription. Valid values are MONTHS for term unit and 12 or 36 for term duration, indicating a 12 month or 36 month subscription.

      " @@ -2395,12 +2596,18 @@ "shape":"String", "documentation":"

      The Fargate profile associated with the exception.

      " }, - "addonName":{"shape":"String"}, + "addonName":{ + "shape":"String", + "documentation":"

      The specified parameter for the add-on name is invalid. Review the available parameters for the API request

      " + }, "subscriptionId":{ "shape":"String", "documentation":"

      The Amazon EKS subscription ID with the exception.

      " }, - "message":{"shape":"String"} + "message":{ + "shape":"String", + "documentation":"

      The specified parameter is invalid. Review the available parameters for the API request.

      " + } }, "documentation":"

      The specified parameter is invalid. Review the available parameters for the API request.

      ", "error":{"httpStatusCode":400}, @@ -2417,12 +2624,18 @@ "shape":"String", "documentation":"

      The Amazon EKS managed node group associated with the exception.

      " }, - "addonName":{"shape":"String"}, + "addonName":{ + "shape":"String", + "documentation":"

      The request is invalid given the state of the add-on name. Check the state of the cluster and the associated operations.

      " + }, "subscriptionId":{ "shape":"String", "documentation":"

      The Amazon EKS subscription ID with the exception.

      " }, - "message":{"shape":"String"} + "message":{ + "shape":"String", + "documentation":"

      The Amazon EKS add-on name associated with the exception.

      " + } }, "documentation":"

      The request is invalid given the state of the cluster. Check the state of the cluster and the associated operations.

      ", "error":{"httpStatusCode":400}, @@ -2546,7 +2759,7 @@ }, "nextToken":{ "shape":"String", - "documentation":"

      The nextToken value returned from a previous paginated ListAddonsResponse where maxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value.

      This token should be treated as an opaque identifier that is used only to retrieve the next items in a list and not for other programmatic purposes.

      " + "documentation":"

      The nextToken value to include in a future ListAddons request. When the results of a ListAddons request exceed maxResults, you can use this value to retrieve the next page of results. This value is null when there are no more results to return.

      This token should be treated as an opaque identifier that is used only to retrieve the next items in a list and not for other programmatic purposes.

      " } } }, @@ -2603,7 +2816,7 @@ }, "nextToken":{ "shape":"String", - "documentation":"

      The nextToken value to include in a future ListEksAnywhereSubscriptions request. When the results of a ListEksAnywhereSubscriptions request exceed maxResults, you can use this value to retrieve the next page of results. This value is null when there are no more results to return.

      ", + "documentation":"

      The nextToken value returned from a previous paginated ListEksAnywhereSubscriptions request where maxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value.

      ", "location":"querystring", "locationName":"nextToken" }, @@ -2710,7 +2923,7 @@ }, "nextToken":{ "shape":"String", - "documentation":"

      The nextToken value returned from a previous paginated ListIdentityProviderConfigsResponse where maxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value.

      " + "documentation":"

      The nextToken value to include in a future ListIdentityProviderConfigsResponse request. When the results of a ListIdentityProviderConfigsResponse request exceed maxResults, you can use this value to retrieve the next page of results. This value is null when there are no more results to return.

      " } } }, @@ -2757,6 +2970,61 @@ } } }, + "ListPodIdentityAssociationsMaxResults":{ + "type":"integer", + "box":true, + "max":100, + "min":1 + }, + "ListPodIdentityAssociationsRequest":{ + "type":"structure", + "required":["clusterName"], + "members":{ + "clusterName":{ + "shape":"String", + "documentation":"

      The name of the cluster that the associations are in.

      ", + "location":"uri", + "locationName":"name" + }, + "namespace":{ + "shape":"String", + "documentation":"

      The name of the Kubernetes namespace inside the cluster that the associations are in.

      ", + "location":"querystring", + "locationName":"namespace" + }, + "serviceAccount":{ + "shape":"String", + "documentation":"

      The name of the Kubernetes service account that the associations use.

      ", + "location":"querystring", + "locationName":"serviceAccount" + }, + "maxResults":{ + "shape":"ListPodIdentityAssociationsMaxResults", + "documentation":"

      The maximum number of EKS Pod Identity association results returned by ListPodIdentityAssociations in paginated output. When you use this parameter, ListPodIdentityAssociations returns only maxResults results in a single page along with a nextToken response element. You can see the remaining results of the initial request by sending another ListPodIdentityAssociations request with the returned nextToken value. This value can be between 1 and 100. If you don't use this parameter, ListPodIdentityAssociations returns up to 100 results and a nextToken value if applicable.

      ", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"String", + "documentation":"

      The nextToken value returned from a previous paginated ListUpdates request where maxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value.

      This token should be treated as an opaque identifier that is used only to retrieve the next items in a list and not for other programmatic purposes.

      ", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListPodIdentityAssociationsResponse":{ + "type":"structure", + "members":{ + "associations":{ + "shape":"PodIdentityAssociationSummaries", + "documentation":"

      The list of summarized descriptions of the associations that are in the cluster and match any filters that you provided.

      Each summary is simplified by removing these fields compared to the full PodIdentityAssociation :

      • The IAM role: roleArn

      • The timestamp that the association was created at: createdAt

      • The most recent timestamp that the association was modified at:. modifiedAt

      • The tags on the association: tags

      " + }, + "nextToken":{ + "shape":"String", + "documentation":"

      The nextToken value to include in a future ListPodIdentityAssociations request. When the results of a ListPodIdentityAssociations request exceed maxResults, you can use this value to retrieve the next page of results. This value is null when there are no more results to return.

      This token should be treated as an opaque identifier that is used only to retrieve the next items in a list and not for other programmatic purposes.

      " + } + } + }, "ListTagsForResourceRequest":{ "type":"structure", "required":["resourceArn"], @@ -3101,7 +3369,10 @@ "NotFoundException":{ "type":"structure", "members":{ - "message":{"shape":"String"} + "message":{ + "shape":"String", + "documentation":"

      A service resource associated with the request could not be found. Clients should not retry such requests.

      " + } }, "documentation":"

      A service resource associated with the request could not be found. Clients should not retry such requests.

      ", "error":{"httpStatusCode":404}, @@ -3264,6 +3535,78 @@ "max":100, "min":1 }, + "PodIdentityAssociation":{ + "type":"structure", + "members":{ + "clusterName":{ + "shape":"String", + "documentation":"

      The name of the cluster that the association is in.

      " + }, + "namespace":{ + "shape":"String", + "documentation":"

      The name of the Kubernetes namespace inside the cluster to create the association in. The service account and the pods that use the service account must be in this namespace.

      " + }, + "serviceAccount":{ + "shape":"String", + "documentation":"

      The name of the Kubernetes service account inside the cluster to associate the IAM credentials with.

      " + }, + "roleArn":{ + "shape":"String", + "documentation":"

      The Amazon Resource Name (ARN) of the IAM role to associate with the service account. The EKS Pod Identity agent manages credentials to assume this role for applications in the containers in the pods that use this service account.

      " + }, + "associationArn":{ + "shape":"String", + "documentation":"

      The Amazon Resource Name (ARN) of the association.

      " + }, + "associationId":{ + "shape":"String", + "documentation":"

      The ID of the association.

      " + }, + "tags":{ + "shape":"TagMap", + "documentation":"

      The metadata that you apply to a resource to assist with categorization and organization. Each tag consists of a key and an optional value. You define both.

      The following basic restrictions apply to tags:

      • Maximum number of tags per resource – 50

      • For each resource, each tag key must be unique, and each tag key can have only one value.

      • Maximum key length – 128 Unicode characters in UTF-8

      • Maximum value length – 256 Unicode characters in UTF-8

      • If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @.

      • Tag keys and values are case-sensitive.

      • Do not use aws:, AWS:, or any upper or lowercase combination of such as a prefix for either keys or values as it is reserved for Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with this prefix do not count against your tags per resource limit.

      " + }, + "createdAt":{ + "shape":"Timestamp", + "documentation":"

      The timestamp that the association was created at.

      " + }, + "modifiedAt":{ + "shape":"Timestamp", + "documentation":"

      The most recent timestamp that the association was modified at

      " + } + }, + "documentation":"

      Amazon EKS Pod Identity associations provide the ability to manage credentials for your applications, similar to the way that 7EC2l instance profiles provide credentials to Amazon EC2 instances.

      " + }, + "PodIdentityAssociationSummaries":{ + "type":"list", + "member":{"shape":"PodIdentityAssociationSummary"} + }, + "PodIdentityAssociationSummary":{ + "type":"structure", + "members":{ + "clusterName":{ + "shape":"String", + "documentation":"

      The name of the cluster that the association is in.

      " + }, + "namespace":{ + "shape":"String", + "documentation":"

      The name of the Kubernetes namespace inside the cluster to create the association in. The service account and the pods that use the service account must be in this namespace.

      " + }, + "serviceAccount":{ + "shape":"String", + "documentation":"

      The name of the Kubernetes service account inside the cluster to associate the IAM credentials with.

      " + }, + "associationArn":{ + "shape":"String", + "documentation":"

      The Amazon Resource Name (ARN) of the association.

      " + }, + "associationId":{ + "shape":"String", + "documentation":"

      The ID of the association.

      " + } + }, + "documentation":"

      The summarized description of the association.

      Each summary is simplified by removing these fields compared to the full PodIdentityAssociation :

      • The IAM role: roleArn

      • The timestamp that the association was created at: createdAt

      • The most recent timestamp that the association was modified at:. modifiedAt

      • The tags on the association: tags

      " + }, "Provider":{ "type":"structure", "members":{ @@ -3339,8 +3682,14 @@ "shape":"String", "documentation":"

      The Amazon EKS managed node group associated with the exception.

      " }, - "addonName":{"shape":"String"}, - "message":{"shape":"String"} + "addonName":{ + "shape":"String", + "documentation":"

      The specified add-on name is in use.

      " + }, + "message":{ + "shape":"String", + "documentation":"

      The Amazon EKS message associated with the exception.

      " + } }, "documentation":"

      The specified resource is in use.

      ", "error":{"httpStatusCode":409}, @@ -3361,7 +3710,10 @@ "shape":"String", "documentation":"

      The Amazon EKS subscription ID with the exception.

      " }, - "message":{"shape":"String"} + "message":{ + "shape":"String", + "documentation":"

      The Amazon EKS message associated with the exception.

      " + } }, "documentation":"

      You have encountered a service limit on the specified resource.

      ", "error":{"httpStatusCode":400}, @@ -3382,12 +3734,18 @@ "shape":"String", "documentation":"

      The Fargate profile associated with the exception.

      " }, - "addonName":{"shape":"String"}, + "addonName":{ + "shape":"String", + "documentation":"

      The Amazon EKS add-on name associated with the exception.

      " + }, "subscriptionId":{ "shape":"String", "documentation":"

      The Amazon EKS subscription ID with the exception.

      " }, - "message":{"shape":"String"} + "message":{ + "shape":"String", + "documentation":"

      The Amazon EKS message associated with the exception.

      " + } }, "documentation":"

      The specified resource could not be found. You can view your available clusters with ListClusters. You can view your available managed node groups with ListNodegroups. Amazon EKS clusters and node groups are Region-specific.

      ", "error":{"httpStatusCode":404}, @@ -3396,7 +3754,10 @@ "ResourcePropagationDelayException":{ "type":"structure", "members":{ - "message":{"shape":"String"} + "message":{ + "shape":"String", + "documentation":"

      Required resources (such as service-linked roles) were created and are still propagating. Retry later.

      " + } }, "documentation":"

      Required resources (such as service-linked roles) were created and are still propagating. Retry later.

      ", "error":{"httpStatusCode":428}, @@ -3418,12 +3779,18 @@ "shape":"String", "documentation":"

      The Amazon EKS managed node group associated with the exception.

      " }, - "addonName":{"shape":"String"}, + "addonName":{ + "shape":"String", + "documentation":"

      The Amazon EKS add-on name associated with the exception.

      " + }, "subscriptionId":{ "shape":"String", "documentation":"

      The Amazon EKS subscription ID with the exception.

      " }, - "message":{"shape":"String"} + "message":{ + "shape":"String", + "documentation":"

      These errors are usually caused by a server-side issue.

      " + } }, "documentation":"

      These errors are usually caused by a server-side issue.

      ", "error":{"httpStatusCode":500}, @@ -3433,7 +3800,10 @@ "ServiceUnavailableException":{ "type":"structure", "members":{ - "message":{"shape":"String"} + "message":{ + "shape":"String", + "documentation":"

      The request has failed due to a temporary failure of the server.

      " + } }, "documentation":"

      The service is unavailable. Back off and retry the operation.

      ", "error":{"httpStatusCode":503}, @@ -3447,6 +3817,7 @@ }, "TagKey":{ "type":"string", + "documentation":"

      One part of a key-value pair that make up a tag. A key is a general label that acts like a category for more specific tag values.

      ", "max":128, "min":1 }, @@ -3460,6 +3831,7 @@ "type":"map", "key":{"shape":"TagKey"}, "value":{"shape":"TagValue"}, + "documentation":"

      The metadata that you apply to a resource to help you categorize and organize them. Each tag consists of a key and an optional value. You define them.

      The following basic restrictions apply to tags:

      • Maximum number of tags per resource – 50

      • For each resource, each tag key must be unique, and each tag key can have only one value.

      • Maximum key length – 128 Unicode characters in UTF-8

      • Maximum value length – 256 Unicode characters in UTF-8

      • If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @.

      • Tag keys and values are case-sensitive.

      • Do not use aws:, AWS:, or any upper or lowercase combination of such as a prefix for either keys or values as it is reserved for Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with this prefix do not count against your tags per resource limit.

      ", "max":50, "min":1 }, @@ -3489,6 +3861,7 @@ }, "TagValue":{ "type":"string", + "documentation":"

      The optional part of a key-value pair that make up a tag. A value acts as a descriptor within a tag category (key).

      ", "max":256 }, "Taint":{ @@ -3521,7 +3894,10 @@ "UnsupportedAvailabilityZoneException":{ "type":"structure", "members":{ - "message":{"shape":"String"}, + "message":{ + "shape":"String", + "documentation":"

      At least one of your specified cluster subnets is in an Availability Zone that does not support Amazon EKS. The exception output specifies the supported Availability Zones for your account, from which you can choose subnets for your cluster.

      " + }, "clusterName":{ "shape":"String", "documentation":"

      The Amazon EKS cluster associated with the exception.

      " @@ -3713,7 +4089,7 @@ "members":{ "id":{ "shape":"String", - "documentation":"

      ", + "documentation":"

      The ID of the subscription.

      ", "location":"uri", "locationName":"id" }, @@ -3896,6 +4272,45 @@ "type":"list", "member":{"shape":"UpdateParam"} }, + "UpdatePodIdentityAssociationRequest":{ + "type":"structure", + "required":[ + "clusterName", + "associationId" + ], + "members":{ + "clusterName":{ + "shape":"String", + "documentation":"

      The name of the cluster that you want to update the association in.

      ", + "location":"uri", + "locationName":"name" + }, + "associationId":{ + "shape":"String", + "documentation":"

      The ID of the association to be updated.

      ", + "location":"uri", + "locationName":"associationId" + }, + "roleArn":{ + "shape":"String", + "documentation":"

      The new IAM role to change the

      " + }, + "clientRequestToken":{ + "shape":"String", + "documentation":"

      Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

      ", + "idempotencyToken":true + } + } + }, + "UpdatePodIdentityAssociationResponse":{ + "type":"structure", + "members":{ + "association":{ + "shape":"PodIdentityAssociation", + "documentation":"

      The full description of the EKS Pod Identity association that was updated.

      " + } + } + }, "UpdateStatus":{ "type":"string", "enum":[ diff --git a/tools/code-generation/api-descriptions/eks-auth-2023-11-26.normal.json b/tools/code-generation/api-descriptions/eks-auth-2023-11-26.normal.json new file mode 100644 index 00000000000..572ee10049b --- /dev/null +++ b/tools/code-generation/api-descriptions/eks-auth-2023-11-26.normal.json @@ -0,0 +1,293 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2023-11-26", + "endpointPrefix":"eks-auth", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceFullName":"Amazon EKS Auth", + "serviceId":"EKS Auth", + "signatureVersion":"v4", + "signingName":"eks-auth", + "uid":"eks-auth-2023-11-26" + }, + "operations":{ + "AssumeRoleForPodIdentity":{ + "name":"AssumeRoleForPodIdentity", + "http":{ + "method":"POST", + "requestUri":"/clusters/{clusterName}/assume-role-for-pod-identity", + "responseCode":200 + }, + "input":{"shape":"AssumeRoleForPodIdentityRequest"}, + "output":{"shape":"AssumeRoleForPodIdentityResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"InvalidRequestException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"InvalidTokenException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ExpiredTokenException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

      The Amazon EKS Auth API and the AssumeRoleForPodIdentity action are only used by the EKS Pod Identity Agent.

      We recommend that applications use the Amazon Web Services SDKs to connect to Amazon Web Services services; if credentials from an EKS Pod Identity association are available in the pod, the latest versions of the SDKs use them automatically.

      " + } + }, + "shapes":{ + "AccessDeniedException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

      You don't have permissions to perform the requested operation. The IAM principal making the request must have at least one IAM permissions policy attached that grants the required permissions. For more information, see Access management in the IAM User Guide.

      ", + "error":{ + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "AssumeRoleForPodIdentityRequest":{ + "type":"structure", + "required":[ + "clusterName", + "token" + ], + "members":{ + "clusterName":{ + "shape":"ClusterName", + "documentation":"

      The name of the cluster for the request.

      ", + "location":"uri", + "locationName":"clusterName" + }, + "token":{ + "shape":"JwtToken", + "documentation":"

      The token of the Kubernetes service account for the pod.

      " + } + } + }, + "AssumeRoleForPodIdentityResponse":{ + "type":"structure", + "required":[ + "subject", + "audience", + "podIdentityAssociation", + "assumedRoleUser", + "credentials" + ], + "members":{ + "subject":{ + "shape":"Subject", + "documentation":"

      The name of the Kubernetes service account inside the cluster to associate the IAM credentials with.

      " + }, + "audience":{ + "shape":"String", + "documentation":"

      The identity that is allowed to use the credentials. This value is always pods.eks.amazonaws.com.

      " + }, + "podIdentityAssociation":{ + "shape":"PodIdentityAssociation", + "documentation":"

      The Amazon Resource Name (ARN) and ID of the EKS Pod Identity association.

      " + }, + "assumedRoleUser":{ + "shape":"AssumedRoleUser", + "documentation":"

      An object with the permanent IAM role identity and the temporary session name.

      The ARN of the IAM role that the temporary credentials authenticate to.

      The session name of the temporary session requested to STS. The value is a unique identifier that contains the role ID, a colon (:), and the role session name of the role that is being assumed. The role ID is generated by IAM when the role is created. The role session name part of the value follows this format: eks-clustername-podname-random UUID

      " + }, + "credentials":{ + "shape":"Credentials", + "documentation":"

      The Amazon Web Services Signature Version 4 type of temporary credentials.

      " + } + } + }, + "AssumedRoleUser":{ + "type":"structure", + "required":[ + "arn", + "assumeRoleId" + ], + "members":{ + "arn":{ + "shape":"String", + "documentation":"

      The ARN of the IAM role that the temporary credentials authenticate to.

      " + }, + "assumeRoleId":{ + "shape":"String", + "documentation":"

      The session name of the temporary session requested to STS. The value is a unique identifier that contains the role ID, a colon (:), and the role session name of the role that is being assumed. The role ID is generated by IAM when the role is created. The role session name part of the value follows this format: eks-clustername-podname-random UUID

      " + } + }, + "documentation":"

      An object with the permanent IAM role identity and the temporary session name.

      " + }, + "ClusterName":{ + "type":"string", + "max":100, + "min":1, + "pattern":"[0-9A-Za-z][A-Za-z0-9\\-_]*" + }, + "Credentials":{ + "type":"structure", + "required":[ + "sessionToken", + "secretAccessKey", + "accessKeyId", + "expiration" + ], + "members":{ + "sessionToken":{ + "shape":"String", + "documentation":"

      The token that applications inside the pods must pass to any service API to use the temporary credentials.

      " + }, + "secretAccessKey":{ + "shape":"String", + "documentation":"

      The secret access key that applications inside the pods use to sign requests.

      " + }, + "accessKeyId":{ + "shape":"String", + "documentation":"

      The access key ID that identifies the temporary security credentials.

      " + }, + "expiration":{ + "shape":"Timestamp", + "documentation":"

      The Unix epoch timestamp in seconds when the current credentials expire.

      " + } + }, + "documentation":"

      The Amazon Web Services Signature Version 4 type of temporary credentials.

      ", + "sensitive":true + }, + "ExpiredTokenException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

      The specified Kubernetes service account token is expired.

      ", + "error":{ + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "InternalServerException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

      These errors are usually caused by a server-side issue.

      ", + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true + }, + "InvalidParameterException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

      The specified parameter is invalid. Review the available parameters for the API request.

      ", + "error":{ + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "InvalidRequestException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

      This exception is thrown if the request contains a semantic error. The precise meaning will depend on the API, and will be documented in the error message.

      ", + "error":{ + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "InvalidTokenException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

      The specified Kubernetes service account token is invalid.

      ", + "error":{ + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "JwtToken":{ + "type":"string", + "min":1, + "pattern":"[A-Za-z0-9-_=]+\\.[A-Za-z0-9-_=]+\\.[A-Za-z0-9-_=]+", + "sensitive":true + }, + "PodIdentityAssociation":{ + "type":"structure", + "required":[ + "associationArn", + "associationId" + ], + "members":{ + "associationArn":{ + "shape":"String", + "documentation":"

      The Amazon Resource Name (ARN) of the EKS Pod Identity association.

      " + }, + "associationId":{ + "shape":"String", + "documentation":"

      The ID of the association.

      " + } + }, + "documentation":"

      Amazon EKS Pod Identity associations provide the ability to manage credentials for your applications, similar to the way that Amazon EC2 instance profiles provide credentials to Amazon EC2 instances.

      " + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

      The specified resource could not be found.

      ", + "error":{ + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "ServiceUnavailableException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

      The service is unavailable. Back off and retry the operation.

      ", + "error":{"httpStatusCode":503}, + "exception":true, + "fault":true + }, + "String":{"type":"string"}, + "Subject":{ + "type":"structure", + "required":[ + "namespace", + "serviceAccount" + ], + "members":{ + "namespace":{ + "shape":"String", + "documentation":"

      The name of the Kubernetes namespace inside the cluster to create the association in. The service account and the pods that use the service account must be in this namespace.

      " + }, + "serviceAccount":{ + "shape":"String", + "documentation":"

      The name of the Kubernetes service account inside the cluster to associate the IAM credentials with.

      " + } + }, + "documentation":"

      An object containing the name of the Kubernetes service account inside the cluster to associate the IAM credentials with.

      " + }, + "ThrottlingException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

      The request was denied because your request rate is too high. Reduce the frequency of requests.

      ", + "error":{ + "httpStatusCode":429, + "senderFault":true + }, + "exception":true + }, + "Timestamp":{"type":"timestamp"} + }, + "documentation":"

      The Amazon EKS Auth API and the AssumeRoleForPodIdentity action are only used by the EKS Pod Identity Agent.

      " +} diff --git a/tools/code-generation/api-descriptions/elasticfilesystem-2015-02-01.normal.json b/tools/code-generation/api-descriptions/elasticfilesystem-2015-02-01.normal.json index 538db2a104c..2bc96487f04 100644 --- a/tools/code-generation/api-descriptions/elasticfilesystem-2015-02-01.normal.json +++ b/tools/code-generation/api-descriptions/elasticfilesystem-2015-02-01.normal.json @@ -49,7 +49,7 @@ {"shape":"ThroughputLimitExceeded"}, {"shape":"UnsupportedAvailabilityZone"} ], - "documentation":"

      Creates a new, empty file system. The operation requires a creation token in the request that Amazon EFS uses to ensure idempotent creation (calling the operation with same creation token has no effect). If a file system does not currently exist that is owned by the caller's Amazon Web Services account with the specified creation token, this operation does the following:

      • Creates a new, empty file system. The file system will have an Amazon EFS assigned ID, and an initial lifecycle state creating.

      • Returns with the description of the created file system.

      Otherwise, this operation returns a FileSystemAlreadyExists error with the ID of the existing file system.

      For basic use cases, you can use a randomly generated UUID for the creation token.

      The idempotent operation allows you to retry a CreateFileSystem call without risk of creating an extra file system. This can happen when an initial call fails in a way that leaves it uncertain whether or not a file system was actually created. An example might be that a transport level timeout occurred or your connection was reset. As long as you use the same creation token, if the initial call had succeeded in creating a file system, the client can learn of its existence from the FileSystemAlreadyExists error.

      For more information, see Creating a file system in the Amazon EFS User Guide.

      The CreateFileSystem call returns while the file system's lifecycle state is still creating. You can check the file system creation status by calling the DescribeFileSystems operation, which among other things returns the file system state.

      This operation accepts an optional PerformanceMode parameter that you choose for your file system. We recommend generalPurpose performance mode for most file systems. File systems using the maxIO performance mode can scale to higher levels of aggregate throughput and operations per second with a tradeoff of slightly higher latencies for most file operations. The performance mode can't be changed after the file system has been created. For more information, see Amazon EFS performance modes.

      You can set the throughput mode for the file system using the ThroughputMode parameter.

      After the file system is fully created, Amazon EFS sets its lifecycle state to available, at which point you can create one or more mount targets for the file system in your VPC. For more information, see CreateMountTarget. You mount your Amazon EFS file system on an EC2 instances in your VPC by using the mount target. For more information, see Amazon EFS: How it Works.

      This operation requires permissions for the elasticfilesystem:CreateFileSystem action.

      File systems can be tagged on creation. If tags are specified in the creation action, IAM performs additional authorization on the elasticfilesystem:TagResource action to verify if users have permissions to create tags. Therefore, you must grant explicit permissions to use the elasticfilesystem:TagResource action. For more information, see Granting permissions to tag resources during creation.

      " + "documentation":"

      Creates a new, empty file system. The operation requires a creation token in the request that Amazon EFS uses to ensure idempotent creation (calling the operation with same creation token has no effect). If a file system does not currently exist that is owned by the caller's Amazon Web Services account with the specified creation token, this operation does the following:

      • Creates a new, empty file system. The file system will have an Amazon EFS assigned ID, and an initial lifecycle state creating.

      • Returns with the description of the created file system.

      Otherwise, this operation returns a FileSystemAlreadyExists error with the ID of the existing file system.

      For basic use cases, you can use a randomly generated UUID for the creation token.

      The idempotent operation allows you to retry a CreateFileSystem call without risk of creating an extra file system. This can happen when an initial call fails in a way that leaves it uncertain whether or not a file system was actually created. An example might be that a transport level timeout occurred or your connection was reset. As long as you use the same creation token, if the initial call had succeeded in creating a file system, the client can learn of its existence from the FileSystemAlreadyExists error.

      For more information, see Creating a file system in the Amazon EFS User Guide.

      The CreateFileSystem call returns while the file system's lifecycle state is still creating. You can check the file system creation status by calling the DescribeFileSystems operation, which among other things returns the file system state.

      This operation accepts an optional PerformanceMode parameter that you choose for your file system. We recommend generalPurpose performance mode for all file systems. File systems using the maxIO mode is a previous generation performance type that is designed for highly parallelized workloads that can tolerate higher latencies than the General Purpose mode. Max I/O mode is not supported for One Zone file systems or file systems that use Elastic throughput.

      Due to the higher per-operation latencies with Max I/O, we recommend using General Purpose performance mode for all file systems.

      The performance mode can't be changed after the file system has been created. For more information, see Amazon EFS performance modes.

      You can set the throughput mode for the file system using the ThroughputMode parameter.

      After the file system is fully created, Amazon EFS sets its lifecycle state to available, at which point you can create one or more mount targets for the file system in your VPC. For more information, see CreateMountTarget. You mount your Amazon EFS file system on an EC2 instances in your VPC by using the mount target. For more information, see Amazon EFS: How it Works.

      This operation requires permissions for the elasticfilesystem:CreateFileSystem action.

      File systems can be tagged on creation. If tags are specified in the creation action, IAM performs additional authorization on the elasticfilesystem:TagResource action to verify if users have permissions to create tags. Therefore, you must grant explicit permissions to use the elasticfilesystem:TagResource action. For more information, see Granting permissions to tag resources during creation.

      " }, "CreateMountTarget":{ "name":"CreateMountTarget", @@ -75,7 +75,7 @@ {"shape":"UnsupportedAvailabilityZone"}, {"shape":"AvailabilityZonesMismatch"} ], - "documentation":"

      Creates a mount target for a file system. You can then mount the file system on EC2 instances by using the mount target.

      You can create one mount target in each Availability Zone in your VPC. All EC2 instances in a VPC within a given Availability Zone share a single mount target for a given file system. If you have multiple subnets in an Availability Zone, you create a mount target in one of the subnets. EC2 instances do not need to be in the same subnet as the mount target in order to access their file system.

      You can create only one mount target for an EFS file system using One Zone storage classes. You must create that mount target in the same Availability Zone in which the file system is located. Use the AvailabilityZoneName and AvailabiltyZoneId properties in the DescribeFileSystems response object to get this information. Use the subnetId associated with the file system's Availability Zone when creating the mount target.

      For more information, see Amazon EFS: How it Works.

      To create a mount target for a file system, the file system's lifecycle state must be available. For more information, see DescribeFileSystems.

      In the request, provide the following:

      • The file system ID for which you are creating the mount target.

      • A subnet ID, which determines the following:

        • The VPC in which Amazon EFS creates the mount target

        • The Availability Zone in which Amazon EFS creates the mount target

        • The IP address range from which Amazon EFS selects the IP address of the mount target (if you don't specify an IP address in the request)

      After creating the mount target, Amazon EFS returns a response that includes, a MountTargetId and an IpAddress. You use this IP address when mounting the file system in an EC2 instance. You can also use the mount target's DNS name when mounting the file system. The EC2 instance on which you mount the file system by using the mount target can resolve the mount target's DNS name to its IP address. For more information, see How it Works: Implementation Overview.

      Note that you can create mount targets for a file system in only one VPC, and there can be only one mount target per Availability Zone. That is, if the file system already has one or more mount targets created for it, the subnet specified in the request to add another mount target must meet the following requirements:

      • Must belong to the same VPC as the subnets of the existing mount targets

      • Must not be in the same Availability Zone as any of the subnets of the existing mount targets

      If the request satisfies the requirements, Amazon EFS does the following:

      • Creates a new mount target in the specified subnet.

      • Also creates a new network interface in the subnet as follows:

        • If the request provides an IpAddress, Amazon EFS assigns that IP address to the network interface. Otherwise, Amazon EFS assigns a free address in the subnet (in the same way that the Amazon EC2 CreateNetworkInterface call does when a request does not specify a primary private IP address).

        • If the request provides SecurityGroups, this network interface is associated with those security groups. Otherwise, it belongs to the default security group for the subnet's VPC.

        • Assigns the description Mount target fsmt-id for file system fs-id where fsmt-id is the mount target ID, and fs-id is the FileSystemId.

        • Sets the requesterManaged property of the network interface to true, and the requesterId value to EFS.

        Each Amazon EFS mount target has one corresponding requester-managed EC2 network interface. After the network interface is created, Amazon EFS sets the NetworkInterfaceId field in the mount target's description to the network interface ID, and the IpAddress field to its address. If network interface creation fails, the entire CreateMountTarget operation fails.

      The CreateMountTarget call returns only after creating the network interface, but while the mount target state is still creating, you can check the mount target creation status by calling the DescribeMountTargets operation, which among other things returns the mount target state.

      We recommend that you create a mount target in each of the Availability Zones. There are cost considerations for using a file system in an Availability Zone through a mount target created in another Availability Zone. For more information, see Amazon EFS. In addition, by always using a mount target local to the instance's Availability Zone, you eliminate a partial failure scenario. If the Availability Zone in which your mount target is created goes down, then you can't access your file system through that mount target.

      This operation requires permissions for the following action on the file system:

      • elasticfilesystem:CreateMountTarget

      This operation also requires permissions for the following Amazon EC2 actions:

      • ec2:DescribeSubnets

      • ec2:DescribeNetworkInterfaces

      • ec2:CreateNetworkInterface

      " + "documentation":"

      Creates a mount target for a file system. You can then mount the file system on EC2 instances by using the mount target.

      You can create one mount target in each Availability Zone in your VPC. All EC2 instances in a VPC within a given Availability Zone share a single mount target for a given file system. If you have multiple subnets in an Availability Zone, you create a mount target in one of the subnets. EC2 instances do not need to be in the same subnet as the mount target in order to access their file system.

      You can create only one mount target for a One Zone file system. You must create that mount target in the same Availability Zone in which the file system is located. Use the AvailabilityZoneName and AvailabiltyZoneId properties in the DescribeFileSystems response object to get this information. Use the subnetId associated with the file system's Availability Zone when creating the mount target.

      For more information, see Amazon EFS: How it Works.

      To create a mount target for a file system, the file system's lifecycle state must be available. For more information, see DescribeFileSystems.

      In the request, provide the following:

      • The file system ID for which you are creating the mount target.

      • A subnet ID, which determines the following:

        • The VPC in which Amazon EFS creates the mount target

        • The Availability Zone in which Amazon EFS creates the mount target

        • The IP address range from which Amazon EFS selects the IP address of the mount target (if you don't specify an IP address in the request)

      After creating the mount target, Amazon EFS returns a response that includes, a MountTargetId and an IpAddress. You use this IP address when mounting the file system in an EC2 instance. You can also use the mount target's DNS name when mounting the file system. The EC2 instance on which you mount the file system by using the mount target can resolve the mount target's DNS name to its IP address. For more information, see How it Works: Implementation Overview.

      Note that you can create mount targets for a file system in only one VPC, and there can be only one mount target per Availability Zone. That is, if the file system already has one or more mount targets created for it, the subnet specified in the request to add another mount target must meet the following requirements:

      • Must belong to the same VPC as the subnets of the existing mount targets

      • Must not be in the same Availability Zone as any of the subnets of the existing mount targets

      If the request satisfies the requirements, Amazon EFS does the following:

      • Creates a new mount target in the specified subnet.

      • Also creates a new network interface in the subnet as follows:

        • If the request provides an IpAddress, Amazon EFS assigns that IP address to the network interface. Otherwise, Amazon EFS assigns a free address in the subnet (in the same way that the Amazon EC2 CreateNetworkInterface call does when a request does not specify a primary private IP address).

        • If the request provides SecurityGroups, this network interface is associated with those security groups. Otherwise, it belongs to the default security group for the subnet's VPC.

        • Assigns the description Mount target fsmt-id for file system fs-id where fsmt-id is the mount target ID, and fs-id is the FileSystemId.

        • Sets the requesterManaged property of the network interface to true, and the requesterId value to EFS.

        Each Amazon EFS mount target has one corresponding requester-managed EC2 network interface. After the network interface is created, Amazon EFS sets the NetworkInterfaceId field in the mount target's description to the network interface ID, and the IpAddress field to its address. If network interface creation fails, the entire CreateMountTarget operation fails.

      The CreateMountTarget call returns only after creating the network interface, but while the mount target state is still creating, you can check the mount target creation status by calling the DescribeMountTargets operation, which among other things returns the mount target state.

      We recommend that you create a mount target in each of the Availability Zones. There are cost considerations for using a file system in an Availability Zone through a mount target created in another Availability Zone. For more information, see Amazon EFS. In addition, by always using a mount target local to the instance's Availability Zone, you eliminate a partial failure scenario. If the Availability Zone in which your mount target is created goes down, then you can't access your file system through that mount target.

      This operation requires permissions for the following action on the file system:

      • elasticfilesystem:CreateMountTarget

      This operation also requires permissions for the following Amazon EC2 actions:

      • ec2:DescribeSubnets

      • ec2:DescribeNetworkInterfaces

      • ec2:CreateNetworkInterface

      " }, "CreateReplicationConfiguration":{ "name":"CreateReplicationConfiguration", @@ -98,7 +98,7 @@ {"shape":"ThroughputLimitExceeded"}, {"shape":"InternalServerError"} ], - "documentation":"

      Creates a replication configuration that replicates an existing EFS file system to a new, read-only file system. For more information, see Amazon EFS replication in the Amazon EFS User Guide. The replication configuration specifies the following:

      • Source file system - An existing EFS file system that you want replicated. The source file system cannot be a destination file system in an existing replication configuration.

      • Destination file system configuration - The configuration of the destination file system to which the source file system will be replicated. There can only be one destination file system in a replication configuration. The destination file system configuration consists of the following properties:

        • Amazon Web Services Region - The Amazon Web Services Region in which the destination file system is created. Amazon EFS replication is available in all Amazon Web Services Regions in which EFS is available. To use EFS replication in a Region that is disabled by default, you must first opt in to the Region. For more information, see Managing Amazon Web Services Regions in the Amazon Web Services General Reference Reference Guide

        • Availability Zone - If you want the destination file system to use EFS One Zone availability and durability, you must specify the Availability Zone to create the file system in. For more information about EFS storage classes, see Amazon EFS storage classes in the Amazon EFS User Guide.

        • Encryption - All destination file systems are created with encryption at rest enabled. You can specify the Key Management Service (KMS) key that is used to encrypt the destination file system. If you don't specify a KMS key, your service-managed KMS key for Amazon EFS is used.

          After the file system is created, you cannot change the KMS key.

      The following properties are set by default:

      • Performance mode - The destination file system's performance mode matches that of the source file system, unless the destination file system uses EFS One Zone storage. In that case, the General Purpose performance mode is used. The performance mode cannot be changed.

      • Throughput mode - The destination file system's throughput mode matches that of the source file system. After the file system is created, you can modify the throughput mode.

      The following properties are turned off by default:

      • Lifecycle management - EFS lifecycle management and EFS Intelligent-Tiering are not enabled on the destination file system. After the destination file system is created, you can enable EFS lifecycle management and EFS Intelligent-Tiering.

      • Automatic backups - Automatic daily backups are enabled on the destination file system. After the file system is created, you can change this setting.

      For more information, see Amazon EFS replication in the Amazon EFS User Guide.

      " + "documentation":"

      Creates a replication configuration that replicates an existing EFS file system to a new, read-only file system. For more information, see Amazon EFS replication in the Amazon EFS User Guide. The replication configuration specifies the following:

      • Source file system - An existing EFS file system that you want replicated. The source file system cannot be a destination file system in an existing replication configuration.

      • Destination file system configuration - The configuration of the destination file system to which the source file system will be replicated. There can only be one destination file system in a replication configuration. The destination file system configuration consists of the following properties:

        • Amazon Web Services Region - The Amazon Web Services Region in which the destination file system is created. Amazon EFS replication is available in all Amazon Web Services Regions in which EFS is available. To use EFS replication in a Region that is disabled by default, you must first opt in to the Region. For more information, see Managing Amazon Web Services Regions in the Amazon Web Services General Reference Reference Guide

        • Availability Zone - If you want the destination file system to use EFS One Zone availability, you must specify the Availability Zone to create the file system in. For more information about EFS storage classes, see Amazon EFS storage classes in the Amazon EFS User Guide.

        • Encryption - All destination file systems are created with encryption at rest enabled. You can specify the Key Management Service (KMS) key that is used to encrypt the destination file system. If you don't specify a KMS key, your service-managed KMS key for Amazon EFS is used.

          After the file system is created, you cannot change the KMS key.

      The following properties are set by default:

      • Performance mode - The destination file system's performance mode matches that of the source file system, unless the destination file system uses EFS One Zone storage. In that case, the General Purpose performance mode is used. The performance mode cannot be changed.

      • Throughput mode - The destination file system's throughput mode matches that of the source file system. After the file system is created, you can modify the throughput mode.

      The following properties are turned off by default:

      • Lifecycle management – Lifecycle management is not enabled on the destination file system. After the destination file system is created, you can enable it.

      • Automatic backups – Automatic daily backups are enabled on the destination file system. After the file system is created, you can change this setting.

      For more information, see Amazon EFS replication in the Amazon EFS User Guide.

      " }, "CreateTags":{ "name":"CreateTags", @@ -309,7 +309,7 @@ {"shape":"BadRequest"}, {"shape":"FileSystemNotFound"} ], - "documentation":"

      Returns the current LifecycleConfiguration object for the specified Amazon EFS file system. EFS lifecycle management uses the LifecycleConfiguration object to identify which files to move to the EFS Infrequent Access (IA) storage class. For a file system without a LifecycleConfiguration object, the call returns an empty array in the response.

      When EFS Intelligent-Tiering is enabled, TransitionToPrimaryStorageClass has a value of AFTER_1_ACCESS.

      This operation requires permissions for the elasticfilesystem:DescribeLifecycleConfiguration operation.

      " + "documentation":"

      Returns the current LifecycleConfiguration object for the specified Amazon EFS file system. Llifecycle management uses the LifecycleConfiguration object to identify when to move files between storage classes. For a file system without a LifecycleConfiguration object, the call returns an empty array in the response.

      This operation requires permissions for the elasticfilesystem:DescribeLifecycleConfiguration operation.

      " }, "DescribeMountTargetSecurityGroups":{ "name":"DescribeMountTargetSecurityGroups", @@ -483,7 +483,7 @@ {"shape":"FileSystemNotFound"}, {"shape":"IncorrectFileSystemLifeCycleState"} ], - "documentation":"

      Use this action to manage EFS lifecycle management and EFS Intelligent-Tiering. A LifecycleConfiguration consists of one or more LifecyclePolicy objects that define the following:

      • EFS Lifecycle management - When Amazon EFS automatically transitions files in a file system into the lower-cost EFS Infrequent Access (IA) storage class.

        To enable EFS Lifecycle management, set the value of TransitionToIA to one of the available options.

      • EFS Intelligent-Tiering - When Amazon EFS automatically transitions files from IA back into the file system's primary storage class (EFS Standard or EFS One Zone Standard).

        To enable EFS Intelligent-Tiering, set the value of TransitionToPrimaryStorageClass to AFTER_1_ACCESS.

      For more information, see EFS Lifecycle Management.

      Each Amazon EFS file system supports one lifecycle configuration, which applies to all files in the file system. If a LifecycleConfiguration object already exists for the specified file system, a PutLifecycleConfiguration call modifies the existing configuration. A PutLifecycleConfiguration call with an empty LifecyclePolicies array in the request body deletes any existing LifecycleConfiguration and turns off lifecycle management and EFS Intelligent-Tiering for the file system.

      In the request, specify the following:

      • The ID for the file system for which you are enabling, disabling, or modifying lifecycle management and EFS Intelligent-Tiering.

      • A LifecyclePolicies array of LifecyclePolicy objects that define when files are moved into IA storage, and when they are moved back to Standard storage.

        Amazon EFS requires that each LifecyclePolicy object have only have a single transition, so the LifecyclePolicies array needs to be structured with separate LifecyclePolicy objects. See the example requests in the following section for more information.

      This operation requires permissions for the elasticfilesystem:PutLifecycleConfiguration operation.

      To apply a LifecycleConfiguration object to an encrypted file system, you need the same Key Management Service permissions as when you created the encrypted file system.

      " + "documentation":"

      Use this action to manage storage of your file system. A LifecycleConfiguration consists of one or more LifecyclePolicy objects that define the following:

      • TransitionToIA – When to move files in the file system from primary storage (Standard storage class) into the Infrequent Access (IA) storage.

      • TransitionToArchive – When to move files in the file system from their current storage class (either IA or Standard storage) into the Archive storage.

        File systems cannot transition into Archive storage before transitioning into IA storage. Therefore, TransitionToArchive must either not be set or must be later than TransitionToIA.

        The Archive storage class is available only for file systems that use the Elastic Throughput mode and the General Purpose Performance mode.

      • TransitionToPrimaryStorageClass – Whether to move files in the file system back to primary storage (Standard storage class) after they are accessed in IA or Archive storage.

      For more information, see Managing file system storage.

      Each Amazon EFS file system supports one lifecycle configuration, which applies to all files in the file system. If a LifecycleConfiguration object already exists for the specified file system, a PutLifecycleConfiguration call modifies the existing configuration. A PutLifecycleConfiguration call with an empty LifecyclePolicies array in the request body deletes any existing LifecycleConfiguration for the file system.

      In the request, specify the following:

      • The ID for the file system for which you are enabling, disabling, or modifying Lifecycle management.

      • A LifecyclePolicies array of LifecyclePolicy objects that define when to move files to IA storage, to Archive storage, and back to primary storage.

        Amazon EFS requires that each LifecyclePolicy object have only have a single transition, so the LifecyclePolicies array needs to be structured with separate LifecyclePolicy objects. See the example requests in the following section for more information.

      This operation requires permissions for the elasticfilesystem:PutLifecycleConfiguration operation.

      To apply a LifecycleConfiguration object to an encrypted file system, you need the same Key Management Service permissions as when you created the encrypted file system.

      " }, "TagResource":{ "name":"TagResource", @@ -592,7 +592,7 @@ }, "RootDirectory":{ "shape":"RootDirectory", - "documentation":"

      The directory on the Amazon EFS file system that the access point exposes as the root directory to NFS clients using the access point.

      " + "documentation":"

      The directory on the EFS file system that the access point exposes as the root directory to NFS clients using the access point.

      " }, "OwnerId":{ "shape":"AwsAccountId", @@ -665,7 +665,7 @@ "members":{ "Status":{ "shape":"Status", - "documentation":"

      Describes the status of the file system's backup policy.

      • ENABLED - EFS is automatically backing up the file system.

      • ENABLING - EFS is turning on automatic backups for the file system.

      • DISABLED - Automatic back ups are turned off for the file system.

      • DISABLING - EFS is turning off automatic backups for the file system.

      " + "documentation":"

      Describes the status of the file system's backup policy.

      • ENABLED – EFS is automatically backing up the file system.

      • ENABLING – EFS is turning on automatic backups for the file system.

      • DISABLED – Automatic back ups are turned off for the file system.

      • DISABLING – EFS is turning off automatic backups for the file system.

      " } }, "documentation":"

      The backup policy for the file system used to create automatic daily backups. If status has a value of ENABLED, the file system is being automatically backed up. For more information, see Automatic backups.

      " @@ -723,7 +723,7 @@ }, "RootDirectory":{ "shape":"RootDirectory", - "documentation":"

      Specifies the directory on the Amazon EFS file system that the access point exposes as the root directory of your file system to NFS clients using the access point. The clients using the access point can only access the root directory and below. If the RootDirectory > Path specified does not exist, EFS creates it and applies the CreationInfo settings when a client connects to an access point. When specifying a RootDirectory, you must provide the Path, and the CreationInfo.

      Amazon EFS creates a root directory only if you have provided the CreationInfo: OwnUid, OwnGID, and permissions for the directory. If you do not provide this information, Amazon EFS does not create the root directory. If the root directory does not exist, attempts to mount using the access point will fail.

      " + "documentation":"

      Specifies the directory on the EFS file system that the access point exposes as the root directory of your file system to NFS clients using the access point. The clients using the access point can only access the root directory and below. If the RootDirectory > Path specified does not exist, Amazon EFS creates it and applies the CreationInfo settings when a client connects to an access point. When specifying a RootDirectory, you must provide the Path, and the CreationInfo.

      Amazon EFS creates a root directory only if you have provided the CreationInfo: OwnUid, OwnGID, and permissions for the directory. If you do not provide this information, Amazon EFS does not create the root directory. If the root directory does not exist, attempts to mount using the access point will fail.

      " } } }, @@ -738,7 +738,7 @@ }, "PerformanceMode":{ "shape":"PerformanceMode", - "documentation":"

      The performance mode of the file system. We recommend generalPurpose performance mode for most file systems. File systems using the maxIO performance mode can scale to higher levels of aggregate throughput and operations per second with a tradeoff of slightly higher latencies for most file operations. The performance mode can't be changed after the file system has been created.

      The maxIO mode is not supported on file systems using One Zone storage classes.

      Default is generalPurpose.

      " + "documentation":"

      The Performance mode of the file system. We recommend generalPurpose performance mode for all file systems. File systems using the maxIO performance mode can scale to higher levels of aggregate throughput and operations per second with a tradeoff of slightly higher latencies for most file operations. The performance mode can't be changed after the file system has been created. The maxIO mode is not supported on One Zone file systems.

      Due to the higher per-operation latencies with Max I/O, we recommend using General Purpose performance mode for all file systems.

      Default is generalPurpose.

      " }, "Encrypted":{ "shape":"Encrypted", @@ -750,7 +750,7 @@ }, "ThroughputMode":{ "shape":"ThroughputMode", - "documentation":"

      Specifies the throughput mode for the file system. The mode can be bursting, provisioned, or elastic. If you set ThroughputMode to provisioned, you must also set a value for ProvisionedThroughputInMibps. After you create the file system, you can decrease your file system's throughput in Provisioned Throughput mode or change between the throughput modes, with certain time restrictions. For more information, see Specifying throughput with provisioned mode in the Amazon EFS User Guide.

      Default is bursting.

      " + "documentation":"

      Specifies the throughput mode for the file system. The mode can be bursting, provisioned, or elastic. If you set ThroughputMode to provisioned, you must also set a value for ProvisionedThroughputInMibps. After you create the file system, you can decrease your file system's Provisioned throughput or change between the throughput modes, with certain time restrictions. For more information, see Specifying throughput with provisioned mode in the Amazon EFS User Guide.

      Default is bursting.

      " }, "ProvisionedThroughputInMibps":{ "shape":"ProvisionedThroughputInMibps", @@ -758,11 +758,11 @@ }, "AvailabilityZoneName":{ "shape":"AvailabilityZoneName", - "documentation":"

      Used to create a file system that uses One Zone storage classes. It specifies the Amazon Web Services Availability Zone in which to create the file system. Use the format us-east-1a to specify the Availability Zone. For more information about One Zone storage classes, see Using EFS storage classes in the Amazon EFS User Guide.

      One Zone storage classes are not available in all Availability Zones in Amazon Web Services Regions where Amazon EFS is available.

      " + "documentation":"

      Used to create a One Zone file system. It specifies the Amazon Web Services Availability Zone in which to create the file system. Use the format us-east-1a to specify the Availability Zone. For more information about One Zone file systems, see Using EFS storage classes in the Amazon EFS User Guide.

      One Zone file systems are not available in all Availability Zones in Amazon Web Services Regions where Amazon EFS is available.

      " }, "Backup":{ "shape":"Backup", - "documentation":"

      Specifies whether automatic backups are enabled on the file system that you are creating. Set the value to true to enable automatic backups. If you are creating a file system that uses One Zone storage classes, automatic backups are enabled by default. For more information, see Automatic backups in the Amazon EFS User Guide.

      Default is false. However, if you specify an AvailabilityZoneName, the default is true.

      Backup is not available in all Amazon Web Services Regions where Amazon EFS is available.

      " + "documentation":"

      Specifies whether automatic backups are enabled on the file system that you are creating. Set the value to true to enable automatic backups. If you are creating a One Zone file system, automatic backups are enabled by default. For more information, see Automatic backups in the Amazon EFS User Guide.

      Default is false. However, if you specify an AvailabilityZoneName, the default is true.

      Backup is not available in all Amazon Web Services Regions where Amazon EFS is available.

      " }, "Tags":{ "shape":"Tags", @@ -783,7 +783,7 @@ }, "SubnetId":{ "shape":"SubnetId", - "documentation":"

      The ID of the subnet to add the mount target in. For file systems that use One Zone storage classes, use the subnet that is associated with the file system's Availability Zone.

      " + "documentation":"

      The ID of the subnet to add the mount target in. For One Zone file systems, use the subnet that is associated with the file system's Availability Zone.

      " }, "IpAddress":{ "shape":"IpAddress", @@ -1031,7 +1031,7 @@ "members":{ "FileSystemId":{ "shape":"FileSystemId", - "documentation":"

      Specifies which EFS file system to retrieve the BackupPolicy for.

      ", + "documentation":"

      Specifies which EFS file system for which to retrieve the BackupPolicy.

      ", "location":"uri", "locationName":"FileSystemId" } @@ -1275,7 +1275,7 @@ "members":{ "Status":{ "shape":"ReplicationStatus", - "documentation":"

      Describes the status of the destination Amazon EFS file system.

      • The Paused state occurs as a result of opting out of the source or destination Region after the replication configuration was created. To resume replication for the file system, you need to again opt in to the Amazon Web Services Region. For more information, see Managing Amazon Web Services Regions in the Amazon Web Services General Reference Guide.

      • The Error state occurs when either the source or the destination file system (or both) is in a failed state and is unrecoverable. For more information, see Monitoring replication status in the Amazon EFS User Guide. You must delete the replication configuration, and then restore the most recent backup of the failed file system (either the source or the destination) to a new file system.

      " + "documentation":"

      Describes the status of the destination EFS file system.

      • The Paused state occurs as a result of opting out of the source or destination Region after the replication configuration was created. To resume replication for the file system, you need to again opt in to the Amazon Web Services Region. For more information, see Managing Amazon Web Services Regions in the Amazon Web Services General Reference Guide.

      • The Error state occurs when either the source or the destination file system (or both) is in a failed state and is unrecoverable. For more information, see Monitoring replication status in the Amazon EFS User Guide. You must delete the replication configuration, and then restore the most recent backup of the failed file system (either the source or the destination) to a new file system.

      " }, "FileSystemId":{ "shape":"FileSystemId", @@ -1301,7 +1301,7 @@ }, "AvailabilityZoneName":{ "shape":"AvailabilityZoneName", - "documentation":"

      To create a file system that uses EFS One Zone storage, specify the name of the Availability Zone in which to create the destination file system.

      " + "documentation":"

      To create a file system that uses One Zone storage, specify the name of the Availability Zone in which to create the destination file system.

      " }, "KmsKeyId":{ "shape":"KmsKeyId", @@ -1396,7 +1396,7 @@ }, "PerformanceMode":{ "shape":"PerformanceMode", - "documentation":"

      The performance mode of the file system.

      " + "documentation":"

      The Performance mode of the file system.

      " }, "Encrypted":{ "shape":"Encrypted", @@ -1416,11 +1416,11 @@ }, "AvailabilityZoneName":{ "shape":"AvailabilityZoneName", - "documentation":"

      Describes the Amazon Web Services Availability Zone in which the file system is located, and is valid only for file systems using One Zone storage classes. For more information, see Using EFS storage classes in the Amazon EFS User Guide.

      " + "documentation":"

      Describes the Amazon Web Services Availability Zone in which the file system is located, and is valid only for One Zone file systems. For more information, see Using EFS storage classes in the Amazon EFS User Guide.

      " }, "AvailabilityZoneId":{ "shape":"AvailabilityZoneId", - "documentation":"

      The unique and consistent identifier of the Availability Zone in which the file system's One Zone storage classes exist. For example, use1-az1 is an Availability Zone ID for the us-east-1 Amazon Web Services Region, and it has the same location in every Amazon Web Services account.

      " + "documentation":"

      The unique and consistent identifier of the Availability Zone in which the file system is located, and is valid only for One Zone file systems. For example, use1-az1 is an Availability Zone ID for the us-east-1 Amazon Web Services Region, and it has the same location in every Amazon Web Services account.

      " }, "Tags":{ "shape":"Tags", @@ -1507,6 +1507,10 @@ "ValueInStandard":{ "shape":"FileSystemNullableSizeValue", "documentation":"

      The latest known metered size (in bytes) of data stored in the Standard storage class.

      " + }, + "ValueInArchive":{ + "shape":"FileSystemNullableSizeValue", + "documentation":"

      The latest known metered size (in bytes) of data stored in the Archive storage class.

      " } }, "documentation":"

      The latest known metered size (in bytes) of data stored in the file system, in its Value field, and the time at which that size was determined in its Timestamp field. The value doesn't represent the size of a consistent snapshot of the file system, but it is eventually consistent when there are no writes to the file system. That is, the value represents the actual size only if the file system is not modified for a period longer than a couple of hours. Otherwise, the value is not necessarily the exact size the file system was at any instant in time.

      " @@ -1619,21 +1623,25 @@ "LifecyclePolicies":{ "type":"list", "member":{"shape":"LifecyclePolicy"}, - "max":2 + "max":3 }, "LifecyclePolicy":{ "type":"structure", "members":{ "TransitionToIA":{ "shape":"TransitionToIARules", - "documentation":"

      Describes the period of time that a file is not accessed, after which it transitions to IA storage. Metadata operations such as listing the contents of a directory don't count as file access events.

      " + "documentation":"

      The number of days after files were last accessed in primary storage (the Standard storage class) at which to move them to Infrequent Access (IA) storage. Metadata operations such as listing the contents of a directory don't count as file access events.

      " }, "TransitionToPrimaryStorageClass":{ "shape":"TransitionToPrimaryStorageClassRules", - "documentation":"

      Describes when to transition a file from IA storage to primary storage. Metadata operations such as listing the contents of a directory don't count as file access events.

      " + "documentation":"

      Whether to move files back to primary (Standard) storage after they are accessed in IA or Archive storage. Metadata operations such as listing the contents of a directory don't count as file access events.

      " + }, + "TransitionToArchive":{ + "shape":"TransitionToArchiveRules", + "documentation":"

      The number of days after files were last accessed in primary storage (the Standard storage class) files at which to move them to Archive storage. Metadata operations such as listing the contents of a directory don't count as file access events.

      " } }, - "documentation":"

      Describes a policy used by EFS lifecycle management and EFS Intelligent-Tiering that specifies when to transition files into and out of the file system's Infrequent Access (IA) storage class. For more information, see EFS Intelligent‐Tiering and EFS Lifecycle Management.

      When using the put-lifecycle-configuration CLI command or the PutLifecycleConfiguration API action, Amazon EFS requires that each LifecyclePolicy object have only a single transition. This means that in a request body, LifecyclePolicies must be structured as an array of LifecyclePolicy objects, one object for each transition, TransitionToIA, TransitionToPrimaryStorageClass. For more information, see the request examples in PutLifecycleConfiguration.

      " + "documentation":"

      Describes a policy used by Lifecycle management that specifies when to transition files into and out of the Infrequent Access (IA) and Archive storage classes. For more information, see Managing file system storage.

      When using the put-lifecycle-configuration CLI command or the PutLifecycleConfiguration API action, Amazon EFS requires that each LifecyclePolicy object have only a single transition. This means that in a request body, LifecyclePolicies must be structured as an array of LifecyclePolicy objects, one object for each transition. For more information, see the request examples in PutLifecycleConfiguration.

      " }, "ListTagsForResourceRequest":{ "type":"structure", @@ -1960,7 +1968,7 @@ }, "LifecyclePolicies":{ "shape":"LifecyclePolicies", - "documentation":"

      An array of LifecyclePolicy objects that define the file system's LifecycleConfiguration object. A LifecycleConfiguration object informs EFS lifecycle management and EFS Intelligent-Tiering of the following:

      • When to move files in the file system from primary storage to the IA storage class.

      • When to move files that are in IA storage to primary storage.

      When using the put-lifecycle-configuration CLI command or the PutLifecycleConfiguration API action, Amazon EFS requires that each LifecyclePolicy object have only a single transition. This means that in a request body, LifecyclePolicies must be structured as an array of LifecyclePolicy objects, one object for each transition, TransitionToIA, TransitionToPrimaryStorageClass. See the example requests in the following section for more information.

      " + "documentation":"

      An array of LifecyclePolicy objects that define the file system's LifecycleConfiguration object. A LifecycleConfiguration object informs EFS Lifecycle management of the following:

      • TransitionToIA – When to move files in the file system from primary storage (Standard storage class) into the Infrequent Access (IA) storage.

      • TransitionToArchive – When to move files in the file system from their current storage class (either IA or Standard storage) into the Archive storage.

        File systems cannot transition into Archive storage before transitioning into IA storage. Therefore, TransitionToArchive must either not be set or must be later than TransitionToIA.

        The Archive storage class is available only for file systems that use the Elastic Throughput mode and the General Purpose Performance mode.

      • TransitionToPrimaryStorageClass – Whether to move files in the file system back to primary storage (Standard storage class) after they are accessed in IA or Archive storage.

      When using the put-lifecycle-configuration CLI command or the PutLifecycleConfiguration API action, Amazon EFS requires that each LifecyclePolicy object have only a single transition. This means that in a request body, LifecyclePolicies must be structured as an array of LifecyclePolicy objects, one object for each storage transition. See the example requests in the following section for more information.

      " } } }, @@ -1987,7 +1995,7 @@ }, "SourceFileSystemRegion":{ "shape":"RegionName", - "documentation":"

      The Amazon Web Services Region in which the source Amazon EFS file system is located.

      " + "documentation":"

      The Amazon Web Services Region in which the source EFS file system is located.

      " }, "SourceFileSystemArn":{ "shape":"FileSystemArn", @@ -1995,7 +2003,7 @@ }, "OriginalSourceFileSystemArn":{ "shape":"FileSystemArn", - "documentation":"

      The Amazon Resource Name (ARN) of the original source Amazon EFS file system in the replication configuration.

      " + "documentation":"

      The Amazon Resource Name (ARN) of the original source EFS file system in the replication configuration.

      " }, "CreationTime":{ "shape":"Timestamp", @@ -2261,6 +2269,20 @@ "error":{"httpStatusCode":429}, "exception":true }, + "TransitionToArchiveRules":{ + "type":"string", + "enum":[ + "AFTER_1_DAY", + "AFTER_7_DAYS", + "AFTER_14_DAYS", + "AFTER_30_DAYS", + "AFTER_60_DAYS", + "AFTER_90_DAYS", + "AFTER_180_DAYS", + "AFTER_270_DAYS", + "AFTER_365_DAYS" + ] + }, "TransitionToIARules":{ "type":"string", "enum":[ @@ -2269,7 +2291,10 @@ "AFTER_30_DAYS", "AFTER_60_DAYS", "AFTER_90_DAYS", - "AFTER_1_DAY" + "AFTER_1_DAY", + "AFTER_180_DAYS", + "AFTER_270_DAYS", + "AFTER_365_DAYS" ] }, "TransitionToPrimaryStorageClassRules":{ diff --git a/tools/code-generation/api-descriptions/elasticloadbalancingv2-2015-12-01.normal.json b/tools/code-generation/api-descriptions/elasticloadbalancingv2-2015-12-01.normal.json index 0ef55a07241..2a9ebfe2907 100644 --- a/tools/code-generation/api-descriptions/elasticloadbalancingv2-2015-12-01.normal.json +++ b/tools/code-generation/api-descriptions/elasticloadbalancingv2-2015-12-01.normal.json @@ -47,9 +47,29 @@ {"shape":"LoadBalancerNotFoundException"}, {"shape":"TargetGroupNotFoundException"}, {"shape":"ListenerNotFoundException"}, - {"shape":"RuleNotFoundException"} + {"shape":"RuleNotFoundException"}, + {"shape":"TrustStoreNotFoundException"} ], - "documentation":"

      Adds the specified tags to the specified Elastic Load Balancing resource. You can tag your Application Load Balancers, Network Load Balancers, Gateway Load Balancers, target groups, listeners, and rules.

      Each tag consists of a key and an optional value. If a resource already has a tag with the same key, AddTags updates its value.

      " + "documentation":"

      Adds the specified tags to the specified Elastic Load Balancing resource. You can tag your Application Load Balancers, Network Load Balancers, Gateway Load Balancers, target groups, trust stores, listeners, and rules.

      Each tag consists of a key and an optional value. If a resource already has a tag with the same key, AddTags updates its value.

      " + }, + "AddTrustStoreRevocations":{ + "name":"AddTrustStoreRevocations", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AddTrustStoreRevocationsInput"}, + "output":{ + "shape":"AddTrustStoreRevocationsOutput", + "resultWrapper":"AddTrustStoreRevocationsResult" + }, + "errors":[ + {"shape":"TrustStoreNotFoundException"}, + {"shape":"InvalidRevocationContentException"}, + {"shape":"TooManyTrustStoreRevocationEntriesException"}, + {"shape":"RevocationContentNotFoundException"} + ], + "documentation":"

      Adds the specified revocation file to the specified trust store.

      " }, "CreateListener":{ "name":"CreateListener", @@ -80,7 +100,9 @@ {"shape":"InvalidLoadBalancerActionException"}, {"shape":"TooManyUniqueTargetGroupsPerLoadBalancerException"}, {"shape":"ALPNPolicyNotSupportedException"}, - {"shape":"TooManyTagsException"} + {"shape":"TooManyTagsException"}, + {"shape":"TrustStoreNotFoundException"}, + {"shape":"TrustStoreNotReadyException"} ], "documentation":"

      Creates a listener for the specified Application Load Balancer, Network Load Balancer, or Gateway Load Balancer.

      For more information, see the following:

      This operation is idempotent, which means that it completes at most one time. If you attempt to create multiple listeners with the same settings, each call succeeds.

      " }, @@ -161,6 +183,27 @@ ], "documentation":"

      Creates a target group.

      For more information, see the following:

      This operation is idempotent, which means that it completes at most one time. If you attempt to create multiple target groups with the same settings, each call succeeds.

      " }, + "CreateTrustStore":{ + "name":"CreateTrustStore", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateTrustStoreInput"}, + "output":{ + "shape":"CreateTrustStoreOutput", + "resultWrapper":"CreateTrustStoreResult" + }, + "errors":[ + {"shape":"DuplicateTrustStoreNameException"}, + {"shape":"TooManyTrustStoresException"}, + {"shape":"InvalidCaCertificatesBundleException"}, + {"shape":"CaCertificatesBundleNotFoundException"}, + {"shape":"TooManyTagsException"}, + {"shape":"DuplicateTagKeysException"} + ], + "documentation":"

      Creates a trust store.

      " + }, "DeleteListener":{ "name":"DeleteListener", "http":{ @@ -229,6 +272,23 @@ ], "documentation":"

      Deletes the specified target group.

      You can delete a target group if it is not referenced by any actions. Deleting a target group also deletes any associated health checks. Deleting a target group does not affect its registered targets. For example, any EC2 instances continue to run until you stop or terminate them.

      " }, + "DeleteTrustStore":{ + "name":"DeleteTrustStore", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteTrustStoreInput"}, + "output":{ + "shape":"DeleteTrustStoreOutput", + "resultWrapper":"DeleteTrustStoreResult" + }, + "errors":[ + {"shape":"TrustStoreNotFoundException"}, + {"shape":"TrustStoreInUseException"} + ], + "documentation":"

      Deletes a trust store.

      " + }, "DeregisterTargets":{ "name":"DeregisterTargets", "http":{ @@ -374,7 +434,8 @@ {"shape":"LoadBalancerNotFoundException"}, {"shape":"TargetGroupNotFoundException"}, {"shape":"ListenerNotFoundException"}, - {"shape":"RuleNotFoundException"} + {"shape":"RuleNotFoundException"}, + {"shape":"TrustStoreNotFoundException"} ], "documentation":"

      Describes the tags for the specified Elastic Load Balancing resources. You can describe the tags for one or more Application Load Balancers, Network Load Balancers, Gateway Load Balancers, target groups, listeners, or rules.

      " }, @@ -429,6 +490,88 @@ ], "documentation":"

      Describes the health of the specified targets or all of your targets.

      " }, + "DescribeTrustStoreAssociations":{ + "name":"DescribeTrustStoreAssociations", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeTrustStoreAssociationsInput"}, + "output":{ + "shape":"DescribeTrustStoreAssociationsOutput", + "resultWrapper":"DescribeTrustStoreAssociationsResult" + }, + "errors":[ + {"shape":"TrustStoreNotFoundException"} + ], + "documentation":"

      Describes all resources associated with the specified trust store.

      " + }, + "DescribeTrustStoreRevocations":{ + "name":"DescribeTrustStoreRevocations", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeTrustStoreRevocationsInput"}, + "output":{ + "shape":"DescribeTrustStoreRevocationsOutput", + "resultWrapper":"DescribeTrustStoreRevocationsResult" + }, + "errors":[ + {"shape":"TrustStoreNotFoundException"}, + {"shape":"RevocationIdNotFoundException"} + ], + "documentation":"

      Describes the revocation files in use by the specified trust store arn, or revocation ID.

      " + }, + "DescribeTrustStores":{ + "name":"DescribeTrustStores", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeTrustStoresInput"}, + "output":{ + "shape":"DescribeTrustStoresOutput", + "resultWrapper":"DescribeTrustStoresResult" + }, + "errors":[ + {"shape":"TrustStoreNotFoundException"} + ], + "documentation":"

      Describes all trust stores for a given account by trust store arn’s or name.

      " + }, + "GetTrustStoreCaCertificatesBundle":{ + "name":"GetTrustStoreCaCertificatesBundle", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetTrustStoreCaCertificatesBundleInput"}, + "output":{ + "shape":"GetTrustStoreCaCertificatesBundleOutput", + "resultWrapper":"GetTrustStoreCaCertificatesBundleResult" + }, + "errors":[ + {"shape":"TrustStoreNotFoundException"} + ], + "documentation":"

      Retrieves the ca certificate bundle.

      This action returns a pre-signed S3 URI which is active for ten minutes.

      " + }, + "GetTrustStoreRevocationContent":{ + "name":"GetTrustStoreRevocationContent", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetTrustStoreRevocationContentInput"}, + "output":{ + "shape":"GetTrustStoreRevocationContentOutput", + "resultWrapper":"GetTrustStoreRevocationContentResult" + }, + "errors":[ + {"shape":"TrustStoreNotFoundException"}, + {"shape":"RevocationIdNotFoundException"} + ], + "documentation":"

      Retrieves the specified revocation file.

      This action returns a pre-signed S3 URI which is active for ten minutes.

      " + }, "ModifyListener":{ "name":"ModifyListener", "http":{ @@ -457,7 +600,9 @@ {"shape":"TooManyActionsException"}, {"shape":"InvalidLoadBalancerActionException"}, {"shape":"TooManyUniqueTargetGroupsPerLoadBalancerException"}, - {"shape":"ALPNPolicyNotSupportedException"} + {"shape":"ALPNPolicyNotSupportedException"}, + {"shape":"TrustStoreNotFoundException"}, + {"shape":"TrustStoreNotReadyException"} ], "documentation":"

      Replaces the specified properties of the specified listener. Any properties that you do not specify remain unchanged.

      Changing the protocol from HTTPS to HTTP, or from TLS to TCP, removes the security policy and default certificate properties. If you change the protocol from HTTP to HTTPS, or from TCP to TLS, you must add the security policy and default certificate properties.

      To add an item to a list, remove an item from a list, or update an item in a list, you must provide the entire list. For example, to add an action, specify a list with the current actions plus the new action.

      " }, @@ -538,6 +683,24 @@ ], "documentation":"

      Modifies the specified attributes of the specified target group.

      " }, + "ModifyTrustStore":{ + "name":"ModifyTrustStore", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyTrustStoreInput"}, + "output":{ + "shape":"ModifyTrustStoreOutput", + "resultWrapper":"ModifyTrustStoreResult" + }, + "errors":[ + {"shape":"TrustStoreNotFoundException"}, + {"shape":"InvalidCaCertificatesBundleException"}, + {"shape":"CaCertificatesBundleNotFoundException"} + ], + "documentation":"

      Update the ca certificate bundle for a given trust store.

      " + }, "RegisterTargets":{ "name":"RegisterTargets", "http":{ @@ -590,10 +753,28 @@ {"shape":"TargetGroupNotFoundException"}, {"shape":"ListenerNotFoundException"}, {"shape":"RuleNotFoundException"}, - {"shape":"TooManyTagsException"} + {"shape":"TooManyTagsException"}, + {"shape":"TrustStoreNotFoundException"} ], "documentation":"

      Removes the specified tags from the specified Elastic Load Balancing resources. You can remove the tags for one or more Application Load Balancers, Network Load Balancers, Gateway Load Balancers, target groups, listeners, or rules.

      " }, + "RemoveTrustStoreRevocations":{ + "name":"RemoveTrustStoreRevocations", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RemoveTrustStoreRevocationsInput"}, + "output":{ + "shape":"RemoveTrustStoreRevocationsOutput", + "resultWrapper":"RemoveTrustStoreRevocationsResult" + }, + "errors":[ + {"shape":"TrustStoreNotFoundException"}, + {"shape":"RevocationIdNotFoundException"} + ], + "documentation":"

      Removes the specified revocation file from the specified trust store.

      " + }, "SetIpAddressType":{ "name":"SetIpAddressType", "http":{ @@ -789,6 +970,29 @@ "members":{ } }, + "AddTrustStoreRevocationsInput":{ + "type":"structure", + "required":["TrustStoreArn"], + "members":{ + "TrustStoreArn":{ + "shape":"TrustStoreArn", + "documentation":"

      The Amazon Resource Name (ARN) of the trust store.

      " + }, + "RevocationContents":{ + "shape":"RevocationContents", + "documentation":"

      The revocation file to add.

      " + } + } + }, + "AddTrustStoreRevocationsOutput":{ + "type":"structure", + "members":{ + "TrustStoreRevocations":{ + "shape":"TrustStoreRevocations", + "documentation":"

      Information about the revocation file added to the trust store.

      " + } + } + }, "AllocationId":{"type":"string"}, "AllocationIdNotFoundException":{ "type":"structure", @@ -807,6 +1011,27 @@ "member":{"shape":"AlpnPolicyValue"} }, "AlpnPolicyValue":{"type":"string"}, + "AnomalyDetection":{ + "type":"structure", + "members":{ + "Result":{ + "shape":"AnomalyResultEnum", + "documentation":"

      The latest anomaly detection result.

      " + }, + "MitigationInEffect":{ + "shape":"MitigationInEffectEnum", + "documentation":"

      Indicates whether anomaly mitigation is in progress.

      " + } + }, + "documentation":"

      Information about anomaly detection and mitigation.

      " + }, + "AnomalyResultEnum":{ + "type":"string", + "enum":[ + "anomalous", + "normal" + ] + }, "AuthenticateCognitoActionAuthenticationRequestExtraParams":{ "type":"map", "key":{"shape":"AuthenticateCognitoActionAuthenticationRequestParamName"}, @@ -995,6 +1220,18 @@ "type":"list", "member":{"shape":"AvailabilityZone"} }, + "CaCertificatesBundleNotFoundException":{ + "type":"structure", + "members":{ + }, + "documentation":"

      The specified ca certificate bundle does not exist.

      ", + "error":{ + "code":"CaCertificatesBundleNotFound", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "CanonicalHostedZoneId":{"type":"string"}, "Certificate":{ "type":"structure", @@ -1089,6 +1326,10 @@ "Tags":{ "shape":"TagList", "documentation":"

      The tags to assign to the listener.

      " + }, + "MutualAuthentication":{ + "shape":"MutualAuthenticationAttributes", + "documentation":"

      The mutual authentication configuration information.

      " } } }, @@ -1275,6 +1516,45 @@ } } }, + "CreateTrustStoreInput":{ + "type":"structure", + "required":[ + "Name", + "CaCertificatesBundleS3Bucket", + "CaCertificatesBundleS3Key" + ], + "members":{ + "Name":{ + "shape":"TrustStoreName", + "documentation":"

      The name of the trust store.

      This name must be unique per region and cannot be changed after creation.

      " + }, + "CaCertificatesBundleS3Bucket":{ + "shape":"S3Bucket", + "documentation":"

      The Amazon S3 bucket for the ca certificates bundle.

      " + }, + "CaCertificatesBundleS3Key":{ + "shape":"S3Key", + "documentation":"

      The Amazon S3 path for the ca certificates bundle.

      " + }, + "CaCertificatesBundleS3ObjectVersion":{ + "shape":"S3ObjectVersion", + "documentation":"

      The Amazon S3 object version for the ca certificates bundle. If undefined the current version is used.

      " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

      The tags to assign to the trust store.

      " + } + } + }, + "CreateTrustStoreOutput":{ + "type":"structure", + "members":{ + "TrustStores":{ + "shape":"TrustStores", + "documentation":"

      Information about the trust store created.

      " + } + } + }, "CreatedTime":{"type":"timestamp"}, "CustomerOwnedIpv4Pool":{ "type":"string", @@ -1343,6 +1623,21 @@ "members":{ } }, + "DeleteTrustStoreInput":{ + "type":"structure", + "required":["TrustStoreArn"], + "members":{ + "TrustStoreArn":{ + "shape":"TrustStoreArn", + "documentation":"

      The Amazon Resource Name (ARN) of the trust store.

      " + } + } + }, + "DeleteTrustStoreOutput":{ + "type":"structure", + "members":{ + } + }, "DeregisterTargetsInput":{ "type":"structure", "required":[ @@ -1664,9 +1959,20 @@ "Targets":{ "shape":"TargetDescriptions", "documentation":"

      The targets.

      " + }, + "Include":{ + "shape":"ListOfDescribeTargetHealthIncludeOptions", + "documentation":"

      Used to inclue anomaly detection information.

      " } } }, + "DescribeTargetHealthInputIncludeEnum":{ + "type":"string", + "enum":[ + "AnomalyDetection", + "All" + ] + }, "DescribeTargetHealthOutput":{ "type":"structure", "members":{ @@ -1676,6 +1982,132 @@ } } }, + "DescribeTrustStoreAssociationsInput":{ + "type":"structure", + "required":["TrustStoreArn"], + "members":{ + "TrustStoreArn":{ + "shape":"TrustStoreArn", + "documentation":"

      The Amazon Resource Name (ARN) of the trust store.

      " + }, + "Marker":{ + "shape":"Marker", + "documentation":"

      The marker for the next set of results. (You received this marker from a previous call.)

      " + }, + "PageSize":{ + "shape":"PageSize", + "documentation":"

      The maximum number of results to return with this call.

      " + } + } + }, + "DescribeTrustStoreAssociationsOutput":{ + "type":"structure", + "members":{ + "TrustStoreAssociations":{ + "shape":"TrustStoreAssociations", + "documentation":"

      Information about the resources the trust store is associated to.

      " + }, + "NextMarker":{ + "shape":"Marker", + "documentation":"

      If there are additional results, this is the marker for the next set of results. Otherwise, this is null.

      " + } + } + }, + "DescribeTrustStoreRevocation":{ + "type":"structure", + "members":{ + "TrustStoreArn":{ + "shape":"TrustStoreArn", + "documentation":"

      The Amazon Resource Name (ARN) of the trust store.

      " + }, + "RevocationId":{ + "shape":"RevocationId", + "documentation":"

      The revocation ID of a revocation file in use.

      " + }, + "RevocationType":{ + "shape":"RevocationType", + "documentation":"

      The type of revocation file.

      " + }, + "NumberOfRevokedEntries":{ + "shape":"NumberOfRevokedEntries", + "documentation":"

      The number of revoked certificates.

      " + } + }, + "documentation":"

      Information about the revocations used by a trust store.

      " + }, + "DescribeTrustStoreRevocationResponse":{ + "type":"list", + "member":{"shape":"DescribeTrustStoreRevocation"} + }, + "DescribeTrustStoreRevocationsInput":{ + "type":"structure", + "required":["TrustStoreArn"], + "members":{ + "TrustStoreArn":{ + "shape":"TrustStoreArn", + "documentation":"

      The Amazon Resource Name (ARN) of the trust store.

      " + }, + "RevocationIds":{ + "shape":"RevocationIds", + "documentation":"

      The revocation IDs of the revocation files you want to describe.

      " + }, + "Marker":{ + "shape":"Marker", + "documentation":"

      The marker for the next set of results. (You received this marker from a previous call.)

      " + }, + "PageSize":{ + "shape":"PageSize", + "documentation":"

      The maximum number of results to return with this call.

      " + } + } + }, + "DescribeTrustStoreRevocationsOutput":{ + "type":"structure", + "members":{ + "TrustStoreRevocations":{ + "shape":"DescribeTrustStoreRevocationResponse", + "documentation":"

      Information about the revocation file in the trust store.

      " + }, + "NextMarker":{ + "shape":"Marker", + "documentation":"

      If there are additional results, this is the marker for the next set of results. Otherwise, this is null.

      " + } + } + }, + "DescribeTrustStoresInput":{ + "type":"structure", + "members":{ + "TrustStoreArns":{ + "shape":"TrustStoreArns", + "documentation":"

      The Amazon Resource Name (ARN) of the trust store.

      " + }, + "Names":{ + "shape":"TrustStoreNames", + "documentation":"

      The names of the trust stores.

      " + }, + "Marker":{ + "shape":"Marker", + "documentation":"

      The marker for the next set of results. (You received this marker from a previous call.)

      " + }, + "PageSize":{ + "shape":"PageSize", + "documentation":"

      The maximum number of results to return with this call.

      " + } + } + }, + "DescribeTrustStoresOutput":{ + "type":"structure", + "members":{ + "TrustStores":{ + "shape":"TrustStores", + "documentation":"

      Information about the trust stores.

      " + }, + "NextMarker":{ + "shape":"Marker", + "documentation":"

      If there are additional results, this is the marker for the next set of results. Otherwise, this is null.

      " + } + } + }, "Description":{"type":"string"}, "DuplicateListenerException":{ "type":"structure", @@ -1725,6 +2157,18 @@ }, "exception":true }, + "DuplicateTrustStoreNameException":{ + "type":"structure", + "members":{ + }, + "documentation":"

      A trust store with the specified name already exists.

      ", + "error":{ + "code":"DuplicateTrustStoreName", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "EnforceSecurityGroupInboundRulesOnPrivateLinkTraffic":{"type":"string"}, "EnforceSecurityGroupInboundRulesOnPrivateLinkTrafficEnum":{ "type":"string", @@ -1780,6 +2224,51 @@ }, "documentation":"

      Information about a forward action.

      " }, + "GetTrustStoreCaCertificatesBundleInput":{ + "type":"structure", + "required":["TrustStoreArn"], + "members":{ + "TrustStoreArn":{ + "shape":"TrustStoreArn", + "documentation":"

      The Amazon Resource Name (ARN) of the trust store.

      " + } + } + }, + "GetTrustStoreCaCertificatesBundleOutput":{ + "type":"structure", + "members":{ + "Location":{ + "shape":"Location", + "documentation":"

      The ca certificate bundles Amazon S3 URI.

      " + } + } + }, + "GetTrustStoreRevocationContentInput":{ + "type":"structure", + "required":[ + "TrustStoreArn", + "RevocationId" + ], + "members":{ + "TrustStoreArn":{ + "shape":"TrustStoreArn", + "documentation":"

      The Amazon Resource Name (ARN) of the trust store.

      " + }, + "RevocationId":{ + "shape":"RevocationId", + "documentation":"

      The revocation ID of the revocation file.

      " + } + } + }, + "GetTrustStoreRevocationContentOutput":{ + "type":"structure", + "members":{ + "Location":{ + "shape":"Location", + "documentation":"

      The revocation files Amazon S3 URI.

      " + } + } + }, "GrpcCode":{"type":"string"}, "HealthCheckEnabled":{"type":"boolean"}, "HealthCheckIntervalSeconds":{ @@ -1846,6 +2335,7 @@ "documentation":"

      Information about an HTTP method condition.

      HTTP defines a set of request methods, also referred to as HTTP verbs. For more information, see the HTTP Method Registry. You can also define custom HTTP methods.

      " }, "IPv6Address":{"type":"string"}, + "IgnoreClientCertificateExpiry":{"type":"boolean"}, "IncompatibleProtocolsException":{ "type":"structure", "members":{ @@ -1858,6 +2348,18 @@ }, "exception":true }, + "InvalidCaCertificatesBundleException":{ + "type":"structure", + "members":{ + }, + "documentation":"

      The specified ca certificate bundle is in an invalid format, or corrupt.

      ", + "error":{ + "code":"InvalidCaCertificatesBundle", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "InvalidConfigurationRequestException":{ "type":"structure", "members":{ @@ -1882,6 +2384,18 @@ }, "exception":true }, + "InvalidRevocationContentException":{ + "type":"structure", + "members":{ + }, + "documentation":"

      The provided revocation file is an invalid format, or uses an incorrect algorithm.

      ", + "error":{ + "code":"InvalidRevocationContent", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "InvalidSchemeException":{ "type":"structure", "members":{ @@ -1957,6 +2471,10 @@ "type":"list", "member":{"shape":"Limit"} }, + "ListOfDescribeTargetHealthIncludeOptions":{ + "type":"list", + "member":{"shape":"DescribeTargetHealthInputIncludeEnum"} + }, "ListOfString":{ "type":"list", "member":{"shape":"StringValue"} @@ -1995,6 +2513,10 @@ "AlpnPolicy":{ "shape":"AlpnPolicyName", "documentation":"

      [TLS listener] The name of the Application-Layer Protocol Negotiation (ALPN) policy.

      " + }, + "MutualAuthentication":{ + "shape":"MutualAuthenticationAttributes", + "documentation":"

      The mutual authentication configuration information.

      " } }, "documentation":"

      Information about a listener.

      " @@ -2118,7 +2640,7 @@ "members":{ "Key":{ "shape":"LoadBalancerAttributeKey", - "documentation":"

      The name of the attribute.

      The following attributes are supported by all load balancers:

      • deletion_protection.enabled - Indicates whether deletion protection is enabled. The value is true or false. The default is false.

      • load_balancing.cross_zone.enabled - Indicates whether cross-zone load balancing is enabled. The possible values are true and false. The default for Network Load Balancers and Gateway Load Balancers is false. The default for Application Load Balancers is true, and cannot be changed.

      The following attributes are supported by both Application Load Balancers and Network Load Balancers:

      • access_logs.s3.enabled - Indicates whether access logs are enabled. The value is true or false. The default is false.

      • access_logs.s3.bucket - The name of the S3 bucket for the access logs. This attribute is required if access logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket.

      • access_logs.s3.prefix - The prefix for the location in the S3 bucket for the access logs.

      • ipv6.deny_all_igw_traffic - Blocks internet gateway (IGW) access to the load balancer. It is set to false for internet-facing load balancers and true for internal load balancers, preventing unintended access to your internal load balancer through an internet gateway.

      The following attributes are supported by only Application Load Balancers:

      • idle_timeout.timeout_seconds - The idle timeout value, in seconds. The valid range is 1-4000 seconds. The default is 60 seconds.

      • routing.http.desync_mitigation_mode - Determines how the load balancer handles requests that might pose a security risk to your application. The possible values are monitor, defensive, and strictest. The default is defensive.

      • routing.http.drop_invalid_header_fields.enabled - Indicates whether HTTP headers with invalid header fields are removed by the load balancer (true) or routed to targets (false). The default is false.

      • routing.http.preserve_host_header.enabled - Indicates whether the Application Load Balancer should preserve the Host header in the HTTP request and send it to the target without any change. The possible values are true and false. The default is false.

      • routing.http.x_amzn_tls_version_and_cipher_suite.enabled - Indicates whether the two headers (x-amzn-tls-version and x-amzn-tls-cipher-suite), which contain information about the negotiated TLS version and cipher suite, are added to the client request before sending it to the target. The x-amzn-tls-version header has information about the TLS protocol version negotiated with the client, and the x-amzn-tls-cipher-suite header has information about the cipher suite negotiated with the client. Both headers are in OpenSSL format. The possible values for the attribute are true and false. The default is false.

      • routing.http.xff_client_port.enabled - Indicates whether the X-Forwarded-For header should preserve the source port that the client used to connect to the load balancer. The possible values are true and false. The default is false.

      • routing.http.xff_header_processing.mode - Enables you to modify, preserve, or remove the X-Forwarded-For header in the HTTP request before the Application Load Balancer sends the request to the target. The possible values are append, preserve, and remove. The default is append.

        • If the value is append, the Application Load Balancer adds the client IP address (of the last hop) to the X-Forwarded-For header in the HTTP request before it sends it to targets.

        • If the value is preserve the Application Load Balancer preserves the X-Forwarded-For header in the HTTP request, and sends it to targets without any change.

        • If the value is remove, the Application Load Balancer removes the X-Forwarded-For header in the HTTP request before it sends it to targets.

      • routing.http2.enabled - Indicates whether HTTP/2 is enabled. The possible values are true and false. The default is true. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens.

      • waf.fail_open.enabled - Indicates whether to allow a WAF-enabled load balancer to route requests to targets if it is unable to forward the request to Amazon Web Services WAF. The possible values are true and false. The default is false.

      The following attributes are supported by only Network Load Balancers:

      • dns_record.client_routing_policy - Indicates how traffic is distributed among the load balancer Availability Zones. The possible values are availability_zone_affinity with 100 percent zonal affinity, partial_availability_zone_affinity with 85 percent zonal affinity, and any_availability_zone with 0 percent zonal affinity.

      " + "documentation":"

      The name of the attribute.

      The following attributes are supported by all load balancers:

      • deletion_protection.enabled - Indicates whether deletion protection is enabled. The value is true or false. The default is false.

      • load_balancing.cross_zone.enabled - Indicates whether cross-zone load balancing is enabled. The possible values are true and false. The default for Network Load Balancers and Gateway Load Balancers is false. The default for Application Load Balancers is true, and cannot be changed.

      The following attributes are supported by both Application Load Balancers and Network Load Balancers:

      • access_logs.s3.enabled - Indicates whether access logs are enabled. The value is true or false. The default is false.

      • access_logs.s3.bucket - The name of the S3 bucket for the access logs. This attribute is required if access logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket.

      • access_logs.s3.prefix - The prefix for the location in the S3 bucket for the access logs.

      • ipv6.deny_all_igw_traffic - Blocks internet gateway (IGW) access to the load balancer. It is set to false for internet-facing load balancers and true for internal load balancers, preventing unintended access to your internal load balancer through an internet gateway.

      The following attributes are supported by only Application Load Balancers:

      • idle_timeout.timeout_seconds - The idle timeout value, in seconds. The valid range is 1-4000 seconds. The default is 60 seconds.

      • connection_logs.s3.enabled - Indicates whether connection logs are enabled. The value is true or false. The default is false.

      • connection_logs.s3.bucket - The name of the S3 bucket for the connection logs. This attribute is required if connection logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket.

      • connection_logs.s3.prefix - The prefix for the location in the S3 bucket for the connection logs.

      • routing.http.desync_mitigation_mode - Determines how the load balancer handles requests that might pose a security risk to your application. The possible values are monitor, defensive, and strictest. The default is defensive.

      • routing.http.drop_invalid_header_fields.enabled - Indicates whether HTTP headers with invalid header fields are removed by the load balancer (true) or routed to targets (false). The default is false.

      • routing.http.preserve_host_header.enabled - Indicates whether the Application Load Balancer should preserve the Host header in the HTTP request and send it to the target without any change. The possible values are true and false. The default is false.

      • routing.http.x_amzn_tls_version_and_cipher_suite.enabled - Indicates whether the two headers (x-amzn-tls-version and x-amzn-tls-cipher-suite), which contain information about the negotiated TLS version and cipher suite, are added to the client request before sending it to the target. The x-amzn-tls-version header has information about the TLS protocol version negotiated with the client, and the x-amzn-tls-cipher-suite header has information about the cipher suite negotiated with the client. Both headers are in OpenSSL format. The possible values for the attribute are true and false. The default is false.

      • routing.http.xff_client_port.enabled - Indicates whether the X-Forwarded-For header should preserve the source port that the client used to connect to the load balancer. The possible values are true and false. The default is false.

      • routing.http.xff_header_processing.mode - Enables you to modify, preserve, or remove the X-Forwarded-For header in the HTTP request before the Application Load Balancer sends the request to the target. The possible values are append, preserve, and remove. The default is append.

        • If the value is append, the Application Load Balancer adds the client IP address (of the last hop) to the X-Forwarded-For header in the HTTP request before it sends it to targets.

        • If the value is preserve the Application Load Balancer preserves the X-Forwarded-For header in the HTTP request, and sends it to targets without any change.

        • If the value is remove, the Application Load Balancer removes the X-Forwarded-For header in the HTTP request before it sends it to targets.

      • routing.http2.enabled - Indicates whether HTTP/2 is enabled. The possible values are true and false. The default is true. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens.

      • waf.fail_open.enabled - Indicates whether to allow a WAF-enabled load balancer to route requests to targets if it is unable to forward the request to Amazon Web Services WAF. The possible values are true and false. The default is false.

      The following attributes are supported by only Network Load Balancers:

      • dns_record.client_routing_policy - Indicates how traffic is distributed among the load balancer Availability Zones. The possible values are availability_zone_affinity with 100 percent zonal affinity, partial_availability_zone_affinity with 85 percent zonal affinity, and any_availability_zone with 0 percent zonal affinity.

      " }, "Value":{ "shape":"LoadBalancerAttributeValue", @@ -2200,6 +2722,7 @@ "type":"list", "member":{"shape":"LoadBalancer"} }, + "Location":{"type":"string"}, "Marker":{"type":"string"}, "Matcher":{ "type":"structure", @@ -2216,6 +2739,14 @@ "documentation":"

      The codes to use when checking for a successful response from a target. If the protocol version is gRPC, these are gRPC codes. Otherwise, these are HTTP codes.

      " }, "Max":{"type":"string"}, + "MitigationInEffectEnum":{ + "type":"string", + "enum":[ + "yes", + "no" + ] + }, + "Mode":{"type":"string"}, "ModifyListenerInput":{ "type":"structure", "required":["ListenerArn"], @@ -2247,6 +2778,10 @@ "AlpnPolicy":{ "shape":"AlpnPolicyName", "documentation":"

      [TLS listeners] The name of the Application-Layer Protocol Negotiation (ALPN) policy. You can specify one policy name. The following are the possible values:

      • HTTP1Only

      • HTTP2Only

      • HTTP2Optional

      • HTTP2Preferred

      • None

      For more information, see ALPN policies in the Network Load Balancers Guide.

      " + }, + "MutualAuthentication":{ + "shape":"MutualAuthenticationAttributes", + "documentation":"

      The mutual authentication configuration information.

      " } } }, @@ -2393,7 +2928,62 @@ } } }, + "ModifyTrustStoreInput":{ + "type":"structure", + "required":[ + "TrustStoreArn", + "CaCertificatesBundleS3Bucket", + "CaCertificatesBundleS3Key" + ], + "members":{ + "TrustStoreArn":{ + "shape":"TrustStoreArn", + "documentation":"

      The Amazon Resource Name (ARN) of the trust store.

      " + }, + "CaCertificatesBundleS3Bucket":{ + "shape":"S3Bucket", + "documentation":"

      The Amazon S3 bucket for the ca certificates bundle.

      " + }, + "CaCertificatesBundleS3Key":{ + "shape":"S3Key", + "documentation":"

      The Amazon S3 path for the ca certificates bundle.

      " + }, + "CaCertificatesBundleS3ObjectVersion":{ + "shape":"S3ObjectVersion", + "documentation":"

      The Amazon S3 object version for the ca certificates bundle. If undefined the current version is used.

      " + } + } + }, + "ModifyTrustStoreOutput":{ + "type":"structure", + "members":{ + "TrustStores":{ + "shape":"TrustStores", + "documentation":"

      Information about the modified trust store.

      " + } + } + }, + "MutualAuthenticationAttributes":{ + "type":"structure", + "members":{ + "Mode":{ + "shape":"Mode", + "documentation":"

      The client certificate handling method. Options are off, passthrough or verify. The default value is off.

      " + }, + "TrustStoreArn":{ + "shape":"TrustStoreArn", + "documentation":"

      The Amazon Resource Name (ARN) of the trust store.

      " + }, + "IgnoreClientCertificateExpiry":{ + "shape":"IgnoreClientCertificateExpiry", + "documentation":"

      Indicates whether expired client certificates are ignored.

      " + } + }, + "documentation":"

      Information about the mutual authentication attributes of a listener.

      " + }, "Name":{"type":"string"}, + "NumberOfCaCertificates":{"type":"integer"}, + "NumberOfRevokedEntries":{"type":"long"}, "OperationNotPermittedException":{ "type":"structure", "members":{ @@ -2610,6 +3200,28 @@ "members":{ } }, + "RemoveTrustStoreRevocationsInput":{ + "type":"structure", + "required":[ + "TrustStoreArn", + "RevocationIds" + ], + "members":{ + "TrustStoreArn":{ + "shape":"TrustStoreArn", + "documentation":"

      The Amazon Resource Name (ARN) of the trust store.

      " + }, + "RevocationIds":{ + "shape":"RevocationIds", + "documentation":"

      The revocation IDs of the revocation files you want to remove.

      " + } + } + }, + "RemoveTrustStoreRevocationsOutput":{ + "type":"structure", + "members":{ + } + }, "ResourceArn":{"type":"string"}, "ResourceArns":{ "type":"list", @@ -2627,6 +3239,65 @@ }, "exception":true }, + "RevocationContent":{ + "type":"structure", + "members":{ + "S3Bucket":{ + "shape":"S3Bucket", + "documentation":"

      The Amazon S3 bucket for the revocation file.

      " + }, + "S3Key":{ + "shape":"S3Key", + "documentation":"

      The Amazon S3 path for the revocation file.

      " + }, + "S3ObjectVersion":{ + "shape":"S3ObjectVersion", + "documentation":"

      The Amazon S3 object version of the revocation file.

      " + }, + "RevocationType":{ + "shape":"RevocationType", + "documentation":"

      The type of revocation file.

      " + } + }, + "documentation":"

      Information about a revocation file.

      " + }, + "RevocationContentNotFoundException":{ + "type":"structure", + "members":{ + }, + "documentation":"

      The specified revocation file does not exist.

      ", + "error":{ + "code":"RevocationContentNotFound", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "RevocationContents":{ + "type":"list", + "member":{"shape":"RevocationContent"} + }, + "RevocationId":{"type":"long"}, + "RevocationIdNotFoundException":{ + "type":"structure", + "members":{ + }, + "documentation":"

      The specified revocation ID does not exist.

      ", + "error":{ + "code":"RevocationIdNotFound", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "RevocationIds":{ + "type":"list", + "member":{"shape":"RevocationId"} + }, + "RevocationType":{ + "type":"string", + "enum":["CRL"] + }, "Rule":{ "type":"structure", "members":{ @@ -2739,6 +3410,9 @@ "type":"list", "member":{"shape":"Rule"} }, + "S3Bucket":{"type":"string"}, + "S3Key":{"type":"string"}, + "S3ObjectVersion":{"type":"string"}, "SSLPolicyNotFoundException":{ "type":"structure", "members":{ @@ -3139,7 +3813,7 @@ "members":{ "Key":{ "shape":"TargetGroupAttributeKey", - "documentation":"

      The name of the attribute.

      The following attributes are supported by all load balancers:

      • deregistration_delay.timeout_seconds - The amount of time, in seconds, for Elastic Load Balancing to wait before changing the state of a deregistering target from draining to unused. The range is 0-3600 seconds. The default value is 300 seconds. If the target is a Lambda function, this attribute is not supported.

      • stickiness.enabled - Indicates whether target stickiness is enabled. The value is true or false. The default is false.

      • stickiness.type - Indicates the type of stickiness. The possible values are:

        • lb_cookie and app_cookie for Application Load Balancers.

        • source_ip for Network Load Balancers.

        • source_ip_dest_ip and source_ip_dest_ip_proto for Gateway Load Balancers.

      The following attributes are supported by Application Load Balancers and Network Load Balancers:

      • load_balancing.cross_zone.enabled - Indicates whether cross zone load balancing is enabled. The value is true, false or use_load_balancer_configuration. The default is use_load_balancer_configuration.

      • target_group_health.dns_failover.minimum_healthy_targets.count - The minimum number of targets that must be healthy. If the number of healthy targets is below this value, mark the zone as unhealthy in DNS, so that traffic is routed only to healthy zones. The possible values are off or an integer from 1 to the maximum number of targets. The default is off.

      • target_group_health.dns_failover.minimum_healthy_targets.percentage - The minimum percentage of targets that must be healthy. If the percentage of healthy targets is below this value, mark the zone as unhealthy in DNS, so that traffic is routed only to healthy zones. The possible values are off or an integer from 1 to 100. The default is off.

      • target_group_health.unhealthy_state_routing.minimum_healthy_targets.count - The minimum number of targets that must be healthy. If the number of healthy targets is below this value, send traffic to all targets, including unhealthy targets. The possible values are 1 to the maximum number of targets. The default is 1.

      • target_group_health.unhealthy_state_routing.minimum_healthy_targets.percentage - The minimum percentage of targets that must be healthy. If the percentage of healthy targets is below this value, send traffic to all targets, including unhealthy targets. The possible values are off or an integer from 1 to 100. The default is off.

      The following attributes are supported only if the load balancer is an Application Load Balancer and the target is an instance or an IP address:

      • load_balancing.algorithm.type - The load balancing algorithm determines how the load balancer selects targets when routing requests. The value is round_robin or least_outstanding_requests. The default is round_robin.

      • slow_start.duration_seconds - The time period, in seconds, during which a newly registered target receives an increasing share of the traffic to the target group. After this time period ends, the target receives its full share of traffic. The range is 30-900 seconds (15 minutes). The default is 0 seconds (disabled).

      • stickiness.app_cookie.cookie_name - Indicates the name of the application-based cookie. Names that start with the following prefixes are not allowed: AWSALB, AWSALBAPP, and AWSALBTG; they're reserved for use by the load balancer.

      • stickiness.app_cookie.duration_seconds - The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the application-based cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds).

      • stickiness.lb_cookie.duration_seconds - The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds).

      The following attribute is supported only if the load balancer is an Application Load Balancer and the target is a Lambda function:

      • lambda.multi_value_headers.enabled - Indicates whether the request and response headers that are exchanged between the load balancer and the Lambda function include arrays of values or strings. The value is true or false. The default is false. If the value is false and the request contains a duplicate header field name or query parameter key, the load balancer uses the last value sent by the client.

      The following attributes are supported only by Network Load Balancers:

      • deregistration_delay.connection_termination.enabled - Indicates whether the load balancer terminates connections at the end of the deregistration timeout. The value is true or false. For new UDP/TCP_UDP target groups the default is true. Otherwise, the default is false.

      • preserve_client_ip.enabled - Indicates whether client IP preservation is enabled. The value is true or false. The default is disabled if the target group type is IP address and the target group protocol is TCP or TLS. Otherwise, the default is enabled. Client IP preservation cannot be disabled for UDP and TCP_UDP target groups.

      • proxy_protocol_v2.enabled - Indicates whether Proxy Protocol version 2 is enabled. The value is true or false. The default is false.

      • target_health_state.unhealthy.connection_termination.enabled - Indicates whether the load balancer terminates connections to unhealthy targets. The value is true or false. The default is true.

      The following attributes are supported only by Gateway Load Balancers:

      • target_failover.on_deregistration - Indicates how the Gateway Load Balancer handles existing flows when a target is deregistered. The possible values are rebalance and no_rebalance. The default is no_rebalance. The two attributes (target_failover.on_deregistration and target_failover.on_unhealthy) can't be set independently. The value you set for both attributes must be the same.

      • target_failover.on_unhealthy - Indicates how the Gateway Load Balancer handles existing flows when a target is unhealthy. The possible values are rebalance and no_rebalance. The default is no_rebalance. The two attributes (target_failover.on_deregistration and target_failover.on_unhealthy) cannot be set independently. The value you set for both attributes must be the same.

      " + "documentation":"

      The name of the attribute.

      The following attributes are supported by all load balancers:

      • deregistration_delay.timeout_seconds - The amount of time, in seconds, for Elastic Load Balancing to wait before changing the state of a deregistering target from draining to unused. The range is 0-3600 seconds. The default value is 300 seconds. If the target is a Lambda function, this attribute is not supported.

      • stickiness.enabled - Indicates whether target stickiness is enabled. The value is true or false. The default is false.

      • stickiness.type - Indicates the type of stickiness. The possible values are:

        • lb_cookie and app_cookie for Application Load Balancers.

        • source_ip for Network Load Balancers.

        • source_ip_dest_ip and source_ip_dest_ip_proto for Gateway Load Balancers.

      The following attributes are supported by Application Load Balancers and Network Load Balancers:

      • load_balancing.cross_zone.enabled - Indicates whether cross zone load balancing is enabled. The value is true, false or use_load_balancer_configuration. The default is use_load_balancer_configuration.

      • target_group_health.dns_failover.minimum_healthy_targets.count - The minimum number of targets that must be healthy. If the number of healthy targets is below this value, mark the zone as unhealthy in DNS, so that traffic is routed only to healthy zones. The possible values are off or an integer from 1 to the maximum number of targets. The default is off.

      • target_group_health.dns_failover.minimum_healthy_targets.percentage - The minimum percentage of targets that must be healthy. If the percentage of healthy targets is below this value, mark the zone as unhealthy in DNS, so that traffic is routed only to healthy zones. The possible values are off or an integer from 1 to 100. The default is off.

      • target_group_health.unhealthy_state_routing.minimum_healthy_targets.count - The minimum number of targets that must be healthy. If the number of healthy targets is below this value, send traffic to all targets, including unhealthy targets. The possible values are 1 to the maximum number of targets. The default is 1.

      • target_group_health.unhealthy_state_routing.minimum_healthy_targets.percentage - The minimum percentage of targets that must be healthy. If the percentage of healthy targets is below this value, send traffic to all targets, including unhealthy targets. The possible values are off or an integer from 1 to 100. The default is off.

      The following attributes are supported only if the load balancer is an Application Load Balancer and the target is an instance or an IP address:

      • load_balancing.algorithm.type - The load balancing algorithm determines how the load balancer selects targets when routing requests. The value is round_robin, least_outstanding_requests, or weighted_random. The default is round_robin.

      • load_balancing.algorithm.anomaly_mitigation - Only available when load_balancing.algorithm.type is weighted_random. Indicates whether anomaly mitigation is enabled. The value is on or off. The default is off.

      • slow_start.duration_seconds - The time period, in seconds, during which a newly registered target receives an increasing share of the traffic to the target group. After this time period ends, the target receives its full share of traffic. The range is 30-900 seconds (15 minutes). The default is 0 seconds (disabled).

      • stickiness.app_cookie.cookie_name - Indicates the name of the application-based cookie. Names that start with the following prefixes are not allowed: AWSALB, AWSALBAPP, and AWSALBTG; they're reserved for use by the load balancer.

      • stickiness.app_cookie.duration_seconds - The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the application-based cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds).

      • stickiness.lb_cookie.duration_seconds - The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds).

      The following attribute is supported only if the load balancer is an Application Load Balancer and the target is a Lambda function:

      • lambda.multi_value_headers.enabled - Indicates whether the request and response headers that are exchanged between the load balancer and the Lambda function include arrays of values or strings. The value is true or false. The default is false. If the value is false and the request contains a duplicate header field name or query parameter key, the load balancer uses the last value sent by the client.

      The following attributes are supported only by Network Load Balancers:

      • deregistration_delay.connection_termination.enabled - Indicates whether the load balancer terminates connections at the end of the deregistration timeout. The value is true or false. For new UDP/TCP_UDP target groups the default is true. Otherwise, the default is false.

      • preserve_client_ip.enabled - Indicates whether client IP preservation is enabled. The value is true or false. The default is disabled if the target group type is IP address and the target group protocol is TCP or TLS. Otherwise, the default is enabled. Client IP preservation cannot be disabled for UDP and TCP_UDP target groups.

      • proxy_protocol_v2.enabled - Indicates whether Proxy Protocol version 2 is enabled. The value is true or false. The default is false.

      • target_health_state.unhealthy.connection_termination.enabled - Indicates whether the load balancer terminates connections to unhealthy targets. The value is true or false. The default is true.

      The following attributes are supported only by Gateway Load Balancers:

      • target_failover.on_deregistration - Indicates how the Gateway Load Balancer handles existing flows when a target is deregistered. The possible values are rebalance and no_rebalance. The default is no_rebalance. The two attributes (target_failover.on_deregistration and target_failover.on_unhealthy) can't be set independently. The value you set for both attributes must be the same.

      • target_failover.on_unhealthy - Indicates how the Gateway Load Balancer handles existing flows when a target is unhealthy. The possible values are rebalance and no_rebalance. The default is no_rebalance. The two attributes (target_failover.on_deregistration and target_failover.on_unhealthy) cannot be set independently. The value you set for both attributes must be the same.

      " }, "Value":{ "shape":"TargetGroupAttributeValue", @@ -3253,6 +3927,10 @@ "TargetHealth":{ "shape":"TargetHealth", "documentation":"

      The health information for the target.

      " + }, + "AnomalyDetection":{ + "shape":"AnomalyDetection", + "documentation":"

      The anomaly detection result for the target.

      If no anomalies were detected, the result is normal.

      If anomalies were detected, the result is anomalous.

      " } }, "documentation":"

      Information about the health of a target.

      " @@ -3375,7 +4053,7 @@ "type":"structure", "members":{ }, - "documentation":"

      You've reached the limit on the number of tags per load balancer.

      ", + "documentation":"

      You've reached the limit on the number of tags for this resource.

      ", "error":{ "code":"TooManyTags", "httpStatusCode":400, @@ -3407,6 +4085,30 @@ }, "exception":true }, + "TooManyTrustStoreRevocationEntriesException":{ + "type":"structure", + "members":{ + }, + "documentation":"

      The specified trust store has too many revocation entries.

      ", + "error":{ + "code":"TooManyTrustStoreRevocationEntries", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "TooManyTrustStoresException":{ + "type":"structure", + "members":{ + }, + "documentation":"

      You've reached the limit on the number of trust stores for your Amazon Web Services account.

      ", + "error":{ + "code":"TooManyTrustStores", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "TooManyUniqueTargetGroupsPerLoadBalancerException":{ "type":"structure", "members":{ @@ -3419,6 +4121,136 @@ }, "exception":true }, + "TotalRevokedEntries":{"type":"long"}, + "TrustStore":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"TrustStoreName", + "documentation":"

      The name of the trust store.

      " + }, + "TrustStoreArn":{ + "shape":"TrustStoreArn", + "documentation":"

      The Amazon Resource Name (ARN) of the trust store.

      " + }, + "Status":{ + "shape":"TrustStoreStatus", + "documentation":"

      The current status of the trust store.

      " + }, + "NumberOfCaCertificates":{ + "shape":"NumberOfCaCertificates", + "documentation":"

      The number of ca certificates in the trust store.

      " + }, + "TotalRevokedEntries":{ + "shape":"TotalRevokedEntries", + "documentation":"

      The number of revoked certificates in the trust store.

      " + } + }, + "documentation":"

      Information about a trust store.

      " + }, + "TrustStoreArn":{"type":"string"}, + "TrustStoreArns":{ + "type":"list", + "member":{"shape":"TrustStoreArn"} + }, + "TrustStoreAssociation":{ + "type":"structure", + "members":{ + "ResourceArn":{ + "shape":"TrustStoreAssociationResourceArn", + "documentation":"

      The Amazon Resource Name (ARN) of the resource.

      " + } + }, + "documentation":"

      Information about the resources a trust store is associated with.

      " + }, + "TrustStoreAssociationResourceArn":{"type":"string"}, + "TrustStoreAssociations":{ + "type":"list", + "member":{"shape":"TrustStoreAssociation"} + }, + "TrustStoreInUseException":{ + "type":"structure", + "members":{ + }, + "documentation":"

      The specified trust store is currently in use.

      ", + "error":{ + "code":"TrustStoreInUse", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "TrustStoreName":{ + "type":"string", + "max":32, + "min":1, + "pattern":"^([a-zA-Z0-9]+-)*[a-zA-Z0-9]+$" + }, + "TrustStoreNames":{ + "type":"list", + "member":{"shape":"TrustStoreName"} + }, + "TrustStoreNotFoundException":{ + "type":"structure", + "members":{ + }, + "documentation":"

      The specified trust store does not exist.

      ", + "error":{ + "code":"TrustStoreNotFound", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "TrustStoreNotReadyException":{ + "type":"structure", + "members":{ + }, + "documentation":"

      The specified trust store is not active.

      ", + "error":{ + "code":"TrustStoreNotReady", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "TrustStoreRevocation":{ + "type":"structure", + "members":{ + "TrustStoreArn":{ + "shape":"TrustStoreArn", + "documentation":"

      The Amazon Resource Name (ARN) of the trust store.

      " + }, + "RevocationId":{ + "shape":"RevocationId", + "documentation":"

      The revocation ID of the revocation file.

      " + }, + "RevocationType":{ + "shape":"RevocationType", + "documentation":"

      The type of revocation file.

      " + }, + "NumberOfRevokedEntries":{ + "shape":"NumberOfRevokedEntries", + "documentation":"

      The number of revoked certificates.

      " + } + }, + "documentation":"

      Information about a revocation file in use by a trust store.

      " + }, + "TrustStoreRevocations":{ + "type":"list", + "member":{"shape":"TrustStoreRevocation"} + }, + "TrustStoreStatus":{ + "type":"string", + "enum":[ + "ACTIVE", + "CREATING" + ] + }, + "TrustStores":{ + "type":"list", + "member":{"shape":"TrustStore"} + }, "UnsupportedProtocolException":{ "type":"structure", "members":{ diff --git a/tools/code-generation/api-descriptions/freetier-2023-09-07.normal.json b/tools/code-generation/api-descriptions/freetier-2023-09-07.normal.json new file mode 100644 index 00000000000..da6648af270 --- /dev/null +++ b/tools/code-generation/api-descriptions/freetier-2023-09-07.normal.json @@ -0,0 +1,249 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2023-09-07", + "endpointPrefix":"freetier", + "jsonVersion":"1.0", + "protocol":"json", + "serviceFullName":"AWS Free Tier", + "serviceId":"FreeTier", + "signatureVersion":"v4", + "signingName":"freetier", + "targetPrefix":"AWSFreeTierService", + "uid":"freetier-2023-09-07" + }, + "operations":{ + "GetFreeTierUsage":{ + "name":"GetFreeTierUsage", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetFreeTierUsageRequest"}, + "output":{"shape":"GetFreeTierUsageResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

      Returns a list of all Free Tier usage objects that match your filters.

      " + } + }, + "shapes":{ + "Dimension":{ + "type":"string", + "enum":[ + "SERVICE", + "OPERATION", + "USAGE_TYPE", + "REGION", + "FREE_TIER_TYPE", + "DESCRIPTION", + "USAGE_PERCENTAGE" + ] + }, + "DimensionValues":{ + "type":"structure", + "required":[ + "Key", + "MatchOptions", + "Values" + ], + "members":{ + "Key":{ + "shape":"Dimension", + "documentation":"

      The name of the dimension that you want to filter on.

      " + }, + "MatchOptions":{ + "shape":"MatchOptions", + "documentation":"

      The match options that you can use to filter your results. You can specify only one of these values in the array.

      " + }, + "Values":{ + "shape":"Values", + "documentation":"

      The metadata values you can specify to filter upon, so that the results all match at least one of the specified values.

      " + } + }, + "documentation":"

      Contains the specifications for the filters to use for your request.

      " + }, + "Expression":{ + "type":"structure", + "members":{ + "And":{ + "shape":"Expressions", + "documentation":"

      Return results that match all Expressions that you specified in the array.

      " + }, + "Dimensions":{ + "shape":"DimensionValues", + "documentation":"

      The specific dimension, values, and match type to filter objects with.

      " + }, + "Not":{ + "shape":"Expression", + "documentation":"

      Return results that don’t match the Expression that you specified.

      " + }, + "Or":{ + "shape":"Expressions", + "documentation":"

      Return results that match any of the Expressions that you specified. in the array.

      " + } + }, + "documentation":"

      Use Expression to filter in the GetFreeTierUsage API operation.

      You can use the following patterns:

      • Simple dimension values (Dimensions root operator)

      • Complex expressions with logical operators (AND, NOT, and OR root operators).

      For simple dimension values, you can set the dimension name, values, and match type for the filters that you plan to use.

      Example for simple dimension values

      You can filter to match exactly for REGION==us-east-1 OR REGION==us-west-1.

      The corresponding Expression appears like the following: { \"Dimensions\": { \"Key\": \"REGION\", \"Values\": [ \"us-east-1\", \"us-west-1\" ], \"MatchOptions\": [\"EQUALS\"] } }

      As shown in the previous example, lists of dimension values are combined with OR when you apply the filter.

      For complex expressions with logical operators, you can have nested expressions to use the logical operators and specify advanced filtering.

      Example for complex expressions with logical operators

      You can filter by ((REGION == us-east-1 OR REGION == us-west-1) OR (SERVICE CONTAINS AWSLambda)) AND (USAGE_TYPE !CONTAINS DataTransfer).

      The corresponding Expression appears like the following: { \"And\": [ {\"Or\": [ {\"Dimensions\": { \"Key\": \"REGION\", \"Values\": [ \"us-east-1\", \"us-west-1\" ], \"MatchOptions\": [\"EQUALS\"] }}, {\"Dimensions\": { \"Key\": \"SERVICE\", \"Values\": [\"AWSLambda\"], \"MatchOptions\": [\"CONTAINS\"] } } ]}, {\"Not\": {\"Dimensions\": { \"Key\": \"USAGE_TYPE\", \"Values\": [\"DataTransfer\"], \"MatchOptions\": [\"CONTAINS\"] }}} ] }

      In the following Contents, you must specify exactly one of the following root operators.

      " + }, + "Expressions":{ + "type":"list", + "member":{"shape":"Expression"} + }, + "FreeTierUsage":{ + "type":"structure", + "members":{ + "actualUsageAmount":{ + "shape":"GenericDouble", + "documentation":"

      Describes the actual usage accrued month-to-day (MTD) that you've used so far.

      " + }, + "description":{ + "shape":"GenericString", + "documentation":"

      The description of the Free Tier offer.

      " + }, + "forecastedUsageAmount":{ + "shape":"GenericDouble", + "documentation":"

      Describes the forecasted usage by the month that you're expected to use.

      " + }, + "freeTierType":{ + "shape":"GenericString", + "documentation":"

      Describes the type of the Free Tier offer. For example, the offer can be \"12 Months Free\", \"Always Free\", and \"Free Trial\".

      " + }, + "limit":{ + "shape":"GenericDouble", + "documentation":"

      Describes the maximum usage allowed in Free Tier.

      " + }, + "operation":{ + "shape":"GenericString", + "documentation":"

      Describes usageType more granularly with the specific Amazon Web Service API operation. For example, this can be the RunInstances API operation for Amazon Elastic Compute Cloud.

      " + }, + "region":{ + "shape":"GenericString", + "documentation":"

      Describes the Amazon Web Services Region for which this offer is applicable

      " + }, + "service":{ + "shape":"GenericString", + "documentation":"

      The name of the Amazon Web Service providing the Free Tier offer. For example, this can be Amazon Elastic Compute Cloud.

      " + }, + "unit":{ + "shape":"GenericString", + "documentation":"

      Describes the unit of the usageType, such as Hrs.

      " + }, + "usageType":{ + "shape":"GenericString", + "documentation":"

      Describes the usage details of the offer. For example, this might be Global-BoxUsage:freetrial.

      " + } + }, + "documentation":"

      Consists of a Amazon Web Services Free Tier offer’s metadata and your data usage for the offer.

      " + }, + "FreeTierUsages":{ + "type":"list", + "member":{"shape":"FreeTierUsage"} + }, + "GenericDouble":{"type":"double"}, + "GenericString":{ + "type":"string", + "max":1024, + "min":0, + "pattern":"^[\\S\\s]*$" + }, + "GetFreeTierUsageRequest":{ + "type":"structure", + "members":{ + "filter":{ + "shape":"Expression", + "documentation":"

      An expression that specifies the conditions that you want each FreeTierUsage object to meet.

      " + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

      The maximum number of results to return in the response. MaxResults means that there can be up to the specified number of values, but there might be fewer results based on your filters.

      " + }, + "nextToken":{ + "shape":"NextPageToken", + "documentation":"

      The pagination token that indicates the next set of results to retrieve.

      " + } + } + }, + "GetFreeTierUsageResponse":{ + "type":"structure", + "required":["freeTierUsages"], + "members":{ + "freeTierUsages":{ + "shape":"FreeTierUsages", + "documentation":"

      The list of Free Tier usage objects that meet your filter expression.

      " + }, + "nextToken":{ + "shape":"NextPageToken", + "documentation":"

      The pagination token that indicates the next set of results to retrieve.

      " + } + } + }, + "InternalServerException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"GenericString"} + }, + "documentation":"

      An unexpected error occurred during the processing of your request.

      ", + "exception":true, + "fault":true + }, + "MatchOption":{ + "type":"string", + "enum":[ + "EQUALS", + "STARTS_WITH", + "ENDS_WITH", + "CONTAINS", + "GREATER_THAN_OR_EQUAL" + ] + }, + "MatchOptions":{ + "type":"list", + "member":{"shape":"MatchOption"} + }, + "MaxResults":{ + "type":"integer", + "box":true, + "max":1000, + "min":1 + }, + "NextPageToken":{ + "type":"string", + "max":8192, + "min":1, + "pattern":"^[\\S\\s]*$" + }, + "ThrottlingException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"GenericString"} + }, + "documentation":"

      The request was denied due to request throttling.

      ", + "exception":true + }, + "ValidationException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"GenericString"} + }, + "documentation":"

      The input fails to satisfy the constraints specified by an Amazon Web Service.

      ", + "exception":true + }, + "Value":{ + "type":"string", + "max":20, + "min":1, + "pattern":"^[ a-zA-Z0-9\\-\\:\\.\\_\\/\\,\\$\\(\\)]*$" + }, + "Values":{ + "type":"list", + "member":{"shape":"Value"}, + "min":1 + } + }, + "documentation":"

      You can use the Amazon Web Services Free Tier API to query programmatically your Free Tier usage data.

      Free Tier tracks your monthly usage data for all free tier offers that are associated with your Amazon Web Services account. You can use the Free Tier API to filter and show only the data that you want.

      Service endpoint

      The Free Tier API provides the following endpoint:

      • https://freetier.us-east-1.api.aws

      For more information, see Using the Amazon Web Services Free Tier in the Billing User Guide.

      " +} diff --git a/tools/code-generation/api-descriptions/fsx-2018-03-01.normal.json b/tools/code-generation/api-descriptions/fsx-2018-03-01.normal.json index a7cb711b6cc..1ce34fcf6a8 100644 --- a/tools/code-generation/api-descriptions/fsx-2018-03-01.normal.json +++ b/tools/code-generation/api-descriptions/fsx-2018-03-01.normal.json @@ -70,6 +70,23 @@ "documentation":"

      Copies an existing backup within the same Amazon Web Services account to another Amazon Web Services Region (cross-Region copy) or within the same Amazon Web Services Region (in-Region copy). You can have up to five backup copy requests in progress to a single destination Region per account.

      You can use cross-Region backup copies for cross-Region disaster recovery. You can periodically take backups and copy them to another Region so that in the event of a disaster in the primary Region, you can restore from backup and recover availability quickly in the other Region. You can make cross-Region copies only within your Amazon Web Services partition. A partition is a grouping of Regions. Amazon Web Services currently has three partitions: aws (Standard Regions), aws-cn (China Regions), and aws-us-gov (Amazon Web Services GovCloud [US] Regions).

      You can also use backup copies to clone your file dataset to another Region or within the same Region.

      You can use the SourceRegion parameter to specify the Amazon Web Services Region from which the backup will be copied. For example, if you make the call from the us-west-1 Region and want to copy a backup from the us-east-2 Region, you specify us-east-2 in the SourceRegion parameter to make a cross-Region copy. If you don't specify a Region, the backup copy is created in the same Region where the request is sent from (in-Region copy).

      For more information about creating backup copies, see Copying backups in the Amazon FSx for Windows User Guide, Copying backups in the Amazon FSx for Lustre User Guide, and Copying backups in the Amazon FSx for OpenZFS User Guide.

      ", "idempotent":true }, + "CopySnapshotAndUpdateVolume":{ + "name":"CopySnapshotAndUpdateVolume", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CopySnapshotAndUpdateVolumeRequest"}, + "output":{"shape":"CopySnapshotAndUpdateVolumeResponse"}, + "errors":[ + {"shape":"BadRequest"}, + {"shape":"IncompatibleParameterError"}, + {"shape":"InternalServerError"}, + {"shape":"ServiceLimitExceeded"} + ], + "documentation":"

      Updates an existing volume by using a snapshot from another Amazon FSx for OpenZFS file system. For more information, see on-demand data replication in the Amazon FSx for OpenZFS User Guide.

      ", + "idempotent":true + }, "CreateBackup":{ "name":"CreateBackup", "http":{ @@ -489,6 +506,20 @@ ], "documentation":"

      Returns the description of specific Amazon FSx file systems, if a FileSystemIds value is provided for that file system. Otherwise, it returns descriptions of all file systems owned by your Amazon Web Services account in the Amazon Web Services Region of the endpoint that you're calling.

      When retrieving all file system descriptions, you can optionally specify the MaxResults parameter to limit the number of descriptions in a response. If more file system descriptions remain, Amazon FSx returns a NextToken value in the response. In this case, send a later request with the NextToken request parameter set to the value of NextToken from the last response.

      This operation is used in an iterative process to retrieve a list of your file system descriptions. DescribeFileSystems is called first without a NextTokenvalue. Then the operation continues to be called with the NextToken parameter set to the value of the last NextToken value until a response has no NextToken.

      When using this operation, keep the following in mind:

      • The implementation might return fewer than MaxResults file system descriptions while still including a NextToken value.

      • The order of file systems returned in the response of one DescribeFileSystems call and the order of file systems returned across the responses of a multicall iteration is unspecified.

      " }, + "DescribeSharedVpcConfiguration":{ + "name":"DescribeSharedVpcConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeSharedVpcConfigurationRequest"}, + "output":{"shape":"DescribeSharedVpcConfigurationResponse"}, + "errors":[ + {"shape":"BadRequest"}, + {"shape":"InternalServerError"} + ], + "documentation":"

      Indicates whether participant accounts in your organization can create Amazon FSx for NetApp ONTAP Multi-AZ file systems in subnets that are shared by a virtual private cloud (VPC) owner. For more information, see the Amazon FSx for NetApp ONTAP User Guide.

      " + }, "DescribeSnapshots":{ "name":"DescribeSnapshots", "http":{ @@ -547,7 +578,7 @@ {"shape":"FileSystemNotFound"}, {"shape":"InternalServerError"} ], - "documentation":"

      Use this action to disassociate, or remove, one or more Domain Name Service (DNS) aliases from an Amazon FSx for Windows File Server file system. If you attempt to disassociate a DNS alias that is not associated with the file system, Amazon FSx responds with a 400 Bad Request. For more information, see Working with DNS Aliases.

      The system generated response showing the DNS aliases that Amazon FSx is attempting to disassociate from the file system. Use the API operation to monitor the status of the aliases Amazon FSx is disassociating with the file system.

      " + "documentation":"

      Use this action to disassociate, or remove, one or more Domain Name Service (DNS) aliases from an Amazon FSx for Windows File Server file system. If you attempt to disassociate a DNS alias that is not associated with the file system, Amazon FSx responds with an HTTP status code 400 (Bad Request). For more information, see Working with DNS Aliases.

      The system generated response showing the DNS aliases that Amazon FSx is attempting to disassociate from the file system. Use the API operation to monitor the status of the aliases Amazon FSx is disassociating with the file system.

      " }, "ListTagsForResource":{ "name":"ListTagsForResource", @@ -707,7 +738,22 @@ {"shape":"MissingFileSystemConfiguration"}, {"shape":"ServiceLimitExceeded"} ], - "documentation":"

      Use this operation to update the configuration of an existing Amazon FSx file system. You can update multiple properties in a single request.

      For FSx for Windows File Server file systems, you can update the following properties:

      • AuditLogConfiguration

      • AutomaticBackupRetentionDays

      • DailyAutomaticBackupStartTime

      • SelfManagedActiveDirectoryConfiguration

      • StorageCapacity

      • StorageType

      • ThroughputCapacity

      • DiskIopsConfiguration

      • WeeklyMaintenanceStartTime

      For FSx for Lustre file systems, you can update the following properties:

      • AutoImportPolicy

      • AutomaticBackupRetentionDays

      • DailyAutomaticBackupStartTime

      • DataCompressionType

      • LogConfiguration

      • LustreRootSquashConfiguration

      • PerUnitStorageThroughput

      • StorageCapacity

      • WeeklyMaintenanceStartTime

      For FSx for ONTAP file systems, you can update the following properties:

      • AddRouteTableIds

      • AutomaticBackupRetentionDays

      • DailyAutomaticBackupStartTime

      • DiskIopsConfiguration

      • FsxAdminPassword

      • RemoveRouteTableIds

      • StorageCapacity

      • ThroughputCapacity

      • WeeklyMaintenanceStartTime

      For FSx for OpenZFS file systems, you can update the following properties:

      • AddRouteTableIds

      • AutomaticBackupRetentionDays

      • CopyTagsToBackups

      • CopyTagsToVolumes

      • DailyAutomaticBackupStartTime

      • DiskIopsConfiguration

      • RemoveRouteTableIds

      • StorageCapacity

      • ThroughputCapacity

      • WeeklyMaintenanceStartTime

      " + "documentation":"

      Use this operation to update the configuration of an existing Amazon FSx file system. You can update multiple properties in a single request.

      For FSx for Windows File Server file systems, you can update the following properties:

      • AuditLogConfiguration

      • AutomaticBackupRetentionDays

      • DailyAutomaticBackupStartTime

      • SelfManagedActiveDirectoryConfiguration

      • StorageCapacity

      • StorageType

      • ThroughputCapacity

      • DiskIopsConfiguration

      • WeeklyMaintenanceStartTime

      For FSx for Lustre file systems, you can update the following properties:

      • AutoImportPolicy

      • AutomaticBackupRetentionDays

      • DailyAutomaticBackupStartTime

      • DataCompressionType

      • LogConfiguration

      • LustreRootSquashConfiguration

      • PerUnitStorageThroughput

      • StorageCapacity

      • WeeklyMaintenanceStartTime

      For FSx for ONTAP file systems, you can update the following properties:

      • AddRouteTableIds

      • AutomaticBackupRetentionDays

      • DailyAutomaticBackupStartTime

      • DiskIopsConfiguration

      • FsxAdminPassword

      • HAPairs

      • RemoveRouteTableIds

      • StorageCapacity

      • ThroughputCapacity

      • ThroughputCapacityPerHAPair

      • WeeklyMaintenanceStartTime

      For FSx for OpenZFS file systems, you can update the following properties:

      • AddRouteTableIds

      • AutomaticBackupRetentionDays

      • CopyTagsToBackups

      • CopyTagsToVolumes

      • DailyAutomaticBackupStartTime

      • DiskIopsConfiguration

      • RemoveRouteTableIds

      • StorageCapacity

      • ThroughputCapacity

      • WeeklyMaintenanceStartTime

      " + }, + "UpdateSharedVpcConfiguration":{ + "name":"UpdateSharedVpcConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateSharedVpcConfigurationRequest"}, + "output":{"shape":"UpdateSharedVpcConfigurationResponse"}, + "errors":[ + {"shape":"BadRequest"}, + {"shape":"IncompatibleParameterError"}, + {"shape":"InternalServerError"} + ], + "documentation":"

      Configures whether participant accounts in your organization can create Amazon FSx for NetApp ONTAP Multi-AZ file systems in subnets that are shared by a virtual private cloud (VPC) owner. For more information, see the Amazon FSx for NetApp ONTAP User Guide.

      We strongly recommend that participant-created Multi-AZ file systems in the shared VPC are deleted before you disable this feature. Once the feature is disabled, these file systems will enter a MISCONFIGURED state and behave like Single-AZ file systems. For more information, see Important considerations before disabling shared VPC support for Multi-AZ file systems.

      " }, "UpdateSnapshot":{ "name":"UpdateSnapshot", @@ -837,17 +883,25 @@ }, "Status":{ "shape":"Status", - "documentation":"

      Describes the status of the administrative action, as follows:

      • FAILED - Amazon FSx failed to process the administrative action successfully.

      • IN_PROGRESS - Amazon FSx is processing the administrative action.

      • PENDING - Amazon FSx is waiting to process the administrative action.

      • COMPLETED - Amazon FSx has finished processing the administrative task.

      • UPDATED_OPTIMIZING - For a storage-capacity increase update, Amazon FSx has updated the file system with the new storage capacity, and is now performing the storage-optimization process.

      " + "documentation":"

      The status of the administrative action, as follows:

      • FAILED - Amazon FSx failed to process the administrative action successfully.

      • IN_PROGRESS - Amazon FSx is processing the administrative action.

      • PENDING - Amazon FSx is waiting to process the administrative action.

      • COMPLETED - Amazon FSx has finished processing the administrative task.

      • UPDATED_OPTIMIZING - For a storage-capacity increase update, Amazon FSx has updated the file system with the new storage capacity, and is now performing the storage-optimization process.

      " }, "TargetFileSystemValues":{ "shape":"FileSystem", - "documentation":"

      Describes the target value for the administration action, provided in the UpdateFileSystem operation. Returned for FILE_SYSTEM_UPDATE administrative actions.

      " + "documentation":"

      The target value for the administration action, provided in the UpdateFileSystem operation. Returned for FILE_SYSTEM_UPDATE administrative actions.

      " }, "FailureDetails":{"shape":"AdministrativeActionFailureDetails"}, "TargetVolumeValues":{"shape":"Volume"}, - "TargetSnapshotValues":{"shape":"Snapshot"} + "TargetSnapshotValues":{"shape":"Snapshot"}, + "TotalTransferBytes":{ + "shape":"TotalTransferBytes", + "documentation":"

      The number of bytes that have transferred for the FSx for OpenZFS snapshot that you're copying.

      " + }, + "RemainingTransferBytes":{ + "shape":"RemainingTransferBytes", + "documentation":"

      The remaining bytes to transfer for the FSx for OpenZFS snapshot that you're copying.

      " + } }, - "documentation":"

      Describes a specific Amazon FSx administrative action for the current Windows, Lustre, or OpenZFS file system.

      " + "documentation":"

      Describes a specific Amazon FSx administrative action for the current Windows, Lustre, OpenZFS, or ONTAP file system or volume.

      " }, "AdministrativeActionFailureDetails":{ "type":"structure", @@ -861,7 +915,7 @@ }, "AdministrativeActionType":{ "type":"string", - "documentation":"

      Describes the type of administrative action, as follows:

      • FILE_SYSTEM_UPDATE - A file system update administrative action initiated from the Amazon FSx console, API (UpdateFileSystem), or CLI (update-file-system).

      • THROUGHPUT_OPTIMIZATION - After the FILE_SYSTEM_UPDATE task to increase a file system's throughput capacity has been completed successfully, a THROUGHPUT_OPTIMIZATION task starts.

        You can track the storage-optimization progress using the ProgressPercent property. When THROUGHPUT_OPTIMIZATION has been completed successfully, the parent FILE_SYSTEM_UPDATE action status changes to COMPLETED. For more information, see Managing throughput capacity in the Amazon FSx for Windows File Server User Guide.

      • STORAGE_OPTIMIZATION - After the FILE_SYSTEM_UPDATE task to increase a file system's storage capacity has been completed successfully, a STORAGE_OPTIMIZATION task starts.

        • For Windows and ONTAP, storage optimization is the process of migrating the file system data to newer larger disks.

        • For Lustre, storage optimization consists of rebalancing the data across the existing and newly added file servers.

        You can track the storage-optimization progress using the ProgressPercent property. When STORAGE_OPTIMIZATION has been completed successfully, the parent FILE_SYSTEM_UPDATE action status changes to COMPLETED. For more information, see Managing storage capacity in the Amazon FSx for Windows File Server User Guide, Managing storage capacity in the Amazon FSx for Lustre User Guide, and Managing storage capacity and provisioned IOPS in the Amazon FSx for NetApp ONTAP User Guide.

      • FILE_SYSTEM_ALIAS_ASSOCIATION - A file system update to associate a new Domain Name System (DNS) alias with the file system. For more information, see AssociateFileSystemAliases.

      • FILE_SYSTEM_ALIAS_DISASSOCIATION - A file system update to disassociate a DNS alias from the file system. For more information, see DisassociateFileSystemAliases.

      • IOPS_OPTIMIZATION - After the FILE_SYSTEM_UPDATE task to increase a file system's throughput capacity has been completed successfully, a IOPS_OPTIMIZATION task starts.

        You can track the storage-optimization progress using the ProgressPercent property. When IOPS_OPTIMIZATION has been completed successfully, the parent FILE_SYSTEM_UPDATE action status changes to COMPLETED. For more information, see Managing provisioned SSD IOPS in the Amazon FSx for Windows File Server User Guide.

      • STORAGE_TYPE_OPTIMIZATION - After the FILE_SYSTEM_UPDATE task to increase a file system's throughput capacity has been completed successfully, a STORAGE_TYPE_OPTIMIZATION task starts.

        You can track the storage-optimization progress using the ProgressPercent property. When STORAGE_TYPE_OPTIMIZATION has been completed successfully, the parent FILE_SYSTEM_UPDATE action status changes to COMPLETED.

      • VOLUME_UPDATE - A volume update to an Amazon FSx for NetApp ONTAP or Amazon FSx for OpenZFS volume initiated from the Amazon FSx console, API (UpdateVolume), or CLI (update-volume).

      • VOLUME_RESTORE - An Amazon FSx for OpenZFS volume is returned to the state saved by the specified snapshot, initiated from an API (RestoreVolumeFromSnapshot) or CLI (restore-volume-from-snapshot).

      • SNAPSHOT_UPDATE - A snapshot update to an Amazon FSx for OpenZFS volume initiated from the Amazon FSx console, API (UpdateSnapshot), or CLI (update-snapshot).

      • RELEASE_NFS_V3_LOCKS - Tracks the release of Network File System (NFS) V3 locks on an Amazon FSx for OpenZFS file system.

      ", + "documentation":"

      Describes the type of administrative action, as follows:

      • FILE_SYSTEM_UPDATE - A file system update administrative action initiated from the Amazon FSx console, API (UpdateFileSystem), or CLI (update-file-system).

      • THROUGHPUT_OPTIMIZATION - After the FILE_SYSTEM_UPDATE task to increase a file system's throughput capacity has been completed successfully, a THROUGHPUT_OPTIMIZATION task starts.

        You can track the storage-optimization progress using the ProgressPercent property. When THROUGHPUT_OPTIMIZATION has been completed successfully, the parent FILE_SYSTEM_UPDATE action status changes to COMPLETED. For more information, see Managing throughput capacity in the Amazon FSx for Windows File Server User Guide.

      • STORAGE_OPTIMIZATION - After the FILE_SYSTEM_UPDATE task to increase a file system's storage capacity has been completed successfully, a STORAGE_OPTIMIZATION task starts.

        • For Windows and ONTAP, storage optimization is the process of migrating the file system data to newer larger disks.

        • For Lustre, storage optimization consists of rebalancing the data across the existing and newly added file servers.

        You can track the storage-optimization progress using the ProgressPercent property. When STORAGE_OPTIMIZATION has been completed successfully, the parent FILE_SYSTEM_UPDATE action status changes to COMPLETED. For more information, see Managing storage capacity in the Amazon FSx for Windows File Server User Guide, Managing storage capacity in the Amazon FSx for Lustre User Guide, and Managing storage capacity and provisioned IOPS in the Amazon FSx for NetApp ONTAP User Guide.

      • FILE_SYSTEM_ALIAS_ASSOCIATION - A file system update to associate a new Domain Name System (DNS) alias with the file system. For more information, see AssociateFileSystemAliases.

      • FILE_SYSTEM_ALIAS_DISASSOCIATION - A file system update to disassociate a DNS alias from the file system. For more information, see DisassociateFileSystemAliases.

      • IOPS_OPTIMIZATION - After the FILE_SYSTEM_UPDATE task to increase a file system's throughput capacity has been completed successfully, a IOPS_OPTIMIZATION task starts.

        You can track the storage-optimization progress using the ProgressPercent property. When IOPS_OPTIMIZATION has been completed successfully, the parent FILE_SYSTEM_UPDATE action status changes to COMPLETED. For more information, see Managing provisioned SSD IOPS in the Amazon FSx for Windows File Server User Guide.

      • STORAGE_TYPE_OPTIMIZATION - After the FILE_SYSTEM_UPDATE task to increase a file system's throughput capacity has been completed successfully, a STORAGE_TYPE_OPTIMIZATION task starts.

        You can track the storage-optimization progress using the ProgressPercent property. When STORAGE_TYPE_OPTIMIZATION has been completed successfully, the parent FILE_SYSTEM_UPDATE action status changes to COMPLETED.

      • VOLUME_UPDATE - A volume update to an Amazon FSx for OpenZFS volume initiated from the Amazon FSx console, API (UpdateVolume), or CLI (update-volume).

      • VOLUME_RESTORE - An Amazon FSx for OpenZFS volume is returned to the state saved by the specified snapshot, initiated from an API (RestoreVolumeFromSnapshot) or CLI (restore-volume-from-snapshot).

      • SNAPSHOT_UPDATE - A snapshot update to an Amazon FSx for OpenZFS volume initiated from the Amazon FSx console, API (UpdateSnapshot), or CLI (update-snapshot).

      • RELEASE_NFS_V3_LOCKS - Tracks the release of Network File System (NFS) V3 locks on an Amazon FSx for OpenZFS file system.

      • VOLUME_INITIALIZE_WITH_SNAPSHOT - A volume is being created from a snapshot on a different FSx for OpenZFS file system. You can initiate this from the Amazon FSx console, API (CreateVolume), or CLI (create-volume) when using the using the FULL_COPY strategy.

      • VOLUME_UPDATE_WITH_SNAPSHOT - A volume is being updated from a snapshot on a different FSx for OpenZFS file system. You can initiate this from the Amazon FSx console, API (CopySnapshotAndUpdateVolume), or CLI (copy-snapshot-and-update-volume).

      ", "enum":[ "FILE_SYSTEM_UPDATE", "STORAGE_OPTIMIZATION", @@ -874,7 +928,9 @@ "THROUGHPUT_OPTIMIZATION", "IOPS_OPTIMIZATION", "STORAGE_TYPE_OPTIMIZATION", - "MISCONFIGURED_STATE_RECOVERY" + "MISCONFIGURED_STATE_RECOVERY", + "VOLUME_UPDATE_WITH_SNAPSHOT", + "VOLUME_INITIALIZE_WITH_SNAPSHOT" ] }, "AdministrativeActions":{ @@ -882,6 +938,36 @@ "member":{"shape":"AdministrativeAction"}, "max":50 }, + "Aggregate":{ + "type":"string", + "max":6, + "min":5, + "pattern":"^(aggr[0-9]{1,2})$" + }, + "AggregateConfiguration":{ + "type":"structure", + "members":{ + "Aggregates":{ + "shape":"Aggregates", + "documentation":"

      The list of aggregates that this volume resides on. Aggregates are storage pools which make up your primary storage tier. Each high-availability (HA) pair has one aggregate. The names of the aggregates map to the names of the aggregates in the ONTAP CLI and REST API. For FlexVols, there will always be a single entry.

      Amazon FSx responds with an HTTP status code 400 (Bad Request) for the following conditions:

      • The strings in the value of Aggregates are not are not formatted as aggrX, where X is a number between 1 and 6.

      • The value of Aggregates contains aggregates that are not present.

      • One or more of the aggregates supplied are too close to the volume limit to support adding more volumes.

      " + }, + "TotalConstituents":{ + "shape":"TotalConstituents", + "documentation":"

      The total number of constituents this FlexGroup volume has. Not applicable for FlexVols.

      " + } + }, + "documentation":"

      Used to specify configuration options for a volume’s storage aggregate or aggregates.

      " + }, + "AggregateListMultiplier":{ + "type":"integer", + "max":200, + "min":1 + }, + "Aggregates":{ + "type":"list", + "member":{"shape":"Aggregate"}, + "max":6 + }, "Alias":{ "type":"structure", "members":{ @@ -1283,7 +1369,64 @@ "Backup":{"shape":"Backup"} } }, + "CopySnapshotAndUpdateVolumeRequest":{ + "type":"structure", + "required":[ + "VolumeId", + "SourceSnapshotARN" + ], + "members":{ + "ClientRequestToken":{ + "shape":"ClientRequestToken", + "idempotencyToken":true + }, + "VolumeId":{ + "shape":"VolumeId", + "documentation":"

      Specifies the ID of the volume that you are copying the snapshot to.

      " + }, + "SourceSnapshotARN":{"shape":"ResourceARN"}, + "CopyStrategy":{ + "shape":"OpenZFSCopyStrategy", + "documentation":"

      Specifies the strategy to use when copying data from a snapshot to the volume.

      • FULL_COPY - Copies all data from the snapshot to the volume.

      • INCREMENTAL_COPY - Copies only the snapshot data that's changed since the previous replication.

      CLONE isn't a valid copy strategy option for the CopySnapshotAndUpdateVolume operation.

      " + }, + "Options":{ + "shape":"UpdateOpenZFSVolumeOptions", + "documentation":"

      Confirms that you want to delete data on the destination volume that wasn’t there during the previous snapshot replication.

      Your replication will fail if you don’t include an option for a specific type of data and that data is on your destination. For example, if you don’t include DELETE_INTERMEDIATE_SNAPSHOTS and there are intermediate snapshots on the destination, you can’t copy the snapshot.

      • DELETE_INTERMEDIATE_SNAPSHOTS - Deletes snapshots on the destination volume that aren’t on the source volume.

      • DELETE_CLONED_VOLUMES - Deletes snapshot clones on the destination volume that aren't on the source volume.

      • DELETE_INTERMEDIATE_DATA - Overwrites snapshots on the destination volume that don’t match the source snapshot that you’re copying.

      " + } + } + }, + "CopySnapshotAndUpdateVolumeResponse":{ + "type":"structure", + "members":{ + "VolumeId":{ + "shape":"VolumeId", + "documentation":"

      The ID of the volume that you copied the snapshot to.

      " + }, + "Lifecycle":{ + "shape":"VolumeLifecycle", + "documentation":"

      The lifecycle state of the destination volume.

      " + }, + "AdministrativeActions":{ + "shape":"AdministrativeActions", + "documentation":"

      A list of administrative actions for the file system that are in process or waiting to be processed. Administrative actions describe changes to the Amazon FSx system.

      " + } + } + }, "CopyTagsToDataRepositoryAssociations":{"type":"boolean"}, + "CreateAggregateConfiguration":{ + "type":"structure", + "members":{ + "Aggregates":{ + "shape":"Aggregates", + "documentation":"

      Used to specify the names of aggregates on which the volume will be created.

      " + }, + "ConstituentsPerAggregate":{ + "shape":"AggregateListMultiplier", + "documentation":"

      Used to explicitly set the number of constituents within the FlexGroup per storage aggregate. This field is optional when creating a FlexGroup volume. If unspecified, the default value will be 8. This field cannot be provided when creating a FlexVol volume.

      " + } + }, + "documentation":"

      Used to specify the configuration options for a volume's storage aggregate or aggregates.

      " + }, "CreateBackupRequest":{ "type":"structure", "members":{ @@ -1539,7 +1682,7 @@ }, "StorageCapacity":{ "shape":"StorageCapacity", - "documentation":"

      Sets the storage capacity of the OpenZFS file system that you're creating from a backup, in gibibytes (GiB). Valid values are from 64 GiB up to 524,288 GiB (512 TiB). However, the value that you specify must be equal to or greater than the backup's storage capacity value. If you don't use the StorageCapacity parameter, the default is the backup's StorageCapacity value.

      If used to create a file system other than OpenZFS, you must provide a value that matches the backup's StorageCapacity value. If you provide any other value, Amazon FSx responds with a 400 Bad Request.

      " + "documentation":"

      Sets the storage capacity of the OpenZFS file system that you're creating from a backup, in gibibytes (GiB). Valid values are from 64 GiB up to 524,288 GiB (512 TiB). However, the value that you specify must be equal to or greater than the backup's storage capacity value. If you don't use the StorageCapacity parameter, the default is the backup's StorageCapacity value.

      If used to create a file system other than OpenZFS, you must provide a value that matches the backup's StorageCapacity value. If you provide any other value, Amazon FSx responds with with an HTTP status code 400 Bad Request.

      " } }, "documentation":"

      The request object for the CreateFileSystemFromBackup operation.

      " @@ -1615,16 +1758,13 @@ }, "CreateFileSystemOntapConfiguration":{ "type":"structure", - "required":[ - "DeploymentType", - "ThroughputCapacity" - ], + "required":["DeploymentType"], "members":{ "AutomaticBackupRetentionDays":{"shape":"AutomaticBackupRetentionDays"}, "DailyAutomaticBackupStartTime":{"shape":"DailyTime"}, "DeploymentType":{ "shape":"OntapDeploymentType", - "documentation":"

      Specifies the FSx for ONTAP file system deployment type to use in creating the file system.

      • MULTI_AZ_1 - (Default) A high availability file system configured for Multi-AZ redundancy to tolerate temporary Availability Zone (AZ) unavailability.

      • SINGLE_AZ_1 - A file system configured for Single-AZ redundancy.

      For information about the use cases for Multi-AZ and Single-AZ deployments, refer to Choosing a file system deployment type.

      " + "documentation":"

      Specifies the FSx for ONTAP file system deployment type to use in creating the file system.

      • MULTI_AZ_1 - (Default) A high availability file system configured for Multi-AZ redundancy to tolerate temporary Availability Zone (AZ) unavailability.

      • SINGLE_AZ_1 - A file system configured for Single-AZ redundancy.

      • SINGLE_AZ_2 - A file system configured with multiple high-availability (HA) pairs for Single-AZ redundancy.

      For information about the use cases for Multi-AZ and Single-AZ deployments, refer to Choosing a file system deployment type.

      " }, "EndpointIpAddressRange":{ "shape":"IpAddressRange", @@ -1648,9 +1788,17 @@ }, "ThroughputCapacity":{ "shape":"MegabytesPerSecond", - "documentation":"

      Sets the throughput capacity for the file system that you're creating. Valid values are 128, 256, 512, 1024, 2048, and 4096 MBps.

      " + "documentation":"

      Sets the throughput capacity for the file system that you're creating in megabytes per second (MBps). For more information, see Managing throughput capacity in the FSx for ONTAP User Guide.

      Amazon FSx responds with an HTTP status code 400 (Bad Request) for the following conditions:

      • The value of ThroughputCapacity and ThroughputCapacityPerHAPair are not the same value.

      • The value of ThroughputCapacity when divided by the value of HAPairs is outside of the valid range for ThroughputCapacity.

      " }, - "WeeklyMaintenanceStartTime":{"shape":"WeeklyTime"} + "WeeklyMaintenanceStartTime":{"shape":"WeeklyTime"}, + "HAPairs":{ + "shape":"HAPairs", + "documentation":"

      Specifies how many high-availability (HA) pairs the file system will have. The default value is 1. The value of this property affects the values of StorageCapacity, Iops, and ThroughputCapacity. For more information, see High-availability (HA) pairs in the FSx for ONTAP user guide.

      Amazon FSx responds with an HTTP status code 400 (Bad Request) for the following conditions:

      • The value of HAPairs is less than 1 or greater than 6.

      • The value of HAPairs is greater than 1 and the value of DeploymentType is SINGLE_AZ_1 or MULTI_AZ_1.

      " + }, + "ThroughputCapacityPerHAPair":{ + "shape":"ThroughputCapacityPerHAPair", + "documentation":"

      Use to choose the throughput capacity per HA pair, rather than the total throughput for the file system.

      This field and ThroughputCapacity cannot be defined in the same API call, but one is required.

      This field and ThroughputCapacity are the same for file systems with one HA pair.

      • For SINGLE_AZ_1 and MULTI_AZ_1, valid values are 128, 256, 512, 1024, 2048, or 4096 MBps.

      • For SINGLE_AZ_2, valid values are 3072 or 6144 MBps.

      Amazon FSx responds with an HTTP status code 400 (Bad Request) for the following conditions:

      • The value of ThroughputCapacity and ThroughputCapacityPerHAPair are not the same value

      • The value of ThroughputCapacityPerHAPair is not a valid value.

      " + } }, "documentation":"

      The ONTAP configuration properties of the FSx for ONTAP file system that you are creating.

      " }, @@ -1719,7 +1867,7 @@ }, "StorageCapacity":{ "shape":"StorageCapacity", - "documentation":"

      Sets the storage capacity of the file system that you're creating, in gibibytes (GiB).

      FSx for Lustre file systems - The amount of storage capacity that you can configure depends on the value that you set for StorageType and the Lustre DeploymentType, as follows:

      • For SCRATCH_2, PERSISTENT_2 and PERSISTENT_1 deployment types using SSD storage type, the valid values are 1200 GiB, 2400 GiB, and increments of 2400 GiB.

      • For PERSISTENT_1 HDD file systems, valid values are increments of 6000 GiB for 12 MB/s/TiB file systems and increments of 1800 GiB for 40 MB/s/TiB file systems.

      • For SCRATCH_1 deployment type, valid values are 1200 GiB, 2400 GiB, and increments of 3600 GiB.

      FSx for ONTAP file systems - The amount of storage capacity that you can configure is from 1024 GiB up to 196,608 GiB (192 TiB).

      FSx for OpenZFS file systems - The amount of storage capacity that you can configure is from 64 GiB up to 524,288 GiB (512 TiB).

      FSx for Windows File Server file systems - The amount of storage capacity that you can configure depends on the value that you set for StorageType as follows:

      • For SSD storage, valid values are 32 GiB-65,536 GiB (64 TiB).

      • For HDD storage, valid values are 2000 GiB-65,536 GiB (64 TiB).

      " + "documentation":"

      Sets the storage capacity of the file system that you're creating, in gibibytes (GiB).

      FSx for Lustre file systems - The amount of storage capacity that you can configure depends on the value that you set for StorageType and the Lustre DeploymentType, as follows:

      • For SCRATCH_2, PERSISTENT_2 and PERSISTENT_1 deployment types using SSD storage type, the valid values are 1200 GiB, 2400 GiB, and increments of 2400 GiB.

      • For PERSISTENT_1 HDD file systems, valid values are increments of 6000 GiB for 12 MB/s/TiB file systems and increments of 1800 GiB for 40 MB/s/TiB file systems.

      • For SCRATCH_1 deployment type, valid values are 1200 GiB, 2400 GiB, and increments of 3600 GiB.

      FSx for ONTAP file systems - The amount of storage capacity that you can configure depends on the value of the HAPairs property. The minimum value is calculated as 1,024 * HAPairs and the maxium is calculated as 524,288 * HAPairs..

      FSx for OpenZFS file systems - The amount of storage capacity that you can configure is from 64 GiB up to 524,288 GiB (512 TiB).

      FSx for Windows File Server file systems - The amount of storage capacity that you can configure depends on the value that you set for StorageType as follows:

      • For SSD storage, valid values are 32 GiB-65,536 GiB (64 TiB).

      • For HDD storage, valid values are 2000 GiB-65,536 GiB (64 TiB).

      " }, "StorageType":{ "shape":"StorageType", @@ -1819,10 +1967,7 @@ }, "CreateOntapVolumeConfiguration":{ "type":"structure", - "required":[ - "SizeInMegabytes", - "StorageVirtualMachineId" - ], + "required":["StorageVirtualMachineId"], "members":{ "JunctionPath":{ "shape":"JunctionPath", @@ -1834,7 +1979,9 @@ }, "SizeInMegabytes":{ "shape":"VolumeCapacity", - "documentation":"

      Specifies the size of the volume, in megabytes (MB), that you are creating.

      " + "documentation":"

      Specifies the size of the volume, in megabytes (MB), that you are creating.

      ", + "deprecated":true, + "deprecatedMessage":"This property is deprecated, use SizeInBytes instead" }, "StorageEfficiencyEnabled":{ "shape":"Flag", @@ -1860,6 +2007,18 @@ "SnaplockConfiguration":{ "shape":"CreateSnaplockConfiguration", "documentation":"

      Specifies the SnapLock configuration for an FSx for ONTAP volume.

      " + }, + "VolumeStyle":{ + "shape":"VolumeStyle", + "documentation":"

      Use to specify the style of an ONTAP volume. For more information about FlexVols and FlexGroups, see Volume types in Amazon FSx for NetApp ONTAP User Guide.

      " + }, + "AggregateConfiguration":{ + "shape":"CreateAggregateConfiguration", + "documentation":"

      Use to specify configuration options for a volume’s storage aggregate or aggregates.

      " + }, + "SizeInBytes":{ + "shape":"VolumeCapacityBytes", + "documentation":"

      The configured size of the volume, in bytes.

      " } }, "documentation":"

      Specifies the configuration of the ONTAP volume that you are creating.

      " @@ -1874,10 +2033,10 @@ "SnapshotARN":{"shape":"ResourceARN"}, "CopyStrategy":{ "shape":"OpenZFSCopyStrategy", - "documentation":"

      The strategy used when copying data from the snapshot to the new volume.

      • CLONE - The new volume references the data in the origin snapshot. Cloning a snapshot is faster than copying data from the snapshot to a new volume and doesn't consume disk throughput. However, the origin snapshot can't be deleted if there is a volume using its copied data.

      • FULL_COPY - Copies all data from the snapshot to the new volume.

      " + "documentation":"

      Specifies the strategy used when copying data from the snapshot to the new volume.

      • CLONE - The new volume references the data in the origin snapshot. Cloning a snapshot is faster than copying data from the snapshot to a new volume and doesn't consume disk throughput. However, the origin snapshot can't be deleted if there is a volume using its copied data.

      • FULL_COPY - Copies all data from the snapshot to the new volume.

        Specify this option to create the volume from a snapshot on another FSx for OpenZFS file system.

      The INCREMENTAL_COPY option is only for updating an existing volume by using a snapshot from another FSx for OpenZFS file system. For more information, see CopySnapshotAndUpdateVolume.

      " } }, - "documentation":"

      The snapshot configuration to use when creating an OpenZFS volume from a snapshot.

      " + "documentation":"

      The snapshot configuration to use when creating an Amazon FSx for OpenZFS volume from a snapshot.

      " }, "CreateOpenZFSVolumeConfiguration":{ "type":"structure", @@ -2993,6 +3152,20 @@ }, "documentation":"

      The response object for DescribeFileSystems operation.

      " }, + "DescribeSharedVpcConfigurationRequest":{ + "type":"structure", + "members":{ + } + }, + "DescribeSharedVpcConfigurationResponse":{ + "type":"structure", + "members":{ + "EnableFsxRouteTableUpdatesFromParticipantAccounts":{ + "shape":"VerboseFlag", + "documentation":"

      Indicates whether participant accounts can create FSx for ONTAP Multi-AZ file systems in shared subnets.

      " + } + } + }, "DescribeSnapshotsRequest":{ "type":"structure", "members":{ @@ -3128,7 +3301,7 @@ }, "Iops":{ "shape":"Iops", - "documentation":"

      The total number of SSD IOPS provisioned for the file system.

      " + "documentation":"

      The total number of SSD IOPS provisioned for the file system.

      The minimum and maximum values for this property depend on the value of HAPairs and StorageCapacity. The minimum value is calculated as StorageCapacity * 3 * HAPairs (3 IOPS per GB of StorageCapacity). The maximum value is calculated as 200,000 * HAPairs.

      Amazon FSx responds with an HTTP status code 400 (Bad Request) if the value of Iops is outside of the minimum or maximum values.

      " } }, "documentation":"

      The SSD IOPS (input/output operations per second) configuration for an Amazon FSx for NetApp ONTAP, Amazon FSx for Windows File Server, or FSx for OpenZFS file system. By default, Amazon FSx automatically provisions 3 IOPS per GB of storage capacity. You can provision additional IOPS per GB of storage. The configuration consists of the total number of provisioned SSD IOPS and how it is was provisioned, or the mode (by the customer or by Amazon FSx).

      " @@ -3454,7 +3627,7 @@ "FailureDetails":{"shape":"FileSystemFailureDetails"}, "StorageCapacity":{ "shape":"StorageCapacity", - "documentation":"

      The storage capacity of the file system in gibibytes (GiB).

      " + "documentation":"

      The storage capacity of the file system in gibibytes (GiB).

      Amazon FSx responds with an HTTP status code 400 (Bad Request) if the value of StorageCapacity is outside of the minimum or maximum values.

      " }, "StorageType":{ "shape":"StorageType", @@ -3684,6 +3857,11 @@ "min":8, "pattern":"^arn:[^:]{1,63}:[^:]{0,63}:[^:]{0,63}:(?:|\\d{12}):[^/].{0,1023}$" }, + "HAPairs":{ + "type":"integer", + "max":6, + "min":1 + }, "IncompatibleParameterError":{ "type":"structure", "required":["Parameter"], @@ -3817,7 +3995,7 @@ }, "Iops":{ "type":"long", - "max":1000000, + "max":2400000, "min":0 }, "IpAddress":{ @@ -4139,13 +4317,14 @@ "type":"string", "enum":[ "MULTI_AZ_1", - "SINGLE_AZ_1" + "SINGLE_AZ_1", + "SINGLE_AZ_2" ] }, "OntapEndpointIpAddresses":{ "type":"list", "member":{"shape":"IpAddress"}, - "max":2, + "max":24, "min":1 }, "OntapFileSystemConfiguration":{ @@ -4155,7 +4334,7 @@ "DailyAutomaticBackupStartTime":{"shape":"DailyTime"}, "DeploymentType":{ "shape":"OntapDeploymentType", - "documentation":"

      Specifies the FSx for ONTAP file system deployment type in use in the file system.

      • MULTI_AZ_1 - (Default) A high availability file system configured for Multi-AZ redundancy to tolerate temporary Availability Zone (AZ) unavailability.

      • SINGLE_AZ_1 - A file system configured for Single-AZ redundancy.

      For information about the use cases for Multi-AZ and Single-AZ deployments, refer to Choosing Multi-AZ or Single-AZ file system deployment.

      " + "documentation":"

      Specifies the FSx for ONTAP file system deployment type in use in the file system.

      • MULTI_AZ_1 - (Default) A high availability file system configured for Multi-AZ redundancy to tolerate temporary Availability Zone (AZ) unavailability.

      • SINGLE_AZ_1 - A file system configured for Single-AZ redundancy.

      • SINGLE_AZ_2 - A file system configured with multiple high-availability (HA) pairs for Single-AZ redundancy.

      For information about the use cases for Multi-AZ and Single-AZ deployments, refer to Choosing Multi-AZ or Single-AZ file system deployment.

      " }, "EndpointIpAddressRange":{ "shape":"IpAddressRange", @@ -4179,6 +4358,14 @@ "FsxAdminPassword":{ "shape":"AdminPassword", "documentation":"

      You can use the fsxadmin user account to access the NetApp ONTAP CLI and REST API. The password value is always redacted in the response.

      " + }, + "HAPairs":{ + "shape":"HAPairs", + "documentation":"

      Specifies how many high-availability (HA) file server pairs the file system will have. The default value is 1. The value of this property affects the values of StorageCapacity, Iops, and ThroughputCapacity. For more information, see High-availability (HA) pairs in the FSx for ONTAP user guide.

      Amazon FSx responds with an HTTP status code 400 (Bad Request) for the following conditions:

      • The value of HAPairs is less than 1 or greater than 6.

      • The value of HAPairs is greater than 1 and the value of DeploymentType is SINGLE_AZ_1 or MULTI_AZ_1.

      " + }, + "ThroughputCapacityPerHAPair":{ + "shape":"ThroughputCapacityPerHAPair", + "documentation":"

      Use to choose the throughput capacity per HA pair. When the value of HAPairs is equal to 1, the value of ThroughputCapacityPerHAPair is the total throughput for the file system.

      This field and ThroughputCapacity cannot be defined in the same API call, but one is required.

      This field and ThroughputCapacity are the same for file systems with one HA pair.

      • For SINGLE_AZ_1 and MULTI_AZ_1, valid values are 128, 256, 512, 1024, 2048, or 4096 MBps.

      • For SINGLE_AZ_2, valid values are 3072 or 6144 MBps.

      Amazon FSx responds with an HTTP status code 400 (Bad Request) for the following conditions:

      • The value of ThroughputCapacity and ThroughputCapacityPerHAPair are not the same value.

      • The value of deployment type is SINGLE_AZ_2 and ThroughputCapacity / ThroughputCapacityPerHAPair is a valid HA pair (a value between 2 and 6).

      • The value of ThroughputCapacityPerHAPair is not a valid value.

      " } }, "documentation":"

      Configuration for the FSx for NetApp ONTAP file system.

      " @@ -4228,7 +4415,7 @@ }, "SnapshotPolicy":{ "shape":"SnapshotPolicy", - "documentation":"

      Specifies the snapshot policy for the volume. There are three built-in snapshot policies:

      • default: This is the default policy. A maximum of six hourly snapshots taken five minutes past the hour. A maximum of two daily snapshots taken Monday through Saturday at 10 minutes after midnight. A maximum of two weekly snapshots taken every Sunday at 15 minutes after midnight.

      • default-1weekly: This policy is the same as the default policy except that it only retains one snapshot from the weekly schedule.

      • none: This policy does not take any snapshots. This policy can be assigned to volumes to prevent automatic snapshots from being taken.

      You can also provide the name of a custom policy that you created with the ONTAP CLI or REST API.

      For more information, see Snapshot policies in the Amazon FSx for NetApp ONTAP User Guide.

      " + "documentation":"

      Specifies the snapshot policy for the volume. There are three built-in snapshot policies:

      • default: This is the default policy. A maximum of six hourly snapshots taken five minutes past the hour. A maximum of two daily snapshots taken Monday through Saturday at 10 minutes after midnight. A maximum of two weekly snapshots taken every Sunday at 15 minutes after midnight.

      • default-1weekly: This policy is the same as the default policy except that it only retains one snapshot from the weekly schedule.

      • none: This policy does not take any snapshots. This policy can be assigned to volumes to prevent automatic snapshots from being taken.

      You can also provide the name of a custom policy that you created with the ONTAP CLI or REST API.

      For more information, see Snapshot policies in the Amazon FSx for NetApp ONTAP User Guide.

      " }, "CopyTagsToBackups":{ "shape":"Flag", @@ -4237,6 +4424,18 @@ "SnaplockConfiguration":{ "shape":"SnaplockConfiguration", "documentation":"

      The SnapLock configuration object for an FSx for ONTAP SnapLock volume.

      " + }, + "VolumeStyle":{ + "shape":"VolumeStyle", + "documentation":"

      Use to specify the style of an ONTAP volume. For more information about FlexVols and FlexGroups, see Volume types in Amazon FSx for NetApp ONTAP User Guide.

      " + }, + "AggregateConfiguration":{ + "shape":"AggregateConfiguration", + "documentation":"

      This structure specifies configuration options for a volume’s storage aggregate or aggregates.

      " + }, + "SizeInBytes":{ + "shape":"VolumeCapacityBytes", + "documentation":"

      The configured size of the volume, in bytes.

      " } }, "documentation":"

      The configuration of an Amazon FSx for NetApp ONTAP volume.

      " @@ -4282,7 +4481,8 @@ "type":"string", "enum":[ "CLONE", - "FULL_COPY" + "FULL_COPY", + "INCREMENTAL_COPY" ] }, "OpenZFSCreateRootVolumeConfiguration":{ @@ -4411,10 +4611,10 @@ "SnapshotARN":{"shape":"ResourceARN"}, "CopyStrategy":{ "shape":"OpenZFSCopyStrategy", - "documentation":"

      The strategy used when copying data from the snapshot to the new volume.

      • CLONE - The new volume references the data in the origin snapshot. Cloning a snapshot is faster than copying the data from a snapshot to a new volume and doesn't consume disk throughput. However, the origin snapshot can't be deleted if there is a volume using its copied data.

      • FULL_COPY - Copies all data from the snapshot to the new volume.

      " + "documentation":"

      The strategy used when copying data from the snapshot to the new volume.

      • CLONE - The new volume references the data in the origin snapshot. Cloning a snapshot is faster than copying the data from a snapshot to a new volume and doesn't consume disk throughput. However, the origin snapshot can't be deleted if there is a volume using its copied data.

      • FULL_COPY - Copies all data from the snapshot to the new volume.

      The INCREMENTAL_COPY option is only for updating an existing volume by using a snapshot from another FSx for OpenZFS file system. For more information, see CopySnapshotAndUpdateVolume.

      " } }, - "documentation":"

      The snapshot configuration to use when creating an OpenZFS volume from a snapshot.

      " + "documentation":"

      The snapshot configuration used when creating an Amazon FSx for OpenZFS volume from a snapshot.

      " }, "OpenZFSQuotaType":{ "type":"string", @@ -4509,6 +4709,15 @@ "DeleteClonedVolumes":{ "shape":"Flag", "documentation":"

      A Boolean value indicating whether dependent clone volumes created from intermediate snapshots should be deleted when a volume is restored from snapshot.

      " + }, + "DeleteIntermediateData":{ + "shape":"Flag", + "documentation":"

      A Boolean value indicating whether snapshot data that differs between the current state and the specified snapshot should be overwritten when a volume is restored from a snapshot.

      " + }, + "SourceSnapshotARN":{"shape":"ResourceARN"}, + "DestinationSnapshot":{ + "shape":"SnapshotId", + "documentation":"

      The ID of the snapshot that's being copied or was most recently copied to the destination volume.

      " } }, "documentation":"

      The configuration of an Amazon FSx for OpenZFS volume.

      " @@ -4578,6 +4787,10 @@ } }, "ReleasedCapacity":{"type":"long"}, + "RemainingTransferBytes":{ + "type":"long", + "min":0 + }, "ReportFormat":{ "type":"string", "enum":["REPORT_CSV_20191124"] @@ -5396,6 +5609,11 @@ "member":{"shape":"TaskId"}, "max":50 }, + "ThroughputCapacityPerHAPair":{ + "type":"integer", + "max":6144, + "min":128 + }, "TieringPolicy":{ "type":"structure", "members":{ @@ -5419,7 +5637,16 @@ "NONE" ] }, + "TotalConstituents":{ + "type":"integer", + "max":200, + "min":1 + }, "TotalCount":{"type":"long"}, + "TotalTransferBytes":{ + "type":"long", + "min":0 + }, "UUID":{ "type":"string", "max":36, @@ -5577,7 +5804,7 @@ }, "ThroughputCapacity":{ "shape":"MegabytesPerSecond", - "documentation":"

      Enter a new value to change the amount of throughput capacity for the file system. Throughput capacity is measured in megabytes per second (MBps). Valid values are 128, 256, 512, 1024, 2048, and 4096 MBps. For more information, see Managing throughput capacity in the FSx for ONTAP User Guide.

      " + "documentation":"

      Enter a new value to change the amount of throughput capacity for the file system in megabytes per second (MBps). For more information, see Managing throughput capacity in the FSx for ONTAP User Guide.

      Amazon FSx responds with an HTTP status code 400 (Bad Request) for the following conditions:

      • The value of ThroughputCapacity and ThroughputCapacityPerHAPair are not the same value.

      • The value of ThroughputCapacity when divided by the value of HAPairs is outside of the valid range for ThroughputCapacity.

      " }, "AddRouteTableIds":{ "shape":"RouteTableIds", @@ -5586,6 +5813,10 @@ "RemoveRouteTableIds":{ "shape":"RouteTableIds", "documentation":"

      (Multi-AZ only) A list of IDs of existing virtual private cloud (VPC) route tables to disassociate (remove) from your Amazon FSx for NetApp ONTAP file system. You can use the API operation to retrieve the list of VPC route table IDs for a file system.

      " + }, + "ThroughputCapacityPerHAPair":{ + "shape":"ThroughputCapacityPerHAPair", + "documentation":"

      Use to choose the throughput capacity per HA pair, rather than the total throughput for the file system.

      This field and ThroughputCapacity cannot be defined in the same API call, but one is required.

      This field and ThroughputCapacity are the same for file systems with one HA pair.

      • For SINGLE_AZ_1 and MULTI_AZ_1, valid values are 128, 256, 512, 1024, 2048, or 4096 MBps.

      • For SINGLE_AZ_2, valid values are 3072 or 6144 MBps.

      Amazon FSx responds with an HTTP status code 400 (Bad Request) for the following conditions:

      The value of ThroughputCapacity and ThroughputCapacityPerHAPair are not the same value.

      The value of ThroughputCapacityPerHAPair is not a valid value.

      " } }, "documentation":"

      The configuration updates for an Amazon FSx for NetApp ONTAP file system.

      " @@ -5729,6 +5960,10 @@ "SnaplockConfiguration":{ "shape":"UpdateSnaplockConfiguration", "documentation":"

      The configuration object for updating the SnapLock configuration of an FSx for ONTAP SnapLock volume.

      " + }, + "SizeInBytes":{ + "shape":"VolumeCapacityBytes", + "documentation":"

      The configured size of the volume, in bytes.

      " } }, "documentation":"

      Used to specify changes to the ONTAP configuration for the volume you are updating.

      " @@ -5767,6 +6002,40 @@ }, "documentation":"

      Used to specify changes to the OpenZFS configuration for the volume that you are updating.

      " }, + "UpdateOpenZFSVolumeOption":{ + "type":"string", + "enum":[ + "DELETE_INTERMEDIATE_SNAPSHOTS", + "DELETE_CLONED_VOLUMES", + "DELETE_INTERMEDIATE_DATA" + ] + }, + "UpdateOpenZFSVolumeOptions":{ + "type":"list", + "member":{"shape":"UpdateOpenZFSVolumeOption"} + }, + "UpdateSharedVpcConfigurationRequest":{ + "type":"structure", + "members":{ + "EnableFsxRouteTableUpdatesFromParticipantAccounts":{ + "shape":"VerboseFlag", + "documentation":"

      Specifies whether participant accounts can create FSx for ONTAP Multi-AZ file systems in shared subnets. Set to true to enable or false to disable.

      " + }, + "ClientRequestToken":{ + "shape":"ClientRequestToken", + "idempotencyToken":true + } + } + }, + "UpdateSharedVpcConfigurationResponse":{ + "type":"structure", + "members":{ + "EnableFsxRouteTableUpdatesFromParticipantAccounts":{ + "shape":"VerboseFlag", + "documentation":"

      Indicates whether participant accounts can create FSx for ONTAP Multi-AZ file systems in shared subnets.

      " + } + } + }, "UpdateSnaplockConfiguration":{ "type":"structure", "members":{ @@ -5901,6 +6170,12 @@ "type":"long", "min":0 }, + "VerboseFlag":{ + "type":"string", + "max":5, + "min":4, + "pattern":"^(?i)(true|false)$" + }, "Volume":{ "type":"structure", "members":{ @@ -5938,11 +6213,16 @@ "documentation":"

      The configuration of an Amazon FSx for OpenZFS volume.

      " } }, - "documentation":"

      Describes an Amazon FSx for NetApp ONTAP or Amazon FSx for OpenZFS volume.

      " + "documentation":"

      Describes an Amazon FSx volume.

      " }, "VolumeCapacity":{ "type":"integer", - "max":314572800, + "max":2147483647, + "min":0 + }, + "VolumeCapacityBytes":{ + "type":"long", + "max":22517998000000000, "min":0 }, "VolumeFilter":{ @@ -6025,6 +6305,13 @@ "min":1, "pattern":"^[A-za-z0-9\\_\\.\\:\\-\\/]*$" }, + "VolumeStyle":{ + "type":"string", + "enum":[ + "FLEXVOL", + "FLEXGROUP" + ] + }, "VolumeType":{ "type":"string", "enum":[ diff --git a/tools/code-generation/api-descriptions/guardduty-2017-11-28.normal.json b/tools/code-generation/api-descriptions/guardduty-2017-11-28.normal.json index 49cfd85c815..68d5976fbf8 100644 --- a/tools/code-generation/api-descriptions/guardduty-2017-11-28.normal.json +++ b/tools/code-generation/api-descriptions/guardduty-2017-11-28.normal.json @@ -1379,6 +1379,17 @@ "key":{"shape":"String"}, "value":{"shape":"String"} }, + "AgentDetails":{ + "type":"structure", + "members":{ + "Version":{ + "shape":"String", + "documentation":"

      Version of the installed GuardDuty security agent.

      ", + "locationName":"version" + } + }, + "documentation":"

      Information about the installed GuardDuty security agent.

      " + }, "Anomaly":{ "type":"structure", "members":{ @@ -1776,6 +1787,22 @@ }, "documentation":"

      Details of a container.

      " }, + "ContainerInstanceDetails":{ + "type":"structure", + "members":{ + "CoveredContainerInstances":{ + "shape":"Long", + "documentation":"

      Represents the nodes in the Amazon ECS cluster that has a HEALTHY coverage status.

      ", + "locationName":"coveredContainerInstances" + }, + "CompatibleContainerInstances":{ + "shape":"Long", + "documentation":"

      Represents total number of nodes in the Amazon ECS cluster.

      ", + "locationName":"compatibleContainerInstances" + } + }, + "documentation":"

      Contains information about the Amazon EC2 instance that is running the Amazon ECS container.

      " + }, "Containers":{ "type":"list", "member":{"shape":"Container"} @@ -1811,6 +1838,58 @@ }, "documentation":"

      Contains information about the country where the remote IP address is located.

      " }, + "CoverageEc2InstanceDetails":{ + "type":"structure", + "members":{ + "InstanceId":{ + "shape":"String", + "documentation":"

      The Amazon EC2 instance ID.

      ", + "locationName":"instanceId" + }, + "InstanceType":{ + "shape":"String", + "documentation":"

      The instance type of the Amazon EC2 instance.

      ", + "locationName":"instanceType" + }, + "ClusterArn":{ + "shape":"String", + "documentation":"

      The cluster ARN of the Amazon ECS cluster running on the Amazon EC2 instance.

      ", + "locationName":"clusterArn" + }, + "AgentDetails":{ + "shape":"AgentDetails", + "documentation":"

      Information about the installed security agent.

      ", + "locationName":"agentDetails" + }, + "ManagementType":{ + "shape":"ManagementType", + "documentation":"

      Indicates how the GuardDuty security agent is managed for this resource.

      • AUTO_MANAGED indicates that GuardDuty deploys and manages updates for this resource.

      • MANUAL indicates that you are responsible to deploy, update, and manage the GuardDuty security agent updates for this resource.

      The DISABLED status doesn't apply to Amazon EC2 instances and Amazon EKS clusters that run on Amazon EC2 instances.

      ", + "locationName":"managementType" + } + }, + "documentation":"

      This API is also used when you use GuardDuty Runtime Monitoring for your Amazon EC2 instances (currently in preview release) and is subject to change.

      Contains information about the Amazon EC2 instance runtime coverage details.

      " + }, + "CoverageEcsClusterDetails":{ + "type":"structure", + "members":{ + "ClusterName":{ + "shape":"String", + "documentation":"

      The name of the Amazon ECS cluster.

      ", + "locationName":"clusterName" + }, + "FargateDetails":{ + "shape":"FargateDetails", + "documentation":"

      Information about the Fargate details associated with the Amazon ECS cluster.

      ", + "locationName":"fargateDetails" + }, + "ContainerInstanceDetails":{ + "shape":"ContainerInstanceDetails", + "documentation":"

      Information about the Amazon ECS container running on Amazon EC2 instance.

      ", + "locationName":"containerInstanceDetails" + } + }, + "documentation":"

      Contains information about Amazon ECS cluster runtime coverage details.

      " + }, "CoverageEksClusterDetails":{ "type":"structure", "members":{ @@ -1894,7 +1973,11 @@ "COVERAGE_STATUS", "ADDON_VERSION", "MANAGEMENT_TYPE", - "EKS_CLUSTER_NAME" + "EKS_CLUSTER_NAME", + "ECS_CLUSTER_NAME", + "AGENT_VERSION", + "INSTANCE_ID", + "CLUSTER_ARN" ] }, "CoverageFilterCriterionList":{ @@ -1956,6 +2039,16 @@ "shape":"ResourceType", "documentation":"

      The type of Amazon Web Services resource.

      ", "locationName":"resourceType" + }, + "EcsClusterDetails":{ + "shape":"CoverageEcsClusterDetails", + "documentation":"

      Information about the Amazon ECS cluster that is assessed for runtime coverage.

      ", + "locationName":"ecsClusterDetails" + }, + "Ec2InstanceDetails":{ + "shape":"CoverageEc2InstanceDetails", + "documentation":"

      This API is also used when you use GuardDuty Runtime Monitoring for your Amazon EC2 instances (currently in preview release) and is subject to change.

      Information about the Amazon EC2 instance assessed for runtime coverage.

      ", + "locationName":"ec2InstanceDetails" } }, "documentation":"

      Information about the resource for each individual EKS cluster.

      " @@ -1989,7 +2082,9 @@ "ISSUE", "ADDON_VERSION", "UPDATED_AT", - "EKS_CLUSTER_NAME" + "EKS_CLUSTER_NAME", + "ECS_CLUSTER_NAME", + "INSTANCE_ID" ] }, "CoverageStatistics":{ @@ -3020,7 +3115,8 @@ "EBS_MALWARE_PROTECTION", "RDS_LOGIN_EVENTS", "EKS_RUNTIME_MONITORING", - "LAMBDA_NETWORK_LOGS" + "LAMBDA_NETWORK_LOGS", + "RUNTIME_MONITORING" ] }, "DetectorFeatureConfiguration":{ @@ -3089,7 +3185,8 @@ "EBS_MALWARE_PROTECTION", "RDS_LOGIN_EVENTS", "EKS_RUNTIME_MONITORING", - "LAMBDA_NETWORK_LOGS" + "LAMBDA_NETWORK_LOGS", + "RUNTIME_MONITORING" ] }, "DetectorId":{ @@ -3493,9 +3590,28 @@ }, "documentation":"

      Contains information about the reason that the finding was generated.

      " }, + "FargateDetails":{ + "type":"structure", + "members":{ + "Issues":{ + "shape":"Issues", + "documentation":"

      Runtime coverage issues identified for the resource running on AWS Fargate.

      ", + "locationName":"issues" + }, + "ManagementType":{ + "shape":"ManagementType", + "documentation":"

      Indicates how the GuardDuty security agent is managed for this resource.

      • AUTO_MANAGED indicates that GuardDuty deploys and manages updates for this resource.

      • MANUAL indicates that you are responsible to deploy, update, and manage the GuardDuty security agent updates for this resource.

      • DISABLED indicates that the deployment of the GuardDuty security agent is disabled for this resource.

      ", + "locationName":"managementType" + } + }, + "documentation":"

      Contains information about AWS Fargate details associated with an Amazon ECS cluster.

      " + }, "FeatureAdditionalConfiguration":{ "type":"string", - "enum":["EKS_ADDON_MANAGEMENT"] + "enum":[ + "EKS_ADDON_MANAGEMENT", + "ECS_FARGATE_AGENT_MANAGEMENT" + ] }, "FeatureStatus":{ "type":"string", @@ -3805,7 +3921,9 @@ "EBS_MALWARE_PROTECTION", "RDS_LOGIN_EVENTS", "EKS_RUNTIME_MONITORING", - "LAMBDA_NETWORK_LOGS" + "LAMBDA_NETWORK_LOGS", + "FARGATE_RUNTIME_MONITORING", + "EC2_RUNTIME_MONITORING" ] }, "GeoLocation":{ @@ -4708,6 +4826,12 @@ "type":"list", "member":{"shape":"String"} }, + "Issues":{ + "type":"list", + "member":{"shape":"String"}, + "max":50, + "min":0 + }, "KubernetesApiCallAction":{ "type":"structure", "members":{ @@ -5640,7 +5764,8 @@ "type":"string", "enum":[ "AUTO_MANAGED", - "MANUAL" + "MANUAL", + "DISABLED" ] }, "MapEquals":{ @@ -6020,12 +6145,16 @@ "EBS_MALWARE_PROTECTION", "RDS_LOGIN_EVENTS", "EKS_RUNTIME_MONITORING", - "LAMBDA_NETWORK_LOGS" + "LAMBDA_NETWORK_LOGS", + "RUNTIME_MONITORING" ] }, "OrgFeatureAdditionalConfiguration":{ "type":"string", - "enum":["EKS_ADDON_MANAGEMENT"] + "enum":[ + "EKS_ADDON_MANAGEMENT", + "ECS_FARGATE_AGENT_MANAGEMENT" + ] }, "OrgFeatureStatus":{ "type":"string", @@ -6785,7 +6914,11 @@ }, "ResourceType":{ "type":"string", - "enum":["EKS"] + "enum":[ + "EKS", + "ECS", + "EC2" + ] }, "RuntimeContext":{ "type":"structure", @@ -8244,7 +8377,9 @@ "EBS_MALWARE_PROTECTION", "RDS_LOGIN_EVENTS", "LAMBDA_NETWORK_LOGS", - "EKS_RUNTIME_MONITORING" + "EKS_RUNTIME_MONITORING", + "FARGATE_RUNTIME_MONITORING", + "EC2_RUNTIME_MONITORING" ] }, "UsageFeatureList":{ @@ -8438,5 +8573,5 @@ "documentation":"

      Amazon Virtual Private Cloud configuration details associated with your Lambda function.

      " } }, - "documentation":"

      Amazon GuardDuty is a continuous security monitoring service that analyzes and processes the following data sources: VPC flow logs, Amazon Web Services CloudTrail management event logs, CloudTrail S3 data event logs, EKS audit logs, DNS logs, and Amazon EBS volume data. It uses threat intelligence feeds, such as lists of malicious IPs and domains, and machine learning to identify unexpected, potentially unauthorized, and malicious activity within your Amazon Web Services environment. This can include issues like escalations of privileges, uses of exposed credentials, or communication with malicious IPs, domains, or presence of malware on your Amazon EC2 instances and container workloads. For example, GuardDuty can detect compromised EC2 instances and container workloads serving malware, or mining bitcoin.

      GuardDuty also monitors Amazon Web Services account access behavior for signs of compromise, such as unauthorized infrastructure deployments like EC2 instances deployed in a Region that has never been used, or unusual API calls like a password policy change to reduce password strength.

      GuardDuty informs you about the status of your Amazon Web Services environment by producing security findings that you can view in the GuardDuty console or through Amazon EventBridge. For more information, see the Amazon GuardDuty User Guide .

      " + "documentation":"

      Amazon GuardDuty is a continuous security monitoring service that analyzes and processes the following foundational data sources - VPC flow logs, Amazon Web Services CloudTrail management event logs, CloudTrail S3 data event logs, EKS audit logs, DNS logs, Amazon EBS volume data, runtime activity belonging to container workloads, such as Amazon EKS, Amazon ECS (including Amazon Web Services Fargate), and Amazon EC2 instances. It uses threat intelligence feeds, such as lists of malicious IPs and domains, and machine learning to identify unexpected, potentially unauthorized, and malicious activity within your Amazon Web Services environment. This can include issues like escalations of privileges, uses of exposed credentials, or communication with malicious IPs, domains, or presence of malware on your Amazon EC2 instances and container workloads. For example, GuardDuty can detect compromised EC2 instances and container workloads serving malware, or mining bitcoin.

      GuardDuty also monitors Amazon Web Services account access behavior for signs of compromise, such as unauthorized infrastructure deployments like EC2 instances deployed in a Region that has never been used, or unusual API calls like a password policy change to reduce password strength.

      GuardDuty informs you about the status of your Amazon Web Services environment by producing security findings that you can view in the GuardDuty console or through Amazon EventBridge. For more information, see the Amazon GuardDuty User Guide .

      " } diff --git a/tools/code-generation/api-descriptions/iotfleetwise-2021-06-17.normal.json b/tools/code-generation/api-descriptions/iotfleetwise-2021-06-17.normal.json index 8a3c259c48b..5e8b620d0c1 100644 --- a/tools/code-generation/api-descriptions/iotfleetwise-2021-06-17.normal.json +++ b/tools/code-generation/api-descriptions/iotfleetwise-2021-06-17.normal.json @@ -24,6 +24,7 @@ "errors":[ {"shape":"InternalServerException"}, {"shape":"ResourceNotFoundException"}, + {"shape":"LimitExceededException"}, {"shape":"ThrottlingException"}, {"shape":"ValidationException"}, {"shape":"AccessDeniedException"} @@ -789,7 +790,7 @@ {"shape":"ValidationException"}, {"shape":"AccessDeniedException"} ], - "documentation":"

      This API operation contains deprecated parameters. Register your account again without the Timestream resources parameter so that Amazon Web Services IoT FleetWise can remove the Timestream metadata stored. You should then pass the data destination into the CreateCampaign API operation.

      You must delete any existing campaigns that include an empty data destination before you register your account again. For more information, see the DeleteCampaign API operation.

      If you want to delete the Timestream inline policy from the service-linked role, such as to mitigate an overly permissive policy, you must first delete any existing campaigns. Then delete the service-linked role and register your account again to enable CloudWatch metrics. For more information, see DeleteServiceLinkedRole in the Identity and Access Management API Reference.

       <p>Registers your Amazon Web Services account, IAM, and Amazon Timestream resources so Amazon Web Services IoT FleetWise can transfer your vehicle data to the Amazon Web Services Cloud. For more information, including step-by-step procedures, see <a href="https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/setting-up.html">Setting up Amazon Web Services IoT FleetWise</a>. </p> <note> <p>An Amazon Web Services account is <b>not</b> the same thing as a "user." An <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_identity-management.html#intro-identity-users">Amazon Web Services user</a> is an identity that you create using Identity and Access Management (IAM) and takes the form of either an <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html">IAM user</a> or an <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html">IAM role, both with credentials</a>. A single Amazon Web Services account can, and typically does, contain many users and roles.</p> </note> 
      " + "documentation":"

      This API operation contains deprecated parameters. Register your account again without the Timestream resources parameter so that Amazon Web Services IoT FleetWise can remove the Timestream metadata stored. You should then pass the data destination into the CreateCampaign API operation.

      You must delete any existing campaigns that include an empty data destination before you register your account again. For more information, see the DeleteCampaign API operation.

      If you want to delete the Timestream inline policy from the service-linked role, such as to mitigate an overly permissive policy, you must first delete any existing campaigns. Then delete the service-linked role and register your account again to enable CloudWatch metrics. For more information, see DeleteServiceLinkedRole in the Identity and Access Management API Reference.

      Registers your Amazon Web Services account, IAM, and Amazon Timestream resources so Amazon Web Services IoT FleetWise can transfer your vehicle data to the Amazon Web Services Cloud. For more information, including step-by-step procedures, see Setting up Amazon Web Services IoT FleetWise.

      An Amazon Web Services account is not the same thing as a \"user.\" An Amazon Web Services user is an identity that you create using Identity and Access Management (IAM) and takes the form of either an IAM user or an IAM role, both with credentials. A single Amazon Web Services account can, and typically does, contain many users and roles.

      " }, "TagResource":{ "name":"TagResource", @@ -1003,6 +1004,10 @@ "comment":{ "shape":"message", "documentation":"

      A comment in addition to the description.

      " + }, + "structFullyQualifiedName":{ + "shape":"NodePath", + "documentation":"

      The fully qualified name of the struct node for the actuator if the data type of the actuator is Struct or StructArray. For example, the struct fully qualified name of an actuator might be Vehicle.Door.LockStruct.

      " } }, "documentation":"

      A signal that represents a vehicle device such as the engine, heater, and door locks. Data from an actuator reports the state of a certain vehicle device.

      Updating actuator data can change the state of a device. For example, you can turn on or off the heater by updating its actuator data.

      " @@ -1223,7 +1228,7 @@ }, "canDbcFiles":{ "shape":"NetworkFilesList", - "documentation":"

      A list of DBC files. You can upload only one DBC file for each network interface and specify up to five (inclusive) files in the list.

      " + "documentation":"

      A list of DBC files. You can upload only one DBC file for each network interface and specify up to five (inclusive) files in the list. The DBC file can be a maximum size of 200 MB.

      " }, "signalsMap":{ "shape":"ModelSignalsMap", @@ -1273,11 +1278,11 @@ "documentation":"

      The ID of the message.

      " }, "isBigEndian":{ - "shape":"boolean", + "shape":"PrimitiveBoolean", "documentation":"

      Whether the byte ordering of a CAN message is big-endian.

      " }, "isSigned":{ - "shape":"boolean", + "shape":"PrimitiveBoolean", "documentation":"

      Whether the message data is specified as a signed value.

      " }, "startBit":{ @@ -1783,6 +1788,67 @@ }, "documentation":"

      Information about a created vehicle.

      " }, + "CustomProperty":{ + "type":"structure", + "required":[ + "fullyQualifiedName", + "dataType" + ], + "members":{ + "fullyQualifiedName":{ + "shape":"string", + "documentation":"

      The fully qualified name of the custom property. For example, the fully qualified name of a custom property might be ComplexDataTypes.VehicleDataTypes.SVMCamera.FPS.

      " + }, + "dataType":{ + "shape":"NodeDataType", + "documentation":"

      The data type for the custom property.

      " + }, + "dataEncoding":{ + "shape":"NodeDataEncoding", + "documentation":"

      Indicates whether the property is binary data.

      " + }, + "description":{ + "shape":"description", + "documentation":"

      A brief description of the custom property.

      " + }, + "deprecationMessage":{ + "shape":"message", + "documentation":"

      The deprecation message for the node or the branch that was moved or deleted.

      " + }, + "comment":{ + "shape":"message", + "documentation":"

      A comment in addition to the description.

      " + }, + "structFullyQualifiedName":{ + "shape":"NodePath", + "documentation":"

      The fully qualified name of the struct node for the custom property if the data type of the custom property is Struct or StructArray.

      " + } + }, + "documentation":"

      Represents a member of the complex data structure. The data type of the property can be either primitive or another struct.

      " + }, + "CustomStruct":{ + "type":"structure", + "required":["fullyQualifiedName"], + "members":{ + "fullyQualifiedName":{ + "shape":"string", + "documentation":"

      The fully qualified name of the custom structure. For example, the fully qualified name of a custom structure might be ComplexDataTypes.VehicleDataTypes.SVMCamera.

      " + }, + "description":{ + "shape":"description", + "documentation":"

      A brief description of the custom structure.

      " + }, + "deprecationMessage":{ + "shape":"message", + "documentation":"

      The deprecation message for the node or the branch that was moved or deleted.

      " + }, + "comment":{ + "shape":"message", + "documentation":"

      A comment in addition to the description.

      " + } + }, + "documentation":"

      The custom structure represents a complex or higher-order data structure.

      " + }, "DataDestinationConfig":{ "type":"structure", "members":{ @@ -1851,6 +1917,10 @@ "lastModificationTime":{ "shape":"timestamp", "documentation":"

      The time the decoder manifest was last updated in seconds since epoch (January 1, 1970 at midnight UTC time).

      " + }, + "message":{ + "shape":"message", + "documentation":"

      The detailed message for the decoder manifest. When a decoder manifest is in an INVALID status, the message contains detailed reason and help information.

      " } }, "documentation":"

      Information about a created decoder manifest. You can use the API operation to return this information about multiple decoder manifests.

      " @@ -2264,6 +2334,10 @@ "lastModificationTime":{ "shape":"timestamp", "documentation":"

      The time the decoder manifest was last updated in seconds since epoch (January 1, 1970 at midnight UTC time).

      " + }, + "message":{ + "shape":"message", + "documentation":"

      The detailed message for the decoder manifest. When a decoder manifest is in an INVALID status, the message contains detailed reason and help information.

      " } } }, @@ -2289,7 +2363,7 @@ }, "encryptionType":{ "shape":"EncryptionType", - "documentation":"

      The type of encryption. Set to KMS_BASED_ENCRYPTION to use an KMS key that you own and manage. Set to FLEETWISE_DEFAULT_ENCRYPTION to use an Amazon Web Services managed key that is owned by the Amazon Web Services IoT FleetWise service account.

      " + "documentation":"

      The type of encryption. Set to KMS_BASED_ENCRYPTION to use a KMS key that you own and manage. Set to FLEETWISE_DEFAULT_ENCRYPTION to use an Amazon Web Services managed key that is owned by the Amazon Web Services IoT FleetWise service account.

      " }, "errorMessage":{ "shape":"errorMessage", @@ -2770,6 +2844,10 @@ "reason":{ "shape":"SignalDecoderFailureReason", "documentation":"

      A message about why the signal decoder isn't valid.

      " + }, + "hint":{ + "shape":"message", + "documentation":"

      The possible cause for the invalid signal decoder.

      " } }, "documentation":"

      A reason that a signal decoder isn't valid.

      " @@ -3203,9 +3281,29 @@ "type":"string", "enum":[ "ACTIVE", - "DRAFT" + "DRAFT", + "INVALID", + "VALIDATING" ] }, + "MessageSignal":{ + "type":"structure", + "required":[ + "topicName", + "structuredMessage" + ], + "members":{ + "topicName":{ + "shape":"TopicName", + "documentation":"

      The topic name for the message signal. It corresponds to topics in ROS 2.

      " + }, + "structuredMessage":{ + "shape":"StructuredMessage", + "documentation":"

      The structured message for the message signal. It can be defined with either a primitiveMessageDefinition, structuredMessageListDefinition, or structuredMessageDefinition recursively.

      " + } + }, + "documentation":"

      The decoding information for a specific message which support higher order data types.

      " + }, "ModelManifestSummary":{ "type":"structure", "required":[ @@ -3249,7 +3347,11 @@ "key":{"shape":"string"}, "value":{"shape":"string"} }, - "NetworkFileBlob":{"type":"blob"}, + "NetworkFileBlob":{ + "type":"blob", + "max":200000000, + "min":0 + }, "NetworkFileDefinition":{ "type":"structure", "members":{ @@ -3293,6 +3395,10 @@ "obdInterface":{ "shape":"ObdInterface", "documentation":"

      Information about a network interface specified by the On-board diagnostic (OBD) II protocol.

      " + }, + "vehicleMiddleware":{ + "shape":"VehicleMiddleware", + "documentation":"

      The vehicle middleware defined as a type of network interface. Examples of vehicle middleware include ROS2 and SOME/IP.

      " } }, "documentation":"

      Represents a node and its specifications in an in-vehicle communication network. All signal decoders must be associated with a network node.

      To return this information about all the network interfaces specified in a decoder manifest, use the API operation.

      " @@ -3305,14 +3411,18 @@ "NETWORK_INTERFACE_TO_ADD_ALREADY_EXISTS", "CAN_NETWORK_INTERFACE_INFO_IS_NULL", "OBD_NETWORK_INTERFACE_INFO_IS_NULL", - "NETWORK_INTERFACE_TO_REMOVE_ASSOCIATED_WITH_SIGNALS" + "NETWORK_INTERFACE_TO_REMOVE_ASSOCIATED_WITH_SIGNALS", + "VEHICLE_MIDDLEWARE_NETWORK_INTERFACE_INFO_IS_NULL", + "CUSTOMER_DECODED_SIGNAL_NETWORK_INTERFACE_INFO_IS_NULL" ] }, "NetworkInterfaceType":{ "type":"string", "enum":[ "CAN_INTERFACE", - "OBD_INTERFACE" + "OBD_INTERFACE", + "VEHICLE_MIDDLEWARE", + "CUSTOMER_DECODED_INTERFACE" ] }, "NetworkInterfaces":{ @@ -3336,6 +3446,14 @@ "attribute":{ "shape":"Attribute", "documentation":"

      Information about a node specified as an attribute.

      An attribute represents static information about a vehicle.

      " + }, + "struct":{ + "shape":"CustomStruct", + "documentation":"

      Represents a complex or higher-order data structure.

      " + }, + "property":{ + "shape":"CustomProperty", + "documentation":"

      Represents a member of the complex data structure. The datatype of the property can be either primitive or another struct.

      " } }, "documentation":"

      A general abstraction of a signal. A node can be specified as an actuator, attribute, branch, or sensor.

      ", @@ -3363,10 +3481,25 @@ "totalActuators":{ "shape":"number", "documentation":"

      The total number of nodes in a vehicle network that represent actuators.

      " + }, + "totalStructs":{ + "shape":"number", + "documentation":"

      The total structure for the node.

      " + }, + "totalProperties":{ + "shape":"number", + "documentation":"

      The total properties for the node.

      " } }, "documentation":"

      Information about the number of nodes and node types in a vehicle network.

      " }, + "NodeDataEncoding":{ + "type":"string", + "enum":[ + "BINARY", + "TYPED" + ] + }, "NodeDataType":{ "type":"string", "enum":[ @@ -3396,7 +3529,9 @@ "DOUBLE_ARRAY", "STRING_ARRAY", "UNIX_TIMESTAMP_ARRAY", - "UNKNOWN" + "UNKNOWN", + "STRUCT", + "STRUCT_ARRAY" ] }, "NodePath":{ @@ -3457,11 +3592,11 @@ "documentation":"

      The maximum number message requests per diagnostic trouble code per second.

      " }, "useExtendedIds":{ - "shape":"boolean", + "shape":"PrimitiveBoolean", "documentation":"

      Whether to use extended IDs in the message.

      " }, "hasTransmissionEcu":{ - "shape":"boolean", + "shape":"PrimitiveBoolean", "documentation":"

      Whether the vehicle has a transmission control module (TCM).

      " } }, @@ -3534,6 +3669,18 @@ "min":1, "pattern":"[a-zA-Z0-9-_:./!*'()]+" }, + "PrimitiveBoolean":{"type":"boolean"}, + "PrimitiveMessageDefinition":{ + "type":"structure", + "members":{ + "ros2PrimitiveMessageDefinition":{ + "shape":"ROS2PrimitiveMessageDefinition", + "documentation":"

      Information about a PrimitiveMessage using a ROS 2 compliant primitive type message of the complex data structure.

      " + } + }, + "documentation":"

      Represents a primitive type node of the complex data structure.

      ", + "union":true + }, "ProtocolName":{ "type":"string", "max":50, @@ -3549,7 +3696,7 @@ "required":["encryptionType"], "members":{ "kmsKeyId":{ - "shape":"String", + "shape":"PutEncryptionConfigurationRequestKmsKeyIdString", "documentation":"

      The ID of the KMS key that is used for encryption.

      " }, "encryptionType":{ @@ -3558,6 +3705,11 @@ } } }, + "PutEncryptionConfigurationRequestKmsKeyIdString":{ + "type":"string", + "max":2048, + "min":0 + }, "PutEncryptionConfigurationResponse":{ "type":"structure", "required":[ @@ -3594,6 +3746,55 @@ "members":{ } }, + "ROS2PrimitiveMessageDefinition":{ + "type":"structure", + "required":["primitiveType"], + "members":{ + "primitiveType":{ + "shape":"ROS2PrimitiveType", + "documentation":"

      The primitive type (integer, floating point, boolean, etc.) for the ROS 2 primitive message definition.

      " + }, + "offset":{ + "shape":"double", + "documentation":"

      The offset used to calculate the signal value. Combined with scaling, the calculation is value = raw_value * scaling + offset.

      " + }, + "scaling":{ + "shape":"double", + "documentation":"

      A multiplier used to decode the message.

      " + }, + "upperBound":{ + "shape":"ROS2PrimitiveMessageDefinitionUpperBoundLong", + "documentation":"

      An optional attribute specifying the upper bound for STRING and WSTRING.

      " + } + }, + "documentation":"

      Represents a ROS 2 compliant primitive type message of the complex data structure.

      " + }, + "ROS2PrimitiveMessageDefinitionUpperBoundLong":{ + "type":"long", + "box":true, + "max":2048, + "min":0 + }, + "ROS2PrimitiveType":{ + "type":"string", + "enum":[ + "BOOL", + "BYTE", + "CHAR", + "FLOAT32", + "FLOAT64", + "INT8", + "UINT8", + "INT16", + "UINT16", + "INT32", + "UINT32", + "INT64", + "UINT64", + "STRING", + "WSTRING" + ] + }, "RegisterAccountRequest":{ "type":"structure", "members":{ @@ -3739,6 +3940,10 @@ "comment":{ "shape":"message", "documentation":"

      A comment in addition to the description.

      " + }, + "structFullyQualifiedName":{ + "shape":"NodePath", + "documentation":"

      The fully qualified name of the struct node for a sensor if the data type of the actuator is Struct or StructArray. For example, the struct fully qualified name of a sensor might be Vehicle.ADAS.CameraStruct.

      " } }, "documentation":"

      An input component that reports the environmental condition of a vehicle.

      You can collect data about fluid levels, temperatures, vibrations, or battery voltage from sensors.

      " @@ -3792,6 +3997,10 @@ "obdSignal":{ "shape":"ObdSignal", "documentation":"

      Information about signal decoder using the On-board diagnostic (OBD) II protocol.

      " + }, + "messageSignal":{ + "shape":"MessageSignal", + "documentation":"

      The decoding information for a specific message which supports higher order data types.

      " } }, "documentation":"

      Information about a signal decoder.

      " @@ -3807,14 +4016,23 @@ "SIGNAL_NOT_IN_MODEL", "CAN_SIGNAL_INFO_IS_NULL", "OBD_SIGNAL_INFO_IS_NULL", - "NO_DECODER_INFO_FOR_SIGNAL_IN_MODEL" + "NO_DECODER_INFO_FOR_SIGNAL_IN_MODEL", + "MESSAGE_SIGNAL_INFO_IS_NULL", + "SIGNAL_DECODER_TYPE_INCOMPATIBLE_WITH_MESSAGE_SIGNAL_TYPE", + "STRUCT_SIZE_MISMATCH", + "NO_SIGNAL_IN_CATALOG_FOR_DECODER_SIGNAL", + "SIGNAL_DECODER_INCOMPATIBLE_WITH_SIGNAL_CATALOG", + "EMPTY_MESSAGE_SIGNAL", + "CUSTOMER_DECODED_SIGNAL_INFO_IS_NULL" ] }, "SignalDecoderType":{ "type":"string", "enum":[ "CAN_SIGNAL", - "OBD_SIGNAL" + "OBD_SIGNAL", + "MESSAGE_SIGNAL", + "CUSTOMER_DECODED_SIGNAL" ] }, "SignalDecoders":{ @@ -3863,6 +4081,89 @@ ] }, "String":{"type":"string"}, + "StructureMessageName":{ + "type":"string", + "max":150, + "min":1 + }, + "StructuredMessage":{ + "type":"structure", + "members":{ + "primitiveMessageDefinition":{ + "shape":"PrimitiveMessageDefinition", + "documentation":"

      Represents a primitive type node of the complex data structure.

      " + }, + "structuredMessageListDefinition":{ + "shape":"StructuredMessageListDefinition", + "documentation":"

      Represents a list type node of the complex data structure.

      " + }, + "structuredMessageDefinition":{ + "shape":"StructuredMessageDefinition", + "documentation":"

      Represents a struct type node of the complex data structure.

      " + } + }, + "documentation":"

      The structured message for the message signal. It can be defined with either a primitiveMessageDefinition, structuredMessageListDefinition, or structuredMessageDefinition recursively.

      ", + "union":true + }, + "StructuredMessageDefinition":{ + "type":"list", + "member":{"shape":"StructuredMessageFieldNameAndDataTypePair"}, + "max":500, + "min":1 + }, + "StructuredMessageFieldNameAndDataTypePair":{ + "type":"structure", + "required":[ + "fieldName", + "dataType" + ], + "members":{ + "fieldName":{ + "shape":"StructureMessageName", + "documentation":"

      The field name of the structured message. It determines how a data value is referenced in the target language.

      " + }, + "dataType":{ + "shape":"StructuredMessage", + "documentation":"

      The data type.

      " + } + }, + "documentation":"

      Represents a StructureMessageName to DataType map element.

      " + }, + "StructuredMessageListDefinition":{ + "type":"structure", + "required":[ + "name", + "memberType", + "listType" + ], + "members":{ + "name":{ + "shape":"StructureMessageName", + "documentation":"

      The name of the structured message list definition.

      " + }, + "memberType":{ + "shape":"StructuredMessage", + "documentation":"

      The member type of the structured message list definition.

      " + }, + "listType":{ + "shape":"StructuredMessageListType", + "documentation":"

      The type of list of the structured message list definition.

      " + }, + "capacity":{ + "shape":"nonNegativeInteger", + "documentation":"

      The capacity of the structured message list definition when the list type is FIXED_CAPACITY or DYNAMIC_BOUNDED_CAPACITY.

      " + } + }, + "documentation":"

      Represents a list type node of the complex data structure.

      " + }, + "StructuredMessageListType":{ + "type":"string", + "enum":[ + "FIXED_CAPACITY", + "DYNAMIC_UNBOUNDED_CAPACITY", + "DYNAMIC_BOUNDED_CAPACITY" + ] + }, "Tag":{ "type":"structure", "required":[ @@ -4046,6 +4347,12 @@ "min":3, "pattern":"[a-zA-Z0-9_.-]+" }, + "TopicName":{ + "type":"string", + "max":150, + "min":1, + "pattern":"[a-zA-Z0-9_\\-#:./]+" + }, "TriggerMode":{ "type":"string", "enum":[ @@ -4458,6 +4765,33 @@ "ValidateIotThingExists" ] }, + "VehicleMiddleware":{ + "type":"structure", + "required":[ + "name", + "protocolName" + ], + "members":{ + "name":{ + "shape":"VehicleMiddlewareName", + "documentation":"

      The name of the vehicle middleware.

      " + }, + "protocolName":{ + "shape":"VehicleMiddlewareProtocol", + "documentation":"

      The protocol name of the vehicle middleware.

      " + } + }, + "documentation":"

      The vehicle middleware defined as a type of network interface. Examples of vehicle middleware include ROS2 and SOME/IP.

      " + }, + "VehicleMiddlewareName":{ + "type":"string", + "max":100, + "min":1 + }, + "VehicleMiddlewareProtocol":{ + "type":"string", + "enum":["ROS_2"] + }, "VehicleState":{ "type":"string", "enum":[ @@ -4541,7 +4875,6 @@ "key":{"shape":"attributeName"}, "value":{"shape":"attributeValue"} }, - "boolean":{"type":"boolean"}, "campaignName":{ "type":"string", "max":100, @@ -4655,6 +4988,7 @@ "number":{"type":"integer"}, "positiveInteger":{ "type":"integer", + "box":true, "min":1 }, "priority":{ diff --git a/tools/code-generation/api-descriptions/lakeformation-2017-03-31.normal.json b/tools/code-generation/api-descriptions/lakeformation-2017-03-31.normal.json index a2ecb5d12c4..bc980a45999 100644 --- a/tools/code-generation/api-descriptions/lakeformation-2017-03-31.normal.json +++ b/tools/code-generation/api-descriptions/lakeformation-2017-03-31.normal.json @@ -149,6 +149,24 @@ ], "documentation":"

      Creates an LF-tag with the specified name and values.

      " }, + "CreateLakeFormationIdentityCenterConfiguration":{ + "name":"CreateLakeFormationIdentityCenterConfiguration", + "http":{ + "method":"POST", + "requestUri":"/CreateLakeFormationIdentityCenterConfiguration" + }, + "input":{"shape":"CreateLakeFormationIdentityCenterConfigurationRequest"}, + "output":{"shape":"CreateLakeFormationIdentityCenterConfigurationResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"AlreadyExistsException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

      Creates an IAM Identity Center connection with Lake Formation to allow IAM Identity Center users and groups to access Data Catalog resources.

      " + }, "CreateLakeFormationOptIn":{ "name":"CreateLakeFormationOptIn", "http":{ @@ -201,6 +219,24 @@ ], "documentation":"

      Deletes the specified LF-tag given a key name. If the input parameter tag key was not found, then the operation will throw an exception. When you delete an LF-tag, the LFTagPolicy attached to the LF-tag becomes invalid. If the deleted LF-tag was still assigned to any resource, the tag policy attach to the deleted LF-tag will no longer be applied to the resource.

      " }, + "DeleteLakeFormationIdentityCenterConfiguration":{ + "name":"DeleteLakeFormationIdentityCenterConfiguration", + "http":{ + "method":"POST", + "requestUri":"/DeleteLakeFormationIdentityCenterConfiguration" + }, + "input":{"shape":"DeleteLakeFormationIdentityCenterConfigurationRequest"}, + "output":{"shape":"DeleteLakeFormationIdentityCenterConfigurationResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

      Deletes an IAM Identity Center connection with Lake Formation.

      " + }, "DeleteLakeFormationOptIn":{ "name":"DeleteLakeFormationOptIn", "http":{ @@ -255,6 +291,23 @@ ], "documentation":"

      Deregisters the resource as managed by the Data Catalog.

      When you deregister a path, Lake Formation removes the path from the inline policy attached to your service-linked role.

      " }, + "DescribeLakeFormationIdentityCenterConfiguration":{ + "name":"DescribeLakeFormationIdentityCenterConfiguration", + "http":{ + "method":"POST", + "requestUri":"/DescribeLakeFormationIdentityCenterConfiguration" + }, + "input":{"shape":"DescribeLakeFormationIdentityCenterConfigurationRequest"}, + "output":{"shape":"DescribeLakeFormationIdentityCenterConfigurationResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

      Retrieves the instance ARN and application ARN for the connection.

      " + }, "DescribeResource":{ "name":"DescribeResource", "http":{ @@ -815,6 +868,24 @@ ], "documentation":"

      Updates the list of possible values for the specified LF-tag key. If the LF-tag does not exist, the operation throws an EntityNotFoundException. The values in the delete key values will be deleted from list of possible values. If any value in the delete key values is attached to a resource, then API errors out with a 400 Exception - \"Update not allowed\". Untag the attribute before deleting the LF-tag key's value.

      " }, + "UpdateLakeFormationIdentityCenterConfiguration":{ + "name":"UpdateLakeFormationIdentityCenterConfiguration", + "http":{ + "method":"POST", + "requestUri":"/UpdateLakeFormationIdentityCenterConfiguration" + }, + "input":{"shape":"UpdateLakeFormationIdentityCenterConfigurationRequest"}, + "output":{"shape":"UpdateLakeFormationIdentityCenterConfigurationResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

      Updates the IAM Identity Center connection parameters.

      " + }, "UpdateResource":{ "name":"UpdateResource", "http":{ @@ -960,6 +1031,14 @@ "documentation":"

      A resource to be created or added already exists.

      ", "exception":true }, + "ApplicationArn":{"type":"string"}, + "ApplicationStatus":{ + "type":"string", + "enum":[ + "ENABLED", + "DISABLED" + ] + }, "AssumeDecoratedRoleWithSAMLRequest":{ "type":"structure", "required":[ @@ -1269,6 +1348,32 @@ "members":{ } }, + "CreateLakeFormationIdentityCenterConfigurationRequest":{ + "type":"structure", + "members":{ + "CatalogId":{ + "shape":"CatalogIdString", + "documentation":"

      The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, view definitions, and other control information to manage your Lake Formation environment.

      " + }, + "InstanceArn":{ + "shape":"IdentityCenterInstanceArn", + "documentation":"

      The ARN of the IAM Identity Center instance for which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

      " + }, + "ExternalFiltering":{ + "shape":"ExternalFilteringConfiguration", + "documentation":"

      A list of the account IDs of Amazon Web Services accounts of third-party applications that are allowed to to access data managed by Lake Formation.

      " + } + } + }, + "CreateLakeFormationIdentityCenterConfigurationResponse":{ + "type":"structure", + "members":{ + "ApplicationArn":{ + "shape":"ApplicationArn", + "documentation":"

      The Amazon Resource Name (ARN) of the integrated application.

      " + } + } + }, "CreateLakeFormationOptInRequest":{ "type":"structure", "required":[ @@ -1416,7 +1521,7 @@ }, "Parameters":{ "shape":"ParametersMap", - "documentation":"

      A key-value map that provides an additional configuration on your data lake. CrossAccountVersion is the key you can configure in the Parameters field. Accepted values for the CrossAccountVersion key are 1, 2, and 3.

      " + "documentation":"

      A key-value map that provides an additional configuration on your data lake. CROSS_ACCOUNT_VERSION is the key you can configure in the Parameters field. Accepted values for the CrossAccountVersion key are 1, 2, 3, and 4.

      " }, "TrustedResourceOwners":{ "shape":"TrustedResourceOwners", @@ -1524,6 +1629,20 @@ "members":{ } }, + "DeleteLakeFormationIdentityCenterConfigurationRequest":{ + "type":"structure", + "members":{ + "CatalogId":{ + "shape":"CatalogIdString", + "documentation":"

      The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, view definition, and other control information to manage your Lake Formation environment.

      " + } + } + }, + "DeleteLakeFormationIdentityCenterConfigurationResponse":{ + "type":"structure", + "members":{ + } + }, "DeleteLakeFormationOptInRequest":{ "type":"structure", "required":[ @@ -1610,6 +1729,36 @@ "members":{ } }, + "DescribeLakeFormationIdentityCenterConfigurationRequest":{ + "type":"structure", + "members":{ + "CatalogId":{ + "shape":"CatalogIdString", + "documentation":"

      The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your Lake Formation environment.

      " + } + } + }, + "DescribeLakeFormationIdentityCenterConfigurationResponse":{ + "type":"structure", + "members":{ + "CatalogId":{ + "shape":"CatalogIdString", + "documentation":"

      The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your Lake Formation environment.

      " + }, + "InstanceArn":{ + "shape":"IdentityCenterInstanceArn", + "documentation":"

      The Amazon Resource Name (ARN) of the connection.

      " + }, + "ApplicationArn":{ + "shape":"ApplicationArn", + "documentation":"

      The Amazon Resource Name (ARN) of the integrated application.

      " + }, + "ExternalFiltering":{ + "shape":"ExternalFilteringConfiguration", + "documentation":"

      Indicates if external filtering is enabled.

      " + } + } + }, "DescribeResourceRequest":{ "type":"structure", "required":["ResourceArn"], @@ -1670,6 +1819,13 @@ "min":1, "pattern":"[\\p{L}\\p{N}\\p{P}]*" }, + "EnableStatus":{ + "type":"string", + "enum":[ + "ENABLED", + "DISABLED" + ] + }, "EntityNotFoundException":{ "type":"structure", "members":{ @@ -1748,6 +1904,24 @@ "members":{ } }, + "ExternalFilteringConfiguration":{ + "type":"structure", + "required":[ + "Status", + "AuthorizedTargets" + ], + "members":{ + "Status":{ + "shape":"EnableStatus", + "documentation":"

      Allows to enable or disable the third-party applications that are allowed to access data managed by Lake Formation.

      " + }, + "AuthorizedTargets":{ + "shape":"ScopeTargets", + "documentation":"

      List of third-party application ARNs integrated with Lake Formation.

      " + } + }, + "documentation":"

      Configuration for enabling external data filtering for third-party applications to access data managed by Lake Formation .

      " + }, "FieldNameString":{ "type":"string", "enum":[ @@ -2298,6 +2472,7 @@ "max":255, "min":1 }, + "IdentityCenterInstanceArn":{"type":"string"}, "Integer":{ "type":"integer", "box":true @@ -3246,6 +3421,11 @@ "max":100000, "min":4 }, + "ScopeTarget":{"type":"string"}, + "ScopeTargets":{ + "type":"list", + "member":{"shape":"ScopeTarget"} + }, "SearchDatabasesByLFTagsRequest":{ "type":"structure", "required":["Expression"], @@ -3314,7 +3494,7 @@ "members":{ "NextToken":{ "shape":"Token", - "documentation":"

      A continuation token, present if the current list segment is not the last.

      " + "documentation":"

      A continuation token, present if the current list segment is not the last. On the first run, if you include a not null (a value) token you can get empty pages.

      " }, "TableList":{ "shape":"TableLFTagsList", @@ -3744,6 +3924,28 @@ "members":{ } }, + "UpdateLakeFormationIdentityCenterConfigurationRequest":{ + "type":"structure", + "members":{ + "CatalogId":{ + "shape":"CatalogIdString", + "documentation":"

      The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, view definitions, and other control information to manage your Lake Formation environment.

      " + }, + "ApplicationStatus":{ + "shape":"ApplicationStatus", + "documentation":"

      Allows to enable or disable the IAM Identity Center connection.

      " + }, + "ExternalFiltering":{ + "shape":"ExternalFilteringConfiguration", + "documentation":"

      A list of the account IDs of Amazon Web Services accounts of third-party applications that are allowed to access data managed by Lake Formation.

      " + } + } + }, + "UpdateLakeFormationIdentityCenterConfigurationResponse":{ + "type":"structure", + "members":{ + } + }, "UpdateResourceRequest":{ "type":"structure", "required":[ diff --git a/tools/code-generation/api-descriptions/logs-2014-03-28.normal.json b/tools/code-generation/api-descriptions/logs-2014-03-28.normal.json index 7c63527beda..3495c1aa43b 100644 --- a/tools/code-generation/api-descriptions/logs-2014-03-28.normal.json +++ b/tools/code-generation/api-descriptions/logs-2014-03-28.normal.json @@ -59,7 +59,7 @@ {"shape":"ServiceQuotaExceededException"}, {"shape":"ThrottlingException"} ], - "documentation":"

      Creates a delivery. A delivery is a connection between a logical delivery source and a logical delivery destination that you have already created.

      Only some Amazon Web Services services support being configured as a delivery source using this operation. These services are listed as Supported [V2 Permissions] in the table at Enabling logging from Amazon Web Services services.

      A delivery destination can represent a log group in CloudWatch Logs, an Amazon S3 bucket, or a delivery stream in Kinesis Data Firehose.

      To configure logs delivery between a supported Amazon Web Services service and a destination, you must do the following:

      • Create a delivery source, which is a logical object that represents the resource that is actually sending the logs. For more information, see PutDeliverySource.

      • Create a delivery destination, which is a logical object that represents the actual delivery destination. For more information, see PutDeliveryDestination.

      • If you are delivering logs cross-account, you must use PutDeliveryDestinationPolicy in the destination account to assign an IAM policy to the destination. This policy allows delivery to that destination.

      • Use CreateDelivery to create a delivery by pairing exactly one delivery source and one delivery destination.

      You can configure a single delivery source to send logs to multiple destinations by creating multiple deliveries. You can also create multiple deliveries to configure multiple delivery sources to send logs to the same delivery destination.

      You can't update an existing delivery. You can only create and delete deliveries.

      " + "documentation":"

      Creates a delivery. A delivery is a connection between a logical delivery source and a logical delivery destination that you have already created.

      Only some Amazon Web Services services support being configured as a delivery source using this operation. These services are listed as Supported [V2 Permissions] in the table at Enabling logging from Amazon Web Services services.

      A delivery destination can represent a log group in CloudWatch Logs, an Amazon S3 bucket, or a delivery stream in Kinesis Data Firehose.

      To configure logs delivery between a supported Amazon Web Services service and a destination, you must do the following:

      • Create a delivery source, which is a logical object that represents the resource that is actually sending the logs. For more information, see PutDeliverySource.

      • Create a delivery destination, which is a logical object that represents the actual delivery destination. For more information, see PutDeliveryDestination.

      • If you are delivering logs cross-account, you must use PutDeliveryDestinationPolicy in the destination account to assign an IAM policy to the destination. This policy allows delivery to that destination.

      • Use CreateDelivery to create a delivery by pairing exactly one delivery source and one delivery destination.

      You can configure a single delivery source to send logs to multiple destinations by creating multiple deliveries. You can also create multiple deliveries to configure multiple delivery sources to send logs to the same delivery destination.

      You can't update an existing delivery. You can only create and delete deliveries.

      " }, "CreateExportTask":{ "name":"CreateExportTask", @@ -79,6 +79,23 @@ ], "documentation":"

      Creates an export task so that you can efficiently export data from a log group to an Amazon S3 bucket. When you perform a CreateExportTask operation, you must use credentials that have permission to write to the S3 bucket that you specify as the destination.

      Exporting log data to S3 buckets that are encrypted by KMS is supported. Exporting log data to Amazon S3 buckets that have S3 Object Lock enabled with a retention period is also supported.

      Exporting to S3 buckets that are encrypted with AES-256 is supported.

      This is an asynchronous call. If all the required information is provided, this operation initiates an export task and responds with the ID of the task. After the task has started, you can use DescribeExportTasks to get the status of the export task. Each account can only have one active (RUNNING or PENDING) export task at a time. To cancel an export task, use CancelExportTask.

      You can export logs from multiple log groups or multiple time ranges to the same S3 bucket. To separate log data for each export task, specify a prefix to be used as the Amazon S3 key prefix for all exported objects.

      Time-based sorting on chunks of log data inside an exported file is not guaranteed. You can sort the exported log field data by using Linux utilities.

      " }, + "CreateLogAnomalyDetector":{ + "name":"CreateLogAnomalyDetector", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateLogAnomalyDetectorRequest"}, + "output":{"shape":"CreateLogAnomalyDetectorResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"OperationAbortedException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

      Creates an anomaly detector that regularly scans one or more log groups and look for patterns and anomalies in the logs.

      An anomaly detector can help surface issues by automatically discovering anomalies in your log event traffic. An anomaly detector uses machine learning algorithms to scan log events and find patterns. A pattern is a shared text structure that recurs among your log fields. Patterns provide a useful tool for analyzing large sets of logs because a large number of log events can often be compressed into a few patterns.

      The anomaly detector uses pattern recognition to find anomalies, which are unusual log events. It uses the evaluationFrequency to compare current log events and patterns with trained baselines.

      Fields within a pattern are called tokens. Fields that vary within a pattern, such as a request ID or timestamp, are referred to as dynamic tokens and represented by <*>.

      The following is an example of a pattern:

      [INFO] Request time: <*> ms

      This pattern represents log events like [INFO] Request time: 327 ms and other similar log events that differ only by the number, in this csse 327. When the pattern is displayed, the different numbers are replaced by <*>

      Any parts of log events that are masked as sensitive data are not scanned for anomalies. For more information about masking sensitive data, see Help protect sensitive log data with masking.

      " + }, "CreateLogGroup":{ "name":"CreateLogGroup", "http":{ @@ -221,6 +238,21 @@ ], "documentation":"

      Deletes the specified destination, and eventually disables all the subscription filters that publish to it. This operation does not delete the physical resource encapsulated by the destination.

      " }, + "DeleteLogAnomalyDetector":{ + "name":"DeleteLogAnomalyDetector", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteLogAnomalyDetectorRequest"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"OperationAbortedException"} + ], + "documentation":"

      Deletes the specified CloudWatch Logs anomaly detector.

      " + }, "DeleteLogGroup":{ "name":"DeleteLogGroup", "http":{ @@ -631,6 +663,22 @@ ], "documentation":"

      Retrieves complete information about one delivery source.

      " }, + "GetLogAnomalyDetector":{ + "name":"GetLogAnomalyDetector", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetLogAnomalyDetectorRequest"}, + "output":{"shape":"GetLogAnomalyDetectorResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"OperationAbortedException"} + ], + "documentation":"

      Retrieves information about the log anomaly detector that you specify.

      " + }, "GetLogEvents":{ "name":"GetLogEvents", "http":{ @@ -693,6 +741,38 @@ ], "documentation":"

      Returns the results from the specified query.

      Only the fields requested in the query are returned, along with a @ptr field, which is the identifier for the log record. You can use the value of @ptr in a GetLogRecord operation to get the full log record.

      GetQueryResults does not start running a query. To run a query, use StartQuery. For more information about how long results of previous queries are available, see CloudWatch Logs quotas.

      If the value of the Status field in the output is Running, this operation returns only partial results. If you see a value of Scheduled or Running for the status, you can retry the operation later to see the final results.

      If you are using CloudWatch cross-account observability, you can use this operation in a monitoring account to start queries in linked source accounts. For more information, see CloudWatch cross-account observability.

      " }, + "ListAnomalies":{ + "name":"ListAnomalies", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListAnomaliesRequest"}, + "output":{"shape":"ListAnomaliesResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"OperationAbortedException"} + ], + "documentation":"

      Returns a list of anomalies that log anomaly detectors have found. For details about the structure format of each anomaly object that is returned, see the example in this section.

      " + }, + "ListLogAnomalyDetectors":{ + "name":"ListLogAnomalyDetectors", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListLogAnomalyDetectorsRequest"}, + "output":{"shape":"ListLogAnomalyDetectorsResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"OperationAbortedException"} + ], + "documentation":"

      Retrieves a list of the log anomaly detectors in the account.

      " + }, "ListTagsForResource":{ "name":"ListTagsForResource", "http":{ @@ -773,7 +853,7 @@ {"shape":"ThrottlingException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

      Creates or updates a logical delivery destination. A delivery destination is an Amazon Web Services resource that represents an Amazon Web Services service that logs can be sent to. CloudWatch Logs, Amazon S3, and Kinesis Data Firehose are supported as logs delivery destinations.

      To configure logs delivery between a supported Amazon Web Services service and a destination, you must do the following:

      • Create a delivery source, which is a logical object that represents the resource that is actually sending the logs. For more information, see PutDeliverySource.

      • Use PutDeliveryDestination to create a delivery destination, which is a logical object that represents the actual delivery destination.

      • If you are delivering logs cross-account, you must use PutDeliveryDestinationPolicy in the destination account to assign an IAM policy to the destination. This policy allows delivery to that destination.

      • Use CreateDelivery to create a delivery by pairing exactly one delivery source and one delivery destination. For more information, see CreateDelivery.

      You can configure a single delivery source to send logs to multiple destinations by creating multiple deliveries. You can also create multiple deliveries to configure multiple delivery sources to send logs to the same delivery destination.

      Only some Amazon Web Services services support being configured as a delivery source. These services are listed as Supported [V2 Permissions] in the table at Enabling logging from Amazon Web Services services.

      If you use this operation to update an existing delivery destination, all the current delivery destination parameters are overwritten with the new parameter values that you specify.

      " + "documentation":"

      Creates or updates a logical delivery destination. A delivery destination is an Amazon Web Services resource that represents an Amazon Web Services service that logs can be sent to. CloudWatch Logs, Amazon S3, and Kinesis Data Firehose are supported as logs delivery destinations.

      To configure logs delivery between a supported Amazon Web Services service and a destination, you must do the following:

      • Create a delivery source, which is a logical object that represents the resource that is actually sending the logs. For more information, see PutDeliverySource.

      • Use PutDeliveryDestination to create a delivery destination, which is a logical object that represents the actual delivery destination.

      • If you are delivering logs cross-account, you must use PutDeliveryDestinationPolicy in the destination account to assign an IAM policy to the destination. This policy allows delivery to that destination.

      • Use CreateDelivery to create a delivery by pairing exactly one delivery source and one delivery destination. For more information, see CreateDelivery.

      You can configure a single delivery source to send logs to multiple destinations by creating multiple deliveries. You can also create multiple deliveries to configure multiple delivery sources to send logs to the same delivery destination.

      Only some Amazon Web Services services support being configured as a delivery source. These services are listed as Supported [V2 Permissions] in the table at Enabling logging from Amazon Web Services services.

      If you use this operation to update an existing delivery destination, all the current delivery destination parameters are overwritten with the new parameter values that you specify.

      " }, "PutDeliveryDestinationPolicy":{ "name":"PutDeliveryDestinationPolicy", @@ -789,7 +869,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"ConflictException"} ], - "documentation":"

      Creates and assigns an IAM policy that grants permissions to CloudWatch Logs to deliver logs cross-account to a specified destination in this account. To configure the delivery of logs from an Amazon Web Services service in another account to a logs delivery destination in the current account, you must do the following:

      • Create a delivery source, which is a logical object that represents the resource that is actually sending the logs. For more information, see PutDeliverySource.

      • Create a delivery destination, which is a logical object that represents the actual delivery destination. For more information, see PutDeliveryDestination.

      • Use this operation in the destination account to assign an IAM policy to the destination. This policy allows delivery to that destination.

      • Create a delivery by pairing exactly one delivery source and one delivery destination. For more information, see CreateDelivery.

      Only some Amazon Web Services services support being configured as a delivery source. These services are listed as Supported [V2 Permissions] in the table at Enabling logging from Amazon Web Services services.

      The contents of the policy must include two statements. One statement enables general logs delivery, and the other allows delivery to the chosen destination. See the examples for the needed policies.

      " + "documentation":"

      Creates and assigns an IAM policy that grants permissions to CloudWatch Logs to deliver logs cross-account to a specified destination in this account. To configure the delivery of logs from an Amazon Web Services service in another account to a logs delivery destination in the current account, you must do the following:

      • Create a delivery source, which is a logical object that represents the resource that is actually sending the logs. For more information, see PutDeliverySource.

      • Create a delivery destination, which is a logical object that represents the actual delivery destination. For more information, see PutDeliveryDestination.

      • Use this operation in the destination account to assign an IAM policy to the destination. This policy allows delivery to that destination.

      • Create a delivery by pairing exactly one delivery source and one delivery destination. For more information, see CreateDelivery.

      Only some Amazon Web Services services support being configured as a delivery source. These services are listed as Supported [V2 Permissions] in the table at Enabling logging from Amazon Web Services services.

      The contents of the policy must include two statements. One statement enables general logs delivery, and the other allows delivery to the chosen destination. See the examples for the needed policies.

      " }, "PutDeliverySource":{ "name":"PutDeliverySource", @@ -807,7 +887,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"ThrottlingException"} ], - "documentation":"

      Creates or updates a logical delivery source. A delivery source represents an Amazon Web Services resource that sends logs to an logs delivery destination. The destination can be CloudWatch Logs, Amazon S3, or Kinesis Data Firehose.

      To configure logs delivery between a delivery destination and an Amazon Web Services service that is supported as a delivery source, you must do the following:

      • Use PutDeliverySource to create a delivery source, which is a logical object that represents the resource that is actually sending the logs.

      • Use PutDeliveryDestination to create a delivery destination, which is a logical object that represents the actual delivery destination. For more information, see PutDeliveryDestination.

      • If you are delivering logs cross-account, you must use PutDeliveryDestinationPolicy in the destination account to assign an IAM policy to the destination. This policy allows delivery to that destination.

      • Use CreateDelivery to create a delivery by pairing exactly one delivery source and one delivery destination. For more information, see CreateDelivery.

      You can configure a single delivery source to send logs to multiple destinations by creating multiple deliveries. You can also create multiple deliveries to configure multiple delivery sources to send logs to the same delivery destination.

      Only some Amazon Web Services services support being configured as a delivery source. These services are listed as Supported [V2 Permissions] in the table at Enabling logging from Amazon Web Services services.

      If you use this operation to update an existing delivery source, all the current delivery source parameters are overwritten with the new parameter values that you specify.

      " + "documentation":"

      Creates or updates a logical delivery source. A delivery source represents an Amazon Web Services resource that sends logs to an logs delivery destination. The destination can be CloudWatch Logs, Amazon S3, or Kinesis Data Firehose.

      To configure logs delivery between a delivery destination and an Amazon Web Services service that is supported as a delivery source, you must do the following:

      • Use PutDeliverySource to create a delivery source, which is a logical object that represents the resource that is actually sending the logs.

      • Use PutDeliveryDestination to create a delivery destination, which is a logical object that represents the actual delivery destination. For more information, see PutDeliveryDestination.

      • If you are delivering logs cross-account, you must use PutDeliveryDestinationPolicy in the destination account to assign an IAM policy to the destination. This policy allows delivery to that destination.

      • Use CreateDelivery to create a delivery by pairing exactly one delivery source and one delivery destination. For more information, see CreateDelivery.

      You can configure a single delivery source to send logs to multiple destinations by creating multiple deliveries. You can also create multiple deliveries to configure multiple delivery sources to send logs to the same delivery destination.

      Only some Amazon Web Services services support being configured as a delivery source. These services are listed as Supported [V2 Permissions] in the table at Enabling logging from Amazon Web Services services.

      If you use this operation to update an existing delivery source, all the current delivery source parameters are overwritten with the new parameter values that you specify.

      " }, "PutDestination":{ "name":"PutDestination", @@ -1037,6 +1117,36 @@ {"shape":"ServiceUnavailableException"} ], "documentation":"

      Removes one or more tags from the specified resource.

      " + }, + "UpdateAnomaly":{ + "name":"UpdateAnomaly", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateAnomalyRequest"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"OperationAbortedException"} + ], + "documentation":"

      Use this operation to suppress anomaly detection for a specified anomaly or pattern. If you suppress an anomaly, CloudWatch Logs won’t report new occurrences of that anomaly and won't update that anomaly with new data. If you suppress a pattern, CloudWatch Logs won’t report any anomalies related to that pattern.

      You must specify either anomalyId or patternId, but you can't specify both parameters in the same operation.

      If you have previously used this operation to suppress detection of a pattern or anomaly, you can use it again to cause CloudWatch Logs to end the suppression. To do this, use this operation and specify the anomaly or pattern to stop suppressing, and omit the suppressionType and suppressionPeriod parameters.

      " + }, + "UpdateLogAnomalyDetector":{ + "name":"UpdateLogAnomalyDetector", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateLogAnomalyDetectorRequest"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"OperationAbortedException"} + ], + "documentation":"

      Updates an existing log anomaly detector.

      " } }, "shapes":{ @@ -1104,6 +1214,180 @@ "min":1, "pattern":"[\\w+=/:,.@-]*" }, + "Anomalies":{ + "type":"list", + "member":{"shape":"Anomaly"} + }, + "Anomaly":{ + "type":"structure", + "required":[ + "anomalyId", + "patternId", + "anomalyDetectorArn", + "patternString", + "firstSeen", + "lastSeen", + "description", + "active", + "state", + "histogram", + "logSamples", + "patternTokens", + "logGroupArnList" + ], + "members":{ + "anomalyId":{ + "shape":"AnomalyId", + "documentation":"

      The unique ID that CloudWatch Logs assigned to this anomaly.

      " + }, + "patternId":{ + "shape":"PatternId", + "documentation":"

      The ID of the pattern used to help identify this anomaly.

      " + }, + "anomalyDetectorArn":{ + "shape":"AnomalyDetectorArn", + "documentation":"

      The ARN of the anomaly detector that identified this anomaly.

      " + }, + "patternString":{ + "shape":"PatternString", + "documentation":"

      The pattern used to help identify this anomaly, in string format.

      " + }, + "patternRegex":{ + "shape":"PatternRegex", + "documentation":"

      The pattern used to help identify this anomaly, in regular expression format.

      " + }, + "priority":{ + "shape":"Priority", + "documentation":"

      The priority level of this anomaly, as determined by CloudWatch Logs. Priority is computed based on log severity labels such as FATAL and ERROR and the amount of deviation from the baseline. Possible values are HIGH, MEDIUM, and LOW.

      " + }, + "firstSeen":{ + "shape":"EpochMillis", + "documentation":"

      The date and time when the anomaly detector first saw this anomaly. It is specified as epoch time, which is the number of seconds since January 1, 1970, 00:00:00 UTC.

      " + }, + "lastSeen":{ + "shape":"EpochMillis", + "documentation":"

      The date and time when the anomaly detector most recently saw this anomaly. It is specified as epoch time, which is the number of seconds since January 1, 1970, 00:00:00 UTC.

      " + }, + "description":{ + "shape":"Description", + "documentation":"

      A human-readable description of the anomaly. This description is generated by CloudWatch Logs.

      " + }, + "active":{ + "shape":"Boolean", + "documentation":"

      Specifies whether this anomaly is still ongoing.

      " + }, + "state":{ + "shape":"State", + "documentation":"

      Indicates the current state of this anomaly. If it is still being treated as an anomaly, the value is Active. If you have suppressed this anomaly by using the UpdateAnomaly operation, the value is Suppressed. If this behavior is now considered to be normal, the value is Baseline.

      " + }, + "histogram":{ + "shape":"Histogram", + "documentation":"

      A map showing times when the anomaly detector ran, and the number of occurrences of this anomaly that were detected at each of those runs. The times are specified in epoch time, which is the number of seconds since January 1, 1970, 00:00:00 UTC.

      " + }, + "logSamples":{ + "shape":"LogSamples", + "documentation":"

      An array of sample log event messages that are considered to be part of this anomaly.

      " + }, + "patternTokens":{ + "shape":"PatternTokens", + "documentation":"

      An array of structures where each structure contains information about one token that makes up the pattern.

      " + }, + "logGroupArnList":{ + "shape":"LogGroupArnList", + "documentation":"

      An array of ARNS of the log groups that contained log events considered to be part of this anomaly.

      " + }, + "suppressed":{ + "shape":"Boolean", + "documentation":"

      Indicates whether this anomaly is currently suppressed. To suppress an anomaly, use UpdateAnomaly.

      " + }, + "suppressedDate":{ + "shape":"EpochMillis", + "documentation":"

      If the anomaly is suppressed, this indicates when it was suppressed.

      " + }, + "suppressedUntil":{ + "shape":"EpochMillis", + "documentation":"

      If the anomaly is suppressed, this indicates when the suppression will end. If this value is 0, the anomaly was suppressed with no expiration, with the INFINITE value.

      " + }, + "isPatternLevelSuppression":{ + "shape":"Boolean", + "documentation":"

      If this anomaly is suppressed, this field is true if the suppression is because the pattern is suppressed. If false, then only this particular anomaly is suppressed.

      " + } + }, + "documentation":"

      This structure represents one anomaly that has been found by a logs anomaly detector.

      For more information about patterns and anomalies, see CreateLogAnomalyDetector.

      " + }, + "AnomalyDetector":{ + "type":"structure", + "members":{ + "anomalyDetectorArn":{ + "shape":"AnomalyDetectorArn", + "documentation":"

      The ARN of the anomaly detector.

      " + }, + "detectorName":{ + "shape":"DetectorName", + "documentation":"

      The name of the anomaly detector.

      " + }, + "logGroupArnList":{ + "shape":"LogGroupArnList", + "documentation":"

      A list of the ARNs of the log groups that this anomaly detector watches.

      " + }, + "evaluationFrequency":{ + "shape":"EvaluationFrequency", + "documentation":"

      Specifies how often the anomaly detector runs and look for anomalies.

      " + }, + "filterPattern":{"shape":"FilterPattern"}, + "anomalyDetectorStatus":{ + "shape":"AnomalyDetectorStatus", + "documentation":"

      Specifies the current status of the anomaly detector. To pause an anomaly detector, use the enabled parameter in the UpdateLogAnomalyDetector operation.

      " + }, + "kmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

      The ID of the KMS key assigned to this anomaly detector, if any.

      " + }, + "creationTimeStamp":{ + "shape":"EpochMillis", + "documentation":"

      The date and time when this anomaly detector was created.

      " + }, + "lastModifiedTimeStamp":{ + "shape":"EpochMillis", + "documentation":"

      The date and time when this anomaly detector was most recently modified.

      " + }, + "anomalyVisibilityTime":{ + "shape":"AnomalyVisibilityTime", + "documentation":"

      The number of days used as the life cycle of anomalies. After this time, anomalies are automatically baselined and the anomaly detector model will treat new occurrences of similar event as normal.

      " + } + }, + "documentation":"

      Contains information about one anomaly detector in the account.

      " + }, + "AnomalyDetectorArn":{ + "type":"string", + "min":1, + "pattern":"[\\w#+=/:,.@-]*" + }, + "AnomalyDetectorStatus":{ + "type":"string", + "enum":[ + "INITIALIZING", + "TRAINING", + "ANALYZING", + "FAILED", + "DELETED", + "PAUSED" + ] + }, + "AnomalyDetectors":{ + "type":"list", + "member":{"shape":"AnomalyDetector"} + }, + "AnomalyId":{ + "type":"string", + "max":36, + "min":36 + }, + "AnomalyVisibilityTime":{ + "type":"long", + "max":90, + "min":7 + }, "Arn":{"type":"string"}, "AssociateKmsKeyRequest":{ "type":"structure", @@ -1123,6 +1407,7 @@ } } }, + "Boolean":{"type":"boolean"}, "CancelExportTaskRequest":{ "type":"structure", "required":["taskId"], @@ -1146,6 +1431,7 @@ "documentation":"

      This operation attempted to create a resource that already exists.

      ", "exception":true }, + "Count":{"type":"long"}, "CreateDeliveryRequest":{ "type":"structure", "required":[ @@ -1224,13 +1510,56 @@ } } }, + "CreateLogAnomalyDetectorRequest":{ + "type":"structure", + "required":["logGroupArnList"], + "members":{ + "logGroupArnList":{ + "shape":"LogGroupArnList", + "documentation":"

      An array containing the ARNs of the log groups that this anomaly detector will watch. You must specify at least one ARN.

      " + }, + "detectorName":{ + "shape":"DetectorName", + "documentation":"

      A name for this anomaly detector.

      " + }, + "evaluationFrequency":{ + "shape":"EvaluationFrequency", + "documentation":"

      Specifies how often the anomaly detector is to run and look for anomalies. Set this value according to the frequency that the log group receives new logs. For example, if the log group receives new log events every 10 minutes, then 15 minutes might be a good setting for evaluationFrequency .

      " + }, + "filterPattern":{ + "shape":"FilterPattern", + "documentation":"

      You can use this parameter to limit the anomaly detection model to examine only log events that match the pattern you specify here. For more information, see Filter and Pattern Syntax.

      " + }, + "kmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

      Optionally assigns a KMS key to secure this anomaly detector and its findings. If a key is assigned, the anomalies found and the model used by this detector are encrypted at rest with the key. If a key is assigned to an anomaly detector, a user must have permissions for both this key and for the anomaly detector to retrieve information about the anomalies that it finds.

      For more information about using a KMS key and to see the required IAM policy, see Use a KMS key with an anomaly detector.

      " + }, + "anomalyVisibilityTime":{ + "shape":"AnomalyVisibilityTime", + "documentation":"

      The number of days to have visibility on an anomaly. After this time period has elapsed for an anomaly, it will be automatically baselined and the anomaly detector will treat new occurrences of a similar anomaly as normal. Therefore, if you do not correct the cause of an anomaly during the time period specified in anomalyVisibilityTime, it will be considered normal going forward and will not be detected as an anomaly.

      " + }, + "tags":{ + "shape":"Tags", + "documentation":"

      An optional list of key-value pairs to associate with the resource.

      For more information about tagging, see Tagging Amazon Web Services resources

      " + } + } + }, + "CreateLogAnomalyDetectorResponse":{ + "type":"structure", + "members":{ + "anomalyDetectorArn":{ + "shape":"AnomalyDetectorArn", + "documentation":"

      The ARN of the log anomaly detector that you just created.

      " + } + } + }, "CreateLogGroupRequest":{ "type":"structure", "required":["logGroupName"], "members":{ "logGroupName":{ "shape":"LogGroupName", - "documentation":"

      The name of the log group.

      " + "documentation":"

      A name for the log group.

      " }, "kmsKeyId":{ "shape":"KmsKeyId", @@ -1239,6 +1568,10 @@ "tags":{ "shape":"Tags", "documentation":"

      The key-value pairs to use for the tags.

      You can grant users access to certain log groups while preventing them from accessing other log groups. To do so, tag your groups and use IAM policies that refer to those tags. To assign tags when you create a log group, you must have either the logs:TagResource or logs:TagLogGroup permission. For more information about tagging, see Tagging Amazon Web Services resources. For more information about using tags to control access, see Controlling access to Amazon Web Services resources using tags.

      " + }, + "logGroupClass":{ + "shape":"LogGroupClass", + "documentation":"

      Use this parameter to specify the log group class for this log group. There are two classes:

      • The Standard log class supports all CloudWatch Logs features.

      • The Infrequent Access log class supports a subset of CloudWatch Logs features and incurs lower costs.

      If you omit this parameter, the default of STANDARD is used.

      For details about the features supported by each class, see Log classes

      " } } }, @@ -1359,6 +1692,16 @@ } } }, + "DeleteLogAnomalyDetectorRequest":{ + "type":"structure", + "required":["anomalyDetectorArn"], + "members":{ + "anomalyDetectorArn":{ + "shape":"AnomalyDetectorArn", + "documentation":"

      The ARN of the anomaly detector to delete. You can find the ARNs of log anomaly detectors in your account by using the ListLogAnomalyDetectors operation.

      " + } + } + }, "DeleteLogGroupRequest":{ "type":"structure", "required":["logGroupName"], @@ -1520,7 +1863,7 @@ "documentation":"

      The tags that have been assigned to this delivery destination.

      " } }, - "documentation":"

      This structure contains information about one delivery destination in your account. A delivery destination is an Amazon Web Services resource that represents an shared id=\"AWS\"/> service that logs can be sent to. CloudWatch Logs, Amazon S3, are supported as Kinesis Data Firehose delivery destinations.

      To configure logs delivery between a supported Amazon Web Services service and a destination, you must do the following:

      • Create a delivery source, which is a logical object that represents the resource that is actually sending the logs. For more information, see PutDeliverySource.

      • Create a delivery destination, which is a logical object that represents the actual delivery destination.

      • If you are delivering logs cross-account, you must use PutDeliveryDestinationPolicy in the destination account to assign an IAM policy to the destination. This policy allows delivery to that destination.

      • Create a delivery by pairing exactly one delivery source and one delivery destination. For more information, see CreateDelivery.

      You can configure a single delivery source to send logs to multiple destinations by creating multiple deliveries. You can also create multiple deliveries to configure multiple delivery sources to send logs to the same delivery destination.

      " + "documentation":"

      This structure contains information about one delivery destination in your account. A delivery destination is an Amazon Web Services resource that represents an Amazon Web Services service that logs can be sent to. CloudWatch Logs, Amazon S3, are supported as Kinesis Data Firehose delivery destinations.

      To configure logs delivery between a supported Amazon Web Services service and a destination, you must do the following:

      • Create a delivery source, which is a logical object that represents the resource that is actually sending the logs. For more information, see PutDeliverySource.

      • Create a delivery destination, which is a logical object that represents the actual delivery destination.

      • If you are delivering logs cross-account, you must use PutDeliveryDestinationPolicy in the destination account to assign an IAM policy to the destination. This policy allows delivery to that destination.

      • Create a delivery by pairing exactly one delivery source and one delivery destination. For more information, see CreateDelivery.

      You can configure a single delivery source to send logs to multiple destinations by creating multiple deliveries. You can also create multiple deliveries to configure multiple delivery sources to send logs to the same delivery destination.

      " }, "DeliveryDestinationConfiguration":{ "type":"structure", @@ -1590,7 +1933,7 @@ "documentation":"

      The tags that have been assigned to this delivery source.

      " } }, - "documentation":"

      This structure contains information about one delivery source in your account. A delivery source is an Amazon Web Services resource that sends logs to an Amazon Web Services destination. The destination can be CloudWatch Logs, Amazon S3, or Kinesis Data Firehose.

      Only some Amazon Web Services services support being configured as a delivery source. These services are listed as Supported [V2 Permissions] in the table at Enabling logging from Amazon Web Services services.

      To configure logs delivery between a supported Amazon Web Services service and a destination, you must do the following:

      • Create a delivery source, which is a logical object that represents the resource that is actually sending the logs. For more information, see PutDeliverySource.

      • Create a delivery destination, which is a logical object that represents the actual delivery destination. For more information, see PutDeliveryDestination.

      • If you are delivering logs cross-account, you must use PutDeliveryDestinationPolicy in the destination account to assign an IAM policy to the destination. This policy allows delivery to that destination.

      • Create a delivery by pairing exactly one delivery source and one delivery destination. For more information, see CreateDelivery.

      You can configure a single delivery source to send logs to multiple destinations by creating multiple deliveries. You can also create multiple deliveries to configure multiple delivery sources to send logs to the same delivery destination.

      " + "documentation":"

      This structure contains information about one delivery source in your account. A delivery source is an Amazon Web Services resource that sends logs to an Amazon Web Services destination. The destination can be CloudWatch Logs, Amazon S3, or Kinesis Data Firehose.

      Only some Amazon Web Services services support being configured as a delivery source. These services are listed as Supported [V2 Permissions] in the table at Enabling logging from Amazon Web Services services.

      To configure logs delivery between a supported Amazon Web Services service and a destination, you must do the following:

      • Create a delivery source, which is a logical object that represents the resource that is actually sending the logs. For more information, see PutDeliverySource.

      • Create a delivery destination, which is a logical object that represents the actual delivery destination. For more information, see PutDeliveryDestination.

      • If you are delivering logs cross-account, you must use PutDeliveryDestinationPolicy in the destination account to assign an IAM policy to the destination. This policy allows delivery to that destination.

      • Create a delivery by pairing exactly one delivery source and one delivery destination. For more information, see CreateDelivery.

      You can configure a single delivery source to send logs to multiple destinations by creating multiple deliveries. You can also create multiple deliveries to configure multiple delivery sources to send logs to the same delivery destination.

      " }, "DeliverySourceName":{ "type":"string", @@ -1779,6 +2122,10 @@ "includeLinkedAccounts":{ "shape":"IncludeLinkedAccounts", "documentation":"

      If you are using a monitoring account, set this to True to have the operation return log groups in the accounts listed in accountIdentifiers.

      If this parameter is set to true and accountIdentifiers contains a null value, the operation returns all log groups in the monitoring account and all log groups in all source accounts that are linked to the monitoring account.

      " + }, + "logGroupClass":{ + "shape":"LogGroupClass", + "documentation":"

      Specifies the log group class for this log group. There are two classes:

      • The Standard log class supports all CloudWatch Logs features.

      • The Infrequent Access log class supports a subset of CloudWatch Logs features and incurs lower costs.

      For details about the features supported by each class, see Log classes

      " } } }, @@ -1983,6 +2330,10 @@ "nextToken":{"shape":"NextToken"} } }, + "Description":{ + "type":"string", + "min":1 + }, "Destination":{ "type":"structure", "members":{ @@ -2027,6 +2378,10 @@ "type":"list", "member":{"shape":"Destination"} }, + "DetectorName":{ + "type":"string", + "min":1 + }, "Dimensions":{ "type":"map", "key":{"shape":"DimensionsKey"}, @@ -2061,10 +2416,31 @@ "ByLogStream" ] }, + "DynamicTokenPosition":{"type":"integer"}, "EncryptionKey":{ "type":"string", "max":256 }, + "Enumerations":{ + "type":"map", + "key":{"shape":"TokenString"}, + "value":{"shape":"TokenValue"} + }, + "EpochMillis":{ + "type":"long", + "min":0 + }, + "EvaluationFrequency":{ + "type":"string", + "enum":[ + "ONE_MIN", + "FIVE_MIN", + "TEN_MIN", + "FIFTEEN_MIN", + "THIRTY_MIN", + "ONE_HOUR" + ] + }, "EventId":{"type":"string"}, "EventMessage":{ "type":"string", @@ -2399,6 +2775,54 @@ } } }, + "GetLogAnomalyDetectorRequest":{ + "type":"structure", + "required":["anomalyDetectorArn"], + "members":{ + "anomalyDetectorArn":{ + "shape":"AnomalyDetectorArn", + "documentation":"

      The ARN of the anomaly detector to retrieve information about. You can find the ARNs of log anomaly detectors in your account by using the ListLogAnomalyDetectors operation.

      " + } + } + }, + "GetLogAnomalyDetectorResponse":{ + "type":"structure", + "members":{ + "detectorName":{ + "shape":"DetectorName", + "documentation":"

      The name of the log anomaly detector

      " + }, + "logGroupArnList":{ + "shape":"LogGroupArnList", + "documentation":"

      An array of structures, where each structure contains the ARN of a log group associated with this anomaly detector.

      " + }, + "evaluationFrequency":{ + "shape":"EvaluationFrequency", + "documentation":"

      Specifies how often the anomaly detector runs and look for anomalies. Set this value according to the frequency that the log group receives new logs. For example, if the log group receives new log events every 10 minutes, then setting evaluationFrequency to FIFTEEN_MIN might be appropriate.

      " + }, + "filterPattern":{"shape":"FilterPattern"}, + "anomalyDetectorStatus":{ + "shape":"AnomalyDetectorStatus", + "documentation":"

      Specifies whether the anomaly detector is currently active. To change its status, use the enabled parameter in the UpdateLogAnomalyDetector operation.

      " + }, + "kmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

      The ID of the KMS key assigned to this anomaly detector, if any.

      " + }, + "creationTimeStamp":{ + "shape":"EpochMillis", + "documentation":"

      The date and time when this anomaly detector was created.

      " + }, + "lastModifiedTimeStamp":{ + "shape":"EpochMillis", + "documentation":"

      The date and time when this anomaly detector was most recently modified.

      " + }, + "anomalyVisibilityTime":{ + "shape":"AnomalyVisibilityTime", + "documentation":"

      The number of days used as the life cycle of anomalies. After this time, anomalies are automatically baselined and the anomaly detector model will treat new occurrences of similar event as normal.

      " + } + } + }, "GetLogEventsRequest":{ "type":"structure", "required":["logStreamName"], @@ -2538,6 +2962,11 @@ } } }, + "Histogram":{ + "type":"map", + "key":{"shape":"Time"}, + "value":{"shape":"Count"} + }, "IncludeLinkedAccounts":{"type":"boolean"}, "InheritedProperties":{ "type":"list", @@ -2577,6 +3006,7 @@ "max":100, "min":1 }, + "Integer":{"type":"integer"}, "Interleaved":{"type":"boolean"}, "InvalidOperationException":{ "type":"structure", @@ -2611,6 +3041,68 @@ "documentation":"

      You have reached the maximum number of resources that can be created.

      ", "exception":true }, + "ListAnomaliesLimit":{ + "type":"integer", + "max":50, + "min":1 + }, + "ListAnomaliesRequest":{ + "type":"structure", + "members":{ + "anomalyDetectorArn":{ + "shape":"AnomalyDetectorArn", + "documentation":"

      Use this to optionally limit the results to only the anomalies found by a certain anomaly detector.

      " + }, + "suppressionState":{ + "shape":"SuppressionState", + "documentation":"

      You can specify this parameter if you want to the operation to return only anomalies that are currently either suppressed or unsuppressed.

      " + }, + "limit":{ + "shape":"ListAnomaliesLimit", + "documentation":"

      The maximum number of items to return. If you don't specify a value, the default maximum value of 50 items is used.

      " + }, + "nextToken":{"shape":"NextToken"} + } + }, + "ListAnomaliesResponse":{ + "type":"structure", + "members":{ + "anomalies":{ + "shape":"Anomalies", + "documentation":"

      An array of structures, where each structure contains information about one anomaly that a log anomaly detector has found.

      " + }, + "nextToken":{"shape":"NextToken"} + } + }, + "ListLogAnomalyDetectorsLimit":{ + "type":"integer", + "max":50, + "min":1 + }, + "ListLogAnomalyDetectorsRequest":{ + "type":"structure", + "members":{ + "filterLogGroupArn":{ + "shape":"LogGroupArn", + "documentation":"

      Use this to optionally filter the results to only include anomaly detectors that are associated with the specified log group.

      " + }, + "limit":{ + "shape":"ListLogAnomalyDetectorsLimit", + "documentation":"

      The maximum number of items to return. If you don't specify a value, the default maximum value of 50 items is used.

      " + }, + "nextToken":{"shape":"NextToken"} + } + }, + "ListLogAnomalyDetectorsResponse":{ + "type":"structure", + "members":{ + "anomalyDetectors":{ + "shape":"AnomalyDetectors", + "documentation":"

      An array of structures, where each structure in the array contains information about one anomaly detector.

      " + }, + "nextToken":{"shape":"NextToken"} + } + }, "ListTagsForResourceRequest":{ "type":"structure", "required":["resourceArn"], @@ -2653,6 +3145,10 @@ "deprecated":true, "deprecatedMessage":"Please use the generic tagging API model ListTagsForResourceRequest and ListTagsForResourceResponse" }, + "LogEvent":{ + "type":"string", + "min":1 + }, "LogEventIndex":{"type":"integer"}, "LogGroup":{ "type":"structure", @@ -2689,10 +3185,31 @@ "inheritedProperties":{ "shape":"InheritedProperties", "documentation":"

      Displays all the properties that this log group has inherited from account-level settings.

      " + }, + "logGroupClass":{ + "shape":"LogGroupClass", + "documentation":"

      This specifies the log group class for this log group. There are two classes:

      • The Standard log class supports all CloudWatch Logs features.

      • The Infrequent Access log class supports a subset of CloudWatch Logs features and incurs lower costs.

      For details about the features supported by each class, see Log classes

      " } }, "documentation":"

      Represents a log group.

      " }, + "LogGroupArn":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"[\\w#+=/:,.@-]*" + }, + "LogGroupArnList":{ + "type":"list", + "member":{"shape":"LogGroupArn"} + }, + "LogGroupClass":{ + "type":"string", + "enum":[ + "STANDARD", + "INFREQUENT_ACCESS" + ] + }, "LogGroupField":{ "type":"structure", "members":{ @@ -2747,6 +3264,10 @@ "value":{"shape":"Value"} }, "LogRecordPointer":{"type":"string"}, + "LogSamples":{ + "type":"list", + "member":{"shape":"LogEvent"} + }, "LogStream":{ "type":"structure", "members":{ @@ -2970,6 +3491,45 @@ "type":"list", "member":{"shape":"OutputLogEvent"} }, + "PatternId":{ + "type":"string", + "max":32, + "min":32 + }, + "PatternRegex":{ + "type":"string", + "min":1 + }, + "PatternString":{ + "type":"string", + "min":1 + }, + "PatternToken":{ + "type":"structure", + "members":{ + "dynamicTokenPosition":{ + "shape":"DynamicTokenPosition", + "documentation":"

      For a dynamic token, this indicates where in the pattern that this token appears, related to other dynamic tokens. The dynamic token that appears first has a value of 1, the one that appears second is 2, and so on.

      " + }, + "isDynamic":{ + "shape":"Boolean", + "documentation":"

      Specifies whether this is a dynamic token.

      " + }, + "tokenString":{ + "shape":"TokenString", + "documentation":"

      The string represented by this token. If this is a dynamic token, the value will be <*>

      " + }, + "enumerations":{ + "shape":"Enumerations", + "documentation":"

      Contains the values found for a dynamic token, and the number of times each value was found.

      " + } + }, + "documentation":"

      A tructures that contains information about one pattern token related to an anomaly.

      For more information about patterns and tokens, see CreateLogAnomalyDetector.

      " + }, + "PatternTokens":{ + "type":"list", + "member":{"shape":"PatternToken"} + }, "Percentage":{ "type":"integer", "max":100, @@ -2995,6 +3555,10 @@ "type":"string", "enum":["DATA_PROTECTION_POLICY"] }, + "Priority":{ + "type":"string", + "min":1 + }, "PutAccountPolicyRequest":{ "type":"structure", "required":[ @@ -3752,6 +4316,14 @@ } } }, + "State":{ + "type":"string", + "enum":[ + "Active", + "Suppressed", + "Baseline" + ] + }, "StatsValue":{"type":"double"}, "StopQueryRequest":{ "type":"structure", @@ -3809,6 +4381,42 @@ "member":{"shape":"SubscriptionFilter"} }, "Success":{"type":"boolean"}, + "SuppressionPeriod":{ + "type":"structure", + "members":{ + "value":{ + "shape":"Integer", + "documentation":"

      Specifies the number of seconds, minutes or hours to suppress this anomaly. There is no maximum.

      " + }, + "suppressionUnit":{ + "shape":"SuppressionUnit", + "documentation":"

      Specifies whether the value of value is in seconds, minutes, or hours.

      " + } + }, + "documentation":"

      If you are suppressing an anomaly temporariliy, this structure defines how long the suppression period is to be.

      " + }, + "SuppressionState":{ + "type":"string", + "enum":[ + "SUPPRESSED", + "UNSUPPRESSED" + ] + }, + "SuppressionType":{ + "type":"string", + "enum":[ + "LIMITED", + "INFINITE" + ] + }, + "SuppressionUnit":{ + "type":"string", + "enum":[ + "SECONDS", + "MINUTES", + "HOURS" + ] + }, "TagKey":{ "type":"string", "max":128, @@ -3914,11 +4522,20 @@ "documentation":"

      The request was throttled because of quota limits.

      ", "exception":true }, + "Time":{ + "type":"string", + "min":1 + }, "Timestamp":{ "type":"long", "min":0 }, "Token":{"type":"string"}, + "TokenString":{ + "type":"string", + "min":1 + }, + "TokenValue":{"type":"long"}, "TooManyTagsException":{ "type":"structure", "members":{ @@ -3975,6 +4592,58 @@ } } }, + "UpdateAnomalyRequest":{ + "type":"structure", + "required":["anomalyDetectorArn"], + "members":{ + "anomalyId":{ + "shape":"AnomalyId", + "documentation":"

      If you are suppressing or unsuppressing an anomaly, specify its unique ID here. You can find anomaly IDs by using the ListAnomalies operation.

      " + }, + "patternId":{ + "shape":"PatternId", + "documentation":"

      If you are suppressing or unsuppressing an pattern, specify its unique ID here. You can find pattern IDs by using the ListAnomalies operation.

      " + }, + "anomalyDetectorArn":{ + "shape":"AnomalyDetectorArn", + "documentation":"

      The ARN of the anomaly detector that this operation is to act on.

      " + }, + "suppressionType":{ + "shape":"SuppressionType", + "documentation":"

      Use this to specify whether the suppression to be temporary or infinite. If you specify LIMITED, you must also specify a suppressionPeriod. If you specify INFINITE, any value for suppressionPeriod is ignored.

      " + }, + "suppressionPeriod":{ + "shape":"SuppressionPeriod", + "documentation":"

      If you are temporarily suppressing an anomaly or pattern, use this structure to specify how long the suppression is to last.

      " + } + } + }, + "UpdateLogAnomalyDetectorRequest":{ + "type":"structure", + "required":[ + "anomalyDetectorArn", + "enabled" + ], + "members":{ + "anomalyDetectorArn":{ + "shape":"AnomalyDetectorArn", + "documentation":"

      The ARN of the anomaly detector that you want to update.

      " + }, + "evaluationFrequency":{ + "shape":"EvaluationFrequency", + "documentation":"

      Specifies how often the anomaly detector runs and look for anomalies. Set this value according to the frequency that the log group receives new logs. For example, if the log group receives new log events every 10 minutes, then setting evaluationFrequency to FIFTEEN_MIN might be appropriate.

      " + }, + "filterPattern":{"shape":"FilterPattern"}, + "anomalyVisibilityTime":{ + "shape":"AnomalyVisibilityTime", + "documentation":"

      The number of days to use as the life cycle of anomalies. After this time, anomalies are automatically baselined and the anomaly detector model will treat new occurrences of similar event as normal. Therefore, if you do not correct the cause of an anomaly during this time, it will be considered normal going forward and will not be detected.

      " + }, + "enabled":{ + "shape":"Boolean", + "documentation":"

      Use this parameter to pause or restart the anomaly detector.

      " + } + } + }, "ValidationException":{ "type":"structure", "members":{ diff --git a/tools/code-generation/api-descriptions/managedblockchain-2018-09-24.normal.json b/tools/code-generation/api-descriptions/managedblockchain-2018-09-24.normal.json index e80c08b8c87..8f7a755fd9f 100644 --- a/tools/code-generation/api-descriptions/managedblockchain-2018-09-24.normal.json +++ b/tools/code-generation/api-descriptions/managedblockchain-2018-09-24.normal.json @@ -30,7 +30,7 @@ {"shape":"InternalServiceErrorException"}, {"shape":"TooManyTagsException"} ], - "documentation":"

      Creates a new accessor for use with Managed Blockchain Ethereum nodes. An accessor contains information required for token based access to your Ethereum nodes.

      " + "documentation":"

      Creates a new accessor for use with Amazon Managed Blockchain service that supports token based access. The accessor contains information required for token based access.

      " }, "CreateMember":{ "name":"CreateMember", @@ -508,7 +508,7 @@ }, "BillingToken":{ "shape":"AccessorBillingTokenString", - "documentation":"

      The billing token is a property of the accessor. Use this token to make Ethereum API calls to your Ethereum node. The billing token is used to track your accessor object for billing Ethereum API requests made to your Ethereum nodes.

      " + "documentation":"

      The billing token is a property of the Accessor. Use this token to when making calls to the blockchain network. The billing token is used to track your accessor token for billing requests.

      " }, "Status":{ "shape":"AccessorStatus", @@ -525,6 +525,10 @@ "Tags":{ "shape":"OutputTagMap", "documentation":"

      The tags assigned to the Accessor.

      For more information about tags, see Tagging Resources in the Amazon Managed Blockchain Ethereum Developer Guide, or Tagging Resources in the Amazon Managed Blockchain Hyperledger Fabric Developer Guide.

      " + }, + "NetworkType":{ + "shape":"AccessorNetworkType", + "documentation":"

      The blockchain network that the Accessor token is created for.

      " } }, "documentation":"

      The properties of the Accessor.

      " @@ -540,6 +544,16 @@ "max":50, "min":1 }, + "AccessorNetworkType":{ + "type":"string", + "enum":[ + "ETHEREUM_GOERLI", + "ETHEREUM_MAINNET", + "ETHEREUM_MAINNET_AND_GOERLI", + "POLYGON_MAINNET", + "POLYGON_MUMBAI" + ] + }, "AccessorStatus":{ "type":"string", "enum":[ @@ -570,6 +584,10 @@ "Arn":{ "shape":"ArnString", "documentation":"

      The Amazon Resource Name (ARN) of the accessor. For more information about ARNs and their format, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference.

      " + }, + "NetworkType":{ + "shape":"AccessorNetworkType", + "documentation":"

      The blockchain network that the Accessor token is created for.

      " } }, "documentation":"

      A summary of accessor properties.

      " @@ -595,7 +613,7 @@ }, "ThresholdComparator":{ "shape":"ThresholdComparator", - "documentation":"

      Determines whether the vote percentage must be greater than the ThresholdPercentage or must be greater than or equal to the ThreholdPercentage to be approved.

      " + "documentation":"

      Determines whether the vote percentage must be greater than the ThresholdPercentage or must be greater than or equal to the ThresholdPercentage to be approved.

      " } }, "documentation":"

      A policy type that defines the voting rules for the network. The rules decide if a proposal is approved. Approval may be based on criteria such as the percentage of YES votes and the duration of the proposal. The policy applies to all proposals and is specified when the network is created.

      Applies only to Hyperledger Fabric.

      " @@ -631,6 +649,10 @@ "Tags":{ "shape":"InputTagMap", "documentation":"

      Tags to assign to the Accessor.

      Each tag consists of a key and an optional value. You can specify multiple key-value pairs in a single request with an overall maximum of 50 tags allowed per resource.

      For more information about tags, see Tagging Resources in the Amazon Managed Blockchain Ethereum Developer Guide, or Tagging Resources in the Amazon Managed Blockchain Hyperledger Fabric Developer Guide.

      " + }, + "NetworkType":{ + "shape":"AccessorNetworkType", + "documentation":"

      The blockchain network that the Accessor token is created for.

      We recommend using the appropriate networkType value for the blockchain network that you are creating the Accessor token for. You cannnot use the value ETHEREUM_MAINNET_AND_GOERLI to specify a networkType for your Accessor token.

      The default value of ETHEREUM_MAINNET_AND_GOERLI is only applied:

      • when the CreateAccessor action does not set a networkType.

      • to all existing Accessor tokens that were created before the networkType property was introduced.

      " } } }, @@ -643,7 +665,11 @@ }, "BillingToken":{ "shape":"AccessorBillingTokenString", - "documentation":"

      The billing token is a property of the Accessor. Use this token to make Ethereum API calls to your Ethereum node. The billing token is used to track your accessor object for billing Ethereum API requests made to your Ethereum nodes.

      " + "documentation":"

      The billing token is a property of the Accessor. Use this token to when making calls to the blockchain network. The billing token is used to track your accessor token for billing requests.

      " + }, + "NetworkType":{ + "shape":"AccessorNetworkType", + "documentation":"

      The blockchain network that the accessor token is created for.

      " } } }, @@ -1187,6 +1213,12 @@ "documentation":"

      The pagination token that indicates the next set of results to retrieve.

      ", "location":"querystring", "locationName":"nextToken" + }, + "NetworkType":{ + "shape":"AccessorNetworkType", + "documentation":"

      The blockchain network that the Accessor token is created for.

      Use the value ETHEREUM_MAINNET_AND_GOERLI for all existing Accessors tokens that were created before the networkType property was introduced.

      ", + "location":"querystring", + "locationName":"networkType" } } }, diff --git a/tools/code-generation/api-descriptions/models.lex.v2-2020-08-07.normal.json b/tools/code-generation/api-descriptions/models.lex.v2-2020-08-07.normal.json index 86a430fa511..37a10e5a4d4 100644 --- a/tools/code-generation/api-descriptions/models.lex.v2-2020-08-07.normal.json +++ b/tools/code-generation/api-descriptions/models.lex.v2-2020-08-07.normal.json @@ -160,7 +160,7 @@ {"shape":"ConflictException"}, {"shape":"InternalServerException"} ], - "documentation":"

      Creates a new version of the bot based on the DRAFT version. If the DRAFT version of this resource hasn't changed since you created the last version, Amazon Lex doesn't create a new version, it returns the last created version.

      When you create the first version of a bot, Amazon Lex sets the version to 1. Subsequent versions increment by 1.

      " + "documentation":"

      Creates an immutable version of the bot. When you create the first version of a bot, Amazon Lex sets the version number to 1. Subsequent bot versions increase in an increment of 1. The version number will always represent the total number of versions created of the bot, not the current number of versions. If a bot version is deleted, that bot version number will not be reused.

      " }, "CreateExport":{ "name":"CreateExport", @@ -639,6 +639,23 @@ ], "documentation":"

      Provides metadata information about a bot recommendation. This information will enable you to get a description on the request inputs, to download associated transcripts after processing is complete, and to download intents and slot-types generated by the bot recommendation.

      " }, + "DescribeBotResourceGeneration":{ + "name":"DescribeBotResourceGeneration", + "http":{ + "method":"GET", + "requestUri":"/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/generations/{generationId}", + "responseCode":200 + }, + "input":{"shape":"DescribeBotResourceGenerationRequest"}, + "output":{"shape":"DescribeBotResourceGenerationResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

      Returns information about a request to generate a bot through natural language description, made through the StartBotResource API. Use the generatedBotLocaleUrl to retrieve the Amazon S3 object containing the bot locale configuration. You can then modify and import this configuration.

      " + }, "DescribeBotVersion":{ "name":"DescribeBotVersion", "http":{ @@ -851,6 +868,27 @@ ], "documentation":"

      Gets metadata information about the test set generation.

      " }, + "GenerateBotElement":{ + "name":"GenerateBotElement", + "http":{ + "method":"POST", + "requestUri":"/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/generate", + "responseCode":202 + }, + "input":{"shape":"GenerateBotElementRequest"}, + "output":{"shape":"GenerateBotElementResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"PreconditionFailedException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

      Generates sample utterances for an intent.

      " + }, "GetTestExecutionArtifactsUrl":{ "name":"GetTestExecutionArtifactsUrl", "http":{ @@ -937,6 +975,23 @@ ], "documentation":"

      Get a list of bot recommendations that meet the specified criteria.

      " }, + "ListBotResourceGenerations":{ + "name":"ListBotResourceGenerations", + "http":{ + "method":"POST", + "requestUri":"/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/generations", + "responseCode":200 + }, + "input":{"shape":"ListBotResourceGenerationsRequest"}, + "output":{"shape":"ListBotResourceGenerationsResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

      Lists the generation requests made for a bot locale.

      " + }, "ListBotVersions":{ "name":"ListBotVersions", "http":{ @@ -1376,6 +1431,26 @@ ], "documentation":"

      Use this to provide your transcript data, and to start the bot recommendation process.

      " }, + "StartBotResourceGeneration":{ + "name":"StartBotResourceGeneration", + "http":{ + "method":"PUT", + "requestUri":"/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/startgeneration", + "responseCode":202 + }, + "input":{"shape":"StartBotResourceGenerationRequest"}, + "output":{"shape":"StartBotResourceGenerationResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ValidationException"}, + {"shape":"PreconditionFailedException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

      Starts a request for the descriptive bot builder to generate a bot locale configuration based on the prompt you provide it. After you make this call, use the DescribeBotResourceGeneration operation to check on the status of the generation and for the generatedBotLocaleUrl when the generation is complete. Use that value to retrieve the Amazon S3 object containing the bot locale configuration. You can then modify and import this configuration.

      ", + "idempotent":true + }, "StartImport":{ "name":"StartImport", "http":{ @@ -3112,6 +3187,21 @@ } } }, + "BedrockModelArn":{ + "type":"string", + "pattern":"^arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}::foundation-model\\/[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}$" + }, + "BedrockModelSpecification":{ + "type":"structure", + "required":["modelArn"], + "members":{ + "modelArn":{ + "shape":"BedrockModelArn", + "documentation":"

      The ARN of the foundation model used in descriptive bot building.

      " + } + }, + "documentation":"

      Contains information about the Amazon Bedrock model used to interpret the prompt used in descriptive bot building.

      " + }, "Boolean":{"type":"boolean"}, "BotAliasHistoryEvent":{ "type":"structure", @@ -3843,6 +3933,17 @@ } } }, + "BuildtimeSettings":{ + "type":"structure", + "members":{ + "descriptiveBotBuilder":{ + "shape":"DescriptiveBotBuilderSpecification", + "documentation":"

      An object containing specifications for the descriptive bot building feature.

      " + }, + "sampleUtteranceGeneration":{"shape":"SampleUtteranceGenerationSpecification"} + }, + "documentation":"

      Contains specifications about the Amazon Lex build time generative AI capabilities from Amazon Bedrock that you can turn on for your bot.

      " + }, "BuiltInIntentSortAttribute":{ "type":"string", "enum":["IntentSignature"] @@ -4462,7 +4563,8 @@ "voiceSettings":{ "shape":"VoiceSettings", "documentation":"

      The Amazon Polly voice ID that Amazon Lex uses for voice interaction with the user.

      " - } + }, + "generativeAISettings":{"shape":"GenerativeAISettings"} } }, "CreateBotLocaleResponse":{ @@ -4503,7 +4605,8 @@ "creationDateTime":{ "shape":"Timestamp", "documentation":"

      A timestamp specifying the date and time that the bot locale was created.

      " - } + }, + "generativeAISettings":{"shape":"GenerativeAISettings"} } }, "CreateBotRequest":{ @@ -6096,6 +6199,10 @@ "recommendedActions":{ "shape":"RecommendedActions", "documentation":"

      Recommended actions to take to resolve an error in the failureReasons field.

      " + }, + "generativeAISettings":{ + "shape":"GenerativeAISettings", + "documentation":"

      Contains settings for Amazon Bedrock's generative AI features for your bot locale.

      " } } }, @@ -6195,6 +6302,90 @@ } } }, + "DescribeBotResourceGenerationRequest":{ + "type":"structure", + "required":[ + "botId", + "botVersion", + "localeId", + "generationId" + ], + "members":{ + "botId":{ + "shape":"Id", + "documentation":"

      The unique identifier of the bot for which to return the generation details.

      ", + "location":"uri", + "locationName":"botId" + }, + "botVersion":{ + "shape":"BotVersion", + "documentation":"

      The version of the bot for which to return the generation details.

      ", + "location":"uri", + "locationName":"botVersion" + }, + "localeId":{ + "shape":"LocaleId", + "documentation":"

      The locale of the bot for which to return the generation details.

      ", + "location":"uri", + "locationName":"localeId" + }, + "generationId":{ + "shape":"Id", + "documentation":"

      The unique identifier of the generation request for which to return the generation details.

      ", + "location":"uri", + "locationName":"generationId" + } + } + }, + "DescribeBotResourceGenerationResponse":{ + "type":"structure", + "members":{ + "botId":{ + "shape":"Id", + "documentation":"

      The unique identifier of the bot for which the generation request was made.

      " + }, + "botVersion":{ + "shape":"BotVersion", + "documentation":"

      The version of the bot for which the generation request was made.

      " + }, + "localeId":{ + "shape":"LocaleId", + "documentation":"

      The locale of the bot for which the generation request was made.

      " + }, + "generationId":{ + "shape":"Id", + "documentation":"

      The generation ID for which to return the generation details.

      " + }, + "failureReasons":{ + "shape":"FailureReasons", + "documentation":"

      A list of reasons why the generation of bot resources through natural language description failed.

      " + }, + "generationStatus":{ + "shape":"GenerationStatus", + "documentation":"

      The status of the generation request.

      " + }, + "generationInputPrompt":{ + "shape":"GenerationInput", + "documentation":"

      The prompt used in the generation request.

      " + }, + "generatedBotLocaleUrl":{ + "shape":"PresignedS3Url", + "documentation":"

      The Amazon S3 location of the generated bot locale configuration.

      " + }, + "creationDateTime":{ + "shape":"Timestamp", + "documentation":"

      The date and time at which the item was generated.

      " + }, + "modelArn":{ + "shape":"BedrockModelArn", + "documentation":"

      The ARN of the model used to generate the bot resources.

      " + }, + "lastUpdatedDateTime":{ + "shape":"Timestamp", + "documentation":"

      The date and time at which the generated item was updated.

      " + } + } + }, "DescribeBotResponse":{ "type":"structure", "members":{ @@ -7055,6 +7246,21 @@ "max":200, "min":0 }, + "DescriptiveBotBuilderSpecification":{ + "type":"structure", + "required":["enabled"], + "members":{ + "enabled":{ + "shape":"Boolean", + "documentation":"

      Specifies whether the descriptive bot building feature is activated or not.

      " + }, + "bedrockModelSpecification":{ + "shape":"BedrockModelSpecification", + "documentation":"

      An object containing information about the Amazon Bedrock model used to interpret the prompt used in descriptive bot building.

      " + } + }, + "documentation":"

      Contains specifications for the descriptive bot building feature.

      " + }, "DialogAction":{ "type":"structure", "required":["type"], @@ -7166,6 +7372,7 @@ }, "documentation":"

      Settings that specify the dialog code hook that is called by Amazon Lex between eliciting slot values.

      " }, + "Enabled":{"type":"boolean"}, "EncryptionSetting":{ "type":"structure", "members":{ @@ -7500,6 +7707,136 @@ }, "documentation":"

      Provides information for updating the user on the progress of fulfilling an intent.

      " }, + "GenerateBotElementRequest":{ + "type":"structure", + "required":[ + "intentId", + "botId", + "botVersion", + "localeId" + ], + "members":{ + "intentId":{ + "shape":"Id", + "documentation":"

      The intent unique Id for the bot request to generate utterances.

      " + }, + "botId":{ + "shape":"Id", + "documentation":"

      The bot unique Id for the bot request to generate utterances.

      ", + "location":"uri", + "locationName":"botId" + }, + "botVersion":{ + "shape":"BotVersion", + "documentation":"

      The bot version for the bot request to generate utterances.

      ", + "location":"uri", + "locationName":"botVersion" + }, + "localeId":{ + "shape":"LocaleId", + "documentation":"

      The unique locale Id for the bot request to generate utterances.

      ", + "location":"uri", + "locationName":"localeId" + } + } + }, + "GenerateBotElementResponse":{ + "type":"structure", + "members":{ + "botId":{ + "shape":"Id", + "documentation":"

      The unique bot Id for the bot which received the response.

      " + }, + "botVersion":{ + "shape":"DraftBotVersion", + "documentation":"

      The unique bot version for the bot which received the response.

      " + }, + "localeId":{ + "shape":"LocaleId", + "documentation":"

      The unique locale Id for the bot which received the response.

      " + }, + "intentId":{ + "shape":"Id", + "documentation":"

      The unique intent Id for the bot which received the response.

      " + }, + "sampleUtterances":{ + "shape":"SampleUtterancesList", + "documentation":"

      The sample utterances for the bot which received the response.

      " + } + } + }, + "GenerationInput":{ + "type":"string", + "max":2000, + "min":100 + }, + "GenerationSortBy":{ + "type":"structure", + "required":[ + "attribute", + "order" + ], + "members":{ + "attribute":{ + "shape":"GenerationSortByAttribute", + "documentation":"

      The attribute by which to sort the generation request information. You can sort by the following attributes.

      • creationStartTime – The time at which the generation request was created.

      • lastUpdatedTime – The time at which the generation request was last updated.

      " + }, + "order":{ + "shape":"SortOrder", + "documentation":"

      The order by which to sort the generation request information.

      " + } + }, + "documentation":"

      Specifies the attribute and method by which to sort the generation request information.

      " + }, + "GenerationSortByAttribute":{ + "type":"string", + "enum":[ + "creationStartTime", + "lastUpdatedTime" + ] + }, + "GenerationStatus":{ + "type":"string", + "enum":[ + "Failed", + "Complete", + "InProgress" + ] + }, + "GenerationSummary":{ + "type":"structure", + "members":{ + "generationId":{ + "shape":"Id", + "documentation":"

      The unique identifier of the generation request.

      " + }, + "generationStatus":{ + "shape":"GenerationStatus", + "documentation":"

      The status of the generation request.

      " + }, + "creationDateTime":{ + "shape":"Timestamp", + "documentation":"

      The date and time at which the generation request was made.

      " + }, + "lastUpdatedDateTime":{ + "shape":"Timestamp", + "documentation":"

      The date and time at which the generation request was last updated.

      " + } + }, + "documentation":"

      Contains information about a generation request made for the bot locale.

      " + }, + "GenerationSummaryList":{ + "type":"list", + "member":{"shape":"GenerationSummary"} + }, + "GenerativeAISettings":{ + "type":"structure", + "members":{ + "runtimeSettings":{"shape":"RuntimeSettings"}, + "buildtimeSettings":{"shape":"BuildtimeSettings"} + }, + "documentation":"

      Contains specifications about the generative AI capabilities from Amazon Bedrock that you can turn on for your bot.

      " + }, "GetTestExecutionArtifactsUrlRequest":{ "type":"structure", "required":["testExecutionId"], @@ -8448,6 +8785,71 @@ } } }, + "ListBotResourceGenerationsRequest":{ + "type":"structure", + "required":[ + "botId", + "botVersion", + "localeId" + ], + "members":{ + "botId":{ + "shape":"Id", + "documentation":"

      The unique identifier of the bot whose generation requests you want to view.

      ", + "location":"uri", + "locationName":"botId" + }, + "botVersion":{ + "shape":"BotVersion", + "documentation":"

      The version of the bot whose generation requests you want to view.

      ", + "location":"uri", + "locationName":"botVersion" + }, + "localeId":{ + "shape":"LocaleId", + "documentation":"

      The locale of the bot whose generation requests you want to view.

      ", + "location":"uri", + "locationName":"localeId" + }, + "sortBy":{ + "shape":"GenerationSortBy", + "documentation":"

      An object containing information about the attribute and the method by which to sort the results

      " + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

      The maximum number of results to return in the response.

      " + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

      If the total number of results is greater than the number specified in the maxResults, the response returns a token in the nextToken field. Use this token when making a request to return the next batch of results.

      " + } + } + }, + "ListBotResourceGenerationsResponse":{ + "type":"structure", + "members":{ + "botId":{ + "shape":"Id", + "documentation":"

      The unique identifier of the bot for which the generation requests were made.

      " + }, + "botVersion":{ + "shape":"BotVersion", + "documentation":"

      The version of the bot for which the generation requests were made.

      " + }, + "localeId":{ + "shape":"LocaleId", + "documentation":"

      The locale of the bot for which the generation requests were made.

      " + }, + "generationSummaries":{ + "shape":"GenerationSummaryList", + "documentation":"

      A list of objects, each containing information about a generation request for the bot locale.

      " + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

      If the total number of results is greater than the number specified in the maxResults, the response returns a token in the nextToken field. Use this token when making a request to return the next batch of results.

      " + } + } + }, "ListBotVersionsRequest":{ "type":"structure", "required":["botId"], @@ -10281,6 +10683,16 @@ }, "documentation":"

      You can provide Amazon Lex with hints to the phrases that a customer is likely to use for a slot. When a slot with hints is resolved, the phrases in the runtime hints are preferred in the resolution. You can provide hints for a maximum of 100 intents. You can provide a maximum of 100 slots.

      Before you can use runtime hints with an existing bot, you must first rebuild the bot.

      For more information, see Using runtime hints to improve recognition of slot values.

      " }, + "RuntimeSettings":{ + "type":"structure", + "members":{ + "slotResolutionImprovement":{ + "shape":"SlotResolutionImprovementSpecification", + "documentation":"

      An object containing specifications for the assisted slot resolution feature.

      " + } + }, + "documentation":"

      Contains specifications about the Amazon Lex runtime generative AI capabilities from Amazon Bedrock that you can turn on for your bot.

      " + }, "S3BucketArn":{ "type":"string", "max":2048, @@ -10378,6 +10790,18 @@ }, "documentation":"

      A sample utterance that invokes an intent or respond to a slot elicitation prompt.

      " }, + "SampleUtteranceGenerationSpecification":{ + "type":"structure", + "required":["enabled"], + "members":{ + "enabled":{ + "shape":"Boolean", + "documentation":"

      Specifies whether to enable sample utterance generation or not.

      " + }, + "bedrockModelSpecification":{"shape":"BedrockModelSpecification"} + }, + "documentation":"

      Contains specifications for the sample utterance generation feature.

      " + }, "SampleUtterancesCount":{"type":"integer"}, "SampleUtterancesList":{ "type":"list", @@ -10748,6 +11172,39 @@ }, "documentation":"

      Sets the priority that Amazon Lex should use when eliciting slot values from a user.

      " }, + "SlotResolutionImprovementSpecification":{ + "type":"structure", + "required":["enabled"], + "members":{ + "enabled":{ + "shape":"Enabled", + "documentation":"

      Specifies whether assisted slot resolution is turned on or off.

      " + }, + "bedrockModelSpecification":{ + "shape":"BedrockModelSpecification", + "documentation":"

      An object containing information about the Amazon Bedrock model used to assist slot resolution.

      " + } + }, + "documentation":"

      Contains specifications for the assisted slot resolution feature.

      " + }, + "SlotResolutionSetting":{ + "type":"structure", + "required":["slotResolutionStrategy"], + "members":{ + "slotResolutionStrategy":{ + "shape":"SlotResolutionStrategy", + "documentation":"

      Specifies whether assisted slot resolution is turned on for the slot or not. If the value is EnhancedFallback, assisted slot resolution is activated when Amazon Lex defaults to the AMAZON.FallbackIntent. If the value is Default, assisted slot resolution is turned off.

      " + } + }, + "documentation":"

      Contains information about whether assisted slot resolution is turned on for the slot or not.

      " + }, + "SlotResolutionStrategy":{ + "type":"string", + "enum":[ + "EnhancedFallback", + "Default" + ] + }, "SlotResolutionTestResultItem":{ "type":"structure", "required":[ @@ -11038,6 +11495,10 @@ "slotCaptureSetting":{ "shape":"SlotCaptureSetting", "documentation":"

      Specifies the settings that Amazon Lex uses when a slot value is successfully entered by a user.

      " + }, + "slotResolutionSetting":{ + "shape":"SlotResolutionSetting", + "documentation":"

      An object containing information about whether assisted slot resolution is turned on for the slot or not.

      " } }, "documentation":"

      Specifies the elicitation setting details eliciting a slot.

      " @@ -11206,6 +11667,72 @@ } } }, + "StartBotResourceGenerationRequest":{ + "type":"structure", + "required":[ + "generationInputPrompt", + "botId", + "botVersion", + "localeId" + ], + "members":{ + "generationInputPrompt":{ + "shape":"GenerationInput", + "documentation":"

      The prompt to generate intents and slot types for the bot locale. Your description should be both detailed and precise to help generate appropriate and sufficient intents for your bot. Include a list of actions to improve the intent creation process.

      " + }, + "botId":{ + "shape":"Id", + "documentation":"

      The unique identifier of the bot for which to generate intents and slot types.

      ", + "location":"uri", + "locationName":"botId" + }, + "botVersion":{ + "shape":"BotVersion", + "documentation":"

      The version of the bot for which to generate intents and slot types.

      ", + "location":"uri", + "locationName":"botVersion" + }, + "localeId":{ + "shape":"LocaleId", + "documentation":"

      The locale of the bot for which to generate intents and slot types.

      ", + "location":"uri", + "locationName":"localeId" + } + } + }, + "StartBotResourceGenerationResponse":{ + "type":"structure", + "members":{ + "generationInputPrompt":{ + "shape":"GenerationInput", + "documentation":"

      The prompt that was used generate intents and slot types for the bot locale.

      " + }, + "generationId":{ + "shape":"Id", + "documentation":"

      The unique identifier of the generation request.

      " + }, + "botId":{ + "shape":"Id", + "documentation":"

      The unique identifier of the bot for which the generation request was made.

      " + }, + "botVersion":{ + "shape":"BotVersion", + "documentation":"

      The version of the bot for which the generation request was made.

      " + }, + "localeId":{ + "shape":"LocaleId", + "documentation":"

      The locale of the bot for which the generation request was made.

      " + }, + "generationStatus":{ + "shape":"GenerationStatus", + "documentation":"

      The status of the generation request.

      " + }, + "creationDateTime":{ + "shape":"Timestamp", + "documentation":"

      The date and time at which the generation request was made.

      " + } + } + }, "StartImportRequest":{ "type":"structure", "required":[ @@ -12441,6 +12968,10 @@ "voiceSettings":{ "shape":"VoiceSettings", "documentation":"

      The new Amazon Polly voice Amazon Lex should use for voice interaction with the user.

      " + }, + "generativeAISettings":{ + "shape":"GenerativeAISettings", + "documentation":"

      Contains settings for generative AI features powered by Amazon Bedrock for your bot locale. Use this object to turn generative AI features on and off. Pricing may differ if you turn a feature on. For more information, see LINK.

      " } } }, @@ -12494,6 +13025,10 @@ "recommendedActions":{ "shape":"RecommendedActions", "documentation":"

      Recommended actions to take to resolve an error in the failureReasons field.

      " + }, + "generativeAISettings":{ + "shape":"GenerativeAISettings", + "documentation":"

      Contains settings for generative AI features powered by Amazon Bedrock for your bot locale.

      " } } }, diff --git a/tools/code-generation/api-descriptions/personalize-2018-05-22.normal.json b/tools/code-generation/api-descriptions/personalize-2018-05-22.normal.json index 8ba03fa9f12..57c17a94a54 100644 --- a/tools/code-generation/api-descriptions/personalize-2018-05-22.normal.json +++ b/tools/code-generation/api-descriptions/personalize-2018-05-22.normal.json @@ -29,7 +29,7 @@ {"shape":"ResourceInUseException"}, {"shape":"TooManyTagsException"} ], - "documentation":"

      Creates a batch inference job. The operation can handle up to 50 million records and the input file must be in JSON format. For more information, see Creating a batch inference job.

      " + "documentation":"

      Generates batch recommendations based on a list of items or users stored in Amazon S3 and exports the recommendations to an Amazon S3 bucket.

      To generate batch recommendations, specify the ARN of a solution version and an Amazon S3 URI for the input and output data. For user personalization, popular items, and personalized ranking solutions, the batch inference job generates a list of recommended items for each user ID in the input file. For related items solutions, the job generates a list of recommended items for each item ID in the input file.

      For more information, see Creating a batch inference job .

      If you use the Similar-Items recipe, Amazon Personalize can add descriptive themes to batch recommendations. To generate themes, set the job's mode to THEME_GENERATION and specify the name of the field that contains item names in the input data.

      For more information about generating themes, see Batch recommendations with themes from Content Generator .

      You can't get batch recommendations with the Trending-Now or Next-Best-Action recipes.

      " }, "CreateBatchSegmentJob":{ "name":"CreateBatchSegmentJob", @@ -84,7 +84,7 @@ {"shape":"ResourceInUseException"}, {"shape":"TooManyTagsException"} ], - "documentation":"

      Creates an empty dataset and adds it to the specified dataset group. Use CreateDatasetImportJob to import your training data to a dataset.

      There are three types of datasets:

      • Interactions

      • Items

      • Users

      Each dataset type has an associated schema with required field types. Only the Interactions dataset is required in order to train a model (also referred to as creating a solution).

      A dataset can be in one of the following states:

      • CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

      • DELETE PENDING > DELETE IN_PROGRESS

      To get the status of the dataset, call DescribeDataset.

      Related APIs

      ", + "documentation":"

      Creates an empty dataset and adds it to the specified dataset group. Use CreateDatasetImportJob to import your training data to a dataset.

      There are 5 types of datasets:

      • Item interactions

      • Items

      • Users

      • Action interactions

      • Actions

      Each dataset type has an associated schema with required field types. Only the Item interactions dataset is required in order to train a model (also referred to as creating a solution).

      A dataset can be in one of the following states:

      • CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

      • DELETE PENDING > DELETE IN_PROGRESS

      To get the status of the dataset, call DescribeDataset.

      Related APIs

      ", "idempotent":true }, "CreateDatasetExportJob":{ @@ -120,7 +120,7 @@ {"shape":"LimitExceededException"}, {"shape":"TooManyTagsException"} ], - "documentation":"

      Creates an empty dataset group. A dataset group is a container for Amazon Personalize resources. A dataset group can contain at most three datasets, one for each type of dataset:

      • Interactions

      • Items

      • Users

      A dataset group can be a Domain dataset group, where you specify a domain and use pre-configured resources like recommenders, or a Custom dataset group, where you use custom resources, such as a solution with a solution version, that you deploy with a campaign. If you start with a Domain dataset group, you can still add custom resources such as solutions and solution versions trained with recipes for custom use cases and deployed with campaigns.

      A dataset group can be in one of the following states:

      • CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

      • DELETE PENDING

      To get the status of the dataset group, call DescribeDatasetGroup. If the status shows as CREATE FAILED, the response includes a failureReason key, which describes why the creation failed.

      You must wait until the status of the dataset group is ACTIVE before adding a dataset to the group.

      You can specify an Key Management Service (KMS) key to encrypt the datasets in the group. If you specify a KMS key, you must also include an Identity and Access Management (IAM) role that has permission to access the key.

      APIs that require a dataset group ARN in the request

      Related APIs

      " + "documentation":"

      Creates an empty dataset group. A dataset group is a container for Amazon Personalize resources. A dataset group can contain at most three datasets, one for each type of dataset:

      • Item interactions

      • Items

      • Users

      • Actions

      • Action interactions

      A dataset group can be a Domain dataset group, where you specify a domain and use pre-configured resources like recommenders, or a Custom dataset group, where you use custom resources, such as a solution with a solution version, that you deploy with a campaign. If you start with a Domain dataset group, you can still add custom resources such as solutions and solution versions trained with recipes for custom use cases and deployed with campaigns.

      A dataset group can be in one of the following states:

      • CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

      • DELETE PENDING

      To get the status of the dataset group, call DescribeDatasetGroup. If the status shows as CREATE FAILED, the response includes a failureReason key, which describes why the creation failed.

      You must wait until the status of the dataset group is ACTIVE before adding a dataset to the group.

      You can specify an Key Management Service (KMS) key to encrypt the datasets in the group. If you specify a KMS key, you must also include an Identity and Access Management (IAM) role that has permission to access the key.

      APIs that require a dataset group ARN in the request

      Related APIs

      " }, "CreateDatasetImportJob":{ "name":"CreateDatasetImportJob", @@ -138,7 +138,7 @@ {"shape":"ResourceInUseException"}, {"shape":"TooManyTagsException"} ], - "documentation":"

      Creates a job that imports training data from your data source (an Amazon S3 bucket) to an Amazon Personalize dataset. To allow Amazon Personalize to import the training data, you must specify an IAM service role that has permission to read from the data source, as Amazon Personalize makes a copy of your data and processes it internally. For information on granting access to your Amazon S3 bucket, see Giving Amazon Personalize Access to Amazon S3 Resources.

      By default, a dataset import job replaces any existing data in the dataset that you imported in bulk. To add new records without replacing existing data, specify INCREMENTAL for the import mode in the CreateDatasetImportJob operation.

      Status

      A dataset import job can be in one of the following states:

      • CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

      To get the status of the import job, call DescribeDatasetImportJob, providing the Amazon Resource Name (ARN) of the dataset import job. The dataset import is complete when the status shows as ACTIVE. If the status shows as CREATE FAILED, the response includes a failureReason key, which describes why the job failed.

      Importing takes time. You must wait until the status shows as ACTIVE before training a model using the dataset.

      Related APIs

      " + "documentation":"

      Creates a job that imports training data from your data source (an Amazon S3 bucket) to an Amazon Personalize dataset. To allow Amazon Personalize to import the training data, you must specify an IAM service role that has permission to read from the data source, as Amazon Personalize makes a copy of your data and processes it internally. For information on granting access to your Amazon S3 bucket, see Giving Amazon Personalize Access to Amazon S3 Resources.

      If you already created a recommender or deployed a custom solution version with a campaign, how new bulk records influence recommendations depends on the domain use case or recipe that you use. For more information, see How new data influences real-time recommendations.

      By default, a dataset import job replaces any existing data in the dataset that you imported in bulk. To add new records without replacing existing data, specify INCREMENTAL for the import mode in the CreateDatasetImportJob operation.

      Status

      A dataset import job can be in one of the following states:

      • CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

      To get the status of the import job, call DescribeDatasetImportJob, providing the Amazon Resource Name (ARN) of the dataset import job. The dataset import is complete when the status shows as ACTIVE. If the status shows as CREATE FAILED, the response includes a failureReason key, which describes why the job failed.

      Importing takes time. You must wait until the status shows as ACTIVE before training a model using the dataset.

      Related APIs

      " }, "CreateEventTracker":{ "name":"CreateEventTracker", @@ -156,7 +156,7 @@ {"shape":"ResourceInUseException"}, {"shape":"TooManyTagsException"} ], - "documentation":"

      Creates an event tracker that you use when adding event data to a specified dataset group using the PutEvents API.

      Only one event tracker can be associated with a dataset group. You will get an error if you call CreateEventTracker using the same dataset group as an existing event tracker.

      When you create an event tracker, the response includes a tracking ID, which you pass as a parameter when you use the PutEvents operation. Amazon Personalize then appends the event data to the Interactions dataset of the dataset group you specify in your event tracker.

      The event tracker can be in one of the following states:

      • CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

      • DELETE PENDING > DELETE IN_PROGRESS

      To get the status of the event tracker, call DescribeEventTracker.

      The event tracker must be in the ACTIVE state before using the tracking ID.

      Related APIs

      ", + "documentation":"

      Creates an event tracker that you use when adding event data to a specified dataset group using the PutEvents API.

      Only one event tracker can be associated with a dataset group. You will get an error if you call CreateEventTracker using the same dataset group as an existing event tracker.

      When you create an event tracker, the response includes a tracking ID, which you pass as a parameter when you use the PutEvents operation. Amazon Personalize then appends the event data to the Item interactions dataset of the dataset group you specify in your event tracker.

      The event tracker can be in one of the following states:

      • CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

      • DELETE PENDING > DELETE IN_PROGRESS

      To get the status of the event tracker, call DescribeEventTracker.

      The event tracker must be in the ACTIVE state before using the tracking ID.

      Related APIs

      ", "idempotent":true }, "CreateFilter":{ @@ -321,7 +321,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"ResourceInUseException"} ], - "documentation":"

      Deletes the event tracker. Does not delete the event-interactions dataset from the associated dataset group. For more information on event trackers, see CreateEventTracker.

      ", + "documentation":"

      Deletes the event tracker. Does not delete the dataset from the dataset group. For more information on event trackers, see CreateEventTracker.

      ", "idempotent":true }, "DeleteFilter":{ @@ -1014,7 +1014,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"ResourceInUseException"} ], - "documentation":"

      Updates a campaign by either deploying a new solution or changing the value of the campaign's minProvisionedTPS parameter.

      To update a campaign, the campaign status must be ACTIVE or CREATE FAILED. Check the campaign status using the DescribeCampaign operation.

      You can still get recommendations from a campaign while an update is in progress. The campaign will use the previous solution version and campaign configuration to generate recommendations until the latest campaign update status is Active.

      For more information on campaigns, see CreateCampaign.

      ", + "documentation":"

      Updates a campaign to deploy a retrained solution version with an existing campaign, change your campaign's minProvisionedTPS, or modify your campaign's configuration, such as the exploration configuration.

      To update a campaign, the campaign status must be ACTIVE or CREATE FAILED. Check the campaign status using the DescribeCampaign operation.

      You can still get recommendations from a campaign while an update is in progress. The campaign will use the previous solution version and campaign configuration to generate recommendations until the latest campaign update status is Active.

      For more information about updating a campaign, including code samples, see Updating a campaign. For more information about campaigns, see Creating a campaign.

      ", "idempotent":true }, "UpdateDataset":{ @@ -1168,7 +1168,7 @@ }, "AvroSchema":{ "type":"string", - "max":10000 + "max":20000 }, "BatchInferenceJob":{ "type":"structure", @@ -1213,6 +1213,14 @@ "shape":"RoleArn", "documentation":"

      The ARN of the Amazon Identity and Access Management (IAM) role that requested the batch inference job.

      " }, + "batchInferenceJobMode":{ + "shape":"BatchInferenceJobMode", + "documentation":"

      The job's mode.

      " + }, + "themeGenerationConfig":{ + "shape":"ThemeGenerationConfig", + "documentation":"

      The job's theme generation settings.

      " + }, "status":{ "shape":"Status", "documentation":"

      The status of the batch inference job. The status is one of the following values:

      • PENDING

      • IN PROGRESS

      • ACTIVE

      • CREATE FAILED

      " @@ -1249,6 +1257,13 @@ }, "documentation":"

      The input configuration of a batch inference job.

      " }, + "BatchInferenceJobMode":{ + "type":"string", + "enum":[ + "BATCH_INFERENCE", + "THEME_GENERATION" + ] + }, "BatchInferenceJobOutput":{ "type":"structure", "required":["s3DataDestination"], @@ -1290,6 +1305,10 @@ "solutionVersionArn":{ "shape":"Arn", "documentation":"

      The ARN of the solution version used by the batch inference job.

      " + }, + "batchInferenceJobMode":{ + "shape":"BatchInferenceJobMode", + "documentation":"

      The job's mode.

      " } }, "documentation":"

      A truncated version of the BatchInferenceJob. The ListBatchInferenceJobs operation returns a list of batch inference job summaries.

      " @@ -1458,6 +1477,10 @@ "itemExplorationConfig":{ "shape":"HyperParameters", "documentation":"

      Specifies the exploration configuration hyperparameters, including explorationWeight and explorationItemAgeCutOff, you want to use to configure the amount of item exploration Amazon Personalize uses when recommending items. Provide itemExplorationConfig data only if your solution uses the User-Personalization recipe.

      " + }, + "enableMetadataWithRecommendations":{ + "shape":"Boolean", + "documentation":"

      Whether metadata with recommendations is enabled for the campaign. If enabled, you can specify the columns from your Items dataset in your request for recommendations. Amazon Personalize returns this data for each item in the recommendation response.

      If you enable metadata in recommendations, you will incur additional costs. For more information, see Amazon Personalize pricing.

      " } }, "documentation":"

      The configuration details of a campaign.

      " @@ -1641,6 +1664,14 @@ "tags":{ "shape":"Tags", "documentation":"

      A list of tags to apply to the batch inference job.

      " + }, + "batchInferenceJobMode":{ + "shape":"BatchInferenceJobMode", + "documentation":"

      The mode of the batch inference job. To generate descriptive themes for groups of similar items, set the job mode to THEME_GENERATION. If you don't want to generate themes, use the default BATCH_INFERENCE.

      When you get batch recommendations with themes, you will incur additional costs. For more information, see Amazon Personalize pricing.

      " + }, + "themeGenerationConfig":{ + "shape":"ThemeGenerationConfig", + "documentation":"

      For theme generation jobs, specify the name of the column in your Items dataset that contains each item's name.

      " } } }, @@ -1898,7 +1929,7 @@ }, "datasetType":{ "shape":"DatasetType", - "documentation":"

      The type of dataset.

      One of the following (case insensitive) values:

      • Interactions

      • Items

      • Users

      " + "documentation":"

      The type of dataset.

      One of the following (case insensitive) values:

      • Interactions

      • Items

      • Users

      • Actions

      • Action_Interactions

      " }, "tags":{ "shape":"Tags", @@ -2153,7 +2184,7 @@ }, "trainingMode":{ "shape":"TrainingMode", - "documentation":"

      The scope of training to be performed when creating the solution version. The FULL option trains the solution version based on the entirety of the input solution's training data, while the UPDATE option processes only the data that has changed in comparison to the input solution. Choose UPDATE when you want to incrementally update your solution version instead of creating an entirely new one.

      The UPDATE option can only be used when you already have an active solution version created from the input solution using the FULL option and the input solution was trained with the User-Personalization recipe or the HRNN-Coldstart recipe.

      " + "documentation":"

      The scope of training to be performed when creating the solution version. The default is FULL. This creates a completely new model based on the entirety of the training data from the datasets in your dataset group.

      If you use User-Personalization, you can specify a training mode of UPDATE. This updates the model to consider new items for recommendations. It is not a full retraining. You should still complete a full retraining weekly. If you specify UPDATE, Amazon Personalize will stop automatic updates for the solution version. To resume updates, create a new solution with training mode set to FULL and deploy it in a campaign. For more information about automatic updates, see Automatic updates.

      The UPDATE option can only be used when you already have an active solution version created from the input solution using the FULL option and the input solution was trained with the User-Personalization recipe or the legacy HRNN-Coldstart recipe.

      " }, "tags":{ "shape":"Tags", @@ -2197,7 +2228,7 @@ }, "datasetType":{ "shape":"DatasetType", - "documentation":"

      One of the following values:

      • Interactions

      • Items

      • Users

      " + "documentation":"

      One of the following values:

      • Interactions

      • Items

      • Users

      • Actions

      • Action_Interactions

      " }, "schemaArn":{ "shape":"Arn", @@ -2218,6 +2249,10 @@ "latestDatasetUpdate":{ "shape":"DatasetUpdateSummary", "documentation":"

      Describes the latest update to the dataset.

      " + }, + "trackingId":{ + "shape":"TrackingId", + "documentation":"

      The ID of the event tracker for an Action interactions dataset. You specify the tracker's ID in the PutActionInteractions API operation. Amazon Personalize uses it to direct new data to the Action interactions dataset in your dataset group.

      " } }, "documentation":"

      Provides metadata for a dataset.

      " @@ -2328,7 +2363,7 @@ }, "roleArn":{ "shape":"RoleArn", - "documentation":"

      The ARN of the IAM role that has permissions to create the dataset group.

      " + "documentation":"

      The ARN of the Identity and Access Management (IAM) role that has permissions to access the Key Management Service (KMS) key. Supplying an IAM role is only valid when also specifying a KMS key.

      " }, "kmsKeyArn":{ "shape":"KmsKeyArn", @@ -2351,7 +2386,7 @@ "documentation":"

      The domain of a Domain dataset group.

      " } }, - "documentation":"

      A dataset group is a collection of related datasets (Interactions, User, and Item). You create a dataset group by calling CreateDatasetGroup. You then create a dataset and add it to a dataset group by calling CreateDataset. The dataset group is used to create and train a solution by calling CreateSolution. A dataset group can contain only one of each type of dataset.

      You can specify an Key Management Service (KMS) key to encrypt the datasets in the group.

      " + "documentation":"

      A dataset group is a collection of related datasets (Item interactions, Users, Items, Actions, Action interactions). You create a dataset group by calling CreateDatasetGroup. You then create a dataset and add it to a dataset group by calling CreateDataset. The dataset group is used to create and train a solution by calling CreateSolution. A dataset group can contain only one of each type of dataset.

      You can specify an Key Management Service (KMS) key to encrypt the datasets in the group.

      " }, "DatasetGroupSummary":{ "type":"structure", @@ -3250,6 +3285,17 @@ "value":{"shape":"ParameterValue"}, "max":100 }, + "FieldsForThemeGeneration":{ + "type":"structure", + "required":["itemName"], + "members":{ + "itemName":{ + "shape":"ColumnName", + "documentation":"

      The name of the Items dataset column that stores the name of each item in the dataset.

      " + } + }, + "documentation":"

      A string to string map of the configuration details for theme generation.

      " + }, "Filter":{ "type":"structure", "members":{ @@ -3703,7 +3749,7 @@ }, "nextToken":{ "shape":"NextToken", - "documentation":"

      A token returned from the previous call to ListDatasetImportJobs for getting the next set of dataset import jobs (if they exist).

      " + "documentation":"

      A token returned from the previous call to ListDatasets for getting the next set of dataset import jobs (if they exist).

      " }, "maxResults":{ "shape":"MaxResults", @@ -4348,6 +4394,10 @@ "trainingDataConfig":{ "shape":"TrainingDataConfig", "documentation":"

      Specifies the training data configuration to use when creating a domain recommender.

      " + }, + "enableMetadataWithRecommendations":{ + "shape":"Boolean", + "documentation":"

      Whether metadata with recommendations is enabled for the recommender. If enabled, you can specify the columns from your Items dataset in your request for recommendations. Amazon Personalize returns this data for each item in the recommendation response.

      If you enable metadata in recommendations, you will incur additional costs. For more information, see Amazon Personalize pricing.

      " } }, "documentation":"

      The configuration details of the recommender.

      " @@ -4552,7 +4602,7 @@ }, "algorithmHyperParameters":{ "shape":"HyperParameters", - "documentation":"

      Lists the hyperparameter names and ranges.

      " + "documentation":"

      Lists the algorithm hyperparameters and their values.

      " }, "featureTransformationParameters":{ "shape":"FeatureTransformationParameters", @@ -4825,6 +4875,17 @@ "max":200, "min":0 }, + "ThemeGenerationConfig":{ + "type":"structure", + "required":["fieldsForThemeGeneration"], + "members":{ + "fieldsForThemeGeneration":{ + "shape":"FieldsForThemeGeneration", + "documentation":"

      Fields used to generate descriptive themes for a batch inference job.

      " + } + }, + "documentation":"

      The configuration details for generating themes with a batch inference job.

      " + }, "TooManyTagKeysException":{ "type":"structure", "members":{ diff --git a/tools/code-generation/api-descriptions/personalize-events-2018-03-22.normal.json b/tools/code-generation/api-descriptions/personalize-events-2018-03-22.normal.json index ad342311454..82910130d02 100644 --- a/tools/code-generation/api-descriptions/personalize-events-2018-03-22.normal.json +++ b/tools/code-generation/api-descriptions/personalize-events-2018-03-22.normal.json @@ -12,6 +12,34 @@ "uid":"personalize-events-2018-03-22" }, "operations":{ + "PutActionInteractions":{ + "name":"PutActionInteractions", + "http":{ + "method":"POST", + "requestUri":"/action-interactions" + }, + "input":{"shape":"PutActionInteractionsRequest"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

      Records action interaction event data. An action interaction event is an interaction between a user and an action. For example, a user taking an action, such a enrolling in a membership program or downloading your app.

      For more information about recording action interactions, see Recording action interaction events. For more information about actions in an Actions dataset, see Actions dataset.

      " + }, + "PutActions":{ + "name":"PutActions", + "http":{ + "method":"POST", + "requestUri":"/actions" + }, + "input":{"shape":"PutActionsRequest"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

      Adds one or more actions to an Actions dataset. For more information see Importing actions individually.

      " + }, "PutEvents":{ "name":"PutEvents", "http":{ @@ -22,7 +50,7 @@ "errors":[ {"shape":"InvalidInputException"} ], - "documentation":"

      Records user interaction event data. For more information see Recording Events.

      " + "documentation":"

      Records item interaction event data. For more information see Recording item interaction events.

      " }, "PutItems":{ "name":"PutItems", @@ -36,7 +64,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"ResourceInUseException"} ], - "documentation":"

      Adds one or more items to an Items dataset. For more information see Importing Items Incrementally.

      " + "documentation":"

      Adds one or more items to an Items dataset. For more information see Importing items individually.

      " }, "PutUsers":{ "name":"PutUsers", @@ -50,10 +78,111 @@ {"shape":"ResourceNotFoundException"}, {"shape":"ResourceInUseException"} ], - "documentation":"

      Adds one or more users to a Users dataset. For more information see Importing Users Incrementally.

      " + "documentation":"

      Adds one or more users to a Users dataset. For more information see Importing users individually.

      " } }, "shapes":{ + "Action":{ + "type":"structure", + "required":["actionId"], + "members":{ + "actionId":{ + "shape":"StringType", + "documentation":"

      The ID associated with the action.

      " + }, + "properties":{ + "shape":"ActionProperties", + "documentation":"

      A string map of action-specific metadata. Each element in the map consists of a key-value pair. For example, {\"value\": \"100\"}.

      The keys use camel case names that match the fields in the schema for the Actions dataset. In the previous example, the value matches the 'VALUE' field defined in the Actions schema. For categorical string data, to include multiple categories for a single action, separate each category with a pipe separator (|). For example, \\\"Deluxe|Premium\\\".

      ", + "jsonvalue":true + } + }, + "documentation":"

      Represents action metadata added to an Action dataset using the PutActions API. For more information see Importing actions individually.

      " + }, + "ActionId":{ + "type":"string", + "max":256, + "min":1, + "sensitive":true + }, + "ActionImpression":{ + "type":"list", + "member":{"shape":"ActionId"}, + "max":25, + "min":1 + }, + "ActionInteraction":{ + "type":"structure", + "required":[ + "actionId", + "sessionId", + "timestamp", + "eventType" + ], + "members":{ + "actionId":{ + "shape":"ActionId", + "documentation":"

      The ID of the action the user interacted with. This corresponds to the ACTION_ID field of the Action interaction schema.

      " + }, + "userId":{ + "shape":"UserId", + "documentation":"

      The ID of the user who interacted with the action. This corresponds to the USER_ID field of the Action interaction schema.

      " + }, + "sessionId":{ + "shape":"StringType", + "documentation":"

      The ID associated with the user's visit. Your application generates a unique sessionId when a user first visits your website or uses your application.

      " + }, + "timestamp":{ + "shape":"Date", + "documentation":"

      The timestamp for when the action interaction event occurred. Timestamps must be in Unix epoch time format, in seconds.

      " + }, + "eventType":{ + "shape":"StringType", + "documentation":"

      The type of action interaction event. You can specify Viewed, Taken, and Not Taken event types. For more information about action interaction event type data, see Event type data.

      " + }, + "eventId":{ + "shape":"StringType", + "documentation":"

      An ID associated with the event. If an event ID is not provided, Amazon Personalize generates a unique ID for the event. An event ID is not used as an input to the model. Amazon Personalize uses the event ID to distinguish unique events. Any subsequent events after the first with the same event ID are not used in model training.

      " + }, + "recommendationId":{ + "shape":"RecommendationId", + "documentation":"

      The ID of the list of recommendations that contains the action the user interacted with.

      " + }, + "impression":{ + "shape":"ActionImpression", + "documentation":"

      A list of action IDs that represents the sequence of actions you have shown the user. For example, [\"actionId1\", \"actionId2\", \"actionId3\"]. Amazon Personalize doesn't use impressions data from action interaction events. Instead, record multiple events for each action and use the Viewed event type.

      " + }, + "properties":{ + "shape":"ActionInteractionProperties", + "documentation":"

      A string map of event-specific data that you might choose to record. For example, if a user takes an action, other than the action ID, you might also send the number of actions taken by the user.

      Each item in the map consists of a key-value pair. For example,

      {\"numberOfActions\": \"12\"}

      The keys use camel case names that match the fields in the Action interactions schema. In the above example, the numberOfActions would match the 'NUMBER_OF_ACTIONS' field defined in the Action interactions schema.

      The following can't be included as a keyword for properties (case insensitive).

      • userId

      • sessionId

      • eventType

      • timestamp

      • recommendationId

      • impression

      ", + "jsonvalue":true + } + }, + "documentation":"

      Represents an action interaction event sent using the PutActionInteractions API.

      " + }, + "ActionInteractionProperties":{ + "type":"string", + "max":1024, + "min":1, + "sensitive":true + }, + "ActionInteractionsList":{ + "type":"list", + "member":{"shape":"ActionInteraction"}, + "max":10, + "min":1 + }, + "ActionList":{ + "type":"list", + "member":{"shape":"Action"}, + "max":10, + "min":1 + }, + "ActionProperties":{ + "type":"string", + "max":32000, + "min":1, + "sensitive":true + }, "Arn":{ "type":"string", "max":256, @@ -70,23 +199,23 @@ "members":{ "eventId":{ "shape":"StringType", - "documentation":"

      An ID associated with the event. If an event ID is not provided, Amazon Personalize generates a unique ID for the event. An event ID is not used as an input to the model. Amazon Personalize uses the event ID to distinquish unique events. Any subsequent events after the first with the same event ID are not used in model training.

      " + "documentation":"

      An ID associated with the event. If an event ID is not provided, Amazon Personalize generates a unique ID for the event. An event ID is not used as an input to the model. Amazon Personalize uses the event ID to distinguish unique events. Any subsequent events after the first with the same event ID are not used in model training.

      " }, "eventType":{ "shape":"StringType", - "documentation":"

      The type of event, such as click or download. This property corresponds to the EVENT_TYPE field of your Interactions schema and depends on the types of events you are tracking.

      " + "documentation":"

      The type of event, such as click or download. This property corresponds to the EVENT_TYPE field of your Item interactions dataset's schema and depends on the types of events you are tracking.

      " }, "eventValue":{ "shape":"FloatType", - "documentation":"

      The event value that corresponds to the EVENT_VALUE field of the Interactions schema.

      " + "documentation":"

      The event value that corresponds to the EVENT_VALUE field of the Item interactions schema.

      " }, "itemId":{ "shape":"ItemId", - "documentation":"

      The item ID key that corresponds to the ITEM_ID field of the Interactions schema.

      " + "documentation":"

      The item ID key that corresponds to the ITEM_ID field of the Item interactions dataset's schema.

      " }, "properties":{ "shape":"EventPropertiesJSON", - "documentation":"

      A string map of event-specific data that you might choose to record. For example, if a user rates a movie on your site, other than movie ID (itemId) and rating (eventValue) , you might also send the number of movie ratings made by the user.

      Each item in the map consists of a key-value pair. For example,

      {\"numberOfRatings\": \"12\"}

      The keys use camel case names that match the fields in the Interactions schema. In the above example, the numberOfRatings would match the 'NUMBER_OF_RATINGS' field defined in the Interactions schema.

      ", + "documentation":"

      A string map of event-specific data that you might choose to record. For example, if a user rates a movie on your site, other than movie ID (itemId) and rating (eventValue) , you might also send the number of movie ratings made by the user.

      Each item in the map consists of a key-value pair. For example,

      {\"numberOfRatings\": \"12\"}

      The keys use camel case names that match the fields in the Item interactions dataset's schema. In the above example, the numberOfRatings would match the 'NUMBER_OF_RATINGS' field defined in the Item interactions dataset's schema.

      The following can't be included as a keyword for properties (case insensitive).

      • userId

      • sessionId

      • eventType

      • timestamp

      • recommendationId

      • impression

      ", "jsonvalue":true }, "sentAt":{ @@ -106,7 +235,7 @@ "documentation":"

      Contains information about the metric attribution associated with an event. For more information about metric attributions, see Measuring impact of recommendations.

      " } }, - "documentation":"

      Represents user interaction event information sent using the PutEvents API.

      ", + "documentation":"

      Represents item interaction event information sent using the PutEvents API.

      ", "sensitive":true }, "EventAttributionSource":{ @@ -156,7 +285,7 @@ "jsonvalue":true } }, - "documentation":"

      Represents item metadata added to an Items dataset using the PutItems API. For more information see Importing Items Incrementally.

      " + "documentation":"

      Represents item metadata added to an Items dataset using the PutItems API. For more information see Importing items individually.

      " }, "ItemId":{ "type":"string", @@ -172,7 +301,7 @@ }, "ItemProperties":{ "type":"string", - "max":24262, + "max":32000, "min":1, "sensitive":true }, @@ -187,6 +316,40 @@ }, "documentation":"

      Contains information about a metric attribution associated with an event. For more information about metric attributions, see Measuring impact of recommendations.

      " }, + "PutActionInteractionsRequest":{ + "type":"structure", + "required":[ + "trackingId", + "actionInteractions" + ], + "members":{ + "trackingId":{ + "shape":"StringType", + "documentation":"

      The ID of your action interaction event tracker. When you create an Action interactions dataset, Amazon Personalize creates an action interaction event tracker for you. For more information, see Action interaction event tracker ID.

      " + }, + "actionInteractions":{ + "shape":"ActionInteractionsList", + "documentation":"

      A list of action interaction events from the session.

      " + } + } + }, + "PutActionsRequest":{ + "type":"structure", + "required":[ + "datasetArn", + "actions" + ], + "members":{ + "datasetArn":{ + "shape":"Arn", + "documentation":"

      The Amazon Resource Name (ARN) of the Actions dataset you are adding the action or actions to.

      " + }, + "actions":{ + "shape":"ActionList", + "documentation":"

      A list of action data.

      " + } + } + }, "PutEventsRequest":{ "type":"structure", "required":[ @@ -205,7 +368,7 @@ }, "sessionId":{ "shape":"StringType", - "documentation":"

      The session ID associated with the user's visit. Your application generates the sessionId when a user first visits your website or uses your application. Amazon Personalize uses the sessionId to associate events with the user before they log in. For more information, see Recording Events.

      " + "documentation":"

      The session ID associated with the user's visit. Your application generates the sessionId when a user first visits your website or uses your application. Amazon Personalize uses the sessionId to associate events with the user before they log in. For more information, see Recording item interaction events.

      " }, "eventList":{ "shape":"EventList", @@ -289,7 +452,7 @@ "jsonvalue":true } }, - "documentation":"

      Represents user metadata added to a Users dataset using the PutUsers API. For more information see Importing Users Incrementally.

      " + "documentation":"

      Represents user metadata added to a Users dataset using the PutUsers API. For more information see Importing users individually.

      " }, "UserId":{ "type":"string", @@ -305,10 +468,10 @@ }, "UserProperties":{ "type":"string", - "max":4096, + "max":24000, "min":1, "sensitive":true } }, - "documentation":"

      Amazon Personalize can consume real-time user event data, such as stream or click data, and use it for model training either alone or combined with historical data. For more information see Recording Events.

      " + "documentation":"

      Amazon Personalize can consume real-time user event data, such as stream or click data, and use it for model training either alone or combined with historical data. For more information see Recording item interaction events.

      " } diff --git a/tools/code-generation/api-descriptions/personalize-runtime-2018-05-22.normal.json b/tools/code-generation/api-descriptions/personalize-runtime-2018-05-22.normal.json index fb98138f629..c3bcf208429 100644 --- a/tools/code-generation/api-descriptions/personalize-runtime-2018-05-22.normal.json +++ b/tools/code-generation/api-descriptions/personalize-runtime-2018-05-22.normal.json @@ -12,6 +12,21 @@ "uid":"personalize-runtime-2018-05-22" }, "operations":{ + "GetActionRecommendations":{ + "name":"GetActionRecommendations", + "http":{ + "method":"POST", + "requestUri":"/action-recommendations" + }, + "input":{"shape":"GetActionRecommendationsRequest"}, + "output":{"shape":"GetActionRecommendationsResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

      Returns a list of recommended actions in sorted in descending order by prediction score. Use the GetActionRecommendations API if you have a custom campaign that deploys a solution version trained with a PERSONALIZED_ACTIONS recipe.

      For more information about PERSONALIZED_ACTIONS recipes, see PERSONALIZED_ACTIONS recipes. For more information about getting action recommendations, see Getting action recommendations.

      ", + "idempotent":true + }, "GetPersonalizedRanking":{ "name":"GetPersonalizedRanking", "http":{ @@ -44,6 +59,14 @@ } }, "shapes":{ + "ActionID":{ + "type":"string", + "max":256 + }, + "ActionList":{ + "type":"list", + "member":{"shape":"PredictedAction"} + }, "Arn":{ "type":"string", "max":256, @@ -59,12 +82,29 @@ "max":1000, "sensitive":true }, + "ColumnName":{ + "type":"string", + "max":150 + }, + "ColumnNamesList":{ + "type":"list", + "member":{"shape":"ColumnName"}, + "max":99 + }, + "ColumnValue":{ + "type":"string", + "max":20000 + }, "Context":{ "type":"map", "key":{"shape":"AttributeName"}, "value":{"shape":"AttributeValue"}, "max":150 }, + "DatasetType":{ + "type":"string", + "max":256 + }, "ErrorMessage":{"type":"string"}, "FilterAttributeName":{ "type":"string", @@ -82,6 +122,44 @@ "value":{"shape":"FilterAttributeValue"}, "max":25 }, + "GetActionRecommendationsRequest":{ + "type":"structure", + "members":{ + "campaignArn":{ + "shape":"Arn", + "documentation":"

      The Amazon Resource Name (ARN) of the campaign to use for getting action recommendations. This campaign must deploy a solution version trained with a PERSONALIZED_ACTIONS recipe.

      " + }, + "userId":{ + "shape":"UserID", + "documentation":"

      The user ID of the user to provide action recommendations for.

      " + }, + "numResults":{ + "shape":"NumResults", + "documentation":"

      The number of results to return. The default is 5. The maximum is 100.

      " + }, + "filterArn":{ + "shape":"Arn", + "documentation":"

      The ARN of the filter to apply to the returned recommendations. For more information, see Filtering Recommendations.

      When using this parameter, be sure the filter resource is ACTIVE.

      " + }, + "filterValues":{ + "shape":"FilterValues", + "documentation":"

      The values to use when filtering recommendations. For each placeholder parameter in your filter expression, provide the parameter name (in matching case) as a key and the filter value(s) as the corresponding value. Separate multiple values for one parameter with a comma.

      For filter expressions that use an INCLUDE element to include actions, you must provide values for all parameters that are defined in the expression. For filters with expressions that use an EXCLUDE element to exclude actions, you can omit the filter-values. In this case, Amazon Personalize doesn't use that portion of the expression to filter recommendations.

      For more information, see Filtering recommendations and user segments.

      " + } + } + }, + "GetActionRecommendationsResponse":{ + "type":"structure", + "members":{ + "actionList":{ + "shape":"ActionList", + "documentation":"

      A list of action recommendations sorted in descending order by prediction score. There can be a maximum of 100 actions in the list. For information about action scores, see How action recommendation scoring works.

      " + }, + "recommendationId":{ + "shape":"RecommendationID", + "documentation":"

      The ID of the recommendation.

      " + } + } + }, "GetPersonalizedRankingRequest":{ "type":"structure", "required":[ @@ -96,7 +174,7 @@ }, "inputList":{ "shape":"InputList", - "documentation":"

      A list of items (by itemId) to rank. If an item was not included in the training dataset, the item is appended to the end of the reranked list. The maximum is 500.

      " + "documentation":"

      A list of items (by itemId) to rank. If an item was not included in the training dataset, the item is appended to the end of the reranked list. If you are including metadata in recommendations, the maximum is 50. Otherwise, the maximum is 500.

      " }, "userId":{ "shape":"UserID", @@ -113,6 +191,10 @@ "filterValues":{ "shape":"FilterValues", "documentation":"

      The values to use when filtering recommendations. For each placeholder parameter in your filter expression, provide the parameter name (in matching case) as a key and the filter value(s) as the corresponding value. Separate multiple values for one parameter with a comma.

      For filter expressions that use an INCLUDE element to include items, you must provide values for all parameters that are defined in the expression. For filters with expressions that use an EXCLUDE element to exclude items, you can omit the filter-values.In this case, Amazon Personalize doesn't use that portion of the expression to filter recommendations.

      For more information, see Filtering Recommendations.

      " + }, + "metadataColumns":{ + "shape":"MetadataColumns", + "documentation":"

      If you enabled metadata in recommendations when you created or updated the campaign, specify metadata columns from your Items dataset to include in the personalized ranking. The map key is ITEMS and the value is a list of column names from your Items dataset. The maximum number of columns you can provide is 10.

      For information about enabling metadata for a campaign, see Enabling metadata in recommendations for a campaign.

      " } } }, @@ -146,7 +228,7 @@ }, "numResults":{ "shape":"NumResults", - "documentation":"

      The number of results to return. The default is 25. The maximum is 500.

      " + "documentation":"

      The number of results to return. The default is 25. If you are including metadata in recommendations, the maximum is 50. Otherwise, the maximum is 500.

      " }, "context":{ "shape":"Context", @@ -167,6 +249,10 @@ "promotions":{ "shape":"PromotionList", "documentation":"

      The promotions to apply to the recommendation request. A promotion defines additional business rules that apply to a configurable subset of recommended items.

      " + }, + "metadataColumns":{ + "shape":"MetadataColumns", + "documentation":"

      If you enabled metadata in recommendations when you created or updated the campaign or recommender, specify the metadata columns from your Items dataset to include in item recommendations. The map key is ITEMS and the value is a list of column names from your Items dataset. The maximum number of columns you can provide is 10.

      For information about enabling metadata for a campaign, see Enabling metadata in recommendations for a campaign. For information about enabling metadata for a recommender, see Enabling metadata in recommendations for a recommender.

      " } } }, @@ -204,6 +290,17 @@ "type":"list", "member":{"shape":"PredictedItem"} }, + "Metadata":{ + "type":"map", + "key":{"shape":"ColumnName"}, + "value":{"shape":"ColumnValue"} + }, + "MetadataColumns":{ + "type":"map", + "key":{"shape":"DatasetType"}, + "value":{"shape":"ColumnNamesList"}, + "max":1 + }, "Name":{ "type":"string", "max":63, @@ -219,6 +316,20 @@ "max":100, "min":1 }, + "PredictedAction":{ + "type":"structure", + "members":{ + "actionId":{ + "shape":"ActionID", + "documentation":"

      The ID of the recommended action.

      " + }, + "score":{ + "shape":"Score", + "documentation":"

      The score of the recommended action. For information about action scores, see How action recommendation scoring works.

      " + } + }, + "documentation":"

      An object that identifies an action.

      The API returns a list of PredictedActions.

      " + }, "PredictedItem":{ "type":"structure", "members":{ @@ -233,6 +344,10 @@ "promotionName":{ "shape":"Name", "documentation":"

      The name of the promotion that included the predicted item.

      " + }, + "metadata":{ + "shape":"Metadata", + "documentation":"

      Metadata about the item from your Items dataset.

      " } }, "documentation":"

      An object that identifies an item.

      The and APIs return a list of PredictedItems.

      " diff --git a/tools/code-generation/api-descriptions/quicksight-2018-04-01.normal.json b/tools/code-generation/api-descriptions/quicksight-2018-04-01.normal.json index a982f2d9ea2..accf432a149 100644 --- a/tools/code-generation/api-descriptions/quicksight-2018-04-01.normal.json +++ b/tools/code-generation/api-descriptions/quicksight-2018-04-01.normal.json @@ -696,6 +696,23 @@ ], "documentation":"

      Deletes an existing IAM policy assignment.

      " }, + "DeleteIdentityPropagationConfig":{ + "name":"DeleteIdentityPropagationConfig", + "http":{ + "method":"DELETE", + "requestUri":"/accounts/{AwsAccountId}/identity-propagation-config/{Service}" + }, + "input":{"shape":"DeleteIdentityPropagationConfigRequest"}, + "output":{"shape":"DeleteIdentityPropagationConfigResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

      Deletes all access scopes and authorized targets that are associated with a service from the Amazon QuickSight IAM Identity Center application.

      This operation is only supported for Amazon QuickSight accounts that use IAM Identity Center.

      " + }, "DeleteNamespace":{ "name":"DeleteNamespace", "http":{ @@ -2014,6 +2031,23 @@ ], "documentation":"

      Lists all of the IAM policy assignments, including the Amazon Resource Names (ARNs), for the IAM policies assigned to the specified user and group, or groups that the user belongs to.

      " }, + "ListIdentityPropagationConfigs":{ + "name":"ListIdentityPropagationConfigs", + "http":{ + "method":"GET", + "requestUri":"/accounts/{AwsAccountId}/identity-propagation-config" + }, + "input":{"shape":"ListIdentityPropagationConfigsRequest"}, + "output":{"shape":"ListIdentityPropagationConfigsResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

      Lists all services and authorized targets that the Amazon QuickSight IAM Identity Center application can access.

      This operation is only supported for Amazon QuickSight accounts that use IAM Identity Center.

      " + }, "ListIngestions":{ "name":"ListIngestions", "http":{ @@ -2860,6 +2894,23 @@ ], "documentation":"

      Updates an existing IAM policy assignment. This operation updates only the optional parameter or parameters that are specified in the request. This overwrites all of the users included in Identities.

      " }, + "UpdateIdentityPropagationConfig":{ + "name":"UpdateIdentityPropagationConfig", + "http":{ + "method":"POST", + "requestUri":"/accounts/{AwsAccountId}/identity-propagation-config/{Service}" + }, + "input":{"shape":"UpdateIdentityPropagationConfigRequest"}, + "output":{"shape":"UpdateIdentityPropagationConfigResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

      Adds or updates services and authorized targets to configure what the Amazon QuickSight IAM Identity Center application can access.

      This operation is only supported for Amazon QuickSight accounts using IAM Identity Center

      " + }, "UpdateIpRestriction":{ "name":"UpdateIpRestriction", "http":{ @@ -5052,6 +5103,28 @@ "type":"list", "member":{"shape":"AuthorSpecifiedAggregation"} }, + "AuthorizedTargetsByService":{ + "type":"structure", + "members":{ + "Service":{ + "shape":"ServiceType", + "documentation":"

      The name of the Amazon Web Services service.

      " + }, + "AuthorizedTargets":{ + "shape":"AuthorizedTargetsList", + "documentation":"

      Aist of authorized targets that are represented by IAM Identity Center application ARNs.

      " + } + }, + "documentation":"

      The authorized targets that are associated with a service.

      " + }, + "AuthorizedTargetsByServices":{ + "type":"list", + "member":{"shape":"AuthorizedTargetsByService"} + }, + "AuthorizedTargetsList":{ + "type":"list", + "member":{"shape":"String"} + }, "AwsAccountId":{ "type":"string", "max":12, @@ -11380,6 +11453,41 @@ } } }, + "DeleteIdentityPropagationConfigRequest":{ + "type":"structure", + "required":[ + "AwsAccountId", + "Service" + ], + "members":{ + "AwsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

      The ID of the Amazon Web Services account that you want to delete an identity propagation configuration from.

      ", + "location":"uri", + "locationName":"AwsAccountId" + }, + "Service":{ + "shape":"ServiceType", + "documentation":"

      The name of the Amazon Web Services service that you want to delete the associated access scopes and authorized targets from.

      ", + "location":"uri", + "locationName":"Service" + } + } + }, + "DeleteIdentityPropagationConfigResponse":{ + "type":"structure", + "members":{ + "RequestId":{ + "shape":"String", + "documentation":"

      The Amazon Web Services request ID for this operation.

      " + }, + "Status":{ + "shape":"StatusCode", + "documentation":"

      The HTTP status of the request.

      ", + "location":"statusCode" + } + } + }, "DeleteNamespaceRequest":{ "type":"structure", "required":[ @@ -17348,6 +17456,17 @@ "X" ] }, + "IdentityCenterConfiguration":{ + "type":"structure", + "members":{ + "EnableIdentityPropagation":{ + "shape":"Boolean", + "documentation":"

      A Boolean option that controls whether Trusted Identity Propagation should be used.

      ", + "box":true + } + }, + "documentation":"

      The parameters for an IAM Identity Center configuration.

      " + }, "IdentityMap":{ "type":"map", "key":{"shape":"String"}, @@ -19349,6 +19468,58 @@ } } }, + "ListIdentityPropagationConfigsRequest":{ + "type":"structure", + "required":["AwsAccountId"], + "members":{ + "AwsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

      The ID of the Amazon Web Services account that contain the identity propagation configurations of.

      ", + "location":"uri", + "locationName":"AwsAccountId" + }, + "MaxResults":{ + "shape":"ListIdentityPropagationMaxResults", + "documentation":"

      The maximum number of results to be returned.

      ", + "box":true, + "location":"querystring", + "locationName":"max-results" + }, + "NextToken":{ + "shape":"String", + "documentation":"

      The token for the next set of results, or null if there are no more results.

      ", + "location":"querystring", + "locationName":"next-token" + } + } + }, + "ListIdentityPropagationConfigsResponse":{ + "type":"structure", + "members":{ + "Services":{ + "shape":"AuthorizedTargetsByServices", + "documentation":"

      A list of services and their authorized targets that the Amazon QuickSight IAM Identity Center application can access.

      " + }, + "NextToken":{ + "shape":"String", + "documentation":"

      The token for the next set of results, or null if there are no more results.

      " + }, + "Status":{ + "shape":"StatusCode", + "documentation":"

      The HTTP status of the request.

      ", + "location":"statusCode" + }, + "RequestId":{ + "shape":"String", + "documentation":"

      The Amazon Web Services request ID for this operation.

      " + } + } + }, + "ListIdentityPropagationMaxResults":{ + "type":"integer", + "max":10, + "min":1 + }, "ListIngestionsRequest":{ "type":"structure", "required":[ @@ -23074,6 +23245,10 @@ "IAMParameters":{ "shape":"RedshiftIAMParameters", "documentation":"

      An optional parameter that uses IAM authentication to grant Amazon QuickSight access to your cluster. This parameter can be used instead of DataSourceCredentials.

      " + }, + "IdentityCenterConfiguration":{ + "shape":"IdentityCenterConfiguration", + "documentation":"

      An optional parameter that configures IAM Identity Center authentication to grant Amazon QuickSight access to your cluster.

      This parameter can only be specified if your Amazon QuickSight account is configured with IAM Identity Center.

      " } }, "documentation":"

      The parameters for Amazon Redshift. The ClusterId field can be blank if Host and Port are both set. The Host and Port fields can be blank if the ClusterId field is set.

      " @@ -25000,6 +25175,10 @@ }, "documentation":"

      The parameters for ServiceNow.

      " }, + "ServiceType":{ + "type":"string", + "enum":["REDSHIFT"] + }, "SessionLifetimeInMinutes":{ "type":"long", "max":600, @@ -30072,6 +30251,45 @@ } } }, + "UpdateIdentityPropagationConfigRequest":{ + "type":"structure", + "required":[ + "AwsAccountId", + "Service" + ], + "members":{ + "AwsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

      The ID of the Amazon Web Services account that contains the identity propagation configuration that you want to update.

      ", + "location":"uri", + "locationName":"AwsAccountId" + }, + "Service":{ + "shape":"ServiceType", + "documentation":"

      The name of the Amazon Web Services service that contains the authorized targets that you want to add or update.

      ", + "location":"uri", + "locationName":"Service" + }, + "AuthorizedTargets":{ + "shape":"AuthorizedTargetsList", + "documentation":"

      Specifies a list of application ARNs that represent the authorized targets for a service.

      " + } + } + }, + "UpdateIdentityPropagationConfigResponse":{ + "type":"structure", + "members":{ + "RequestId":{ + "shape":"String", + "documentation":"

      The Amazon Web Services request ID for this operation.

      " + }, + "Status":{ + "shape":"StatusCode", + "documentation":"

      The HTTP status of the request.

      ", + "location":"statusCode" + } + } + }, "UpdateIpRestrictionRequest":{ "type":"structure", "required":["AwsAccountId"], diff --git a/tools/code-generation/api-descriptions/redshift-2012-12-01.normal.json b/tools/code-generation/api-descriptions/redshift-2012-12-01.normal.json index cb0f80c5ba7..edb670c9cb7 100644 --- a/tools/code-generation/api-descriptions/redshift-2012-12-01.normal.json +++ b/tools/code-generation/api-descriptions/redshift-2012-12-01.normal.json @@ -2592,6 +2592,10 @@ "ConsumerRegion":{ "shape":"String", "documentation":"

      From a datashare consumer account, associates a datashare with all existing and future namespaces in the specified Amazon Web Services Region.

      " + }, + "AllowWrites":{ + "shape":"BooleanOptional", + "documentation":"

      If set to true, allows write operations for a datashare.

      " } } }, @@ -2804,6 +2808,10 @@ "ConsumerIdentifier":{ "shape":"String", "documentation":"

      The identifier of the data consumer that is authorized to access the datashare. This identifier is an Amazon Web Services account ID or a keyword, such as ADX.

      " + }, + "AllowWrites":{ + "shape":"BooleanOptional", + "documentation":"

      If set to true, allows write operations for a datashare.

      " } } }, @@ -4832,6 +4840,14 @@ "StatusChangeDate":{ "shape":"TStamp", "documentation":"

      The status change data of the datashare that is associated.

      " + }, + "ProducerAllowedWrites":{ + "shape":"BooleanOptional", + "documentation":"

      Specifies whether write operations were allowed during data share authorization.

      " + }, + "ConsumerAcceptedWrites":{ + "shape":"BooleanOptional", + "documentation":"

      Specifies whether write operations were allowed during data share association.

      " } }, "documentation":"

      The association of a datashare from a producer account with a data consumer.

      " diff --git a/tools/code-generation/api-descriptions/repostspace-2022-05-13.normal.json b/tools/code-generation/api-descriptions/repostspace-2022-05-13.normal.json new file mode 100644 index 00000000000..1f74bf054f5 --- /dev/null +++ b/tools/code-generation/api-descriptions/repostspace-2022-05-13.normal.json @@ -0,0 +1,1007 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2022-05-13", + "endpointPrefix":"repostspace", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceFullName":"AWS re:Post Private", + "serviceId":"repostspace", + "signatureVersion":"v4", + "signingName":"repostspace", + "uid":"repostspace-2022-05-13" + }, + "operations":{ + "CreateSpace":{ + "name":"CreateSpace", + "http":{ + "method":"POST", + "requestUri":"/spaces", + "responseCode":200 + }, + "input":{"shape":"CreateSpaceInput"}, + "output":{"shape":"CreateSpaceOutput"}, + "errors":[ + {"shape":"ServiceQuotaExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

      Creates an AWS re:Post Private private re:Post.

      ", + "idempotent":true + }, + "DeleteSpace":{ + "name":"DeleteSpace", + "http":{ + "method":"DELETE", + "requestUri":"/spaces/{spaceId}", + "responseCode":200 + }, + "input":{"shape":"DeleteSpaceInput"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

      Deletes an AWS re:Post Private private re:Post.

      ", + "idempotent":true + }, + "DeregisterAdmin":{ + "name":"DeregisterAdmin", + "http":{ + "method":"DELETE", + "requestUri":"/spaces/{spaceId}/admins/{adminId}", + "responseCode":200 + }, + "input":{"shape":"DeregisterAdminInput"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

      Removes the user or group from the list of administrators of the private re:Post.

      ", + "idempotent":true + }, + "GetSpace":{ + "name":"GetSpace", + "http":{ + "method":"GET", + "requestUri":"/spaces/{spaceId}", + "responseCode":200 + }, + "input":{"shape":"GetSpaceInput"}, + "output":{"shape":"GetSpaceOutput"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

      Displays information about the AWS re:Post Private private re:Post.

      " + }, + "ListSpaces":{ + "name":"ListSpaces", + "http":{ + "method":"GET", + "requestUri":"/spaces", + "responseCode":200 + }, + "input":{"shape":"ListSpacesInput"}, + "output":{"shape":"ListSpacesOutput"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

      Returns a list of AWS re:Post Private private re:Posts in the account with some information about each private re:Post.

      " + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"GET", + "requestUri":"/tags/{resourceArn}", + "responseCode":200 + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

      Returns the tags that are associated with the AWS re:Post Private resource specified by the resourceArn. The only resource that can be tagged is a private re:Post.

      " + }, + "RegisterAdmin":{ + "name":"RegisterAdmin", + "http":{ + "method":"POST", + "requestUri":"/spaces/{spaceId}/admins/{adminId}", + "responseCode":200 + }, + "input":{"shape":"RegisterAdminInput"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

      Adds a user or group to the list of administrators of the private re:Post.

      ", + "idempotent":true + }, + "SendInvites":{ + "name":"SendInvites", + "http":{ + "method":"POST", + "requestUri":"/spaces/{spaceId}/invite", + "responseCode":200 + }, + "input":{"shape":"SendInvitesInput"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

      Sends an invitation email to selected users and groups.

      ", + "idempotent":true + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/tags/{resourceArn}", + "responseCode":200 + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

      Associates tags with an AWS re:Post Private resource. Currently, the only resource that can be tagged is the private re:Post. If you specify a new tag key for the resource, the tag is appended to the list of tags that are associated with the resource. If you specify a tag key that’s already associated with the resource, the new tag value that you specify replaces the previous value for that tag.

      ", + "idempotent":true + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"DELETE", + "requestUri":"/tags/{resourceArn}", + "responseCode":200 + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

      Removes the association of the tag with the AWS re:Post Private resource.

      ", + "idempotent":true + }, + "UpdateSpace":{ + "name":"UpdateSpace", + "http":{ + "method":"PUT", + "requestUri":"/spaces/{spaceId}", + "responseCode":200 + }, + "input":{"shape":"UpdateSpaceInput"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

      Modifies an existing AWS re:Post Private private re:Post.

      ", + "idempotent":true + } + }, + "shapes":{ + "AccessDeniedException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

      User does not have sufficient access to perform this action.

      ", + "error":{ + "httpStatusCode":403, + "senderFault":true + }, + "exception":true + }, + "AccessorId":{"type":"string"}, + "AccessorIdList":{ + "type":"list", + "member":{"shape":"AccessorId"}, + "max":1000, + "min":0 + }, + "AdminId":{"type":"string"}, + "Arn":{ + "type":"string", + "max":2048, + "min":20 + }, + "ClientId":{"type":"string"}, + "ConfigurationStatus":{ + "type":"string", + "enum":[ + "CONFIGURED", + "UNCONFIGURED" + ] + }, + "ConflictException":{ + "type":"structure", + "required":[ + "message", + "resourceId", + "resourceType" + ], + "members":{ + "message":{"shape":"String"}, + "resourceId":{ + "shape":"String", + "documentation":"

      The ID of the resource.

      " + }, + "resourceType":{ + "shape":"String", + "documentation":"

      The type of the resource.

      " + } + }, + "documentation":"

      Updating or deleting a resource can cause an inconsistent state.

      ", + "error":{ + "httpStatusCode":409, + "senderFault":true + }, + "exception":true + }, + "ContentSize":{ + "type":"long", + "box":true + }, + "CreateSpaceInput":{ + "type":"structure", + "required":[ + "name", + "subdomain", + "tier" + ], + "members":{ + "description":{ + "shape":"SpaceDescription", + "documentation":"

      A description for the private re:Post. This is used only to help you identify this private re:Post.

      " + }, + "name":{ + "shape":"SpaceName", + "documentation":"

      The name for the private re:Post. This must be unique in your account.

      " + }, + "roleArn":{ + "shape":"Arn", + "documentation":"

      The IAM role that grants permissions to the private re:Post to convert unanswered questions into AWS support tickets.

      " + }, + "subdomain":{ + "shape":"SpaceSubdomain", + "documentation":"

      The subdomain that you use to access your AWS re:Post Private private re:Post. All custom subdomains must be approved by AWS before use. In addition to your custom subdomain, all private re:Posts are issued an AWS generated subdomain for immediate use.

      " + }, + "tags":{ + "shape":"Tags", + "documentation":"

      The list of tags associated with the private re:Post.

      " + }, + "tier":{ + "shape":"TierLevel", + "documentation":"

      The pricing tier for the private re:Post.

      " + }, + "userKMSKey":{ + "shape":"KMSKey", + "documentation":"

      The AWS KMS key ARN that’s used for the AWS KMS encryption. If you don't provide a key, your data is encrypted by default with a key that AWS owns and manages for you.

      " + } + } + }, + "CreateSpaceOutput":{ + "type":"structure", + "required":["spaceId"], + "members":{ + "spaceId":{ + "shape":"SpaceId", + "documentation":"

      The unique ID of the private re:Post.

      " + } + } + }, + "DeleteSpaceInput":{ + "type":"structure", + "required":["spaceId"], + "members":{ + "spaceId":{ + "shape":"SpaceId", + "documentation":"

      The unique ID of the private re:Post.

      ", + "location":"uri", + "locationName":"spaceId" + } + } + }, + "DeregisterAdminInput":{ + "type":"structure", + "required":[ + "adminId", + "spaceId" + ], + "members":{ + "adminId":{ + "shape":"AdminId", + "documentation":"

      The ID of the admin to remove.

      ", + "location":"uri", + "locationName":"adminId" + }, + "spaceId":{ + "shape":"SpaceId", + "documentation":"

      The ID of the private re:Post to remove the admin from.

      ", + "location":"uri", + "locationName":"spaceId" + } + } + }, + "GetSpaceInput":{ + "type":"structure", + "required":["spaceId"], + "members":{ + "spaceId":{ + "shape":"SpaceId", + "documentation":"

      The ID of the private re:Post.

      ", + "location":"uri", + "locationName":"spaceId" + } + } + }, + "GetSpaceOutput":{ + "type":"structure", + "required":[ + "arn", + "clientId", + "configurationStatus", + "createDateTime", + "name", + "randomDomain", + "spaceId", + "status", + "storageLimit", + "tier", + "vanityDomain", + "vanityDomainStatus" + ], + "members":{ + "arn":{ + "shape":"Arn", + "documentation":"

      The ARN of the private re:Post.

      " + }, + "clientId":{ + "shape":"ClientId", + "documentation":"

      The Identity Center identifier for the Application Instance.

      " + }, + "configurationStatus":{ + "shape":"ConfigurationStatus", + "documentation":"

      The configuration status of the private re:Post.

      " + }, + "contentSize":{ + "shape":"ContentSize", + "documentation":"

      The content size of the private re:Post.

      " + }, + "createDateTime":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

      The date when the private re:Post was created.

      " + }, + "customerRoleArn":{ + "shape":"Arn", + "documentation":"

      The IAM role that grants permissions to the private re:Post to convert unanswered questions into AWS support tickets.

      " + }, + "deleteDateTime":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

      The date when the private re:Post was deleted.

      " + }, + "description":{ + "shape":"SpaceDescription", + "documentation":"

      The description of the private re:Post.

      " + }, + "groupAdmins":{ + "shape":"GroupAdmins", + "documentation":"

      The list of groups that are administrators of the private re:Post.

      " + }, + "name":{ + "shape":"SpaceName", + "documentation":"

      The name of the private re:Post.

      " + }, + "randomDomain":{ + "shape":"Url", + "documentation":"

      The AWS generated subdomain of the private re:Post

      " + }, + "spaceId":{ + "shape":"SpaceId", + "documentation":"

      The unique ID of the private re:Post.

      " + }, + "status":{ + "shape":"ProvisioningStatus", + "documentation":"

      The creation or deletion status of the private re:Post.

      " + }, + "storageLimit":{ + "shape":"StorageLimit", + "documentation":"

      The storage limit of the private re:Post.

      " + }, + "tier":{ + "shape":"TierLevel", + "documentation":"

      The pricing tier of the private re:Post.

      " + }, + "userAdmins":{ + "shape":"UserAdmins", + "documentation":"

      The list of users that are administrators of the private re:Post.

      " + }, + "userCount":{ + "shape":"UserCount", + "documentation":"

      The number of users that have onboarded to the private re:Post.

      " + }, + "userKMSKey":{ + "shape":"KMSKey", + "documentation":"

      The custom AWS KMS key ARN that’s used for the AWS KMS encryption.

      " + }, + "vanityDomain":{ + "shape":"Url", + "documentation":"

      The custom subdomain that you use to access your private re:Post. All custom subdomains must be approved by AWS before use.

      " + }, + "vanityDomainStatus":{ + "shape":"VanityDomainStatus", + "documentation":"

      The approval status of the custom subdomain.

      " + } + } + }, + "GroupAdmins":{ + "type":"list", + "member":{"shape":"AdminId"} + }, + "Integer":{ + "type":"integer", + "box":true + }, + "InternalServerException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"}, + "retryAfterSeconds":{ + "shape":"Integer", + "documentation":"

      Advice to clients on when the call can be safely retried.

      ", + "location":"header", + "locationName":"Retry-After" + } + }, + "documentation":"

      Unexpected error during processing of request.

      ", + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true, + "retryable":{"throttling":false} + }, + "InviteBody":{ + "type":"string", + "max":600, + "min":1, + "sensitive":true + }, + "InviteTitle":{ + "type":"string", + "max":200, + "min":1, + "sensitive":true + }, + "KMSKey":{"type":"string"}, + "ListSpacesInput":{ + "type":"structure", + "members":{ + "maxResults":{ + "shape":"ListSpacesLimit", + "documentation":"

      The maximum number of private re:Posts to include in the results.

      ", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"String", + "documentation":"

      The token for the next set of private re:Posts to return. You receive this token from a previous ListSpaces operation.

      ", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListSpacesLimit":{ + "type":"integer", + "box":true, + "max":100, + "min":1 + }, + "ListSpacesOutput":{ + "type":"structure", + "required":["spaces"], + "members":{ + "nextToken":{ + "shape":"String", + "documentation":"

      The token that you use when you request the next set of private re:Posts.

      " + }, + "spaces":{ + "shape":"SpacesList", + "documentation":"

      An array of structures that contain some information about the private re:Posts in the account.

      " + } + } + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["resourceArn"], + "members":{ + "resourceArn":{ + "shape":"Arn", + "documentation":"

      The ARN of the resource that the tags are associated with.

      ", + "location":"uri", + "locationName":"resourceArn" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "tags":{ + "shape":"Tags", + "documentation":"

      The list of tags that are associated with the resource.

      " + } + } + }, + "ProvisioningStatus":{ + "type":"string", + "max":30, + "min":1 + }, + "RegisterAdminInput":{ + "type":"structure", + "required":[ + "adminId", + "spaceId" + ], + "members":{ + "adminId":{ + "shape":"AdminId", + "documentation":"

      The ID of the administrator.

      ", + "location":"uri", + "locationName":"adminId" + }, + "spaceId":{ + "shape":"SpaceId", + "documentation":"

      The ID of the private re:Post.

      ", + "location":"uri", + "locationName":"spaceId" + } + } + }, + "ResourceNotFoundException":{ + "type":"structure", + "required":[ + "message", + "resourceId", + "resourceType" + ], + "members":{ + "message":{"shape":"String"}, + "resourceId":{ + "shape":"String", + "documentation":"

      The ID of the resource.

      " + }, + "resourceType":{ + "shape":"String", + "documentation":"

      The type of the resource.

      " + } + }, + "documentation":"

      Request references a resource which does not exist.

      ", + "error":{ + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "SendInvitesInput":{ + "type":"structure", + "required":[ + "accessorIds", + "body", + "spaceId", + "title" + ], + "members":{ + "accessorIds":{ + "shape":"AccessorIdList", + "documentation":"

      The array of identifiers for the users and groups.

      " + }, + "body":{ + "shape":"InviteBody", + "documentation":"

      The body of the invite.

      " + }, + "spaceId":{ + "shape":"SpaceId", + "documentation":"

      The ID of the private re:Post.

      ", + "location":"uri", + "locationName":"spaceId" + }, + "title":{ + "shape":"InviteTitle", + "documentation":"

      The title of the invite.

      " + } + } + }, + "ServiceQuotaExceededException":{ + "type":"structure", + "required":[ + "message", + "quotaCode", + "resourceId", + "resourceType", + "serviceCode" + ], + "members":{ + "message":{"shape":"String"}, + "quotaCode":{ + "shape":"String", + "documentation":"

      The code to identify the quota.

      " + }, + "resourceId":{ + "shape":"String", + "documentation":"

      The id of the resource.

      " + }, + "resourceType":{ + "shape":"String", + "documentation":"

      The type of the resource.

      " + }, + "serviceCode":{ + "shape":"String", + "documentation":"

      The code to identify the service.

      " + } + }, + "documentation":"

      Request would cause a service quota to be exceeded.

      ", + "error":{ + "httpStatusCode":402, + "senderFault":true + }, + "exception":true + }, + "SpaceData":{ + "type":"structure", + "required":[ + "arn", + "configurationStatus", + "createDateTime", + "name", + "randomDomain", + "spaceId", + "status", + "storageLimit", + "tier", + "vanityDomain", + "vanityDomainStatus" + ], + "members":{ + "arn":{ + "shape":"Arn", + "documentation":"

      The ARN of the private re:Post.

      " + }, + "configurationStatus":{ + "shape":"ConfigurationStatus", + "documentation":"

      The configuration status of the private re:Post.

      " + }, + "contentSize":{ + "shape":"ContentSize", + "documentation":"

      The content size of the private re:Post.

      " + }, + "createDateTime":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

      The date when the private re:Post was created.

      " + }, + "deleteDateTime":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

      The date when the private re:Post was deleted.

      " + }, + "description":{ + "shape":"SpaceDescription", + "documentation":"

      The description for the private re:Post. This is used only to help you identify this private re:Post.

      " + }, + "name":{ + "shape":"SpaceName", + "documentation":"

      The name for the private re:Post.

      " + }, + "randomDomain":{ + "shape":"Url", + "documentation":"

      The AWS generated subdomain of the private re:Post.

      " + }, + "spaceId":{ + "shape":"SpaceId", + "documentation":"

      The unique ID of the private re:Post.

      " + }, + "status":{ + "shape":"ProvisioningStatus", + "documentation":"

      The creation/deletion status of the private re:Post.

      " + }, + "storageLimit":{ + "shape":"StorageLimit", + "documentation":"

      The storage limit of the private re:Post.

      " + }, + "tier":{ + "shape":"TierLevel", + "documentation":"

      The pricing tier of the private re:Post.

      " + }, + "userCount":{ + "shape":"UserCount", + "documentation":"

      The number of onboarded users to the private re:Post.

      " + }, + "userKMSKey":{ + "shape":"KMSKey", + "documentation":"

      The custom AWS KMS key ARN that’s used for the AWS KMS encryption.

      " + }, + "vanityDomain":{ + "shape":"Url", + "documentation":"

      This custom subdomain that you use to access your private re:Post. All custom subdomains must be approved by AWS before use.

      " + }, + "vanityDomainStatus":{ + "shape":"VanityDomainStatus", + "documentation":"

      This approval status of the custom subdomain.

      " + } + }, + "documentation":"

      A structure that contains some information about a private re:Post in the account.

      " + }, + "SpaceDescription":{ + "type":"string", + "max":255, + "min":1, + "sensitive":true + }, + "SpaceId":{"type":"string"}, + "SpaceName":{ + "type":"string", + "max":30, + "min":1, + "sensitive":true + }, + "SpaceSubdomain":{ + "type":"string", + "max":63, + "min":1 + }, + "SpacesList":{ + "type":"list", + "member":{"shape":"SpaceData"} + }, + "StorageLimit":{ + "type":"long", + "box":true + }, + "String":{"type":"string"}, + "SyntheticTimestamp_date_time":{ + "type":"timestamp", + "timestampFormat":"iso8601" + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^(?!aws:)[a-zA-Z+-=._:/]+$" + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":50, + "min":1 + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tags" + ], + "members":{ + "resourceArn":{ + "shape":"Arn", + "documentation":"

      The ARN of the resource that the tag is associated with.

      ", + "location":"uri", + "locationName":"resourceArn" + }, + "tags":{ + "shape":"Tags", + "documentation":"

      The list of tag keys and values that must be associated with the resource. You can associate tag keys only, tags (key and values) only, or a combination of tag keys and tags.

      " + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":1 + }, + "Tags":{ + "type":"map", + "key":{"shape":"TagKey"}, + "value":{"shape":"TagValue"}, + "sensitive":true + }, + "ThrottlingException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"}, + "quotaCode":{ + "shape":"String", + "documentation":"

      The code to identify the quota.

      " + }, + "retryAfterSeconds":{ + "shape":"Integer", + "documentation":"

      Advice to clients on when the call can be safely retried.

      ", + "location":"header", + "locationName":"Retry-After" + }, + "serviceCode":{ + "shape":"String", + "documentation":"

      The code to identify the service.

      " + } + }, + "documentation":"

      Request was denied due to request throttling.

      ", + "error":{ + "httpStatusCode":429, + "senderFault":true + }, + "exception":true, + "retryable":{"throttling":true} + }, + "TierLevel":{ + "type":"string", + "enum":[ + "BASIC", + "STANDARD" + ] + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tagKeys" + ], + "members":{ + "resourceArn":{ + "shape":"Arn", + "documentation":"

      The ARN of the resource.

      ", + "location":"uri", + "locationName":"resourceArn" + }, + "tagKeys":{ + "shape":"TagKeyList", + "documentation":"

      The key values of the tag.

      ", + "location":"querystring", + "locationName":"tagKeys" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateSpaceInput":{ + "type":"structure", + "required":["spaceId"], + "members":{ + "description":{ + "shape":"SpaceDescription", + "documentation":"

      A description for the private re:Post. This is used only to help you identify this private re:Post.

      " + }, + "roleArn":{ + "shape":"Arn", + "documentation":"

      The IAM role that grants permissions to the private re:Post to convert unanswered questions into AWS support tickets.

      " + }, + "spaceId":{ + "shape":"SpaceId", + "documentation":"

      The unique ID of this private re:Post.

      ", + "location":"uri", + "locationName":"spaceId" + }, + "tier":{ + "shape":"TierLevel", + "documentation":"

      The pricing tier of this private re:Post.

      " + } + } + }, + "Url":{"type":"string"}, + "UserAdmins":{ + "type":"list", + "member":{"shape":"AdminId"} + }, + "UserCount":{ + "type":"integer", + "box":true + }, + "ValidationException":{ + "type":"structure", + "required":[ + "message", + "reason" + ], + "members":{ + "fieldList":{ + "shape":"ValidationExceptionFieldList", + "documentation":"

      The field that caused the error, if applicable.

      " + }, + "message":{"shape":"String"}, + "reason":{ + "shape":"ValidationExceptionReason", + "documentation":"

      The reason why the request failed validation.

      " + } + }, + "documentation":"

      The input fails to satisfy the constraints specified by an AWS service.

      ", + "error":{ + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "ValidationExceptionField":{ + "type":"structure", + "required":[ + "message", + "name" + ], + "members":{ + "message":{ + "shape":"String", + "documentation":"

      The name of the field.

      " + }, + "name":{ + "shape":"String", + "documentation":"

      Message describing why the field failed validation.

      " + } + }, + "documentation":"

      Stores information about a field that’s passed inside a request that resulted in an exception.

      " + }, + "ValidationExceptionFieldList":{ + "type":"list", + "member":{"shape":"ValidationExceptionField"} + }, + "ValidationExceptionReason":{ + "type":"string", + "enum":[ + "unknownOperation", + "cannotParse", + "fieldValidationFailed", + "other" + ] + }, + "VanityDomainStatus":{ + "type":"string", + "enum":[ + "PENDING", + "APPROVED", + "UNAPPROVED" + ] + } + }, + "documentation":"

      AWS re:Post Private is a private version of AWS re:Post for enterprises with Enterprise Support or Enterprise On-Ramp Support plans. It provides access to knowledge and experts to accelerate cloud adoption and increase developer productivity. With your organization-specific private re:Post, you can build an organization-specific developer community that drives efficiencies at scale and provides access to valuable knowledge resources. Additionally, re:Post Private centralizes trusted AWS technical content and offers private discussion forums to improve how your teams collaborate internally and with AWS to remove technical obstacles, accelerate innovation, and scale more efficiently in the cloud.

      " +} diff --git a/tools/code-generation/api-descriptions/runtime.lex.v2-2020-08-07.normal.json b/tools/code-generation/api-descriptions/runtime.lex.v2-2020-08-07.normal.json index a36a6b94d2f..31dd817fdbd 100644 --- a/tools/code-generation/api-descriptions/runtime.lex.v2-2020-08-07.normal.json +++ b/tools/code-generation/api-descriptions/runtime.lex.v2-2020-08-07.normal.json @@ -165,7 +165,7 @@ "type":"string", "max":100, "min":1, - "pattern":"^([A-Za-z]_?)+$" + "pattern":"^([A-Za-z0-9]_?)+$" }, "ActiveContextParametersMap":{ "type":"map", @@ -485,7 +485,7 @@ "members":{ "type":{ "shape":"DialogActionType", - "documentation":"

      The next action that the bot should take in its interaction with the user. The possible values are:

      • Close - Indicates that there will not be a response from the user. For example, the statement \"Your order has been placed\" does not require a response.

      • ConfirmIntent - The next action is asking the user if the intent is complete and ready to be fulfilled. This is a yes/no question such as \"Place the order?\"

      • Delegate - The next action is determined by Amazon Lex V2.

      • ElicitIntent - The next action is to elicit an intent from the user.

      • ElicitSlot - The next action is to elicit a slot value from the user.

      " + "documentation":"

      The next action that the bot should take in its interaction with the user. The following values are possible:

      • Close – Indicates that there will not be a response from the user. For example, the statement \"Your order has been placed\" does not require a response.

      • ConfirmIntent – The next action is asking the user if the intent is complete and ready to be fulfilled. This is a yes/no question such as \"Place the order?\"

      • Delegate – The next action is determined by Amazon Lex V2.

      • ElicitIntent – The next action is to elicit an intent from the user.

      • ElicitSlot – The next action is to elicit a slot value from the user.

      " }, "slotToElicit":{ "shape":"NonEmptyString", @@ -493,7 +493,7 @@ }, "slotElicitationStyle":{ "shape":"StyleType", - "documentation":"

      Configures the slot to use spell-by-letter or spell-by-word style. When you use a style on a slot, users can spell out their input to make it clear to your bot.

      • Spell by letter - \"b\" \"o\" \"b\"

      • Spell by word - \"b as in boy\" \"o as in oscar\" \"b as in boy\"

      For more information, see Using spelling to enter slot values .

      " + "documentation":"

      Configures the slot to use spell-by-letter or spell-by-word style. When you use a style on a slot, users can spell out their input to make it clear to your bot.

      • Spell by letter - \"b\" \"o\" \"b\"

      • Spell by word - \"b as in boy\" \"o as in oscar\" \"b as in boy\"

      For more information, see Using spelling to enter slot values .

      " }, "subSlotToElicit":{ "shape":"ElicitSubSlot", @@ -663,11 +663,11 @@ }, "state":{ "shape":"IntentState", - "documentation":"

      Contains fulfillment information for the intent.

      " + "documentation":"

      Indicates the fulfillment state for the intent. The meanings of each value are as follows:

      • Failed – The bot failed to fulfill the intent.

      • Fulfilled – The bot has completed fulfillment of the intent.

      • FulfillmentInProgress – The bot is in the middle of fulfilling the intent.

      • InProgress – The bot is in the middle of eliciting the slot values that are necessary to fulfill the intent.

      • ReadyForFulfillment – The bot has elicited all the slot values for the intent and is ready to fulfill the intent.

      • Waiting – The bot is waiting for a response from the user (limited to streaming conversations).

      " }, "confirmationState":{ "shape":"ConfirmationState", - "documentation":"

      Contains information about whether fulfillment of the intent has been confirmed.

      " + "documentation":"

      Indicates whether the intent has been Confirmed, Denied, or None if the confirmation stage has not yet been reached.

      " } }, "documentation":"

      The current intent that Amazon Lex V2 is attempting to fulfill.

      " @@ -677,7 +677,7 @@ "members":{ "inputMode":{ "shape":"InputMode", - "documentation":"

      Indicates whether the input to the operation was text or speech.

      " + "documentation":"

      Indicates whether the input to the operation was text, speech, or from a touch-tone keypad.

      " }, "interpretations":{ "shape":"Interpretations", @@ -740,9 +740,20 @@ "intent":{ "shape":"Intent", "documentation":"

      A list of intents that might satisfy the user's utterance. The intents are ordered by the confidence score.

      " + }, + "interpretationSource":{ + "shape":"InterpretationSource", + "documentation":"

      Specifies the service that interpreted the input.

      " } }, - "documentation":"

      An intent that Amazon Lex V2 determined might satisfy the user's utterance. The intents are ordered by the confidence score.

      " + "documentation":"

      An object containing information about an intent that Amazon Lex V2 determined might satisfy the user's utterance. The intents are ordered by the confidence score.

      " + }, + "InterpretationSource":{ + "type":"string", + "enum":[ + "Bedrock", + "Lex" + ] }, "Interpretations":{ "type":"list", @@ -911,13 +922,13 @@ }, "sessionState":{ "shape":"NonEmptyString", - "documentation":"

      Represents the current state of the dialog between the user and the bot.

      Use this to determine the progress of the conversation and what the next action may be.

      ", + "documentation":"

      A base-64-encoded gzipped field that represents the current state of the dialog between the user and the bot. Use this to determine the progress of the conversation and what the next action may be.

      ", "location":"header", "locationName":"x-amz-lex-session-state" }, "requestAttributes":{ "shape":"NonEmptyString", - "documentation":"

      Request-specific information passed between the client application and Amazon Lex V2. These are the same as the requestAttribute parameter in the call to the PutSession operation.

      ", + "documentation":"

      A base-64-encoded gzipped field that provides request-specific information passed between the client application and Amazon Lex V2. These are the same as the requestAttribute parameter in the call to the PutSession operation.

      ", "location":"header", "locationName":"x-amz-lex-request-attributes" }, @@ -1081,7 +1092,7 @@ "members":{ "inputMode":{ "shape":"NonEmptyString", - "documentation":"

      Indicates whether the input mode to the operation was text or speech.

      ", + "documentation":"

      Indicates whether the input mode to the operation was text, speech, or from a touch-tone keypad.

      ", "location":"header", "locationName":"x-amz-lex-input-mode" }, @@ -1568,18 +1579,18 @@ "members":{ "originalValue":{ "shape":"NonEmptyString", - "documentation":"

      The text of the utterance from the user that was entered for the slot.

      " + "documentation":"

      The part of the user's response to the slot elicitation that Amazon Lex V2 determines is relevant to the slot value.

      " }, "interpretedValue":{ "shape":"NonEmptyString", - "documentation":"

      The value that Amazon Lex V2 determines for the slot. The actual value depends on the setting of the value selection strategy for the bot. You can choose to use the value entered by the user, or you can have Amazon Lex V2 choose the first value in the resolvedValues list.

      " + "documentation":"

      The value that Amazon Lex V2 determines for the slot, given the user input. The actual value depends on the setting of the value selection strategy for the bot. You can choose to use the value entered by the user, or you can have Amazon Lex V2 choose the first value in the resolvedValues list.

      " }, "resolvedValues":{ "shape":"StringList", - "documentation":"

      A list of additional values that have been recognized for the slot.

      " + "documentation":"

      A list of values that Amazon Lex V2 determines are possible resolutions for the user input. The first value matches the interpretedValue.

      " } }, - "documentation":"

      The value of a slot.

      " + "documentation":"

      Information about the value provided for a slot and Amazon Lex V2's interpretation.

      " }, "Values":{ "type":"list", 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 94ce66d3211..0064226545f 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 @@ -1059,7 +1059,7 @@ }, "input":{"shape":"PutObjectLockConfigurationRequest"}, "output":{"shape":"PutObjectLockConfigurationOutput"}, - "documentation":"

      Places an Object Lock configuration on the specified bucket. The rule specified in the Object Lock configuration will be applied by default to every new object placed in the specified bucket. For more information, see Locking Objects.

      • The DefaultRetention settings require both a mode and a period.

      • The DefaultRetention period can be either Days or Years but you must select one. You cannot specify Days and Years at the same time.

      • You can only enable Object Lock for new buckets. If you want to turn on Object Lock for an existing bucket, contact Amazon Web Services Support.

      ", + "documentation":"

      Places an Object Lock configuration on the specified bucket. The rule specified in the Object Lock configuration will be applied by default to every new object placed in the specified bucket. For more information, see Locking Objects.

      • The DefaultRetention settings require both a mode and a period.

      • The DefaultRetention period can be either Days or Years but you must select one. You cannot specify Days and Years at the same time.

      • You can enable Object Lock for new or existing buckets. For more information, see Configuring Object Lock.

      ", "httpChecksum":{ "requestAlgorithmMember":"ChecksumAlgorithm", "requestChecksumRequired":true @@ -1222,6 +1222,7 @@ "Key":{ "shape":"ObjectKey", "documentation":"

      Key of the object for which the multipart upload was initiated.

      ", + "contextParam":{"name":"Key"}, "location":"uri", "locationName":"Key" }, @@ -1849,6 +1850,7 @@ "Key":{ "shape":"ObjectKey", "documentation":"

      Object key for which the multipart upload was initiated.

      ", + "contextParam":{"name":"Key"}, "location":"uri", "locationName":"Key" }, @@ -2655,6 +2657,7 @@ "Key":{ "shape":"ObjectKey", "documentation":"

      Object key for which the multipart upload is to be initiated.

      ", + "contextParam":{"name":"Key"}, "location":"uri", "locationName":"Key" }, @@ -3174,6 +3177,7 @@ "Key":{ "shape":"ObjectKey", "documentation":"

      Key name of the object to delete.

      ", + "contextParam":{"name":"Key"}, "location":"uri", "locationName":"Key" }, @@ -4307,6 +4311,7 @@ "Key":{ "shape":"ObjectKey", "documentation":"

      The key of the object for which to get the ACL information.

      ", + "contextParam":{"name":"Key"}, "location":"uri", "locationName":"Key" }, @@ -4824,6 +4829,7 @@ "Key":{ "shape":"ObjectKey", "documentation":"

      Key of the object to get.

      ", + "contextParam":{"name":"Key"}, "location":"uri", "locationName":"Key" }, @@ -5442,6 +5448,7 @@ "Key":{ "shape":"ObjectKey", "documentation":"

      The object key.

      ", + "contextParam":{"name":"Key"}, "location":"uri", "locationName":"Key" }, @@ -6316,6 +6323,7 @@ "Prefix":{ "shape":"Prefix", "documentation":"

      Lists in-progress uploads only for those keys that begin with the specified prefix. You can use prefixes to separate a bucket into different grouping of keys. (You can think of using prefix to make groups in the same way that you'd use a folder in a file system.)

      ", + "contextParam":{"name":"Prefix"}, "location":"querystring", "locationName":"prefix" }, @@ -6439,6 +6447,7 @@ "Prefix":{ "shape":"Prefix", "documentation":"

      Use this parameter to select only those keys that begin with the specified prefix. You can use prefixes to separate a bucket into different groupings of keys. (You can think of using prefix to make groups in the same way that you'd use a folder in a file system.) You can use prefix with delimiter to roll up numerous objects into a single result under CommonPrefixes.

      ", + "contextParam":{"name":"Prefix"}, "location":"querystring", "locationName":"prefix" }, @@ -6554,6 +6563,7 @@ "Prefix":{ "shape":"Prefix", "documentation":"

      Limits the response to keys that begin with the specified prefix.

      ", + "contextParam":{"name":"Prefix"}, "location":"querystring", "locationName":"prefix" }, @@ -6667,6 +6677,7 @@ "Prefix":{ "shape":"Prefix", "documentation":"

      Limits the response to keys that begin with the specified prefix.

      ", + "contextParam":{"name":"Prefix"}, "location":"querystring", "locationName":"prefix" }, @@ -6797,6 +6808,7 @@ "Key":{ "shape":"ObjectKey", "documentation":"

      Object key for which the multipart upload was initiated.

      ", + "contextParam":{"name":"Key"}, "location":"uri", "locationName":"Key" }, @@ -8634,6 +8646,7 @@ "Key":{ "shape":"ObjectKey", "documentation":"

      Key for which the PUT action was initiated.

      When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

      When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

      ", + "contextParam":{"name":"Key"}, "location":"uri", "locationName":"Key" }, @@ -9002,6 +9015,7 @@ "Key":{ "shape":"ObjectKey", "documentation":"

      Object key for which the PUT action was initiated.

      ", + "contextParam":{"name":"Key"}, "location":"uri", "locationName":"Key" }, @@ -10750,6 +10764,7 @@ "Key":{ "shape":"ObjectKey", "documentation":"

      Object key for which the multipart upload was initiated.

      ", + "contextParam":{"name":"Key"}, "location":"uri", "locationName":"Key" }, 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 7b23ac8ccd9..853b1d46495 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 @@ -11,6 +11,89 @@ "uid":"s3control-2018-08-20" }, "operations":{ + "AssociateAccessGrantsIdentityCenter":{ + "name":"AssociateAccessGrantsIdentityCenter", + "http":{ + "method":"POST", + "requestUri":"/v20180820/accessgrantsinstance/identitycenter" + }, + "input":{ + "shape":"AssociateAccessGrantsIdentityCenterRequest", + "locationName":"AssociateAccessGrantsIdentityCenterRequest", + "xmlNamespace":{"uri":"http://awss3control.amazonaws.com/doc/2018-08-20/"} + }, + "documentation":"

      Associate your S3 Access Grants instance with an Amazon Web Services IAM Identity Center instance. Use this action if you want to create access grants for users or groups from your corporate identity directory. First, you must add your corporate identity directory to Amazon Web Services IAM Identity Center. Then, you can associate this IAM Identity Center instance with your S3 Access Grants instance.

      Permissions

      You must have the s3:AssociateAccessGrantsIdentityCenter permission to use this operation.

      Additional Permissions

      You must also have the following permissions: sso:CreateApplication, sso:PutApplicationGrant, and sso:PutApplicationAuthenticationMethod.

      ", + "endpoint":{ + "hostPrefix":"{AccountId}." + }, + "httpChecksumRequired":true, + "staticContextParams":{ + "RequiresAccountId":{"value":true} + } + }, + "CreateAccessGrant":{ + "name":"CreateAccessGrant", + "http":{ + "method":"POST", + "requestUri":"/v20180820/accessgrantsinstance/grant" + }, + "input":{ + "shape":"CreateAccessGrantRequest", + "locationName":"CreateAccessGrantRequest", + "xmlNamespace":{"uri":"http://awss3control.amazonaws.com/doc/2018-08-20/"} + }, + "output":{"shape":"CreateAccessGrantResult"}, + "documentation":"

      Creates an access grant that gives a grantee access to your S3 data. The grantee can be an IAM user or role or a directory user, or group. Before you can create a grant, you must have an S3 Access Grants instance in the same Region as the S3 data. You can create an S3 Access Grants instance using the CreateAccessGrantsInstance. You must also have registered at least one S3 data location in your S3 Access Grants instance using CreateAccessGrantsLocation.

      Permissions

      You must have the s3:CreateAccessGrant permission to use this operation.

      Additional Permissions

      For any directory identity - sso:DescribeInstance and sso:DescribeApplication

      For directory users - identitystore:DescribeUser

      For directory groups - identitystore:DescribeGroup

      ", + "endpoint":{ + "hostPrefix":"{AccountId}." + }, + "httpChecksumRequired":true, + "staticContextParams":{ + "RequiresAccountId":{"value":true} + } + }, + "CreateAccessGrantsInstance":{ + "name":"CreateAccessGrantsInstance", + "http":{ + "method":"POST", + "requestUri":"/v20180820/accessgrantsinstance" + }, + "input":{ + "shape":"CreateAccessGrantsInstanceRequest", + "locationName":"CreateAccessGrantsInstanceRequest", + "xmlNamespace":{"uri":"http://awss3control.amazonaws.com/doc/2018-08-20/"} + }, + "output":{"shape":"CreateAccessGrantsInstanceResult"}, + "documentation":"

      Creates an S3 Access Grants instance, which serves as a logical grouping for access grants. You can create one S3 Access Grants instance per Region per account.

      Permissions

      You must have the s3:CreateAccessGrantsInstance permission to use this operation.

      Additional Permissions

      To associate an IAM Identity Center instance with your S3 Access Grants instance, you must also have the sso:DescribeInstance, sso:CreateApplication, sso:PutApplicationGrant, and sso:PutApplicationAuthenticationMethod permissions.

      ", + "endpoint":{ + "hostPrefix":"{AccountId}." + }, + "httpChecksumRequired":true, + "staticContextParams":{ + "RequiresAccountId":{"value":true} + } + }, + "CreateAccessGrantsLocation":{ + "name":"CreateAccessGrantsLocation", + "http":{ + "method":"POST", + "requestUri":"/v20180820/accessgrantsinstance/location" + }, + "input":{ + "shape":"CreateAccessGrantsLocationRequest", + "locationName":"CreateAccessGrantsLocationRequest", + "xmlNamespace":{"uri":"http://awss3control.amazonaws.com/doc/2018-08-20/"} + }, + "output":{"shape":"CreateAccessGrantsLocationResult"}, + "documentation":"

      The S3 data location that you would like to register in your S3 Access Grants instance. Your S3 data must be in the same Region as your S3 Access Grants instance. The location can be one of the following:

      • The default S3 location s3://

      • A bucket - S3://<bucket-name>

      • A bucket and prefix - S3://<bucket-name>/<prefix>

      When you register a location, you must include the IAM role that has permission to manage the S3 location that you are registering. Give S3 Access Grants permission to assume this role using a policy. S3 Access Grants assumes this role to manage access to the location and to vend temporary credentials to grantees or client applications.

      Permissions

      You must have the s3:CreateAccessGrantsLocation permission to use this operation.

      Additional Permissions

      You must also have the following permission for the specified IAM role: iam:PassRole

      ", + "endpoint":{ + "hostPrefix":"{AccountId}." + }, + "httpChecksumRequired":true, + "staticContextParams":{ + "RequiresAccountId":{"value":true} + } + }, "CreateAccessPoint":{ "name":"CreateAccessPoint", "http":{ @@ -133,6 +216,70 @@ "RequiresAccountId":{"value":true} } }, + "DeleteAccessGrant":{ + "name":"DeleteAccessGrant", + "http":{ + "method":"DELETE", + "requestUri":"/v20180820/accessgrantsinstance/grant/{id}" + }, + "input":{"shape":"DeleteAccessGrantRequest"}, + "documentation":"

      Deletes the access grant from the S3 Access Grants instance. You cannot undo an access grant deletion and the grantee will no longer have access to the S3 data.

      Permissions

      You must have the s3:DeleteAccessGrant permission to use this operation.

      ", + "endpoint":{ + "hostPrefix":"{AccountId}." + }, + "httpChecksumRequired":true, + "staticContextParams":{ + "RequiresAccountId":{"value":true} + } + }, + "DeleteAccessGrantsInstance":{ + "name":"DeleteAccessGrantsInstance", + "http":{ + "method":"DELETE", + "requestUri":"/v20180820/accessgrantsinstance" + }, + "input":{"shape":"DeleteAccessGrantsInstanceRequest"}, + "documentation":"

      Deletes your S3 Access Grants instance. You must first delete the access grants and locations before S3 Access Grants can delete the instance. See DeleteAccessGrant and DeleteAccessGrantsLocation. If you have associated an IAM Identity Center instance with your S3 Access Grants instance, you must first dissassociate the Identity Center instance from the S3 Access Grants instance before you can delete the S3 Access Grants instance. See AssociateAccessGrantsIdentityCenter and DissociateAccessGrantsIdentityCenter.

      Permissions

      You must have the s3:DeleteAccessGrantsInstance permission to use this operation.

      ", + "endpoint":{ + "hostPrefix":"{AccountId}." + }, + "httpChecksumRequired":true, + "staticContextParams":{ + "RequiresAccountId":{"value":true} + } + }, + "DeleteAccessGrantsInstanceResourcePolicy":{ + "name":"DeleteAccessGrantsInstanceResourcePolicy", + "http":{ + "method":"DELETE", + "requestUri":"/v20180820/accessgrantsinstance/resourcepolicy" + }, + "input":{"shape":"DeleteAccessGrantsInstanceResourcePolicyRequest"}, + "documentation":"

      Deletes the resource policy of the S3 Access Grants instance. The resource policy is used to manage cross-account access to your S3 Access Grants instance. By deleting the resource policy, you delete any cross-account permissions to your S3 Access Grants instance.

      Permissions

      You must have the s3:DeleteAccessGrantsInstanceResourcePolicy permission to use this operation.

      ", + "endpoint":{ + "hostPrefix":"{AccountId}." + }, + "httpChecksumRequired":true, + "staticContextParams":{ + "RequiresAccountId":{"value":true} + } + }, + "DeleteAccessGrantsLocation":{ + "name":"DeleteAccessGrantsLocation", + "http":{ + "method":"DELETE", + "requestUri":"/v20180820/accessgrantsinstance/location/{id}" + }, + "input":{"shape":"DeleteAccessGrantsLocationRequest"}, + "documentation":"

      Deregisters a location from your S3 Access Grants instance. You can only delete a location registration from an S3 Access Grants instance if there are no grants associated with this location. See Delete a grant for information on how to delete grants. You need to have at least one registered location in your S3 Access Grants instance in order to create access grants.

      Permissions

      You must have the s3:DeleteAccessGrantsLocation permission to use this operation.

      ", + "endpoint":{ + "hostPrefix":"{AccountId}." + }, + "httpChecksumRequired":true, + "staticContextParams":{ + "RequiresAccountId":{"value":true} + } + }, "DeleteAccessPoint":{ "name":"DeleteAccessPoint", "http":{ @@ -412,6 +559,107 @@ "RequiresAccountId":{"value":true} } }, + "DissociateAccessGrantsIdentityCenter":{ + "name":"DissociateAccessGrantsIdentityCenter", + "http":{ + "method":"DELETE", + "requestUri":"/v20180820/accessgrantsinstance/identitycenter" + }, + "input":{"shape":"DissociateAccessGrantsIdentityCenterRequest"}, + "documentation":"

      Dissociates the Amazon Web Services IAM Identity Center instance from the S3 Access Grants instance.

      Permissions

      You must have the s3:DissociateAccessGrantsIdentityCenter permission to use this operation.

      Additional Permissions

      You must have the sso:DeleteApplication permission to use this operation.

      ", + "endpoint":{ + "hostPrefix":"{AccountId}." + }, + "httpChecksumRequired":true, + "staticContextParams":{ + "RequiresAccountId":{"value":true} + } + }, + "GetAccessGrant":{ + "name":"GetAccessGrant", + "http":{ + "method":"GET", + "requestUri":"/v20180820/accessgrantsinstance/grant/{id}" + }, + "input":{"shape":"GetAccessGrantRequest"}, + "output":{"shape":"GetAccessGrantResult"}, + "documentation":"

      Get the details of an access grant from your S3 Access Grants instance.

      Permissions

      You must have the s3:GetAccessGrant permission to use this operation.

      ", + "endpoint":{ + "hostPrefix":"{AccountId}." + }, + "httpChecksumRequired":true, + "staticContextParams":{ + "RequiresAccountId":{"value":true} + } + }, + "GetAccessGrantsInstance":{ + "name":"GetAccessGrantsInstance", + "http":{ + "method":"GET", + "requestUri":"/v20180820/accessgrantsinstance" + }, + "input":{"shape":"GetAccessGrantsInstanceRequest"}, + "output":{"shape":"GetAccessGrantsInstanceResult"}, + "documentation":"

      Retrieves the S3 Access Grants instance for a Region in your account.

      Permissions

      You must have the s3:GetAccessGrantsInstance permission to use this operation.

      ", + "endpoint":{ + "hostPrefix":"{AccountId}." + }, + "httpChecksumRequired":true, + "staticContextParams":{ + "RequiresAccountId":{"value":true} + } + }, + "GetAccessGrantsInstanceForPrefix":{ + "name":"GetAccessGrantsInstanceForPrefix", + "http":{ + "method":"GET", + "requestUri":"/v20180820/accessgrantsinstance/prefix" + }, + "input":{"shape":"GetAccessGrantsInstanceForPrefixRequest"}, + "output":{"shape":"GetAccessGrantsInstanceForPrefixResult"}, + "documentation":"

      Retrieve the S3 Access Grants instance that contains a particular prefix.

      Permissions

      You must have the s3:GetAccessGrantsInstanceForPrefix permission for the caller account to use this operation.

      Additional Permissions

      The prefix owner account must grant you the following permissions to their S3 Access Grants instance: s3:GetAccessGrantsInstanceForPrefix.

      ", + "endpoint":{ + "hostPrefix":"{AccountId}." + }, + "httpChecksumRequired":true, + "staticContextParams":{ + "RequiresAccountId":{"value":true} + } + }, + "GetAccessGrantsInstanceResourcePolicy":{ + "name":"GetAccessGrantsInstanceResourcePolicy", + "http":{ + "method":"GET", + "requestUri":"/v20180820/accessgrantsinstance/resourcepolicy" + }, + "input":{"shape":"GetAccessGrantsInstanceResourcePolicyRequest"}, + "output":{"shape":"GetAccessGrantsInstanceResourcePolicyResult"}, + "documentation":"

      Returns the resource policy of the S3 Access Grants instance.

      Permissions

      You must have the s3:GetAccessGrantsInstanceResourcePolicy permission to use this operation.

      ", + "endpoint":{ + "hostPrefix":"{AccountId}." + }, + "httpChecksumRequired":true, + "staticContextParams":{ + "RequiresAccountId":{"value":true} + } + }, + "GetAccessGrantsLocation":{ + "name":"GetAccessGrantsLocation", + "http":{ + "method":"GET", + "requestUri":"/v20180820/accessgrantsinstance/location/{id}" + }, + "input":{"shape":"GetAccessGrantsLocationRequest"}, + "output":{"shape":"GetAccessGrantsLocationResult"}, + "documentation":"

      Retrieves the details of a particular location registered in your S3 Access Grants instance.

      Permissions

      You must have the s3:GetAccessGrantsLocation permission to use this operation.

      ", + "endpoint":{ + "hostPrefix":"{AccountId}." + }, + "httpChecksumRequired":true, + "staticContextParams":{ + "RequiresAccountId":{"value":true} + } + }, "GetAccessPoint":{ "name":"GetAccessPoint", "http":{ @@ -620,6 +868,23 @@ "RequiresAccountId":{"value":true} } }, + "GetDataAccess":{ + "name":"GetDataAccess", + "http":{ + "method":"GET", + "requestUri":"/v20180820/accessgrantsinstance/dataaccess" + }, + "input":{"shape":"GetDataAccessRequest"}, + "output":{"shape":"GetDataAccessResult"}, + "documentation":"

      Returns a temporary access credential from S3 Access Grants to the grantee or client application. The temporary credential is an Amazon Web Services STS token that grants them access to the S3 data.

      Permissions

      You must have the s3:GetDataAccess permission to use this operation.

      Additional Permissions

      The IAM role that S3 Access Grants assumes must have the following permissions specified in the trust policy when registering the location: sts:AssumeRole, for directory users or groups sts:SetContext, and for IAM users or roles sts:SourceIdentity.

      ", + "endpoint":{ + "hostPrefix":"{AccountId}." + }, + "httpChecksumRequired":true, + "staticContextParams":{ + "RequiresAccountId":{"value":true} + } + }, "GetJobTagging":{ "name":"GetJobTagging", "http":{ @@ -776,6 +1041,57 @@ "RequiresAccountId":{"value":true} } }, + "ListAccessGrants":{ + "name":"ListAccessGrants", + "http":{ + "method":"GET", + "requestUri":"/v20180820/accessgrantsinstance/grants" + }, + "input":{"shape":"ListAccessGrantsRequest"}, + "output":{"shape":"ListAccessGrantsResult"}, + "documentation":"

      Returns the list of access grants in your S3 Access Grants instance.

      Permissions

      You must have the s3:ListAccessGrants permission to use this operation.

      ", + "endpoint":{ + "hostPrefix":"{AccountId}." + }, + "httpChecksumRequired":true, + "staticContextParams":{ + "RequiresAccountId":{"value":true} + } + }, + "ListAccessGrantsInstances":{ + "name":"ListAccessGrantsInstances", + "http":{ + "method":"GET", + "requestUri":"/v20180820/accessgrantsinstances" + }, + "input":{"shape":"ListAccessGrantsInstancesRequest"}, + "output":{"shape":"ListAccessGrantsInstancesResult"}, + "documentation":"

      Returns a list of S3 Access Grants instances. An S3 Access Grants instance serves as a logical grouping for your individual access grants. You can only have one S3 Access Grants instance per Region per account.

      Permissions

      You must have the s3:ListAccessGrantsInstances permission to use this operation.

      ", + "endpoint":{ + "hostPrefix":"{AccountId}." + }, + "httpChecksumRequired":true, + "staticContextParams":{ + "RequiresAccountId":{"value":true} + } + }, + "ListAccessGrantsLocations":{ + "name":"ListAccessGrantsLocations", + "http":{ + "method":"GET", + "requestUri":"/v20180820/accessgrantsinstance/locations" + }, + "input":{"shape":"ListAccessGrantsLocationsRequest"}, + "output":{"shape":"ListAccessGrantsLocationsResult"}, + "documentation":"

      Returns a list of the locations registered in your S3 Access Grants instance.

      Permissions

      You must have the s3:ListAccessGrantsLocations permission to use this operation.

      ", + "endpoint":{ + "hostPrefix":"{AccountId}." + }, + "httpChecksumRequired":true, + "staticContextParams":{ + "RequiresAccountId":{"value":true} + } + }, "ListAccessPoints":{ "name":"ListAccessPoints", "http":{ @@ -902,7 +1218,7 @@ }, "input":{"shape":"ListTagsForResourceRequest"}, "output":{"shape":"ListTagsForResourceResult"}, - "documentation":"

      This operation allows you to list all the Amazon Web Services resource tags for the specified resource.

      To use this operation, you must have the permission to perform the s3:ListTagsForResource action. For more information about the required Storage Lens Groups permissions, see Setting account permissions to use S3 Storage Lens groups.

      For information about S3 Tagging errors, see List of Amazon S3 Tagging error codes.

      This operation is only supported for S3 Storage Lens groups.

      ", + "documentation":"

      This operation allows you to list all the Amazon Web Services resource tags for a specified resource. Each tag is a label consisting of a user-defined key and value. Tags can help you manage, identify, organize, search for, and filter resources.

      Permissions

      You must have the s3:ListTagsForResource permission to use this operation.

      This operation is only supported for S3 Storage Lens groups and for S3 Access Grants. The tagged resource can be an S3 Storage Lens group or S3 Access Grants instance, registered location, or grant.

      For more information about the required Storage Lens Groups permissions, see Setting account permissions to use S3 Storage Lens groups.

      For information about S3 Tagging errors, see List of Amazon S3 Tagging error codes.

      ", "endpoint":{ "hostPrefix":"{AccountId}." }, @@ -910,6 +1226,27 @@ "RequiresAccountId":{"value":true} } }, + "PutAccessGrantsInstanceResourcePolicy":{ + "name":"PutAccessGrantsInstanceResourcePolicy", + "http":{ + "method":"PUT", + "requestUri":"/v20180820/accessgrantsinstance/resourcepolicy" + }, + "input":{ + "shape":"PutAccessGrantsInstanceResourcePolicyRequest", + "locationName":"PutAccessGrantsInstanceResourcePolicyRequest", + "xmlNamespace":{"uri":"http://awss3control.amazonaws.com/doc/2018-08-20/"} + }, + "output":{"shape":"PutAccessGrantsInstanceResourcePolicyResult"}, + "documentation":"

      Updates the resource policy of the S3 Access Grants instance.

      Permissions

      You must have the s3:PutAccessGrantsInstanceResourcePolicy permission to use this operation.

      ", + "endpoint":{ + "hostPrefix":"{AccountId}." + }, + "httpChecksumRequired":true, + "staticContextParams":{ + "RequiresAccountId":{"value":true} + } + }, "PutAccessPointConfigurationForObjectLambda":{ "name":"PutAccessPointConfigurationForObjectLambda", "http":{ @@ -1186,7 +1523,7 @@ "xmlNamespace":{"uri":"http://awss3control.amazonaws.com/doc/2018-08-20/"} }, "output":{"shape":"TagResourceResult"}, - "documentation":"

      Creates a new Amazon Web Services resource tag or updates an existing resource tag. You can add up to 50 Amazon Web Services resource tags for each S3 resource.

      To use this operation, you must have the permission to perform the s3:TagResource action. For more information about the required Storage Lens Groups permissions, see Setting account permissions to use S3 Storage Lens groups.

      For information about S3 Tagging errors, see List of Amazon S3 Tagging error codes.

      This operation is only supported for S3 Storage Lens groups.

      ", + "documentation":"

      Creates a new Amazon Web Services resource tag or updates an existing resource tag. Each tag is a label consisting of a user-defined key and value. Tags can help you manage, identify, organize, search for, and filter resources. You can add up to 50 Amazon Web Services resource tags for each S3 resource.

      This operation is only supported for S3 Storage Lens groups and for S3 Access Grants. The tagged resource can be an S3 Storage Lens group or S3 Access Grants instance, registered location, or grant.

      Permissions

      You must have the s3:TagResource permission to use this operation.

      For more information about the required Storage Lens Groups permissions, see Setting account permissions to use S3 Storage Lens groups.

      For information about S3 Tagging errors, see List of Amazon S3 Tagging error codes.

      ", "endpoint":{ "hostPrefix":"{AccountId}." }, @@ -1203,10 +1540,31 @@ }, "input":{"shape":"UntagResourceRequest"}, "output":{"shape":"UntagResourceResult"}, - "documentation":"

      This operation removes the specified Amazon Web Services resource tags from an S3 resource.

      To use this operation, you must have the permission to perform the s3:UntagResource action. For more information about the required Storage Lens Groups permissions, see Setting account permissions to use S3 Storage Lens groups.

      For information about S3 Tagging errors, see List of Amazon S3 Tagging error codes.

      This operation is only supported for S3 Storage Lens groups.

      ", + "documentation":"

      This operation removes the specified Amazon Web Services resource tags from an S3 resource. Each tag is a label consisting of a user-defined key and value. Tags can help you manage, identify, organize, search for, and filter resources.

      This operation is only supported for S3 Storage Lens groups and for S3 Access Grants. The tagged resource can be an S3 Storage Lens group or S3 Access Grants instance, registered location, or grant.

      Permissions

      You must have the s3:UntagResource permission to use this operation.

      For more information about the required Storage Lens Groups permissions, see Setting account permissions to use S3 Storage Lens groups.

      For information about S3 Tagging errors, see List of Amazon S3 Tagging error codes.

      ", + "endpoint":{ + "hostPrefix":"{AccountId}." + }, + "staticContextParams":{ + "RequiresAccountId":{"value":true} + } + }, + "UpdateAccessGrantsLocation":{ + "name":"UpdateAccessGrantsLocation", + "http":{ + "method":"PUT", + "requestUri":"/v20180820/accessgrantsinstance/location/{id}" + }, + "input":{ + "shape":"UpdateAccessGrantsLocationRequest", + "locationName":"UpdateAccessGrantsLocationRequest", + "xmlNamespace":{"uri":"http://awss3control.amazonaws.com/doc/2018-08-20/"} + }, + "output":{"shape":"UpdateAccessGrantsLocationResult"}, + "documentation":"

      Updates the IAM role of a registered location in your S3 Access Grants instance.

      Permissions

      You must have the s3:UpdateAccessGrantsLocation permission to use this operation.

      Additional Permissions

      You must also have the following permission: iam:PassRole

      ", "endpoint":{ "hostPrefix":"{AccountId}." }, + "httpChecksumRequired":true, "staticContextParams":{ "RequiresAccountId":{"value":true} } @@ -1299,6 +1657,77 @@ }, "documentation":"

      A container for information about access control for replicas.

      This is not supported by Amazon S3 on Outposts buckets.

      " }, + "AccessGrantArn":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"arn:[a-z\\-]+:s3:[a-z0-9\\-]+:\\d{12}:access\\-grants\\/grant/[a-zA-Z0-9\\-]+" + }, + "AccessGrantId":{ + "type":"string", + "max":64, + "min":1, + "pattern":"[a-zA-Z0-9\\-]+" + }, + "AccessGrantsInstanceArn":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"arn:[a-z\\-]+:s3:[a-z0-9\\-]+:\\d{12}:access\\-grants\\/[a-zA-Z0-9\\-]+" + }, + "AccessGrantsInstanceId":{ + "type":"string", + "max":64, + "min":1, + "pattern":"[a-zA-Z0-9\\-]+" + }, + "AccessGrantsInstancesList":{ + "type":"list", + "member":{ + "shape":"ListAccessGrantsInstanceEntry", + "locationName":"AccessGrantsInstance" + } + }, + "AccessGrantsList":{ + "type":"list", + "member":{ + "shape":"ListAccessGrantEntry", + "locationName":"AccessGrant" + } + }, + "AccessGrantsLocationArn":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"arn:[a-z\\-]+:s3:[a-z0-9\\-]+:\\d{12}:access\\-grants\\/location/[a-zA-Z0-9\\-]+" + }, + "AccessGrantsLocationConfiguration":{ + "type":"structure", + "members":{ + "S3SubPrefix":{ + "shape":"S3Prefix", + "documentation":"

      The S3SubPrefix is appended to the location scope creating the grant scope. Use this field to narrow the scope of the grant to a subset of the location scope. This field is required if the location scope is the default location s3:// because you cannot create a grant for all of your S3 data in the Region and must narrow the scope. For example, if the location scope is the default location s3://, the S3SubPrefx can be a <bucket-name>/*, so the full grant scope path would be s3://<bucket-name>/*. Or the S3SubPrefx can be <bucket-name>/<prefix-name>*, so the full grant scope path would be or s3://<bucket-name>/<prefix-name>*.

      If the S3SubPrefix includes a prefix, append the wildcard character * after the prefix to indicate that you want to include all object key names in the bucket that start with that prefix.

      " + } + }, + "documentation":"

      The configuration options of the S3 Access Grants location. It contains the S3SubPrefix field. The grant scope, the data to which you are granting access, is the result of appending the Subprefix field to the scope of the registered location.

      " + }, + "AccessGrantsLocationId":{ + "type":"string", + "max":64, + "min":1, + "pattern":"[a-zA-Z0-9\\-]+" + }, + "AccessGrantsLocationsList":{ + "type":"list", + "member":{ + "shape":"ListAccessGrantsLocationsEntry", + "locationName":"AccessGrantsLocation" + } + }, + "AccessKeyId":{ + "type":"string", + "sensitive":true + }, "AccessPoint":{ "type":"structure", "required":[ @@ -1421,6 +1850,27 @@ "max":63, "pattern":"^[0-9a-z\\\\-]{63}" }, + "AssociateAccessGrantsIdentityCenterRequest":{ + "type":"structure", + "required":[ + "AccountId", + "IdentityCenterArn" + ], + "members":{ + "AccountId":{ + "shape":"AccountId", + "documentation":"

      The ID of the Amazon Web Services account that is making this request.

      ", + "contextParam":{"name":"AccountId"}, + "hostLabel":true, + "location":"header", + "locationName":"x-amz-account-id" + }, + "IdentityCenterArn":{ + "shape":"IdentityCenterArn", + "documentation":"

      The Amazon Resource Name (ARN) of the Amazon Web Services IAM Identity Center instance that you are associating with your S3 Access Grants instance. An IAM Identity Center instance is your corporate identity directory that you added to the IAM Identity Center. You can use the ListInstances API operation to retrieve a list of your Identity Center instances and their ARNs.

      " + } + } + }, "AsyncCreationTimestamp":{"type":"timestamp"}, "AsyncErrorDetails":{ "type":"structure", @@ -1654,9 +2104,195 @@ "min":1, "pattern":"[a-zA-Z0-9\\-\\_\\.]+" }, - "ConfirmRemoveSelfBucketAccess":{"type":"boolean"}, - "ConfirmationRequired":{"type":"boolean"}, - "ContinuationToken":{"type":"string"}, + "ConfirmRemoveSelfBucketAccess":{"type":"boolean"}, + "ConfirmationRequired":{"type":"boolean"}, + "ContinuationToken":{"type":"string"}, + "CreateAccessGrantRequest":{ + "type":"structure", + "required":[ + "AccountId", + "AccessGrantsLocationId", + "Grantee", + "Permission" + ], + "members":{ + "AccountId":{ + "shape":"AccountId", + "documentation":"

      The ID of the Amazon Web Services account that is making this request.

      ", + "contextParam":{"name":"AccountId"}, + "hostLabel":true, + "location":"header", + "locationName":"x-amz-account-id" + }, + "AccessGrantsLocationId":{ + "shape":"AccessGrantsLocationId", + "documentation":"

      The ID of the registered location to which you are granting access. S3 Access Grants assigns this ID when you register the location. S3 Access Grants assigns the ID default to the default location s3:// and assigns an auto-generated ID to other locations that you register.

      If you are passing the default location, you cannot create an access grant for the entire default location. You must also specify a bucket or a bucket and prefix in the Subprefix field.

      " + }, + "AccessGrantsLocationConfiguration":{ + "shape":"AccessGrantsLocationConfiguration", + "documentation":"

      The configuration options of the grant location. The grant location is the S3 path to the data to which you are granting access. It contains the S3SubPrefix field. The grant scope is the result of appending the subprefix to the location scope of the registered location.

      " + }, + "Grantee":{ + "shape":"Grantee", + "documentation":"

      The user, group, or role to which you are granting access. You can grant access to an IAM user or role. If you have added your corporate directory to Amazon Web Services IAM Identity Center and associated your Identity Center instance with your S3 Access Grants instance, the grantee can also be a corporate directory user or group.

      " + }, + "Permission":{ + "shape":"Permission", + "documentation":"

      The type of access that you are granting to your S3 data, which can be set to one of the following values:

      • READ – Grant read-only access to the S3 data.

      • WRITE – Grant write-only access to the S3 data.

      • READWRITE – Grant both read and write access to the S3 data.

      " + }, + "ApplicationArn":{ + "shape":"IdentityCenterApplicationArn", + "documentation":"

      The Amazon Resource Name (ARN) of an Amazon Web Services IAM Identity Center application associated with your Identity Center instance. If an application ARN is included in the request to create an access grant, the grantee can only access the S3 data through this application.

      " + }, + "S3PrefixType":{ + "shape":"S3PrefixType", + "documentation":"

      The type of S3SubPrefix. The only possible value is Object. Pass this value if the access grant scope is an object. Do not pass this value if the access grant scope is a bucket or a bucket and a prefix.

      " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

      The Amazon Web Services resource tags that you are adding to the access grant. Each tag is a label consisting of a user-defined key and value. Tags can help you manage, identify, organize, search for, and filter resources.

      " + } + } + }, + "CreateAccessGrantResult":{ + "type":"structure", + "members":{ + "CreatedAt":{ + "shape":"CreationTimestamp", + "documentation":"

      The date and time when you created the access grant.

      " + }, + "AccessGrantId":{ + "shape":"AccessGrantId", + "documentation":"

      The ID of the access grant. S3 Access Grants auto-generates this ID when you create the access grant.

      " + }, + "AccessGrantArn":{ + "shape":"AccessGrantArn", + "documentation":"

      The Amazon Resource Name (ARN) of the access grant.

      " + }, + "Grantee":{ + "shape":"Grantee", + "documentation":"

      The user, group, or role to which you are granting access. You can grant access to an IAM user or role. If you have added your corporate directory to Amazon Web Services IAM Identity Center and associated your Identity Center instance with your S3 Access Grants instance, the grantee can also be a corporate directory user or group.

      " + }, + "AccessGrantsLocationId":{ + "shape":"AccessGrantsLocationId", + "documentation":"

      The ID of the registered location to which you are granting access. S3 Access Grants assigns this ID when you register the location. S3 Access Grants assigns the ID default to the default location s3:// and assigns an auto-generated ID to other locations that you register.

      " + }, + "AccessGrantsLocationConfiguration":{ + "shape":"AccessGrantsLocationConfiguration", + "documentation":"

      The configuration options of the grant location. The grant location is the S3 path to the data to which you are granting access.

      " + }, + "Permission":{ + "shape":"Permission", + "documentation":"

      The type of access that you are granting to your S3 data, which can be set to one of the following values:

      • READ – Grant read-only access to the S3 data.

      • WRITE – Grant write-only access to the S3 data.

      • READWRITE – Grant both read and write access to the S3 data.

      " + }, + "ApplicationArn":{ + "shape":"IdentityCenterApplicationArn", + "documentation":"

      The Amazon Resource Name (ARN) of an Amazon Web Services IAM Identity Center application associated with your Identity Center instance. If the grant includes an application ARN, the grantee can only access the S3 data through this application.

      " + }, + "GrantScope":{ + "shape":"S3Prefix", + "documentation":"

      The S3 path of the data to which you are granting access. It is the result of appending the Subprefix to the location scope.

      " + } + } + }, + "CreateAccessGrantsInstanceRequest":{ + "type":"structure", + "required":["AccountId"], + "members":{ + "AccountId":{ + "shape":"AccountId", + "documentation":"

      The ID of the Amazon Web Services account that is making this request.

      ", + "contextParam":{"name":"AccountId"}, + "hostLabel":true, + "location":"header", + "locationName":"x-amz-account-id" + }, + "IdentityCenterArn":{ + "shape":"IdentityCenterArn", + "documentation":"

      If you would like to associate your S3 Access Grants instance with an Amazon Web Services IAM Identity Center instance, use this field to pass the Amazon Resource Name (ARN) of the Amazon Web Services IAM Identity Center instance that you are associating with your S3 Access Grants instance. An IAM Identity Center instance is your corporate identity directory that you added to the IAM Identity Center. You can use the ListInstances API operation to retrieve a list of your Identity Center instances and their ARNs.

      " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

      The Amazon Web Services resource tags that you are adding to the S3 Access Grants instance. Each tag is a label consisting of a user-defined key and value. Tags can help you manage, identify, organize, search for, and filter resources.

      " + } + } + }, + "CreateAccessGrantsInstanceResult":{ + "type":"structure", + "members":{ + "CreatedAt":{ + "shape":"CreationTimestamp", + "documentation":"

      The date and time when you created the S3 Access Grants instance.

      " + }, + "AccessGrantsInstanceId":{ + "shape":"AccessGrantsInstanceId", + "documentation":"

      The ID of the S3 Access Grants instance. The ID is default. You can have one S3 Access Grants instance per Region per account.

      " + }, + "AccessGrantsInstanceArn":{ + "shape":"AccessGrantsInstanceArn", + "documentation":"

      The Amazon Resource Name (ARN) of the S3 Access Grants instance.

      " + }, + "IdentityCenterArn":{ + "shape":"IdentityCenterArn", + "documentation":"

      If you associated your S3 Access Grants instance with an Amazon Web Services IAM Identity Center instance, this field returns the Amazon Resource Name (ARN) of the IAM Identity Center instance application; a subresource of the original Identity Center instance passed in the request. S3 Access Grants creates this Identity Center application for this specific S3 Access Grants instance.

      " + } + } + }, + "CreateAccessGrantsLocationRequest":{ + "type":"structure", + "required":[ + "AccountId", + "LocationScope", + "IAMRoleArn" + ], + "members":{ + "AccountId":{ + "shape":"AccountId", + "documentation":"

      The ID of the Amazon Web Services account that is making this request.

      ", + "contextParam":{"name":"AccountId"}, + "hostLabel":true, + "location":"header", + "locationName":"x-amz-account-id" + }, + "LocationScope":{ + "shape":"S3Prefix", + "documentation":"

      The S3 path to the location that you are registering. The location scope can be the default S3 location s3://, the S3 path to a bucket s3://<bucket>, or the S3 path to a bucket and prefix s3://<bucket>/<prefix>. A prefix in S3 is a string of characters at the beginning of an object key name used to organize the objects that you store in your S3 buckets. For example, object key names that start with the engineering/ prefix or object key names that start with the marketing/campaigns/ prefix.

      " + }, + "IAMRoleArn":{ + "shape":"IAMRoleArn", + "documentation":"

      The Amazon Resource Name (ARN) of the IAM role for the registered location. S3 Access Grants assumes this role to manage access to the registered location.

      " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

      The Amazon Web Services resource tags that you are adding to the S3 Access Grants location. Each tag is a label consisting of a user-defined key and value. Tags can help you manage, identify, organize, search for, and filter resources.

      " + } + } + }, + "CreateAccessGrantsLocationResult":{ + "type":"structure", + "members":{ + "CreatedAt":{ + "shape":"CreationTimestamp", + "documentation":"

      The date and time when you registered the location.

      " + }, + "AccessGrantsLocationId":{ + "shape":"AccessGrantsLocationId", + "documentation":"

      The ID of the registered location to which you are granting access. S3 Access Grants assigns this ID when you register the location. S3 Access Grants assigns the ID default to the default location s3:// and assigns an auto-generated ID to other locations that you register.

      " + }, + "AccessGrantsLocationArn":{ + "shape":"AccessGrantsLocationArn", + "documentation":"

      The Amazon Resource Name (ARN) of the location you are registering.

      " + }, + "LocationScope":{ + "shape":"S3Prefix", + "documentation":"

      The S3 URI path to the location that you are registering. The location scope can be the default S3 location s3://, the S3 path to a bucket, or the S3 path to a bucket and prefix. A prefix in S3 is a string of characters at the beginning of an object key name used to organize the objects that you store in your S3 buckets. For example, object key names that start with the engineering/ prefix or object key names that start with the marketing/campaigns/ prefix.

      " + }, + "IAMRoleArn":{ + "shape":"IAMRoleArn", + "documentation":"

      The Amazon Resource Name (ARN) of the IAM role for the registered location. S3 Access Grants assumes this role to manage access to the registered location.

      " + } + } + }, "CreateAccessPointForObjectLambdaRequest":{ "type":"structure", "required":[ @@ -2001,9 +2637,106 @@ }, "CreationDate":{"type":"timestamp"}, "CreationTimestamp":{"type":"timestamp"}, + "Credentials":{ + "type":"structure", + "members":{ + "AccessKeyId":{ + "shape":"AccessKeyId", + "documentation":"

      The unique access key ID of the Amazon Web Services STS temporary credential that S3 Access Grants vends to grantees and client applications.

      " + }, + "SecretAccessKey":{ + "shape":"SecretAccessKey", + "documentation":"

      The secret access key of the Amazon Web Services STS temporary credential that S3 Access Grants vends to grantees and client applications.

      " + }, + "SessionToken":{ + "shape":"SessionToken", + "documentation":"

      The Amazon Web Services STS temporary credential that S3 Access Grants vends to grantees and client applications.

      " + }, + "Expiration":{ + "shape":"Expiration", + "documentation":"

      The expiration date and time of the temporary credential that S3 Access Grants vends to grantees and client applications.

      " + } + }, + "documentation":"

      The Amazon Web Services Security Token Service temporary credential that S3 Access Grants vends to grantees and client applications.

      ", + "sensitive":true + }, "Date":{"type":"timestamp"}, "Days":{"type":"integer"}, "DaysAfterInitiation":{"type":"integer"}, + "DeleteAccessGrantRequest":{ + "type":"structure", + "required":[ + "AccountId", + "AccessGrantId" + ], + "members":{ + "AccountId":{ + "shape":"AccountId", + "documentation":"

      The ID of the Amazon Web Services account that is making this request.

      ", + "contextParam":{"name":"AccountId"}, + "hostLabel":true, + "location":"header", + "locationName":"x-amz-account-id" + }, + "AccessGrantId":{ + "shape":"AccessGrantId", + "documentation":"

      The ID of the access grant. S3 Access Grants auto-generates this ID when you create the access grant.

      ", + "location":"uri", + "locationName":"id" + } + } + }, + "DeleteAccessGrantsInstanceRequest":{ + "type":"structure", + "required":["AccountId"], + "members":{ + "AccountId":{ + "shape":"AccountId", + "documentation":"

      The ID of the Amazon Web Services account that is making this request.

      ", + "contextParam":{"name":"AccountId"}, + "hostLabel":true, + "location":"header", + "locationName":"x-amz-account-id" + } + } + }, + "DeleteAccessGrantsInstanceResourcePolicyRequest":{ + "type":"structure", + "required":["AccountId"], + "members":{ + "AccountId":{ + "shape":"AccountId", + "documentation":"

      The ID of the Amazon Web Services account that is making this request.

      ", + "contextParam":{"name":"AccountId"}, + "hostLabel":true, + "location":"header", + "locationName":"x-amz-account-id" + } + } + }, + "DeleteAccessGrantsLocationRequest":{ + "type":"structure", + "required":[ + "AccountId", + "AccessGrantsLocationId" + ], + "members":{ + "AccountId":{ + "shape":"AccountId", + "documentation":"

      The ID of the Amazon Web Services account that is making this request.

      ", + "contextParam":{"name":"AccountId"}, + "hostLabel":true, + "location":"header", + "locationName":"x-amz-account-id" + }, + "AccessGrantsLocationId":{ + "shape":"AccessGrantsLocationId", + "documentation":"

      The ID of the registered location that you are deregistering from your S3 Access Grants instance. S3 Access Grants assigned this ID when you registered the location. S3 Access Grants assigns the ID default to the default location s3:// and assigns an auto-generated ID to other locations that you register.

      ", + "location":"uri", + "locationName":"id" + } + } + }, "DeleteAccessPointForObjectLambdaRequest":{ "type":"structure", "required":[ @@ -2508,6 +3241,26 @@ }, "documentation":"

      The container element for Amazon S3 Storage Lens detailed status code metrics. Detailed status code metrics generate metrics for HTTP status codes, such as 200 OK, 403 Forbidden, 503 Service Unavailable and others.

      For more information about S3 Storage Lens, see Assessing your storage activity and usage with S3 Storage Lens in the Amazon S3 User Guide. For a complete list of S3 Storage Lens metrics, see S3 Storage Lens metrics glossary in the Amazon S3 User Guide.

      " }, + "DissociateAccessGrantsIdentityCenterRequest":{ + "type":"structure", + "required":["AccountId"], + "members":{ + "AccountId":{ + "shape":"AccountId", + "documentation":"

      The ID of the Amazon Web Services account that is making this request.

      ", + "contextParam":{"name":"AccountId"}, + "hostLabel":true, + "location":"header", + "locationName":"x-amz-account-id" + } + } + }, + "DurationSeconds":{ + "type":"integer", + "box":true, + "max":43200, + "min":900 + }, "EncryptionConfiguration":{ "type":"structure", "members":{ @@ -2571,6 +3324,7 @@ "Disabled" ] }, + "Expiration":{"type":"timestamp"}, "ExpirationStatus":{ "type":"string", "enum":[ @@ -2612,6 +3366,220 @@ "type":"string", "enum":["S3InventoryReport_CSV_20211130"] }, + "GetAccessGrantRequest":{ + "type":"structure", + "required":[ + "AccountId", + "AccessGrantId" + ], + "members":{ + "AccountId":{ + "shape":"AccountId", + "documentation":"

      The ID of the Amazon Web Services account that is making this request.

      ", + "contextParam":{"name":"AccountId"}, + "hostLabel":true, + "location":"header", + "locationName":"x-amz-account-id" + }, + "AccessGrantId":{ + "shape":"AccessGrantId", + "documentation":"

      The ID of the access grant. S3 Access Grants auto-generates this ID when you create the access grant.

      ", + "location":"uri", + "locationName":"id" + } + } + }, + "GetAccessGrantResult":{ + "type":"structure", + "members":{ + "CreatedAt":{ + "shape":"CreationTimestamp", + "documentation":"

      The date and time when you created the access grant.

      " + }, + "AccessGrantId":{ + "shape":"AccessGrantId", + "documentation":"

      The ID of the access grant. S3 Access Grants auto-generates this ID when you create the access grant.

      " + }, + "AccessGrantArn":{ + "shape":"AccessGrantArn", + "documentation":"

      The Amazon Resource Name (ARN) of the access grant.

      " + }, + "Grantee":{ + "shape":"Grantee", + "documentation":"

      The user, group, or role to which you are granting access. You can grant access to an IAM user or role. If you have added a corporate directory to Amazon Web Services IAM Identity Center and associated this Identity Center instance with the S3 Access Grants instance, the grantee can also be a corporate directory user or group.

      " + }, + "Permission":{ + "shape":"Permission", + "documentation":"

      The type of permission that was granted in the access grant. Can be one of the following values:

      • READ – Grant read-only access to the S3 data.

      • WRITE – Grant write-only access to the S3 data.

      • READWRITE – Grant both read and write access to the S3 data.

      " + }, + "AccessGrantsLocationId":{ + "shape":"AccessGrantsLocationId", + "documentation":"

      The ID of the registered location to which you are granting access. S3 Access Grants assigns this ID when you register the location. S3 Access Grants assigns the ID default to the default location s3:// and assigns an auto-generated ID to other locations that you register.

      " + }, + "AccessGrantsLocationConfiguration":{ + "shape":"AccessGrantsLocationConfiguration", + "documentation":"

      The configuration options of the grant location. The grant location is the S3 path to the data to which you are granting access.

      " + }, + "GrantScope":{ + "shape":"S3Prefix", + "documentation":"

      The S3 path of the data to which you are granting access. It is the result of appending the Subprefix to the location scope.

      " + }, + "ApplicationArn":{ + "shape":"IdentityCenterApplicationArn", + "documentation":"

      The Amazon Resource Name (ARN) of an Amazon Web Services IAM Identity Center application associated with your Identity Center instance. If the grant includes an application ARN, the grantee can only access the S3 data through this application.

      " + } + } + }, + "GetAccessGrantsInstanceForPrefixRequest":{ + "type":"structure", + "required":[ + "AccountId", + "S3Prefix" + ], + "members":{ + "AccountId":{ + "shape":"AccountId", + "documentation":"

      The ID of the Amazon Web Services account that is making this request.

      ", + "contextParam":{"name":"AccountId"}, + "hostLabel":true, + "location":"header", + "locationName":"x-amz-account-id" + }, + "S3Prefix":{ + "shape":"S3Prefix", + "documentation":"

      The S3 prefix of the access grants that you would like to retrieve.

      ", + "location":"querystring", + "locationName":"s3prefix" + } + } + }, + "GetAccessGrantsInstanceForPrefixResult":{ + "type":"structure", + "members":{ + "AccessGrantsInstanceArn":{ + "shape":"AccessGrantsInstanceArn", + "documentation":"

      The Amazon Resource Name (ARN) of the S3 Access Grants instance.

      " + }, + "AccessGrantsInstanceId":{ + "shape":"AccessGrantsInstanceId", + "documentation":"

      The ID of the S3 Access Grants instance. The ID is default. You can have one S3 Access Grants instance per Region per account.

      " + } + } + }, + "GetAccessGrantsInstanceRequest":{ + "type":"structure", + "required":["AccountId"], + "members":{ + "AccountId":{ + "shape":"AccountId", + "documentation":"

      The ID of the Amazon Web Services account that is making this request.

      ", + "contextParam":{"name":"AccountId"}, + "hostLabel":true, + "location":"header", + "locationName":"x-amz-account-id" + } + } + }, + "GetAccessGrantsInstanceResourcePolicyRequest":{ + "type":"structure", + "required":["AccountId"], + "members":{ + "AccountId":{ + "shape":"AccountId", + "documentation":"

      The ID of the Amazon Web Services account that is making this request.

      ", + "contextParam":{"name":"AccountId"}, + "hostLabel":true, + "location":"header", + "locationName":"x-amz-account-id" + } + } + }, + "GetAccessGrantsInstanceResourcePolicyResult":{ + "type":"structure", + "members":{ + "Policy":{ + "shape":"PolicyDocument", + "documentation":"

      The resource policy of the S3 Access Grants instance.

      " + }, + "Organization":{ + "shape":"Organization", + "documentation":"

      The Organization of the resource policy of the S3 Access Grants instance.

      " + }, + "CreatedAt":{ + "shape":"CreationTimestamp", + "documentation":"

      The date and time when you created the S3 Access Grants instance resource policy.

      " + } + } + }, + "GetAccessGrantsInstanceResult":{ + "type":"structure", + "members":{ + "AccessGrantsInstanceArn":{ + "shape":"AccessGrantsInstanceArn", + "documentation":"

      The Amazon Resource Name (ARN) of the S3 Access Grants instance.

      " + }, + "AccessGrantsInstanceId":{ + "shape":"AccessGrantsInstanceId", + "documentation":"

      The ID of the S3 Access Grants instance. The ID is default. You can have one S3 Access Grants instance per Region per account.

      " + }, + "IdentityCenterArn":{ + "shape":"IdentityCenterArn", + "documentation":"

      If you associated your S3 Access Grants instance with an Amazon Web Services IAM Identity Center instance, this field returns the Amazon Resource Name (ARN) of the Amazon Web Services IAM Identity Center instance application; a subresource of the original Identity Center instance. S3 Access Grants creates this Identity Center application for the specific S3 Access Grants instance.

      " + }, + "CreatedAt":{ + "shape":"CreationTimestamp", + "documentation":"

      The date and time when you created the S3 Access Grants instance.

      " + } + } + }, + "GetAccessGrantsLocationRequest":{ + "type":"structure", + "required":[ + "AccountId", + "AccessGrantsLocationId" + ], + "members":{ + "AccountId":{ + "shape":"AccountId", + "documentation":"

      The ID of the Amazon Web Services account that is making this request.

      ", + "contextParam":{"name":"AccountId"}, + "hostLabel":true, + "location":"header", + "locationName":"x-amz-account-id" + }, + "AccessGrantsLocationId":{ + "shape":"AccessGrantsLocationId", + "documentation":"

      The ID of the registered location that you are retrieving. S3 Access Grants assigns this ID when you register the location. S3 Access Grants assigns the ID default to the default location s3:// and assigns an auto-generated ID to other locations that you register.

      ", + "location":"uri", + "locationName":"id" + } + } + }, + "GetAccessGrantsLocationResult":{ + "type":"structure", + "members":{ + "CreatedAt":{ + "shape":"CreationTimestamp", + "documentation":"

      The date and time when you registered the location.

      " + }, + "AccessGrantsLocationId":{ + "shape":"AccessGrantsLocationId", + "documentation":"

      The ID of the registered location to which you are granting access. S3 Access Grants assigns this ID when you register the location. S3 Access Grants assigns the ID default to the default location s3:// and assigns an auto-generated ID to other locations that you register.

      " + }, + "AccessGrantsLocationArn":{ + "shape":"AccessGrantsLocationArn", + "documentation":"

      The Amazon Resource Name (ARN) of the registered location.

      " + }, + "LocationScope":{ + "shape":"S3Prefix", + "documentation":"

      The S3 URI path to the registered location. The location scope can be the default S3 location s3://, the S3 path to a bucket, or the S3 path to a bucket and prefix. A prefix in S3 is a string of characters at the beginning of an object key name used to organize the objects that you store in your S3 buckets. For example, object key names that start with the engineering/ prefix or object key names that start with the marketing/campaigns/ prefix.

      " + }, + "IAMRoleArn":{ + "shape":"IAMRoleArn", + "documentation":"

      The Amazon Resource Name (ARN) of the IAM role for the registered location. S3 Access Grants assumes this role to manage access to the registered location.

      " + } + } + }, "GetAccessPointConfigurationForObjectLambdaRequest":{ "type":"structure", "required":[ @@ -3070,26 +4038,87 @@ "location":"header", "locationName":"x-amz-account-id" }, - "Bucket":{ - "shape":"BucketName", - "documentation":"

      The S3 on Outposts bucket to return the versioning state for.

      ", - "contextParam":{"name":"Bucket"}, - "location":"uri", - "locationName":"name" + "Bucket":{ + "shape":"BucketName", + "documentation":"

      The S3 on Outposts bucket to return the versioning state for.

      ", + "contextParam":{"name":"Bucket"}, + "location":"uri", + "locationName":"name" + } + } + }, + "GetBucketVersioningResult":{ + "type":"structure", + "members":{ + "Status":{ + "shape":"BucketVersioningStatus", + "documentation":"

      The versioning state of the S3 on Outposts bucket.

      " + }, + "MFADelete":{ + "shape":"MFADeleteStatus", + "documentation":"

      Specifies whether MFA delete is enabled in the bucket versioning configuration. This element is returned only if the bucket has been configured with MFA delete. If MFA delete has never been configured for the bucket, this element is not returned.

      ", + "locationName":"MfaDelete" + } + } + }, + "GetDataAccessRequest":{ + "type":"structure", + "required":[ + "AccountId", + "Target", + "Permission" + ], + "members":{ + "AccountId":{ + "shape":"AccountId", + "documentation":"

      The ID of the Amazon Web Services account that is making this request.

      ", + "contextParam":{"name":"AccountId"}, + "hostLabel":true, + "location":"header", + "locationName":"x-amz-account-id" + }, + "Target":{ + "shape":"S3Prefix", + "documentation":"

      The S3 URI path of the data to which you are requesting temporary access credentials. If the requesting account has an access grant for this data, S3 Access Grants vends temporary access credentials in the response.

      ", + "location":"querystring", + "locationName":"target" + }, + "Permission":{ + "shape":"Permission", + "documentation":"

      The type of permission granted to your S3 data, which can be set to one of the following values:

      • READ – Grant read-only access to the S3 data.

      • WRITE – Grant write-only access to the S3 data.

      • READWRITE – Grant both read and write access to the S3 data.

      ", + "location":"querystring", + "locationName":"permission" + }, + "DurationSeconds":{ + "shape":"DurationSeconds", + "documentation":"

      The session duration, in seconds, of the temporary access credential that S3 Access Grants vends to the grantee or client application. The default value is 1 hour, but the grantee can specify a range from 900 seconds (15 minutes) up to 43200 seconds (12 hours). If the grantee requests a value higher than this maximum, the operation fails.

      ", + "location":"querystring", + "locationName":"durationSeconds" + }, + "Privilege":{ + "shape":"Privilege", + "documentation":"

      The scope of the temporary access credential that S3 Access Grants vends to the grantee or client application.

      • Default – The scope of the returned temporary access token is the scope of the grant that is closest to the target scope.

      • Minimal – The scope of the returned temporary access token is the same as the requested target scope as long as the requested scope is the same as or a subset of the grant scope.

      ", + "location":"querystring", + "locationName":"privilege" + }, + "TargetType":{ + "shape":"S3PrefixType", + "documentation":"

      The type of Target. The only possible value is Object. Pass this value if the target data that you would like to access is a path to an object. Do not pass this value if the target data is a bucket or a bucket and a prefix.

      ", + "location":"querystring", + "locationName":"targetType" } } }, - "GetBucketVersioningResult":{ + "GetDataAccessResult":{ "type":"structure", "members":{ - "Status":{ - "shape":"BucketVersioningStatus", - "documentation":"

      The versioning state of the S3 on Outposts bucket.

      " + "Credentials":{ + "shape":"Credentials", + "documentation":"

      The temporary credential token that S3 Access Grants vends.

      " }, - "MFADelete":{ - "shape":"MFADeleteStatus", - "documentation":"

      Specifies whether MFA delete is enabled in the bucket versioning configuration. This element is returned only if the bucket has been configured with MFA delete. If MFA delete has never been configured for the bucket, this element is not returned.

      ", - "locationName":"MfaDelete" + "MatchedGrantTarget":{ + "shape":"S3Prefix", + "documentation":"

      The S3 URI path of the data to which you are being granted temporary access credentials.

      " } } }, @@ -3381,6 +4410,29 @@ "GrantReadACP":{"type":"string"}, "GrantWrite":{"type":"string"}, "GrantWriteACP":{"type":"string"}, + "Grantee":{ + "type":"structure", + "members":{ + "GranteeType":{ + "shape":"GranteeType", + "documentation":"

      The type of the grantee to which access has been granted. It can be one of the following values:

      • IAM - An IAM user or role.

      • DIRECTORY_USER - Your corporate directory user. You can use this option if you have added your corporate identity directory to IAM Identity Center and associated the IAM Identity Center instance with your S3 Access Grants instance.

      • DIRECTORY_GROUP - Your corporate directory group. You can use this option if you have added your corporate identity directory to IAM Identity Center and associated the IAM Identity Center instance with your S3 Access Grants instance.

      " + }, + "GranteeIdentifier":{ + "shape":"GranteeIdentifier", + "documentation":"

      The unique identifier of the Grantee. If the grantee type is IAM, the identifier is the IAM Amazon Resource Name (ARN) of the user or role. If the grantee type is a directory user or group, the identifier is 128-bit universally unique identifier (UUID) in the format a1b2c3d4-5678-90ab-cdef-EXAMPLE11111. You can obtain this UUID from your Amazon Web Services IAM Identity Center instance.

      " + } + }, + "documentation":"

      The user, group, or role to which you are granting access. You can grant access to an IAM user or role. If you have added your corporate directory to Amazon Web Services IAM Identity Center and associated your Identity Center instance with your S3 Access Grants instance, the grantee can also be a corporate directory user or group.

      " + }, + "GranteeIdentifier":{"type":"string"}, + "GranteeType":{ + "type":"string", + "enum":[ + "DIRECTORY_USER", + "DIRECTORY_GROUP", + "IAM" + ] + }, "IAMRoleArn":{ "type":"string", "max":2048, @@ -3396,6 +4448,18 @@ "documentation":"

      ", "exception":true }, + "IdentityCenterApplicationArn":{ + "type":"string", + "max":1224, + "min":10, + "pattern":"arn:[^:]+:sso:.*$" + }, + "IdentityCenterArn":{ + "type":"string", + "max":1224, + "min":10, + "pattern":"arn:[^:]+:sso::(\\d{12}){0,1}:instance/.*$" + }, "Include":{ "type":"structure", "members":{ @@ -4084,6 +5148,249 @@ "locationName":"Rule" } }, + "ListAccessGrantEntry":{ + "type":"structure", + "members":{ + "CreatedAt":{ + "shape":"CreationTimestamp", + "documentation":"

      The date and time when you created the S3 Access Grants instance.

      " + }, + "AccessGrantId":{ + "shape":"AccessGrantId", + "documentation":"

      The ID of the access grant. S3 Access Grants auto-generates this ID when you create the access grant.

      " + }, + "AccessGrantArn":{ + "shape":"AccessGrantArn", + "documentation":"

      The Amazon Resource Name (ARN) of the access grant.

      " + }, + "Grantee":{ + "shape":"Grantee", + "documentation":"

      The user, group, or role to which you are granting access. You can grant access to an IAM user or role. If you have added your corporate directory to Amazon Web Services IAM Identity Center and associated your Identity Center instance with your S3 Access Grants instance, the grantee can also be a corporate directory user or group.

      " + }, + "Permission":{ + "shape":"Permission", + "documentation":"

      The type of access granted to your S3 data, which can be set to one of the following values:

      • READ – Grant read-only access to the S3 data.

      • WRITE – Grant write-only access to the S3 data.

      • READWRITE – Grant both read and write access to the S3 data.

      " + }, + "AccessGrantsLocationId":{ + "shape":"AccessGrantsLocationId", + "documentation":"

      The ID of the registered location to which you are granting access. S3 Access Grants assigns this ID when you register the location. S3 Access Grants assigns the ID default to the default location s3:// and assigns an auto-generated ID to other locations that you register.

      " + }, + "AccessGrantsLocationConfiguration":{ + "shape":"AccessGrantsLocationConfiguration", + "documentation":"

      The configuration options of the grant location. The grant location is the S3 path to the data to which you are granting access.

      " + }, + "GrantScope":{ + "shape":"S3Prefix", + "documentation":"

      The S3 path of the data to which you are granting access. It is the result of appending the Subprefix to the location scope.

      " + }, + "ApplicationArn":{ + "shape":"IdentityCenterApplicationArn", + "documentation":"

      The Amazon Resource Name (ARN) of an Amazon Web Services IAM Identity Center application associated with your Identity Center instance. If the grant includes an application ARN, the grantee can only access the S3 data through this application.

      " + } + }, + "documentation":"

      Information about the access grant.

      " + }, + "ListAccessGrantsInstanceEntry":{ + "type":"structure", + "members":{ + "AccessGrantsInstanceId":{ + "shape":"AccessGrantsInstanceId", + "documentation":"

      The ID of the S3 Access Grants instance. The ID is default. You can have one S3 Access Grants instance per Region per account.

      " + }, + "AccessGrantsInstanceArn":{ + "shape":"AccessGrantsInstanceArn", + "documentation":"

      The Amazon Resource Name (ARN) of the S3 Access Grants instance.

      " + }, + "CreatedAt":{ + "shape":"CreationTimestamp", + "documentation":"

      The date and time when you created the S3 Access Grants instance.

      " + }, + "IdentityCenterArn":{ + "shape":"IdentityCenterArn", + "documentation":"

      If you associated your S3 Access Grants instance with an Amazon Web Services IAM Identity Center instance, this field returns the Amazon Resource Name (ARN) of the IAM Identity Center instance application; a subresource of the original Identity Center instance. S3 Access Grants creates this Identity Center application for the specific S3 Access Grants instance.

      " + } + }, + "documentation":"

      Information about the S3 Access Grants instance.

      " + }, + "ListAccessGrantsInstancesRequest":{ + "type":"structure", + "required":["AccountId"], + "members":{ + "AccountId":{ + "shape":"AccountId", + "documentation":"

      The ID of the Amazon Web Services account that is making this request.

      ", + "contextParam":{"name":"AccountId"}, + "hostLabel":true, + "location":"header", + "locationName":"x-amz-account-id" + }, + "NextToken":{ + "shape":"ContinuationToken", + "documentation":"

      A pagination token to request the next page of results. Pass this value into a subsequent List Access Grants Instances request in order to retrieve the next page of results.

      ", + "location":"querystring", + "locationName":"nextToken" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

      The maximum number of access grants that you would like returned in the List Access Grants response. If the results include the pagination token NextToken, make another call using the NextToken to determine if there are more results.

      ", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListAccessGrantsInstancesResult":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"ContinuationToken", + "documentation":"

      A pagination token to request the next page of results. Pass this value into a subsequent List Access Grants Instances request in order to retrieve the next page of results.

      " + }, + "AccessGrantsInstancesList":{ + "shape":"AccessGrantsInstancesList", + "documentation":"

      A container for a list of S3 Access Grants instances.

      " + } + } + }, + "ListAccessGrantsLocationsEntry":{ + "type":"structure", + "members":{ + "CreatedAt":{ + "shape":"CreationTimestamp", + "documentation":"

      The date and time when you registered the location.

      " + }, + "AccessGrantsLocationId":{ + "shape":"AccessGrantsLocationId", + "documentation":"

      The ID of the registered location to which you are granting access. S3 Access Grants assigns this ID when you register the location. S3 Access Grants assigns the ID default to the default location s3:// and assigns an auto-generated ID to other locations that you register.

      " + }, + "AccessGrantsLocationArn":{ + "shape":"AccessGrantsLocationArn", + "documentation":"

      The Amazon Resource Name (ARN) of the registered location.

      " + }, + "LocationScope":{ + "shape":"S3Prefix", + "documentation":"

      The S3 path to the location that you are registering. The location scope can be the default S3 location s3://, the S3 path to a bucket s3://<bucket>, or the S3 path to a bucket and prefix s3://<bucket>/<prefix>. A prefix in S3 is a string of characters at the beginning of an object key name used to organize the objects that you store in your S3 buckets. For example, object key names that start with the engineering/ prefix or object key names that start with the marketing/campaigns/ prefix.

      " + }, + "IAMRoleArn":{ + "shape":"IAMRoleArn", + "documentation":"

      The Amazon Resource Name (ARN) of the IAM role for the registered location. S3 Access Grants assumes this role to manage access to the registered location.

      " + } + }, + "documentation":"

      A container for information about the registered location.

      " + }, + "ListAccessGrantsLocationsRequest":{ + "type":"structure", + "required":["AccountId"], + "members":{ + "AccountId":{ + "shape":"AccountId", + "documentation":"

      The ID of the Amazon Web Services account that is making this request.

      ", + "contextParam":{"name":"AccountId"}, + "hostLabel":true, + "location":"header", + "locationName":"x-amz-account-id" + }, + "NextToken":{ + "shape":"ContinuationToken", + "documentation":"

      A pagination token to request the next page of results. Pass this value into a subsequent List Access Grants Locations request in order to retrieve the next page of results.

      ", + "location":"querystring", + "locationName":"nextToken" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

      The maximum number of access grants that you would like returned in the List Access Grants response. If the results include the pagination token NextToken, make another call using the NextToken to determine if there are more results.

      ", + "location":"querystring", + "locationName":"maxResults" + }, + "LocationScope":{ + "shape":"S3Prefix", + "documentation":"

      The S3 path to the location that you are registering. The location scope can be the default S3 location s3://, the S3 path to a bucket s3://<bucket>, or the S3 path to a bucket and prefix s3://<bucket>/<prefix>. A prefix in S3 is a string of characters at the beginning of an object key name used to organize the objects that you store in your S3 buckets. For example, object key names that start with the engineering/ prefix or object key names that start with the marketing/campaigns/ prefix.

      ", + "location":"querystring", + "locationName":"locationscope" + } + } + }, + "ListAccessGrantsLocationsResult":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"ContinuationToken", + "documentation":"

      A pagination token to request the next page of results. Pass this value into a subsequent List Access Grants Locations request in order to retrieve the next page of results.

      " + }, + "AccessGrantsLocationsList":{ + "shape":"AccessGrantsLocationsList", + "documentation":"

      A container for a list of registered locations in an S3 Access Grants instance.

      " + } + } + }, + "ListAccessGrantsRequest":{ + "type":"structure", + "required":["AccountId"], + "members":{ + "AccountId":{ + "shape":"AccountId", + "documentation":"

      The ID of the Amazon Web Services account that is making this request.

      ", + "contextParam":{"name":"AccountId"}, + "hostLabel":true, + "location":"header", + "locationName":"x-amz-account-id" + }, + "NextToken":{ + "shape":"ContinuationToken", + "documentation":"

      A pagination token to request the next page of results. Pass this value into a subsequent List Access Grants request in order to retrieve the next page of results.

      ", + "location":"querystring", + "locationName":"nextToken" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

      The maximum number of access grants that you would like returned in the List Access Grants response. If the results include the pagination token NextToken, make another call using the NextToken to determine if there are more results.

      ", + "location":"querystring", + "locationName":"maxResults" + }, + "GranteeType":{ + "shape":"GranteeType", + "documentation":"

      The type of the grantee to which access has been granted. It can be one of the following values:

      • IAM - An IAM user or role.

      • DIRECTORY_USER - Your corporate directory user. You can use this option if you have added your corporate identity directory to IAM Identity Center and associated the IAM Identity Center instance with your S3 Access Grants instance.

      • DIRECTORY_GROUP - Your corporate directory group. You can use this option if you have added your corporate identity directory to IAM Identity Center and associated the IAM Identity Center instance with your S3 Access Grants instance.

      ", + "location":"querystring", + "locationName":"granteetype" + }, + "GranteeIdentifier":{ + "shape":"GranteeIdentifier", + "documentation":"

      The unique identifer of the Grantee. If the grantee type is IAM, the identifier is the IAM Amazon Resource Name (ARN) of the user or role. If the grantee type is a directory user or group, the identifier is 128-bit universally unique identifier (UUID) in the format a1b2c3d4-5678-90ab-cdef-EXAMPLE11111. You can obtain this UUID from your Amazon Web Services IAM Identity Center instance.

      ", + "location":"querystring", + "locationName":"granteeidentifier" + }, + "Permission":{ + "shape":"Permission", + "documentation":"

      The type of permission granted to your S3 data, which can be set to one of the following values:

      • READ – Grant read-only access to the S3 data.

      • WRITE – Grant write-only access to the S3 data.

      • READWRITE – Grant both read and write access to the S3 data.

      ", + "location":"querystring", + "locationName":"permission" + }, + "GrantScope":{ + "shape":"S3Prefix", + "documentation":"

      The S3 path of the data to which you are granting access. It is the result of appending the Subprefix to the location scope.

      ", + "location":"querystring", + "locationName":"grantscope" + }, + "ApplicationArn":{ + "shape":"IdentityCenterApplicationArn", + "documentation":"

      The Amazon Resource Name (ARN) of an Amazon Web Services IAM Identity Center application associated with your Identity Center instance. If the grant includes an application ARN, the grantee can only access the S3 data through this application.

      ", + "location":"querystring", + "locationName":"application_arn" + } + } + }, + "ListAccessGrantsResult":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"ContinuationToken", + "documentation":"

      A pagination token to request the next page of results. Pass this value into a subsequent List Access Grants request in order to retrieve the next page of results.

      " + }, + "AccessGrantsList":{ + "shape":"AccessGrantsList", + "documentation":"

      A container for a list of grants in an S3 Access Grants instance.

      " + } + } + }, "ListAccessPointsForObjectLambdaRequest":{ "type":"structure", "required":["AccountId"], @@ -4433,7 +5740,7 @@ }, "ResourceArn":{ "shape":"S3ResourceArn", - "documentation":"

      The Amazon Resource Name (ARN) of the S3 resource that you want to list the tags for.

      ", + "documentation":"

      The Amazon Resource Name (ARN) of the S3 resource that you want to list the tags for. The tagged resource can be an S3 Storage Lens group or S3 Access Grants instance, registered location, or grant.

      ", "location":"uri", "locationName":"resourceArn" } @@ -4958,6 +6265,12 @@ "S3ReplicateObject" ] }, + "Organization":{ + "type":"string", + "max":34, + "min":12, + "pattern":"^o-[a-z0-9]{10,32}$" + }, "OutputSchemaVersion":{ "type":"string", "enum":["V_1"] @@ -4966,7 +6279,20 @@ "type":"string", "enum":["Destination"] }, + "Permission":{ + "type":"string", + "enum":[ + "READ", + "WRITE", + "READWRITE" + ] + }, "Policy":{"type":"string"}, + "PolicyDocument":{ + "type":"string", + "max":350000, + "min":1 + }, "PolicyStatus":{ "type":"structure", "members":{ @@ -5002,6 +6328,13 @@ "documentation":"

      A container for the prefix-level storage metrics for S3 Storage Lens.

      " }, "Priority":{"type":"integer"}, + "Privilege":{ + "type":"string", + "enum":[ + "Minimal", + "Default" + ] + }, "ProposedMultiRegionAccessPointPolicy":{ "type":"structure", "members":{ @@ -5039,6 +6372,48 @@ "documentation":"

      The PublicAccessBlock configuration that you want to apply to this Amazon S3 account. You can enable the configuration options in any combination. For more information about when Amazon S3 considers a bucket or object public, see The Meaning of \"Public\" in the Amazon S3 User Guide.

      This data type is not supported for Amazon S3 on Outposts.

      " }, "PublicAccessBlockEnabled":{"type":"boolean"}, + "PutAccessGrantsInstanceResourcePolicyRequest":{ + "type":"structure", + "required":[ + "AccountId", + "Policy" + ], + "members":{ + "AccountId":{ + "shape":"AccountId", + "documentation":"

      The ID of the Amazon Web Services account that is making this request.

      ", + "contextParam":{"name":"AccountId"}, + "hostLabel":true, + "location":"header", + "locationName":"x-amz-account-id" + }, + "Policy":{ + "shape":"PolicyDocument", + "documentation":"

      The resource policy of the S3 Access Grants instance that you are updating.

      " + }, + "Organization":{ + "shape":"Organization", + "documentation":"

      The Organization of the resource policy of the S3 Access Grants instance.

      " + } + } + }, + "PutAccessGrantsInstanceResourcePolicyResult":{ + "type":"structure", + "members":{ + "Policy":{ + "shape":"PolicyDocument", + "documentation":"

      The updated resource policy of the S3 Access Grants instance.

      " + }, + "Organization":{ + "shape":"Organization", + "documentation":"

      The Organization of the resource policy of the S3 Access Grants instance.

      " + }, + "CreatedAt":{ + "shape":"CreationTimestamp", + "documentation":"

      The date and time when you created the S3 Access Grants instance resource policy.

      " + } + } + }, "PutAccessPointConfigurationForObjectLambdaRequest":{ "type":"structure", "required":[ @@ -6244,6 +7619,16 @@ "WRITE_ACP" ] }, + "S3Prefix":{ + "type":"string", + "max":2000, + "min":1, + "pattern":"^.+$" + }, + "S3PrefixType":{ + "type":"string", + "enum":["Object"] + }, "S3RegionalBucketArn":{ "type":"string", "max":128, @@ -6407,6 +7792,10 @@ "documentation":"

      Configuration for the use of SSE-S3 to encrypt generated manifest objects.

      ", "locationName":"SSE-S3" }, + "SecretAccessKey":{ + "type":"string", + "sensitive":true + }, "SelectionCriteria":{ "type":"structure", "members":{ @@ -6425,6 +7814,10 @@ }, "documentation":"

      " }, + "SessionToken":{ + "type":"string", + "sensitive":true + }, "Setting":{"type":"boolean"}, "SourceSelectionCriteria":{ "type":"structure", @@ -6815,14 +8208,14 @@ "members":{ "Key":{ "shape":"TagKeyString", - "documentation":"

      The tag key for your Amazon Web Services resource. A tag key can be up to 128 Unicode characters in length and is case-sensitive. System created tags that begin with aws: aren’t supported.

      " + "documentation":"

      The key of the key-value pair of a tag added to your Amazon Web Services resource. A tag key can be up to 128 Unicode characters in length and is case-sensitive. System created tags that begin with aws: aren’t supported.

      " }, "Value":{ "shape":"TagValueString", - "documentation":"

      The tag value for your Amazon Web Services resource. A tag value can be up to 256 Unicode characters in length and is case-sensitive.

      " + "documentation":"

      The value of the key-value pair of a tag added to your Amazon Web Services resource. A tag value can be up to 256 Unicode characters in length and is case-sensitive.

      " } }, - "documentation":"

      An Amazon Web Services resource tag that's associated with your S3 resource. You can add tags to new objects when you upload them, or you can add object tags to existing objects.

      This data type is only supported for S3 Storage Lens groups.

      " + "documentation":"

      An Amazon Web Services resource tag that's associated with your S3 resource. You can add tags to new objects when you upload them, or you can add object tags to existing objects.

      This operation is only supported for S3 Storage Lens groups and for S3 Access Grants. The tagged resource can be an S3 Storage Lens group or S3 Access Grants instance, registered location, or grant.

      " }, "TagKeyList":{ "type":"list", @@ -6855,7 +8248,7 @@ "members":{ "AccountId":{ "shape":"AccountId", - "documentation":"

      The Amazon Web Services account ID that created the S3 resource that you're trying to add tags to.

      ", + "documentation":"

      The Amazon Web Services account ID that created the S3 resource that you're trying to add tags to or the requester's account ID.

      ", "contextParam":{"name":"AccountId"}, "hostLabel":true, "location":"header", @@ -6863,7 +8256,7 @@ }, "ResourceArn":{ "shape":"S3ResourceArn", - "documentation":"

      The Amazon Resource Name (ARN) of the S3 resource that you're trying to add tags to.

      ", + "documentation":"

      The Amazon Resource Name (ARN) of the S3 resource that you're trying to add tags to. The tagged resource can be an S3 Storage Lens group or S3 Access Grants instance, registered location, or grant.

      ", "location":"uri", "locationName":"resourceArn" }, @@ -6970,13 +8363,13 @@ }, "ResourceArn":{ "shape":"S3ResourceArn", - "documentation":"

      The Amazon Resource Name (ARN) of the S3 resource that you want to remove the resource tags from.

      ", + "documentation":"

      The Amazon Resource Name (ARN) of the S3 resource that you're trying to remove the tags from.

      ", "location":"uri", "locationName":"resourceArn" }, "TagKeys":{ "shape":"TagKeyList", - "documentation":"

      The tag key pair of the S3 resource tag that you're trying to remove.

      ", + "documentation":"

      The array of tag key-value pairs that you're trying to remove from of the S3 resource.

      ", "location":"querystring", "locationName":"tagKeys" } @@ -6987,6 +8380,59 @@ "members":{ } }, + "UpdateAccessGrantsLocationRequest":{ + "type":"structure", + "required":[ + "AccountId", + "AccessGrantsLocationId", + "IAMRoleArn" + ], + "members":{ + "AccountId":{ + "shape":"AccountId", + "documentation":"

      The ID of the Amazon Web Services account that is making this request.

      ", + "contextParam":{"name":"AccountId"}, + "hostLabel":true, + "location":"header", + "locationName":"x-amz-account-id" + }, + "AccessGrantsLocationId":{ + "shape":"AccessGrantsLocationId", + "documentation":"

      The ID of the registered location that you are updating. S3 Access Grants assigns this ID when you register the location. S3 Access Grants assigns the ID default to the default location s3:// and assigns an auto-generated ID to other locations that you register.

      The ID of the registered location to which you are granting access. S3 Access Grants assigned this ID when you registered the location. S3 Access Grants assigns the ID default to the default location s3:// and assigns an auto-generated ID to other locations that you register.

      If you are passing the default location, you cannot create an access grant for the entire default location. You must also specify a bucket or a bucket and prefix in the Subprefix field.

      ", + "location":"uri", + "locationName":"id" + }, + "IAMRoleArn":{ + "shape":"IAMRoleArn", + "documentation":"

      The Amazon Resource Name (ARN) of the IAM role for the registered location. S3 Access Grants assumes this role to manage access to the registered location.

      " + } + } + }, + "UpdateAccessGrantsLocationResult":{ + "type":"structure", + "members":{ + "CreatedAt":{ + "shape":"CreationTimestamp", + "documentation":"

      The date and time when you registered the location.

      " + }, + "AccessGrantsLocationId":{ + "shape":"AccessGrantsLocationId", + "documentation":"

      The ID of the registered location to which you are granting access. S3 Access Grants assigned this ID when you registered the location. S3 Access Grants assigns the ID default to the default location s3:// and assigns an auto-generated ID to other locations that you register.

      " + }, + "AccessGrantsLocationArn":{ + "shape":"AccessGrantsLocationArn", + "documentation":"

      The Amazon Resource Name (ARN) of the registered location that you are updating.

      " + }, + "LocationScope":{ + "shape":"S3Prefix", + "documentation":"

      The S3 URI path of the location that you are updating. You cannot update the scope of the registered location. The location scope can be the default S3 location s3://, the S3 path to a bucket s3://<bucket>, or the S3 path to a bucket and prefix s3://<bucket>/<prefix>.

      " + }, + "IAMRoleArn":{ + "shape":"IAMRoleArn", + "documentation":"

      The Amazon Resource Name (ARN) of the IAM role of the registered location. S3 Access Grants assumes this role to manage access to the registered location.

      " + } + } + }, "UpdateJobPriorityRequest":{ "type":"structure", "required":[ diff --git a/tools/code-generation/api-descriptions/secretsmanager-2017-10-17.normal.json b/tools/code-generation/api-descriptions/secretsmanager-2017-10-17.normal.json index 66cf16777e8..a384fedf7e6 100644 --- a/tools/code-generation/api-descriptions/secretsmanager-2017-10-17.normal.json +++ b/tools/code-generation/api-descriptions/secretsmanager-2017-10-17.normal.json @@ -13,6 +13,24 @@ "uid":"secretsmanager-2017-10-17" }, "operations":{ + "BatchGetSecretValue":{ + "name":"BatchGetSecretValue", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"BatchGetSecretValueRequest"}, + "output":{"shape":"BatchGetSecretValueResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InvalidRequestException"}, + {"shape":"DecryptionFailure"}, + {"shape":"InternalServiceError"}, + {"shape":"InvalidNextTokenException"} + ], + "documentation":"

      Retrieves the contents of the encrypted fields SecretString or SecretBinary for up to 20 secrets. To retrieve a single secret, call GetSecretValue.

      To choose which secrets to retrieve, you can specify a list of secrets by name or ARN, or you can use filters. If Secrets Manager encounters errors such as AccessDeniedException while attempting to retrieve any of the secrets, you can see the errors in Errors in the response.

      Secrets Manager generates CloudTrail GetSecretValue log entries for each secret you request when you call this action. Do not include sensitive information in request parameters because it might be logged. For more information, see Logging Secrets Manager events with CloudTrail.

      Required permissions: secretsmanager:BatchGetSecretValue, and you must have secretsmanager:GetSecretValue for each secret. If you use filters, you must also have secretsmanager:ListSecrets. If the secrets are encrypted using customer-managed keys instead of the Amazon Web Services managed key aws/secretsmanager, then you also need kms:Decrypt permissions for the keys. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.

      " + }, "CancelRotateSecret":{ "name":"CancelRotateSecret", "http":{ @@ -144,7 +162,7 @@ {"shape":"DecryptionFailure"}, {"shape":"InternalServiceError"} ], - "documentation":"

      Retrieves the contents of the encrypted fields SecretString or SecretBinary from the specified version of a secret, whichever contains content.

      We recommend that you cache your secret values by using client-side caching. Caching secrets improves speed and reduces your costs. For more information, see Cache secrets for your applications.

      To retrieve the previous version of a secret, use VersionStage and specify AWSPREVIOUS. To revert to the previous version of a secret, call UpdateSecretVersionStage.

      Secrets Manager generates a CloudTrail log entry when you call this action. Do not include sensitive information in request parameters because it might be logged. For more information, see Logging Secrets Manager events with CloudTrail.

      Required permissions: secretsmanager:GetSecretValue. If the secret is encrypted using a customer-managed key instead of the Amazon Web Services managed key aws/secretsmanager, then you also need kms:Decrypt permissions for that key. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.

      " + "documentation":"

      Retrieves the contents of the encrypted fields SecretString or SecretBinary from the specified version of a secret, whichever contains content.

      To retrieve the values for a group of secrets, call BatchGetSecretValue.

      We recommend that you cache your secret values by using client-side caching. Caching secrets improves speed and reduces your costs. For more information, see Cache secrets for your applications.

      To retrieve the previous version of a secret, use VersionStage and specify AWSPREVIOUS. To revert to the previous version of a secret, call UpdateSecretVersionStage.

      Secrets Manager generates a CloudTrail log entry when you call this action. Do not include sensitive information in request parameters because it might be logged. For more information, see Logging Secrets Manager events with CloudTrail.

      Required permissions: secretsmanager:GetSecretValue. If the secret is encrypted using a customer-managed key instead of the Amazon Web Services managed key aws/secretsmanager, then you also need kms:Decrypt permissions for that key. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.

      " }, "ListSecretVersionIds":{ "name":"ListSecretVersionIds", @@ -176,7 +194,7 @@ {"shape":"InvalidNextTokenException"}, {"shape":"InternalServiceError"} ], - "documentation":"

      Lists the secrets that are stored by Secrets Manager in the Amazon Web Services account, not including secrets that are marked for deletion. To see secrets marked for deletion, use the Secrets Manager console.

      ListSecrets is eventually consistent, however it might not reflect changes from the last five minutes. To get the latest information for a specific secret, use DescribeSecret.

      To list the versions of a secret, use ListSecretVersionIds.

      To get the secret value from SecretString or SecretBinary, call GetSecretValue.

      For information about finding secrets in the console, see Find secrets in Secrets Manager.

      Secrets Manager generates a CloudTrail log entry when you call this action. Do not include sensitive information in request parameters because it might be logged. For more information, see Logging Secrets Manager events with CloudTrail.

      Required permissions: secretsmanager:ListSecrets. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.

      " + "documentation":"

      Lists the secrets that are stored by Secrets Manager in the Amazon Web Services account, not including secrets that are marked for deletion. To see secrets marked for deletion, use the Secrets Manager console.

      ListSecrets is eventually consistent, however it might not reflect changes from the last five minutes. To get the latest information for a specific secret, use DescribeSecret.

      To list the versions of a secret, use ListSecretVersionIds.

      To retrieve the values for the secrets, call BatchGetSecretValue or GetSecretValue.

      For information about finding secrets in the console, see Find secrets in Secrets Manager.

      Secrets Manager generates a CloudTrail log entry when you call this action. Do not include sensitive information in request parameters because it might be logged. For more information, see Logging Secrets Manager events with CloudTrail.

      Required permissions: secretsmanager:ListSecrets. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.

      " }, "PutResourcePolicy":{ "name":"PutResourcePolicy", @@ -384,6 +402,28 @@ } }, "shapes":{ + "APIErrorListType":{ + "type":"list", + "member":{"shape":"APIErrorType"} + }, + "APIErrorType":{ + "type":"structure", + "members":{ + "SecretId":{ + "shape":"SecretIdType", + "documentation":"

      The ARN or name of the secret.

      " + }, + "ErrorCode":{ + "shape":"ErrorCode", + "documentation":"

      The error Secrets Manager encountered while retrieving an individual secret as part of BatchGetSecretValue, for example ResourceNotFoundException,InvalidParameterException, InvalidRequestException, DecryptionFailure, or AccessDeniedException.

      " + }, + "Message":{ + "shape":"ErrorMessage", + "documentation":"

      A message describing the error.

      " + } + }, + "documentation":"

      The error Secrets Manager encountered while retrieving an individual secret as part of BatchGetSecretValue.

      " + }, "AddReplicaRegionListType":{ "type":"list", "member":{"shape":"ReplicaRegionType"}, @@ -394,6 +434,45 @@ "max":1000, "min":1 }, + "BatchGetSecretValueRequest":{ + "type":"structure", + "members":{ + "SecretIdList":{ + "shape":"SecretIdListType", + "documentation":"

      The ARN or names of the secrets to retrieve. You must include Filters or SecretIdList, but not both.

      " + }, + "Filters":{ + "shape":"FiltersListType", + "documentation":"

      The filters to choose which secrets to retrieve. You must include Filters or SecretIdList, but not both.

      " + }, + "MaxResults":{ + "shape":"MaxResultsBatchType", + "documentation":"

      The number of results to include in the response.

      If there are more results available, in the response, Secrets Manager includes NextToken. To get the next results, call BatchGetSecretValue again with the value from NextToken.

      ", + "box":true + }, + "NextToken":{ + "shape":"NextTokenType", + "documentation":"

      A token that indicates where the output should continue from, if a previous call did not show all results. To get the next results, call BatchGetSecretValue again with this value.

      " + } + } + }, + "BatchGetSecretValueResponse":{ + "type":"structure", + "members":{ + "SecretValues":{ + "shape":"SecretValuesType", + "documentation":"

      A list of secret values.

      " + }, + "NextToken":{ + "shape":"NextTokenType", + "documentation":"

      Secrets Manager includes this value if there's more output available than what is included in the current response. This can occur even when the response includes no values at all, such as when you ask for a filtered view of a long list. To get the next results, call BatchGetSecretValue again with this value.

      " + }, + "Errors":{ + "shape":"APIErrorListType", + "documentation":"

      A list of errors Secrets Manager encountered while attempting to retrieve individual secrets.

      " + } + } + }, "BooleanType":{"type":"boolean"}, "CancelRotateSecretRequest":{ "type":"structure", @@ -674,6 +753,7 @@ "documentation":"

      Secrets Manager can't encrypt the protected secret text using the provided KMS key. Check that the KMS key is available, enabled, and not in an invalid state. For more information, see Key state: Effect on your KMS key.

      ", "exception":true }, + "ErrorCode":{"type":"string"}, "ErrorMessage":{"type":"string"}, "ExcludeCharactersType":{ "type":"string", @@ -1005,6 +1085,12 @@ "documentation":"

      The resource policy has syntax errors.

      ", "exception":true }, + "MaxResultsBatchType":{ + "type":"integer", + "box":true, + "max":20, + "min":1 + }, "MaxResultsType":{ "type":"integer", "max":100, @@ -1389,6 +1475,12 @@ "min":1, "sensitive":true }, + "SecretIdListType":{ + "type":"list", + "member":{"shape":"SecretIdType"}, + "max":20, + "min":1 + }, "SecretIdType":{ "type":"string", "max":2048, @@ -1403,7 +1495,7 @@ }, "Name":{ "shape":"SecretNameType", - "documentation":"

      The friendly name of the secret. You can use forward slashes in the name to represent a path hierarchy. For example, /prod/databases/dbserver1 could represent the secret for a server named dbserver1 in the folder databases in the folder prod.

      " + "documentation":"

      The friendly name of the secret.

      " }, "Description":{ "shape":"DescriptionType", @@ -1488,6 +1580,45 @@ "min":1, "sensitive":true }, + "SecretValueEntry":{ + "type":"structure", + "members":{ + "ARN":{ + "shape":"SecretARNType", + "documentation":"

      The Amazon Resource Name (ARN) of the secret.

      " + }, + "Name":{ + "shape":"SecretNameType", + "documentation":"

      The friendly name of the secret.

      " + }, + "VersionId":{ + "shape":"SecretVersionIdType", + "documentation":"

      The unique version identifier of this version of the secret.

      " + }, + "SecretBinary":{ + "shape":"SecretBinaryType", + "documentation":"

      The decrypted secret value, if the secret value was originally provided as binary data in the form of a byte array. The parameter represents the binary data as a base64-encoded string.

      " + }, + "SecretString":{ + "shape":"SecretStringType", + "documentation":"

      The decrypted secret value, if the secret value was originally provided as a string or through the Secrets Manager console.

      " + }, + "VersionStages":{ + "shape":"SecretVersionStagesType", + "documentation":"

      A list of all of the staging labels currently attached to this version of the secret.

      " + }, + "CreatedDate":{ + "shape":"CreatedDateType", + "documentation":"

      The date the secret was created.

      ", + "box":true + } + }, + "documentation":"

      A structure that contains the secret value and other details for a secret.

      " + }, + "SecretValuesType":{ + "type":"list", + "member":{"shape":"SecretValueEntry"} + }, "SecretVersionIdType":{ "type":"string", "max":64, diff --git a/tools/code-generation/api-descriptions/securityhub-2018-10-26.normal.json b/tools/code-generation/api-descriptions/securityhub-2018-10-26.normal.json index 12341d7249d..b6014a832f3 100644 --- a/tools/code-generation/api-descriptions/securityhub-2018-10-26.normal.json +++ b/tools/code-generation/api-descriptions/securityhub-2018-10-26.normal.json @@ -815,6 +815,23 @@ ], "documentation":"

      Returns the details for the Security Hub member accounts for the specified account IDs.

      An administrator account can be either the delegated Security Hub administrator account for an organization or an administrator account that enabled Security Hub manually.

      The results include both member accounts that are managed using Organizations and accounts that were invited manually.

      " }, + "GetSecurityControlDefinition":{ + "name":"GetSecurityControlDefinition", + "http":{ + "method":"GET", + "requestUri":"/securityControl/definition" + }, + "input":{"shape":"GetSecurityControlDefinitionRequest"}, + "output":{"shape":"GetSecurityControlDefinitionResponse"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"InvalidInputException"}, + {"shape":"InvalidAccessException"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

      Retrieves the definition of a security control. The definition includes the control title, description, Region availability, parameter definitions, and other details.

      " + }, "InviteMembers":{ "name":"InviteMembers", "http":{ @@ -1091,6 +1108,24 @@ ], "documentation":"

      Used to update the configuration related to Organizations. Can only be called from a Security Hub administrator account.

      " }, + "UpdateSecurityControl":{ + "name":"UpdateSecurityControl", + "http":{ + "method":"PATCH", + "requestUri":"/securityControl/update" + }, + "input":{"shape":"UpdateSecurityControlRequest"}, + "output":{"shape":"UpdateSecurityControlResponse"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"InvalidInputException"}, + {"shape":"InvalidAccessException"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

      Updates the properties of a security control.

      " + }, "UpdateSecurityHubConfiguration":{ "name":"UpdateSecurityHubConfiguration", "http":{ @@ -1375,6 +1410,10 @@ "max":10, "min":1 }, + "AlphaNumericNonEmptyString":{ + "type":"string", + "pattern":"^[-_ a-zA-Z0-9]+$" + }, "ArnList":{ "type":"list", "member":{"shape":"NonEmptyString"} @@ -3770,7 +3809,7 @@ "documentation":"

      An origin that is not an Amazon S3 bucket, with one exception. If the Amazon S3 bucket is configured with static website hosting, use this attribute. If the Amazon S3 bucket is not configured with static website hosting, use the S3OriginConfig type instead.

      " } }, - "documentation":"

      A complex type that describes the Amazon S3 bucket, HTTP server (for example, a web server), AWS Elemental MediaStore, or other server from which CloudFront gets your files.

      " + "documentation":"

      A complex type that describes the Amazon S3 bucket, HTTP server (for example, a web server), Elemental MediaStore, or other server from which CloudFront gets your files.

      " }, "AwsCloudFrontDistributionOriginItemList":{ "type":"list", @@ -13744,9 +13783,25 @@ "ComplianceAssociatedStandardsId":{ "shape":"StringFilterList", "documentation":"

      The unique identifier of a standard in which a control is enabled. This field consists of the resource portion of the Amazon Resource Name (ARN) returned for a standard in the DescribeStandards API response.

      " + }, + "VulnerabilitiesExploitAvailable":{ + "shape":"StringFilterList", + "documentation":"

      Indicates whether a software vulnerability in your environment has a known exploit. You can filter findings by this field only if you use Security Hub and Amazon Inspector.

      " + }, + "VulnerabilitiesFixAvailable":{ + "shape":"StringFilterList", + "documentation":"

      Indicates whether a vulnerability is fixed in a newer version of the affected software packages. You can filter findings by this field only if you use Security Hub and Amazon Inspector.

      " + }, + "ComplianceSecurityControlParametersName":{ + "shape":"StringFilterList", + "documentation":"

      The name of a security control parameter.

      " + }, + "ComplianceSecurityControlParametersValue":{ + "shape":"StringFilterList", + "documentation":"

      The current value of a security control parameter.

      " } }, - "documentation":"

      A collection of attributes that are applied to all active Security Hub-aggregated findings and that result in a subset of findings that are included in this insight.

      You can filter by up to 10 finding attributes. For each attribute, you can provide up to 20 filter values.

      " + "documentation":"

      A collection of filters that are applied to all active findings aggregated by Security Hub.

      You can filter by up to ten finding attributes. For each attribute, you can provide up to 20 filter values.

      " }, "AwsSecurityFindingIdentifier":{ "type":"structure", @@ -15083,6 +15138,16 @@ } }, "Boolean":{"type":"boolean"}, + "BooleanConfigurationOptions":{ + "type":"structure", + "members":{ + "DefaultValue":{ + "shape":"Boolean", + "documentation":"

      The Security Hub default value for a boolean parameter.

      " + } + }, + "documentation":"

      The options for customizing a security control parameter with a boolean. For a boolean parameter, the options are true and false.

      " + }, "BooleanFilter":{ "type":"structure", "members":{ @@ -15265,6 +15330,10 @@ "AssociatedStandards":{ "shape":"AssociatedStandardsList", "documentation":"

      The enabled security standards in which a security control is currently enabled.

      " + }, + "SecurityControlParameters":{ + "shape":"SecurityControlParametersList", + "documentation":"

      An object that includes security control parameter names and values.

      " } }, "documentation":"

      Contains finding details that are specific to control-based findings. Only returned for findings generated from controls.

      " @@ -15278,6 +15347,45 @@ "NOT_AVAILABLE" ] }, + "ConfigurationOptions":{ + "type":"structure", + "members":{ + "Integer":{ + "shape":"IntegerConfigurationOptions", + "documentation":"

      The options for customizing a security control parameter that is an integer.

      " + }, + "IntegerList":{ + "shape":"IntegerListConfigurationOptions", + "documentation":"

      The options for customizing a security control parameter that is a list of integers.

      " + }, + "Double":{ + "shape":"DoubleConfigurationOptions", + "documentation":"

      The options for customizing a security control parameter that is a double.

      " + }, + "String":{ + "shape":"StringConfigurationOptions", + "documentation":"

      The options for customizing a security control parameter that is a string data type.

      " + }, + "StringList":{ + "shape":"StringListConfigurationOptions", + "documentation":"

      The options for customizing a security control parameter that is a list of strings.

      " + }, + "Boolean":{ + "shape":"BooleanConfigurationOptions", + "documentation":"

      The options for customizing a security control parameter that is a boolean. For a boolean parameter, the options are true and false.

      " + }, + "Enum":{ + "shape":"EnumConfigurationOptions", + "documentation":"

      The options for customizing a security control parameter that is an enum.

      " + }, + "EnumList":{ + "shape":"EnumListConfigurationOptions", + "documentation":"

      The options for customizing a security control parameter that is a list of enums.

      " + } + }, + "documentation":"

      The options for customizing a security control parameter.

      ", + "union":true + }, "ContainerDetails":{ "type":"structure", "members":{ @@ -15556,6 +15664,10 @@ }, "documentation":"

      Contains an instance of sensitive data that was detected by a customer-defined identifier.

      " }, + "CustomizableProperties":{ + "type":"list", + "member":{"shape":"SecurityControlProperty"} + }, "Cvss":{ "type":"structure", "members":{ @@ -16043,6 +16155,24 @@ "documentation":"

      Provided if ActionType is DNS_REQUEST. It provides details about the DNS request that was detected.

      " }, "Double":{"type":"double"}, + "DoubleConfigurationOptions":{ + "type":"structure", + "members":{ + "DefaultValue":{ + "shape":"Double", + "documentation":"

      The Security Hub default value for a control parameter that is a double.

      " + }, + "Min":{ + "shape":"Double", + "documentation":"

      The minimum valid value for a control parameter that is a double.

      " + }, + "Max":{ + "shape":"Double", + "documentation":"

      The maximum valid value for a control parameter that is a double.

      " + } + }, + "documentation":"

      The options for customizing a security control parameter that is a double.

      " + }, "EnableImportFindingsForProductRequest":{ "type":"structure", "required":["ProductArn"], @@ -16099,6 +16229,38 @@ "members":{ } }, + "EnumConfigurationOptions":{ + "type":"structure", + "members":{ + "DefaultValue":{ + "shape":"NonEmptyString", + "documentation":"

      The Security Hub default value for a control parameter that is an enum.

      " + }, + "AllowedValues":{ + "shape":"StringList", + "documentation":"

      The valid values for a control parameter that is an enum.

      " + } + }, + "documentation":"

      The options for customizing a security control parameter that is an enum.

      " + }, + "EnumListConfigurationOptions":{ + "type":"structure", + "members":{ + "DefaultValue":{ + "shape":"StringList", + "documentation":"

      The Security Hub default value for a control parameter that is a list of enums.

      " + }, + "MaxItems":{ + "shape":"Integer", + "documentation":"

      The maximum number of list items that an enum list control parameter can accept.

      " + }, + "AllowedValues":{ + "shape":"StringList", + "documentation":"

      The valid values for a control parameter that is a list of enums.

      " + } + }, + "documentation":"

      The options for customizing a security control parameter that is a list of enums.

      " + }, "FieldMap":{ "type":"map", "key":{"shape":"NonEmptyString"}, @@ -16615,6 +16777,25 @@ } } }, + "GetSecurityControlDefinitionRequest":{ + "type":"structure", + "required":["SecurityControlId"], + "members":{ + "SecurityControlId":{ + "shape":"NonEmptyString", + "documentation":"

      The ID of the security control to retrieve the definition for. This field doesn’t accept an Amazon Resource Name (ARN).

      ", + "location":"querystring", + "locationName":"SecurityControlId" + } + } + }, + "GetSecurityControlDefinitionResponse":{ + "type":"structure", + "required":["SecurityControlDefinition"], + "members":{ + "SecurityControlDefinition":{"shape":"SecurityControlDefinition"} + } + }, "IcmpTypeCode":{ "type":"structure", "members":{ @@ -16734,10 +16915,50 @@ "documentation":"

      The insight results returned by the GetInsightResults operation.

      " }, "Integer":{"type":"integer"}, + "IntegerConfigurationOptions":{ + "type":"structure", + "members":{ + "DefaultValue":{ + "shape":"Integer", + "documentation":"

      The Security Hub default value for a control parameter that is an integer.

      " + }, + "Min":{ + "shape":"Integer", + "documentation":"

      The minimum valid value for a control parameter that is an integer.

      " + }, + "Max":{ + "shape":"Integer", + "documentation":"

      The maximum valid value for a control parameter that is an integer.

      " + } + }, + "documentation":"

      The options for customizing a security control parameter that is an integer.

      " + }, "IntegerList":{ "type":"list", "member":{"shape":"Integer"} }, + "IntegerListConfigurationOptions":{ + "type":"structure", + "members":{ + "DefaultValue":{ + "shape":"IntegerList", + "documentation":"

      The Security Hub default value for a control parameter that is a list of integers.

      " + }, + "Min":{ + "shape":"Integer", + "documentation":"

      The minimum valid value for a control parameter that is a list of integers.

      " + }, + "Max":{ + "shape":"Integer", + "documentation":"

      The maximum valid value for a control parameter that is a list of integers.

      " + }, + "MaxItems":{ + "shape":"Integer", + "documentation":"

      The maximum number of list items that an interger list control parameter can accept.

      " + } + }, + "documentation":"

      The options for customizing a security control parameter that is a list of integers.

      " + }, "IntegrationType":{ "type":"string", "enum":[ @@ -17548,6 +17769,14 @@ "Eq":{ "shape":"Double", "documentation":"

      The equal-to condition to be applied to a single field when querying for findings.

      " + }, + "Gt":{ + "shape":"Double", + "documentation":"

      The greater-than condition to be applied to a single field when querying for findings.

      " + }, + "Lt":{ + "shape":"Double", + "documentation":"

      The less-than condition to be applied to a single field when querying for findings.

      " } }, "documentation":"

      A number filter for querying findings.

      " @@ -17604,6 +17833,95 @@ "type":"list", "member":{"shape":"Page"} }, + "ParameterConfiguration":{ + "type":"structure", + "required":["ValueType"], + "members":{ + "ValueType":{ + "shape":"ParameterValueType", + "documentation":"

      Identifies whether a control parameter uses a custom user-defined value or the Security Hub default value.

      " + }, + "Value":{ + "shape":"ParameterValue", + "documentation":"

      The current value of a control parameter.

      " + } + }, + "documentation":"

      An object that provides the current value of a security control parameter and identifies whether it has been customized.

      " + }, + "ParameterDefinition":{ + "type":"structure", + "required":[ + "Description", + "ConfigurationOptions" + ], + "members":{ + "Description":{ + "shape":"NonEmptyString", + "documentation":"

      Description of a control parameter.

      " + }, + "ConfigurationOptions":{ + "shape":"ConfigurationOptions", + "documentation":"

      The options for customizing a control parameter. Customization options vary based on the data type of the parameter.

      " + } + }, + "documentation":"

      An object that describes a security control parameter and the options for customizing it.

      " + }, + "ParameterDefinitions":{ + "type":"map", + "key":{"shape":"NonEmptyString"}, + "value":{"shape":"ParameterDefinition"} + }, + "ParameterValue":{ + "type":"structure", + "members":{ + "Integer":{ + "shape":"Integer", + "documentation":"

      A control parameter that is an integer.

      " + }, + "IntegerList":{ + "shape":"IntegerList", + "documentation":"

      A control parameter that is a list of integers.

      " + }, + "Double":{ + "shape":"Double", + "documentation":"

      A control parameter that is a double.

      " + }, + "String":{ + "shape":"NonEmptyString", + "documentation":"

      A control parameter that is a string.

      " + }, + "StringList":{ + "shape":"StringList", + "documentation":"

      A control parameter that is a list of strings.

      " + }, + "Boolean":{ + "shape":"Boolean", + "documentation":"

      A control parameter that is a boolean.

      " + }, + "Enum":{ + "shape":"NonEmptyString", + "documentation":"

      A control parameter that is an enum.

      " + }, + "EnumList":{ + "shape":"StringList", + "documentation":"

      A control parameter that is a list of enums.

      " + } + }, + "documentation":"

      An object that includes the data type of a security control parameter and its current value.

      ", + "union":true + }, + "ParameterValueType":{ + "type":"string", + "enum":[ + "DEFAULT", + "CUSTOM" + ] + }, + "Parameters":{ + "type":"map", + "key":{"shape":"NonEmptyString"}, + "value":{"shape":"ParameterConfiguration"} + }, "Partition":{ "type":"string", "enum":[ @@ -18373,6 +18691,16 @@ }, "documentation":"

      Additional details about a resource related to a finding.

      To provide the details, use the object that corresponds to the resource type. For example, if the resource type is AwsEc2Instance, then you use the AwsEc2Instance object to provide the details.

      If the type-specific object does not contain all of the fields you want to populate, then you use the Other object to populate those additional fields.

      You also use the Other object to populate the details when the selected type does not have a corresponding object.

      " }, + "ResourceInUseException":{ + "type":"structure", + "members":{ + "Message":{"shape":"NonEmptyString"}, + "Code":{"shape":"NonEmptyString"} + }, + "documentation":"

      The request was rejected because it conflicts with the resource's availability. For example, you tried to update a security control that's currently in the UPDATING state.

      ", + "error":{"httpStatusCode":400}, + "exception":true + }, "ResourceList":{ "type":"list", "member":{"shape":"Resource"} @@ -18872,6 +19200,18 @@ "SecurityControlStatus":{ "shape":"ControlStatus", "documentation":"

      The enablement status of a security control in a specific standard.

      " + }, + "UpdateStatus":{ + "shape":"UpdateStatus", + "documentation":"

      Identifies whether customizable properties of a security control are reflected in Security Hub findings. A status of READY indicates findings include the current parameter values. A status of UPDATING indicates that all findings may not include the current parameter values.

      " + }, + "Parameters":{ + "shape":"Parameters", + "documentation":"

      An object that identifies the name of a control parameter, its current value, and whether it has been customized.

      " + }, + "LastUpdateReason":{ + "shape":"AlphaNumericNonEmptyString", + "documentation":"

      The most recent reason for updating the customizable properties of a security control. This differs from the UpdateReason field of the BatchUpdateStandardsControlAssociations API, which tracks the reason for updating the enablement status of a control. This field accepts alphanumeric characters in addition to white spaces, dashes, and underscores.

      " } }, "documentation":"

      A security control in Security Hub describes a security best practice related to a specific resource.

      " @@ -18910,6 +19250,14 @@ "CurrentRegionAvailability":{ "shape":"RegionAvailabilityStatus", "documentation":"

      Specifies whether a security control is available in the current Amazon Web Services Region.

      " + }, + "CustomizableProperties":{ + "shape":"CustomizableProperties", + "documentation":"

      Security control properties that you can customize. Currently, only parameter customization is supported for select controls. An empty array is returned for controls that don’t support custom properties.

      " + }, + "ParameterDefinitions":{ + "shape":"ParameterDefinitions", + "documentation":"

      An object that provides a security control parameter name, description, and the options for customizing it. This object is excluded for a control that doesn't support custom parameters.

      " } }, "documentation":"

      Provides metadata for a security control, including its unique standard-agnostic identifier, title, description, severity, availability in Amazon Web Services Regions, and a link to remediation steps.

      " @@ -18918,6 +19266,28 @@ "type":"list", "member":{"shape":"SecurityControlDefinition"} }, + "SecurityControlParameter":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"NonEmptyString", + "documentation":"

      The name of a

      " + }, + "Value":{ + "shape":"TypeList", + "documentation":"

      The current value of a control parameter.

      " + } + }, + "documentation":"

      A parameter that a security control accepts.

      " + }, + "SecurityControlParametersList":{ + "type":"list", + "member":{"shape":"SecurityControlParameter"} + }, + "SecurityControlProperty":{ + "type":"string", + "enum":["Parameters"] + }, "SecurityControls":{ "type":"list", "member":{"shape":"SecurityControl"} @@ -18975,7 +19345,7 @@ "members":{ "Product":{ "shape":"Double", - "documentation":"

      Deprecated. This attribute is being deprecated. Instead of providing Product, provide Original.

      The native severity as defined by the Amazon Web Services service or integrated partner product that generated the finding.

      " + "documentation":"

      Deprecated. This attribute isn't included in findings. Instead of providing Product, provide Original.

      The native severity as defined by the Amazon Web Services service or integrated partner product that generated the finding.

      " }, "Label":{ "shape":"SeverityLabel", @@ -18983,7 +19353,7 @@ }, "Normalized":{ "shape":"Integer", - "documentation":"

      Deprecated. The normalized severity of a finding. This attribute is being deprecated. Instead of providing Normalized, provide Label.

      If you provide Label and do not provide Normalized, then Normalized is set automatically as follows.

      • INFORMATIONAL - 0

      • LOW - 1

      • MEDIUM - 40

      • HIGH - 70

      • CRITICAL - 90

      " + "documentation":"

      Deprecated. The normalized severity of a finding. Instead of providing Normalized, provide Label.

      If you provide Label and do not provide Normalized, then Normalized is set automatically as follows.

      • INFORMATIONAL - 0

      • LOW - 1

      • MEDIUM - 40

      • HIGH - 70

      • CRITICAL - 90

      " }, "Original":{ "shape":"NonEmptyString", @@ -19517,6 +19887,24 @@ "type":"list", "member":{"shape":"StatusReason"} }, + "StringConfigurationOptions":{ + "type":"structure", + "members":{ + "DefaultValue":{ + "shape":"NonEmptyString", + "documentation":"

      The Security Hub default value for a control parameter that is a string.

      " + }, + "Re2Expression":{ + "shape":"NonEmptyString", + "documentation":"

      An RE2 regular expression that Security Hub uses to validate a user-provided control parameter string.

      " + }, + "ExpressionDescription":{ + "shape":"NonEmptyString", + "documentation":"

      The description of the RE2 regular expression.

      " + } + }, + "documentation":"

      The options for customizing a security control parameter that is a string.

      " + }, "StringFilter":{ "type":"structure", "members":{ @@ -19550,6 +19938,28 @@ "type":"list", "member":{"shape":"NonEmptyString"} }, + "StringListConfigurationOptions":{ + "type":"structure", + "members":{ + "DefaultValue":{ + "shape":"StringList", + "documentation":"

      The Security Hub default value for a control parameter that is a list of strings.

      " + }, + "Re2Expression":{ + "shape":"NonEmptyString", + "documentation":"

      An RE2 regular expression that Security Hub uses to validate a user-provided list of strings for a control parameter.

      " + }, + "MaxItems":{ + "shape":"Integer", + "documentation":"

      The maximum number of list items that a string list control parameter can accept.

      " + }, + "ExpressionDescription":{ + "shape":"NonEmptyString", + "documentation":"

      The description of the RE2 regular expression.

      " + } + }, + "documentation":"

      The options for customizing a security control parameter that is a list of strings.

      " + }, "TagKey":{ "type":"string", "max":128, @@ -20010,6 +20420,32 @@ "members":{ } }, + "UpdateSecurityControlRequest":{ + "type":"structure", + "required":[ + "SecurityControlId", + "Parameters" + ], + "members":{ + "SecurityControlId":{ + "shape":"NonEmptyString", + "documentation":"

      The Amazon Resource Name (ARN) or ID of the control to update.

      " + }, + "Parameters":{ + "shape":"Parameters", + "documentation":"

      An object that specifies which security control parameters to update.

      " + }, + "LastUpdateReason":{ + "shape":"AlphaNumericNonEmptyString", + "documentation":"

      The most recent reason for updating the properties of the security control. This field accepts alphanumeric characters in addition to white spaces, dashes, and underscores.

      " + } + } + }, + "UpdateSecurityControlResponse":{ + "type":"structure", + "members":{ + } + }, "UpdateSecurityHubConfigurationRequest":{ "type":"structure", "members":{ @@ -20053,6 +20489,13 @@ "members":{ } }, + "UpdateStatus":{ + "type":"string", + "enum":[ + "READY", + "UPDATING" + ] + }, "VerificationState":{ "type":"string", "enum":[ diff --git a/tools/code-generation/api-descriptions/states-2016-11-23.normal.json b/tools/code-generation/api-descriptions/states-2016-11-23.normal.json index e499522f6c8..d6492d2a695 100644 --- a/tools/code-generation/api-descriptions/states-2016-11-23.normal.json +++ b/tools/code-generation/api-descriptions/states-2016-11-23.normal.json @@ -384,7 +384,7 @@ {"shape":"ExecutionLimitExceeded"}, {"shape":"InvalidArn"} ], - "documentation":"

      Restarts unsuccessful executions of Standard workflows that didn't complete successfully in the last 14 days. These include failed, aborted, or timed out executions. When you redrive an execution, it continues the failed execution from the unsuccessful step and uses the same input. Step Functions preserves the results and execution history of the successful steps, and doesn't rerun these steps when you redrive an execution. Redriven executions use the same state machine definition and execution ARN as the original execution attempt.

      For workflows that include an Inline Map or Parallel state, RedriveExecution API action reschedules and redrives only the iterations and branches that failed or aborted.

      To redrive a workflow that includes a Distributed Map state with failed child workflow executions, you must redrive the parent workflow. The parent workflow redrives all the unsuccessful states, including Distributed Map.

      This API action is not supported by EXPRESS state machines.

      However, you can restart the unsuccessful executions of Express child workflows in a Distributed Map by redriving its Map Run. When you redrive a Map Run, the Express child workflows are rerun using the StartExecution API action. For more information, see Redriving Map Runs.

      You can redrive executions if your original execution meets the following conditions:

      • The execution status isn't SUCCEEDED.

      • Your workflow execution has not exceeded the redrivable period of 14 days. Redrivable period refers to the time during which you can redrive a given execution. This period starts from the day a state machine completes its execution.

      • The workflow execution has not exceeded the maximum open time of one year. For more information about state machine quotas, see Quotas related to state machine executions.

      • The execution event history count is less than 24,999. Redriven executions append their event history to the existing event history. Make sure your workflow execution contains less than 24,999 events to accommodate the ExecutionRedriven history event and at least one other history event.

      ", + "documentation":"

      Restarts unsuccessful executions of Standard workflows that didn't complete successfully in the last 14 days. These include failed, aborted, or timed out executions. When you redrive an execution, it continues the failed execution from the unsuccessful step and uses the same input. Step Functions preserves the results and execution history of the successful steps, and doesn't rerun these steps when you redrive an execution. Redriven executions use the same state machine definition and execution ARN as the original execution attempt.

      For workflows that include an Inline Map or Parallel state, RedriveExecution API action reschedules and redrives only the iterations and branches that failed or aborted.

      To redrive a workflow that includes a Distributed Map state whose Map Run failed, you must redrive the parent workflow. The parent workflow redrives all the unsuccessful states, including a failed Map Run. If a Map Run was not started in the original execution attempt, the redriven parent workflow starts the Map Run.

      This API action is not supported by EXPRESS state machines.

      However, you can restart the unsuccessful executions of Express child workflows in a Distributed Map by redriving its Map Run. When you redrive a Map Run, the Express child workflows are rerun using the StartExecution API action. For more information, see Redriving Map Runs.

      You can redrive executions if your original execution meets the following conditions:

      • The execution status isn't SUCCEEDED.

      • Your workflow execution has not exceeded the redrivable period of 14 days. Redrivable period refers to the time during which you can redrive a given execution. This period starts from the day a state machine completes its execution.

      • The workflow execution has not exceeded the maximum open time of one year. For more information about state machine quotas, see Quotas related to state machine executions.

      • The execution event history count is less than 24,999. Redriven executions append their event history to the existing event history. Make sure your workflow execution contains less than 24,999 events to accommodate the ExecutionRedriven history event and at least one other history event.

      ", "idempotent":true }, "SendTaskFailure":{ @@ -503,6 +503,23 @@ ], "documentation":"

      Add a tag to a Step Functions resource.

      An array of key-value pairs. For more information, see Using Cost Allocation Tags in the Amazon Web Services Billing and Cost Management User Guide, and Controlling Access Using IAM Tags.

      Tags may only contain Unicode letters, digits, white space, or these symbols: _ . : / = + - @.

      " }, + "TestState":{ + "name":"TestState", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TestStateInput"}, + "output":{"shape":"TestStateOutput"}, + "errors":[ + {"shape":"InvalidArn"}, + {"shape":"InvalidDefinition"}, + {"shape":"InvalidExecutionInput"}, + {"shape":"ValidationException"} + ], + "documentation":"

      Accepts the definition of a single state and executes it. You can test a state without creating a state machine or updating an existing state machine. Using this API, you can test the following:

      You can call this API on only one state at a time. The states that you can test include the following:

      The TestState API assumes an IAM role which must contain the required IAM permissions for the resources your state is accessing. For information about the permissions a state might need, see IAM permissions to test a state.

      The TestState API can run for up to five minutes. If the execution of a state exceeds this duration, it fails with the States.Timeout error.

      TestState doesn't support Activity tasks, .sync or .waitForTaskToken service integration patterns, Parallel, or Map states.

      ", + "endpoint":{"hostPrefix":"sync-"} + }, "UntagResource":{ "name":"UntagResource", "http":{ @@ -567,7 +584,8 @@ {"shape":"ValidationException"}, {"shape":"InvalidArn"}, {"shape":"ResourceNotFound"}, - {"shape":"ConflictException"} + {"shape":"ConflictException"}, + {"shape":"StateMachineDeleting"} ], "documentation":"

      Updates the configuration of an existing state machine alias by modifying its description or routingConfiguration.

      You must specify at least one of the description or routingConfiguration parameters to update a state machine alias.

      UpdateStateMachineAlias is an idempotent API. Step Functions bases the idempotency check on the stateMachineAliasArn, description, and routingConfiguration parameters. Requests with the same parameters return an idempotent response.

      This operation is eventually consistent. All StartExecution requests made within a few seconds use the latest alias configuration. Executions started immediately after calling UpdateStateMachineAlias may use the previous routing configuration.

      Related operations:

      " } @@ -1110,7 +1128,7 @@ }, "redriveCount":{ "shape":"RedriveCount", - "documentation":"

      The number of times you've redriven an execution. If you have not yet redriven an execution, the redriveCount is 0. This count is not updated for redrives that failed to start or are pending to be redriven.

      " + "documentation":"

      The number of times you've redriven an execution. If you have not yet redriven an execution, the redriveCount is 0. This count is only updated if you successfully redrive an execution.

      " }, "redriveDate":{ "shape":"Timestamp", @@ -1192,7 +1210,7 @@ }, "redriveCount":{ "shape":"RedriveCount", - "documentation":"

      The number of times you've redriven a Map Run. If you have not yet redriven a Map Run, the redriveCount is 0. This count is not updated for redrives that failed to start or are pending to be redriven.

      " + "documentation":"

      The number of times you've redriven a Map Run. If you have not yet redriven a Map Run, the redriveCount is 0. This count is only updated if you successfully redrive a Map Run.

      " }, "redriveDate":{ "shape":"Timestamp", @@ -1478,7 +1496,7 @@ }, "redriveCount":{ "shape":"RedriveCount", - "documentation":"

      The number of times you've redriven an execution. If you have not yet redriven an execution, the redriveCount is 0. This count is not updated for redrives that failed to start or are pending to be redriven.

      ", + "documentation":"

      The number of times you've redriven an execution. If you have not yet redriven an execution, the redriveCount is 0. This count is only updated when you successfully redrive an execution.

      ", "box":true }, "redriveDate":{ @@ -1653,6 +1671,12 @@ } } }, + "HTTPBody":{"type":"string"}, + "HTTPHeaders":{"type":"string"}, + "HTTPMethod":{"type":"string"}, + "HTTPProtocol":{"type":"string"}, + "HTTPStatusCode":{"type":"string"}, + "HTTPStatusMessage":{"type":"string"}, "HistoryEvent":{ "type":"structure", "required":[ @@ -1866,6 +1890,105 @@ "type":"boolean", "box":true }, + "InspectionData":{ + "type":"structure", + "members":{ + "input":{ + "shape":"SensitiveData", + "documentation":"

      The raw state input.

      " + }, + "afterInputPath":{ + "shape":"SensitiveData", + "documentation":"

      The input after Step Functions applies the InputPath filter.

      " + }, + "afterParameters":{ + "shape":"SensitiveData", + "documentation":"

      The effective input after Step Functions applies the Parameters filter.

      " + }, + "result":{ + "shape":"SensitiveData", + "documentation":"

      The state's raw result.

      " + }, + "afterResultSelector":{ + "shape":"SensitiveData", + "documentation":"

      The effective result after Step Functions applies the ResultSelector filter.

      " + }, + "afterResultPath":{ + "shape":"SensitiveData", + "documentation":"

      The effective result combined with the raw state input after Step Functions applies the ResultPath filter.

      " + }, + "request":{ + "shape":"InspectionDataRequest", + "documentation":"

      The raw HTTP request that is sent when you test an HTTP Task.

      " + }, + "response":{ + "shape":"InspectionDataResponse", + "documentation":"

      The raw HTTP response that is returned when you test an HTTP Task.

      " + } + }, + "documentation":"

      Contains additional details about the state's execution, including its input and output data processing flow, and HTTP request and response information.

      ", + "sensitive":true + }, + "InspectionDataRequest":{ + "type":"structure", + "members":{ + "protocol":{ + "shape":"HTTPProtocol", + "documentation":"

      The protocol used to make the HTTP request.

      " + }, + "method":{ + "shape":"HTTPMethod", + "documentation":"

      The HTTP method used for the HTTP request.

      " + }, + "url":{ + "shape":"URL", + "documentation":"

      The API endpoint used for the HTTP request.

      " + }, + "headers":{ + "shape":"HTTPHeaders", + "documentation":"

      The request headers associated with the HTTP request.

      " + }, + "body":{ + "shape":"HTTPBody", + "documentation":"

      The request body for the HTTP request.

      " + } + }, + "documentation":"

      Contains additional details about the state's execution, including its input and output data processing flow, and HTTP request information.

      " + }, + "InspectionDataResponse":{ + "type":"structure", + "members":{ + "protocol":{ + "shape":"HTTPProtocol", + "documentation":"

      The protocol used to return the HTTP response.

      " + }, + "statusCode":{ + "shape":"HTTPStatusCode", + "documentation":"

      The HTTP response status code for the HTTP response.

      " + }, + "statusMessage":{ + "shape":"HTTPStatusMessage", + "documentation":"

      The message associated with the HTTP status code.

      " + }, + "headers":{ + "shape":"HTTPHeaders", + "documentation":"

      The response headers associated with the HTTP response.

      " + }, + "body":{ + "shape":"HTTPBody", + "documentation":"

      The HTTP response returned.

      " + } + }, + "documentation":"

      Contains additional details about the state's execution, including its input and output data processing flow, and HTTP response information. The inspectionLevel request parameter specifies which details are returned.

      " + }, + "InspectionLevel":{ + "type":"string", + "enum":[ + "INFO", + "DEBUG", + "TRACE" + ] + }, "InvalidArn":{ "type":"structure", "members":{ @@ -2350,7 +2473,7 @@ }, "failuresNotRedrivable":{ "shape":"LongObject", - "documentation":"

      The number of FAILED, ABORTED, or TIMED_OUT child workflow executions that cannot be redriven because their execution status is terminal. For example, if your execution event history contains 25,000 entries, or the toleratedFailureCount or toleratedFailurePercentage for the Distributed Map has exceeded.

      " + "documentation":"

      The number of FAILED, ABORTED, or TIMED_OUT child workflow executions that cannot be redriven because their execution status is terminal. For example, child workflows with an execution status of FAILED, ABORTED, or TIMED_OUT and a redriveStatus of NOT_REDRIVABLE.

      " }, "pendingRedrive":{ "shape":"LongObject", @@ -2420,7 +2543,7 @@ }, "failuresNotRedrivable":{ "shape":"LongObject", - "documentation":"

      The number of FAILED, ABORTED, or TIMED_OUT items in child workflow executions that cannot be redriven because the execution status of those child workflows is terminal. For example, if your execution event history contains 25,000 entries, or the toleratedFailureCount or toleratedFailurePercentage for the Distributed Map has exceeded.

      " + "documentation":"

      The number of FAILED, ABORTED, or TIMED_OUT items in child workflow executions that cannot be redriven because the execution status of those child workflows is terminal. For example, child workflows with an execution status of FAILED, ABORTED, or TIMED_OUT and a redriveStatus of NOT_REDRIVABLE.

      " }, "pendingRedrive":{ "shape":"LongObject", @@ -2586,7 +2709,7 @@ }, "clientToken":{ "shape":"ClientToken", - "documentation":"

      A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don’t specify a client token, the Amazon Web Services SDK automatically generates a client token and uses it for the request to ensure idempotency. The API uses one of the last 10 client tokens provided.

      ", + "documentation":"

      A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don’t specify a client token, the Amazon Web Services SDK automatically generates a client token and uses it for the request to ensure idempotency. The API will return idempotent responses for the last 10 client tokens used to successfully redrive the execution. These client tokens are valid for up to 15 minutes after they are first used.

      ", "idempotencyToken":true } } @@ -2610,6 +2733,7 @@ "documentation":"

      Could not find the referenced resource.

      ", "exception":true }, + "RevealSecrets":{"type":"boolean"}, "ReverseOrder":{"type":"boolean"}, "RevisionId":{"type":"string"}, "RoutingConfigurationList":{ @@ -3016,6 +3140,11 @@ }, "documentation":"

      Contains details about a specific state machine version.

      " }, + "StateName":{ + "type":"string", + "max":80, + "min":1 + }, "StopExecutionInput":{ "type":"structure", "required":["executionArn"], @@ -3353,6 +3482,73 @@ "max":1024, "min":1 }, + "TestExecutionStatus":{ + "type":"string", + "enum":[ + "SUCCEEDED", + "FAILED", + "RETRIABLE", + "CAUGHT_ERROR" + ] + }, + "TestStateInput":{ + "type":"structure", + "required":[ + "definition", + "roleArn" + ], + "members":{ + "definition":{ + "shape":"Definition", + "documentation":"

      The Amazon States Language (ASL) definition of the state.

      " + }, + "roleArn":{ + "shape":"Arn", + "documentation":"

      The Amazon Resource Name (ARN) of the execution role with the required IAM permissions for the state.

      " + }, + "input":{ + "shape":"SensitiveData", + "documentation":"

      A string that contains the JSON input data for the state.

      " + }, + "inspectionLevel":{ + "shape":"InspectionLevel", + "documentation":"

      Determines the values to return when a state is tested. You can specify one of the following types:

      • INFO: Shows the final state output. By default, Step Functions sets inspectionLevel to INFO if you don't specify a level.

      • DEBUG: Shows the final state output along with the input and output data processing result.

      • TRACE: Shows the HTTP request and response for an HTTP Task. This level also shows the final state output along with the input and output data processing result.

      Each of these levels also provide information about the status of the state execution and the next state to transition to.

      " + }, + "revealSecrets":{ + "shape":"RevealSecrets", + "documentation":"

      Specifies whether or not to include secret information in the test result. For HTTP Tasks, a secret includes the data that an EventBridge connection adds to modify the HTTP request headers, query parameters, and body. Step Functions doesn't omit any information included in the state definition or the HTTP response.

      If you set revealSecrets to true, you must make sure that the IAM user that calls the TestState API has permission for the states:RevealSecrets action. For an example of IAM policy that sets the states:RevealSecrets permission, see IAM permissions to test a state. Without this permission, Step Functions throws an access denied error.

      By default, revealSecrets is set to false.

      " + } + } + }, + "TestStateOutput":{ + "type":"structure", + "members":{ + "output":{ + "shape":"SensitiveData", + "documentation":"

      The JSON output data of the state. Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.

      " + }, + "error":{ + "shape":"SensitiveError", + "documentation":"

      The error returned when the execution of a state fails.

      " + }, + "cause":{ + "shape":"SensitiveCause", + "documentation":"

      A detailed explanation of the cause for the error when the execution of a state fails.

      " + }, + "inspectionData":{ + "shape":"InspectionData", + "documentation":"

      Returns additional details about the state's execution, including its input and output data processing flow, and HTTP request and response information. The inspectionLevel request parameter specifies which details are returned.

      " + }, + "nextState":{ + "shape":"StateName", + "documentation":"

      The name of the next state to transition to. If you haven't defined a next state in your definition or if the execution of the state fails, this field doesn't contain a value.

      " + }, + "status":{ + "shape":"TestExecutionStatus", + "documentation":"

      The execution status of the state.

      " + } + } + }, "TimeoutInSeconds":{"type":"long"}, "Timestamp":{"type":"timestamp"}, "ToleratedFailureCount":{ @@ -3389,6 +3585,7 @@ }, "documentation":"

      Selects whether or not the state machine's X-Ray tracing is enabled. Default is false

      " }, + "URL":{"type":"string"}, "UnsignedInteger":{ "type":"integer", "min":0 diff --git a/tools/code-generation/api-descriptions/transcribe-2017-10-26.normal.json b/tools/code-generation/api-descriptions/transcribe-2017-10-26.normal.json index dbebcdf2d4b..a2330f1adc4 100644 --- a/tools/code-generation/api-descriptions/transcribe-2017-10-26.normal.json +++ b/tools/code-generation/api-descriptions/transcribe-2017-10-26.normal.json @@ -772,6 +772,10 @@ "LanguageIdSettings":{ "shape":"LanguageIdSettingsMap", "documentation":"

      If using automatic language identification in your request and you want to apply a custom language model, a custom vocabulary, or a custom vocabulary filter, include LanguageIdSettings with the relevant sub-parameters (VocabularyName, LanguageModelName, and VocabularyFilterName).

      LanguageIdSettings supports two to five language codes. Each language code you include can have an associated custom language model, custom vocabulary, and custom vocabulary filter. The language codes that you specify must match the languages of the associated custom language models, custom vocabularies, and custom vocabulary filters.

      It's recommended that you include LanguageOptions when using LanguageIdSettings to ensure that the correct language dialect is identified. For example, if you specify a custom vocabulary that is in en-US but Amazon Transcribe determines that the language spoken in your media is en-AU, your custom vocabulary is not applied to your transcription. If you include LanguageOptions and include en-US as the only English language dialect, your custom vocabulary is applied to your transcription.

      If you want to include a custom language model, custom vocabulary, or custom vocabulary filter with your request but do not want to use automatic language identification, use instead the parameter with the LanguageModelName, VocabularyName, or VocabularyFilterName sub-parameters.

      For a list of languages supported with Call Analytics, refer to Supported languages and language-specific features.

      " + }, + "Summarization":{ + "shape":"Summarization", + "documentation":"

      Contains GenerateAbstractiveSummary, which is a required parameter if you want to enable Generative call summarization in your Call Analytics request.

      " } }, "documentation":"

      Provides additional optional settings for your request, including content redaction, automatic language identification; allows you to apply custom language models, custom vocabulary filters, and custom vocabularies.

      " @@ -1595,7 +1599,71 @@ "en-ZA", "en-NZ", "vi-VN", - "sv-SE" + "sv-SE", + "ab-GE", + "ast-ES", + "az-AZ", + "ba-RU", + "be-BY", + "bg-BG", + "bn-IN", + "bs-BA", + "ca-ES", + "ckb-IQ", + "ckb-IR", + "cs-CZ", + "cy-WL", + "el-GR", + "et-ET", + "eu-ES", + "fi-FI", + "gl-ES", + "gu-IN", + "ha-NG", + "hr-HR", + "hu-HU", + "hy-AM", + "is-IS", + "ka-GE", + "kab-DZ", + "kk-KZ", + "kn-IN", + "ky-KG", + "lg-IN", + "lt-LT", + "lv-LV", + "mhr-RU", + "mi-NZ", + "mk-MK", + "ml-IN", + "mn-MN", + "mr-IN", + "mt-MT", + "no-NO", + "or-IN", + "pa-IN", + "pl-PL", + "ps-AF", + "ro-RO", + "rw-RW", + "si-LK", + "sk-SK", + "sl-SI", + "so-SO", + "sr-RS", + "su-ID", + "sw-BI", + "sw-KE", + "sw-RW", + "sw-TZ", + "sw-UG", + "tl-PH", + "tt-RU", + "ug-CN", + "uk-UA", + "uz-UZ", + "wo-SN", + "zu-ZA" ] }, "LanguageCodeItem":{ @@ -2771,6 +2839,17 @@ }, "documentation":"

      Provides information about your subtitle file, including format, start index, and Amazon S3 location.

      " }, + "Summarization":{ + "type":"structure", + "required":["GenerateAbstractiveSummary"], + "members":{ + "GenerateAbstractiveSummary":{ + "shape":"Boolean", + "documentation":"

      Enables Generative call summarization in your Call Analytics request

      Generative call summarization provides a summary of the transcript including important components discussed in the conversation.

      For more information, see Enabling generative call summarization.

      " + } + }, + "documentation":"

      Contains GenerateAbstractiveSummary, which is a required parameter if you want to enable Generative call summarization in your Call Analytics request.

      " + }, "Tag":{ "type":"structure", "required":[ diff --git a/tools/code-generation/api-descriptions/workspaces-2015-04-08.normal.json b/tools/code-generation/api-descriptions/workspaces-2015-04-08.normal.json index 9c9163d308c..ff1b226dfee 100644 --- a/tools/code-generation/api-descriptions/workspaces-2015-04-08.normal.json +++ b/tools/code-generation/api-descriptions/workspaces-2015-04-08.normal.json @@ -2143,6 +2143,27 @@ } } }, + "DataReplication":{ + "type":"string", + "enum":[ + "NO_REPLICATION", + "PRIMARY_AS_SOURCE" + ] + }, + "DataReplicationSettings":{ + "type":"structure", + "members":{ + "DataReplication":{ + "shape":"DataReplication", + "documentation":"

      Indicates whether data replication is enabled, and if enabled, the type of data replication.

      " + }, + "RecoverySnapshotTime":{ + "shape":"Timestamp", + "documentation":"

      The date and time at which the last successful snapshot was taken of the primary WorkSpace used for replicating data.

      " + } + }, + "documentation":"

      Describes the data replication settings.

      " + }, "DedicatedTenancyCidrRangeList":{ "type":"list", "member":{"shape":"DedicatedTenancyManagementCidrRange"} @@ -3853,10 +3874,7 @@ }, "ModifyWorkspacePropertiesRequest":{ "type":"structure", - "required":[ - "WorkspaceId", - "WorkspaceProperties" - ], + "required":["WorkspaceId"], "members":{ "WorkspaceId":{ "shape":"WorkspaceId", @@ -3865,6 +3883,10 @@ "WorkspaceProperties":{ "shape":"WorkspaceProperties", "documentation":"

      The properties of the WorkSpace.

      " + }, + "DataReplication":{ + "shape":"DataReplication", + "documentation":"

      Indicates the data replication status.

      " } } }, @@ -4402,6 +4424,10 @@ "Tags":{ "shape":"TagList", "documentation":"

      The tags associated with the standby WorkSpace.

      " + }, + "DataReplication":{ + "shape":"DataReplication", + "documentation":"

      Indicates whether data replication is enabled, and if enabled, the type of data replication.

      " } }, "documentation":"

      Describes a standby WorkSpace.

      " @@ -4417,6 +4443,28 @@ "type":"list", "member":{"shape":"StandbyWorkspace"} }, + "StandbyWorkspacesProperties":{ + "type":"structure", + "members":{ + "StandbyWorkspaceId":{ + "shape":"WorkspaceId", + "documentation":"

      The identifier of the standby WorkSpace

      " + }, + "DataReplication":{ + "shape":"DataReplication", + "documentation":"

      Indicates whether data replication is enabled, and if enabled, the type of data replication.

      " + }, + "RecoverySnapshotTime":{ + "shape":"Timestamp", + "documentation":"

      The date and time at which the last successful snapshot was taken of the primary WorkSpace used for replicating data.

      " + } + }, + "documentation":"

      Describes the properties of the related standby WorkSpaces.

      " + }, + "StandbyWorkspacesPropertiesList":{ + "type":"list", + "member":{"shape":"StandbyWorkspacesProperties"} + }, "StartRequest":{ "type":"structure", "members":{ @@ -4918,6 +4966,14 @@ "RelatedWorkspaces":{ "shape":"RelatedWorkspaces", "documentation":"

      The standby WorkSpace or primary WorkSpace related to the specified WorkSpace.

      " + }, + "DataReplicationSettings":{ + "shape":"DataReplicationSettings", + "documentation":"

      Indicates the settings of the data replication.

      " + }, + "StandbyWorkspacesProperties":{ + "shape":"StandbyWorkspacesPropertiesList", + "documentation":"

      The properties of the standby WorkSpace

      " } }, "documentation":"

      Describes a WorkSpace.

      " diff --git a/tools/code-generation/api-descriptions/workspaces-thin-client-2023-08-22.normal.json b/tools/code-generation/api-descriptions/workspaces-thin-client-2023-08-22.normal.json new file mode 100644 index 00000000000..aa7e0a371c2 --- /dev/null +++ b/tools/code-generation/api-descriptions/workspaces-thin-client-2023-08-22.normal.json @@ -0,0 +1,1636 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2023-08-22", + "endpointPrefix":"thinclient", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceFullName":"Amazon WorkSpaces Thin Client", + "serviceId":"WorkSpaces Thin Client", + "signatureVersion":"v4", + "signingName":"thinclient", + "uid":"workspaces-thin-client-2023-08-22" + }, + "operations":{ + "CreateEnvironment":{ + "name":"CreateEnvironment", + "http":{ + "method":"POST", + "requestUri":"/environments", + "responseCode":201 + }, + "input":{"shape":"CreateEnvironmentRequest"}, + "output":{"shape":"CreateEnvironmentResponse"}, + "errors":[ + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

      Creates an environment for your thin client devices.

      ", + "endpoint":{"hostPrefix":"api."} + }, + "DeleteDevice":{ + "name":"DeleteDevice", + "http":{ + "method":"DELETE", + "requestUri":"/devices/{id}", + "responseCode":204 + }, + "input":{"shape":"DeleteDeviceRequest"}, + "output":{"shape":"DeleteDeviceResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

      Deletes a thin client device.

      ", + "endpoint":{"hostPrefix":"api."}, + "idempotent":true + }, + "DeleteEnvironment":{ + "name":"DeleteEnvironment", + "http":{ + "method":"DELETE", + "requestUri":"/environments/{id}", + "responseCode":204 + }, + "input":{"shape":"DeleteEnvironmentRequest"}, + "output":{"shape":"DeleteEnvironmentResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

      Deletes an environment.

      ", + "endpoint":{"hostPrefix":"api."}, + "idempotent":true + }, + "DeregisterDevice":{ + "name":"DeregisterDevice", + "http":{ + "method":"POST", + "requestUri":"/deregister-device/{id}", + "responseCode":202 + }, + "input":{"shape":"DeregisterDeviceRequest"}, + "output":{"shape":"DeregisterDeviceResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

      Deregisters a thin client device.

      ", + "endpoint":{"hostPrefix":"api."}, + "idempotent":true + }, + "GetDevice":{ + "name":"GetDevice", + "http":{ + "method":"GET", + "requestUri":"/devices/{id}", + "responseCode":200 + }, + "input":{"shape":"GetDeviceRequest"}, + "output":{"shape":"GetDeviceResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

      Returns information for a thin client device.

      ", + "endpoint":{"hostPrefix":"api."} + }, + "GetEnvironment":{ + "name":"GetEnvironment", + "http":{ + "method":"GET", + "requestUri":"/environments/{id}", + "responseCode":200 + }, + "input":{"shape":"GetEnvironmentRequest"}, + "output":{"shape":"GetEnvironmentResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

      Returns information for an environment.

      ", + "endpoint":{"hostPrefix":"api."} + }, + "GetSoftwareSet":{ + "name":"GetSoftwareSet", + "http":{ + "method":"GET", + "requestUri":"/softwaresets/{id}", + "responseCode":200 + }, + "input":{"shape":"GetSoftwareSetRequest"}, + "output":{"shape":"GetSoftwareSetResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

      Returns information for a software set.

      ", + "endpoint":{"hostPrefix":"api."} + }, + "ListDevices":{ + "name":"ListDevices", + "http":{ + "method":"GET", + "requestUri":"/devices", + "responseCode":200 + }, + "input":{"shape":"ListDevicesRequest"}, + "output":{"shape":"ListDevicesResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

      Returns a list of thin client devices.

      ", + "endpoint":{"hostPrefix":"api."} + }, + "ListEnvironments":{ + "name":"ListEnvironments", + "http":{ + "method":"GET", + "requestUri":"/environments", + "responseCode":200 + }, + "input":{"shape":"ListEnvironmentsRequest"}, + "output":{"shape":"ListEnvironmentsResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

      Returns a list of environments.

      ", + "endpoint":{"hostPrefix":"api."} + }, + "ListSoftwareSets":{ + "name":"ListSoftwareSets", + "http":{ + "method":"GET", + "requestUri":"/softwaresets", + "responseCode":200 + }, + "input":{"shape":"ListSoftwareSetsRequest"}, + "output":{"shape":"ListSoftwareSetsResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

      Returns a list of software sets.

      ", + "endpoint":{"hostPrefix":"api."} + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"GET", + "requestUri":"/tags/{resourceArn}", + "responseCode":200 + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

      Returns a list of tags for a resource.

      ", + "endpoint":{"hostPrefix":"api."} + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/tags/{resourceArn}", + "responseCode":200 + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

      Assigns one or more tags (key-value pairs) to the specified resource.

      ", + "endpoint":{"hostPrefix":"api."} + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"DELETE", + "requestUri":"/tags/{resourceArn}", + "responseCode":200 + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

      Removes a tag or tags from a resource.

      ", + "endpoint":{"hostPrefix":"api."}, + "idempotent":true + }, + "UpdateDevice":{ + "name":"UpdateDevice", + "http":{ + "method":"PATCH", + "requestUri":"/devices/{id}", + "responseCode":200 + }, + "input":{"shape":"UpdateDeviceRequest"}, + "output":{"shape":"UpdateDeviceResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

      Updates a thin client device.

      ", + "endpoint":{"hostPrefix":"api."}, + "idempotent":true + }, + "UpdateEnvironment":{ + "name":"UpdateEnvironment", + "http":{ + "method":"PATCH", + "requestUri":"/environments/{id}", + "responseCode":200 + }, + "input":{"shape":"UpdateEnvironmentRequest"}, + "output":{"shape":"UpdateEnvironmentResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

      Updates an environment.

      ", + "endpoint":{"hostPrefix":"api."}, + "idempotent":true + }, + "UpdateSoftwareSet":{ + "name":"UpdateSoftwareSet", + "http":{ + "method":"PATCH", + "requestUri":"/softwaresets/{id}", + "responseCode":204 + }, + "input":{"shape":"UpdateSoftwareSetRequest"}, + "output":{"shape":"UpdateSoftwareSetResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

      Updates a software set.

      ", + "endpoint":{"hostPrefix":"api."}, + "idempotent":true + } + }, + "shapes":{ + "AccessDeniedException":{ + "type":"structure", + "members":{ + "message":{"shape":"ExceptionMessage"} + }, + "documentation":"

      You do not have sufficient access to perform this action.

      ", + "error":{ + "httpStatusCode":403, + "senderFault":true + }, + "exception":true + }, + "ActivationCode":{ + "type":"string", + "pattern":"[a-z]{2}[a-z0-9]{6}" + }, + "ApplyTimeOf":{ + "type":"string", + "enum":[ + "UTC", + "DEVICE" + ] + }, + "Arn":{ + "type":"string", + "max":2048, + "min":20, + "pattern":"arn:[\\w+=\\/,.@-]+:[a-zA-Z0-9\\-]+:[a-zA-Z0-9\\-]*:[0-9]{0,12}:[a-zA-Z0-9\\-\\/\\._]+" + }, + "ClientToken":{ + "type":"string", + "max":512, + "min":1 + }, + "ConflictException":{ + "type":"structure", + "members":{ + "message":{"shape":"ExceptionMessage"}, + "resourceId":{ + "shape":"ResourceId", + "documentation":"

      The ID of the resource associated with the request.

      " + }, + "resourceType":{ + "shape":"ResourceType", + "documentation":"

      The type of the resource associated with the request.

      " + } + }, + "documentation":"

      The requested operation would cause a conflict with the current state of a service resource associated with the request. Resolve the conflict before retrying this request.

      ", + "error":{ + "httpStatusCode":409, + "senderFault":true + }, + "exception":true + }, + "CreateEnvironmentRequest":{ + "type":"structure", + "required":["desktopArn"], + "members":{ + "name":{ + "shape":"EnvironmentName", + "documentation":"

      The name for the environment.

      " + }, + "desktopArn":{ + "shape":"Arn", + "documentation":"

      The Amazon Resource Name (ARN) of the desktop to stream from Amazon WorkSpaces, WorkSpaces Web, or AppStream 2.0.

      " + }, + "desktopEndpoint":{ + "shape":"DesktopEndpoint", + "documentation":"

      The URL for the identity provider login (only for environments that use AppStream 2.0).

      " + }, + "softwareSetUpdateSchedule":{ + "shape":"SoftwareSetUpdateSchedule", + "documentation":"

      An option to define if software updates should be applied within a maintenance window.

      " + }, + "maintenanceWindow":{ + "shape":"MaintenanceWindow", + "documentation":"

      A specification for a time window to apply software updates.

      " + }, + "softwareSetUpdateMode":{ + "shape":"SoftwareSetUpdateMode", + "documentation":"

      An option to define which software updates to apply.

      " + }, + "desiredSoftwareSetId":{ + "shape":"SoftwareSetId", + "documentation":"

      The ID of the software set to apply.

      " + }, + "kmsKeyArn":{ + "shape":"KmsKeyArn", + "documentation":"

      The Amazon Resource Name (ARN) of the Key Management Service key to use to encrypt the environment.

      " + }, + "clientToken":{ + "shape":"ClientToken", + "documentation":"

      Specifies a unique, case-sensitive identifier that you provide to ensure the idempotency of the request. This lets you safely retry the request without accidentally performing the same operation a second time. Passing the same value to a later call to an operation requires that you also pass the same value for all other parameters. We recommend that you use a UUID type of value.

      If you don't provide this value, then Amazon Web Services generates a random one for you.

      If you retry the operation with the same ClientToken, but with different parameters, the retry fails with an IdempotentParameterMismatch error.

      ", + "idempotencyToken":true + }, + "tags":{ + "shape":"TagsMap", + "documentation":"

      A map of the key-value pairs of the tag or tags to assign to the resource.

      " + } + } + }, + "CreateEnvironmentResponse":{ + "type":"structure", + "members":{ + "environment":{ + "shape":"EnvironmentSummary", + "documentation":"

      Describes an environment.

      " + } + } + }, + "DayOfWeek":{ + "type":"string", + "enum":[ + "MONDAY", + "TUESDAY", + "WEDNESDAY", + "THURSDAY", + "FRIDAY", + "SATURDAY", + "SUNDAY" + ] + }, + "DayOfWeekList":{ + "type":"list", + "member":{"shape":"DayOfWeek"}, + "max":7, + "min":1 + }, + "DeleteDeviceRequest":{ + "type":"structure", + "required":["id"], + "members":{ + "id":{ + "shape":"DeviceId", + "documentation":"

      The ID of the device to delete.

      ", + "location":"uri", + "locationName":"id" + }, + "clientToken":{ + "shape":"ClientToken", + "documentation":"

      Specifies a unique, case-sensitive identifier that you provide to ensure the idempotency of the request. This lets you safely retry the request without accidentally performing the same operation a second time. Passing the same value to a later call to an operation requires that you also pass the same value for all other parameters. We recommend that you use a UUID type of value.

      If you don't provide this value, then Amazon Web Services generates a random one for you.

      If you retry the operation with the same ClientToken, but with different parameters, the retry fails with an IdempotentParameterMismatch error.

      ", + "idempotencyToken":true, + "location":"querystring", + "locationName":"clientToken" + } + } + }, + "DeleteDeviceResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteEnvironmentRequest":{ + "type":"structure", + "required":["id"], + "members":{ + "id":{ + "shape":"EnvironmentId", + "documentation":"

      The ID of the environment to delete.

      ", + "location":"uri", + "locationName":"id" + }, + "clientToken":{ + "shape":"ClientToken", + "documentation":"

      Specifies a unique, case-sensitive identifier that you provide to ensure the idempotency of the request. This lets you safely retry the request without accidentally performing the same operation a second time. Passing the same value to a later call to an operation requires that you also pass the same value for all other parameters. We recommend that you use a UUID type of value.

      If you don't provide this value, then Amazon Web Services generates a random one for you.

      If you retry the operation with the same ClientToken, but with different parameters, the retry fails with an IdempotentParameterMismatch error.

      ", + "idempotencyToken":true, + "location":"querystring", + "locationName":"clientToken" + } + } + }, + "DeleteEnvironmentResponse":{ + "type":"structure", + "members":{ + } + }, + "DeregisterDeviceRequest":{ + "type":"structure", + "required":["id"], + "members":{ + "id":{ + "shape":"DeviceId", + "documentation":"

      The ID of the device to deregister.

      ", + "location":"uri", + "locationName":"id" + }, + "targetDeviceStatus":{ + "shape":"TargetDeviceStatus", + "documentation":"

      The desired new status for the device.

      " + }, + "clientToken":{ + "shape":"ClientToken", + "documentation":"

      Specifies a unique, case-sensitive identifier that you provide to ensure the idempotency of the request. This lets you safely retry the request without accidentally performing the same operation a second time. Passing the same value to a later call to an operation requires that you also pass the same value for all other parameters. We recommend that you use a UUID type of value.

      If you don't provide this value, then Amazon Web Services generates a random one for you.

      If you retry the operation with the same ClientToken, but with different parameters, the retry fails with an IdempotentParameterMismatch error.

      ", + "idempotencyToken":true + } + } + }, + "DeregisterDeviceResponse":{ + "type":"structure", + "members":{ + } + }, + "DesktopEndpoint":{ + "type":"string", + "max":1024, + "min":1, + "pattern":"(https:\\/\\/)[a-z0-9]+([\\-\\.]{1}[a-z0-9]+)*\\.[a-z]{2,32}(:[0-9]{1,5})?(\\/.*)?", + "sensitive":true + }, + "DesktopType":{ + "type":"string", + "enum":[ + "workspaces", + "appstream", + "workspaces-web" + ] + }, + "Device":{ + "type":"structure", + "members":{ + "id":{ + "shape":"DeviceId", + "documentation":"

      The ID of the device.

      " + }, + "serialNumber":{ + "shape":"String", + "documentation":"

      The hardware serial number of the device.

      " + }, + "name":{ + "shape":"DeviceName", + "documentation":"

      The name of the device.

      " + }, + "model":{ + "shape":"String", + "documentation":"

      The model number of the device.

      " + }, + "environmentId":{ + "shape":"EnvironmentId", + "documentation":"

      The ID of the environment the device is associated with.

      " + }, + "status":{ + "shape":"DeviceStatus", + "documentation":"

      The status of the device.

      " + }, + "currentSoftwareSetId":{ + "shape":"SoftwareSetId", + "documentation":"

      The ID of the software set currently installed on the device.

      " + }, + "currentSoftwareSetVersion":{ + "shape":"String", + "documentation":"

      The version of the software set currently installed on the device.

      " + }, + "desiredSoftwareSetId":{ + "shape":"SoftwareSetId", + "documentation":"

      The ID of the software set which the device has been set to.

      " + }, + "pendingSoftwareSetId":{ + "shape":"SoftwareSetId", + "documentation":"

      The ID of the software set that is pending to be installed on the device.

      " + }, + "pendingSoftwareSetVersion":{ + "shape":"String", + "documentation":"

      The version of the software set that is pending to be installed on the device.

      " + }, + "softwareSetUpdateSchedule":{ + "shape":"SoftwareSetUpdateSchedule", + "documentation":"

      An option to define if software updates should be applied within a maintenance window.

      " + }, + "softwareSetComplianceStatus":{ + "shape":"DeviceSoftwareSetComplianceStatus", + "documentation":"

      Describes if the software currently installed on the device is a supported version.

      " + }, + "softwareSetUpdateStatus":{ + "shape":"SoftwareSetUpdateStatus", + "documentation":"

      Describes if the device has a supported version of software installed.

      " + }, + "lastConnectedAt":{ + "shape":"Timestamp", + "documentation":"

      The timestamp of the most recent session on the device.

      " + }, + "lastPostureAt":{ + "shape":"Timestamp", + "documentation":"

      The timestamp of the most recent check-in of the device.

      " + }, + "createdAt":{ + "shape":"Timestamp", + "documentation":"

      The timestamp of when the device was created.

      " + }, + "updatedAt":{ + "shape":"Timestamp", + "documentation":"

      The timestamp of when the device was updated.

      " + }, + "arn":{ + "shape":"Arn", + "documentation":"

      The Amazon Resource Name (ARN) of the device.

      " + }, + "kmsKeyArn":{ + "shape":"KmsKeyArn", + "documentation":"

      The Amazon Resource Name (ARN) of the Key Management Service key used to encrypt the device.

      " + }, + "tags":{ + "shape":"EmbeddedTag", + "documentation":"

      The tag keys and optional values for the resource.

      " + } + }, + "documentation":"

      Describes a thin client device.

      " + }, + "DeviceId":{ + "type":"string", + "pattern":"[a-zA-Z0-9]{24}" + }, + "DeviceList":{ + "type":"list", + "member":{"shape":"DeviceSummary"} + }, + "DeviceName":{ + "type":"string", + "pattern":"[0-9\\p{IsAlphabetic}+:,.@'\" -]{1,64}", + "sensitive":true + }, + "DeviceSoftwareSetComplianceStatus":{ + "type":"string", + "enum":[ + "NONE", + "COMPLIANT", + "NOT_COMPLIANT" + ] + }, + "DeviceStatus":{ + "type":"string", + "enum":[ + "REGISTERED", + "DEREGISTERING", + "DEREGISTERED", + "ARCHIVED" + ] + }, + "DeviceSummary":{ + "type":"structure", + "members":{ + "id":{ + "shape":"DeviceId", + "documentation":"

      The ID of the device.

      " + }, + "serialNumber":{ + "shape":"String", + "documentation":"

      The hardware serial number of the device.

      " + }, + "name":{ + "shape":"DeviceName", + "documentation":"

      The name of the device.

      " + }, + "model":{ + "shape":"String", + "documentation":"

      The model number of the device.

      " + }, + "environmentId":{ + "shape":"EnvironmentId", + "documentation":"

      The ID of the environment the device is associated with.

      " + }, + "status":{ + "shape":"DeviceStatus", + "documentation":"

      The status of the device.

      " + }, + "currentSoftwareSetId":{ + "shape":"SoftwareSetId", + "documentation":"

      The ID of the software set currently installed on the device.

      " + }, + "desiredSoftwareSetId":{ + "shape":"SoftwareSetId", + "documentation":"

      The ID of the software set which the device has been set to.

      " + }, + "pendingSoftwareSetId":{ + "shape":"SoftwareSetId", + "documentation":"

      The ID of the software set that is pending to be installed on the device.

      " + }, + "softwareSetUpdateSchedule":{ + "shape":"SoftwareSetUpdateSchedule", + "documentation":"

      An option to define if software updates should be applied within a maintenance window.

      " + }, + "lastConnectedAt":{ + "shape":"Timestamp", + "documentation":"

      The timestamp of the most recent session on the device.

      " + }, + "lastPostureAt":{ + "shape":"Timestamp", + "documentation":"

      The timestamp of the most recent check-in of the device.

      " + }, + "createdAt":{ + "shape":"Timestamp", + "documentation":"

      The timestamp of when the device was created.

      " + }, + "updatedAt":{ + "shape":"Timestamp", + "documentation":"

      The timestamp of when the device was updated.

      " + }, + "arn":{ + "shape":"Arn", + "documentation":"

      The Amazon Resource Name (ARN) of the device.

      " + }, + "tags":{ + "shape":"EmbeddedTag", + "documentation":"

      The tag keys and optional values for the resource.

      " + } + }, + "documentation":"

      Describes a thin client device.

      " + }, + "EmbeddedTag":{ + "type":"structure", + "members":{ + "resourceArn":{ + "shape":"String", + "documentation":"

      The Amazon Resource Name (ARN) of a resource to tag.

      " + }, + "internalId":{ + "shape":"String", + "documentation":"

      The internal ID of a resource to tag.

      " + } + }, + "documentation":"

      The resource and internal ID of a resource to tag.

      ", + "sensitive":true + }, + "Environment":{ + "type":"structure", + "members":{ + "id":{ + "shape":"EnvironmentId", + "documentation":"

      The ID of the environment.

      " + }, + "name":{ + "shape":"EnvironmentName", + "documentation":"

      The name of the environment.

      " + }, + "desktopArn":{ + "shape":"Arn", + "documentation":"

      The Amazon Resource Name (ARN) of the desktop to stream from Amazon WorkSpaces, WorkSpaces Web, or AppStream 2.0.

      " + }, + "desktopEndpoint":{ + "shape":"DesktopEndpoint", + "documentation":"

      The URL for the identity provider login (only for environments that use AppStream 2.0).

      " + }, + "desktopType":{ + "shape":"DesktopType", + "documentation":"

      The type of streaming desktop for the environment.

      " + }, + "activationCode":{ + "shape":"ActivationCode", + "documentation":"

      The activation code to register a device to the environment.

      " + }, + "registeredDevicesCount":{ + "shape":"Integer", + "documentation":"

      The number of devices registered to the environment.

      " + }, + "softwareSetUpdateSchedule":{ + "shape":"SoftwareSetUpdateSchedule", + "documentation":"

      An option to define if software updates should be applied within a maintenance window.

      " + }, + "maintenanceWindow":{ + "shape":"MaintenanceWindow", + "documentation":"

      A specification for a time window to apply software updates.

      " + }, + "softwareSetUpdateMode":{ + "shape":"SoftwareSetUpdateMode", + "documentation":"

      An option to define which software updates to apply.

      " + }, + "desiredSoftwareSetId":{ + "shape":"SoftwareSetId", + "documentation":"

      The ID of the software set to apply.

      " + }, + "pendingSoftwareSetId":{ + "shape":"SoftwareSetId", + "documentation":"

      The ID of the software set that is pending to be installed.

      " + }, + "pendingSoftwareSetVersion":{ + "shape":"String", + "documentation":"

      The version of the software set that is pending to be installed.

      " + }, + "softwareSetComplianceStatus":{ + "shape":"EnvironmentSoftwareSetComplianceStatus", + "documentation":"

      Describes if the software currently installed on all devices in the environment is a supported version.

      " + }, + "createdAt":{ + "shape":"Timestamp", + "documentation":"

      The timestamp of when the environment was created.

      " + }, + "updatedAt":{ + "shape":"Timestamp", + "documentation":"

      The timestamp of when the device was updated.

      " + }, + "arn":{ + "shape":"Arn", + "documentation":"

      The Amazon Resource Name (ARN) of the environment.

      " + }, + "kmsKeyArn":{ + "shape":"KmsKeyArn", + "documentation":"

      The Amazon Resource Name (ARN) of the Key Management Service key used to encrypt the environment.

      " + }, + "tags":{ + "shape":"EmbeddedTag", + "documentation":"

      The tag keys and optional values for the resource.

      " + } + }, + "documentation":"

      Describes an environment.

      " + }, + "EnvironmentId":{ + "type":"string", + "pattern":"[a-z0-9]{9}" + }, + "EnvironmentList":{ + "type":"list", + "member":{"shape":"EnvironmentSummary"} + }, + "EnvironmentName":{ + "type":"string", + "pattern":"[0-9\\p{IsAlphabetic}+:,.@'\" -][0-9\\p{IsAlphabetic}+=:,.@'\" -]{0,63}", + "sensitive":true + }, + "EnvironmentSoftwareSetComplianceStatus":{ + "type":"string", + "enum":[ + "NO_REGISTERED_DEVICES", + "COMPLIANT", + "NOT_COMPLIANT" + ] + }, + "EnvironmentSummary":{ + "type":"structure", + "members":{ + "id":{ + "shape":"EnvironmentId", + "documentation":"

      The ID of the environment.

      " + }, + "name":{ + "shape":"EnvironmentName", + "documentation":"

      The name of the environment.

      " + }, + "desktopArn":{ + "shape":"Arn", + "documentation":"

      The Amazon Resource Name (ARN) of the desktop to stream from Amazon WorkSpaces, WorkSpaces Web, or AppStream 2.0.

      " + }, + "desktopEndpoint":{ + "shape":"DesktopEndpoint", + "documentation":"

      The URL for the identity provider login (only for environments that use AppStream 2.0).

      " + }, + "desktopType":{ + "shape":"DesktopType", + "documentation":"

      The type of streaming desktop for the environment.

      " + }, + "activationCode":{ + "shape":"ActivationCode", + "documentation":"

      The activation code to register a device to the environment.

      " + }, + "softwareSetUpdateSchedule":{ + "shape":"SoftwareSetUpdateSchedule", + "documentation":"

      An option to define if software updates should be applied within a maintenance window.

      " + }, + "maintenanceWindow":{ + "shape":"MaintenanceWindow", + "documentation":"

      A specification for a time window to apply software updates.

      " + }, + "softwareSetUpdateMode":{ + "shape":"SoftwareSetUpdateMode", + "documentation":"

      An option to define which software updates to apply.

      " + }, + "desiredSoftwareSetId":{ + "shape":"SoftwareSetId", + "documentation":"

      The ID of the software set to apply.

      " + }, + "pendingSoftwareSetId":{ + "shape":"SoftwareSetId", + "documentation":"

      The ID of the software set that is pending to be installed.

      " + }, + "createdAt":{ + "shape":"Timestamp", + "documentation":"

      The timestamp of when the environment was created.

      " + }, + "updatedAt":{ + "shape":"Timestamp", + "documentation":"

      The timestamp of when the device was updated.

      " + }, + "arn":{ + "shape":"Arn", + "documentation":"

      The Amazon Resource Name (ARN) of the environment.

      " + }, + "tags":{ + "shape":"EmbeddedTag", + "documentation":"

      The tag keys and optional values for the resource.

      " + } + }, + "documentation":"

      Describes an environment.

      " + }, + "ExceptionMessage":{"type":"string"}, + "FieldName":{"type":"string"}, + "GetDeviceRequest":{ + "type":"structure", + "required":["id"], + "members":{ + "id":{ + "shape":"DeviceId", + "documentation":"

      The ID of the device for which to return information.

      ", + "location":"uri", + "locationName":"id" + } + } + }, + "GetDeviceResponse":{ + "type":"structure", + "members":{ + "device":{ + "shape":"Device", + "documentation":"

      Describes an device.

      " + } + } + }, + "GetEnvironmentRequest":{ + "type":"structure", + "required":["id"], + "members":{ + "id":{ + "shape":"EnvironmentId", + "documentation":"

      The ID of the environment for which to return information.

      ", + "location":"uri", + "locationName":"id" + } + } + }, + "GetEnvironmentResponse":{ + "type":"structure", + "members":{ + "environment":{ + "shape":"Environment", + "documentation":"

      Describes an environment.

      " + } + } + }, + "GetSoftwareSetRequest":{ + "type":"structure", + "required":["id"], + "members":{ + "id":{ + "shape":"SoftwareSetId", + "documentation":"

      The ID of the software set for which to return information.

      ", + "location":"uri", + "locationName":"id" + } + } + }, + "GetSoftwareSetResponse":{ + "type":"structure", + "members":{ + "softwareSet":{ + "shape":"SoftwareSet", + "documentation":"

      Describes a software set.

      " + } + } + }, + "Hour":{ + "type":"integer", + "box":true, + "max":23, + "min":0 + }, + "Integer":{ + "type":"integer", + "box":true + }, + "InternalServerException":{ + "type":"structure", + "members":{ + "message":{"shape":"ExceptionMessage"}, + "retryAfterSeconds":{ + "shape":"RetryAfterSeconds", + "documentation":"

      The number of seconds to wait before retrying the next request.

      ", + "location":"header", + "locationName":"Retry-After" + } + }, + "documentation":"

      The server encountered an internal error and is unable to complete the request.

      ", + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true + }, + "InternalServiceException":{ + "type":"structure", + "members":{ + "message":{"shape":"ExceptionMessage"}, + "retryAfterSeconds":{ + "shape":"RetryAfterSeconds", + "documentation":"

      The number of seconds to wait before retrying the next request.

      ", + "location":"header", + "locationName":"Retry-After" + } + }, + "documentation":"

      Request processing failed due to some unknown error, exception, or failure.

      ", + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true + }, + "KmsKeyArn":{ + "type":"string", + "max":2048, + "min":20, + "pattern":"arn:[\\w+=\\/,.@-]+:kms:[a-zA-Z0-9\\-]*:[0-9]{0,12}:key\\/[a-zA-Z0-9-]+" + }, + "ListDevicesRequest":{ + "type":"structure", + "members":{ + "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. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

      ", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

      The maximum number of results that are returned per call. You can use nextToken to obtain further pages of results.

      This is only an upper limit. The actual number of results returned per call might be fewer than the specified maximum.

      ", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListDevicesResponse":{ + "type":"structure", + "members":{ + "devices":{ + "shape":"DeviceList", + "documentation":"

      Describes devices.

      " + }, + "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. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

      " + } + } + }, + "ListEnvironmentsRequest":{ + "type":"structure", + "members":{ + "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. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

      ", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

      The maximum number of results that are returned per call. You can use nextToken to obtain further pages of results.

      This is only an upper limit. The actual number of results returned per call might be fewer than the specified maximum.

      ", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListEnvironmentsResponse":{ + "type":"structure", + "members":{ + "environments":{ + "shape":"EnvironmentList", + "documentation":"

      Describes environments.

      " + }, + "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. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

      " + } + } + }, + "ListSoftwareSetsRequest":{ + "type":"structure", + "members":{ + "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. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

      ", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

      The maximum number of results that are returned per call. You can use nextToken to obtain further pages of results.

      This is only an upper limit. The actual number of results returned per call might be fewer than the specified maximum.

      ", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListSoftwareSetsResponse":{ + "type":"structure", + "members":{ + "softwareSets":{ + "shape":"SoftwareSetList", + "documentation":"

      Describes software sets.

      " + }, + "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. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

      " + } + } + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["resourceArn"], + "members":{ + "resourceArn":{ + "shape":"String", + "documentation":"

      The Amazon Resource Name (ARN) of the resource for which you want to retrieve tags.

      ", + "location":"uri", + "locationName":"resourceArn" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "tags":{ + "shape":"TagsMap", + "documentation":"

      A map of the key-value pairs for the tag or tags assigned to the specified resource.

      " + } + } + }, + "MaintenanceWindow":{ + "type":"structure", + "members":{ + "type":{ + "shape":"MaintenanceWindowType", + "documentation":"

      An option to select the default or custom maintenance window.

      " + }, + "startTimeHour":{ + "shape":"Hour", + "documentation":"

      The hour for the maintenance window start (00-23).

      " + }, + "startTimeMinute":{ + "shape":"Minute", + "documentation":"

      The minutes past the hour for the maintenance window start (00-59).

      " + }, + "endTimeHour":{ + "shape":"Hour", + "documentation":"

      The hour for the maintenance window end (00-23).

      " + }, + "endTimeMinute":{ + "shape":"Minute", + "documentation":"

      The minutes for the maintenance window end (00-59).

      " + }, + "daysOfTheWeek":{ + "shape":"DayOfWeekList", + "documentation":"

      The days of the week during which the maintenance window is open.

      " + }, + "applyTimeOf":{ + "shape":"ApplyTimeOf", + "documentation":"

      The option to set the maintenance window during the device local time or Universal Coordinated Time (UTC).

      " + } + }, + "documentation":"

      Describes the maintenance window for a thin client device.

      " + }, + "MaintenanceWindowType":{ + "type":"string", + "enum":[ + "SYSTEM", + "CUSTOM" + ] + }, + "MaxResults":{ + "type":"integer", + "box":true, + "max":50, + "min":1 + }, + "Minute":{ + "type":"integer", + "box":true, + "max":59, + "min":0 + }, + "PaginationToken":{ + "type":"string", + "max":2048, + "min":0, + "pattern":"\\S*" + }, + "QuotaCode":{"type":"string"}, + "ResourceId":{"type":"string"}, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"ExceptionMessage"}, + "resourceId":{ + "shape":"ResourceId", + "documentation":"

      The ID of the resource associated with the request.

      " + }, + "resourceType":{ + "shape":"ResourceType", + "documentation":"

      The type of the resource associated with the request.

      " + } + }, + "documentation":"

      The resource specified in the request was not found.

      ", + "error":{ + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "ResourceType":{"type":"string"}, + "RetryAfterSeconds":{ + "type":"integer", + "box":true + }, + "ServiceCode":{"type":"string"}, + "ServiceQuotaExceededException":{ + "type":"structure", + "members":{ + "message":{"shape":"ExceptionMessage"}, + "resourceId":{ + "shape":"ResourceId", + "documentation":"

      The ID of the resource that exceeds the service quota.

      " + }, + "resourceType":{ + "shape":"ResourceType", + "documentation":"

      The type of the resource that exceeds the service quota.

      " + }, + "serviceCode":{ + "shape":"ServiceCode", + "documentation":"

      The code for the service in Service Quotas.

      " + }, + "quotaCode":{ + "shape":"QuotaCode", + "documentation":"

      The code for the quota in Service Quotas.

      " + } + }, + "documentation":"

      Your request exceeds a service quota.

      ", + "error":{ + "httpStatusCode":402, + "senderFault":true + }, + "exception":true + }, + "Software":{ + "type":"structure", + "members":{ + "name":{ + "shape":"String", + "documentation":"

      The name of the software component.

      " + }, + "version":{ + "shape":"String", + "documentation":"

      The version of the software component.

      " + } + }, + "documentation":"

      Describes software.

      " + }, + "SoftwareList":{ + "type":"list", + "member":{"shape":"Software"} + }, + "SoftwareSet":{ + "type":"structure", + "members":{ + "id":{ + "shape":"SoftwareSetId", + "documentation":"

      The ID of the software set.

      " + }, + "version":{ + "shape":"String", + "documentation":"

      The version of the software set.

      " + }, + "releasedAt":{ + "shape":"Timestamp", + "documentation":"

      The timestamp of when the software set was released.

      " + }, + "supportedUntil":{ + "shape":"Timestamp", + "documentation":"

      The timestamp of the end of support for the software set.

      " + }, + "validationStatus":{ + "shape":"SoftwareSetValidationStatus", + "documentation":"

      An option to define if the software set has been validated.

      " + }, + "software":{ + "shape":"SoftwareList", + "documentation":"

      A list of the software components in the software set.

      " + }, + "arn":{ + "shape":"Arn", + "documentation":"

      The Amazon Resource Name (ARN) of the software set.

      " + } + }, + "documentation":"

      Describes a software set.

      " + }, + "SoftwareSetId":{ + "type":"string", + "pattern":"[0-9]{1,9}" + }, + "SoftwareSetIdOrEmptyString":{ + "type":"string", + "pattern":"[0-9]{0,9}" + }, + "SoftwareSetList":{ + "type":"list", + "member":{"shape":"SoftwareSetSummary"} + }, + "SoftwareSetSummary":{ + "type":"structure", + "members":{ + "id":{ + "shape":"SoftwareSetId", + "documentation":"

      The ID of the software set.

      " + }, + "version":{ + "shape":"String", + "documentation":"

      The version of the software set.

      " + }, + "releasedAt":{ + "shape":"Timestamp", + "documentation":"

      The timestamp of when the software set was released.

      " + }, + "supportedUntil":{ + "shape":"Timestamp", + "documentation":"

      The timestamp of the end of support for the software set.

      " + }, + "validationStatus":{ + "shape":"SoftwareSetValidationStatus", + "documentation":"

      An option to define if the software set has been validated.

      " + }, + "arn":{ + "shape":"Arn", + "documentation":"

      The Amazon Resource Name (ARN) of the software set.

      " + } + }, + "documentation":"

      Describes a software set.

      " + }, + "SoftwareSetUpdateMode":{ + "type":"string", + "enum":[ + "USE_LATEST", + "USE_DESIRED" + ] + }, + "SoftwareSetUpdateSchedule":{ + "type":"string", + "enum":[ + "USE_MAINTENANCE_WINDOW", + "APPLY_IMMEDIATELY" + ] + }, + "SoftwareSetUpdateStatus":{ + "type":"string", + "enum":[ + "AVAILABLE", + "IN_PROGRESS", + "UP_TO_DATE" + ] + }, + "SoftwareSetValidationStatus":{ + "type":"string", + "enum":[ + "VALIDATED", + "NOT_VALIDATED" + ] + }, + "String":{"type":"string"}, + "TagKeys":{ + "type":"list", + "member":{"shape":"String"}, + "sensitive":true + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tags" + ], + "members":{ + "resourceArn":{ + "shape":"String", + "documentation":"

      The Amazon Resource Name (ARN) of the resource that you want to tag.

      ", + "location":"uri", + "locationName":"resourceArn" + }, + "tags":{ + "shape":"TagsMap", + "documentation":"

      A map of the key-value pairs of the tag or tags to assign to the resource.

      " + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagsMap":{ + "type":"map", + "key":{"shape":"String"}, + "value":{"shape":"String"}, + "sensitive":true + }, + "TargetDeviceStatus":{ + "type":"string", + "enum":[ + "DEREGISTERED", + "ARCHIVED" + ] + }, + "ThrottlingException":{ + "type":"structure", + "members":{ + "message":{"shape":"ExceptionMessage"}, + "serviceCode":{ + "shape":"ServiceCode", + "documentation":"

      The code for the service in Service Quotas.

      " + }, + "quotaCode":{ + "shape":"QuotaCode", + "documentation":"

      The code for the quota in Service Quotas.

      " + }, + "retryAfterSeconds":{ + "shape":"RetryAfterSeconds", + "documentation":"

      The number of seconds to wait before retrying the next request.

      ", + "location":"header", + "locationName":"Retry-After" + } + }, + "documentation":"

      The request was denied due to request throttling.

      ", + "error":{ + "httpStatusCode":429, + "senderFault":true + }, + "exception":true + }, + "Timestamp":{"type":"timestamp"}, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tagKeys" + ], + "members":{ + "resourceArn":{ + "shape":"String", + "documentation":"

      The Amazon Resource Name (ARN) of the resource that you want to untag.

      ", + "location":"uri", + "locationName":"resourceArn" + }, + "tagKeys":{ + "shape":"TagKeys", + "documentation":"

      The keys of the key-value pairs for the tag or tags you want to remove from the specified resource.

      ", + "location":"querystring", + "locationName":"tagKeys" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateDeviceRequest":{ + "type":"structure", + "required":["id"], + "members":{ + "id":{ + "shape":"DeviceId", + "documentation":"

      The ID of the device to update.

      ", + "location":"uri", + "locationName":"id" + }, + "name":{ + "shape":"DeviceName", + "documentation":"

      The name of the device to update.

      " + }, + "desiredSoftwareSetId":{ + "shape":"SoftwareSetId", + "documentation":"

      The ID of the software set to apply.

      " + }, + "softwareSetUpdateSchedule":{ + "shape":"SoftwareSetUpdateSchedule", + "documentation":"

      An option to define if software updates should be applied within a maintenance window.

      " + }, + "kmsKeyArn":{ + "shape":"KmsKeyArn", + "documentation":"

      The Amazon Resource Name (ARN) of the Key Management Service key to use for the update.

      " + } + } + }, + "UpdateDeviceResponse":{ + "type":"structure", + "members":{ + "device":{ + "shape":"DeviceSummary", + "documentation":"

      Describes a device.

      " + } + } + }, + "UpdateEnvironmentRequest":{ + "type":"structure", + "required":["id"], + "members":{ + "id":{ + "shape":"EnvironmentId", + "documentation":"

      The ID of the environment to update.

      ", + "location":"uri", + "locationName":"id" + }, + "name":{ + "shape":"EnvironmentName", + "documentation":"

      The name of the environment to update.

      " + }, + "desktopArn":{ + "shape":"Arn", + "documentation":"

      The Amazon Resource Name (ARN) of the desktop to stream from Amazon WorkSpaces, WorkSpaces Web, or AppStream 2.0.

      " + }, + "desktopEndpoint":{ + "shape":"DesktopEndpoint", + "documentation":"

      The URL for the identity provider login (only for environments that use AppStream 2.0).

      " + }, + "softwareSetUpdateSchedule":{ + "shape":"SoftwareSetUpdateSchedule", + "documentation":"

      An option to define if software updates should be applied within a maintenance window.

      " + }, + "maintenanceWindow":{ + "shape":"MaintenanceWindow", + "documentation":"

      A specification for a time window to apply software updates.

      " + }, + "softwareSetUpdateMode":{ + "shape":"SoftwareSetUpdateMode", + "documentation":"

      An option to define which software updates to apply.

      " + }, + "desiredSoftwareSetId":{ + "shape":"SoftwareSetIdOrEmptyString", + "documentation":"

      The ID of the software set to apply.

      " + } + } + }, + "UpdateEnvironmentResponse":{ + "type":"structure", + "members":{ + "environment":{ + "shape":"EnvironmentSummary", + "documentation":"

      Describes an environment.

      " + } + } + }, + "UpdateSoftwareSetRequest":{ + "type":"structure", + "required":[ + "id", + "validationStatus" + ], + "members":{ + "id":{ + "shape":"SoftwareSetId", + "documentation":"

      The ID of the software set to update.

      ", + "location":"uri", + "locationName":"id" + }, + "validationStatus":{ + "shape":"SoftwareSetValidationStatus", + "documentation":"

      An option to define if the software set has been validated.

      " + } + } + }, + "UpdateSoftwareSetResponse":{ + "type":"structure", + "members":{ + } + }, + "ValidationException":{ + "type":"structure", + "members":{ + "message":{"shape":"ExceptionMessage"}, + "reason":{ + "shape":"ValidationExceptionReason", + "documentation":"

      The reason for the exception.

      " + }, + "fieldList":{ + "shape":"ValidationExceptionFieldList", + "documentation":"

      A list of fields that didn't validate.

      " + } + }, + "documentation":"

      The input fails to satisfy the specified constraints.

      ", + "error":{ + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "ValidationExceptionField":{ + "type":"structure", + "required":[ + "name", + "message" + ], + "members":{ + "name":{ + "shape":"FieldName", + "documentation":"

      The name of the exception.

      " + }, + "message":{ + "shape":"ExceptionMessage", + "documentation":"

      A message that describes the reason for the exception.

      " + } + }, + "documentation":"

      Describes a validation exception.

      " + }, + "ValidationExceptionFieldList":{ + "type":"list", + "member":{"shape":"ValidationExceptionField"} + }, + "ValidationExceptionReason":{ + "type":"string", + "enum":[ + "unknownOperation", + "cannotParse", + "fieldValidationFailed", + "other" + ] + } + }, + "documentation":"

      Amazon WorkSpaces Thin Client is a affordable device built to work with Amazon Web Services End User Computing (EUC) virtual desktops to provide users with a complete cloud desktop solution. WorkSpaces Thin Client is a compact device designed to connect up to two monitors and USB devices like a keyboard, mouse, headset, and webcam. To maximize endpoint security, WorkSpaces Thin Client devices do not allow local data storage or installation of unapproved applications. The WorkSpaces Thin Client device ships preloaded with device management software.

      You can use these APIs to complete WorkSpaces Thin Client tasks, such as creating environments or viewing devices. For more information about WorkSpaces Thin Client, including the required permissions to use the service, see the Amazon WorkSpaces Thin Client Administrator Guide. For more information about using the Command Line Interface (CLI) to manage your WorkSpaces Thin Client resources, see the WorkSpaces Thin Client section of the CLI Reference.

      " +} diff --git a/tools/code-generation/endpoints/accessanalyzer-2019-11-01.endpoint-rule-set.json b/tools/code-generation/endpoints/accessanalyzer-2019-11-01.endpoint-rule-set.json index 40a509ec277..37e76c86e64 100644 --- a/tools/code-generation/endpoints/accessanalyzer-2019-11-01.endpoint-rule-set.json +++ b/tools/code-generation/endpoints/accessanalyzer-2019-11-01.endpoint-rule-set.json @@ -40,7 +40,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -83,7 +82,8 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -96,7 +96,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -110,7 +109,6 @@ "assign": "PartitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ @@ -133,7 +131,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -168,7 +165,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -179,14 +175,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS and DualStack are enabled, but this partition does not support one or both", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -200,14 +198,12 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { "fn": "getAttr", "argv": [ @@ -216,18 +212,17 @@ }, "supportsFIPS" ] - } + }, + true ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "stringEquals", "argv": [ - "aws-us-gov", { "fn": "getAttr", "argv": [ @@ -236,7 +231,8 @@ }, "name" ] - } + }, + "aws-us-gov" ] } ], @@ -256,14 +252,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS is enabled but this partition does not support FIPS", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -277,7 +275,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -297,7 +294,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -308,14 +304,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "DualStack is enabled but this partition does not support DualStack", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [], @@ -326,9 +324,11 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [], diff --git a/tools/code-generation/endpoints/amp-2020-08-01.endpoint-rule-set.json b/tools/code-generation/endpoints/amp-2020-08-01.endpoint-rule-set.json index 680cfa26fdb..669a33f162f 100644 --- a/tools/code-generation/endpoints/amp-2020-08-01.endpoint-rule-set.json +++ b/tools/code-generation/endpoints/amp-2020-08-01.endpoint-rule-set.json @@ -40,7 +40,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -83,7 +82,8 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -96,7 +96,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -110,7 +109,6 @@ "assign": "PartitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ @@ -133,7 +131,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -168,7 +165,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -179,14 +175,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS and DualStack are enabled, but this partition does not support one or both", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -200,14 +198,12 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { "fn": "getAttr", "argv": [ @@ -216,11 +212,11 @@ }, "supportsFIPS" ] - } + }, + true ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -231,14 +227,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS is enabled but this partition does not support FIPS", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -252,7 +250,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -272,7 +269,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -283,14 +279,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "DualStack is enabled but this partition does not support DualStack", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [], @@ -301,9 +299,11 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [], diff --git a/tools/code-generation/endpoints/bcm-data-exports-2023-11-26.endpoint-rule-set.json b/tools/code-generation/endpoints/bcm-data-exports-2023-11-26.endpoint-rule-set.json new file mode 100644 index 00000000000..6900cef88cf --- /dev/null +++ b/tools/code-generation/endpoints/bcm-data-exports-2023-11-26.endpoint-rule-set.json @@ -0,0 +1,338 @@ +{ + "version": "1.0", + "parameters": { + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" + }, + "UseFIPS": { + "builtIn": "AWS::UseFIPS", + "required": true, + "default": false, + "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", + "type": "Boolean" + }, + "Endpoint": { + "builtIn": "SDK::Endpoint", + "required": false, + "documentation": "Override the endpoint used to send this request", + "type": "String" + } + }, + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + }, + "aws" + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + }, + true + ] + } + ], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://bcm-data-exports-fips.{Region}.api.aws", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [], + "endpoint": { + "url": "https://bcm-data-exports.us-east-1.api.aws", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "bcm-data-exports", + "signingRegion": "us-east-1" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + }, + true + ] + } + ], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://bcm-data-exports-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [], + "endpoint": { + "url": "https://bcm-data-exports.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + }, + true + ] + } + ], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://bcm-data-exports-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [], + "endpoint": { + "url": "https://bcm-data-exports.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" + } + ] +} \ No newline at end of file diff --git a/tools/code-generation/endpoints/bcm-data-exports-2023-11-26.endpoint-tests.json b/tools/code-generation/endpoints/bcm-data-exports-2023-11-26.endpoint-tests.json new file mode 100644 index 00000000000..a19159559cc --- /dev/null +++ b/tools/code-generation/endpoints/bcm-data-exports-2023-11-26.endpoint-tests.json @@ -0,0 +1,149 @@ +{ + "testCases": [ + { + "documentation": "For region aws-global with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "bcm-data-exports", + "signingRegion": "us-east-1" + } + ] + }, + "url": "https://bcm-data-exports.us-east-1.api.aws" + } + }, + "params": { + "Region": "aws-global", + "UseFIPS": false + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://bcm-data-exports-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "bcm-data-exports", + "signingRegion": "us-east-1" + } + ] + }, + "url": "https://bcm-data-exports.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://bcm-data-exports-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://bcm-data-exports.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://bcm-data-exports-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://bcm-data-exports.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false + } + }, + { + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips enabled and dualstack disabled", + "expect": { + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } + } + ], + "version": "1.0" +} \ No newline at end of file diff --git a/tools/code-generation/endpoints/compute-optimizer-2019-11-01.endpoint-rule-set.json b/tools/code-generation/endpoints/compute-optimizer-2019-11-01.endpoint-rule-set.json index dfdfa862172..86716225fea 100644 --- a/tools/code-generation/endpoints/compute-optimizer-2019-11-01.endpoint-rule-set.json +++ b/tools/code-generation/endpoints/compute-optimizer-2019-11-01.endpoint-rule-set.json @@ -40,7 +40,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -83,7 +82,8 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -96,7 +96,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -110,7 +109,6 @@ "assign": "PartitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ @@ -133,7 +131,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -168,7 +165,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -179,14 +175,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS and DualStack are enabled, but this partition does not support one or both", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -200,14 +198,12 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { "fn": "getAttr", "argv": [ @@ -216,11 +212,11 @@ }, "supportsFIPS" ] - } + }, + true ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -231,14 +227,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS is enabled but this partition does not support FIPS", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -252,7 +250,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -272,7 +269,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -283,14 +279,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "DualStack is enabled but this partition does not support DualStack", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [], @@ -301,9 +299,11 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [], diff --git a/tools/code-generation/endpoints/controltower-2018-05-10.endpoint-tests.json b/tools/code-generation/endpoints/controltower-2018-05-10.endpoint-tests.json index b5e526bdf11..592037b78a1 100644 --- a/tools/code-generation/endpoints/controltower-2018-05-10.endpoint-tests.json +++ b/tools/code-generation/endpoints/controltower-2018-05-10.endpoint-tests.json @@ -529,17 +529,6 @@ "expect": { "error": "Invalid Configuration: Missing Region" } - }, - { - "documentation": "Partition doesn't support DualStack", - "expect": { - "error": "DualStack is enabled but this partition does not support DualStack" - }, - "params": { - "Region": "us-isob-east-1", - "UseFIPS": false, - "UseDualStack": true - } } ], "version": "1.0" diff --git a/tools/code-generation/endpoints/cost-optimization-hub-2022-07-26.endpoint-rule-set.json b/tools/code-generation/endpoints/cost-optimization-hub-2022-07-26.endpoint-rule-set.json new file mode 100644 index 00000000000..009d68485ce --- /dev/null +++ b/tools/code-generation/endpoints/cost-optimization-hub-2022-07-26.endpoint-rule-set.json @@ -0,0 +1,350 @@ +{ + "version": "1.0", + "parameters": { + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" + }, + "UseDualStack": { + "builtIn": "AWS::UseDualStack", + "required": true, + "default": false, + "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", + "type": "Boolean" + }, + "UseFIPS": { + "builtIn": "AWS::UseFIPS", + "required": true, + "default": false, + "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", + "type": "Boolean" + }, + "Endpoint": { + "builtIn": "SDK::Endpoint", + "required": false, + "documentation": "Override the endpoint used to send this request", + "type": "String" + } + }, + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://cost-optimization-hub-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + }, + true + ] + } + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://cost-optimization-hub-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://cost-optimization-hub.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://cost-optimization-hub.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" + } + ], + "type": "tree" + } + ] +} \ No newline at end of file diff --git a/tools/code-generation/endpoints/cost-optimization-hub-2022-07-26.endpoint-tests.json b/tools/code-generation/endpoints/cost-optimization-hub-2022-07-26.endpoint-tests.json new file mode 100644 index 00000000000..ba946348e14 --- /dev/null +++ b/tools/code-generation/endpoints/cost-optimization-hub-2022-07-26.endpoint-tests.json @@ -0,0 +1,314 @@ +{ + "testCases": [ + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://cost-optimization-hub-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://cost-optimization-hub-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://cost-optimization-hub.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://cost-optimization-hub.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://cost-optimization-hub-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://cost-optimization-hub-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://cost-optimization-hub.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://cost-optimization-hub.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://cost-optimization-hub-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://cost-optimization-hub-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://cost-optimization-hub.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://cost-optimization-hub.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://cost-optimization-hub-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://cost-optimization-hub.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://cost-optimization-hub-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://cost-optimization-hub.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips enabled and dualstack disabled", + "expect": { + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack enabled", + "expect": { + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } + } + ], + "version": "1.0" +} \ No newline at end of file diff --git a/tools/code-generation/endpoints/detective-2018-10-26.endpoint-rule-set.json b/tools/code-generation/endpoints/detective-2018-10-26.endpoint-rule-set.json index fa378ddc6d0..2f409ed9707 100644 --- a/tools/code-generation/endpoints/detective-2018-10-26.endpoint-rule-set.json +++ b/tools/code-generation/endpoints/detective-2018-10-26.endpoint-rule-set.json @@ -40,7 +40,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -83,7 +82,8 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -96,7 +96,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -110,7 +109,6 @@ "assign": "PartitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ @@ -133,7 +131,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -168,7 +165,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -179,14 +175,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS and DualStack are enabled, but this partition does not support one or both", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -200,14 +198,12 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { "fn": "getAttr", "argv": [ @@ -216,11 +212,11 @@ }, "supportsFIPS" ] - } + }, + true ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -231,14 +227,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS is enabled but this partition does not support FIPS", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -252,7 +250,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -272,7 +269,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -283,14 +279,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "DualStack is enabled but this partition does not support DualStack", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [], @@ -301,9 +299,11 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [], diff --git a/tools/code-generation/endpoints/eks-auth-2023-11-26.endpoint-rule-set.json b/tools/code-generation/endpoints/eks-auth-2023-11-26.endpoint-rule-set.json new file mode 100644 index 00000000000..f174f455c63 --- /dev/null +++ b/tools/code-generation/endpoints/eks-auth-2023-11-26.endpoint-rule-set.json @@ -0,0 +1,247 @@ +{ + "version": "1.0", + "parameters": { + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" + }, + "UseFIPS": { + "builtIn": "AWS::UseFIPS", + "required": true, + "default": false, + "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", + "type": "Boolean" + }, + "Endpoint": { + "builtIn": "SDK::Endpoint", + "required": false, + "documentation": "Override the endpoint used to send this request", + "type": "String" + } + }, + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + }, + true + ] + } + ], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://eks-auth-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [], + "endpoint": { + "url": "https://eks-auth.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + }, + true + ] + } + ], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://eks-auth-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [], + "endpoint": { + "url": "https://eks-auth.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" + } + ] +} \ No newline at end of file diff --git a/tools/code-generation/endpoints/eks-auth-2023-11-26.endpoint-tests.json b/tools/code-generation/endpoints/eks-auth-2023-11-26.endpoint-tests.json new file mode 100644 index 00000000000..2f75975a45b --- /dev/null +++ b/tools/code-generation/endpoints/eks-auth-2023-11-26.endpoint-tests.json @@ -0,0 +1,119 @@ +{ + "testCases": [ + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://eks-auth-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://eks-auth.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://eks-auth-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://eks-auth.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://eks-auth-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://eks-auth.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false + } + }, + { + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips enabled and dualstack disabled", + "expect": { + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } + } + ], + "version": "1.0" +} \ No newline at end of file diff --git a/tools/code-generation/endpoints/elasticfilesystem-2015-02-01.endpoint-rule-set.json b/tools/code-generation/endpoints/elasticfilesystem-2015-02-01.endpoint-rule-set.json index 2501aa43f99..8a7960d9832 100644 --- a/tools/code-generation/endpoints/elasticfilesystem-2015-02-01.endpoint-rule-set.json +++ b/tools/code-generation/endpoints/elasticfilesystem-2015-02-01.endpoint-rule-set.json @@ -40,7 +40,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -83,7 +82,8 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -96,7 +96,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -110,7 +109,6 @@ "assign": "PartitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ @@ -133,7 +131,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -168,7 +165,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -179,14 +175,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS and DualStack are enabled, but this partition does not support one or both", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -200,14 +198,12 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { "fn": "getAttr", "argv": [ @@ -216,11 +212,11 @@ }, "supportsFIPS" ] - } + }, + true ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -231,14 +227,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS is enabled but this partition does not support FIPS", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -252,7 +250,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -272,7 +269,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -283,14 +279,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "DualStack is enabled but this partition does not support DualStack", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [], @@ -301,9 +299,11 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [], diff --git a/tools/code-generation/endpoints/elasticloadbalancingv2-2015-12-01.endpoint-rule-set.json b/tools/code-generation/endpoints/elasticloadbalancingv2-2015-12-01.endpoint-rule-set.json index ac783e2300a..c840251e544 100644 --- a/tools/code-generation/endpoints/elasticloadbalancingv2-2015-12-01.endpoint-rule-set.json +++ b/tools/code-generation/endpoints/elasticloadbalancingv2-2015-12-01.endpoint-rule-set.json @@ -40,7 +40,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -83,7 +82,8 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -96,7 +96,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -110,7 +109,6 @@ "assign": "PartitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ @@ -133,7 +131,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -168,7 +165,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -179,14 +175,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS and DualStack are enabled, but this partition does not support one or both", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -200,14 +198,12 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { "fn": "getAttr", "argv": [ @@ -216,18 +212,17 @@ }, "supportsFIPS" ] - } + }, + true ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "stringEquals", "argv": [ - "aws-us-gov", { "fn": "getAttr", "argv": [ @@ -236,7 +231,8 @@ }, "name" ] - } + }, + "aws-us-gov" ] } ], @@ -256,14 +252,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS is enabled but this partition does not support FIPS", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -277,7 +275,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -297,7 +294,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -308,14 +304,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "DualStack is enabled but this partition does not support DualStack", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [], @@ -326,9 +324,11 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [], diff --git a/tools/code-generation/endpoints/freetier-2023-09-07.endpoint-rule-set.json b/tools/code-generation/endpoints/freetier-2023-09-07.endpoint-rule-set.json new file mode 100644 index 00000000000..1d469532530 --- /dev/null +++ b/tools/code-generation/endpoints/freetier-2023-09-07.endpoint-rule-set.json @@ -0,0 +1,392 @@ +{ + "version": "1.0", + "parameters": { + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" + }, + "UseFIPS": { + "builtIn": "AWS::UseFIPS", + "required": true, + "default": false, + "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", + "type": "Boolean" + }, + "Endpoint": { + "builtIn": "SDK::Endpoint", + "required": false, + "documentation": "Override the endpoint used to send this request", + "type": "String" + } + }, + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + }, + "aws" + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + }, + true + ] + } + ], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://freetier-fips.{Region}.api.aws", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [], + "endpoint": { + "url": "https://freetier.us-east-1.api.aws", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "freetier", + "signingRegion": "us-east-1" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + }, + true + ] + } + ], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://freetier-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-cn-global" + ] + } + ], + "endpoint": { + "url": "https://freetier.cn-northwest-1.api.amazonwebservices.com.cn", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "freetier", + "signingRegion": "cn-northwest-1" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://freetier.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + }, + true + ] + } + ], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://freetier-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-cn-global" + ] + } + ], + "endpoint": { + "url": "https://freetier.cn-northwest-1.api.amazonwebservices.com.cn", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "freetier", + "signingRegion": "cn-northwest-1" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://freetier.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" + } + ] +} \ No newline at end of file diff --git a/tools/code-generation/endpoints/freetier-2023-09-07.endpoint-tests.json b/tools/code-generation/endpoints/freetier-2023-09-07.endpoint-tests.json new file mode 100644 index 00000000000..7d15539bb5b --- /dev/null +++ b/tools/code-generation/endpoints/freetier-2023-09-07.endpoint-tests.json @@ -0,0 +1,170 @@ +{ + "testCases": [ + { + "documentation": "For region aws-global with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "freetier", + "signingRegion": "us-east-1" + } + ] + }, + "url": "https://freetier.us-east-1.api.aws" + } + }, + "params": { + "Region": "aws-global", + "UseFIPS": false + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://freetier-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "freetier", + "signingRegion": "us-east-1" + } + ] + }, + "url": "https://freetier.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false + } + }, + { + "documentation": "For region aws-cn-global with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "freetier", + "signingRegion": "cn-northwest-1" + } + ] + }, + "url": "https://freetier.cn-northwest-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "aws-cn-global", + "UseFIPS": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://freetier-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://freetier.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://freetier-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://freetier.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false + } + }, + { + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips enabled and dualstack disabled", + "expect": { + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } + } + ], + "version": "1.0" +} \ No newline at end of file diff --git a/tools/code-generation/endpoints/iotfleetwise-2021-06-17.endpoint-rule-set.json b/tools/code-generation/endpoints/iotfleetwise-2021-06-17.endpoint-rule-set.json index 0daee2ea366..c3642aa0445 100644 --- a/tools/code-generation/endpoints/iotfleetwise-2021-06-17.endpoint-rule-set.json +++ b/tools/code-generation/endpoints/iotfleetwise-2021-06-17.endpoint-rule-set.json @@ -40,7 +40,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -83,7 +82,8 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -96,7 +96,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -110,7 +109,6 @@ "assign": "PartitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ @@ -133,7 +131,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -168,7 +165,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -179,14 +175,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS and DualStack are enabled, but this partition does not support one or both", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -200,14 +198,12 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { "fn": "getAttr", "argv": [ @@ -216,11 +212,11 @@ }, "supportsFIPS" ] - } + }, + true ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -231,14 +227,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS is enabled but this partition does not support FIPS", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -252,7 +250,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -272,7 +269,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -283,14 +279,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "DualStack is enabled but this partition does not support DualStack", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [], @@ -301,9 +299,11 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [], diff --git a/tools/code-generation/endpoints/lakeformation-2017-03-31.endpoint-rule-set.json b/tools/code-generation/endpoints/lakeformation-2017-03-31.endpoint-rule-set.json index 363a3917c99..ecbdf12a7a4 100644 --- a/tools/code-generation/endpoints/lakeformation-2017-03-31.endpoint-rule-set.json +++ b/tools/code-generation/endpoints/lakeformation-2017-03-31.endpoint-rule-set.json @@ -40,7 +40,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -83,7 +82,8 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -96,7 +96,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -110,7 +109,6 @@ "assign": "PartitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ @@ -133,7 +131,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -168,7 +165,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -179,14 +175,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS and DualStack are enabled, but this partition does not support one or both", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -200,14 +198,12 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { "fn": "getAttr", "argv": [ @@ -216,11 +212,11 @@ }, "supportsFIPS" ] - } + }, + true ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -231,14 +227,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS is enabled but this partition does not support FIPS", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -252,7 +250,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -272,7 +269,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -283,14 +279,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "DualStack is enabled but this partition does not support DualStack", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [], @@ -301,9 +299,11 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [], diff --git a/tools/code-generation/endpoints/managedblockchain-2018-09-24.endpoint-rule-set.json b/tools/code-generation/endpoints/managedblockchain-2018-09-24.endpoint-rule-set.json index 0859f591678..5fccadcf17d 100644 --- a/tools/code-generation/endpoints/managedblockchain-2018-09-24.endpoint-rule-set.json +++ b/tools/code-generation/endpoints/managedblockchain-2018-09-24.endpoint-rule-set.json @@ -40,7 +40,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -83,7 +82,8 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -96,7 +96,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -110,7 +109,6 @@ "assign": "PartitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ @@ -133,7 +131,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -168,7 +165,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -179,14 +175,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS and DualStack are enabled, but this partition does not support one or both", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -200,14 +198,12 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { "fn": "getAttr", "argv": [ @@ -216,11 +212,11 @@ }, "supportsFIPS" ] - } + }, + true ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -231,14 +227,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS is enabled but this partition does not support FIPS", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -252,7 +250,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -272,7 +269,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -283,14 +279,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "DualStack is enabled but this partition does not support DualStack", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [], @@ -301,9 +299,11 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [], diff --git a/tools/code-generation/endpoints/personalize-2018-05-22.endpoint-rule-set.json b/tools/code-generation/endpoints/personalize-2018-05-22.endpoint-rule-set.json index 9f3400b9f79..dbe0c958c0d 100644 --- a/tools/code-generation/endpoints/personalize-2018-05-22.endpoint-rule-set.json +++ b/tools/code-generation/endpoints/personalize-2018-05-22.endpoint-rule-set.json @@ -40,7 +40,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -83,7 +82,8 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -96,7 +96,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -110,7 +109,6 @@ "assign": "PartitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ @@ -133,7 +131,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -168,7 +165,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -179,14 +175,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS and DualStack are enabled, but this partition does not support one or both", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -200,14 +198,12 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { "fn": "getAttr", "argv": [ @@ -216,11 +212,11 @@ }, "supportsFIPS" ] - } + }, + true ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -231,14 +227,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS is enabled but this partition does not support FIPS", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -252,7 +250,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -272,7 +269,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -283,14 +279,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "DualStack is enabled but this partition does not support DualStack", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [], @@ -301,9 +299,11 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [], diff --git a/tools/code-generation/endpoints/personalize-events-2018-03-22.endpoint-rule-set.json b/tools/code-generation/endpoints/personalize-events-2018-03-22.endpoint-rule-set.json index f25902a7af7..c96082c6d7d 100644 --- a/tools/code-generation/endpoints/personalize-events-2018-03-22.endpoint-rule-set.json +++ b/tools/code-generation/endpoints/personalize-events-2018-03-22.endpoint-rule-set.json @@ -40,7 +40,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -83,7 +82,8 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -96,7 +96,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -110,7 +109,6 @@ "assign": "PartitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ @@ -133,7 +131,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -168,7 +165,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -179,14 +175,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS and DualStack are enabled, but this partition does not support one or both", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -200,14 +198,12 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { "fn": "getAttr", "argv": [ @@ -216,11 +212,11 @@ }, "supportsFIPS" ] - } + }, + true ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -231,14 +227,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS is enabled but this partition does not support FIPS", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -252,7 +250,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -272,7 +269,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -283,14 +279,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "DualStack is enabled but this partition does not support DualStack", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [], @@ -301,9 +299,11 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [], diff --git a/tools/code-generation/endpoints/personalize-runtime-2018-05-22.endpoint-rule-set.json b/tools/code-generation/endpoints/personalize-runtime-2018-05-22.endpoint-rule-set.json index da8140298c4..e95366eff80 100644 --- a/tools/code-generation/endpoints/personalize-runtime-2018-05-22.endpoint-rule-set.json +++ b/tools/code-generation/endpoints/personalize-runtime-2018-05-22.endpoint-rule-set.json @@ -40,7 +40,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -83,7 +82,8 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -96,7 +96,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -110,7 +109,6 @@ "assign": "PartitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ @@ -133,7 +131,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -168,7 +165,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -179,14 +175,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS and DualStack are enabled, but this partition does not support one or both", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -200,14 +198,12 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { "fn": "getAttr", "argv": [ @@ -216,11 +212,11 @@ }, "supportsFIPS" ] - } + }, + true ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -231,14 +227,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS is enabled but this partition does not support FIPS", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -252,7 +250,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -272,7 +269,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -283,14 +279,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "DualStack is enabled but this partition does not support DualStack", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [], @@ -301,9 +299,11 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [], diff --git a/tools/code-generation/endpoints/repostspace-2022-05-13.endpoint-rule-set.json b/tools/code-generation/endpoints/repostspace-2022-05-13.endpoint-rule-set.json new file mode 100644 index 00000000000..cd894866eb4 --- /dev/null +++ b/tools/code-generation/endpoints/repostspace-2022-05-13.endpoint-rule-set.json @@ -0,0 +1,350 @@ +{ + "version": "1.0", + "parameters": { + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" + }, + "UseDualStack": { + "builtIn": "AWS::UseDualStack", + "required": true, + "default": false, + "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", + "type": "Boolean" + }, + "UseFIPS": { + "builtIn": "AWS::UseFIPS", + "required": true, + "default": false, + "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", + "type": "Boolean" + }, + "Endpoint": { + "builtIn": "SDK::Endpoint", + "required": false, + "documentation": "Override the endpoint used to send this request", + "type": "String" + } + }, + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://repostspace-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + }, + true + ] + } + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://repostspace-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://repostspace.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://repostspace.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" + } + ], + "type": "tree" + } + ] +} \ No newline at end of file diff --git a/tools/code-generation/endpoints/repostspace-2022-05-13.endpoint-tests.json b/tools/code-generation/endpoints/repostspace-2022-05-13.endpoint-tests.json new file mode 100644 index 00000000000..f5945850574 --- /dev/null +++ b/tools/code-generation/endpoints/repostspace-2022-05-13.endpoint-tests.json @@ -0,0 +1,314 @@ +{ + "testCases": [ + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://repostspace-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://repostspace-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://repostspace.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://repostspace.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://repostspace-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://repostspace-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://repostspace.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://repostspace.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://repostspace-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://repostspace-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://repostspace.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://repostspace.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://repostspace-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://repostspace.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://repostspace-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://repostspace.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips enabled and dualstack disabled", + "expect": { + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack enabled", + "expect": { + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } + } + ], + "version": "1.0" +} \ No newline at end of file diff --git a/tools/code-generation/endpoints/runtime.lex.v2-2020-08-07.endpoint-rule-set.json b/tools/code-generation/endpoints/runtime.lex.v2-2020-08-07.endpoint-rule-set.json index 20095f561a0..97e531fd117 100644 --- a/tools/code-generation/endpoints/runtime.lex.v2-2020-08-07.endpoint-rule-set.json +++ b/tools/code-generation/endpoints/runtime.lex.v2-2020-08-07.endpoint-rule-set.json @@ -40,7 +40,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -83,7 +82,8 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -96,7 +96,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -110,7 +109,6 @@ "assign": "PartitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ @@ -133,7 +131,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -168,7 +165,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -179,14 +175,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS and DualStack are enabled, but this partition does not support one or both", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -200,14 +198,12 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { "fn": "getAttr", "argv": [ @@ -216,11 +212,11 @@ }, "supportsFIPS" ] - } + }, + true ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -231,14 +227,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS is enabled but this partition does not support FIPS", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -252,7 +250,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -272,7 +269,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -283,14 +279,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "DualStack is enabled but this partition does not support DualStack", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [], @@ -301,9 +299,11 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [], diff --git a/tools/code-generation/endpoints/s3-2006-03-01.endpoint-rule-set.json b/tools/code-generation/endpoints/s3-2006-03-01.endpoint-rule-set.json index a785b873133..0adf21daa1c 100644 --- a/tools/code-generation/endpoints/s3-2006-03-01.endpoint-rule-set.json +++ b/tools/code-generation/endpoints/s3-2006-03-01.endpoint-rule-set.json @@ -58,6 +58,16 @@ "documentation": "Internal parameter to use object lambda endpoint for an operation (eg: WriteGetObjectResponse)", "type": "Boolean" }, + "Key": { + "required": false, + "documentation": "The S3 Key used to send the request. This is an optional parameter that will be set automatically for operations that are scoped to an S3 Key.", + "type": "String" + }, + "Prefix": { + "required": false, + "documentation": "The S3 Prefix used to send the request. This is an optional parameter that will be set automatically for operations that are scoped to an S3 Prefix.", + "type": "String" + }, "DisableAccessPoints": { "required": false, "documentation": "Internal parameter to disable Access Point Buckets", diff --git a/tools/code-generation/endpoints/s3-2006-03-01.endpoint-tests.json b/tools/code-generation/endpoints/s3-2006-03-01.endpoint-tests.json index 4b528a224f5..daa904ca39a 100644 --- a/tools/code-generation/endpoints/s3-2006-03-01.endpoint-tests.json +++ b/tools/code-generation/endpoints/s3-2006-03-01.endpoint-tests.json @@ -1754,6 +1754,45 @@ "Accelerate": false } }, + { + "documentation": "virtual addressing, aws-global region with Prefix, and Key uses the global endpoint. Prefix and Key parameters should not be used in endpoint evaluation.", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "s3", + "signingRegion": "us-east-1", + "disableDoubleEncoding": true + } + ] + }, + "url": "https://bucket-name.s3.amazonaws.com" + } + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "aws-global" + }, + "operationName": "ListObjects", + "operationParams": { + "Bucket": "bucket-name", + "Prefix": "prefix" + } + } + ], + "params": { + "Region": "aws-global", + "Bucket": "bucket-name", + "UseFIPS": false, + "UseDualStack": false, + "Accelerate": false, + "Prefix": "prefix", + "Key": "key" + } + }, { "documentation": "virtual addressing, aws-global region with fips uses the regional fips endpoint", "expect": { diff --git a/tools/code-generation/endpoints/securityhub-2018-10-26.endpoint-rule-set.json b/tools/code-generation/endpoints/securityhub-2018-10-26.endpoint-rule-set.json index 659462cfddb..f94b5ce4b36 100644 --- a/tools/code-generation/endpoints/securityhub-2018-10-26.endpoint-rule-set.json +++ b/tools/code-generation/endpoints/securityhub-2018-10-26.endpoint-rule-set.json @@ -40,7 +40,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -83,7 +82,8 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -96,7 +96,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -110,7 +109,6 @@ "assign": "PartitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ @@ -133,7 +131,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -168,7 +165,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -179,14 +175,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS and DualStack are enabled, but this partition does not support one or both", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -200,14 +198,12 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { "fn": "getAttr", "argv": [ @@ -216,11 +212,11 @@ }, "supportsFIPS" ] - } + }, + true ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -231,14 +227,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS is enabled but this partition does not support FIPS", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -252,7 +250,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -272,7 +269,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -283,14 +279,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "DualStack is enabled but this partition does not support DualStack", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [], @@ -301,9 +299,11 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [], diff --git a/tools/code-generation/endpoints/transcribe-2017-10-26.endpoint-rule-set.json b/tools/code-generation/endpoints/transcribe-2017-10-26.endpoint-rule-set.json index 0589babab4d..ab643beb1e6 100644 --- a/tools/code-generation/endpoints/transcribe-2017-10-26.endpoint-rule-set.json +++ b/tools/code-generation/endpoints/transcribe-2017-10-26.endpoint-rule-set.json @@ -40,7 +40,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -83,7 +82,8 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -96,7 +96,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -110,7 +109,6 @@ "assign": "PartitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ @@ -133,7 +131,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -168,7 +165,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -179,14 +175,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS and DualStack are enabled, but this partition does not support one or both", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -200,14 +198,12 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { "fn": "getAttr", "argv": [ @@ -216,18 +212,17 @@ }, "supportsFIPS" ] - } + }, + true ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "stringEquals", "argv": [ - "aws", { "fn": "getAttr", "argv": [ @@ -236,7 +231,8 @@ }, "name" ] - } + }, + "aws" ] } ], @@ -252,7 +248,6 @@ { "fn": "stringEquals", "argv": [ - "aws-us-gov", { "fn": "getAttr", "argv": [ @@ -261,7 +256,8 @@ }, "name" ] - } + }, + "aws-us-gov" ] } ], @@ -281,14 +277,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS is enabled but this partition does not support FIPS", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -302,7 +300,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -322,7 +319,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -333,14 +329,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "DualStack is enabled but this partition does not support DualStack", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -389,9 +387,11 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [], diff --git a/tools/code-generation/endpoints/workspaces-thin-client-2023-08-22.endpoint-rule-set.json b/tools/code-generation/endpoints/workspaces-thin-client-2023-08-22.endpoint-rule-set.json new file mode 100644 index 00000000000..e2a675a5752 --- /dev/null +++ b/tools/code-generation/endpoints/workspaces-thin-client-2023-08-22.endpoint-rule-set.json @@ -0,0 +1,350 @@ +{ + "version": "1.0", + "parameters": { + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" + }, + "UseDualStack": { + "builtIn": "AWS::UseDualStack", + "required": true, + "default": false, + "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", + "type": "Boolean" + }, + "UseFIPS": { + "builtIn": "AWS::UseFIPS", + "required": true, + "default": false, + "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", + "type": "Boolean" + }, + "Endpoint": { + "builtIn": "SDK::Endpoint", + "required": false, + "documentation": "Override the endpoint used to send this request", + "type": "String" + } + }, + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://thinclient-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + }, + true + ] + } + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://thinclient-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://thinclient.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://thinclient.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" + } + ], + "type": "tree" + } + ] +} \ No newline at end of file diff --git a/tools/code-generation/endpoints/workspaces-thin-client-2023-08-22.endpoint-tests.json b/tools/code-generation/endpoints/workspaces-thin-client-2023-08-22.endpoint-tests.json new file mode 100644 index 00000000000..b1c009f8bcc --- /dev/null +++ b/tools/code-generation/endpoints/workspaces-thin-client-2023-08-22.endpoint-tests.json @@ -0,0 +1,314 @@ +{ + "testCases": [ + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://thinclient-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://thinclient-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://thinclient.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://thinclient.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://thinclient-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://thinclient-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://thinclient.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://thinclient.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://thinclient-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://thinclient-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://thinclient.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://thinclient.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://thinclient-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://thinclient.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://thinclient-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://thinclient.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips enabled and dualstack disabled", + "expect": { + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack enabled", + "expect": { + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } + } + ], + "version": "1.0" +} \ No newline at end of file